APP下载

改进的足球机器人局部极小值的研究

2014-06-27莉,周

西安工程大学学报 2014年5期
关键词:极小值势场障碍物

张 莉,周 杰

(西安工程大学 电子信息学院,陕西 西安 710048)

0 引 言

路径规划是足球机器人系统[1]研究的热点问题之一,目前足球机器人路径规划中常用到的方法有人工势场法、栅格法和遗传算法.其中人工势场法因其结构简单,使用方便,便于数学描述,在足球机器人路径规划中受到了国内外学者越来越广泛的关注并取得了良好的效果[2-3].

人工势场法是由Khatib提出的一种虚拟力法[4],它的基本思想是将机器人在周围环境中的运动设计成一种抽象的人造力场中的运动,目标点对移动机器人产生“引力”,障碍物对移动机器人产生“斥力”,最后通过求合力来控制移动机器人的运动.人工势场法在路径规划中主要存在目标不可达,局部极小值和不适应动态环境等问题.而局部极小值和不适应动态环境问题成为研究的重点与热点问题.为此,研究人员对势场函数进行了大量的改进工作,张琪在文献[5]中通过引入障碍物速度建立了动态势场函数,姚进在文献[6]中采用位置矢量的方法对机器人路径进行规划.本文在解决目标不可达问题基础上通过改进算法重点解决路径规划中的局部极小值和算法不适应动态环境问题,并通过MATLAB仿真验证算法的有效性.

1 人工势场法下的机器人路径规划

1.1 人工势场法势场函数

人工势场法是在机器人的运动空间创造一个势场E,该势场由两部分组成:一个是引力势场Eatt,它随着机器人和目标点的距离增加而单调递增,方向指向目标点;另一个是斥力势场Erep,当机器人处在障碍物位置时有一极大值,并随着机器人到障碍物的距离的增大而单调递减,方向为远离障碍物的方向.整个势场Etotal是引力势场部分和斥力势场部分的叠加.机器人沿着合势场力方向运动,绕开障碍物,向目标点运动.

(1) 引力势场函数 目标点对机器人产生引力,且距离越远吸引作用越强,机器人距目标越远,所具有的势场能就越大,反之就越小.当距离为零时,机器人的势能为零,此时机器人到达目标点.这种特性与重力势能和弹性势能的特性相类.通常引力势场函数可以取为

Eatt(p)=(1/2)k(Pgoal-P)2.

(1)

其中P和Pgoal分别表示机器人和目标点的位置;k是可调参数.

(2) 斥力势场函数 为克服目标点附近有障碍物时机器人在接近障碍物的过程中受到的引力减小,斥力增加最终导致无法达到目标点的情况,在斥力势场中引入P-Pgoal乘子,以保障整个势场函数在机器人到达目标点时达到最小值,其中n是一个正常数,η为斥力系数.通常斥力势场可以取为

(2)

1.2 传统人工势场法在路径规划中的问题

(1) 局部极小值问题 当机器人运动到某一障碍物的影响范围内,如果机器人与目标的连线垂直于障碍物的一条边,此时机器人所受的斥力和引力在同一条直线上,机器人在合力作用下沿这条直线运动,这时机器人无法绕开障碍物,机器人停止或在机器人与目标的连线上振荡而无法到达目标点,即产生局部极小值.

(2) 不适应动态环境 传统的人工势场法仅仅定义为相对位置的函数,这对于障碍物和目标点固定的情况比较实用,但在目标点和障碍物都处于高速运动的动态环境中则不能有效跟踪目标和避开障碍物.

1.3 机器人避障过程中问题分析

传统人工势场法中存在障碍物附近目标不可达,局部极小值,以及不适应动态环境等问题.其中障碍物目标不可达问题通过改造斥力场函数得到了解决,而算法不适应动态环境的问题主要是由障碍物由静止变为运动引起,而静态路径规划是机器人动态路径规划的基础.此外,机器人动态路径规划中仍然存在局部极小值问题,因而机器人避障过程中问题暂时归结到一点:静态路径规划中的局部极小值问题.

2 机器人静态避障问题解决

对于多个障碍物作用下的局部极小值问题,可以看成是多个障碍物产生的合效果引起的单个局部极小值问题.假设机器人在靠近这一堆障碍物时,由于障碍物的位置唯一,实际上机器人总是和其中某个障碍物先作用,此时只要判断机器人和此障碍物的位置关系从而判断绕过障碍物的方向,就可以绕开此障碍物,由于机器人受力改变从而打破之前斥力不发生偏转时的受力平衡,这样就成功克服了此处的局部极小值情况.机器人绕开其他障碍物的方法与之类似.因此,可以得出(1)当障碍物位于机器人与目标的连线的左上方时,斥力逆时针偏转一个角度(可以取90°).(2)当障碍物位于机器人与目标的连线的右上方时,斥力顺时针偏转一个角度(可以取90°).(3)当障碍物位于机器人与目标的连线上方时,斥力可以顺时针偏转一个角度,也可以逆时针偏转一个角度,可以归到式(1)或(2)中.

