在动态环境中移动机器人导航和避碰的一种新方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在动态环境中移动机器人导航和避碰的一
种新方法
抽0,2(2/
嘉拳期8机器人ROBOTV01.22,No.2March,2000
文章编号:1002—0446(2000)020081—08
在动态环境中移动机器人导航和避碰的一种新方法

2?6
(:商系■,l
摘要:本文提出了基于超声传感器的信息,将改进的栅挤和回归预测法结合起来,应用于具有
静态和动态障碍物的动态环境中,移动机器人THMR—I的导航和避碰的一种新方法.对栅格法的改
进就是以障碍物为单位记录信息量,结果比原来以橱格为单位记录的信息量少得多,克服了栅格法中
存在环境信息存储量大的问题,提高了实时性.对回归预溯法也作了改进,并把它们结合起来,在求得
最佳候选扇区后,使移动机器人躲避了静态和动态障碍物,实理了导航,最终到达目标.通过三种仿真
实验,结果表明作者提出的方法是正确和有效的.
关键词:琶垫垫墨厶;垫查;塞墨塾;兰磐
中国分类号:TP24文献标识码A
1引言
1}I
实时导航和避碰是反映移动式机器人自主能力的关键问题之一,在具有静态和运动物体
的动态环境中实时导航和避碰是难度很大而又是急待解决的问题.困难在于既要
有充分的环
境信息并和环境形成闭环,又要求处理速度快.方能满足实耐性要求.经过国内外学者们的多
年来的研究.提出了许多方法,比较成功和有效的方法主要有势场法和橱格法(Grids).开始
由O.Khatib提出人工势场法,后来由c.W.Warren在1989年和1990年加以改进.提出一
种人工势场辅助全局路径规划法,以及它们的利弊详见文[1,2,3,11,12].
用栅格法表示格子环境模型中存在障碍物的可能性的方法起源于美国CIvlU大学"].J.
Borenstein虽用栅格(Grids)表示环境.但是,在更新CV值上舆CMU方法不同,VFF 在每一
次的超声传感器读值时.只需要很少的计算,只影响一个栅格的CV值,该栅格就是距离超声
头为d(读值)的栅格,它在传感器的轴上.用势场法决策出虚拟力场VFF去控制移动机器人
行驶.通过Ⅵ,F的实验研究,发现了势场法存在四方面问题:(1)陷阱区域;(2)在相近障碍物
之间不能发现路径(3)在障碍物前面震荡(4)在狭窄通道中摆.J.Borenstein提出了一种
VFH(矢量场矩形法),仍采用栅格表示环境,还采用了,两级数据减少技术和信息的三个
级别表示,由VFH算法的输出信息控制移动机器人的速度大小和方向,呈现出良好的性能.
但是该方法存在环境分辨率高与环境信息存储量大的矛盾,因此,在实用上受到一定限制.马
和袁在文献[83的基础上,设计出了一种基于栅格方法的移动机器人实时导航和避障的控制算
法,应用于清华大学计算机系研制的THMR_I型移动机器人.在文献[11,I2]中介绍
了,他们
进行的四方面工作.使THMR-Ⅱ型机器人能在未知静态环境下,实时检测出障碍物,并规划
出合理路径.在几种典型的环境中能稳定,平滑和连续驶向目标,完成避碰和导航任务.它使机
器人表现出良好的性能并在一定程度上克服了栅格法中存在的环境分辨率高与环境信息存储
收稿日期j1999—04—05
,
'
t1
.._.
■■~
机器人2000年3月
量大的矛盾,尽管如此,环境信息存储量还是比较大.在文献[13]中,研究了移动机器人在具有
运动物体的动态环境中的避碰和导航,首次应用回归模型对运动物体的运动趋势进行了预测.
最后给出了计算机仿真结果.
本文在文献D3]的基础上,在具有静态和运动物体的环境中(称此为动态环境)直接利用
THIVIR-Ⅱ型机器人上的超声传感器信息,基于改进的栅格法和回归预测算法相结合,栅格法
利用静态和运动物体的位置以及回归预测运动物体的位置,求出环境的障碍物密度,根据给定
的目标,找出候选扇区,控制移动机器人稳定,平滑和连续地驶向目标,实现避碰和导航任务.
2栅格法的改进
2.1栅格法的改进
目前相当一些传感器只能感知环境的局部信息,为了能够比较完全的感知环境,有必要存
储所得到的环境信息,即所谓环境表示.它的要点是设法建立一个精练表示取代难以处理的庞
大而又未经加工的输人数据.环境信息表示不仅要解决如何将环境信息存储到计算机中,而且
应该方便和正确地使用这些信息.
在文献[1l~13]中,把机器人工作空间表示成为二维方格阵(笛卡儿坐标的矩形)每个矩
形格有一个累积值CV(CertaintyV alue),表示在此方格中存在障碍物的可信度,利用传感器
测得存在障碍物的方格中有CV值,高的CV值表示在此方格中存在障碍物的可能性高,而在
没有测到障碍物的地方,CV值为零.根据传感器的读值和车体的位姿决定测到某一障碍,每
次只增加该障碍物的CV值.当移动机器人运动时,每个传感器连续不断地快速采样环境,不
断被测到障碍物的cV值就高,同时根据障碍物的位置转换到机器人工作空间的方格的障碍
物密度也较高了.在文献[12]中,只要测得某处栅格有障碍物,就记录下该点的位置,若许多次
测到该障碍物,就记录多少次,这将增加r环境信息存储量并会导致处理速度慢.作者注意到
对我们有用的栅格是有障碍物的栅格,很容易想到把所有环境信息用障碍物链表示,障碍物链
记录_r该障碍物的当前中心位置,当前测得所有点的位置,当前测得的点数,最近点的位置,该
障碍物的cV值和最多MAXpOLNT—NUM个历史中心点的位置.对于运动的障
碍物还需
要记录根据历史点预测的位置.对障碍物的信息只记录有限的信息,并不断用最新搜索到的信
息刷新以前的信息.这种以障碍物为单位记录的信息量比以栅格为单位的记录的信息量要少
得多.随着机器人的运动,新出现的栅格在不断增加,这样就可以根据障碍物的位置来确定工
作空间中有障碍物的栅格,从而求出候选扇区,而不记录没有障碍物的栅格.
2.2栅格算法
表示环境采用了,环境和车载(移动机器人)两种坐标系.环境空间坐标绝对地表示障碍物
的位置,环境空间用于实时建立机器人环境的地图,以便于在决策机器人移动方向时能全面考
虑环境,做出合理的决策.车载坐标系随机器人移动而移动.THMR一Ⅱ型移动机器人是一个外
形呈矩形的机器人,车载坐标系以机器人后边两个轮子轴的联线中心为原点.机器人正前方为
x轴正方向.车载空间用于采样当前环境和决策机器人的移动方向.在车载坐标系中被传感器
采样到的环境信息可以由公式被映象到环境坐标系中,还有栅格大小的选择等请见文献[12].
在文[12]中,活动窗口被认为在车载空间中,在移动机器人前面假想为一个长度mlnax为半径
的半圆形窗口.由于删R-Ⅱ型机器人按装的超声传感器只有15个,数量较少,它会导致在
车体运动前方信息量过少,不利于分离障碍物,作者将活动窗口改为RA[15]F-RA[1]角度
第22卷第2期袁曾任等:在动态环境中移动机器人导航和避碰的一种新方法83
范围内,如图1所示,窗口中心定义在车体后中心
通过公式(1)把车载空间的信息映象到活动
窗口中,
X=Xd十X,
y=(1)
其中(,y)表示窗口坐标系中栅格的坐
标;
(五,)表示车载坐标系中栅格的坐标;
表示窗口坐标系中心到车载空间坐标系
中心的距离.
在活动窗口中,分出角度为口=(RA[15]一
RA[1])/36的36个扇区,分别代表行驶方向,那图l环境的表示和活动窗口
么公式(2)把活动窗口中栅格映象到所在扇面中
.
—arctg(y/五)(2)
其中表示扇面序号.窗口栅格贡献的障碍权值为公式(3)
q=(,)((v)一](3)
其中c.表示窗口栅格,)的CV值,即表示此栅格存在障碍物的可信度;dr,Y表示窗口栅格,)到窗口中心的距离;A,B表示常数,应满足条件A--Bdmax=0,d一为所考虑的最
远窗口栅格到窗口中心的距离,即窗口的半径,
关于,B的选择以及计算扇面的障碍密度和栅格的不连续和不精确性而采用一个平滑
函数平滑障碍密度等请见文[11].障碍密度反应了在扇面中存在障碍物的密集和远近程度,
障碍物密度越大表明在此扇面中障碍物离车体近而且密度大,
把有一定宽度的几个连续的扇面而且每个扇面的障碍密度低于一个蠲值TH的区域称为
候选扇区,候选扇区为移动机器人行驶的安全区域,通常存在有几个候选扇区,在
这种情况下,
选取最利于到达目标的候选扇区作为行驶方向.在选取行驶方向时,须考虑候选扇区的宽度,
分宽和窄两种候选扇区,设定一个宽度一,大于它时,属于宽候选扇区,否则为窄候选扇区.
宽,窄候选扇区中的算法是不一样的,详见[11],选择正确的TH值也是一个关键问题.
2.3环境信息优化
随着传感器对环境不断采样,环境信息量会越来越大,这不仅会占用过多的存储容量,而
且障碍物链中由于仍保存一些不必要的障碍物,增加l『大量的运算,延长_『对环境信息的处理
时间,有可能造成不能及时躲避障碍物,不能实时处理,因此需要对环境信息进行优化,
对于在移机器人后面的信息的利用率是比较低的,所以这部分信息可以被删除.对算法的
影响不太大,另外还作r如下处理;
对于障碍物链中每一节点,取其中心位置,这是环境坐标下的位置,用它和机器人的位置
比较判断它是否在机器人窗口内,如果不在,那么从障碍物链中将其删除,这个障碍物链既指
窗口链,也指运动障碍物链,这样,需要处理障碍物链的节点将太大减少,有利于效率的提高,
另一方面的优化是指对障碍物信息记载的优化,我们采取对一个障碍物只循环保留最新
的MAXPOINTNUM个历史点的中心位置郎可,其余的冗余信息被丢失掉,
2000年3月
3回归预测算法及其改进
在环境中具有运动障碍物的环境,称为动态环境,作者采用回归预测方法对运动障碍物的
位置进行预测,为栅格法提供障碍物的预测位置,在求候选扇区时,就避免了选取当前没有障
碍物但以后几步将出现障碍物的候选扇区.为躲避运动障碍物提供了实现的可能,同时还要躲
避静态障碍物,最终使移动机器人驶向目标.关于回归预测的基本思想和算法请见文[14].
在回归模型中,应用的位置记录不超过5个,因为在实时避障的应用中,在控制模块中采
用提前三个采样时问间隔预测障碍物的运动.由于描述障碍物的点比较少,所以用平均步长
(矢量)来估计下一个位置,作为对回归预测的修正.
运用回归预测法需要知道障碍物的运动状态,作者将障碍物的状态分为"未知,预备,静
止,运动和隐藏"五种.判断障碍物状态的方法为:当状态为"未知",则是第一次测到该障碍物;
当状态为"预备",则是由未知"触发到"预备";当状态为"静止",则是通过该障碍物当前测得
的重心位置与它的历史重心位置比较,其距离小于STTIC—LEVEL目值(判断静止还是运动
的阈值);当状态为"运动",则通过该障碍当前和历史的信息,比较出在不同次采样而得到的两
个位置距离大于STATIC—LEVEL;当状态为"隐藏",则是在本次采样中,该运动障碍物未被
测到,因此其状态由"运动"转为"隐藏".
下面是五种状态的关系
4超声传感器建立环境模型
THMR一Ⅱ型移动机器人安装了l5个超声传感器,设法通过这些传感器在l5个方
向上的
距离信息,建立移动机器人周围大致的环境模型.这个过程要经过坐标的转换,障碍物的分离,
障碍物信息舶抽取和存储四个过程,分述如下:
4.1坐标的转换
为了'导航的需要,将车体局部坐标系作了改动,即把坐标原点放在超声系统的中心,其它
则不变,图及公式见文[141.
这样,超声测量到的某一方向上的距离信息就可直接换成局部坐标系中的坐标,进而转换
为全局坐标系中的坐标.
对于所有障碍物链中的节点,其存储的都是全局坐标即环境坐标,这是由于随着机器人的
移动,在窗口中障碍物的坐标发生变化,无法利用窗口坐标来进行对障碍物的静态和运动的判
断.但是对运动障碍物的预测,而在运用栅格法时,又是利用窗口坐标,此时,只好再根据机器
人当前的位姿来将障碍物的环境坐标转成窗口坐标..
4.2障碍物的分离
超声测量点中一部分属于一个障碍物,而其它的测点属于另外的障碍物.需要将超声测量
的l个测点进行划分,使属于同一物体的测点组成一组.由于物体的表面是连续的,可以认为
如果两个相邻测点在同一物体上,那么,它们之间的距离应是比较小的,否则,它们之间的距离
应比较大.分离的原则有:(1)相邻的超声头测点的距离相差很大,阕值设为OBSTACLE
第22声第2期袁曾任等:在动态环境中移动机器人导航和避碰的一种新方法
THRES.若大于此阔值,那么,一组障碍物测点分离完毕;(2)相邻的超声头有一个超声头没有
测到障碍,那么,一组障碍测点分离完毕,只有测到障碍的超声头才属于某测点组. 运动障碍物的分离也是采用上述的基本策略,不同的是考虑障碍物有可能发生重叠,对于
被遮档住的静态障碍物,不用太多考虑,只要用以前的信息即可.而被档住的是动态障碍物,则
要求进行修正.这里所说的障碍物重叠,指的是一个障碍物档住另一个障碍物,而不是障碍物
的相互邻近.判断重叠是先利用前面障碍物A的所有信息,求出该障碍物的角度范围,然后再
判断运动障碍物中有没有在该障碍物的后面.根据运动障碍物离车体的距离是否比A的大以
及是否在A的角度范围之内.如果运动障碍物被遮档住了,则就需要用它的预估位置更新其
当前的位置值,这样,就可减少一定的误差.
4.3障碍物信息的抽取
需要的障碍物信息考虑到既满足栅格法的需要又兼顾回归预测法的需要.因此,障碍物的
信息必须包括:超声波中心到障碍物的最短距离测点的坐标(minx,rainy);当前测得障碍物
的测点中心坐标(Centerx,Centery),用它来表示当前该障碍物的实际位置,记录障碍物历史
点的坐标(historyx[],historyyE],对于运动障碍物来说,可以满足回归预测法对数据的要
求.记录障碍物的历史点的个数[record—num];记录该障碍物出现的次数,用于栅格法以表示
在将障碍物信息转换成障碍物密度时,在该栅格中有障碍物的可能性;记录当前测得障碍物的
所有测点的坐标(xE],y[]),如果对一个障碍物,运用栅格法求障碍物密度时,只用其中心位
置,则障碍物密度太稀,没有很好地起到寻找最佳路径的要求,而利用当前测得的该障碍物的
所有点的信息,那么,对躲避障碍物有比较好的利用价值;记录当前测得障碍物的所有测点的
个数(point—num)作为坐标(xE],yE])的最多访问次数;记录运动障碍物位置的预测坐标
(future—x[],future—y[]),可以在方向决策中起作用,从而起躲避运动障碍物的作用;x
bl"一
b2"一
ey一一exl一一
ex2和Y—
bl,y—
b2,y—ey,y—exl,yex2对于运动障碍物有
效,用于记录回归预测时的各种参数,等等…….
4.4障碍物信息的存储
(I)障碍物的信息存储分类:障碍物的信息存放在障碍物链表中,障碍物链表分为窗口链
和动态链.窗口链既记录静态又记录运动障碍,只要在当前窗口中出现的障碍都记录在窗口链
中,窗口链既为栅格法提供障碍物的数据,又为运动障碍物的判断及存储提供必要的数据.动
态链只是记录已被判断为是运动障碍物的所有障碍物的信息,包括障碍物的预测位置和参数.
采用链表方式是便于数据的查找,一个节点就包含了一个障碍物的所有信息.
障碍物信息的存储分成以下几个部分:(1)"当前障碍物链表"的建立;(2)"窗口障碍物链
表"(窗口链)的建立;(3)"动态障碍物链表"(动态链)的建立;
"当前障碍物链表"的建立是因为如果只弧立地把测到的一个障碍物和窗口里所有障碍匹
配时,缺乏科学性,例如本次测得A,B,C…,等若干个障碍,A障碍和窗口里的某个障碍匹配
上,用A的信息替换其部分信息,但是B障碍也有可能和窗口里的同一障碍匹配上,这就造成
信息的错误处理.因此,把当前测得的所有障碍物组成"当前障碍物链表",这就可以利用所有
这些信息,减少判断的失误.该链表的建立是根据障碍物分离来存储一个障碍的一组测点,进
行初步的处理.
"窗口障碍物链表"的建立是把"当前障碍物链表"中的障碍物依次和窗口障碍匹配,如果
匹配上,那么替换部分信息,否则,建立新的障碍物节点.
机器人2000年3月
"动态障碍物链表"的建立是根据对"窗口链"进行处理,判断,利用其中存储的运动障碍
物,类似地也建立一个"当前动态障碍物链表",和"当前障碍物链表"与窗口链"的关系一样,
由"当前动态障碍物链表"存储到"动态链"中.
(Ⅱ)障碍物匹配算法:"窗口链"和"动态链"的存储完全一样,因此以"窗口链"和当前链"
为例来介绍.由于信息量比较少,在"当前链"到"窗口链"的存储时,采用最近匹配原则,最近匹
配是指"当前链"中所有节点和"窗口链"中的所有的已有障碍找到最佳匹配,即:当前链"中一
节点和"窗口链"中一节点距离最近,当找到一个最佳匹配,那么,在"当前链"和窗口
应节点上作标记,防止下一次同样操作,这样依次处理,就能找到所有"当前链"中节点和"窗
口链"中的匹配,这就充分利用了"当前链"中所有信息.
每次匹配后就进行存储.如果"窗口链"中没有障碍,那么,自然是新障碍,否则,就要根据
匹配时两节点的距离值和oBSTACLE.THRES阈值的比较结果来判断是否是一个障碍,如
果ORSTRACLE.THRES大,则是新障碍,否则,就是同一障碍.
5方向决策
方向决策指的是车载空间的活动窗口里按一定算法,给出最佳候选扇区,使移动机器人无
碰撞地行驶到达目标,
本文对[11]作了'两方面改进:一是由只有静态障碍物环境扩展到具有静态和运动障碍物
的动态环境中,作者是根据回归预测给出的运动障碍物的位置,再利用栅格法求出候选扇区,
把两种方法有机结合起来,从而躲避了环境中有静态和运动障碍物,最终驶到目标.二是超声
值的测取直接利用超声传感器对障碍物不断地测试而得到.在仿真实验时,根据联车程序修改
的,只是把超声值的测量修改成在计算机屏幕上对障碍物的测量,对车体转速控制修改成在屏
幕上对车体位置的控制.
作者采取如下的避障和导航策略,分为两种情况:(1)当没有和障碍物碰撞危险时,只考虑
静态障碍物.把静态障碍物的当前中心位置和所有当前的测点位置作为存在障碍物的栅格,用
它们求出障碍物密度和平滑障碍物密度.从而求出候选扇区.(2)当有和障碍物碰
在考虑静态障碍物的中心位置和所有当前记录的测点位置时,同时考虑运动障碍物的三次采
样的障碍的每一个中心位置,运动障碍物的历史点的位置及其预测点的位置.
采取这样的策略,可减少一定的计算量,因为运动障碍物不一定挡住移动机器人前进的方
向,或者目前挡住机器人前进的方向,但运动一段时间后也可能不档住机器人前进的方向,因
此,没有必要过早地考虑运动障碍物.
作者在找到候选扇区后,根据其中的ad值来控制移动机器人左右轮的转速.对于ad值,
在活动窗口中,随角度从左到右依次增加,对于ad值小的候选扇区,机器人向右转,我们采用
控制左车轮速度快,右车轮速度慢,此时,车体就向右转了.同理,对ad大的,控制左车轮速度
慢,右车轮速度快,车体就向左转了,这种方法比采用车体先停下再拐弯的方法实时性要好而
且车体行驶轨迹连续和平滑.
6仿真实验结果
作者进行了三种仿真实验
仿真1:移动机器人的初始位置和目标的位置分别表示在图像中的左下方和右上方,目标
第22卷第2期袁曾任等:在动态环境中移动机器人导航和避碰的一种新方法
在静态障碍物的前方,图像中除有静态障碍物
外,还有三个运动障碍物,其中两个作直线运动
(一个是由右向左作水平运动,另一个由左上方
向右下方作斜线运动),一个运动障碍物是作变
速圆弧运动.机器人首先用一段时间测取周围
环境信息,然后开始运动.首先躲避由右向左作水平直线运动的障碍物A,然后绕过由左上方向右下方作斜线运动的障碍物B,由于作圆弧运动的障碍物c和障碍物B之间的间隙太小, 产生不r候选扇区,因此,绕过障碍物C,向目
标方向运动.由图可见,机器人在接近目标时, 没有直接驶向目标,而是绕r一个弯,这是因为目标后面就是静态障碍物,为了防止碰撞上障碍物,找到安全候选扇区,而绕了一个弯.
仿真2和3因篇幅关系这里不介绍r.
7结束语
由仿真结果表明移动机器人在改进的栅格
法和回归预测法结合的指引下,在动态环境中实现避碰和导航,效果良好.作者以障碍物为单位代替原来栅格法中以栅格为单位记录环境表示的信息量,显着地减少了环境信息存储量大的问题提高栅格法实时应用的能力.利用了回归模型对运动障碍物的运动趋势进行合理预测的能力,实现了对运动障碍物实时检测,并区分出静态和运动障碍物,还考虑障碍物有可能出现重叠的问题最后将改进后的栅格和回归预测法结合在一起,使移动机器人在动态环境中实现避碰和导航.这种方法只利用了超声传感器的信息.这是一种简单,信息存储量少和实时眭比较好的方法.这种方法存在的问题是在回归预测法中只是给出运动障碍物的位置预测,而投有给出运动障碍物运动方向和速度的信息, 另外,是根据候选扇区对车体进行控制的,若出图2仿真1实验结果。

相关文档
最新文档