APP下载

室内动态环境下的移动机器人自主避障策略

2019-09-18杨明辉吴垚张勇肖晓晖

关键词:移动机器人障碍物动态

杨明辉,吴垚,张勇,肖晓晖

(武汉大学动力与机械学院,湖北武汉,430072)

在未知工作环境中,移动机器人应该具备感知环境的能力以避开障碍物、实现自动导航[1],其中障碍物包括静态障碍物和动态障碍物。目前,基于多传感器信息融合的避障方法已经被提出,可以分为传统路径规划方法和智能控制方法。在传统方法中,人工势场法和向量场直方图法(VFH)应用最为广泛。人工势场法原理简单,易于实现,但其在路径规划时存在目标不可达和局部极小值问题。GUO 等[2-3]通过改进势场函数以消除局部极小点,但在动态环境下,仍会产生大量无谓的避碰运动[4]。ULRICH等[5-6]在VFH算法的基础上提出了VFH+算法和VFH*算法。ZHANG等[7]提出了VFH#算法,该算法考虑动态障碍物的速度信息以适应动态环境。ZHU 等[8]在VFH 法基础上提出速度判断规则,在面对动态障碍物时选出最合适的速度方向。但该系列方法环境信息存储量大,且容易陷入循环震荡。智能控制方法中主要有蚁群算法、遗传算法、神经网络和模糊控制。CAI 等[9]提出一种蚁群算法与模糊控制技术结合的方式,柳长安等[10]提出一种基于改进蚁群算法的移动机器人动态路径规划方法。周兰凤等[11]提出了一种基于知识的遗传算法,利用专门的遗传算子对参数进行自适应调整,并且把环境信息整合到种群初始化中。刘旭红等[12]提出了一种可变长染色体编码方式,并且把地图网格化,在实验中算法能够在静态和动态环境下搜索到优秀的无碰撞路径。YANG 等[13]开发了一种分层模糊控制策略,实现了机器人在未知环境导航。乔俊飞等[14]设计了基于动态神经网络的移动机器人导航算法并在Pioneer3-DX机器人上验证。ZHU等[15]提出了一种基于神经网络的学习算法来调节模糊逻辑系统的隶属度函数参数,提高了移动机器人的轨迹平滑度。钱夔等[16]采用模糊神经网络控制,实现了移动机器人在未知环境中的自主避障,并采用虚目标法逃离局部陷阱。孔令文等[17]采用闭环模糊神经网络有效缩短了移动机器人的行进路径并提高行进速度。其中蚁群算法和遗传算法都能实现动态环境自主避障,但此类方法涉及到进化迭代,计算量大,实时性较差。模糊神经网络方法融合了模糊控制和神经网络的优点,在静态障碍物环境中可实现无碰避障,但面对动态障碍物时会产生冗余路径甚至发生碰撞[18]。因此,本文作者在模糊神经网络的基础上提出一种动态障碍物避障方法,以期实现在动态环境中的无碰避障,提升机器人行进速度。

1 机器人避障模型

本文采用两轮差动式移动平台,机器人的避障模型如图1所示。

设机器人在k-1时刻的坐标为Xk-1=[xk-1,yk-1]T,在k时刻的机器人坐标为Xk=[xk,yk]T,目标点坐标为[x,y]T。k时刻机器人坐标与目标点坐标的夹角用目标航向角θE(k)表示:

式中:θE(k)∈( -180°,180°]。

图1 移动机器人避障模型Fig.1 Mobile robot obstacle avoidance model

k时刻移动机器人的航向角设为θ(k),目标角度ta(k)为k时刻机器人目标航向角θE(k)与当前航向角的夹角:

式中:θE(k)可由超宽带系统(UWB)得的定位信息计算得到,θ(k)由高精度转角仪测得。

2 动态障碍物避障策略

在面对动态障碍物时,当机器人不能正确判断障碍物运动信息时,可能产生冗余路径,甚至与障碍物发生碰撞。动态障碍物碰撞场景示意图如图2所示。若机器人采用优先右转原则,则在面对向右运动的动态障碍物时不能及时避开障碍物,与障碍物发生碰撞,避障失败。

为适应动态障碍物环境,本文提出一种动态障碍物避障策略,包括3个部分:动态障碍物运动方向判断策略以判断障碍物的运动轨迹、子目标点更新策略以优化机器人避障路径以及模糊神经网络输出机器人转角控制量和速度控制量。

图2 动态障碍物碰撞场景示意图Fig.2 Diagram of dynamic obstacle collision scene

2.1 动态障碍物方向判断策略

