Integrated Navigation Algorithm for Large Concave Obstacles
-
摘要:
针对移动机器人导航过程中无法规避大型凹型障碍物问题,该文提出一种多状态的组合导航算法。算法按照不同的运动环境,将移动机器人的运行状态分类为运行态、切换态、避障态,同时定义了基于移动机器人运行速度和运行时间的状态双切换条件。当移动机器人处于运行态时,采用人工势场法(APFM)进行导航,并实时观测毗邻障碍物的几何构型。在遭遇障碍物时,切换态用于判断是否满足状态切换条件,以进入避障态执行避障算法。避障完成后,状态自动切换回运行态继续执行导航任务。多状态的提出,可有效解决传统人工势场法在大型凹形障碍物的避障过程中存在局部震荡的问题。基于运行速度和运行时间的双切换条件判定算法,可实现多状态间的平滑切换。实验结果表明,该算法在解决局部震荡问题的同时,还可降低避障时间,提升导航算法效率。
Abstract:For the problem that mobile robot can not avoid large concave obstacles during navigation, this paper proposes a multi-state integrated navigation algorithm. The algorithm classifies the running state of mobile robot into running state, switching state and obstacle avoidance state according to different moving environment, and defines the state double switching conditions based on the running speed and running time of the mobile robot. The Artificial Potential Field Method (APFM) is used to navigate and observe the geometric configuration of adjacent obstacles in real time. When encountering an obstacle, the switching state is used to determine whether the state switching condition is satisfied, and the obstacle avoidance algorithm is executed to enter the obstacle avoidance state and enter the obstacle avoidance state to implement the obstacle avoidance algorithm. After the obstacle avoidance is completed, the state automatically switches back to the running state to continue the navigation task. The proposal of multi-state can solve the problem of local oscillation of traditional artificial potential field method in the process of avoiding large concave obstacles. Furthermore, the double-switching condition determination algorithm based on running speed and running time can realize smooth switching between states and optimize the path. The experimental results show that the algorithm can not only solve the local oscillation problem, but also reduce the obstacle avoidance time and improve the efficiency of the navigation algorithm.
-
1. 引言
随着移动机器人的发展,移动机器人的导航算法成为热点问题,导航算法帮助移动机器人在有障碍物的环境中避障且朝向目标自主移动。目前常见导航算法有:遗传算法[1],通过模拟达尔文生物进化论的遗传学机理和生物进化过程而不断寻求最优解的一种导航算法;蚁狮算法[2],一种仿生优化算法,该算法通过模拟捕食蚂蚁的蚁狮来寻求比较精确的全局最优解;以及人工势场法[3] (Artifical Potential Field Method, APFM)。
人工势场法通过建立势能函数进行导航,因此人工势场法运算简便、快捷,能够得到最优路径且路径平滑。但移动机器人会不慎进入凹形障碍物内部产生局部最优点,难以自行走出。针对人工势场法易陷入局部最优点的问题,Park等人[4]和况菲等人[5]将人工势场法和其他算法相结合;Lee等人[6]提出NP-APF(New Point-Artificial Potential Field)算法,通过创造子引力点,提高人工势场法性能。Rostami等人[7]通过改变引力斥力函数,解决机器人局部最优点问题。但上述算法均存在移动机器人行走路径过长的缺点,不具备实际应用的前景。
相较于人工势场法,A-Star(A*)[8,9]算法不存在局部震荡问题,该算法运用灵活,适用于多种场景,且可求解最短路径,现被广泛应用于静态路网导航,但其相对于APFM计算速度慢,且得到路径并非最优路径。在A*算法的改进方案中,田景文等人[10]将遗传算法与BP神经网络算法相结合,胡中华等人[11]用A*算法进行路径规划获得拐点,再利用人工势场法将各个拐点作为子目标点进行路径规划,这些改进的A*算法均降低了A*算法复杂度,但是无法实现大型凹型障碍物的有效避障。
本文针对大型凹形障碍物避障导航研究中存在的问题,基于人工势场法和A*算法,提出了一种组合导航算法。本文算法定义了多个运行状态,在无障碍物环境中算法采用人工势场法进行路径导航,确保移动机器人获取最优路径。在感知到机器人陷入局部震荡区后,依据切换条件,移动机器人的路径规划算法切换为A*算法,跳出局部震荡区,驶离障碍物内部。当移动机器人离开大型凹形障碍内部后,移动机器人便将导航算法转换为人工势场法,以此来保证路径最优且平滑。算法的主要贡献包括:
(1) 通过定义多运行状态,在避障时依据状态切换条件进行状态切换,解决大型凹形障碍物避障算法中存在的局部震荡问题。
(2) 以速度和运行时间为切换条件,缩减导航时间。
章节安排如下:第2节对本文所采用符号的说明,并简要介绍人工势场法和A*算法的基本原理;第3节介绍本文算法的障碍物模型,对本文所提组合导航算法进行了详细描述;第4节对组合导航算法进行正确性分析和复杂度分析;第5节对组合导航算法的仿真结果进行分析,第6节总结了本文所做的工作。
2. 基础知识
2.1 符号说明
本文的数学符号采用了通常的表示方法,表1、表2和表3给出了特殊符号的定义。
表 1 人工势场法符号含义符号 符号含义 符号 符号含义 obs 障碍物 Xd 目标位置 UXd(x) 引力势能 Uobs(x) 斥力势能 Uart(x) 总势能 F 合力 FXd 吸引力 Fobs 排斥力 j 移动机器人感知到的
周边障碍物的个数表 2 A*算法符号含义符号 符号含义 符号 符号含义 g(⋅) 从初始节点到当前移动机器人
所在节点node的启发式评估代价h(⋅) 从当前移动机器人所在节点node到
目标节点的启发式评估代价(xstart,ystart) 初始节点坐标 (xgoal,ygoal) 目标节点坐标 (x,y) 移动机器人实时位置坐标 表 3 模型描述符号含义符号 符号含义 符号 符号含义 O1 障碍物的左端点 O2 障碍物的右端点 2α 障碍物的长 β 障碍物的宽 vt 移动机器人的实时线速度 a 移动机器人在运行态时的最大速度 Δd 移动机器人在某段时间内的移动距离 Sobs 所有障碍物总面积 Smap 地图面积 ρ 障碍物密度 2.2 人工势场法和A*算法
人工势场法将移动机器人的工作环境看作2维势能场[12],机器人在势能场中运动,目标点提供引力,引导机器人运行至目标点,工作环境内的障碍物提供斥力,引导移动机器人远离障碍物。
移动机器人的控制可以通过人工势能场来实现,总势能公式为
Uart(x)=UXd(x)+Uobs(x) (1) 对于人工势能场来说移动机器人受到的合力
F 为F=FXd+Fobs (2) FXd=−grad[UXd(x)] (3) Fobs=−grad[Uobs(x)] (4) 其中,
FXd 为吸引力,由UXd(x) 产生,吸引移动机器人到达目标点Xd 。Fobs 为排斥力,由Uobs(x) 产生,使机器人远离障碍物。Uobs(x) 是非负连续的可微函数,当移动机器人接近障碍物表面时,其值趋近于无穷大。为避免机器人不在障碍物附近却仍被影响的情况,该势场的影响范围仅限于围绕障碍物的给定区域。若移动机器人周边的障碍物不止1个,则移动机器人在人工势能场的势能为多个障碍物的合势能Uart(x)=UXd(x)+j∑i=0Uobs(x) (5) 相应地,移动机器人受到的合力为
F=FXd+j∑i=1Fobs (6) 力
FXd 与力Fobs 分别为沿着引力势能与斥力势能下降最快的方向,因此该算法保证机器人所行走路径平滑。A*算法[13]是启发式算法的一种,最初来源于迪杰斯特拉算法[14],同时A*算法借鉴了最佳优先搜索算法的某些思想,该算法不能保证找到一条最短路径,但该算法运用启发式函数可快速地导向目标节点。
在A*算法中首先建立两个列表,分别为open list和close list。其中close list用来存储移动机器人已走过的节点,而open list存储移动机器人下一步可行走的节点,A*算法选取子节点中
f(⋅) 最小的节点,其中f(⋅)=g(⋅)+h(⋅) (7) 有关于
g(⋅) 与h(⋅) 则用机器人与起始点和机器人与目标点之间的欧几里得距离来计算g(⋅)=√(xstart−x)2+(ystart−y)2 (8) h(⋅)=√(xgoal−x)2+(ygoal−y)2 (9) 3. 针对大型凹形障碍物的组合算法描述
3.1 障碍物模型
本文中地图和移动机器人都为2维正方形,单体大型凹形障碍物的长不可超过地图边长的
1/3 ,同时移动机器人的边长不超过单体大型凹形障碍物的长的1/3 ,所有障碍物在地图上服从均匀分布。典型大型凹形障碍物建模图如图1所示,图1中起点为机器人的起始点,终点为目标点,
O1 和O2 分别为障碍物左右端点,凸起方向朝向目标点。障碍物模型主要以椭圆形的上半部为主。依据椭圆公式,障碍物的方程有x=αcos(t)+xceny=βsinθ(t)+ycen,y>ycen} (10) 式中,
(xcen,ycen) 表示椭圆障碍物圆心在地图上的X ,Y 轴坐标,2α 为障碍物的长,β 为障碍物的宽。3.2 组合算法描述
针对两种算法的优缺点,本文的组合算法对它们二者进行了综合,将机器人的运行过程分为运行态、切换态和避障态3种状态。机器人在运行态下使用人工势场法导航,当机器人感受到自身在某一位置停留或震荡,则进入切换态,机器人感知此处并非目标点时将转至避障态,导航算法转换为A*算法,利用A*算法使移动机器人离开大型凹型障碍物内部后(激光雷达检测前方无障碍物)将移动机器人转至运行态,以此来保证机器人行走的路径为最优路径节省计算时间。组合算法流程图如图2所示。
4. 算法分析
4.1 正确性分析
运行态:在人工势场法合力场中,移动机器人按梯度下降最快的方向运行,以此保证路径最优。
gradf(x,y)=∇f(x,y)={∂f∂x,∂f∂y} (11) 避障态:A*算法不断搜索周围栅格,寻找未被障碍物侵占的栅格,因此只要起始点与终点间有可行路径,则该算法一定能够导航成功。
切换态:当移动机器人满足下面其中一条件时,便从运行态切换至避障态。以下两条件共同保证移动机器人陷入局部最优点后算法可做出及时调整。
切换态条件1:速度条件
v实时≤a/4 ,即移动机器人的速度小于运行态最大速度的1/4 ;切换态条件2:假设在时刻
t 时,经过时间Δt 后,移动机器人的位置变化为Δd 。若Δd≤vtΔt ,移动机器人在某时间段内的位置移动小于实时速度与时间之积,判定移动机器人此时处于切换态。4.2 复杂度分析
若地图表示为
n×n 矩阵,运行态需计算每个矩阵元素的斥力与引力之和,则运行态复杂度为O(n2) 。避障态分为内循环与外循环,外循环每次从open list中取出点,复杂度为O(n) 。内循环将它的邻接点放入open list中并排序,复杂度为O(nlgn) ,则避障态的复杂度为O(n2lgn) ,切换态的判定复杂度为O(1) 。则算法的整体复杂度为O(n2lgn) ,胡中华等人[11]所提出的组合算法,算法复杂度为O(n2lgn)+O(n2) ,且该算法无法在具有大型凹型障碍物环境下完成导航规划。5. 仿真分析
5.1 组合算法与人工势场法比较
本节对提出的针对大型凹形障碍物的组合算法的有效性进行仿真验证。仿真中采用前文所描述模型。在仿真过程中,将移动机器人看作一个小正方形,在人工势场法中,引力系数与斥力系数为
1:1 。在A*算法中:f(⋅)=g(⋅)+h(⋅) ,g(⋅) 与h(⋅) 比例为1:1 。将地图设置为正方形,地图中均已标明起始点与目标点,各图中黑色为障碍物,蓝色为移动机器人的路径。由图3(a)、图3(b)可见,人工势场法不能使移动机器人到达目标点,本文提出的针对大型凹形障碍物的组合算法可有效避开障碍物到达目标点。图3(c)为算法采用差速驱动的AGV车辆作为模拟对象在v-rep中的仿真,由各个长方体模拟构建障碍物,紫色为移动机器人路径。通过对虚拟仿真结果的分析,在拥有大型凹型障碍物的环境中,本文所提出的算法可有效的实现无碰撞导航规划。
5.2 组合算法与A*算法比较
组合算法与传统A*算法相比更加简便,运用传统A*算法的导航路线如图4, A*算法导航所得到的路径中有大量转折点,且路径较长,可见,组合算法无论在路径的平滑度方面与机器人行走距离上都更优。
5.3 组合算法与其他改进算法的比较
图5为沈文君的改进人工势场法[15],本文将该算法放入类似的地图中模拟,其中红色线条为导航产生的路径,彩色虚线为各个障碍物位置,黑色虚线为障碍物影响范围,图5中目标点与起始点均已标注,可见,该算法并不能完成本次导航,本文算法更具有优越性。
5.4 组合算法在其他场景下的避障
组合算法不仅可以针对大型凹形障碍物进行避障,还可以在其他场景下进行避障如图6。人工势场法无法完成该类型的导航任务。各图中黑色为障碍物,蓝色为移动机器人的路径。
人工势场法不能完成导航,在此不做数据比较,本文所提算法与A*算法、改进的人工势场法[15]比较数据如表4,数据说明了在图3所示环境中组合算法比A*算法时间节省52.57%,路程缩短32.05%,且改进人工势场法无法完成导航。
表 4 算法性能比较算法 时间(s) 路径长度(m) A*算法 22.40 1040.69 改进人工势场法[15] 无穷大 无穷大 本文组合算法 10.62 707.09 6. 结束语
本文针对大型凹型障碍物的避障提出了一种组合算法,在尽可能地保证移动机器人行走的路径为最优路径的前提下,通过转变算法让移动机器人离开局部最优点,且运行路径更短更接近最优路径,弥补了人工势场法不完备的缺陷,且组合算法比A*算法在时间上平均快63.69%,路径上平均短52.04%。但此种算法也有局限性,它仅能处理障碍物密度
ρ<37%(ρ=Sobs/Smap) 的地图且仅针对长宽比在1.40~2.85内的障碍物,对于长宽比超过此范围的障碍物,后续将研究填补凹形障碍物并将其视为凸型的方法来进行移动机器人避障。 -
表 1 人工势场法符号含义
符号 符号含义 符号 符号含义 obs 障碍物 Xd 目标位置 UXd(x) 引力势能 Uobs(x) 斥力势能 Uart(x) 总势能 F 合力 FXd 吸引力 Fobs 排斥力 j 移动机器人感知到的
周边障碍物的个数表 2 A*算法符号含义
符号 符号含义 符号 符号含义 g(⋅) 从初始节点到当前移动机器人
所在节点node的启发式评估代价h(⋅) 从当前移动机器人所在节点node到
目标节点的启发式评估代价(xstart,ystart) 初始节点坐标 (xgoal,ygoal) 目标节点坐标 (x,y) 移动机器人实时位置坐标 表 3 模型描述符号含义
符号 符号含义 符号 符号含义 O1 障碍物的左端点 O2 障碍物的右端点 2α 障碍物的长 β 障碍物的宽 vt 移动机器人的实时线速度 a 移动机器人在运行态时的最大速度 Δd 移动机器人在某段时间内的移动距离 Sobs 所有障碍物总面积 Smap 地图面积 ρ 障碍物密度 表 4 算法性能比较
算法 时间(s) 路径长度(m) A*算法 22.40 1040.69 改进人工势场法[15] 无穷大 无穷大 本文组合算法 10.62 707.09 -
王勇臻, 陈燕, 于莹莹. 求解多旅行商问题的改进分组遗传算法[J]. 电子与信息学报, 2017, 39(1): 198–205. doi: 10.11999/JEIT160211WANG Yongzhen, CHEN Yan, and YU Yingying. Improved grouping genetic algorithm for solving multiple traveling salesman problem[J]. Journal of Electronics &Information Technology, 2017, 39(1): 198–205. doi: 10.11999/JEIT160211 黄长强, 赵克新. 基于改进蚁狮算法的无人机三维航迹规划[J]. 电子与信息学报, 2018, 40(7): 1532–1538. doi: 10.11999/JEIT170961HUANG Changqiang and ZHAO Kexin. Three dimensional path planning of UAV with improved ant lion optimizer[J]. Journal of Electronics &Information Technology, 2018, 40(7): 1532–1538. doi: 10.11999/JEIT170961 KHATIB O. Real-time obstacle avoidance for manipulators and mobile robots[J]. The International Journal of Robotics Research, 1986, 5(1): 90–98. doi: 10.1177/027836498600500106 PARK M G, JEON J H, and LEE M C. Obstacle avoidance for mobile robots using artificial potential field approach with simulated annealing[C]. 2001 IEEE International Symposium on Industrial Electronics, Pusan, South Korea, 2001: 1530–1535. doi: 10.1109/ISIE.2001.931933. 况菲, 王耀南. 基于混合人工势场-遗传算法的移动机器人路径规划仿真研究[J]. 系统仿真学报, 2006, 18(3): 774–777. doi: 10.16182/j.cnki.joss.2006.03.061KUANG Fei and WANG Yaonan. Robot path planning based on hybrid artificial potential field/genetic algorithm[J]. Journal of System Simulation, 2006, 18(3): 774–777. doi: 10.16182/j.cnki.joss.2006.03.061 LEE D, JEONG J, KIM Y H, et al. An improved artificial potential field method with a new point of attractive force for a mobile robot[C]. The 2nd International Conference on Robotics and Automation Engineering, Shanghai, China, 2017: 63–67. doi: 10.1109/ICRAE.2017.8291354. ROSTAMI S M H, SANGAIAH A K, WANG Jin, et al. Obstacle avoidance of mobile robots using modified artificial potential field algorithm[J]. EURASIP Journal on Wireless Communications and Networking, 2019(1): No. 70, 1–19. doi: 10.1186/s13638-019-1396-2 HART P E, NILSSON N J, and RAPHAEL B. A formal basis for the heuristic determination of minimum cost paths[J]. IEEE Transactions on Systems Science and Cybernetics, 1968, 4(2): 100–107. doi: 10.1109/TSSC.1968.300136 DECHTER R and PEARL J. Generalized best-first search strategies and the optimality of A*[J]. Journal of the ACM, 1985, 32(3): 505–536. doi: 10.1145/3828.3830 田景文, 孔垂超, 高美娟. 一种车辆路径规划的改进混合算法[J]. 计算机工程与应用, 2014, 50(14): 58–63. doi: 10.3778/j.issn.1002-8331.1208-0319TIAN Jingwen, KONG Chuichao, and GAO Meijuan. Improved hybrid algorithm of vehicle path planning[J]. Computer Engineering and Applications, 2014, 50(14): 58–63. doi: 10.3778/j.issn.1002-8331.1208-0319 胡中华, 潘洲, 王凯凯. 基于混合算法的动态路径规划[J]. 煤矿机械, 2015, 36(12): 243–245. doi: 10.13436/j.mkjx.201512103HU Zhonghua, PAN Zhou, and WANG Kaikai. Dynamic path planning based on hybrid algorithm[J]. Coal Mine Machinery, 2015, 36(12): 243–245. doi: 10.13436/j.mkjx.201512103 唐志荣, 冀杰, 吴明阳, 等. 基于改进人工势场法的车辆路径规划与跟踪[J]. 西南大学学报: 自然科学版, 2018, 40(6): 174–182. doi: 10.13718/j.cnki.xdzk.2018.06.025TANG Zhirong, JI Jie, WU Mingyang, et al. Vehicles path planning and tracking based on an improved artificial potential field method[J]. Journal of Southwest University:Natural Science Edition, 2018, 40(6): 174–182. doi: 10.13718/j.cnki.xdzk.2018.06.025 赵奇, 赵阿群. 一种基于A*算法的多径寻由算法[J]. 电子与信息学报, 2013, 35(4): 952–957. doi: 10.3724/SP.J.1146.2012.00983ZHAO Qi and ZHAO Aqun. A multi-path routing algorithm base on A* algorithm[J]. Journal of Electronics &Information Technology, 2013, 35(4): 952–957. doi: 10.3724/SP.J.1146.2012.00983 DIJKSTRA E W. A note on two problems in connexion with graphs[J]. Numerische Mathematik, 1959, 1(1): 269–271. doi: 10.1007/BF01386390 沈文君. 基于改进人工势场法的机器人路径规划算法研究[D]. [硕士论文], 暨南大学, 2009.SHEN Wenjun. Algorithm research of path planning for robot based on improved artifical potential field[D]. [Master dissertation], Jinan University, 2009. -