基于群集控制的多移动机器人运动控制研究

作者: 汪明慧 王秋杰

基于群集控制的多移动机器人运动控制研究0

摘要:多机器人运动控制主要包括编队、避障和向目标移动三个方面,文章研究基于群集控制的多机器人的避障和编队协调控制方法,针对复杂障碍物环境下群集控制的局部零势能点问题进行优化设计,并设计基于虚拟领航结构的编队协调控制Leader-follower的编队控制中因leader出现故障无法保持队形的问题。通过Matlab平台和ROS系统的Gazebo平台进行仿真实验验证了算法的有效性。

关键词: 多机器人系统;避障控制;编队控制;群集控制

中图分类号:TP399    文献标识码:A

文章编号:1009-3044(2023)35-0006-04

开放科学(资源服务)标识码(OSID) :<G:\飞翔打包文件一\电脑2023年第三十五期\2.00xs202335\Image\image9.jpeg>

0 引言

多移动机器人已广泛应用于工农业应用管理、空间和海洋探测、环境监测、救灾和国防。随着移动机器人在各领域的发展和应用,对多移动机器人的运动协调提出了更高的要求。在众多的运动协调算法中,一种新的协调方式——群集控制应运而生,群集控制用 “势场”统一实现趋向目标、避障和编队保持,对“势场”进行精确量化又使得群集运动成为一种可度量的运动协调模式,很多研究在不断优化群集控制理论[1-4]。Sakai等人[5]研究提出了一种不区分机器人和障碍物的群集控制算法。Gao等人[6]研究具有切换拓扑的多智能体系统的群集控制问题。Zhang[7]提出一个模型预测的群集控制方法,仅基于相邻测量值设计,建立保证收敛到刚性群的连通性条件。Chen[8]对传统的群集控制算法进行优化,以解决有界空间的跳跃边界引起的问题。Valbuena[9]提出了一种适用于多移动机器人的多功能控制律,控制器可以同时集成群集、编队控制和路径跟踪。Dong [10]从二阶系统的角度分析多智能体在群集运动过程中的稳定性问题。Chen 等人[11-12]则运用动态图理论研究群集控制模型的收敛性问题。Yazdani 等人[13]证明了群集控制在多机器人保持编队和路径跟踪上取得较好的控制效果,Hung [14] 研究有领航者的多智能体群集运动编队控制。

本文采用群集控制方法来实现多机器人的群集运动,将针对复杂障碍物环境下机器人运动存在的两个问题进行优化设计,增强多机器人群集系统的环境自适应能力。其一,当机器人运动环境障碍物密集度程度增加,有复杂凹型障碍物,群集控制会出现“势场陷阱”问题。其二,采用Leader-follower编队方式的多机器人可以通过群集控制进行编队并保持队形向目标前进,但如果领航者机器人出现故障,后面以它为参考点的跟随者机器人也将掉队,编队无法继续保持。本文将提出群集控制的优化模型解决这两个问题。

1 多机器人群集控制模型

群集控制是假设在各个机器人的周围存在一个分布三个区域的势场,这三个区域分别为排斥区域[Rr]、一致区域[Rm]和吸引区域[Ra],且各个机器人的区域范围一致。当机器人A处于机器人B的排斥区域[Rr]时,机器人A将会受到来自机器人B的斥力,由于各机器人划分的区域一致,所以机器人受到的力将是相互的,即机器人B也会受到来自机器人A的斥力;同理,若机器人处于吸引区域[Ra]则会相互受到引力;而处于一致区域[Rm]则彼此不受到力的影响。每个机器人的势场根据队形的位置确定,当期望队形发生改变,势场也会随之发生改变。该势场能有效地保证各机器人保持一个合适的距离,机器人形成的队形将会十分稳定。但是有时机器人可能会因为彼此牵扯而导致整体队伍无法前进。本文将通过引入虚拟领航者的方式解决,同时虚拟领航者还可以解决领航者出现状况导致跟随者们跟不上领航者的问题。本文设计的虚拟领航者同样存在势场,但它不会受到其他力的影响,只会受到目标位置的引力影响并对其他机器人产生力。