在运动过程中,动态障碍物的运动方向与机器人的运动方向存在相交和平行2 种情况。图3所示为2种情况下移动机器人在运动过程中和动态障碍物可能发生碰撞场景中的位置信息,其中r为机器人与障碍物的碰撞区域半径。本文对动态障碍物假设如下:障碍物的运动方向不变且在机器人探测范围内,障碍物运动速度恒定;障碍物的大小已知。

移动机器人保存连续2个规划周期的动态障碍物与机器人相对位置信息。定义d′x为当前周期障碍物与机器人直线运动轨迹的距离,dx为上一周期障碍物与机器人直线运动轨迹的距离,其计算公式为

式中:θ1,θ2,θ3,θ4和θ5分别对应5个超声波传感器的扫描角度;d1,d2,d3,d4和d5分别对应5个超声波传感器检测到的障碍物距离。同时采用5个超声波数据对障碍物方向与距离进行判断,可以减少单个超声波传感器因为广角带来的误差。

由式(3)可得

式中:td为障碍物运动方向,v为移动机器人运动速度,dt为检测周期,δ为设定的距离阈值。td=0 表示障碍物正在远离机器人,不做避障处理;td=-1 表示障碍物相对机器人向左运动;td=1表示障碍物相对机器人向右运动。在2个规划周期内,同一个障碍物到移动机器人运动轨迹的距离发生变化,即判断为动态障碍物并标记运动方向。

2.2 子目标点更新策略

传统的模糊神经网络避障策略在检测到障碍物时会对机器人的运行速度进行调整,距离障碍物越近,运行速度越慢[17]。本文引入子目标点更新策略,在机器人运动过程中,检测到障碍物后实时更新子目标点,暂时隐藏终目标点,到达子目标点之后再将目标点更新为终目标点,最终得到的机器人的运动轨迹将会通过多个子目标点和最终目标点。更新子目标点之后,控制器的输入目标角度ta获得更新,控制器输出机器人速度控制量不变,机器人不减速到达子目标点,缩短机器人运动时间。

移动机器人在检测到障碍物之后控制器可以根据2个周期的障碍物位置信息估计障碍物的运动方向与运动速度(见图3),系统可以预测机器人和障碍物在下几个周期的位置信息,若预期到障碍物的位置会进入碰撞区域,则认为碰撞可能发生,更新子目标点。碰撞区域半径为机器人半径和障碍物半径之和。碰撞区域的圆心是预计碰撞发生时障碍物的位置。子目标点可以通过式(5)确定,偏转方向由障碍物的运动方向确定。

图3 动态障碍物检测及方向判断Fig.3 Dynamic obstacle detection and direction judgment

式中:Rr为机器人半径,Ro为障碍物半径。

2.3 模糊神经网络

本文采用T-S型模糊神经网络控制器来完成输入/输出关系的映射,并采用反向传播(back propagation)算法和最小二乘法来完成对输入/输出数据对的建模,使得设计出来的模糊神经网络系统能够更好地模拟出希望的或是实际的输入/输出关系[19]。本文设计一个7输入2输出的模糊神经网络,分为5层,其简化结构示意图如图4所示。

图4 模糊神经网络简化结构示意图Fig.4 Simplified structural diagram of fuzzy neural network

模糊神经网络的第1 层为输入层。它的每个节点直接与输入向量的各分量连接,将输入值传送到下一层。本文该层的节点数n=7,输入状态空间向量I为

第2 层每个节点代表1个语言变量。本文将输入障碍物距离信息d1,d2,d3,d4和d5分 为N(近)和F(远)2个等级;将目标角度ta分为5个等级(RB,RS,Z,LS,LB),这5 个等级分别代表机器人目标角度信息(偏左大、偏左小、不偏、偏右小、偏右大);将障碍物运动方向td分为2个等级即L(向左)和R(向右)。该层的作用是计算各输入分量属于各语言变量模糊集合的隶属函数μji:

式中:xi是输入状态空间向量元素,i= 1,2,…,n;j=1,2,…,mi;n为输入量的位数;mi为xi的模糊分割数。本文采用矩形函数rect(·)作为隶属度函数。

第3 层的每个节点代表1条模糊规则,用来匹配模糊规则的前件,计算出每条规则的适应度αj:

式 中:i1∈{1,2,…,m1};i2∈{1,2,…,m2};in∈{1,2,…,mn};j= 1,2,…,m,

第4 层的节点数与第3 层的相同,实现归一化计算,αj归一化结果为

式中:j= 1,2,…,m。

第5 层为输出层,本文选用加权平均法去模糊化。输出量为机器人的转角控制量w和速度控制量v,即:

根据上述避障策略,融合障碍物运动方向判断策略和子目标点更新策略的避障算法流程如图5所示。

图5 动态环境避障算法流程Fig.5 Algorithm of obstacle avoidance in dynamic environment

3 试验与分析

3.1 试验平台与试验环境

本文使用Turtlebot3 waffle作为移动平台,配置5路超声波传感器检测障碍物距离,超声波传感器测量角度为15°。5 路超声波可以探测移动机器人行进方向跨度135°范围内的障碍物边界信息,探测精度为0.3 cm±1%。为避免超声波传感器相互干扰,在探测障碍物距离信息时,超声波传感器依次循环启动,任何紧邻的传感器不会同时工作。

为让移动机器人具备位置信息的感知能力,差速移动平台采用UWB和高精度转角仪作为航迹推算定位的传感器来获取自身的位置与姿态。移动机器人如图6所示。

图6 移动机器人试验平台Fig.6 Mobile robot test platform

基于所提的动态障碍物避障控制算法,为试验平台设计移动机器人自主避障控制系统,系统结构如图7所示。该控制系统主要包括信息采集、避障策略和运动控制3个部分。

试验环境为宽7.5 m,长9.0 m的室内大厅,设置移动机器人起始点坐标为(4 m,1 m),起始航向角为0°,目标点坐标为(4 m,6 m),控制器输入为超声波传感器测得的障碍物距离信息[d1,d2,d3,d4,d5]T、目标角度ta以及障碍物的运动方向判断td,以机器人获取的UWB实时坐标为机器人坐标,每个运动周期输出1次机器人坐标得到机器人的运动轨迹。

动态障碍物为大厅中移动的行人,在机器人运行过程中,控制系统根据式(3)和式(4)对障碍物运动方向进行判断。

图7 控制系统结构示意图Fig.7 Structural diagram of control system

3.2 试验结果分析

面对动态障碍物与移动机器人运动轨迹相交时,机器人运动轨迹和判断结果如图8所示。

图8 动态障碍物与机器人运动轨迹相交判断结果Fig.8 Predicting result of dynamic obstacles and robot trajectories in condition of intersection

由图8可以看出:当动态障碍物向右运动时,机器人对向右运动的障碍物做出了正确判断并成功绕开了移动障碍物。当动态障碍物向左运动时,尽管机器人在对动态障碍物做方向判断时出现了误判,但机器人对连续2个周期的判断结果进行对比,若连续2个周期的判断结果相同,控制器才会做出相应决策,所以只在1 个周期出现误判不会影响机器人的运动轨迹,机器人成功绕开了障碍物。动态障碍物与机器人运动轨迹相交试验结果如图9所示。

图9 动态障碍物与机器人运动轨迹相交试验结果Fig.9 Experimental result of dynamic obstacles and robot trajectories in condition of intersection

由图9可知:加入动态障碍物运动方向判断之后,机器人可以准确判断动态障碍物的运动方向,并对比连续2个周期的判断结果,纠正可能出现的个别周期的运动方向误判,有效绕开障碍物,实现无碰撞避障,最终到达指定目标点。

面对与移动机器人平行运动动态障碍物时,根据式(5)以及是否更新子目标点,机器人运动轨迹与速度曲线如图10所示。从图10可以看出:有子目标点更新策略时,机器人避障路径更短,且行进速度始终保持高速,不会因为避障行为的发生而减速。其试验结果如图11所示。

图10 机器人运动轨迹与速度曲线Fig.10 Robot trajectories and velocity curves

图11 动态障碍物与机器人运动轨迹平行试验结果Fig.11 Experimental result of dynamic obstacles and robot trajectories in condition of parallel

机器人平均行进速度如表1所示。由表1可以看出:当机器人左偏时,在有子目标点策略下,机器人平均行进速度为47.36 cm/s,而在无子目标点策略时,机器人平均行进速度为44.61 cm/s,可见:在有子目标点策略下,机器人平均行进速度提升6.19%。当机器人右偏时,在有子目标点策略下,机器人平均行进速度为47.16 cm/s,而在无子目标点策略时,机器人平均行进速度是42.20 cm/s,可见:在有子目标点策略下,机器人平均行进速度提升11.75%。

表1 机器人平均行进速度Table1 Average moving speed of robot cm/s

4 结论

1)提出一种动态障碍物避障算法,该算法包括动态障碍物运动方向判断策略、子目标更新策略以及模糊神经网络3个部分。

2)根据所提算法设计的控制器可以在未知动态环境中判断动态障碍物的运动方向并更新子目标点以完成无碰避障;与无子目标点更新策略相比,在有子目标点策略下,机器人平均行进速度提升了11.75%,验证了所设计控制器的有效性和可行性。

猜你喜欢

移动机器人障碍物动态
国内动态
移动机器人自主动态避障方法
国内动态
国内动态
移动机器人路径规划算法综述
高低翻越
室内环境下移动机器人地图构建与路径规划技术
赶飞机
动态
月亮为什么会有圆缺