CN117784637A - 多机器人规划与控制的通用半实物仿真平台及方法 - Google Patents

多机器人规划与控制的通用半实物仿真平台及方法 Download PDF

Info

Publication number
CN117784637A
CN117784637A CN202410066776.7A CN202410066776A CN117784637A CN 117784637 A CN117784637 A CN 117784637A CN 202410066776 A CN202410066776 A CN 202410066776A CN 117784637 A CN117784637 A CN 117784637A
Authority
CN
China
Prior art keywords
robot
module
simulation
information
physical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410066776.7A
Other languages
English (en)
Inventor
代维
朱鹏铭
曾志文
郭瑞斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202410066776.7A priority Critical patent/CN117784637A/zh
Publication of CN117784637A publication Critical patent/CN117784637A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本申请涉及一种多机器人规划与控制的通用半实物仿真平台及方法。所述通用半实物仿真平台采用小型全向移动机器人实物设计结合试验场景虚拟呈现的方式,能够支持用户自定义任务环境、任务类型、团队规模及多机器人物理特性等初始参数,并提供友好的人机交互接口,方便使用者随时对试验过程实施干预;可输出详尽的过程数据,提升试验效果展示度,减少实物机器人损耗,同时加速算法的更新迭代过程。

Description

多机器人规划与控制的通用半实物仿真平台及方法
技术领域
本申请涉及机器人技术领域,特别是涉及一种多机器人规划与控制的通用半实物仿真平台及方法。
背景技术
近几十年间,多机器人***,尤其是分布式多机器人***以其相对于单机器人***的先天优势而备受关注。得益于没有集中式的控制机制,每台机器人基于本地感知信息和控制器独立运行,相应的工作环境可以更加广阔且动态。正是由于其***本身及其运行环境的复杂多样性,目前主流的多机器人规划与控制算法测试平台及方法可分为两种,即仿真验证***与实物验证***,以上两种平台可支撑部分简单的多机器人算法试验,但仍存在以下不足:
1)仿真验证***算法测试效果不佳,目前已有的算法测试***多为数值仿真或简化机器人模型(如质点模型)的二维平面仿真,即不构建机器人的运动学模型或动力学模型,同时不考虑机器人的异构特性,环境中的碰撞体积,感知噪声和通信延迟等实际环境中固有的不利因素,是在极度理想化的仿真环境中测试算法的实施效果。导致仿真试验设置与真实环境之间存在较大的差异,算法测试结果无法在实物试验中复现,从而失去进行算法测试的意义。
2)实物验证***仍有一定局限性,首先由于个体体积较大且成本较高,一次试验可用的机器人数量普遍较少,而且对试验场地有着较高的要求,不利于扩展;同时实物机器人的软硬件设计复杂,为保证试验的正常进行,一般需提前进行传感器标定、电机整定等准备工作,导致每次试验耗时较长,不利于进行多次重复实验;另外,试验效果展示度较低,需针对不同算法的应用背景预先设置试验环境,通常是对实验室进行临时改造,任务环境构建困难。
发明内容
基于此,有必要针对上述技术问题,提供一种稳定、快速且易操作的多机器人规划与控制的通用半实物仿真平台及方法。
一种多机器人规划与控制的通用半实物仿真平台,平台包括:若干个底部粘贴有Apriltag标记的机器人、试验场景仿真***以及工作站。
试验场景仿真***包括支持无限多点同时触控的试验场景显示模块,用于显示工作站设计的试验场景图像,模拟试验场景,在仿真过程中根据任务需要增加虚拟障碍物或实物障碍物;还用于获取试验环境信息和机器人运动信息,并将环境信息和机器人信息传送至工作站;试验环境信息包括障碍物的类别、位置、外形尺寸;机器人运动信息包括机器人的位置、朝向、速度以及加速度。
工作站,用于根据预设任务基于虚幻引擎设计试验场景图像,并将试验场景图像发送至试验场景显示模块;还用于接收试验环境信息、机器人运动信息以及机器人状态信息,并根据试验环境信息、机器人运动信息、机器人状态信息以及预设控制算法,确定每个机器人的运动控制指令,并将每个运动控制指令发送至对应的机器人。
机器人是小型全向移动机器人,用于根据接收的运动控制指令在试验场景显示模块的上表面运动,并将自身的机器人状态信息回传至工作站。
在其中一个实施例中,机器人采用双层结构设计,上层包括电池、传感器模组以及通信主板,下层包括轮系、电机模组以及电机驱动板。
传感器模组与通信主板连接,通信主板与工作站之间采用WiFi进行数据传输,电机模组和电机驱动板连接,电机驱动板与通信主板通过I2C总线进行数据传输;电机模组与轮系配合安装。
通信主板用于接收工作站发送的运动控制指令,并将运动控制指令发送至电机驱动板;还用于将传感器模组获取的机器人状态信息回传至工作站。
电机驱动板用于接收通信主板发送的运动控制指令,并根据运动控制指令对电机模组进行闭环控制。
电池用于给传感器模组、通信主板、电机模组以及驱动板提供电源。
在其中一个实施例中,通信主板包括供电模块,主芯片模块、USB转化模块以及WiFi天线。
供电模块包括两个降压单元,第一个降压单元的输入端与电池的输出端连接,第一个降压单元的第一个输出端与第二降压单元的输入端连接,第二降压单元的输出端与主芯片模块连接,第一个降压单元的第二个输出端与电机驱动板连接。
主控芯片模块通过I2C总线与电机驱动板进行数据传输,主控芯片模块通过UART接口与USB转化模块连接;WiFi天线与主控芯片模块连接。
在其中一个实施例中,电机驱动板包括电机驱动板主芯片、两个电机驱动芯片。
电机驱动板主芯片与通信主板通过I2C总线进行数据传输,电机驱动板主芯片与电机驱动芯片连接,电机驱动芯片与电机模组连接。
电机驱动板主芯片用于接收通信主板传输的工作站发送的机器人控制指令,并将机器人控制指令进行处理后转化为PWM信号传输至电机驱动芯片;并接收来自电机霍尔编码器的信息并进行处理,将处理后的信息转化为I2C信号传输至通信主板。
在其中一个实施例中,轮系采用6辊子结构的双层正交全向轮设计,机器人的体速度与3个轮子轮速的关系为:
其中,Va、Vb、Vc分别为3个轮子的轮速,vx、vy分别为机器人在x方向和y方向的体速度,ω为机器人的旋转速度。
在其中一个实施例中,试验场景显示模块包括:若干块采用无边框设计的触控屏,所述触控屏拼接为触屏阵列;所述触控屏为全高清液晶多点触控屏;
虚拟障碍物是通过人机交互的方式在触控屏上直接绘制的障碍物;虚拟障碍物具有实际的位置和外形尺寸;触控屏将虚拟障碍物的类别、位置以及外形尺寸转换为TUIO格式信息,将得到的TUIO格式信息传输至工作站。
实物障碍物是通过实物放置的方式在触控屏的屏幕上布置的底部粘贴标识障碍物类型的Apriltag标记的障碍物微缩模型。
触控屏通过内置的计算机***捕捉其上方的实物二维码、触控点信息以及物体外形,然后将捕捉的信息转换为TUIO格式信息,将得到的TUIO格式信息传输至工作站。
在其中一个实施例中,工作站中运行的仿真软件是基于机器人开源操作***设计的,工作站与机器人通过MQTT协议进行通信,工作站与试验场景显示模块通过TUIO协议进行通信。
仿真软件包括数据采集模块、控制模块以及信号传输模块。
数据采集模块用于接收触控屏的TUIO格式的环境信息和机器人运动信息,并将接收的TUIO格式信息转为ROS消息,并传输至控制模块。
控制模块用于在接收到ROS消息后采用预设控制算法进行处理,确定每个机器人的运动控制指令,并将每个运动控制指令传输至信号传输模块。
信号传输模块用于将控制模块下发的ROS格式的运动控制指令转换为MQTT消息格式,并下发至对应的小型全向移动机器人;还用于接收机器人上传的MQTT格式的机器人状态信息,并将MQTT格式的机器人状态信息转换为ROS格式后传输至控制模块。
在其中一个实施例中,控制模块还用于通过基于Qt设计的仿真控制终端实现对半实物仿真流程的监视和控制。
仿真控制终端包括仿真界面、physical H-MRS选择区、初始化区、动态参数调节区、环境设置区。
仿真界面用于显示构造的半实物仿真环境,实时显示实物机器人的运动方法和运动轨迹;还用于与虚幻引擎的显示相对应,至触控屏上进行动画展示。
动态参数调节区用于根据测试算法设计调节机器人的算法参数。
初始化区用于初始化机器人数量、初始化机器人位置、初始化机器人编队连接;环境设置区,用于用户根据预设任务需求通过添加或删除不同类型的障碍物和目标构造虚拟场景。
当仿真模式未选择physical H-MRS模式时,则通过仿真控制终端进行纯仿真实验。
当仿真模式选择physical H-MRS模式时,仿真界面与实物机器人在触控屏上的位置相对应,通过仿真控制终端对机器人下发指令,并实现动态参数调整;对仿真界面中的虚拟机器人进行拖拽、引导时直接影响实物机器人。
在其中一个实施例中,平台还用于模拟随机动态障碍物,模拟随机动态障碍物是通过手持实物在触控屏上滑动实现的。
平台还用于模拟在仿真过程中施加外部干扰,施加外部干扰是通过拖拽或阻挡实体机器人实现的。
平台还用于模拟在仿真过程中加入或撤走编队中任意机器人的过程。
一种多机器人规划与控制的通用半实物仿真方法,方法适用于采用上述任一多机器人规划与控制的通用半实物仿真平台进行仿真实验;方法包括:
在工作站中根据预设任务基于虚幻引擎设计试验场景图像。
在试验场景显示模块中显示试验场景图像,模拟试验场景,在仿真过程中根据任务需要增加虚拟障碍物或实物障碍物。
将若干个底部粘贴有Apriltag标记的机器人置于试验场景显示模块的显示屏上;试验场景显示模块支持无限多点同时触控。
试验场景显示模块获取试验环境信息和机器人运动信息;试验环境信息包括障碍物的类别、位置、外形尺寸;机器人运动信息包括机器人的位置、朝向、速度以及加速度。
在工作站中根据试验环境信息、机器人运动信息、机器人状态信息以及预设控制算法,确定每个机器人的运动控制指令。
机器人根据对应的运动控制指令在试验场景显示模块的上表面运动,并将自身的机器人状态信息回传至工作站。
上述多机器人规划与控制的通用半实物仿真平台及方法,所述通用半实物仿真平台采用小型全向移动机器人实物设计结合试验场景虚拟呈现的方式,能够支持用户自定义任务环境、任务类型、团队规模及多机器人物理特性等初始参数,并提供友好的人机交互接口,方便使用者随时对试验过程实施干预;可输出详尽的过程数据,提升试验效果展示度,减少实物机器人损耗,同时加速算法的更新迭代过程。
附图说明
图1为一个实施例中多机器人规划与控制的通用半实物仿真平台组成框图;
图2为一个实施例中多机器人规划与控制的通用半实物仿真平台组成示意图;
图3为另一个实施例中小型全向移动机器人结构图及多视角图,其中(a)为小型全向移动机器人结构图,(b)为主视图,(c)为俯视图,(d)为左视图,(e)为后视图;
图4为另一个实施例中小型全向移动机器人速度分解;
图5为另一个实施例中机器人电气***原理框图;
图6为另一个实施例中识别多台机器人的位置及方向;
图7为另一个实施例中2×2多屏拼接效果;
图8为另一个实施例中室内火情环境;
图9为另一个实施例中软件框架及节点组成;
图10为另一个实施例中基于Qt实现的仿真控制终端;
图11为另一个实施例中多机器人规划与控制的通用半实物仿真方法。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1、图2所示,提供了一种多机器人规划与控制的通用半实物仿真平台,该平台包括:若干个底部粘贴有Apriltag标记的机器人10、试验场景仿真***20以及工作站30。
试验场景仿真***20包括支持无限多点同时触控的试验场景显示模块,用于显示工作站30设计的试验场景图像,模拟试验场景,在仿真过程中根据任务需要增加虚拟障碍物或实物障碍物;还用于获取试验环境信息和机器人运动信息,并将环境信息和机器人信息传送至工作站;试验环境信息包括障碍物的类别、位置、外形尺寸;机器人运动信息包括机器人20的位置、朝向、速度以及加速度。
具体的,作为半实物仿真平台,所使用的试验场景为仿真环境,试验场景仿真***20采用具有自带计算机***、并能捕捉在其上方的二维码/物体外形/触控点信息的全高清液晶触控屏。
试验场景的虚拟化呈现能够降低不同任务环境的搭建成本,提升试验效率加速算法迭代,增强***的通用性。同时配合实物机器人、微缩模型的使用,大幅提升试验过程的可展示度。支持丰富的人机交互方式,使用者能够以触摸、拖拽等手段直接干预试验过程,充分体现多机器人规划与控制算法中的人类因素。工作站30,用于根据预设任务基于虚幻引擎设计试验场景图像,并将试验场景图像发送至试验场景显示模块;还用于接收试验环境信息、机器人运动信息以及机器人状态信息,并根据试验环境信息、机器人运动信息、机器人状态信息以及预设控制算法,确定每个机器人20的运动控制指令,并将每个运动控制指令发送至对应的动机器人20。
机器人20是小型全向移动机器人,用于根据接收的运动控制指令在试验场景显示模块的上表面运动,并将自身的机器人状态信息回传至工作站30。
具体的,作为半实物仿真平台,所使用的机器人采用实物设计,保留机器人本身的物理特性,使运行效果更加贴近真实场景。在试验环境范围有限的前提下,为支持较大规模的多机器人***同时开展试验(数量>30台),所使用的机器人应满足的需求包括体积小,成本低,易维护/更换,且具备通信,控制,规划及运动等个体能力。
保留了机器人试验中最基本的物理学特性,能够反映真实环境下的碰撞体积,感知噪声以及通信延迟等不利因素对试验效果的影响,使算法测试结果更加可信。同时小型化的设计也降低了单台机器人的制造成本及周期,在有限的场景范围中可支持更大规模的多机器人试验
上述多机器人规划与控制的通用半实物仿真平台,所述通用半实物仿真平台采用小型全向移动机器人实物设计结合试验场景虚拟呈现的方式,能够支持用户自定义任务环境、任务类型、团队规模及多机器人物理特性等初始参数,并提供友好的人机交互接口,方便使用者随时对试验过程实施干预;可输出详尽的过程数据,提升试验效果展示度,减少实物机器人损耗,同时加速算法的更新迭代过程。
在其中一个实施例中,机器人采用双层结构设计,上层包括电池、传感器模组以及通信主板,下层包括轮系、电机模组以及电机驱动板。
传感器模组与通信主板连接,通信主板与工作站之间采用WiFi进行数据传输,电机模组和电机驱动板连接,电机驱动板与通信主板通过I2C总线进行数据传输;电机模组与轮系配合安装。
通信主板用于接收工作站发送的运动控制指令,并将运动控制指令发送至电机驱动板;还用于将传感器模组获取的机器人状态信息回传至工作站。
电机驱动板用于接收通信主板发送的运动控制指令,并根据运动控制指令对电机模组进行闭环控制。
电池用于给传感器模组、通信主板、电机模组以及驱动板提供电源。
在其中一个实施例中,通信主板包括供电模块,主芯片模块、USB转化模块以及WiFi天线。
供电模块包括两个降压单元,第一个降压单元的输入端与电池的输出端连接,第一个降压单元的第一个输出端与第二降压单元的输入端连接,第二降压单元的输出端与主芯片模块连接,第一个降压单元的第二个输出端与电机驱动板连接。
主控芯片模块通过I2C总线与电机驱动板进行数据传输,主控芯片模块通过UART接口与USB转化模块连接;WiFi天线与主控芯片模块连接。
在其中一个实施例中,电机驱动板包括电机驱动板主芯片、两个电机驱动芯片。
电机驱动板主芯片与通信主板通过I2C总线进行数据传输,电机驱动板主芯片与电机驱动芯片连接,电机驱动芯片与电机模组连接。
电机驱动板主芯片用于接收通信主板传输的工作站发送的机器人控制指令,并将机器人控制指令进行处理后转化为PWM信号传输至电机驱动芯片;并接收来自电机霍尔编码器的信息并进行处理,将处理后的信息转化为I2C信号传输至通信主板。
在其中一个实施例中,轮系采用6辊子结构的双层正交全向轮设计,机器人的体速度与3个轮子轮速的关系为:
其中,Va、Vb、Vc分别为3个轮子的轮速,vx、vy分别为机器人在x方向和y方向的体速度,ω为机器人的旋转速度。
在一个实施例中,小型全向移动机器人整体采用双层结构设计,上层为电池及传感器模组搭配控制及通信主板,下层为轮系及电机模组搭配驱动板。整体尺寸控制在半径50mm,高度55mm以内,结构简单,利于批量生产。小型全向移动机器人结构如图3中(a)所示,主视图、俯视图、左视图和后视图分别如图(3)中(b)、(c)、(d)、(e)所示。
小型全向移动机器人的具体设计方案如下:
①供电方式:全向移动机器人主要功耗包括驱动电机与WIFI芯片,其中电机在额定电压电流下理论最大功耗为2.4W,WIFI芯片在WIFI打开情况为1.2W。假设3电机及WIFI芯片均以最大功耗运行情况下的机器人总功耗为9W,则选用3S航模电池(550mAh)在不考虑过放情况可使用40min。
②数据连接方式:无线连接方式中,蓝牙传输速度较慢,故本方案采用2.4GHzWIFI进行数据传输。另在移动机器人上添加USB模块用于调试过程中的程序烧录及串口监测。
为简化机器人的运动控制难度,提高其灵活性,采用三轮全向的运动机构设计,以下是轮系布置及驱动电机选型方案:
①轮系布置:为实现机器人的全向运动,采用6辊子结构的双层正交全向轮设计,提升机器人运动的灵活性。其体速度vx和vy与轮速v1,v2和v3的关系如图4所示,计算公式如下列线性方程组:
v1=vx+ωL
v2=-vxcosθ1-vysinθ1+ωL
v3=-vxsinθ2+vycosθ2+ωL
其矩阵形式为:
②驱动电机选型:在已选定3S电池的基础上选择12V电机,合理选择减速比,获取较大转矩,保证全向移动机器人能够以较快速度运动。电机转矩从功率角度进行分析,其最小转矩需支持全向移动机器人实现运动,假设只有一个轮子处于转动状态,此时有:
功率=扭矩×转速
又有:
转速=速度/(π×轮子直径)
使机器人运动,即摩擦力做功,此时有:
功率=摩擦力×速度
本实施例中机器人重量约为200g,轮子直径为21mm,橡胶轮胎和玻璃之间的滚动摩擦系数通常在0.1到0.3之间,假设取最大值0.3,故单个轮子驱动机器人运动的情况下,扭矩需满足:
扭矩=0.3×200×10-3×9.8×π×21≈38.8mN*m
立足成熟可靠的同时兼容最新设计方案,降低制造成本,提高可靠性与可生产性,满足试验技术需求。***的电气电路分为两块,中间使用数据线整合I2C信号线及供电线进行连接,如图5所示。两块电路板功能分别为上层WIFI板(ESP32_A)及下层电机驱动板(ESP32_B)。
其中WIFI板(ESP32_A)的电路模块方案主要分为供电模块,主芯片模块以及USB转化模块,按模块进行描述:
①供电模块:主要功能为将来自3S航模电池的12V电压进行降压处理,转化为5V,再将5V转化为3.3V。因12V至5V降压范围较大,若采用LDO进行降压会导致发热严重,故5V降压模块采用DCDC降压方式,3.3V降压模块采用LDO降压方式。另外供电模块预留外置电源开关接口(开关嵌入机器人外壳)以及电量显示模块接口;
②主芯片模块:WIFI板主芯片采用ESP32-MINI-1U,主要功能为接收来自主机的WIFI信号,传输I2C信号给电机驱动板(ESP32_B),传输UART信号给USB转化模块,LED灯的控制(LED为预留接口,嵌入机器人外壳上);
③USB转化模块:通过转化芯片CP2102将来自ESP32-MINI-1U主芯片的UART信号转化为USB信号,用于代码烧录以及串口查看。
电机驱动板(ESP32_B)的电路模块方案设计主要分为主芯片模块以及电机驱动模块,按模块进行描述:
①主芯片模块:电机驱动板的主芯片采用ATMEGA328,主要功能为接收来自WIFI电路板ESP32_A的I2C信号,处理信息后转化为PWM信号传输给电机驱动芯片,并接收来自电机霍尔编码器的信息,处理信息后转化为I2C信号传输回WIFI板ESP32_A;
②电机驱动模块:采用两块L293DD,供电来自两块电路板间的数据线,其中12V用于驱动电机,5V用于电机驱动芯片供电。
表1关键器部件选型
在其中一个实施例中,试验场景显示模块包括:若干块采用无边框设计的触控屏,所述触控屏拼接为触屏阵列;触控屏为全高清液晶多点触控屏。
虚拟障碍物是通过人机交互的方式在触控屏上直接绘制的障碍物;虚拟障碍物具有实际的位置和外形尺寸;触控屏将虚拟障碍物的类别、位置以及外形尺寸转换为TUIO格式信息,将得到的TUIO格式信息传输至工作站。
实物障碍物是通过实物放置的方式在触控屏的屏幕上布置的底部粘贴标识障碍物类型的Apriltag标记的障碍物微缩模型。
触控屏通过内置的计算机***捕捉其上方的实物二维码、触控点信息以及物体外形,然后将捕捉的信息转换为TUIO格式信息,将得到的TUIO格式信息传输至工作站。
TUIO(Table-Top User Interfaces Objects)是一种简单通用的协议,用于触控屏设备人机交互界面。
触控屏的数量可以是但不限于4块,还可以是6块、8块、9块、10块等,触屏阵列可以是但不限于正方形触屏阵列,还可以是长方形触屏阵列。
在一个具体实施例中,采用4块MultiTraction MT557D全高清液晶多点触控屏拼接的方式,作为基本的试验场景显示手段。该设备基于Clearsight技术触控引擎,可支持无限多点同时触控,触摸延时约为10毫秒,达到亚像素精度。可通过物体底部粘贴的Apriltag标记快速识别放置其上的实物位置与朝向信息,并计算出物体的速度以及加速度,编号后以多种格式跟踪输出,以上述小型全向移动机器人为例,识别效果如图6所示。
作为通用半实物仿真平台,该***利用MultiTraction出色的显示效果,可快速搭建多种试验环境。如图7所示,本实施例采用4块全高清液晶多点触控屏以2×2的方式拼接,屏幕采用无边框设计,允许机器人跨屏幕运动。结合较小的实物机器人尺寸,可支持数量规模>30台的多机器人***开展算法试验。
根据任务类型,可基于虚幻引擎(UE,Unreal Engine)设计屏幕显示图像,模拟试验环境,并可根据需要增加虚拟障碍物或实物障碍物,以多机器人***在室内环境遂行火源扑灭并搜寻幸存者的任务为例,如图8所示。可通过屏幕设置条形障碍物(墙面,柜体等),圆形障碍物(座椅等),这些障碍物以虚拟图像显示,但具有实际的位置及尺寸信息,并由屏幕反馈给临近的机器人,进而被机器人所“探测”到。还可以采用实物放置的方式布置所需试验环境,通过在微缩模型底部粘贴Apriltag(区别于机器人,不能复用)使屏幕可以检测到该物体放置的位置及朝向。依托虚拟及实物障碍物,试验场景布置灵活,可随时调整障碍物位置,且无需重新编程,进一步突出本***的半实物仿真特性。
得益于以上半实物仿真平台的设计,还可实现丰富的人机交互过程,增加对多机器人规划与控制算法的人类干预。使用者可通过触摸屏幕直接绘制虚拟障碍物、感兴趣目标等环境信息,还可手持实物在屏幕上滑动,以模拟随机动态障碍物等。也可通过拖拽或阻挡实物机器人直接对其施加控制干预,甚至可以随时加入或撤走编队中的任意机器人。以上交互可以模拟多种规划或控制算法中的复杂因素,提供更多样化的算法测试需求。
在其中一个实施例中,工作站中运行的仿真软件是基于机器人开源操作***设计的,工作站与机器人通过MQTT协议进行通信,工作站与试验场景显示模块通过TUIO协议进行通信。
仿真软件包括数据采集模块、控制模块以及信号传输模块。
数据采集模块用于接收触控屏的TUIO格式的环境信息和机器人运动信息,并将接收的TUIO格式信息转为ROS消息,并传输至控制模块。
控制模块用于在接收到ROS消息后采用预设控制算法进行处理,确定每个机器人的运动控制指令,并将每个运动控制指令传输至信号传输模块。
信号传输模块用于将控制模块下发的ROS格式的运动控制指令转换为MQTT消息格式,并下发至对应的小型全向移动机器人;还用于接收机器人上传的MQTT格式的机器人状态信息,并将MQTT格式的机器人状态信息转换为ROS格式后传输至控制模块。
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议。
在其中一个实施例中,控制模块还用于通过基于Qt设计的仿真控制终端实现对半实物仿真流程的监视和控制。
仿真控制终端包括仿真界面、physical H-MRS选择区、初始化区、动态参数调节区、环境设置区。
仿真界面用于显示构造的半实物仿真环境,实时显示实物机器人的运动方法和运动轨迹;还用于与虚幻引擎的显示相对应,至触控屏上进行动画展示。
动态参数调节区用于根据测试算法设计调节机器人的算法参数(如:机器人的意图场、混合策略以及引导向量场)。
初始化区用于初始化机器人数量、初始化机器人位置、初始化机器人编队连接;环境设置区,用于用户根据预设任务需求通过添加或删除不同类型的障碍物和目标构造虚拟场景。
当仿真模式未选择physical H-MRS模式时,则通过仿真控制终端进行纯仿真实验。
当仿真模式选择physical H-MRS模式时,仿真界面与实物机器人在触控屏上的位置相对应,通过仿真控制终端对机器人下发指令,并实现动态参数调整;对仿真界面中的虚拟机器人进行拖拽、引导时直接影响实物机器人。
在一个实施例中,利用机器人开源操作***(ROS,Robot Operating System)完成仿真软件框架的搭建,主要分为三个部分,包括获取屏幕消息的tuio.launch,控制算法节点shared_control_node,以及用于下发机器人消息的mqtt_bridge.launch,如图9所示。图9中方形代表ROS话题(ROS Topic),包括/tuio和/vs,节点间ROS消息的通信依靠话题实现发布与订阅;椭圆形代表ROS节点,其中节点/tuio1、/tuio2、/tuio3和/tuio4代表消息格式的转换节点(用于分别将4个屏幕获取的TUIO消息格式转成ROS消息格式),节点shared_control_node代表控制算法节点(该节点只能处理ROS消息格式),节点/mqtt_bridge代表消息格式的转换节点(用于实现ROS消息格式和MQTT消息格式的互转)。
①其中tuio.launch(tuio.launch是启动器,因为试验场景显示模块由四块屏幕拼接,相当同时启动四个消息转换节点)用以将TUIO消息转为ROS消息格式,从而获取到屏幕上的基础信息,并发送给工作站进行处理。MultiTraction MT557D自带的计算机***能捕捉在其上方的二维码/物体外形/触控点信息,并将其转为TUIO信息格式。TUIO是一个开放式框架,为有形多点触控表面定义了通用协议和应用程序接口。TUIO协议允许传输交互式表面的抽象描述,包括触摸事件和有形物体状态。TUIO主要包括了Object、Cursor、Blob信息,其中Object主要用于识别屏幕上二维码信息,Cursor主要用于识别屏幕上的触控点信息,Blob主要用于识别屏幕上放置物体的外形信息,三种消息格式为:
(1)Object消息格式:
object->getsymbolID();
object->getx();object->getY();
object->getAngle();
object->getMotionSpeed();
object->getRotationSpeed();
object->getMotionAccel();
object->getRotationAccel();
(2)Cursor消息格式:
cursor->getCursorID();
cursor->getX();cursor->getY();
cursor->getMotionSpeed();
cursor->getMotionAccel();
(3)Blob消息格式:
blob->getBlobID()blob->getx();
blob->getY()blob->getAngle();
blob->getwidth()blob->getHeight();
blob->getArea()。
与此对应,定义ROS消息格式object.msg,cursor.msg与blob.msg用于接收由屏幕获取的TUIO消息。
②shared_control_node接收到相应的ROS消息后进行算法处理,可以使用C++语言或者python语言定义相应的接口并编写代码,支持深度学习等多种算法。同时为监视和控制半实物仿真流程,本发明开发了基于Qt的仿真控制终端。
如图10所示,当physical H-MRS未被选择时,基于仿真控制终端首先进行纯仿真实验,便于算法初期调试,避免恶性Bug对实物机器人的损坏。当physical H-MRS被选择时,该仿真界面与实物机器人在屏幕上的位置相对应,通过控制终端,可以对机器人下达开始/停止等命令,并实现动态参数调整。在终端界面中对机器人进行的拖拽、引导等动作可以直接影响实物机器人。
同时,该控制终端支持使用者对半实物仿真环境进行多种场景构造,可以添加或删除机器人,建立机器人编队连接,给予机器人路径引导。并且支持多种元素的加入,例如多种形状的虚拟障碍物或任务目标,允许实时显示实物机器人的运动方向以及轨迹等信息,更加有利于算法的试验验证。除此之外,该仿真控制终端还可以与UE的显示相对应,能够直接在MultiTraction上进行动画展示,增强试验的展示效果。
③Mqtt.launch用于启动mqtt_bridge节点,将控制节点发送的ROS消息转换为MQTT消息格式。MQTT是一种基于发布/订阅模式的“轻量级”通讯协议,因其低协议开销和低功耗特点,能够满足小型全向移动机器人之间的消息传输需求。mqtt_bridge参数配置伪代码为:
1mqtt:
2client:
3protocol:4#MQTTv311
4connection:
5 host:localhost
6 port:1883
7 keepalive:60
8private_path:device/001
9#serializer:msgpack:dumps
10#deserializer:msgpack:loads
11bridge:
12#tuio mgtt
13-factory:mqtt_bridge.bridge:RosToMqttBridge
14msg_type:vs.msg
15topic from:/vs
16topic to:mgtt vs
17-factory:mqtt bridge.bridge:MgttToRosBridge
18msg_type:robot.msg
19topic_from:mgtt_robot
20topic to:/robot
该协议基于bridge文件完成ROS和MQTT消息的互相转换,配置相应的参数和消息格式,机器人通过mqtt_bridge接收shared_control_node发送的运动指令,并且可以额外获取机器人上搭载的传感器信息回传给shared_control_node。
在其中一个实施例中,平台还用于模拟随机动态障碍物,模拟随机动态障碍物是通过手持实物在触控屏上滑动实现的;平台还用于模拟在仿真过程中施加外部干扰,施加外部干扰是通过拖拽或阻挡实体机器人实现的;平台还用于模拟在仿真过程中加入或撤走编队中任意机器人的过程。
在一个实施例中,如图11所示,提供了一种多机器人规划与控制的通用半实物仿真方法,方法适用于采用上述任一多机器人规划与控制的通用半实物仿真平台进行仿真实验;方法包括如下步骤::
步骤400:在工作站中根据预设任务基于虚幻引擎设计试验场景图像。
步骤402:在试验场景显示模块中显示试验场景图像,模拟试验场景,在仿真过程中根据任务需要增加虚拟障碍物或实物障碍物。
步骤404:将若干个底部粘贴有Apriltag标记的机器人置于试验场景显示模块的显示屏上;试验场景显示模块支持无限多点同时触控。
步骤406:试验场景显示模块获取试验环境信息和机器人运动信息;试验环境信息包括障碍物的类别、位置、外形尺寸;机器人运动信息包括机器人的位置、朝向、速度以及加速度。
步骤408:在工作站中根据试验环境信息、机器人运动信息、机器人状态信息以及预设控制算法,确定每个机器人的运动控制指令。
步骤410:机器人根据对应的运动控制指令在试验场景显示模块的上表面运动,并将自身的机器人状态信息回传至工作站。
应该理解的是,虽然图11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图11中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种多机器人规划与控制的通用半实物仿真平台,其特征在于,所述平台包括:若干个底部粘贴有Apriltag标记的机器人、试验场景仿真***以及工作站;
所述试验场景仿真***包括支持无限多点同时触控的试验场景显示模块,用于显示所述工作站设计的试验场景图像,模拟试验场景,在仿真过程中根据任务需要增加虚拟障碍物或实物障碍物;还用于获取试验环境信息和机器人运动信息,并将所述环境信息和所述机器人信息传送至所述工作站;所述试验环境信息包括障碍物的类别、位置、外形尺寸;所述机器人运动信息包括机器人的位置、朝向、速度以及加速度;
所述工作站,用于根据预设任务基于虚幻引擎设计试验场景图像,并将所述试验场景图像发送至所述试验场景显示模块;还用于接收所述试验环境信息、所述机器人运动信息以及机器人状态信息,并根据所述试验环境信息、所述机器人运动信息、所述机器人状态信息以及预设控制算法,确定每个机器人的运动控制指令,并将每个所述运动控制指令发送至对应的机器人;
所述机器人是小型全向移动机器人,用于根据接收的所述运动控制指令在所述试验场景显示模块的上表面运动,并将自身的机器人状态信息回传至所述工作站。
2.根据权利要求1所述的平台,其特征在于,所述机器人采用双层结构设计,上层包括电池、传感器模组以及通信主板,下层包括轮系、电机模组以及电机驱动板;
所述传感器模组与所述通信主板连接,所述通信主板与所述工作站之间采用WiFi进行数据传输,所述电机模组和所述电机驱动板连接,所述电机驱动板与所述通信主板通过I2C总线进行数据传输;所述电机模组与所述轮系配合安装;
所述通信主板用于接收所述工作站发送的所述运动控制指令,并将所述运动控制指令发送至所述电机驱动板;还用于将所述传感器模组获取的机器人状态信息回传至所述工作站;
所述电机驱动板用于接收所述通信主板发送的所述运动控制指令,并根据所述运动控制指令对电机模组进行闭环控制;
所述电池用于给所述传感器模组、通信主板、电机模组以及驱动板提供电源。
3.根据权利要求2所述的平台,其特征在于,所述通信主板包括供电模块,主芯片模块、USB转化模块以及WiFi天线;
所述供电模块包括两个降压单元,第一个降压单元的输入端与所述电池的输出端连接,第一个降压单元的第一个输出端与第二降压单元的输入端连接,所述第二降压单元的输出端与所述主芯片模块连接,第一个降压单元的第二个输出端与所述电机驱动板连接;
所述主控芯片模块通过I2C总线与所述电机驱动板进行数据传输,所述主控芯片模块通过UART接口与所述USB转化模块连接;所述WiFi天线与所述主控芯片模块连接。
4.根据权利要求2所述的平台,其特征在于,所述电机驱动板包括电机驱动板主芯片、两个电机驱动芯片;
所述电机驱动板主芯片与所述通信主板通过I2C总线进行数据传输,所述电机驱动板主芯片与所述电机驱动芯片连接,所述电机驱动芯片与所述电机模组连接;
所述电机驱动板主芯片用于接收所述通信主板传输的工作站发送的所述机器人控制指令,并将所述机器人控制指令进行处理后转化为PWM信号传输至所述电机驱动芯片;并接收来自电机霍尔编码器的信息并进行处理,将处理后的信息转化为I2C信号传输至所述通信主板。
5.根据权利要求2所述的平台,其特征在于,所述轮系采用6辊子结构的双层正交全向轮设计,机器人的体速度与3个轮子轮速的关系为:
其中,Va、Vb、Vc分别为3个轮子的轮速,vx、vy分别为机器人在x方向和y方向的体速度,ω为机器人的旋转速度。
6.根据权利要求1所述的平台,其特征在于,所述试验场景显示模块包括:若干块采用无边框设计的触控屏,所述触控屏拼接为触屏阵列;所述触控屏为全高清液晶多点触控屏;
所述虚拟障碍物是通过人机交互的方式在所述触控屏上直接绘制的障碍物;所述虚拟障碍物具有实际的位置和外形尺寸;所述触控屏将虚拟障碍物的类别、位置以及外形尺寸转换为TUIO格式信息,将得到的TUIO格式信息传输至所述工作站;
所述实物障碍物是通过实物放置的方式在所述触控屏的屏幕上布置的底部粘贴标识障碍物类型的Apriltag标记的障碍物微缩模型;
所述触控屏通过内置的计算机***捕捉其上方的实物二维码、触控点信息以及物体外形,然后将捕捉的信息转换为TUIO格式信息,将得到的TUIO格式信息传输至所述工作站。
7.根据权利要求6所述的平台,其特征在于,所述工作站中运行的仿真软件是基于机器人开源操作***设计的,所述工作站与所述机器人通过MQTT协议进行通信,所述工作站与所述试验场景显示模块通过TUIO协议进行通信;
所述仿真软件包括数据采集模块、控制模块以及信号传输模块;
所述数据采集模块用于接收所述触控屏的TUIO格式的环境信息和机器人运动信息,并将接收的TUIO格式信息转为ROS消息,并传输至所述控制模块;
所述控制模块用于在接收到ROS消息后采用预设控制算法进行处理,确定每个机器人的运动控制指令,并将每个所述运动控制指令传输至信号传输模块;
所述信号传输模块用于将所述控制模块下发的ROS格式的所述运动控制指令转换为MQTT消息格式,并下发至对应的小型全向移动机器人;还用于接收机器人上传的MQTT格式的机器人状态信息,并将MQTT格式的机器人状态信息转换为ROS格式后传输至所述控制模块。
8.根据权利要求7所述的平台,其特征在于,所述控制模块还用于通过基于Qt设计的仿真控制终端实现对半实物仿真流程的监视和控制;
所述仿真控制终端包括仿真界面、physical H-MRS选择区、初始化区、动态参数调节区、环境设置区;
所述仿真界面用于显示构造的半实物仿真环境,实时显示实物机器人的运动方法和运动轨迹;还用于与虚幻引擎的显示相对应,至所述触控屏上进行动画展示;
所述动态参数调节区用于根据测试算法设计调节机器人的算法参数;
所述初始化区用于初始化机器人数量、初始化机器人位置、初始化机器人编队连接;所述环境设置区用于用户根据预设任务需求通过添加或删除不同类型的障碍物和目标构造虚拟场景;
当仿真模式未选择physical H-MRS模式时,则通过所述仿真控制终端进行纯仿真实验;
当仿真模式选择physical H-MRS模式时,所述仿真界面与实物机器人在触控屏上的位置相对应,通过所述仿真控制终端对所述机器人下发指令,并实现动态参数调整;对所述仿真界面中的虚拟机器人进行拖拽、引导时直接影响实物机器人。
9.根据权利要求1-8任一项所述的平台,其特征在于,所述平台还用于模拟随机动态障碍物,模拟随机动态障碍物是通过手持实物在所述触控屏上滑动实现的;
所述平台还用于模拟在仿真过程中施加外部干扰,施加外部干扰是通过拖拽或阻挡实体机器人实现的;
所述平台还用于模拟在仿真过程中加入或撤走编队中任意机器人的过程。
10.一种多机器人规划与控制的通用半实物仿真方法,其特征在于,所述方法适用于采用权利要求1-9任一项所述的多机器人规划与控制的通用半实物仿真平台进行仿真实验;所述方法包括:
在工作站中根据预设任务基于虚幻引擎设计试验场景图像;
在试验场景显示模块中显示所述试验场景图像,模拟试验场景,在仿真过程中根据任务需要增加虚拟障碍物或实物障碍物;
将若干个底部粘贴有Apriltag标记的机器人置于试验场景显示模块的显示屏上;所述试验场景显示模块支持无限多点同时触控;
所述试验场景显示模块获取试验环境信息和机器人运动信息;所述试验环境信息包括障碍物的类别、位置、外形尺寸;所述机器人运动信息包括机器人的位置、朝向、速度以及加速度;
在所述工作站中根据所述试验环境信息、所述机器人运动信息、所述机器人状态信息以及预设控制算法,确定每个机器人的运动控制指令;
所述机器人根据对应的所述运动控制指令在所述试验场景显示模块的上表面运动,并将自身的机器人状态信息回传至所述工作站。
CN202410066776.7A 2024-01-16 2024-01-16 多机器人规划与控制的通用半实物仿真平台及方法 Pending CN117784637A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410066776.7A CN117784637A (zh) 2024-01-16 2024-01-16 多机器人规划与控制的通用半实物仿真平台及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410066776.7A CN117784637A (zh) 2024-01-16 2024-01-16 多机器人规划与控制的通用半实物仿真平台及方法

