改进角度势场算法在移动机器人避障中的应用

2012-07-09 02:31姚利敏李慧鹏
河北省科学院学报 2012年4期
关键词:势场移动机器人引力

赵 晴,姚利敏,高 蒙,李慧鹏

(1.石家庄铁道大学四方学院,河北 石家庄 051132;2.南车石家庄车辆有限公司,河北 石家庄 050000;3.石家庄铁道大学电气与电子工程分院,河北 石家庄 050043)

1 角度势场法的基本原理

李云翀考虑到移动机器人避障与导航的具体情况,提出了一种避障策略,应用了一种广义的势场类方法——角度势场法(Angle Potential Field,APF)[1]。

为保证车辆的安全移动,最重要的就是做好避障与导航算法。移动机器人首先必须要及时准确地发现障碍物,继而做出正确的行为策略,躲避、减速或停车。在完成上述行为以后,向事先设定的目的地行进。角度势场法与向量场直方图法类似,以机器人当前视场视线角度为论域,首先在该视场坐标系下,将雷达采集到的二维的障碍物信息转换为一维。之后,在定义域内,综合考虑目标点产生的引力效应,以及视场内的障碍物产生的阻力效应,得到在当前运动状态下的最佳行驶角度。可以注意到,这里评估的是论域内的阻力效应和引力效应,这也是角度势场法较人工势场法的一个进步,它讨论的是相应的与阻力及引力成一定关系的函数大小,是不含量纲的。

2 角度势场法的主要步骤

步骤一:计算障碍物产生的阻力,

步骤二:计算目标点产生的引力,

步骤三:计算通行函数,

步骤四:决策输出。

3 对引力函数的改进

在原角度势场法中在计算目标点产生的引力时,采用余弦函数来定义目标点在角度域上产生的引力:

使用余弦函数定义引力有以下优点:一方面,在角度值与目标方向之间的差值(|θ-θobj|)较大时,引力(Fg(θ))大小变化比较明显,因而可以引导移动机器人尽快朝向目标点方向;另一方面,在角度值与目标方向之间的差值(|θ-θobj|)比较小时,引力(Fg(θ))大小变化不明显,在总体行进方向正确的基础上,防止机器人因过度吸引,而影响到对障碍物的避让。

基于以上分析可知,目标点产生的引力有以下特点:目标点方向输出取得最大值,且角度值偏离此目标点方向越大,作用于此角度处的引力数值越小即可满足将移动机器人吸引至通向目标点的方向。从数学角度上讲,以角度偏离度为自变量,以引力为因变量建立引力与角度偏离度之间的函数关系。则,上述特点可以描述为当自变量越小时,函数值越大。

可以描述目标点产生引力的函数有很多,如李云翀当时设定的角度势场法在计算目标点产生的引力时,采用了余弦函数定义的目标点在角度域上产生的引力的大小,而在本文中,根据所要满足的条件,构造以下函数,即采用负正切函数定义目标点在角度域上产生的引力大小:

使用正切函数定义引力有以下优点:一方面,正切函数的定义域区分严格即(-π/2,π/2),令一方面在角度值与目标方向之间的差值(|θ-θobj|)比较大(即距离π/2较近)时,引力大小变化比较明显,可以引导移动机器人尽快朝向目标驾驶角方向;在角度值与目标方向之间的差值比较小时,引力大小变化不明显,在大方向正确的情况下,避免机器人被目标点过度吸引以致影响到对障碍物的躲避。

4 实验比较

实验一:小型汽车,利用两种避障方法,低速时,在不同行驶路段的比较。

根据《中华人民共和国行业标准城市道路设计规范CJJ37-90》第2.3.1条有关机动车设计车辆外轮廓尺寸的规范,以小型汽车为例,设定实验参数:w=0.9m,l=2.7m,L=3.7m,vmax=5.0m/s,a=-2m/s2,ks=1.5,kv=0.5,φmin=-40°,φmax=40°。图1~图4为部分仿真结果。

