摘要
为更好地研究分布式协作机器人中的复杂集体行为,设计了一种三轮全向移动的多机器人动态可视化验证平台,旨在提供一个直观且灵活的实验环境,促进多机器人算法的测试与发展。该平台由自主研发的低成本小型全向轮式移动机器人和可视化触摸屏幕构成,后者支持手势识别及物体形状检测,能够配置多样化的动态渲染场景。通过此平台,研究人员可以专注于多机器人系统中算法的设计与优化,同时不受限于特定场景或任务设定。该平台已经测试了机器人运动性能,并在多个任务场景中成功验证了多机器人算法,初步验证了其有效性和灵活性。
Abstract
To better investigate the complex collective behaviors in distributed collaborative robots, a multi-robot dynamic visualization research platform based on three-wheeled omnidirectional mobile robot was designed. The purpose of the platform is to provide an intuitive and flexible experimental environment for promoting the testing and development of multi-robot algorithms. The platform is composed of self-developed, low-cost, small, omnidirectional wheeled mobile robots and visual multi-touch screens that support gesture recognition and shape detection of objects, enabling the configuration of various dynamic rendering scenarios. With this platform, researchers are able to focus on the design and optimization of algorithms in multi-robot systems without being limited to specific scenarios or task settings. The robot′s motion performance was tested, and multi-robot algorithms were successfully tested in multiple task scenarios, initially validating the platform′s effectiveness and flexibility.
随着机器人技术的快速发展,多机器人系统(multi-robot systems,MRS)在多种任务场景中取得了显著进展[1],并成功地应用于区域监测[2]、抢险救灾[3]、物流仓储[4]、搜索搜救[5]等领域。尽管研究人员设计了各种多机器人系统并开展了广泛研究,但现有的实验平台仍然存在诸多局限性,特别是灵活性不足以及算法部署和实验设置复杂等问题,这些都严重阻碍了研究效率。
在过去的几十年中,研究人员开发了众多的多机器人系统,以适应科研领域的多样化需求。机器人的尺寸和成本对多机器人系统在实际应用中的可扩展性具有显著影响,决定了所能验证的多机器人算法的范围。鉴于小型机器人在灵活性、扩展性和成本效益方面的优势,因此主要讨论尺寸在10 cm范围内的小型机器人,由此总结了近 20年以来,在多机器人研究领域中最常见的实验平台,并根据其运动机制将它们分为振动驱动和轮式驱动两大类。主流多机器人平台比较见表1。
表1主流多机器人平台比较
Tab.1 Comparison of popular multi-robot platforms

注:“*”表示已公布的部件成本。
Kilobot[15]和Droplet[14]是最具代表性的小型振动驱动式多机器人平台,它们都采用对称的运动结构,并配备了3条刚性支撑腿。二者的主要区别在于,Kilobot仅配备了2个振动马达,而Droplet则配备了3个。Kilobot因其低成本(部件成本仅为14美元)和开源特性,迅速成为研究领域中广受欢迎的平台之一。由于仅配备了双振动马达,Kilobot虽然在成本和体积上有所降低,但也将其最高速度限制在1 cm/s。该平台能够展示去中心化的自组装行为,通过1 024个Kilobot机器人组装成用户定义的形状,为科研人员提供了研究大规模集群系统的可能性。尽管采用振动驱动的机器人具有较强的可扩展性,并且易于与其他机器人集成,但其运动能力有限,难以实现长时间精确运动。
相较于振动驱动机器人,轮式驱动机器人在多机器人领域的研究中应用更为广泛。通常情况下,一般将2个驱动轮对称地安装在机器人的底盘上,并与电机相连,而支撑轮则提供360°的转向控制。采用这种运动方式的典型平台包括HeRo 2.0[7]、Mona[10]、Colias IV[11]、GRITSBot[13]、AMiR[16]、e-puck[17]、Jasmine[18]和Alice[19]等。其中,e-puck是最成功的商用小型机器人之一,尺寸仅7.5 cm,由2个步进电机驱动,最高速度可达13 cm/s。该机器人还可以配备多种内置传感器,包括距离传感器、摄像头、光传感器和三维加速度计,并通过Wi-Fi/蓝牙进行通信,支持扩展其他传感模块。尽管e-puck具有诸多优点,但其高昂的价格(零售价为975美元)给从事大规模集群研究的科研人员带来了较大的经济负担。此外,双轮差动机器人Millibot[8]和Zooids[12]采用非共线的两轮构型,并配备球形滚轮以辅助平衡,可进一步减小机器人的占地面积。
除此之外,还有一些采用特殊运动机制的机器人,例如单轮移动机器人[6]和Morphobot[9]。Morphobot由4个无刷直流电机驱动,这些电机以特定角度均匀地安装在机器人底座上。通过调整电机的速度,该机器人能够实现全向移动。单轮移动机器人则配备了1个全向轮和6个弹簧悬挂,全向轮位于机器人的底部中心,而6个弹簧悬挂均匀分布在机器人的周边以保持平衡。2个电机分别驱动全向轮的前进和旋转。这种巧妙的设计使得该机器人能够实现任意方向的移动。
在多机器人研究领域,大多数机器人采用差动驱动模式,通过调节两侧轮速实现转向。然而,这种结构虽简单且成本较低,但在灵活性和机动性方面存在局限性。为了解决这些问题,本研究团队设计了一种三轮全向小型低成本机器人,可以在不改变朝向的情况下沿任意方向直接移动,实现了灵活的全向运动,同时保持了结构简单和成本效益。
现有的多机器人平台主要关注于机器人的设计开发,大多数平台[7]仅针对仿真场景设计了可视化界面,几乎没有针对实物平台进行设计优化。针对该问题,本文自主设计并构建了一套由低成本小型三轮全向移动机器人和多点触摸屏组成的动态可视化验证平台,旨在提供高度灵活且直观的实验环境,简化算法部署流程。
1 多机器人动态可视化平台设计
多机器人动态可视化平台由四块多点触摸屏和三轮全向机器人组成,如图1所示。多点触摸屏是机器人放置、移动和进行各种实验的主要场地,并且多点触摸屏可以捕获人类触摸点信息。此外,当机器人或其他物体放置在屏幕上时,屏幕可以准确识别机器人(物体)的形状或底部的二维码,提供有关机器人(物体)的位置、速度、方向和加速度等信息。因此,每个机器人不需要配备定位传感器。