多机器人队伍有[N]个机器人成员,则用[P=(p1,p2,...,pi,...,pN)]和[V=(v1,v2,...,vi,...,vN)]分别表示[N]个机器人成员的位置向量和速度向量。其中,[vi]应满足如下约束条件:

[vi=vi,  vi≤VmaxVmaxvivi,  vi>Vmax] (1)

式(1)中,[vi]表示第[i]个机器人的速度的模,或者说步长;[Vmax]则表示机器人的最大速度。

当机器人[i]和机器人[j]之间的距离为[δij]时,两个机器人所受到的引力和斥力相等,则[δij]称为机器人[i]和机器人[j]之间的平衡距离。因此,当各机器人间的距离等于平衡距离时,它们彼此的相互作用力为零。

在没有外部环境干扰的情况下,多机器人队伍中,跟随者[i]只会受两种力的影响:一是来自虚拟领航者;二是来自其他跟随者。所受力的大小与跟随者[i]和其他跟随者或者虚拟领航者之间的距离和相对位置有关。根据群集控制的避碰与聚集原则,可建立关于[vi]的速度方程如下:

[vi=gipi-pL+j=1,j≠iNgijpi-pj,  i=1,...,N] (2)

则根据[vi=pi]可定义如下机器人i的运动方程:

[pi=gipi-pL+j=1,j≠iNgijpi-pj,  i=1,...,N] (3)

在式(3)中,[pi∈Rn],[pj∈Rn],[pL∈Rn]分别表示机器人[i],[j]及虚拟领航者的位置;函数[gi∙]为虚拟领航者与机器人[i]的关系函数,函数[gij∙]为机器人[i]机器人[j]的关系函数。

对于[gi∙]和[gij∙]的构造,其表达式如下:

[gipi-pL=-aipi-pLpi-pL1-δipi-pL] (4)

[gijpi-pj=-aipi-pjpi-pj1-δijpi-pj] (5)

在式(4)和式(5)中,[ai∈R+]表示速度参数,速度参数是一个用来调节人工势场函数所产生的力的大小的参数,会对队伍的大小产生影响。它能灵活地调节机器人[i]的势场函数的强度;[pi-pL]表示机器人[i]与虚拟领航者之间的实际距离;[δi∈R+]表示机器人[i]与虚拟领航者之间的平衡距离。当[pi-pL>δi]即[gipi-pL<0]时,虚拟领航者对机器人[i]的势场力表现为引力;相反,当[pi-pL<δi]即[gipi-pL>0]时,虚拟领航者对机器人[i]的势场力表现为斥力。函数[gij∙]与[gi∙]同理。

2 多机器人避障控制

在多机器人的群集运动过程中,由群集内聚性运动分析和聚合群集内成员行为的分析设计出群集控制律,可以使群集机器人实现基本的避碰避障。但对于复杂障碍物,还需要有针对性的避障策略才能解决。本文重点研究机器人在包含凹型障碍物的复杂环境运动时,机器人进入势场的“陷阱”的解决方案。

多机器人在有复杂障碍物的环境下进行运动是采用一种利用势场原理的虚拟物理力方式进行模拟,主要分为两个方面:一方面是集群内部个体间的相互作用;另一方面是附近环境对各个机器人的影响作用,即环境障碍对智能体个体产生的排斥作用和目标位置对个体产生的吸引作用。势场法是一种应用广泛的借助虚拟物理力的路径规划方法,将目标位置看成势能低点,将环境障碍势能高点,机器人在运动过程中,会受到目标位置产生的引力以及环境障碍产生的斥力。令引力和斥力的合力方向作为对象的前进方向,则可以实现机器人既向目标位置移动又远离障碍的避障效果。这些引力和斥力,是一种虚拟物理力。

