摘要:简单介绍了NuBot机器人的两个主要组成部分:全向视觉和全向运动系统,并给出了运动学分析。基于该机器人平台,提出了D-A和D-D控制两种跟踪算法。通过机器人之间的相对定位和局部通信,实现了多机器人编队的分布式控制,同时,该算法可对机器人朝向进行独立控制。针对不同情况下的编队避障问题,提出了编队变形和编队变换两种方法。仿真和实际机器人实验表明,D-A控制方法能够实现平滑的编队变换;编队变形方法能够在尽量保持原始队形的情况下保证编队顺利避障。
关键词:多机器人;编队控制;全向视觉;全向运动中图分类号: TP24 文献标识码: B
Abstract:This paper proposes two leader-following algorithms named D-A and D-D controllers based upon our NuBot ro-bot team whose two main parts(omni.vision and omnidirectional motion system)together with its kinematics model are briefly described.Based on relative positioning and local communication,the proposed algorithms can implement distributed formation control of multiple robots,and can control the orientation of robots separately.Then two methods of formation distortion and form ation switching are proposed for the obstacle avoidance problem of robot form ation.Real robot experiments together with simulation results show that the D-A controller can switch the robot form ation smoothly and the form ation distortion method can avoid obstacles on the basis of changing the original form ation as little as possible.
Keywords:multi-robot;form ation control;omni-vision;omnidirectional robot
1 引言(Introduction) 多机器人编队控制,指的是多个机器人组成的团队在向特定目标或者方向运动的过程中,相互之间保持特定的几何形态(即队形),同时又要适应环境约束(如避开障碍物)的控制技术。 多机器人编队控制是多机器人系统研究领域一类常见的协作问题,采用多个机器人组成编队具有较多优点[sup][1][/sup],例如在军事侦察、搜寻、排雷等应用中能够获取更多的环境信息,在飞行器、卫星编队飞行等应用中能够完成更多、更复杂的任务。近年来,随着网络技术、通信技术以及信息技术的发展,使得多机器人编队控制研究有了长足的进展,特别是在军事和空间探测等领域的实用性研究日益成熟,使得该技术的研究具有一定的战略意义。 从多机器人系统控制框架的角度来看,多机器人编队控制主要可以分为:集中控制式[sup][2] [/sup]、分布式[sup][3-6][/sup]和监控式[sup][7][/sup]三种方式.从具体技术实现上来分,主要有Leader-Follower方法、基于行为的控制法[sup][8][/sup]和虚拟结构(virtual structure)法。 文[2]采用虚拟结构的方法实现了多个机器人的精确编队控制。但是,这种方法需要知道各个机器人的绝对位置,通过集中控制的方式来实现。文[3—6]都是采用分布式的控制方式实现编队控制,其中文[3]针对一类非完整约束机器人,采用反馈线性化的方法实现了机器人的编队跟踪控制;文[4]从队形向量的角度出发研究了多机器人编队包围捕获“入侵者”的合作问题;文[5]采用跟踪特定机器人的方法实现编队,该方法没有采用全局传感器,并且保证了较小的通信量,但是由于回避了机器人本身的运动控制问题,因此实验中机器人运动并不平滑,而且速度非常缓慢。文[6]研究了分布式框架下多机器人编队的信息流控制,对于编队图的变化具有很好的鲁棒性。 本文基于国防科大机器人实验室自主开发的NuBot全向视觉一全向移动机器人平台,改进了文[3]的两类跟踪算法,实现了多个机器人的编队控制。本文方法的特点是: 1)完全分布式控制; 2)无需全局定位; 3)机器人采用局部通信; 4)机器人朝向可单独控制; 5)编队变形或者变换实现避障。
2 全向视觉—全向移动机器人(Omni-vision and omnidirectional robot) 2.1 NuBot机器人 如图1所示,NuBot机器人采用一套全向视觉系统作为传感器,来获取周围机器人以及障碍物的相对位置信息,并可在特定环境中定位定向。在运动方式方面,该机器人按照一定的角度安装4个自主研制的NuBot全向轮,组成全向运动机构,使得机器人可以实现平面内的任意方向运动及旋转运动。
1)全向视觉系统全向视觉系统由全向反射镜面和摄像机组成,如图1(a)所示。其中凸镜面即为全向反射镜面,起着反射光线的作用,而摄像机则通过镜头折射采集全向反射镜面反射的光线,获取周围环境的全景图像。同时,每个机器人都安装了一个特定颜色的色标,机器人通过分析所获取的全景图像中的色标来辨别各个机器人,并且计算出它们与自己的相对坐标。 2)全向运动机构 按照图1(b)所示的方式安装4个NuBot全向轮,相邻轮子之间互相垂直,组成机器人的全向运动机构。需要注意的是,由于3点就能确定一个平面,因此保证4个轮子在运动过程中同时着地,对机器人的运动性能具有较大的影响。本文将4个全向轮系分成两组固定在两块底板上,两块底板通过铰接的方式连接,有效地解决了机器人的四点着地问题。 2.2 运动学分析 机器人工作空间为一个平面,建立固连在这个平面的绝对坐标系X[sub]w[/sub]- Y[sub]w[/sub],以及固连于车体并且原点与机器人中心重合的局部坐标系X[sub]m[/sub]- Y[sub]m[/sub],如图2所示。其中,θ为X[sub]m[/sub]与X[sub]w[/sub] 的夹角,[font=宋体]
δ[/font]为轮子与Y[sub]m[/sub] 的夹角。
机器人运动学方程如下:
3 编队控制算法(Formation-control algorithm) 3.1 跟踪控制 控制一台机器人保持一定的距离、角度跟踪另一个或者几个机器人是Leader—Follower多机器人编队控制方法的基础。本文研究两种跟踪算法:距离—角度(D-A)控制和距离—距离(D-D)控制。 (1)距离—角度(D-A)跟踪控制 如图3所示,假设机器人R[sub]i[/sub]为Leader,机器人R[sub]j[/sub]为Follower,R[sub]j[/sub]需要以一定的距离和角度