图1多机器人动态可视化平台示意图
Fig.1Multi-robot dynamic visualization platform
1.1 多点触摸屏
本平台采用的多点触摸屏是MULTITACTION的MT557D,每块尺寸为1 209 mm×680 mm,其内置的跟踪引擎能处理用户触摸或物体放置时由屏下摄像头矩阵捕获的图像数据,并输出包括指尖、红外笔和二维码位置等跟踪数据,也可以设置各种动态虚拟场景。值得一提的是,由于该屏幕支持无限多点触摸,只要空间允许,屏幕理论上能够识别跟踪所有的接触对象。多点触摸屏详细参数见表2。
1.2 三轮全向机器人
鉴于多点触摸屏空间有限,为支持大规模多机器人系统实验的开展,所设计的机器人需要满足以下的要求:小型化、低成本、易于维护和更换,并具备独立的通信、运动、控制和规划能力。
1.2.1 机械结构
所设计机器人的结构和组件如图2所示。整个机器人的半径为4.8 cm,质量为200 g。为了便于组装和后续扩展,机器人底盘采用模块化设计,便于使用3D打印机进行打印,其外壳和内部基本框架均采用聚乳酸材料制作。外壳呈类三角形,以减少机器人的占地面积。整体而言,机器人的结构从上到下由三个主要部分组成:顶盖模块、印刷电路板(printed circuit board,PCB)主板和全向底盘。
表2多点触摸屏的部分参数
Tab.2 Some parameters of the multi-touch screen

注:1英寸=2.54 cm。

图2三轮全向机器人的结构图
Fig.2Structure and components of the three-wheeled omnidirectional robot
顶盖模块主要用于装载电池和LED指示灯。该机器人使用11.1 V、500 mAh的锂电池为电机和电路板供电,LED指示灯用于显示开关状态、通信连接和电量水平。
PCB主板由两层组成:底层为主控制板,顶层为驱动板。主控制板搭载ESP32微控制器,配备2.4 GHz Wi-Fi模块和DC-DC转换模块。驱动板则负责驱动N20电机并读取编码器信息。
底盘上安装了3个带霍尔编码器的N20电机,采购自瓦里科技,额定电压为12 V,额定电流小于0.22 A,减速比为1 ∶100,额定转速为130 r/min。3个电机均匀分布在同一平面内,两两之间成120°排列。每个全向轮安装在电机轴上,由两层3D打印的支架和6个相同的橡胶轮组成,两层支架错开60°排列。通过测试选取了摩擦系数合适的橡胶轮,以确保机器人能够在屏幕上平稳运动。
1.2.2 电气设计
除机器人的机械设计外,还进行了电气设计,以确保机器人的性能满足各项实验需求。为了适配机器人机械整体布局,各种组件排列在类三角形的PCB主板上,如图3所示。其中,上层为电机驱动板,下层为主控制板。两层间通过I2C协议和电源总线直接连接,便于通信和电源分配。PCB主板中央设有圆形开口,以便各种连接线穿过。