3 机器人动态避障问题解决

3.1 速度势场的建立

(1) 速度引力场的建立 机器人在势场中所受吸引力如图1所示.假设在某t时刻,机器人的速度为Vr,目标足球的速度为Vg,将Vr分解为目标足球速度矢量Vg与相对目标物的速度矢量Vrg,方向由机器人指向目标足球,相对速度矢量Vrg=Vr-Vg.如图1所示,相对速度引力场为

Uattv=(1/2)Vattv(Vr-Vg)2.

(3)

相对速度引力场函数求负梯度后得到的相对速度引力

图1 机器人和目标足球速度分解图 图2 机器人在斥力场中的运动状态图

(4)

引入相对速度矢量后,引力作用的合力为

Fatt=Fattv+Fattp.

(5)

在引力场中,相对位置引力Fattp使得机器人沿着目标点的最短路径运动,大小与相对位置成正比,方向指向目标点,而相对速度引力Fattv使机器人的速度与目标的速度保持一致,规定其方向为目标点相对于机器人的运动方向.只有当相对位置与相对速度同时为零时,引力的合力才为零,这时机器人才到达目标位置,处于带球状态.

(2) 速度斥力势场的建立 传统的斥力场函数只定义为机器人与障碍物之间的距离函数,也就是相对斥力场函数.而在足球机器人系统中,障碍物处于不断运动中,仅考虑位置斥力不能完全反映环境信息,为此有必要引入速度斥力函数[5-6].

如图2所示,相对速度斥力场为

Urepv=(1/2)Krepv(Vobs-Vr)2.

(6)

同理,相对速度斥力场函数求负梯度得到相对速度斥力

Frepv=-▽Urepv=Krepv(Vobs-Vr).

(7)

斥力方向为垂直于机器人相对障碍物的相对速度矢量,且远离障碍物的方向.

图3 障碍物位于机器人与目标的连线上的运动图 图4 障碍物位于机器人与目标的线上时的受力图

图3是机器人、障碍物、目标处于特殊位置下的运动图,图4是此时的受力图.由图4可知,由相对速度产生的斥力与相对速度垂直,在此力的作用下,机器人的运动轨迹发生改变,机器人就可以摆脱此前的局部极小值.当障碍物位于机器人与目标的连线的上方,并向机器人运动时(见图5),此时的受力情况如图6所示.

图5 障碍物位于机器人与目标的连线左上方时运动图 图6 障碍物位于机器人与目标的连线左上方时的受力图

图5中障碍物以图示的方向拦截机器人,相对速度Vor产生的斥力如图6所示,此时必须根据机器人、障碍物、目标三者的位置确定此斥力的方向,斥力必须是如图6所示的方向才能合理地避开障碍物;倘若斥力方向取的是图示方向的反向,则无法合理避开障碍物,是不可取的.

当障碍物位于机器人与目标的连线的下方,并向机器人运动时,此时的运动与受力情况如图7,8所示.同理此时的相对速度产生的斥力方向,只能取图示方向,而不能为其反向.

图7 障碍物位于机器人与目标的连线右上方时运动图 图8 障碍物位于机器人与目标的连线右上方时的受力图

3.2 引力与斥力场的模型改进

足球机器人动态路径规划中障碍物和机器人都是运动的,且二者都有各自的运动方向,在构造势场函数时,引入速度项,建立速度矢量势场十分关键.

算法改进后相应的引力和斥力表达式为

Fatt=k(Pgoal-P)+Kattv(Vr-Vg)

(8)

(9)

Frep1=η/2(1-p-pobs-(1/d0))(p-pgoal)n/(p-pobs2).

(10)

Frep1=η/2(1-p-pobs-(1/d0))2(p-pgoal)n/(p-pgoaln-1).

(11)

由引力和斥力的表达式可知:引力场[7]在机器人运动过程中始终存在,在机器靠近目标的过程中引力场逐渐减小,引力也随之逐渐减小,直到机器人到达目标点时引力为零.克服目标点附近目标不可达问题后的斥力Frep产生两个效果,其中Frep1方向由障碍物指向机器人,Frep2的方向为由机器人指向目标点(上文静态避障问题中所涉及到的斥力偏转均指Frep1).

斥力场的作用范围是局部的,位置斥力场和速度斥力场在斥力影响范围内具有不同的作用范围,当机器人刚进入斥力的影响范围而离障碍物还不是很近时,速度斥力场发挥作用,速度斥力垂直于机器人相对于障碍物速度的方向,大小与相对速度大小成正比.当机器人距离障碍物较近时,位置斥力发挥作用.机器人与障碍物的相对位置越近,斥力越大,相对速度越大,斥力也最大.

4 算法仿真及对比分析

4.1 静态避障算法改进前后仿真及分析

图9 传统人工势场法局部极小值 图10 改进人工势场法克服局部极小值

图9反映的是单个和多个障碍物作用下的局部最小值的产生的两种情况,图10是通过上述总结的方法实现后的仿真图.这是障碍物位置比较特殊的情况,而一般位置障碍物的路径规划仿真情况如图11~13.

