An Efficient and Robust Improved A* Algorithm for Path Planning
<p>The process of BFS.</p> "> Figure 2
<p>Schematic diagram of the expansion distance.</p> "> Figure 3
<p>A schematic diagram of search optimization.</p> "> Figure 4
<p>Single right-angle turn smoothing.</p> "> Figure 5
<p>Continuous right-angle turns smoothing.</p> "> Figure 6
<p>Simulation results of 5 algorithms on a 100 × 100 map scale. (<b>a</b>) A*. (<b>b</b>) EA*. (<b>c</b>) EBA*. (<b>d</b>) EBHA*. (<b>e</b>) EBHSA*.</p> "> Figure 7
<p>Simulation results of 5 algorithms on a 100 × 100 map scale. (<b>a</b>) Manhattan distance. (<b>b</b>) Euclidean distance. (<b>c</b>) Diagonal distance. (<b>d</b>) Chebyshev distance. (<b>e</b>) EBHSA*.</p> "> Figure 8
<p>Path planning of the EBHSA* and the Geometric A* algorithm. (<b>a</b>) EBHSA* algorithm. (<b>b</b>) Geometric A* algorithm.</p> "> Figure 9
<p>FS-AIROBOTB component diagram.</p> "> Figure 10
<p>Actual test environment and the map constructed by SLAM.</p> "> Figure 11
<p>The rviz interface of path planning and extracted path.</p> ">
Abstract
:1. Introduction
2. Related Work
3. The Proposed Methods
3.1. Basic Theory of the Traditional A* Algorithm
3.2. Expansion Distance
3.3. Bidirectional Search Optimization
3.4. The Heuristic Function
- Manhattan distance heuristic function
- 2.
- Euclidean distance heuristic function
- 3.
- Diagonal distance heuristic function
- 4.
- Chebyshev distance heuristic function
3.5. Smoothing Optimization for Right-Angle Turns
4. EBHSA* Algorithm Time Complexity Analysis
Algorithm 1: The pseudocode of the algorithm. |
Function: Search(node_i, goal, CLOSE_LIST_i) |
Input: Current search node node_i, goal node goal and positive close list CLOSE _LIST_i |
Output: A path PATH from Start_i to End_i |
Effect: Renew the open list and close list to find the target. |
1: Find the surrounding nodes “node(0)”, “node(1)”, “node(2)”, “node(3)” of the node_i |
2: for i = 0, i = 3, repeat |
3: if node(i) ∉ CLOSE_LIST_i |
4: heuristic(i) = sqrt((goal_x-node(i)_x)^2 + (goal_y-node(i)_y)^2) |
+ max(abs(goal_x-node(i)_x),abs(goal_y-node(i)_y)) × 2 |
5: OPEN_LIST_i <- node(i) |
6: else heuristic(i) = ∞ |
7: end if |
8: end for |
5. Simulation Testing
- The maps and obstacles of maps are randomly generated. Randomized maps can more accurately verify the universality of the proposed algorithm.
- The size of each obstacle in the map is a 5 × 5 grid, and the number of obstacle center points accounts for about 1.5% of the map scale. A certain number of obstacles can more accurately verify the robustness of the algorithm.
- The firewall, anti-virus software and other software running on the PC were closed during the test to ensure no interference with the execution of the algorithm. We needed to ensure that the algorithm had a stable operating environment during repeated tests, and we found in the test that anti-virus software had a direct impact on the efficiency of the algorithm.
- The running time of the algorithm was used as the only ruler of the efficiency of the algorithm, and its measured unit was seconds.
5.1. Single and Randomized Maps Testing
5.2. Comparison Testing for Other A* Modification
5.3. Discussion
5.3.1. Efficiency
5.3.2. Robustness
6. Effectiveness Test
- A real environment is set, and the start point and goal point are set in the scene.
- Since the wheels of the robot are Mecanum wheels with 360-degree steering capability, the initial state of the robot does not require a small space.
- In order to verify the obstacle-free ability of the robot, a certain number of obstacles are set in the real scene.
7. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Zafar, M.N.; Mohanta, J.C. Methodology for path planning and optimization of mobile robots: A review. Procedia Comput. Sci. 2018, 133, 141–152. [Google Scholar] [CrossRef]
- Injarapu, A.S.H.H.V.; Gawre, S.K. A survey of autonomous mobile robot path planning approaches. In Proceedings of the 2017 International Conference on Recent Innovations in Signal Processing and Embedded Systems (RISE), Bhopal, India, 27–29 October 2017; pp. 624–628. [Google Scholar]
- Costa, M.M.; Silva, M.F. A survey on path planning algorithms for mobile robots. In Proceedings of the 2019 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), Porto, Portugal, 24–26 April 2019; pp. 1–7. [Google Scholar]
- Mac, T.; Copot, C.; Tran, D.; Keyser, R. Heuristic approaches in robot path planning: A survey. Robot. Auton. Syst. 2016, 86, 13–28. [Google Scholar] [CrossRef]
- Dijkstra, E. A note on two problems in connexion with graphs. Numer. Math. 1959, 1, 269–271. [Google Scholar] [CrossRef] [Green Version]
- Duchoň, F.; Babinec, A.; Kajan, M.; Beňo, P.; Florek, M.; Fico, T.; Jurišica, L. Path planning with modified a star algorithm for a mobile robot. Procedia Eng. 2014, 96, 59–69. [Google Scholar] [CrossRef] [Green Version]
- Zhang, C.; Chu, D.; Liu, S.; Deng, Z.; Wu, C.; Su, X. Trajectory planning and tracking for autonomous vehicle based on state lattice and model predictive control. IEEE Intell. Transp. Syst. Mag. 2019, 11, 29–40. [Google Scholar] [CrossRef]
- Zhang, L.; Lin, Z.; Wang, J.; He, B. Rapidly-exploring Random Trees multi-robot map exploration under optimization framework. Robot. Auton. Syst. 2020, 131, 103565. [Google Scholar] [CrossRef]
- Tuncer, A.; Yildirim, M. Dynamic path planning of mobile robots with improved genetic algorithm. Comput. Electr. Eng. 2012, 38, 1564–1572. [Google Scholar] [CrossRef]
- Karur, K.; Sharma, N.; Dharmatti, C.; Siegel, J.E. A Survey of Path Planning Algorithms for Mobile Robots. Vehicles 2021, 3, 448–468. [Google Scholar] [CrossRef]
- Dudi, T.; Singhal, R.; Kumar, R. Shortest Path Evaluation with Enhanced Linear Graph and Dijkstra Algorithm. In Proceedings of the 2020 59th Annual Conference of the Society of Instrument and Control Engineers of Japan (SICE), Chiang Mai, Thailand, 23–26 September 2020; pp. 451–456. [Google Scholar]
- Liu, Q.; Zhao, L.; Tan, Z.; Chen, W. Global path planning for autonomous vehicles in off-road environment via an A-star algorithm. Int. J. Veh. Auton. Syst. 2017, 13, 330–339. [Google Scholar] [CrossRef]
- Ziqiang, W.; Xiaoguang, H.; Xiaoxiao, L. Overview of Global Path Planning Algorithms for Mobile Robots. Comput. Sci. 2021, 48, 1–16. [Google Scholar]
- Sedighi, S.; Nguyen, D.V.; Kuhnert, K.D. Guided hybrid A-star path planning algorithm for valet parking applications. In Proceedings of the 2019 5th International Conference on Control, Automation and Robotics (ICCAR), Beijing, China, 19–22 April 2019; pp. 570–575. [Google Scholar]
- Liu, C.; Mao, Q.; Chu, X.; Xie, S. An improved A-star algorithm considering water current, traffic separation and berthing for vessel path planning. Appl. Sci. 2019, 9, 1057. [Google Scholar] [CrossRef] [Green Version]
- Erke, S.; Bin, D.; Yiming, N.; Qi, Z.; Liang, X.; Dawei, Z. An improved A-Star based path planning algorithm for autonomous land vehicles. Int. J. Adv. Robot. Syst. 2020, 17, 172988142096226. [Google Scholar] [CrossRef]
- Zhao, J.; Zhang, Y.; Ma, Z.; Ye, Z. Improvement and verification of A-star algorithm for AGV path planning. Comput. Eng. Appl. 2018, 54, 217–223. [Google Scholar]
- Kim, H.; Park, B.; Myung, H. Curvature path planning with high resolution graph for unmanned surface vehicle. In Robot Intelligence Technology and Applications (RiTA); Springer: Gwangju, Korea, 2013; pp. 147–154. [Google Scholar]
- Song, R.; Liu, Y.; Bucknall, R. Smoothed A* algorithm for practical unmanned surface vehicle path planning. Appl. Ocean Res. 2019, 83, 9–20. [Google Scholar] [CrossRef]
- Gunawan, S.A.; Pratama, G.N.; Cahyadi, A.I.; Winduratna, B.; Yuwono, Y.C.; Wahyunggoro, O. Smoothed A-star Algorithm for Nonholonomic Mobile Robot Path Planning. In Proceedings of the 2019 International Conference on Information and Communications Technology (ICOIACT), Yogyakarta, Indonesia, 24–25 July 2019; pp. 654–658. [Google Scholar]
- Sheikh, T.S.; Afanasyev, I.M. Stereo vision-based optimal path planning with stochastic maps for mobile robot navigation. In International Conference on Intelligent Autonomous Systems; Springer: Cham, Switzerland, 2018; pp. 40–55. [Google Scholar]
- Singh, Y.; Sharma, S.; Sutton, R.; Hatton, D.; Khan, A. A constrained A* approach towards optimal path planning for an unmanned surface vehicle in a maritime environment containing dynamic obstacles and ocean currents. Ocean. Eng. 2018, 169, 187–201. [Google Scholar] [CrossRef] [Green Version]
- Cheng, L.; Liu, C.; Yan, B. Improved hierarchical A-star algorithm for optimal parking path planning of the large parking lot. In Proceedings of the 2014 IEEE International Conference on Information and Automation (ICIA), Hailar, China, 28–30 July 2014; pp. 695–698. [Google Scholar]
- Yang, J.-M.; Tseng, C.-M.; Tseng, P.S. Path planning on satellite images for unmanned surface vehicles. Int. J. Nav. Archit. Ocean Eng. 2015, 7, 87–99. [Google Scholar] [CrossRef] [Green Version]
- Yao, J.; Lin, C.; Xie, X.; Wang, A.; Hung, C.C. Path Planning for Virtual Human Motion Using Improved A* Star Algorithm. In Proceedings of the 2010 Seventh International Conference on Information Technology, New Generations, Las Vegas, NV, USA, 12–14 April 2010; pp. 1154–1158. [Google Scholar]
- Gao, Q.J.; Yu, Y.S.; Hu, D.D. Feasible Path Search and Optimization Based on Improved A* Algorithm. J. Civ. Aviat. Univ. China 2005, 23, 42–45. [Google Scholar]
- Peng, J.; Huang, Y.; Luo, G. Robot Path Planning Based on Improved A* Algorithm. Cybern. Inf. Technol. 2015, 15, 171–180. [Google Scholar] [CrossRef] [Green Version]
- Guruji, A.K.; Agarwal, H.; Parsediya, D.K. Time-Efficient A* Algorithm for Robot Path Planning. Procedia Technol. 2016, 23, 144–149. [Google Scholar] [CrossRef] [Green Version]
- Zhang, X.; Cheng, C.Q.; Hao, X.Y.; Li, J.; Hu, P. A dynamic path planning algorithm for robots with both global and local characteristics. J. Surv. Mapp. Sci. Technol. 2018, 35, 315–320. [Google Scholar]
- Tang, G.; Tang, C.; Claramunt, C.; Hu, X.; Zhou, P. Geometric A-Star Algorithm: An Improved A-Star Algorithm for AGV Path Planning in a Port Environment. IEEE Access 2021, 9, 59196–59210. [Google Scholar] [CrossRef]
- Fu, B.; Chen, L.; Zhou, Y.; Zheng, D.; Wei, Z.; Dai, J.; Pan, H. An improved A* algorithm for the industrial robot path planning with high success rate and short length. Robot. Auto. Syst. 2018, 106, 26–37. [Google Scholar] [CrossRef]
Indicators | A* | EA* | EBA* | EBHA* | EBHSA* |
---|---|---|---|---|---|
Run-time/s | 164.912 (100%) | 82.465 (50.01%) | 29.615 (17.96%) | 5.330 (3.23%) | 5.450 (3.30%) |
Number of nodes | 179 | 179 | 179 | 179 | 122 |
Number of right-angle turns | 19 | 21 | 25 | 29 | 0 |
Max turning angle | 90° | 90° | 90° | 90° | 45° |
Number of expansion nodes | 4172 | 2055 | 1441 | 241 | 250 |
Number of critical nodes | 118 | 0 | 0 | 0 | 7 |
Indicators | EBSA* with Manhattan | EBSA* with Euclidean | EBSA* with Diagonal | EBSA* with Chebyshev | EBHSA* |
---|---|---|---|---|---|
Runn-time/s | 31.568 | 43.559 | 50.043 | 37.611 | 5.435 |
Number of nodes | 140 | 122 | 123 | 122 | 122 |
Number of expansion nodes | 1448 | 2067 | 2408 | 1849 | 250 |
Number of critical nodes | 6 | 5 | 8 | 7 | 7 |
Indicators | A* | EA* | EBA* | EBHA* | EBHSA* |
---|---|---|---|---|---|
Run-time/s | 219.630 (100%) | 155.716 (63.73%) | 68.572 (16.80%) | 8.080 | 8.923 (23.35%) |
Number of nodes | 179 | 179 | 180.6 | 181.4 | 120.4 |
Number of expansion nodes | 4900.8 | 3296.2 | 2749.8 | 276.6 | 260.6 |
Indicators | EBSA* with Manhattan | EBSA* with Euclidean | EBSA* with Diagonal | EBSA* with Chebyshev | EBHSA* |
---|---|---|---|---|---|
Run-time/s | 61.138 | 83.484 | 87.521 | 58.620 | 8.627 |
Number of nodes | 155.4 | 122.4 | 122.2 | 127.4 | 123.2 |
Number of expansion nodes | 2697.4 | 3357.6 | 3378.4 | 2450.2 | 294.8 |
Number of critical nodes | 6 | 6 | 7 | 7 | 8 |
Indicators | A* | EA* | EBA* | EBHA* | EBHSA* |
---|---|---|---|---|---|
Run-time/s | 39.714 (100%) | 25.577 (50.01%) | 11.429 (17.96%) | 1.919 (3.23%) | 1.932 (3.30%) |
Number of nodes | 79 | 79 | 79 | 79 | 55 |
Number of right-angle turns | 7 | 11 | 16 | 31 | 0 |
Max turning angle | 90° | 90° | 90° | 90° | 45° |
Number of expansion nodes | 1083 | 692 | 593 | 80 | 85 |
Number of critical nodes | 35 | 0 | 0 | 0 | 4 |
Indicators | EBSA* with Manhattan | EBSA* with Euclidean | EBSA* with Diagonal | EBSA* with Chebyshev | EBHSA* |
---|---|---|---|---|---|
Runn-time/s | 11.848 | 14.958 | 14.876 | 12.380 | 2.036 |
Number of nodes | 61 | 55 | 54 | 54 | 55 |
Number of expansion nodes | 579 | 741 | 736 | 612 | 85 |
Number of critical nodes | 4 | 4 | 5 | 5 | 4 |
Indicators | A* | EA* | EBA* | EBHA* | EBHSA* |
---|---|---|---|---|---|
Run-time/s | 51.018 (100%) | 39.604 (77.63%) | 21.590 (19.52%) | 4.395 (8.61) | 4.743 (9.29%) |
Number of nodes | 80.2 | 79 | 81.4 | 82.4 | 56.4 |
Number of expansion nodes | 1100.6 | 776 | 784.2 | 109.8 | 122 |
Indicators | EBSA* with Manhattan | EBSA* with Euclidean | EBSA* with Diagonal | EBSA* with Chebyshev | EBHSA* |
---|---|---|---|---|---|
Run-time/s | 17.742 | 11.844 | 13.589 | 22.005 | 2.063 |
Number of nodes | 65.4 | 56.8 | 55 | 53.4 | 54.4 |
Number of expansion nodes | 589.8 | 817.8 | 892 | 766.6 | 117 |
Number of critical nodes | 3 | 3 | 2 | 3 | 2 |
Indicators | A* | BFS | Dijkstra | Bidirectional A* | DFS | Geometric A* | EBHSA* |
---|---|---|---|---|---|---|---|
Run-time/s | 316.334 | 322.962 | 316.334 | 316.334 | 394.83 | 295.142 | 3.850 |
Number of nodes | 131 | 131 | 131 | 131 | 198 | 109 | 160 |
Number of turns | 36 | 33 | 27 | 30 | / | 27 | 21 |
Max turning angle | 45° | 135° | 45° | 45° | 90° | 45° | 45° |
Number of expansion nodes | 2246 | 5936 | 6047 | 1611 | 198 | 109 | 360 |
Conventional A* | Geometric A* | EBHSA* | |
---|---|---|---|
[30] | 316.334 | 295.142 | / |
This research | 164.912 | / | 5.450 |
Ratio | 1.918 | 1 | 1.918 |
Relative runtime | / | 295.142 * | 10.454 * |
Serial Number | Part Name | Serial Number | Part Name |
---|---|---|---|
1 | ROS omnidirectional vehicle chassis | 9 | FS_AIROBOTB |
2 | Mecanum wheel | 10 | 7-inch HDMI display |
3 | Omnidirectional vehicle drive module | 11 | 360-degree lidar |
4 | Cortex-M4 chassis core control board | 12 | Wireless Bluetooth remote control handle |
5 | FS_Explore sensor board | 13 | Cortex-M3 robotic arm control board |
6 | 1080P industrial module camera | 14 | 4 array microphones |
7 | Grep 3S/25C/1300 mA power lithium battery | 15 | 3B+ Raspberry Pi |
8 | Six degrees of freedom robotic arm |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wang, H.; Qi, X.; Lou, S.; Jing, J.; He, H.; Liu, W. An Efficient and Robust Improved A* Algorithm for Path Planning. Symmetry 2021, 13, 2213. https://doi.org/10.3390/sym13112213
Wang H, Qi X, Lou S, Jing J, He H, Liu W. An Efficient and Robust Improved A* Algorithm for Path Planning. Symmetry. 2021; 13(11):2213. https://doi.org/10.3390/sym13112213
Chicago/Turabian StyleWang, Huanwei, Xuyan Qi, Shangjie Lou, Jing Jing, Hongqi He, and Wei Liu. 2021. "An Efficient and Robust Improved A* Algorithm for Path Planning" Symmetry 13, no. 11: 2213. https://doi.org/10.3390/sym13112213