智能体与目标位置之间的欧几里得距离决定了引力的大小。相对于传统势场,人工势场中目标位置的势能较低,引力势能的大小与智能体和目标位置的距离呈正相关。当距离越大时,智能体所受的引力作用越大,否则越小。[Pr=(xr, yr)]表示机器人的位置信息,[Po=(xo, yo)表示环境障碍的位置信息,Pg=(xg, yg)]表示目标点的位置信息。目标位置对机器人产生的引力场为[Uatt],障碍物对机器人产生的斥力场为[Urep]。引力势场函数表示为:

[UattP=0.5λ1Pr-Pg2] (6)

[式(6)中,λ1]为引力增益系数;[Pr-Pg]为智能体与目标位置的欧几里得距离。

对势场函数求负梯度,得引力[Fatt]:

[FattPr=-gradUattPr=-λ1Pr-Pg] (7)

环境障碍将会对智能体造成一个与相对位置成反比的斥力,即智能体所受到的排斥作用将随着距离的减小而增大,反之则越小。斥力势场函数定义为:

[UrepPr=0.5λ2(1Pr-Po-1ρ0)2,  Pr-Po<ρ00,  Pr-Po≥ρ0] (8)

式(8)中,[λ2]为斥力增益系数;[Pr-Po]为机器人与环境障碍的欧几里得距离;[ρ0]为环境障碍对机器人产生作用的影响半径。当机器人与环境障碍间的距离超出影响半径[ρ0]时,机器人不会受到来自环境障碍的斥力作用。

同理,对斥力势场函数求解负梯度斥力[Frep]的表达式为:

[FrepPr=-grad[UrepPr]=λ2Pr-Po2(1Pr-Po-1ρ0),  Pr-Po<ρ00,  Pr-Po≥ρ0] (9)

当机器人周围有n个障碍物时,机器人所受到的合力[Ftotal]的表达式为:

[Ftotal=FattPr+i=1nFrepiPr] (10)

合力[Ftotal]的方向即为机器人的运动方向,通常情况下能顺利躲避环境障碍抵达目标位置。

但势场法具有如下一些局限性:

1) 需要实时计算。使用人工势场法作为路径规划方法时,机器人需要根据自身与障碍物和目标点的距离来实时计算所受到的合力。

2) 局部极小值。由式(10)可得,机器人的前进方位与所受合力方向有关。假如机器人受到的斥力合力与引力共线且方向相反时,机器人可能会出现停滞或振荡的情况。

3) 无法抵达目标位置。由式(7)可得,当智能体与目标位置之间的相对位置越近,目标位置造成的吸引作用力越小;而式(9)则表明当智能体与环境障碍之间的相对位置越近,环境障碍造成的排斥作用力将越大。假如在目标位置旁边有障碍且在障碍影响范围内时,机器人所受到的排斥作用可能将大于吸引作用,造成机器人因振荡或停滞而难以抵达目标位置。

这些场景机器人都易发生停滞或振荡现象,对人工势场来说是一个势能极小点,一般对此称机器人落入了“势场陷阱”。解决方法可以通过打破引力和斥力在方向和数值上的平衡。本文采用对斥力进行偏转的方法来使机器人逃离“势场陷阱”。

当机器人所受斥力[Frep]和引力[Fatt]的夹角形成一个较大的钝角或平角时,就存在陷入“势场陷阱”的可能,若将斥力[Frep]的方向偏转一个角度[θ],使[F]与[Fatt]之的夹角小于直角,则机器人可脱离“势场陷阱”。[θ]是[Frep]的偏转角度,[α]是目标位置到环境障碍与目标位置到机器人的连线夹角,[β]是环境障碍到机器人与目标位置到机器人的连线夹角,[l]是机器人到环境障碍的距离,[Frep]经过偏转得[F'rep],使合力由[F]变换为[F']。

偏转角[θ]的大小主要与角[β]和距离[l]有关,其表达式为:

[d=l∙sin(β)] (11)

[θ=θ0-μ∙d∙l] (12)

式(12)中,设常数[θ0]为90°,μ是偏转角调整系数,其值为[θ0ρ02]。当[d]不变,距离减小或距离不变,[d]减小时,偏转角度变大。

上一篇 点击页面呼出菜单 下一篇