吴晨光
(南京邮电大学自动化学院 南京市)
足球机器人系统是一个典型的多智能系统,机器人在比赛中能否规划出一条最优路径将足球安全快速地带到有效射门区域是比赛能否取胜的一个重要因素。所谓路径规划是使机器人按照莫一准则从起始位置搜索一条到终点位置的最优或近似最优的无碰撞路径。在路径规划中常用的方法有:人工势场法、栅格法、模糊方法、遗传算法、神经网络等。其中人工势场法因其计算简单便于数学描述,在机器人路径规划中得到了广泛的应用。
人工势场法的基本方法是建立一种虚拟力:足球或球门对特定的机器人存在一定的引力,而敌对机器人和本方机器人对其存在一定的斥力,根据空间势场能减小的方向进行路径规划。但传统的人工势场法是在静态环境中研究出来的,对于足球机器人比赛这类对抗性与实时性比较强的动态环境存在一定的缺陷。本文在传统人工势场法的基础上融合了相对速度与相对位置角度进行路径规划。
传统的人工势场法是由Khatib于1986年提出。势场函数的表示方法有多种,这里用一种简洁的方法表示。Uatt为目标位置对当前位置的引力势能,Fatt为目标位置与当前位置之间的引力,Urep为周围障碍物对当前位置的斥力势能,Frep为周围障碍物与当前位置之间的斥力。
当前位置的引力势能为:
相应的引力Fatt是引力势场函数的负梯度。
katt是引力场系数,X为机器人所在位置向量,Xh为机器人目标位置向量。
当前位置的斥力势能为:
当机器人不在目标点,相应的斥力为:
其中krep是斥力场正比例增益系数,d|X-Xo|,Xo为障碍物的位置向量,常数do表示障碍物影响的距离,当前位置与障碍物的距离大于这个值时机器人就不再受斥力的作用,其值由障碍物和目标点的具体情况而定。
机器人受到的合力为:
传统的人工势场考虑了所有障碍物对机器人的影响,在实际的比赛中有些障碍物是可以忽略的。比如,障碍物背离机器人移动或者在机器人运动方向后方,在这种情况下障碍物对机器人没有威胁。所以我们需要对传统的人工势场法进行改进。
现在将障碍物与机器人的相对位置引入人工势场,该方法能有效地排除一些对机器人策略影响很小的障碍物,降低了计算量。
为了忽略一些对机器人影响较小的障碍物,将障碍物的相对速度矢量引入人工势场中。如图1所示假设障碍物在机器人前进方向的左侧,在某时刻t0,机器人的速度为vr,障碍物的速度为vo,α,β,ε,δ都是以顺时针方向为正且有δ=α-β。由图可知当α<β时障碍物是往相对机器人的后方运动的此时可以不必考虑障碍物对机器人的影响。当α≥β时我们可以把vo分解成机器人速度vr以及相对于机器人的速度vor。当δ<ε时则障碍物的相对速度vor相对机器人是朝机器人的后方运动的,此时机器人没有必要进行避障行为。当δ≥ε时障碍物会出现在机器人运动路线上,所以机器人需要进行避障。
图1 障碍物在机器人左侧
图1 中考虑的是障碍物在机器人运动方向左侧的情况,当障碍物在右侧时α,β,ε,δ都是以逆时针方向为正,其它的都与在左侧时情况相同。
现在讨论障碍物在机器人威胁区域时的情况,当障碍物出现在机器人的威胁区域中时由于障碍物所处机器人的相对位置以及相对于机器人的速度,障碍物对机器人的威胁也是不一样的。由图2我们可以得出障碍物对机器人的威胁程度的大小随着Lor的减小而增加,随着θ2角度的增加而减小,随着vor的增加而增加。所以障碍物对机器人的斥力不仅跟它们的距离有关还跟vor,θ1与θ2有关。
所以相对于传统的斥力方程可以改为Frep1=fFrep。
其中f是一个关于vor,θ1与θ2的函数,f=f(vor,θ1,θ2)。
图2 机器人与障碍物之间角度关系
上面的方法虽然进行了改进但是可以看出当障碍物出现在目标点附近时,由于斥力随着距离的减小而增大,引力随着距离的减小而减小。有可能出现机器人到不了目标点的现象。所以对斥力的计算还需要引入机器人与目标点的位置。所以Frep2=fFrep1=kfFrep。其中k=g(d1,d2),其中d1为机器人到障碍物的距离,d2为机器人到目标点的距离。
在实际的比赛中知道本方带球队员离对方的球门越近对对方球门的威胁越大,进球的可能性也越大,所以本文中把对方球门中心点Xh作为机器人的目标点。在本文中假设机器人只要把球带入图3中X0,X1,X2,X3所围的有效射门区域则算一次机器人路径规划成功。
图3 建立全局坐标系
假设机器人的最大加速度为amax,最大速度为vmax则有:
为了验证改进人工势场法的有效性,本文在MATLAB下进行仿真实验,结果如图4~图6所示。
具体算法实现如下:
步骤1:建立势场模型,确定各参数的值。
步骤2:确定机器人,障碍物的初始值。
步骤3:确定在机器人的威胁区域内是否有障碍物,若没有转到第4步,若有转到第5步。
步骤4:机器人全速朝目标点奔进。
步骤5:使用改进的算法给机器人规划出一条路径,通过a与v(t)算出机器人朝目标点行进的速度。
步骤6:判断机器人是否到达有效区域,是则终止规划程序,否则转到第2步。
设定机器人初始速度矢量Vr=(8,-6)初始位置点坐标Xr=(40,50),障碍物初始速度矢量Vo=(11,1)初始位置点坐标Xo=(30,35),循环周期T=0.05 s。
图4 t=1.6 s时的仿真图
图5 仿真结束时的仿真图
设定机器人初始速度矢量Vr=(4,-4)初始位置点坐标Xr=(30 20),障碍物初始速度矢量Vo=(4,5)初始位置点坐标Xo=(33,18),循环周期T=0.05 s。因为障碍物远离机器人运动,所以机器人将不受斥力的影响。
图6 仿真结束时的仿真图
本文主要讨论了在机器人足球比赛中,进攻方如何带球避开拦截机器人最终把球带入有效区域,传统的人工势场法往往效果不是很好,本文提出了一种基于相对角度的人工势场法。仿真表明新的人工势场法在机器人足球中防碰撞效果非常有效。
[1]贾建强,陈卫东,席裕庚.全自主足球机器人系统关键技术综述[J].上海交通大学学报,2003,37(Sup):45.
[2]张琪,杨宜民.基于改进人工势场的足球机器人避障控制[J].机器人,2002,24(1):12-15.
[3]韩永,刘国栋.动态环境下基于人工势场的移动机器人运动规划[J].机器人,2006,28(1):45-49.
[4]张志涌,杨祖樱.MATLAB教程[M].北京:北京航空航天大学出版社,2006.
[5]段俊花,李孝安,董荣和.基于改进势场法的足球机器人路径规划系统[J].计算机仿真,2008,25(12):192-194.
[6]叶超群.多Agent 复杂系统分布仿真平台中的关键技术研究[D].长沙:国防科学技术大学,2006.
[7]贺晨龙.多智能体系统协调控制的理论与仿真研究[D].成都:西南交通大学,2009.
[8]程显毅,刘一松,晏立.面向智能体的知识工程[M].北京:科学出版社,2008.