袁明新 黄 艇 曹荣祥 张人杰 申 燚
1(江苏科技大学机械工程学院 江苏 镇江 212003) 2(江苏自动化研究所机器人事业部 江苏 连云港 222002) 3(张家港江苏科技大学产业技术研究院智能装备研究所 江苏 张家港 215600)
队形控制有助于多机器人获取完备的环境信息,提高工作效率和系统鲁棒性,在搜索、跟踪和巡视等军事和生产领域具有广阔的应用前景,而设计高效和高鲁棒性多机器人编队策略是多机器人协同的关键[1]。目前队形控制方法主要有leader-follower策略、行为法和虚拟结构法等。Dong等[2]提出了基于一致性的二阶系统时变队形控制,在跟随领航者时,跟随者可以根据预定义时变形式切换自己状态,从而实现无人机的圆形编队控制,但一旦领航者因扰动出现问题,队形就难以形成。乔勇军等[3]在已有跟随领航者算法基础上,通过引入虚拟领航者思想,并利用人工势场法进行避障,从而实现计算机兵力生成的队形控制,解决了在真实领航者发生故障时队形控制失败的问题,但其只研究了一个虚拟领航者下的队形控制,当虚拟领航者数目增多时,队形控制效果还需进一步测试和验证。Ramazani等[4]利用刚性图理论研究了单积分和双积分模型,实现了多机器人的分层控制,但该方法要求机器人有固定的起始位置,方法柔韧性不高、实用性不大。Nikou等[5]提出了基于距离和方向的队形控制,机器人仅通过其邻居的本地信息来计算自己控制信号,但该方法要求拓扑结构具有极高的稳定性。杨秀霞等[6]为提高领航者算法编队控制的效率,利用粒子群算法对算法的队形参数进行优化,但粒子群算法容易陷入局部最优,如何保证编队最大效率也有待进一步检验。从目前已有队形控制成果可以看出,相关方法在一定条件下虽然都能实现队形控制,但在全局控制精度和效率,尤其扰动下的控制柔韧性和纠正能力等方面存在不足。为此,本文利用人工免疫系统的自组织、自学习等优点,基于Jerne的独特型免疫网络假设构建了多机器人队形控制人工免疫协作网络模型,同时借鉴白介素免疫调节机理,通过白介素调节因子定义来实现扰动下机器人轨道偏离时的纠正,数值和仿真平台测试结果都验证了本文算法的有效性和优越性。
生物免疫系统是一种高度进化的信息处理系统,具有平行、自组织和学习等优点,作为免疫理论之一的Jerne独特型免疫网络假设[7-8]认为,当外界抗原侵入生物体并打破系统平衡时,生物体内抗体和淋巴细胞会通过刺激和抑制克服抗原,从而维持系统平衡。基于该假设,文献[9]提出了计算抗体激励水平和浓度的免疫网络动力学模型,其表达式为:
ai(t-1)
(1)
式中:Ai(t)为t时刻抗体i的激励水平;N为抗体数;右边括号中第一项为抗体i和抗体j之间的引力,mij为两者的刺激系数;第二项是抗体i和抗体l相互间的抑制,mli是两个抗体相互间的抑制系数;第三项gi为抗原对抗体i的刺激;第四项ki模拟抗体i的自然消亡;α和β分别为抗体i对其他抗体和抗原的作用系数;ai(t)、aj(t)和al(t)分别为t时刻抗体i、j和l的浓度。
(2)
Farmer模型的柔韧性和鲁棒性为解决多机器人的协作提供了新思路,并在任务分配[10]、路径规划[11]中得到了成功应用,显示出强大的自组织、自学习和全局优化优势。为了提高多机器人队形控制精度和效率,尤其干扰下队形控制的纠正能力,本文将机器人期望队形重心作为抗原,机器人速度作为抗体,借鉴Farmer的免疫网络动力学模型构建了多机器人队形控制免疫网络协作模型。机器人会根据自己与期望队形重心的相对位置来选择最优抗体(速度)向目标点移动,进而形成期望队形。生物免疫系统和多机器人队形控制对应关系如表1所示。
表1 生物免疫系统和多机器人队形控制的对应关系
多机器人系统在队形形成过程中,往往会因为外界干扰造成机器人自身与目标点间较大的偏角误差,该误差直接影响了机器人的队形形成,一直是机器人队形控制中的难点。为了解决该问题,本文借鉴了生物免疫系统中白介素免疫调节机理。白介素[12]是指在白细胞或免疫细胞间发生相互作用的淋巴因子。临床医学表明,白介素可直接刺激造血干细胞和巨核祖细胞的增殖,诱导巨核细胞的成熟分化,提高患者自身的免疫力,增强患者的抗病毒能力。为此,本文将机器人位置与理想位置间连线和x轴的夹角定义为白介素,并作为队形控制免疫协作网络的调节因子。当机器人与目标点的偏角过大时,通过增加白介素分泌量来提高机器人受到的激励值,从而促使机器人选择最优抗体(速度)来自适应移动,进而快速完成对队形的自纠正控制。
定义1在队形控制免疫协作网络中,抗原为期望队形重心,抗体为机器人速度。为了避免因领航者故障而导致队形无法形成,将机器人自身坐标与期望队形重心间的距离作为机器人速度调节主要因素,因此免疫协作网络中的抗原抗体亲和度定义如下:
gi=di
(3)
式中:di是机器人i与期望队形重心间的距离。
定义2在免疫协作网络中,为了克服外界干扰造成的机器人与目标间较大的偏角误差,将机器人i实时位置和理想位置连线与x轴的夹角作为白介素。为了使机器人i能在外界干扰下快速返回轨道,需要根据偏角误差大小进行白介素相应多少的注射,为此本文将机器人i的白介素注射量ci定义为夹角的自然指数形式,并通过权系数进行调节,具体定义如下:
ci=m·expRi
(4)
式中:Ri为机器人i实时位置和理想位置连线与x轴的夹角;m是权重系数。
定义3免疫协作网络中抗体间的刺激和抑制会影响系统中多机器人之间的碰撞。当机器人之间距离变小时,机器人需减小速度以减少碰撞带来的损害,因此机器人i和j的抗体(速度)间亲和度定义为机器人速度及其相互间距离,具体定义如下:
sij=vi·Dij
(5)
式中:sij表示机器人i和j的速度抗体间亲和度;vi为机器人i的速度;Dij为机器人i和j之间的距离。
定义4基于Farmer的免疫网络动力学模型,结合白介素免疫调节,抗体激励水平和浓度计算如下:
ai(t-1)
(6)
(7)
式中:Ai(t)为t时刻抗体i的激励水平;ai(t)为t时刻抗体i的浓度。可以看出,与基本免疫网络算法相比,白介素调节因子的增加有效实现了抗体激励水平和浓度的免疫调节。当机器人i偏离预定轨道时,机器人i轨迹与预定轨道的角度变大,白介素注射量将逐步增加,机器人所受到的激励也不断增加,从而有助于机器人以较快的速度纠正轨道。
Step1初始化机器人i的激励水平Ai(0)和抗体浓度ai(0),并启动多机器人系统。
Step2计算机器人i实时位置和理想位置的距离Di,以及机器人i实时位置和理想位置连线与x轴的夹角Ri。
Step3计算抗原抗体亲和度gi、抗体间的亲和度系数sij,以及白介素调节因子ci。
Step4利用抗体激励水平和浓度的免疫网络动态方程计算机器人i的抗体激励值Ai(t),并与设定的激励阈值进行比较从而选择最优速度。
Step5更新机器人的位置坐标等信息,重新计算抗原抗体亲和度gi、抗体间的亲和度系数si和白介素调节因子ci。重复Step 2至Step 4,直至机器人形成期望队形。
从以上算法流程可以看出,不同于免疫遗传、免疫克隆等优化算法,本文免疫网络算法不需要通过循环迭代来决定机器人的每一步最优行为,而是通过抗原(期望队形重心)对抗体(机器人速度)以及抗体(机器人速度)之间的相互作用来决定机器人的最优行为,计算量小,实时性好。
为了验证本文白介素调节下多机器人队形控制免疫网络算法的有效性,利用MATLAB 7.0,在CPU 1.60 GHz、内存为4 GB的计算机上进行了多机器人队形控制测试,并将测试结果与基本领航者算法[13]、遗传优化的领航者算法[14]、基本免疫网络算法的测试结果进行了比较。鉴于目前在多机器人队形控制研究领域尚无标准测试数据集,本文自定义了图1中随机的4种初始测试环境,且机器人数分别为3、4、5和6,最终所形成期望队形都为三角形。
(a) 3个机器人 (b) 4个机器人
(c) 5个机器人 (d) 6个机器人图1 四种初始测试环境
表2是四种队形控制算法的性能比较。可以看出,由于遗传算法的全局优化能力,相对于基本领航者算法,经其优化的领航者算法在时间和位移方面的性能表现要优于基本领航者算法,时间和位移分别减少了35%和32%。但在接近目标位置时,由于机器人为了提高队形控制效率而选择了较快速度,因此其平均偏差角度增大。相比起遗传优化领航者算法,基本免疫网络算法由于其全局优化和自组织等优势性能,使得其平均的时间、位移和偏差角度等性能有了明显提高。平均时间和位移分别减少了47%和28%,且平均偏差角度为0。基于白介素调节的多机器人队形控制免疫网络算法比基本免疫网络的性能又有了进一步提升,使得其平均时间和位移分别减少了48%和41%,且其平均偏差角度为0保持不变。与3种队形控制算法综合相比,本文算法的平均时间和位移分别平均减少73%和60%。上述测试结果充分表明,利用免疫网络能够完成多机器人的队形控制,同时,白介素调节下免疫网络控制算法的执行效率得到了进一步提高。
表2 四种算法的队形控制性能比较
续表2
图2为6个机器人环境的队形控制结果比较。由图2(a)可以看出,6个机器人在领航者算法的控制下,形成了规定的三角形队形,但在机器人移动前期,路径有少许波动,尤其是⑤号机器人,并没有与①号机器人保持一条直线,6个机器人走过的路径也较长。由图2(b)可以看出,基于遗传算法实现了领航者算法中的比例系数优化,使得领航者算法的队形控制效率明显提高,机器人走过的路径变短,但机器人移动前期的波动仍未消除。图2(c)给出了基于免疫网络算法的队形控制结果,相比起两种领航者算法,基于免疫网络算法机器人在移动前期的路径基本没有波动,机器人走过的路径也较短,显示出队形免疫网络控制过程中的柔韧性。图2(d)为本文白介素调节的免疫网络控制效果,通过对比可以明显看出,在白介素调节下,免疫网络协作使得机器人能进一步快速形成队形,且机器人走过的路径也被进一步缩短。
(a) 基本领航者算法 (b) 遗传优化领航者算法
(c) 免疫网络算法 (d) 白介素调节免疫网络算法图2 6个机器人环境队形控制结果比较
图3为本文算法在6个机器人环境中的抗体激励值变化情况,其中χ为循环代数。机器人根据抗体激励值,选择相应的速度。本文将机器人速度设为3档,即0.4 m/s、0.5 m/s和0.7 m/s。激励低阈值设为0.9,高阈值设为1.9。根据免疫网络控制原理,当抗体激励值大于高阈值时,机器人会进行高速移动;当抗体激励值小于高阈值而大于低阈值时,机器人会选择中速移动;当抗体激励值小于低阈值时,机器人会选择低速移动。由图3可以看出,在开始阶段,机器人因距期望队形重心较远,抗体激励值较大从而使机器人进行高速移动;运动一段时间后,机器人因慢慢接近期望队形重心,同时机器人间距离也逐渐变小,因此选择中速移动;最后当机器人逼近期望队形重心时,选择低速运行,以较平稳速度完成队形控制,并保持队形。
图3 本文算法在6个机器人环境中的抗体激励值
为了进一步测试白介素调节的多机器人队形免疫网络控制算法效果,再次利用北京大学水中机器人大赛2D仿真中的花样游泳赛事平台[15]进行了4种环境的实验测试,并将测试结果与另外3种相同算法的控制结果进行了比较。四种水中机器鱼仿真测试环境如图4所示,每个环境都采用了6条机器鱼作为控制对象,但是初始坐标和位姿都不一样,另外环境中左上角4条鱼被设置为干扰项。
图4 4种水中机器鱼仿真测试环境
表3给出了4种环境中4种算法的队形控制性能比较。可以看出,基于遗传优化的领航者算法相比起基本领航者算法在时间、平均位移方面能表现出更优性能,这主要还是得益于遗传算法的优化能力,但平均偏差角度指标仍然由于机器鱼在接近目标时选择了较快速度,使得其比基本领航者算法效果差。而基本免疫网络算法和白介素调节免疫网络算法在上述三个性能指标方面都要明显优于两种领航者算法,且本文算法的控制效果同样明显最优,这也进一步验证了人工免疫网络自组织和全局优化能力,同时白介素免疫调节明显提高了机器鱼队形形成效率和精度。
表3 四种环境的队形控制性能比较
图5给出了环境一中4种队形控制算法的机器鱼运动轨迹比较。可以看出,基本领航者算法与遗传优化领航者算法的运动轨迹相似,在队形控制的初始阶段,机器鱼游了一段弯路,导致机器鱼的位移增加。而免疫网络算法和白介素免疫网络算法队形控制的轨迹相对比较顺滑,体现了免疫网络控制的柔韧性,缩短了机器鱼的位移,提高了队形控制效率,且在白介素免疫调节下机器鱼形成规定队形的时间明显最短,从而验证了白介素调节免疫网络算法的有效性和优越性。
图5 环境一中4种队形控制算法的机器鱼轨迹比较
为了进一步改善多机器人系统在队形控制方面的性能,借鉴Jerne的独特性免疫网络假设以及白介素免疫调节机理,提出基于白介素调节的多机器人队形免疫网络控制算法。通过理论分析,数值和仿真平台测试可以得出如下结论:
(1) 通过构建多机器人队形控制的人工免疫协作网络,能充分发挥免疫网络的自组织和全局优化性能,便于机器人根据相互之间位置和位姿进行通信从而提高队形控制效率和精度。
(2) 借鉴Farmer的免疫网络动力学模型,同时将人工免疫网络中抗体(速度)进行低、中和高分层设置,有助于抗体激励值的快速而最优选择,同时也减少了机器人队形控制中的能量消耗。
(3) 为了解决机器人队形形成过程中可能因外界扰动因素而造成的预定轨道偏离问题,本文借鉴白介素免疫调节机理,将机器人偏角误差定义为白介素调节因子,并将其作为免疫网络动力学模型中调节项,从而实现了机器人队形控制过程中的轨道有效纠正。
无论是数值还是仿真平台测试都验证了本文提出的白介素调节下多机器人队形免疫网络控制算法的有效性和优越性,这有助于提高多机器人系统的协作效率和任务完成质量,具有较好的应用价值。