和

跟踪机器人R[sub]i[/sub]。
图中,X[sub]mi[/sub]和X[sub]mj[/sub]别为两个机器人的正方向,

和

, 分别为两机器人的期望速度方向,

为

的实际速度,

和

分别为R[sub]i[/sub]观察到的其正方向、期望速度方向和实际速度方向到R[sub]j[/sub]所在方向的夹角,

为R[sub]j[/sub]观察到其正方向到R[sub]i[/sub]所在方向的夹角。 注1:在编队变换的过程中,R[sub]i[/sub]速度

的方向可能发生较大改变,如果以

方向作为R[sub]j[/sub]的参考方向,R[sub]j[/sub]及其后续机器人编队很可能发生较大振荡,导致编队控制失败。因此,本文采用期望速度

作为参考方向,这个速度能够反映整个编队的运行方向。
系统状态方程
设

则式(1)可写为:
控制律 采用输入输出线性化方法,得到:

其中,P是辅助控制输入:

选择适当的控制增益k,k >0,相应的闭环线性系统为:

得到R[sub]j[/sub]的控制律为:

注2:从上述过程可以看出,R[sub]j[/sub]的编队跟踪控制只涉及到

和

,而与其角速度无关,这说明R[sub]j[/sub]的朝向角度可以单独控制。算法的这一特点能够保证机器人在编队运行、编队变换的过程中,平台的朝向可根据需要随意调整。
实施方法 由于机器人R[sub]i[/sub]与R[sub]j[/sub]能够互相观察到对方的相对位置,同时各个机器人知道自身的运动方向及朝向,因此它们可以通过一定的通信规则来获取跟踪控制中所需要的输入参数。 ①机器人R[sub]i[/sub]向机器人R[sub]j[/sub],发送下列数据:

②机器人R[sub]j[/sub],计算:

③ 机器人R[sub]j[/sub]采用新的参数


进行D-A控制。注3:机器人R[sub]j[/sub]对R[sub]i[/sub]跟踪,只需要R[sub]i[/sub]向其发送速度和角度信息,R[sub]j[/sub]根据这些信息以及自身的观察数据得到进行D-A跟踪控制所需的所有数据。可以看出,该方法不需要全局定位,而且只需要在局部进行较少的通信。 (2)距离—距离(D-D)跟踪控制如图4所示,假设机器人

以一定的距离

和

跟踪机器人R[sub]i[/sub]和R[sub]j[/sub] 。

和

分别为3个机器人的正方向,

和

,分别为R[sub]i[/sub]和R[sub]j[/sub]的实际速度,

和

分别为R[sub]i[/sub]和R[sub]j[/sub]到

的距离。 系统状态方程


则式(3)可写为:
控制律 采用输入输出线性化方法,得到:

其中,p是辅助控制输入:

选择适当的控制增益k[sub]1[/sub],k[sub]2[/sub]>0,相应的闭环线性系统为:

得到

的控制律为:

注4:与D-A跟踪控制方法不同,这里的

和

分别为机器人R[sub]i[/sub]和R[sub]j[/sub]的当前速度方向与机器人

所在方向的夹角。
实施方法 与D-A跟踪控制方法相比,由于不涉及到与Leader机器人特定方向保持一定角度,因此本方法的实施较为简单。 R[sub]i[/sub]和R[sub]j[/sub]向

发送数据

,

结合自身观察所得的