图11 障碍物一般位置 图12 不能正确判断方向 图13 能正确判断方向

图11是一般位置障碍物下的轨迹规划的仿真图;图12是一般位置障碍物下斥力在不能合理判断方向的情况下的偏转一定角度的仿真图;图13是一般位置障碍物下算法改进后斥力合理判断方向的情况下偏转一定角度后的仿真图.

表1 算法改进前后机器人避障和轨迹步长情况的比较

表1是算法改进前后机器人避障和轨迹步长情况的比较,由表1比较可知,图9中步长为200说明陷入局部极小值,图12说明斥力方向偏转的方法能够有效克服图9中两种情况下产生的局部极小值问题,并且能够绕开特殊位置障碍物.

图12轨迹共走了87步,明显比图10步数多,轨迹不是最优;图13轨迹共走了73步,比图10更少,路径规划相对最优.本文改进算法通过编程实现后不仅可以减小局部极小值产生的概率而且对障碍物处于一般位置时的路径规划有益无害,在一定程度上可以使人工势场法路径规划算法得到优化.

4.2 机器人动态障碍物避障算法仿真及分析

4.2.1 传统人工势场 传统人工势场改进算法有助于解决静态路径规划中存在的局部极小值问题,因此有必要检验一下此改进算法在动态路径规划中的效果,下面通过仿真图来说明:

图14中设置了3个障碍物的运动方向,机器人能够顺利绕开前两个拦截的障碍物,而在避开第3个障碍物时出现了问题,图15中也设置了3个障碍物的运动方向,不同的是,第2个障碍物的运动方向发生了变化,从而检验机器人在绕开障碍物的过程中能否正确判断方向,由图15可知,机器人能够顺利绕开前2个拦截的障碍物,而在避开第3个障碍物时同样出现了问题.而两幅图中问题出现的原因在于障碍物的运动方向比较特殊,当机器人靠近运动的障碍物时,斥力发生偏转后恰好与障碍物运动方向垂直,因而此时绕不开障碍物.

4.2.2 引进速度势场后 图16是在引入速度势场改进算法后对不同方向运动的障碍物的动态路径规划.

图14 静态避障改进算法用在动态避障中 图15 静态避障改进算法用在动态避障中 图16 引入速度势场后的动态避障

表2是人工势场静态改进算法与引入速度势场的动态路径规划算法的比较.由表2和图16可以看出引进速度势场后的算法不仅能克服动态环境下的局部极小值问题,而且可以合理避开不同方向的运动障碍物,相对于图14与图15更能适应动态环境,从而验证了算法改进后的有效性.

5 结束语

表2 人工势场静态改进算法与引入速度势场的动态路径规划算法的比较

针对人工势场法在机器人路径规划中存在的局部极小值问题提出了解决办法:当障碍物是静止时,可以采用机器人接近障碍物时斥力发生偏转的方法克服局部极小值并优化轨迹;当障碍物是运动时,可以采用引进速度势场产生速度斥力的方法克服局部极小值.仿真实验证明上述改进算法对解决机器人路径规划中存在的局部极小值问题是有效的,并且能够很好适应动态复杂环境下的路径规划.文中的参数是通过MATLAB实验反复测试得到的,接下来的工作是通过学习使上述参数设置更加合理.

参考文献:

[1] 陈万米,张冰,朱明,等.智能足球机器人系统[M].北京:北京大学出版社,2009:229-230.

[2] 殷路,殷怡欣.基于人工势场法动态路径规划仿真研究[J].系统仿真学报,2009,21(11):14-15.

[3] 李惠光,李旭峰,等.动态环境下基于人工势场法路径规划[J].国外电子测量技术,2008,27(5):27-29.

[4] KHATIB O.Real time obstacle avoidance for manipulation and mobile robots[J].Int J Robotics Res,1986,5(1):90-98.

[5] 张琪,杨宜民.基于改进人工势场的足球机器人避障控制[J].机器人,2006,28(1):45-49.

[6] 姚进,李洪,曹成才,等.基于矢量势场法的足球机器人路径规划[J].四川大学学报,2006,38(2):72-99.

[7] 林志雄,张莉.基于神经模糊势场法的足球机器人路径规划[J].计算机仿真,2014(1):416-420.

[8] 王佳,吴晓蓓,徐志良,等.避免人工势场中一类局部极小值的规划方法[J].计算机仿真,2007,24(1):151-154.

[9] MABROUK M H,MCINNES C R.Solving the potential field Local minimum problem using internal Agent state[J].Robotics and Autonomous Systems,2008,56(12):1050-1060.

猜你喜欢

极小值势场障碍物
基于Frenet和改进人工势场的在轨规避路径自主规划
融合前车轨迹预测的改进人工势场轨迹规划研究
一道抽象函数题的解法思考与改编*
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
构造可导解析函数常见类型例析*
赶飞机
人工势场法与A*算法结合的机械臂避障路径规划研究
极小值原理及应用
基于庞特里亚金极小值原理的多运载体有限时间编队控制