图3PCB主板结构
Fig.3Structure of PCB board
机器人电气设计的关键在于选择合适的微控制器,这直接决定了机器人的计算能力以及可利用的组件类型和数量。经过对多种方案的综合评估,最终选择了乐鑫信息科技的ESP32MINI1U作为主要处理单元,其数据处理能力出色(32位,160 MHz),拥有4 MB的内存,且价格低廉。它还内置了Wi-Fi芯片,支持完整的TCP/IP协议和高速IEEE 802.11连接,使得机器人能够通过稳定且可扩展的协议与其他机器人或远程计算机进行通信。
在驱动板设计方面,机器人采用两片L293DD芯片来控制3个N20电机,并读取霍尔编码器的反馈信号。ATMEGA328芯片接收来自主控制器的信息,并将其分发给两片L293DD芯片。
此外,机器人的每个组件需要不同的供电电压。机器人通过MT2492和AMS1117-3.3电压调节器模块,将11.1 V电池电压转换为各个组件所需的特定电压。
在固件实现方面,考虑到易用性和广泛性,选择Arduino IDE作为开发环境,有效简化了固件代码的学习和修改过程。此外,Arduino IDE提供了丰富的库,便于对微控制器端口、TCP套接字、传感器和执行器进行控制和管理。
1.2.3 运动控制
机器人采用三轮全向运动模式,其车身速度和车轮速度之间的关系如图4所示。

图4车身速度和车轮速度之间的关系
Fig.4Relationship between body velocity and wheel velocity
机器人逆运动学模型可以用式(1)所示的线性方程表示。
(1)
式中:v1、v2、v3为车轮速度;θ1和θ2是图4中的角度,在机器人的结构设计中θ1=60°、θ2=30°;L表示车轮到机器人中心的距离;vx和vy分别表示沿x和y轴的速度;ω表示角速度。当需要机器人只往某一方向平移运动时,例如以速度v0 朝vx方向运动时,此时ω=0,根据式(1),可以得到,由此实现机器人任意方向的运动。当机器人朝某一方向做旋转运动时,例如以角速度ω0朝ω方向旋转时,根据式(1)可以得到v1=v2=v3=ω0L。因此,只需要将vx、vy和ω代入式(1),即可得到相应轮子的转速,进而实现灵活的全向运动。
在确定了每个轮子所需的切向速度之后,采用比例积分微分控制(proportional-integral-derivative control,PID)方法来调节电机,以实现对期望速度的精确控制。对于所设计的移动机器人电机控制系统而言,PID控制器能够提供快速响应、有效减小稳态误差,并能很好地抑制系统扰动。此外,PID算法简单易实现,调试过程相对直观,非常适合于电机速度与位置控制的实际需求。PID控制器的数学模型可以表示为:
(2)
式中,e(t)是每个车轮的期望切向速度和当前切向速度之间的误差,Kp、Ki、Kd分别是比例项、积分项和微分项。
此外,电机控制系统通常依赖传感器来获取位置等信息,但传感器数据往往包含噪声。因此,所设计的机器人还采用简单的卡尔曼滤波器对霍尔编码器的数据进行滤波[20]。卡尔曼滤波能够通过融合预测模型和测量值来提供更加准确的状态估计,减少噪声带来的影响。卡尔曼滤波过程为:
(3)
(4)
(5)
其中,K为卡尔曼增益,σe和σm分别表示估计不确定度和测量不确定度,为滤波后的速度估计值,表示测量速度,q为过程噪声方差,上标“-”表示上一时刻的变量值。机器人的整个速度控制流程如图5所示。
1.3 软件框架
除平台硬件设计外,还开发了配套的软件框架,以适配不同种类机器人以及多机器人任务,使研究人员专注于多机器人算法的研究。
机器人通过无线网络与工作站进行通信,两者采用消息队列遥测传输(message queuing telemetry transport,MQTT)和机器人操作系统(robot operating system,ROS)进行连接。ROS是一个开源的机器人操作系统,提供包括硬件抽象、底层设备控制、进程间消息传递和软件包管理等功能。其通信采用发布/订阅机制,用户自定义的消息可以在多个节点之间进行传递,易于进行拓展。

