一种全向移动机器人的动态避障方法

文档序号:9451944阅读:646来源:国知局
一种全向移动机器人的动态避障方法
【技术领域】
[0001] 本发明涉及机器人领域,更具体地,涉及一种全向移动机器人的动态避障方法。
【背景技术】
[0002] 机器人能实现任意方向的运动,可广泛应用于军事、工业、家用服务等领域。移动 机器人在未知环境中如何有效避开障碍物是机器人实现其自主移动的关键问题之一。在有 运动障碍物环境下的避障问题称为动态避障。与传统静态环境下避障不同,由于障碍物的 速度与位置有可能实时变化,未知环境中的动态避障含有更多不确定因素,这对动态避障 算法的实时性与传感器精度都提出了更高的要求。目前对机器人避障的研究多集中在静态 环境中的避障,或把运动障碍物在某个时刻考虑为是静止的,这不利于避障的实时性要求, 尤其在遇到复杂环境中速度变化较快的障碍物时,采用这些方案易使机器人出现避障失败 或多余避障的现象。
[0003] 移动机器人的避障研究主要是通过设计障碍物检测策略与避障控制算法,根据车 载传感器反馈信息实时调整机器人的速度大小与方向进行避障规划,从而使机器人在行进 过程中不与动态及静态障碍物发生任何的碰撞。人工势场法在移动机器人自主避障中得到 广泛应用,人工势场法把目标看作低势能点,目标对机器人产生了吸引力,环境中障碍物为 高势能点,对机器人产生斥力,机器人在引力和斥力的共同作用下运动以躲避障碍物,并到 达目标位置。由于人工势场法仅考虑了移动机器人与障碍物的位置信息,当遇到复杂环境 下速度变化较快的障碍物时,人工势场法易出现振荡、多余避碰或避障失败等现象。不同于 人工势场法仅考虑位置信息,速度障碍法将碰撞规避问题转化成规避速度障碍的问题。当 存在多个障碍物时,计算传感范围内所有障碍物对它的障碍区,然后根据速度障碍区所在 的空间位置关系,计算与速度障碍区均不相交的速度,以实现自主避障。当未知环境中存在 多个动态障碍时,传统的速度障碍法所规划的避障路径易出现振荡的现象,并且所规划的 机器人速度较慢。D.B.J.Van等人提出了互惠式速度避障算法,该算法考虑了多机器人之间 的速度信息,利用外部定位系统提供的多个机器人的精确定位信息,在多机器人移动的动 态场景中表现出优秀的相互避障性能。互惠式速度避障算法依赖所获信息的对称性,例如 在考虑两个机器人之间的避碰时,单个机器人各自承担一半的避障任务。另一方面,算法假 设移动机器人能即刻达到任意所需的速度。在实际应用中,由于存在检测与估计误差以及 环境变化过快等原因,所获得的单个机器人的信息并不完全对称,而且由于惯性机器人也 难以即刻达到所需的速度。在此情况下互惠式速度避障算法易出现避障不及时与多余避障 的现象。
[0004] 将运动区间内的动态障碍物作为移动机器人,因此,机器人在未知动态环境中的 自主避障可类比为多个移动机器人之间的避碰。本方案基于速度避障策略设计动态避障算 法,考虑互惠式速度避障算法的优点并针对其局限性,本发明设计改进的互惠式速度避障 算法,设置避障责任系数,并针对不同的障碍物引入风险因子,以改进互惠式速度障碍算法 中由于测量误差导致的避障不及时与多余避障的现象,并使规划的避障轨迹更为平滑。在 没有外部定位系统的未知动态环境中,采用车载激光测距仪检测障碍物并估计动态障碍物 的运动速度,并基于所提出的避障方案实现机器人自主躲避运动区间内的动态及静态障碍 物。

【发明内容】