通过仿真可知,当将避障方法中加入聚类方法,并对引力函数修正以后,在宽阔空间,狭窄空间,障碍物密集,障碍物稀疏时均可以得到较好的避障效果,实验图线,清晰的表明了,加入聚类,修正了引力函数之后,移动机器人行驶的安全性更高了,即距离障碍物更远,但行驶的平滑性不及单纯的角度势场法。但当处理弯道时,行驶路径相当不稳定。当起始点,目标点相同时,起始角度稍有不同,就会造成很大的偏差。当目标点在一定范围内时,行驶的初始阶段,离弯道过近,经过调整以后,效果比较理想。

图1 低速时,宽阔空间、稀疏障碍物仿真结果

图2 低速时,宽阔空间、密集障碍物仿真结果

图3 低速时,狭窄空间仿真结果

图4 低速时,弯道仿真结果

实验二:小型汽车,利用两种避障方法,高速时,在不同行驶路段的比较。

改变最大速度,对小型车进行测试w=0.9m,l=2.7m,L=3.7m,vmax=100.0m/s,a=-2m/s2,ks=1.5,kv=0.5,φmin=-40°,φmax=40°。

部分仿真结果如图5~图8。

通过仿真可知,虽然在行驶之初设定了较大的行驶速度,但依据最小输出的设定,并根据现有参数,行驶起来后最大的行驶速度为7.1m/s,当设定的最大速度高于此值时,取此值,低于其时,实际行驶起来后最大的行驶速度取设定的最大值。

图5 高速时,宽阔空间、稀疏障碍物仿真结果

图6 高速时,宽阔空间、密集障碍物仿真结果

图7 高速时,狭窄空间仿真结果

图8 高速时,弯道仿真结果

对于小型汽车,比较在高速与低速时的相同算法进行避障的过程,可以得出结论,最大速度对小型汽车的避障过程影响不大。

实验三:普通汽车,利用两种避障方法,高速时,在不同行驶路段的比较。

以普通汽车为例,设定实验参数:w=1.3m,l=6.5m,L=8m,vmax=100.0m/s,a=-2m/s2,ks=1.5,kv=0.5,φmin=-40°,φmax=40°。

部分仿真(图9~图12)结果如图:

图9 普通汽车,宽阔空间、稀疏障碍物仿真结果

图10 普通汽车,宽阔空间、密集障碍物仿真结果

图11 普通汽车,狭窄空间仿真结果

图12 普通汽车,弯道仿真结果

通过仿真可知,无论何种车型,只要减速时的加速度一定,无论设定了多高的行驶速度,其实际行驶起来的最大速度也是一定的,如此例中,设定的最高行驶速度为100m/s,与小型车高速设定时的最高行驶速度一致,但实际行驶起来的最高速度为7.1m/s,与小型车的实际最大速度一致。对于宽阔空间,稀疏障碍物中的情况一和狭窄空间,原角度势场法,出现了避障不能及时完成,紧急停车的状况。修改了阻力函数后,可以很好的处理此种情况。但对于弯道情况的处理,修正了阻力函数后,普通汽车需添加一引导点才能完成行驶。

5 实验结果分析

修正后的角度势场法,在处理宽阔空间,稀疏障碍物;宽阔空间、密集障碍;狭窄空间时有着很好的适用性,避障效果安全可靠。但在处理弯道时,要进行人工干预,至少要设定一个引导点,才可得到理想的效果。

[1]李云翀,何克忠.基于激光雷达的室外移动机器人避障与导航新方法[J].机器人,2006(03):p37-40

猜你喜欢
势场移动机器人引力
移动机器人自主动态避障方法
基于Frenet和改进人工势场的在轨规避路径自主规划
基于改进人工势场方法的多无人机编队避障算法
库车坳陷南斜坡古流体势场对陆相油气运聚的控制
基于Twincat的移动机器人制孔系统
引力
基于偶极势场的自主水下航行器回坞导引算法
感受引力
A dew drop
极坐标系下移动机器人的点镇定