图5三轮全向机器人速度控制
Fig.5Velocity control of three-wheeled omnidirectional robot
然而,由于小型机器人计算资源的限制,绝大多数多机器人系统无法在本地部署ROS。为了将相似功能集成到性能较弱的微控制器上,在机器人端采用了MQTT协议的通信模块。MQTT是一种轻量级的通信协议,能够显著减少网络通信资源的消耗,是多机器人系统中一种可靠且可拓展的通信方式。MQTT支持发布/订阅机制,允许一对多进行消息传输。它基于TCP/IP网络连接,提供有序、无损、双向的连接,确保消息的可靠传输。通过这种方式,用户仅需自定义ROS消息格式,即可通过TCP/IP与工作站进行通信。当接收到来自工作站的命令时,机器人执行相应的动作,并实时向工作站反馈其状态。
多点触摸屏则通过以太网直接连接到工作站,并通过TUIO(table-top user interfaces objects)协议将获取的所有屏幕信息传输到工作站,再封装成ROS的消息格式,以分发给其他节点。此外,可以使用Unity创建虚拟场景来模拟各种任务,如搜救场景或消防场景,并在多点触摸屏上动态显示,从而为多机器人实验的开展提供一个实时的可视化交互式环境。整个系统的ROS节点图如图6所示。

图6多机器人动态可视化平台软件ROS节点图
Fig.6ROS graph of the multi-robot dynamic visualization platform
除此之外,开发了一个基于QT的控制台来管理和监控机器人的状态,并实时发送指令。该控制台提供了直观的用户界面,使得用户可以方便地监控和操作机器人。得益于精心设计的软件架构,用户可以通过自定义信息对机器人和实验参数进行任意设置,包括但不限于运动能力、算法参数和任务调度等。这种灵活性不仅提升了用户体验感,还为研究人员提供了强大的工具,以适应不同的实验需求和场景。
2 实验分析与案例
本节中,首先对所设计的机器人进行路径跟踪实验,以验证其运动性能;然后简略介绍基于多机器人动态可视化平台开展的多机器人路径规划、任务分配和编队控制等演示实验。
2.1 路径跟踪实验
为了检验机器人的运动性能,在多机器人动态可视化平台上采用引导向量场[21]的方法开展路径跟踪实验。对于期望的轨迹可以用隐函数描述:,其中,φ是二次连续可微的函数,ξ表示二维位置(x,y)。基于此隐函数,可以定义一个引导向量场来解决路径跟踪问题:
(6)
式中,
为旋转矩阵,γ∈{1,-1},k是可调节参数。第一项是切向分量,使得机器人能够沿期望路径移动;第二项是法向分量,帮助机器人靠近期望路径。因此,引导向量场直观上能够同时引导机器人朝向并沿着期望路径移动。通过调节适当的k值,可以使机器人不断收敛到期望路径。

通过多点触摸屏,可以显示机器人预期的直线和圆形轨迹,从而对机器人运动情况直观显示,如图7所示。

图7路径跟踪实验
Fig.7Robot path following experiments
在实验中,分别测试了机器人在6种不同速度下沿直线运动的能力,并在每种速度下采集了10个样本数据。实验过程中,以30 Hz的频率对机器人的位置坐标进行采样,不同速度下的轨迹如图8所示,其中期望轨迹用蓝色标出。值得注意的是,尽管从直观上看运动轨迹波动较大,但这实际上是由x轴和y轴的刻度不一致造成的视觉效果。实际上,在最大速度下,机器人的最大位置偏差仅约为2 cm。

图8不同速度下的直线轨迹
Fig.8Linear trajectories at different speeds
在直线轨迹跟踪实验中,定义误差为实验轨迹坐标与期望轨迹坐标之间差值的总和,当机器人位于直线上方时误差为正值,位于直线下方时为负值;定义绝对误差为实验轨迹坐标与期望轨迹坐标之间差值绝对值的总和。图9(a)展示了所有速度下的平均误差及其对应的标准差,图9(b)则展示了平均绝对误差及其标准差。结果表明,在可运动的速度范围内,自主设计的三轮全向机器人均能够较好地沿直线移动。
在相同速度下,进一步测试了机器人沿圆形路径运动的能力,每台机器人分别顺时针绕圆周运动10圈。不同速度下的轨迹如图10所示,其中期望轨迹用蓝色表示。可以直观观察到,在5 cm/s和30 cm/s的速度下,机器人沿圆周运动的波动较为明显。主要原因在于:5 cm/s接近机器人的运动速度死区,导致控制精度下降;而30 cm/s接近机器人的最大速度,此时电机的控制精度会有所下降,导致输出力矩不稳,因而运动出现较大波动。但即便如此,机器人轨迹跟踪的平均绝对误差也仅为0.4 cm。同时,因尺寸限制,小型机器人的电机、处理器性能有限,难以实施复杂高精度的控制算法,因此本平台的关注重点在于灵活性、适应性,而不是追求极致的运动精度。

图9直线运动数据统计分析
Fig.9Statistical analysis for linear motion

图10不同速度的圆形轨迹
Fig.10Circle trajectories at different speeds
在圆形轨迹跟踪实验中,定义误差为机器人当前位置与圆形轨迹之间距离差的总和,当机器人位于圆外时误差为正值,位于圆内时为负值;定义绝对误差为机器人当前位置与圆形轨迹之间距离差的绝对值的总和。图11(a)展示了所有速度下的平均误差及其对应的标准差,图11(b)则展示了平均绝对误差及其对应的标准差。实验结果表明,在可运动的速度范围内,自主设计的三轮全向机器人均能够较好地沿圆形轨迹运动。基于上述结果,可以初步确定机器人高精度运动的速度范围。因此,在接下来的实验中,机器人的速度将控制在10~25 cm/s。

图11圆周运动数据统计分析
Fig.11Statistical analysis for circular motion
2.2 多机器人路径规划实验
基于多机器人动态可视化平台,设计了包括多个机器人和多个障碍物的实验环境。在实验中,每个机器人都需要独立避开障碍物并安全到达目的地。如图12(a)所示,实验环境包括8个三轮全向机器人、若干个静态障碍物和1个移动障碍物。利用一种带有安全概率场的无约束优化规划器[22],以解决复杂、动态环境中的多机器人导航问题。图12(b)中展示了机器人利用其有限的感知和通信能力,高效地避开各种障碍物和其他机器人,最终到达目标点。实验结果验证了该方法的实时运行能力,可在复杂环境中为多机器人提供安全导航。

图12多机器人集群路径规划效果
Fig.12Results of multi-robot path planning
2.3 多机器人动态任务分配实验
基于多机器人动态可视化平台,以城市对抗环境下的移动机器人任务分配问题为背景,设计了3种不同任务能力共5个三轮全向机器人,执行9个多机器人任务的实验环境。初始有8个机器人任务,见图13(a);在执行过程中,有新任务9出现,此时机器人进行任务重分配,见图13(b)。面对随机引入的新任务,采用基于载荷一致性的任务分配算法[23],根据当前机器人的载荷和能力,通过构建机器人能力与集群任务需求之间的映射,进行任务包构建和冲突消解,从而高效、准确、无冲突地动态调整任务分配结果,实验结果见图13(b)。实验结果表明,该算法在无人集群能力范围内,能够有效利用机器人携带的载荷对目标进行打击。

图13多机器人动态任务分配效果
Fig.13Dynamic task allocation for multi-robot system
2.4 多机器人编队控制实验
基于多机器人动态可视化平台,设计了如图14(a)所示的消防任务背景,三轮全向机器人以编队形式执行任务。在该环境中设有障碍物和任务目标,而机器人感知范围有限,只有接近目标时才能检测到目标。此时我们可以提供一定的路径作为输入来引导机器人的运动,而不需要实时参与到机器人的运动控制,从而提高任务效率。本实验采用多种人机交互方式,包括脑机接口、肌电腕带、眼动仪,利用融合人类意图的导航向量场共享控制框架[24]加速人类意图在多机器人系统中的传播、融合人类和机器人的意图,提高任务的执行效率。图中的红实线是给定期望路线,当机器人找到目标时,它们会脱离这条路线;任务完成后,机器人仍然可以被引导至给定的路径上。实验结果如图14(b)所示,展示了整个多机器人编队运动路径。

图14多机器人编队控制实验
Fig.14Multi-robot formation experiment
3 结论
通过所设计的三轮全向移动多机器人的动态可视化验证平台,用户可以直观地设计动态变化的场景,包括放置静态障碍物和动态元素(如移动障碍物或目标点),并通过图形界面实时显示每个机器人的状态。系统集成了数据可视化工具,便于性能评估和深入分析。
这种灵活性不仅扩展了研究范围,还使得测试不同环境下的多机器人协作策略变得轻松可行。所设计的平台创新点如下:①设计的机器人体积小巧、成本低廉且具备良好的运动性能,增强了整个多机器人系统的可扩展性;②采用的动态可视化验证平台能够获取用户触摸点或放置物体的位置及速度数据,而无须考虑机器人的定位感知问题,从而更专注于多机器人算法的研究;③支持自定义多种动态虚拟场景,并实时获取机器人的状态信息,使得研究人员不再受限于特定的场景和任务;④依托动态可视化验证平台,开展了多机器人路径规划、任务分配以及编队控制等实物实验,验证了其在多机器人研究领域的巨大潜力和应用价值。