,进行D-D控制。 3.2 编队描述 机器人编队队形通常被分为几种典型类型:行、列、三角形、菱形等,如图5所示.机器人编队的描述是编队控制的基础,一般采用图结构来表示编队,而采用矩阵来进行描述.图中的节点表示机器人,节点间的连线表示机器人之间的关系。 定义1(机器人编号):用于区分机器人唯一性的编号,用R[sub]i[/sub]表示。 定义2(队形编号J:用于标识不同编队队形的编号,用F[sub]i[/sub]表示。 定义3(位置编号):用于区分编队队形中不同位置的编号,用P[sub]i[/sub]表示。
机器人R[sub]i[/sub]在确定当前的编队队形F[sub]i[/sub]后,根据自身及周围机器人的情况,得到在当前编队F[sub]i[/sub]中的位置P[sub]i[/sub],由此确定其Leader及相应的期望距离与角度参数,进行D-A或者D-D跟踪控制。 3.3 编队避障 遇到障碍物时,可能需要进行队形的调整,以保证编队顺利通过。这种调整可以分为两种情况:编队变形和编队变换。 (1)编队变形避障 当障碍物对于整个编队影响不大时,只需要将编队进行某种变形(如向某个方向压缩),而不需要完全改变编队队形,就能够保证编队顺利通过障碍区域。定义4(安全距离):能够保证在编队运动中机器人与机器人或者机器人与障碍物之间不发生碰撞的最小距离,用D 表示。编队变形的原则: ①机器人R[sub]j[/sub]在跟踪R[sub]i[/sub]时,当R[sub]j[/sub]与障碍物最近点O的距离小于安全距离D 时,R[sub]j[/sub]采用D-D控制算法跟踪R[sub]i[/sub]以及O,跟踪参数分别为到R[sub]i[/sub]的期望距离以及D 。 ②机器人R[sub]j[/sub]在跟踪R[sub]i[/sub]时,若某机器人

由于避障引起其到R[sub]j[/sub]的距离小于安全距离D,则R[sub]i[/sub]将采用D—D控制算法跟踪R[sub]i[/sub]和

,跟踪参数分别为R[sub]i[/sub]到的期望距离以及D 。 (2)编队变换避障 当障碍物对于整个编队影响较大,采用编队变形的方法无法顺利通过该障碍区域时(例如行编队通过两侧均有障碍物的狭长区域),需要通过改变编队队形的方法来实现避障。若编队中机器人(通常是编队领队)发现需要进行编队变换才能通过障碍区域,则机器人通过指令或者协商的方式确定是否改变编队以及改变为何种新的编队队形。 由于机器人协商确定编队的过程并非本文研究的重点,本文采用领队机器人直接发出指令的方法来实现编队变换以及新队形的确定。
4 实验及结果分析(Experiments and result analysis) 采用仿真和实际机器人编队实验结合的方式验证本文提出的编队控制方法.本文只给出了部分实验场景。 4.1 D-A编队控制 首先3个机器人保持行编队向前运动,其中R[sub]1[/sub]是整个编队的Leader,R[sub]2[/sub]按照距离80cm、角度1.5π跟踪,R[sub]3[/sub]则按照距离80cm,角度1.5π跟踪R[sub]2[/sub]。一段时间以后,编队开始改变为列编队形式,此时R[sub]1[/sub]仍然保持原速度不变,R[sub]2[/sub]改变为按照距离80cm,角度π跟踪R[sub]1[/sub],R[sub]3[/sub]相应按照距离80cm,角度π跟踪R[sub]2[/sub]。本实验中的编队控制均采用本文提出的D-A控制算法。 图6所示为本实验过程中的3个场景,其中(A)为保持行编队运行,(C)为改变为列编队运行,(B)为编队变换过程中的某个时刻.从图(B)中可以看出,采用本文的D-A控制算法,即使在编队变换的过程中,R[sub]3[/sub]也能很好地对R[sub]2[/sub]进行跟踪,3个机器人仍然保持一条直线,整个过程的完成非常平滑。需要注意的是,如果直接采用文[3]的控制方法,如图6(B)所示,在编队变换的过程中,R[sub]3[/sub]将会首先运动到R[sub]2[/sub]当前运动方向后面的P点,直到R[sub]2[/sub]完成编队变换后, R[sub]3[/sub]才改变目标点,实现编队变换。这样,不但延长了编队变换时间,还会造成编队队形的振荡。
4.2 编队变形避障 本实验用于验证多机器人编队采用编队变形的方法通过障碍区域.采用6个机器人组成三角形编队,通过编队运行方向一侧具有障碍物的区域。由于实验室机器人平台数目有限,因此采用仿真实验进行验证。
图7所示为仿真过程中的几个关键场景。其中障碍物在左侧,6个机器人组成三角形编队向前移动,机器人之间的箭头代表编队中各个机器人的跟踪控制关系。若机器人只有一个向外的箭头,则该机器人采用D-A控制算法;若有两个向外的箭头,则采用D-D控制算法。 (1)图7(A)为无障碍物时机器人组成标准的三角形编队运动,机器人均采用D-A控制。 (2)当R[sub]2[/sub]与障碍物最近距离小于安全距离(50cm)时,其控制算法变为跟踪R[sub]1[/sub]和该最近障碍点O的D-D控制,期望距离分别为80cm和50cm,如图7(B)所示. (3)当R[sub]4[/sub] 到O[sub]2[/sub]的距离小于50cm时,改变为跟踪R[sub]3[/sub]和点O[sub]2[/sub]的D-D控制,期望距离分别为80cm和50cm。同时,由于风到R 的距离小于50cm,当R[sub]5[/sub]也相应改变为跟踪当R[sub]4[/sub]和R当R[sub]3[/sub]的D-D控制,期望距离也分别为80mm和50em,如图7(C)所示。 (4)当机器人到障碍最近距离大于安全距离时,恢复D-A控制,如图7(D)、(E)、(F)所示。 4.3 编队变换避障 本实验验证多机器人编队采用队形变换的方法通过障碍物区域。如图8所示,实验采用3台NuBot机器人组成一个行编队,通过一个两侧均有障碍物的狭长区域。由于该区域较窄,因此编队需要自主调整为列编队,通过该障碍区域后,编队自行恢复初始行编队继续向前运动。

(1)初始时3个机器人组成行编队运动,R[sub]1[/sub]为R[sub]2[/sub]和R[sub]3[/sub] 的Leader,R[sub]2[/sub]和R[sub]3[/sub]均采用D-A控制,如图8(A)所示。 (2)当编队与障碍区域接近时,R[sub]1[/sub]向R[sub]2[/sub]和R[sub]3[/sub]发出编队变换指令,变为三角形编队。R[sub]2[/sub]和R[sub]3[/sub]仍然采用D-A控制跟踪R[sub]1[/sub],如图8(B)所示。 (3)完成三角形编队后,编队再次变换,成为列编队,此时R[sub]2[/sub]跟踪R[sub]1[/sub],R[sub]3[/sub] 跟踪R[sub]2[/sub],仍然采用D-A控制,如图8(C)、(D)所示。 (4)进入障碍区域后,机器人检测与障碍物的最近距离,若该距离小于安全距离(50cm),则改变控制算法为跟踪前面机器人以及该最近障碍点的D-D控制,跟踪距离分别为80cm和50cm;否则,仍采用D-A控制。如图8(E)、(F)所示。 (5)通过障碍区域后,依次恢复为三角形和行编队,此时R[sub]3[/sub] 和R[sub]2[/sub] 也相应恢复为采用D-A控制跟踪R[sub]1[/sub] ,如图8(G)、(H)、(I)所示。
5 结论及进一步的工作(Conclusion and future work) 本文简单介绍了NuBot机器人的两个主要组成部分:全向视觉和全向运动系统,并给出了该机器人的运动学模型。基于该机器人平台,提出了D-A和D-D两种跟踪控制算法,实现了多个机器人的编队控制。本文还提出并实现了两种编队避障方法:编队变形和编队变换。 本文编队控制方法具有以下特点:(1)完全分布式控制;(2)无需全局定位;(3)机器人采用局部通信方式;(4)机器人朝向可单独控制;(5)编队可以有效实现避障。 仿真和实际机器人实验验证了本文编队控制方法的有效性。其中D-A控制方法能够保证编队的平滑变换,避免产生较大波动,同时具有较高的效率。编队变形方法能够在尽量保持原始队形的情况下实现顺利避障。 对于编队队形的协商确定以及更复杂障碍物情况下的编队避障处理,本文尚未做深入研究,这将是进一步工作需要解决的问题。
参考文献 (References) [1] 任德华,卢桂章.对队形控制的思考[J].控制与决策,2005,20(6):601—606. [2] Lewis M A,Tan K H.High precision formation contml of mobile robots using virtual structures[J].Autonomous Robots,1997,4(4):387—403. [3] Das A K,FietTo R,Kumar V,et a1.A vision-based formation control framework[J].IEEE Transactions oil Robotics and Automation,2002,18(5):813—825. [4] 韩学东,洪炳熔,盂伟.多机器人任意队形分布式控制研究[J].机器人.2003,25(1):66—72. [5] Fredslund J,Mataric M J.A general algorithm for robot formations using local sensing and minimal communication[J].)EEE Transac— tions on Robotics and Automation,2002,18(5):837—845. [6] Fax J A,Murray R.Information flow aild cooperative control of vehicle formations[J].IEEE Transactions on Automatic Control,2004, 49(9):1465~1476. [7] 沈捷,费树岷,刘怀.多移动机器人组成任意队形的控制研究[J].机器人,2004,26(4):295—300, [8] Balcb T,Arkin R C.Behavior based formation control for multibot teams[J].IEEE Transactions on Robotics and Automation, 1999,14(6):926—939.
作者简介: 柳林(1977一),男,博士生.研究领域:多机器人系统,智能机器人及机器人足球.郑志强(1965-),男,教授,博士生导师.研究领域:多机器人系统,智能机器人,机器人足球以及精确制导与控制.