[0005] 本发明为解决以上现有技术的缺陷,提供了一种全向移动机器人的动态避障方 法,该方法能够确保移动机器人动态避障的实时性与运动轨迹的平滑性,为未知动态环境 中全向移动机器人自主躲避动态及静态障碍物提供一种高适用性、有一定抗干扰能力的方 案。
[0006] 为实现以上发明目的,采用的技术方案是:
[0007] -种全向移动机器人的动态避障方法,包括以下步骤:
[0008]SI.对机器人周围障碍物的位置进行检测,并根据机器人与障碍物相对位置的变 化计算二者的相对速度,然后在获知机器人的速度的基础上,计算障碍物的速度;
[0009]S2.设机器人i、障碍物j的半径分别为巧与r,,速度为\与V,,位置为?1与p,, 则障碍物j对机器人i产生的速度障碍空间记为VOll,T,它表示导致机器人i与障碍物j在 时间T内相碰撞的相对速度的集合:
[0011] 其中DCpj-Pi,ri+rj) = {q|I IQ-(Pj-Pi)I I<ri+rj表示以(P.厂Pi)为中心,(:Ti+r) 为半径的圆域;
[0012] S3.计算机器人i和障碍物j的避障责任系数&1、aj,其具体步骤如下:
[0013]S31.初始时刻,设每个机器人或障碍物初始速度的大小相同,按照各自从起点到 目标点的距离从大到小进行排序以分配责任系数,其中,距离目标点最远的机器人或障碍 物的责任系数为1,距离目标点最近的机器人或障碍物的责任系数为为机器人和障碍 物的数量;
[0014]S32.在行进过程中,把机器人或障碍物到各自目标点的距离除以机器人或障碍物 自身的速度大小作为需耗费的时间值,然后根据该时间值按从大到小的顺序重新排序,以 此更新每个机器人的责任系数,时间值最大的机器人的责任系数为1,时间值最小的机器人 的责任系数为n」
[0015]S4.计算障碍物j对机器人i的风险因子,具体如下:
[0016] (1)机器人i与障碍物j的相对速度在速度障碍空间的外部时,采用机器人i和障 碍物j之间的距离来表示障碍物j对机器人i的风险因子X1U:
[0018]其中I|Pl,P]|I表示机器人i和障碍物j之间的相对距离,d_、d_分别表示相对 距离的最大阈值和最小阈值;
[0019] ⑵机器人i与障碍物j的相对速度在速度障碍空间的内部时,计算两者的碰撞时 间Llj,并采用碰撞时间tlM和相对距离来确定风险因子的大小:
[0021] 其中t_、t_表示碰撞时间的两个阈值;
[0022] S4.根据计算得到的风险因子Xl|]来确定机器人i与障碍物j的相对速度的改变 量Avij:
[0024]其中U为机器人i和障碍物j的相对速度(V1-Vj)到VOllj 界长度最小的向量,
[0025]S5.求取机器人i、障碍物j的速度改变量,表示如下
[0027] 其中aj-a! =M;
[0028] S6.求取机器人i和障碍物j在时间T内不会相撞的速度集合ORCA1,jT,ORCA1ijT 是一个以Vi+AVi为起始点,以n为方向的半平面:
[0029] ORCAiIjT={vI (V-(VAVi)) ?n^ 0}
[0030] 若nr> 2,可通过下式构造ORCA;T集合:
[0032] D(0,Vlmax)代表机器人的速度限制;
[0033] S7.根据构造的ORCA1T,求解机器人i的更新速度Vladiust6d:
[0035] 更新速度Vlad]usted为集合ORCAiT中最接近期待速度Vrf的值。
[0036] 优选地,所述步骤Sl中,使用激光测距仪对机器人与障碍物的距离进行检测,然 后根据检测的数据确定障碍物相对机器人的位置,其具体过程如下:
[0037] S11.建立扫描窗对激光测距仪回传的扫描数据进行处理,扫描窗的半径设为 cU_,m为数据点的序列号,Clni为第m个数据距离激光测距仪的距离值,并且ddset_;
[0038] S12.设相邻两个数据点对应的距离的差值为ICU-ClniI,根据ICU-ClniI使用S121的 方法判断数据点对应的障碍物检测情况;
[0039] S13.假设第j个障碍物表示为 <9/(A^egin,iVfd,iVfddkV//),其中A^begm、 ~广、分别表示第个障碍物在扫描窗内的起始点、结束点、中间点的序列号; d] 为中间点A^llddle与激光测距仪的距离,把Clj近似为障碍物j到机器人i几何中心的相对距 离,由此可估计障碍物j相对机器人i的位置;
[0040] 所述步骤S121的操作过程具体如下:
[0041] A.判断Clni是否与dset_相等,若否,执行步骤B,否则执行步骤D;
[0042] B.判断cU是否与dset_相等,若是,则表示检测不到障碍物,否则执行步骤C;
[0043] C.判断Idni-CUl是否大于设定的阈值Clhcild,若是则表示检测到了两个障碍物,若 否则表示这两个数据点检测到的障碍物为同一障碍物;
[0044] D.判断cU是否与dset_相等,若是,则表示检测不到障碍物,否则执行步骤F;
[0045] F.判断dm+k是否与dSf;tmax相等,若是则执行步骤G,若否则令k=k+1,然后执行步 骤F;
[0046] G.判断k是否大于设定的阈值nhc]ld,若是则表示检测到了新的障碍物,若否则表示 检测不到障碍物。
[0047] 其中,nhc]ld为设置的有效障碍物数据点数的阈值,采用动态阈值法设置该阈值,以 此减少避障过程中由于外部干扰产生的障碍物误判:障碍物距离机器人越近,Iihcild的值设 置得越大;障碍物距离机器人越远,nhc]ld的值设置得越小。
[0048] 优选地,步骤Sl中,计算机器人与障碍物相对速度的具体过程如下:
[0049] 设在t时刻检测到
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1