Publications (1)

Publication Number Publication Date
CN117784637A true CN117784637A (zh) 2024-03-29

Family

ID=90391129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410066776.7A Pending CN117784637A (zh) 2024-01-16 2024-01-16 多机器人规划与控制的通用半实物仿真平台及方法

Country Status (1)

Country Link
CN (1) CN117784637A (zh)

Similar Documents

Publication Publication Date Title
Le Goc et al. Zooids: Building blocks for swarm user interfaces
CN107671857B (zh) 用于服务机器人操作演示与算法验证的三维仿真平台
CN102340894B (zh) 基于无线传感器网络的遥控救援机器人***及控制方法
CN104950695B (zh) 一种通用的无人机视觉仿真平台
CN202758243U (zh) 一种无人机飞行操控***
CN102681542A (zh) 一种室内多用途移动机器人实验平台
CN103064296B (zh) 一种水下机器人辅助控制***
CN101833892A (zh) 用于焊接机器人的嵌入式示教编程装置及方法
CN204891215U (zh) 一种基于手势轨迹识别的玩具
TW201307155A (zh) 無人飛行載具模擬飛行系統及方法
CN204856222U (zh) 一种基于物联网技术的全向移动平台控制***
CN110977981A (zh) 一种机器人虚拟现实同步***及同步方法
CN114089784B (zh) 一种基于mr眼镜的无人机控制方法及***
CN106393142A (zh) 一种智能机器人
CN202582585U (zh) 一种室内多用途移动机器人实验平台
CN111993424A (zh) 一种异构移动机器人的互操作中间件测试***及方法
Zou et al. Design of smart car control system for gesture recognition based on Arduino
CN205942629U (zh) 指环无线鼠标
Angelopoulos et al. Drone brush: Mixed reality drone path planning
CN101477753B (zh) 基于多种控制方式的交互式多媒体演示***和方法
Alimohammadzadeh et al. Dronevision: An Experimental 3D Testbed for Flying Light Specks
CN117784637A (zh) 多机器人规划与控制的通用半实物仿真平台及方法
CN106020518A (zh) 指环无线鼠标及其控制方法
CN206795850U (zh) 一种新型智能化控制人形机器人
CN112346959B (zh) 一种虚实结合的多机器人应用测试平台及测试方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination