2. 北京眸视科技有限公司,北京 100085
2. Beijing Elitenect Technologies Co., Ltd., Beijing 100085, China
随着移动机器人在各个领域的广泛应用, 非平坦地形(如农田、油田等环境)逐渐成为移动机器人的主要应用场景[1]. 非平坦地形环境复杂, 这对移动机器人的路径规划方法提出了更多的挑战. 安全可靠的路径规划方法是非平坦地形下移动机器人安全导航的重要保障.
针对3D环境下的路径规划方法, 文献[2]列举了近几年中主要的3D环境中移动机器人的路径规划算法, 其中基于数学模型的算法通过微分方程来描述所有约束条件, 可以提高算法的安全性和可靠性, 但这种方法给计算机带来了沉重的计算负担. 文献[3-4]通过模仿生物的行为对算法进行设计, 这种生物启发式方法可以很好地处理复杂和动态的非结构化环境. 但这种算法通过突变(迭代优化)来优化路径, 使得算法处理时间较长, 效率相对较低. 文献[5-6]是基于采样的算法, 该方法具有使用初始猜测的优点, 随机的初始猜测可确保逃避局部最小值, 并且这种算法不太依赖环境的表示方式. 除此之外, 针对非平坦地形的路径规划常用的是基于3D栅格地图和高程地图的路径规划方法. 文献[7]提出了一种变维度状态空间的建图方法, 该方法在机器人周围的局部区域利用3D栅格地图进行建图, 其他区域使用2D栅格地图进行建图, 这种2D与3D相结合的建图方法, 即可以提高移动机器人局部路径的精度, 又可以保证全局路径的高效性. 文献[8]通过相机对室内的非平坦环境进行3D重建, 以解决带有楼梯与斜坡的3D环境中的移动机器人导航问题. 文献[9]针对非平坦地形, 利用激光雷达和车轮里程计的信息获得地面的高程等数据, 对非平坦地形进行3D栅格建图, 与2D栅格建图相比, 该方法可以更准确地感知周围的环境信息, 但3D栅格地图由于状态空间维数的增加必然导致路径规划时间和计算机内存需求的增加, 尤其是当环境尺寸增加时, 这个问题尤其突出. 为了节省地图存储所占用的空间, 一些学者提出用基于2D栅格地图的高程图法[10-12], 利用2D栅格地图以及每一个栅格的高程信息组成2.5D栅格地图对环境进行建模. 虽然利用栅格存储单位面积内的高程信息会导致部分环境信息的缺失, 但可以显著降低数据存储空间并提高运算速度.
文献[13]提出了一种基于改进A*的启发式搜索方法, 利用高程地图在非平坦环境上寻找有效路径, 但其设计的启发式函数无法利用高程信息对路径的风险作出判断. 文献[14]通过计算移动机器人在高程地图上的能耗模型, 根据能耗模型提出了一种基于Dijkstra算法的路径规划方法, 该方法通过缩短路径长度以减少移动机器人的能源消耗, 容易产生局部最优解. 文献[15]实现了一种对环境高程信息进行分级的3D栅格地图上的路径规划算法, 对环境中的高程信息进行等级划分, 移动机器人每次移动只能在相同或者相邻等级的栅格间运动, 保证了移动机器人路径的相对平缓, 但是当环境高程差相差过大, 或分级不均匀时, 会直接导致移动机器人无法完成路径规划. 文献[16]提出了一种基于拓扑高程模型的室外三维环境建模和路径规划方法, 虽然该方案可以有效地构建环境并将相邻栅格间的高程差作为路径规划的约束条件之一, 但是由于栅格的高分辨率, 使得相邻栅格之间的距离在环境中只能表示几厘米, 不能根据移动机器人的运动能力进行调节, 因此不适用于其他尺寸的移动机器人.
综上所述, 非平坦地形下的移动机器人路径规划已具有一定的研究成果, 但目前的这些方法没有根据移动机器人的运动能力和环境信息对路径进行优化, 以保证移动机器人在非平坦地形下的安全. 对此, 本文针对非平坦地形环境, 提出一种双分辨率2.5D分层栅格地图的建图方法, 利用双分辨率栅格对环境中的高程信息与障碍物信息进行分层存储, 可以节约移动机器人的存储空间, 提高运算效率. 另外, 在双分辨率2.5D栅格地图的基础上提出一种基于A*算法[17-19]的路径规划方法, 该方法根据移动机器人的运动能力[20]对其路径进行优化, 可以规划出一条保证移动机器人自身安全的路径.
1 双分辨率2.5D栅格地图建模结合2D栅格地图与3D栅格地图的优缺点, 本文提出一种2.5D的建图方案, 称为Multilevel Map, 其是由多层栅格地图组成的一种复合型地图. 如图 1所示, map
|
图 1 2.5D分层地图 |
障碍物信息层利用占据栅格地图存储环境中的障碍物信息, 如图 2所示. 白色栅格表示free状态, 机器人可以在白色栅格中自由移动; 灰色栅格表示occupied状态, 即有障碍物存在, 机器人无法到达该区域.
|
图 2 障碍物信息层地图 |
高度信息层中的每个节点存储地图的高程信息, 每一个节点中的高程值代表着一个范围(根据分辨率设定)内的高程平均值. 图 3所示是一张尺寸为
|
图 3 高度信息层地图 |
对于大尺寸环境, 利用高分辨建图可能使移动机器人在路径规划时超出其运算能力, 无法快速地获得有效路径[21]. 因此, 构建高分辨率的大地图是不可取的. 同时, 分辨率过大会导致移动机器人路径规划的精度降低, 增加移动机器人碰撞障碍物的风险, 因此适当的分辨率对大尺寸环境的路径规划有着重要的影响. 使用双分辨率地图是一种很好的解决方法. 障碍物信息层保证移动机器人能准确地识别障碍物的边界, 以实现移动机器人的高效避障, 分辨率可以设置的相对较小. 为避免高度信息层分辨率过低导致大量高程信息丢失, 影响移动机器人路径规划, 本文中高度信息层的分辨率根据移动机器人的尺寸进行设定, 通常选取移动机器人自身长度的二分之一作为高度信息层的分辨率大小, 这样即节省了存储地图所需的空间, 又提高了建图的效率. 如图 4所示, 上层地图为障碍物信息地图, 下层地图为高程信息地图, 其分辨率比例为1:3. 为方便理解, 以下讨论中将使用分辨率为1:3的Multilevel Map地图进行说明.
|
图 4 双分辨率分层地图 |
在双分辨率2.5D栅格地图的基础上, 本文提出一种基于A*算法的安全路径规划算法, 称其为Secure A* (SA*)算法. 传统A*算法的代价函数为
| $ \begin{align*} f(n) = g(n)+h(n). \end{align*} $ |
其中:
SA*算法与传统算法A*不同的是: SA*算法将传统A*算法代价函数中的
| $ \begin{align} F_{\rm cost}(n) = xG_{\rm cost}(n)+(1-x)H_{\rm cost}(n), \end{align} $ | (1) |
其中
为了表达方便, 本文引入一些符号作为标记, 这些符号的表示及其含义如表 1所示.
| 表 1 符号说明 |
注1
算法1 GetHeightMapPoint.
input:
output:
1) function GetHeightMapPoint
2) if
3)
4)
5) return MappingRelation (
6) end if
7) if
8)
9)
10) return
11) end if
12) end function
13) function GetSurroundPoint
14) for
15) for
16) if IsCanreach
17) return
18) end if
19) end for
20) end for
21) end function
22) function MappingRelation
23) for
24)
25) return
26) end for
27) end function
将父节点
|
图 5 双分辨率地图的映射关系 |
根据算法1可以得到: 图 5中左图障碍物信息层节点
图 6是图 5中右图的立体图, 计算当前节点
| $ \begin{align} \theta_n = {\rm arctan}\Big(\frac{|H_{hn}-H_f|}{\sqrt{(x_{hn}-x_f)^2+(y_{hn}-y_f)^2}}\Big). \end{align} $ | (2) |
|
图 6 当前节点的坡度 |
根据文献[14]提出的轮式机器人运动能力的性能指标, 本文以最大可爬坡度与最小可爬坡度作为移动机器人运动能力的性能指标. 设移动机器人最大可爬坡度为
| $ \begin{align} \theta_n = \begin{cases} \theta_{n_1}, \; |\theta_n\leqslant\theta_{\min}|;\\[-3pt] \theta_{n_2}, \; |\theta_{\min} <\theta_n\leqslant\theta_{\max}|;\\[-3pt] \theta_{n_3}, \; |\theta_n > \theta_{\max}|. \end{cases} \end{align} $ | (3) |
其中:
定义1
算法2 SortSurroundPoint.
input:
output:
1) function SortSurroundPoint
2) JudgmentPriority
3) for
4) if
5)
6) Delete
7) if
8)
9) end if
10) end if
11) end for
12)
13) Sort
14)
15) end function
16) function JudgmentPriority
17) for
18) if
19)
20) end if
21) if
22)
23) Delete
24) else
25)
26) end if
27) end for
28) return
29) end function
算法2的实施流程是: 首先判断集合
图 7是用算法2对父节点周围节点进行优先级排序的一个简单例子. 为了直观, 截取高度信息层中的3
|
图 7 高程信息选择顺序图 |
在这个例子中, 设定机器人的最小可爬坡度
定义2 集合
利用下式对
| $ \begin{align} &f(N_k) = \\ &\begin{cases} \Big\{\Big[\dfrac{m}{2}\Big]+1-\dfrac{k-1}{2}, \ldots, \Big[\dfrac{m}{2}\Big]+\dfrac{k-1}{2}\Big\}, \\ \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; k\in2{{\mathit{\boldsymbol{ Z }}}}+1;\\ \Big\{\Big[\dfrac{m}{2}\Big]-\dfrac{k}{2}+1, \ldots, \Big[\dfrac{m}{2}\Big], \Big[\dfrac{m}{2}\Big]+\\[6pt] 2, \ldots, \Big[\dfrac{m}{2}\Big]+\dfrac{k}{2}+1\Big\}, \; k\in2{{\mathit{\boldsymbol{ Z }}}}. \end{cases} \end{align} $ | (4) |
其中
| $ \begin{align*} G_{\rm near}(n) = f(N_k(n)), \end{align*} $ |
则由图 6可得,
| $ \begin{align*} G_{\rm cost}(n) = G_{\rm cost}(n-1)+G_{\rm near}(n). \end{align*} $ |
传统A*算法常用的距离计算方式有曼哈顿距离(Manhattan distance)、欧氏距离(Euclidean distance)等. 为了使路径整体较为平缓, 本文提出一种新的距离计算方式—坡度距离(slope distance), 简称
|
图 8 坡度距离 |
| $ \begin{align} S_d = (|H_t-H_n|)/{\sin\theta_t}, \end{align} $ | (5) |
其中
| $ \begin{align*} H_{\rm cost}(n) = S_d\times\; U_{c}. \end{align*} $ |
为了提高算法的效率与精确度, 本文在式(1)中加入一个比列调节因子
| $ \begin{align} x = \begin{cases} \alpha, \; |S_d\leqslant uL_r|;\\ \dfrac{(\beta-\alpha)(S_d-L_r)}{(v-u)L_r} + \beta, \; |uL_r < S_d < vL_r|; \\ \beta, \; |S_d\geqslant vL_r|. \end{cases} \end{align} $ | (6) |
为了验证所提出的基于双分辨率2.5D分层地图的安全路径规划方法的有效性, 实验中随机生成50幅地图进行仿真实验. 实验中需要设定的参数如表 2所示.
| 表 2 参数设定 |
首先, 针对不同尺寸的环境分别进行2D、2.5D和3D栅格建图以比较不同建图方式下的存储空间大小, 如图 9所示. 其中: 2D和3D栅格地图的分辨率都为0.1 m
|
图 9 地图面积与存储空间的关系 |
当地图面积为1 000 m
为方便观察, 实验中随机生成50幅地图尺寸大小为20
| 表 3 仿真计算结果 |
传统A*算法与SA*算法的路径高程变化情况如图 10所示. 可以看出: SA*的路径整体高程波动并不大, 波动区间为
|
图 10 传统A*算法与SA*算法的路径高程变化 |
实验中, 取其中一组实验数据进行分析. 为了方便观察, 将高度信息层中的高程信息与障碍物信息层合并, 图 11是传统A*算法的路线, 图 12是SA*算法的路线. 对比发现, SA*算法的路径与传统A*算法的路径并不相同, 在坐标
|
图 11 2D A*算法路径 |
|
图 12 SA*算法路径 |
针对非平坦地形, 本文提出了一种基于2.5D栅格地图的安全路径规划方法. 首先, 利用双分辨率栅格对环境中的高程信息与障碍物信息进行分层存储, 使用高分辨率栅格存储障碍物信息, 利用低分辨率的栅格存储高程信息, 相比3D栅格地图可以节约53.8 %的存储空间. 在此基础上, 提出了一种保证移动机器人安全的路径规划方法, 该方法根据移动机器人的运动能力对路径进行优化, 使得路径的高程标准差相比传统A*算法降低了63.9 %, 路面坡度变化更加平缓, 保证了移动机器人在非平坦环境下的安全. 同时, 算法中加入了自适应因子, 可以减少路径中的冗余点和无用的区间搜索, 以提高算法的效率和准确率. 最后, 通过仿真实验证实了所提出的规划方法的有效性, 该方法能够快速准确地实现一条保证机器人自身安全的路径.
| [1] |
Ganganath N, Cheng C T, Fernando T, et al. Shortest path planning for energy-constrained mobile platforms navigating on uneven terrains[J]. IEEE Transactions on Industrial Informatics, 2018, 14(9): 4264-4272. DOI:10.1109/TII.2018.2844370 |
| [2] |
Yang L, Qi J T, Song D L, et al. Survey of robot 3D path planning algorithms[J]. Journal of Control Science and Engineering, 2016, 2016: 1-22. |
| [3] |
Pu X C, Xiong C W, Ji L H, et al. 3D path planning for a robot based on improved ant colony algorithm[J]. Evolutionary Intelligence. |
| [4] |
Wang L F, Kan J M, Guo J, et al. 3D path planning for the ground robot with improved ant colony optimization[J]. Sensors, 2019, 19(4): 815. DOI:10.3390/s19040815 |
| [5] |
Li M, Sun Q P, Song Q, et al. Path planning of mobile robot based on RRT in rugged terrain[C]. Proceedings of the 2nd International Conference on Computer Science and Application Engineering. Hohhot, 2018: 1-5.
|
| [6] |
Li X L, Jiang H X, Shi W Q, et al. Path planning of multipoint region attraction RRT* algorithm in complex environment[C]. 2019 Chinese Control Conference (CCC). Guangzhou, 2019: 4409-4414.
|
| [7] |
张浩杰, 龚建伟, 姜岩, 等. 基于变维度状态空间的增量启发式路径规划方法研究[J]. 自动化学报, 2013, 39(10): 1602-1610. (Zhang H J, Gong J W, Jiang Y, et al. Research on incremental heuristic path planner with variable dimensional state space[J]. Acta Automatica Sinica, 2013, 39(10): 1602-1610.) |
| [8] |
Wang C Q, Wang J K, Li C M, et al. Safe and robust mobile robot navigation in uneven indoor environments[J]. Sensors, 2019, 19(13): 2993. DOI:10.3390/s19132993 |
| [9] |
Yu X Y, Wang J C, Chen W D, et al. A map accessibility analysis algorithm for mobile robot navigation in outdoor environment[C]. 2019 IEEE International Conference on Real-time Computing and Robotics (RCAR). Irkutsk, 2019: 475-480.
|
| [10] |
Choi S, Park J, Lim E, et al. Global path planning on uneven elevation maps[C]. The 9th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI). Doejeou, 2012: 49-54.
|
| [11] |
Ohki T, Nagatani K, Yoshida K. Path planning for mobile robot on rough terrain based on sparse transition cost propagation in extended elevation maps[C]. 2013 IEEE International Conference on Mechatronics and Automation. Takamatsu, 2013: 494-499.
|
| [12] |
Ganganath N, Cheng C T, Tsc C K. A constraint-aware heuristic path planner for finding energy-efficient paths on uneven terrains[J]. IEEE Transactions on Industrial Informatics, 2015, 11(3): 601-611. DOI:10.1109/TII.2015.2413355 |
| [13] |
Norouzi M, Miro J V, Dissanayake G. Planning high-visibility stable paths for reconfigurable robots on uneven terrain[C]. 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems. Vilamoura-Algar, 2012: 2844-2849.
|
| [14] |
Saad M, Salameh A I, Abdallah S. Energy-efficient shortest path planning on uneven terrains: A composite routing metric approach[C]. 2019 IEEE International Symposium on Signal Processing and Information Technology (ISSPIT). Ajman, 2019: 1-6.
|
| [15] |
Zhang H, Liu M L, Liu R, et al. Path planning of robot in three-dimensional grid environment based on genetic algorithms[C]. The 7th World Congress on Intelligent Control and Automation. Chongqing, 2008: 1010-1014.
|
| [16] |
闫飞, 庄严, 白明, 等. 基于拓扑高程模型的室外三维环境建模与路径规划[J]. 自动化学报, 2010, 36(11): 1493-1501. (Yan F, Zhuang Y, Bai M, et al. 3D outdoor environment modeling and path planning based on topology-elevation model[J]. Acta Automatica Sinica, 2010, 36(11): 1493-1501.) |
| [17] |
Ono M, Fuchs T J, Steffy A, et al. Risk-aware planetary rover operation: Autonomous terrain classification and path planning[C]. 2015 IEEE Aerospace Conference. Big Sky, 2015: 1-10.
|
| [18] |
余文凯, 章政, 付雪画, 等. 基于地图预处理及改进A*算法的路径规划[J]. 高技术通讯, 2020, 30(4): 383-390. (Yu W K, Zhang Z, Fu X H, et al. Path planning based on map preprocessing and improved A* algorithm[J]. Chinese High Technology Letters, 2020, 30(4): 383-390.) |
| [19] |
王洪斌, 尹鹏衡, 郑维, 等. 基于改进的A*算法与动态窗口法的移动机器人路径规划[J]. 机器人, 2020, 42(3): 346-353. (Wang H B, Yin P H, Zheng W, et al. Mobile robot path planning based on improved A* algorithm and dynamic window method[J]. Robot, 2020, 42(3): 346-353.) |
| [20] |
Nowac W, González F, MacMahon S, et al. Performance indicators for wheeled robots traversing obstacles[J]. IEEE Robotics and Automation Letters, 2020, 5(2): 2881-2888. DOI:10.1109/LRA.2020.2974431 |
| [21] |
Shamsudin A U, Ohno K, Hamada R, et al. Two-stage hybrid A* path-planning in large petrochemical complexes[C]. 2017 IEEE International Conference on Advanced Intelligent Mechatronics (AIM). Munich, 2017: 1619-1626.
|
2022, Vol. 37
