
CBS框架下面向复杂地图的低拓展度A*算法
Low-Expansion A* Algorithm Based on CBS Framework for Complex Map
A*算法是机器人路径规划问题中的重要且常用算法之一,在地形复杂的大型地图中,路径点之间的不可视造成A*算法需要大规模节点拓展才能找到可行的优化路径,由此导致算法对存储空间的需求剧增和求解效率的降低.对此,本文针对基于冲突搜索(Conflict-Based Search,CBS)框架下的低层路径规划问题,引入三角剖分方法,给出固定障碍处理方法,融合可视性优化获得相邻点可视的优化路径,在此基础上提出分段策略,令具有动态冲突处理能力的A*算法依相邻可视点进行分段路径规划,最终获得低节点拓展度A*路径规划算法.通过标准地图数据集的仿真实验表明,在复杂地图下本文提出的算法路径长度为A*算法的98.1%~102.2%,节点拓展量降低85.4%,算法求解时间减少58.1%.
A* algorithm is one of the important and commonly used algorithms in path planning of robots. In large map with complex terrain, large-scale node expansion is needed in A* algorithm to find a feasible optimization path in the case of invisibility between path points. This leads to a sharp increase in the demand for storage space and a decrease in running efficiency of the algorithm. To solve low-level path planning problems based on CBS(Conflict-Based Search) framework, an A* path planning algorithm with low node expansion is proposed. Triangulation method and fixed obstacle processing method are introduced to obtain an optimized path that is visible to adjacent points. Moreover, a segmentation strategy is proposed based on integrated visibility optimization to plan the segmented path according to the adjacent visible points with dynamic collision processing ability. Simulation experiments on standard map data sets under complex terrain show that the path length of the proposed algorithm in this paper is 98.1%~102.2% as long as that of A* algorithm, compared with which, the amount of node expansion reduces by 85.4% and the running time of algorithm reduces by 58.1%.
A*算法 / 路径规划 / Delaunay三角剖分 / 移动机器人 / 冲突消解 {{custom_keyword}} /
A* algorithm / path planning / Delaunay triangulation / mobile robot / conflict resolution {{custom_keyword}} /
表1 简单算例仿真结果 |
算法 | 运行时间/ms | 节点拓展数量 | 路径长度 |
---|---|---|---|
A*算法 | 40.98 | 598 | 62 |
Tie-Breaking A*算法 | 8.91 | 181 | 62 |
LEADTOC算法 | 16.13 | 178 | 62 |
表2 复杂算例仿真结果 |
算法 | 运行时间/ms | 节点拓展数量 | 路径长度 |
---|---|---|---|
A*算法 | 610.46 | 12 763 | 415 |
Tie-Breaking A*算法 | 616.72 | 12 763 | 415 |
LEADTOC算法 | 99.97 | 1 265 | 411 |
表3 测试地图可用算例数量 |
地图名称 | 地图大小 | 算例数量 |
---|---|---|
den520d | 257×256 | 269 |
den312d | 81×65 | 121 |
lak303d | 194×194 | 474 |
ht_0_hightown_a3 | 514×514 | 179 |
lt_undercitydungeon | 177×184 | 312 |
lt_foundry_n | 92×109 | 202 |
8room_000 | 512×512 | 1 607 |
16room_000 | 512×512 | 1 839 |
32room_000 | 512×512 | 1 658 |
darkforest | 512×512 | 494 |
表4 Benchmark测试结果 |
地图 | 平均拓展节点数 | 平均路径长度 | 平均运行时间/ms | ||||||
---|---|---|---|---|---|---|---|---|---|
A* | Tie-Breaking A* | LEADTOC | A* | Tie-Breaking A* | LEADTOC | A* | Tie-Breaking A* | LEADTOC | |
den520d | 3 574 | 3 062 | 540 | 174.78 | 175.25 | 174.17 | 155.43 | 131.20 | 37.31 |
den312d | 447 | 321 | 168 | 60.36 | 60.86 | 60.35 | 18.80 | 13.25 | 13.58 |
lak303d | 4 126 | 4 021 | 575 | 200.77 | 205.32 | 201.36 | 194.99 | 189.89 | 137.75 |
ht_0_hightown_a3 | 3 717 | 3 398 | 538 | 184.65 | 185.80 | 184.78 | 170.01 | 160.37 | 77.46 |
lt_undercitydungeon | 2 873 | 2 706 | 442 | 165.44 | 165.97 | 165.37 | 129.56 | 122.25 | 36.39 |
lt_foundry_n | 1 122 | 1 078 | 245 | 91.34 | 91.66 | 91.42 | 49.75 | 47.41 | 20.24 |
8room_000 | 22 839 | 21 981 | 1 344 | 491.60 | 494.01 | 498.54 | 1 015.55 | 983.94 | 517.62 |
16room_000 | 25 376 | 24 522 | 1 515 | 495.08 | 496.56 | 502.60 | 1 126.83 | 1 084.69 | 378.58 |
32room_000 | 26 877 | 25 844 | 1 362 | 436.28 | 436.81 | 446.75 | 1 209.36 | 1 153.37 | 297.31 |
darkforest | 8 797 | 5 680 | 965 | 290.55 | 291.17 | 293.70 | 390.25 | 242.47 | 110.12 |
表5 算法性能比较 |
算法 | 运行时间比 | 节点拓展数量比 | 路径长度比 |
---|---|---|---|
A*算法 | 1 | 1 | 1 |
Tie-Breaking A*算法 | 0.887 | 0.890 | 1.006 |
LEADTOC算法 | 0.419 | 0.146 | 1.006 |
表6 仿真场景参数设置表 |
属性 | 起点 | 终点 |
---|---|---|
机器人 | (16,60) | (55,37) |
动态冲突物1 | (20,46) | (20,62) |
动态冲突物2 | (61,21) | (22,39) |
1 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
2 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
3 |
HO F,
{{custom_citation.content}}
{{custom_citation.annotation}}
|
4 |
王保防, 张瑞雷, 郭健, 等. 纵向打滑状态下的轮式移动机器人编队控制[J]. 电子学报, 2017, 45(1): 206-212.
{{custom_citation.content}}
{{custom_citation.annotation}}
|
5 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
6 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
7 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
8 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
9 |
王乐乐, 眭泽智, 蒲志强, 等. 一种改进RRT的多机器人编队路径规划算法[J]. 电子学报, 2020, 48(11): 2138-2145.
{{custom_citation.content}}
{{custom_citation.annotation}}
|
10 |
尹高扬, 周绍磊, 吴青坡. 基于改进RRT算法的无人机航迹规划[J]. 电子学报, 2017, 45(7): 1764-1769.
{{custom_citation.content}}
{{custom_citation.annotation}}
|
11 |
马小陆, 梅宏. 基于改进势场蚁群算法的移动机器人全局路径规划[J]. 机械工程学报, 2021, 57(1): 19-27.
{{custom_citation.content}}
{{custom_citation.annotation}}
|
12 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
13 |
许凯波, 鲁海燕, 黄洋, 等. 基于双层蚁群算法和动态环境的机器人路径规划方法[J]. 电子学报, 2019, 47(10): 2166-2176.
{{custom_citation.content}}
{{custom_citation.annotation}}
|
14 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
15 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
16 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
17 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
18 |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
{{custom_ref.label}} |
{{custom_citation.content}}
{{custom_citation.annotation}}
|
/
〈 |
|
〉 |