基于激光测距仪的移动机器人避障新方法
基于激光测距仪的移动机器人避障新方法
作者:徐玉华;张崇巍;徐海琴
避障是自主移动机器人必须具备的一项基本功能,国内外学者对此做了大量的研究.激光测距仪(LRF)具有扫描精度高的优点.本文采用二维激光测距仪获取环境信息,针对VFH方法的阈值敏感性问题,提出一种基于自适应阈值求可行方向的移动机器人避障新方法,并通过实验验证了算法的有效性.本文的研究基于以下前提:
(1)环境中的障碍物是静止的或慢速运动的物体.
(2)障碍物的高度大于激光传感器的扫描高度,即障碍物能被传感器扫描到.
(3)机器人能获得自身的位姿信息.
1.VFH算法的问题(TheproblemofVFH)
VFH算法建立以移动机器人为中心的极坐标系,将障碍物对机器人的影响量化为各个角度上的极线障碍强度值(polarobstacledensity,POD),在POD低于某个确定的阈值的角度范围内选择移动方向.它的不足是对阈值敏感.阈值过小时,一些可行通道(potentialcandidatevalley)将被忽略,导致机器人不能穿过狭窄的通道,并陷入局部的“死区”.阈值过大时,机器人可能发现不了前方的障碍物,从而导致碰撞(尤其在以较大速度运行时).
2.避障算法(Obstacleavoidancealgorithm)
本文提出一种基于自适应阈值求可行方向的移动机器人避障新方法.与人工势场法的障碍物产生斥力、目标产生引力不同,本文方法的主要思想是利用激光测距仪获得的局部环境信息为机器人找出安全的可行通道,并为之确定一个合适的参考行驶方向.
2.1求可行方向
本文采用最大扫描范围设为8m,角度分辨率设为0.5。,扫描180。可获得361个距离数据点.对某个给定的阈值R(单位为m),由算法1为机器人求得可行方向.
算法1:求可行方向
Step1:将180°的激光扫描区域按每2.5。一个区间分成72个区间,并沿着逆时针方向由小到大对它们进行编号,第i个区间用Zi表示,i=1,2,xxx,72.
Step2:找出每个区间Zi内的最小扫描距离值dm(i)in.
Step3:对每个dm(i)in,若dm(i)in≥R,则区间Zi称为候选区间.
Step4:合并相邻的候选区间构成准可行扇区.假设共获得NC个准可行扇区,某个准可行扇区由一个4维的向量Sj来描述,(为了便于区分,图中的每个区间画为10。).
Step5:对准可行扇区Sj,j=1,xxx,NC.
(1)弦长条件:Sj对应的弦长Lj满足Lj>LT,LT为预先确定的常数,LT=λLD,λL为放大系数,D为机器人的外接圆直径.本文中D为0.5m,λL取1.2.
(2)矩形条件:没有一个扫描点落在长为R、宽为D\的矩形区域内,这个矩形有一对边与准可行扇区Sj的角平分线方向平行,如图2所示.其中,D\=λDD,λD为放大系数,本文λD取1.2.判断一个点是否在某个矩形区域内的必要条件为
L1+L3=W
L2+L4=H
其中,H为矩形的宽度,W为矩形的长度,Li(i=1,2,3,4)为点到矩形4条边的距离.若Sj同时满足弦长条件和矩形条件,则称它为可行扇区.可行扇区的角平分线方向称为可行方向.落在矩形内的一个点Fig.3Apointlocatedinarectangle
说明1:对某个给定的阈值R,有可能求得多个可行方向.
说明2:Step5中的矩形条件保证了机器人沿着获得的可行方向行驶是安全的.
3.2角速度控制
3.1节讨论了在给定阈值R的前提下如何获得可行方向.机器人在存在障碍的走廊环境中R取4个不同的值时求取可行方向的结果,其中的小圆圈代表激光扫描数据点.当R=1m时,获得了一个90。的可行方向;R=2m时,获得了一个大于90。的可行方向;而当R等于3m和4m时,虽然获得了准可行扇区,但由于不满足算法1中的矩形条件,因此没有获得可行方向.再对当R=1m和R=2m时获得的可行方向进行比较,虽然两者都获得了可行方向,但可行方向要优,因为R=2m时能够比R=1m时更早发现前方的障碍或者能够更早发现前方的可行通道.
由此得出阈值的选取原则,即在能产生与目标方向接近的可行方向的阈值中,阈值R越大越好.在此原则下,以下给出利用自适应阈值求参考行驶方向的算法.
算法2:求参考行驶方向
Step1:令Rmax=(NR.1)△R,Ri={(R0+io
△R)-i=0,1,xxx,NR.1},NR为常数,△R为固定增
R0=λDS
DS=.
其中,λ为放大系数;DS为移动机器人从最大速率行驶状态开始减速到静止状态所移动的距离;a为减加速度,本文中,vmax=0.8m/s,a=.1m/s2;由于室内移动机器人速度相对较低,令NR=41,△R=0.1m,R0取1m,这样就有Rmax=4m.
Step2:对所有的Ri,用算法1求可行方向,i=0,1,...,NR.1.
Step3:假设Step2获得了N个可行方向{(θi,Ri,Li)-i=1,...,N}
其中,θi为第i个可行方向与机器人坐标系x轴的夹角,Ri为求第i个可行方向时所对应的阈值,Li为第i个可行方向对应扇区的弦长.在接近目标方向,即满足式(7)的所有的可行方向中,找出最大的阈值Rs所对应的可行方向θsteer,以此方向为机器人参考行驶方向.
-θi.θtarget-≤δ
θtarget为目标点相对于机器人的方向,δ为预先确定的常数,本文中δ取π/4.
Step4:角速度控制律为
ω=kωθe
其中,kω>0,θe=(θsteer.π/2),文中kω=0.8.
说明1:算法的复杂度为O(NR),NR为用来寻找可行方向的阈值的总个数,见算法2的Step1;
说明2:若Step3求得的Rs对应多个可行方向,取其中对应扇区的弦长最大的可行方向为参考行驶方向.
3.3线速度控制
机器人在运行过程中,在不发生碰撞的安全条件下,它的速度越接近最大速度vmax越好.但当机器人距离障碍物较近时(体现在所选阈值Rs较小),应适当减小行驶速度以免发生擦碰.另外,当机器人行驶方向与参考行驶方向之间的偏差较大时,即-θe-较大时,机器人也应减速.线速度控制律设计为
v=kvxv+vmax
kv=.(vmax.vmin)/xm
xv=w1-θe-+w2(R0/Rs.R0/Rmax)
其中,kv<0;vmax和vmin分别为预先设置的机器人最大运行速度和在避障过程中的最小运行速度;R0、Rmax、Rs以及θe的定义见3.2节中的算法2;xm为xv在-θe-取最大且Rs=R0时的值;-θe-理论最大值为π/2;w1和w2为权重因子(w1+w2=1.0),且有w1>w2,表征机器人当前行驶方向与参考行驶方向之间的偏差-θe-对线速度的影响大于阈值Rs的影响.本文中w1=0.65,w2=0.35,R0=1m,Rmax=4m.
4实验结果(Experimentalresults)
为了验证本文算法的性能,在轮式移动机器人ASR上做了多次实验,实验在室内走廊环境下进行.ASR的前两轮为差动驱动轮,后轮为万向支撑轮,携带车载计算机(Pentium-43.0G,256M内存),激光测距仪LMS200安装在机器人的前部,每隔400ms扫描一次环境.机器人的最大速度和在避障过程中的最小速度分别设为0.8m/s和0.2m/s.
本文采用IDC(iterativedualcorrespondence)算法对机器人进行定位,并同时采用DSM(densesensormethod)方法构建环境地图.机器人从走廊的一端出发,目标点在走廊的末端.途中有3个箱子作为障碍物.图中的圆圈代表机器人的位置,小十字表示激光传感器的位置,40帧激光扫描数据点构成环境的地图.机器人在2.5m远外(A处)就能发现障碍物,并做出避障动作.机器人在避障过程中运动轨迹平滑,以0.61m/s的平均速度安全地通过了障碍区.
阈值Rs的变化.机器人A处时,离障碍物较远,这时阈值Rs较大(对应A处),能提前发现障碍.随着离障碍物越来越近,Rs逐渐减小,防止机器人与障碍物发生碰撞.当机器人运行到B处时,由于刚通过第1个障碍,离第2个障碍还有较远距离(1.4m),Rs突然变大,然后随着离第2个障碍物越来越近,Rs又逐渐变小.当到D处时,机器人通过了全部障碍,Rs持续保持最大值4m,如D处所示.
算法的实时性对于运动着的移动机器人来说是一个重要的性能指标.表1记录了本文算法在机器人避障过程中10次连续计算所需的时间,避障算法所需时间平均为6.05ms,可见具有良好的实时性.
5结论(Conclusion)
本文基于激光测距仪提出一种移动机器人避障新方法.用于求可行方向的阈值是自适应变化的:在离前方的障碍物较远时,阈值选得较大,使机器人能较早地发现较远处的障碍或者可行通道,并对行驶方向做出调节,使机器人向可行通道驶去,以免进入局部“死区”.离前方的障碍物较近时,阈值选得较小,使机器人能够获得近处的障碍信息,以免“忽视”了身边的障碍.该方法能够有效解决VFH算法对阈值敏感的问题.求可行方向算法中的矩形条件从原理上保证了求得的可行方向是安全无碰的.本文算法在轮式移动机器人ASR上得到了成功的应用.
本文章转自爱学术(aixueshu.com),如有侵权,请联系删除