A Smooth Global Path Planning Method for Unmanned Surface Vehicles Using a Novel Combination of Rapidly Exploring Random Tree and Bézier Curves
Abstract
:1. Introduction
2. Background
2.1. RRT
2.2. Bézier Curves
- End Point Interpolation: This property provides a curve that passes through the control polygon end points, forming a complete path between the initial point of the robot and the target point.
- Variation Diminishing: The curve cannot fluctuate beyond the boundaries of the control polygon. As we used the RRT global path as the control polygon for the curve, obstacle avoidance was achieved through the combined effect of this property and the RRT algorithm.
3. Method and Motivation
3.1. Motivation
3.2. Proposed Method
3.3. Control Point Reduction
3.4. Bézier Curve Generation
3.5. Time Complexity of the Method
3.6. Experimental Environment on Simulator
3.7. Tests
- Classical RRT;
- Bézier Curve without point reduction (BC);
- Bézier Curve with point reduction by 3 × 1 mean filter (Mean3);
- Bézier Curve with point reduction by 3 × 1 median filter (Median3);
- Bézier Curve with point reduction by 5 × 1 mean filter (Mean5);
- Bézier Curve with point reduction by 5 × 1 median filter (Median5).
4. Experimental Results and Discussion
4.1. Results for Map1
4.2. Results for Map2
4.3. Results for Map3
4.4. Results for Map4
- First column (Test): Name of the test with the format “mapName_testNo”.
- Second column (Algorithm): The global path planning algorithm, where RRT and BC represent the classical RRT and the proposed method, respectively.
- Third column (Number of Points/Nodes): Number of control points used to generate the Bézier Curve/number of nodes in the path generated by the RRT.
- Fourth column (Point Reduction Type): Control point reduction method with the format “filterName-filterSize”. Filter types and size information are provided in Section 3.
- Fifth column (Algorithm Runtime (ms)): Time elapsed between when the goal is assigned and when the robot starts moving in milliseconds.
- Sixth column (Travel Runtime (s)): Time elapsed between when the robot starts moving and when the robot reaches the goal in seconds.
- Seventh column (cmd_vel ‰ of Sharp Breaks Over All Commands): Percentage of sharp breaks over all commands. It was calculated via analyzing the motion commands published by the cmd_vel topic in ROS. If a linear motion command was decreased by 25% compared to the previous one, it was defined as a “sharp break”. For example, in the test named MAP1_1, thirty-three linear motion commands were defined as sharp breaks out of thousands of commands published.
- Eighth column (Improvement in Time Compared to RRT (%)): The percentage decrease in total travel time compared to that of the classical RRT.
5. Conclusions
- Although using higher-order Bézier Curve generation takes slightly more computation time, the resulting smooth trajectory causes a significant reduction in the total travel time of the robot.
- It was shown that the obstacle avoidance property of RRT does not vanish when it is defined as the control polygon of the Bézier Curve.
- Tests have shown that more information from the RRT provides safer paths. Another level of improvement can be achieved via eliminating unnecessary nodes. However, path feasibility must be proven in order for it to remain a safe distance from the obstacles.
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Abbreviations
USV | Unmanned Surface Vehicle |
BC | Bézier Curve |
RRT | Rapidly Exploring Random Tree |
References
- Qin, H.; Shao, S.; Wang, T.; Yu, X.; Jiang, Y.; Cao, Z. Review of autonomous path planning algorithms for mobile robots. Drones 2023, 7, 211. [Google Scholar] [CrossRef]
- Dijkstra, E.W. A note on two problems in connexion with graphs. Numer. Math. 1959, 1, 269–271. [Google Scholar] [CrossRef]
- Hart, P.E.; Nils, J.N.; Bertram, R. A formal basis for the heuristic determination of minimum cost paths. IEEE Trans. Syst. Sci. Cybern. 1968, 4, 100–107. [Google Scholar] [CrossRef]
- Ou, Y.; Fan, Y.; Zhang, X.; Lin, Y.; Yang, W. Improved A* path planning method based on the grid map. Sensors 2022, 22, 6198. [Google Scholar] [CrossRef] [PubMed]
- Li, Y.; Jin, R.; Xu, X.; Qian, Y.; Wang, H.; Xu, S.; Wang, Z. A mobile robot path planning algorithm based on improved A* algorithm and dynamic window approach. IEEE Access 2022, 10, 57736–57747. [Google Scholar] [CrossRef]
- Bing, H.; Lu, L. Improvement and application of Dijkstra algorithms. Acad. J. Comput. Inf. Sci. 2022, 5, 97–102. [Google Scholar]
- Kavraki, L.E.; Svestka, P.; Latombe, J.C.; Overmars, M.H. Probabilistic roadmaps for path planning in high-dimensional configuration spaces. IEEE Trans. Robot. Autom. 1996, 12, 566–580. [Google Scholar] [CrossRef]
- LaValle, S. Rapidly-exploring random trees: A new tool for path planning. In Research Report 9811 1998; Department of Computer Science, Iowa State University: Ames, IA, USA, 1998. [Google Scholar]
- Karaman, S.; Emilio, F. Sampling-based algorithms for optimal motion planning. Int. J. Robot. Res. 2011, 30, 846–894. [Google Scholar] [CrossRef]
- Luan, P.G.; Thinh, N.T. Hybrid genetic algorithm based smooth global-path planning for a mobile robot. Mech. Based Des. Struct. Mach. 2023, 51, 1758–1774. [Google Scholar] [CrossRef]
- Song, B.; Wang, Z.; Zou, L. An improved PSO algorithm for smooth path planning of mobile robots using continuous high-degree Bezier curve. Appl. Soft Comput. 2021, 100, 106960. [Google Scholar] [CrossRef]
- Xu, L.; Cao, M.; Song, B. A new approach to smooth path planning of mobile robot based on quartic Bezier transition curve and improved PSO algorithm. Neurocomputing 2022, 473, 98–106. [Google Scholar] [CrossRef]
- Lai, R.; Wu, Z.; Liu, X.; Zeng, N. Fusion algorithm of the improved A* algorithm and segmented bezier curves for the path planning of mobile robots. Sustainability 2023, 15, 2483. [Google Scholar] [CrossRef]
- Song, R.; Liu, Y.; Richard, B. Smoothed A* algorithm for practical unmanned surface vehicle path planning. Appl. Ocean Res. 2019, 83, 9–20. [Google Scholar] [CrossRef]
- 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]
- Bulut, V. Path planning of mobile robots in dynamic environment based on analytic geometry and cubic Bézier curve with three shape parameters. Expert Syst. Appl. 2023, 233, 120942. [Google Scholar] [CrossRef]
- Duraklı, Z.; Vasif, N. A new approach based on Bezier curves to solve path planning problems for mobile robots. J. Comput. Sci. 2022, 58, 101540. [Google Scholar] [CrossRef]
- Eshtehardian, S.A.; Khodaygan, S. A continuous RRT*-based path planning method for non-holonomic mobile robots using B-spline curves. J. Ambient. Intell. Humaniz. Comput. 2023, 14, 8693–8702. [Google Scholar] [CrossRef]
- Liu, X.; Nie, H.; Li, D.; He, Y.; Ang, M.H. High-Fidelity and Curvature-Continuous Path Smoothing with Quadratic Bézier Curve. IEEE Trans. Intell. Veh. 2024, 9, 3796–3810. [Google Scholar] [CrossRef]
- Bézier, P.E. Example of an existing system in the motor industry: The Unisurf system. Proc. R. Soc. Lond. A Math. Phys. Sci. 1971, 321, 207–218. [Google Scholar]
- Forrest, A.R. Interactive interpolation and approximation by Bézier polynomials. Comput. J. 1972, 15, 71–79. [Google Scholar] [CrossRef]
- Tu, H.; Deng, Y.; Li, Q.; Song, M.; Zheng, X. Improved RRT global path planning algorithm based on Bridge Test. Robot. Auton. Syst. 2024, 171, 104570. [Google Scholar] [CrossRef]
- Huang, G.; Ma, Q. Research on path planning algorithm of autonomous vehicles based on improved RRT algorithm. Int. J. Intell. Transp. Syst. Res. 2022, 20, 170–180. [Google Scholar] [CrossRef]
- Wang, J.; Chi, W.; Li, C.; Wang, C.; Meng, M.Q.H. Neural RRT*: Learning-based optimal path planning. IEEE Trans. Autom. Sci. Eng. 2020, 17, 1748–1758. [Google Scholar] [CrossRef]
- Farin, G. Handbook of Computer Aided Geometric Design; Elsevier Science B.V.: Amsterdam, The Netherlands, 2022; pp. 75–87. [Google Scholar]
- Lenes, J.H. Autonomous Online Path Planning and Path-Following Control for Complete Coverage Maneuvering of a USV. Master’s Thesis, Norwegian University of Science and Technology, Trondheim, Norway, 2019. [Google Scholar]
- ROS.org. Available online: http://wiki.ros.org/gmapping (accessed on 31 November 2024).
- Grisetti, G.; Cyrill, S.; Wolfram, B. Improved techniques for grid mapping with rao-blackwellized particle filters. IEEE Trans. Robot. 2007, 23.1, 34–46. [Google Scholar] [CrossRef]
Algorithm RRT |
---|
Input: Number of nodes K, step size d, startPose S, finalPose F, goalTolarance G |
Output: path |
← initializePath(S) |
for to K do |
← randomPoint () |
← getNearestNeighbor (, ) |
if no obstacle between and do |
← extendTree(, , d) |
← addToPath () |
if distance(F, ) ≤ G |
Success Message and Break |
return |
Algorithm BC |
---|
Input: Number of control point N, matrix containing pairs of x, y coordinates of N points |
Output: path |
← initializePath(,) |
t ← 0 |
← 0 |
for to N do |
outerProduct(Bernstein (j,,t), points(j)) |
← createPath() |
return |
Algorithm: meanFilter3 |
---|
Input: ( matrix containing pairs of x, y coordinates of N points) |
Output: (2D vector containing x,y coordinates of extracted control points) |
← initializeVector() |
i ← 1 |
Loop while do |
X = mean ((), (i), ()) |
Y = mean ((), (i), ()) |
Add (X, Y) at the end of vector |
Increment i by 2 |
End Loop |
return |
Algorithm: meanFilter5 |
Input: ( matrix containing pairs of x, y coordinates of N points) |
Output: (2D vector containing x,y coordinates of extracted control points) |
← initializeVector() |
i ← 2 |
Loop while do |
X = mean ((), (), (i), (), ()) |
Y = mean ((), (), (i), (), ()) |
Add (X, Y) at the end of vector |
Increment i by 3 |
End Loop |
return |
Algorithm: medianFilter3 |
---|
Input: ( matrix containing pairs of x, y coordinates of N points) |
Output: (2D vector containing x,y coordinates of extracted control points) |
← initializeVector() |
localArray: 3 × 2 array containing x,y coordinates to be sorted |
i ← 1 |
Loop while do |
← ((), (i), ()) |
sort ascending order by |
X = () |
Y = () |
Add (X, Y) at the end of vector |
Increment i by 2 |
End Loop |
return |
Algorithm: medianFilter5 |
Input: ( matrix containing pairs of x,y coordinates of N points) |
Output: (2D vector containing x,y coordinates of extracted control points) |
← initializeVector() |
: 5 × 2 array containing x,y coordinates to be sorted |
i ← 2 |
Loop while do |
← ((), (), (i), (), ()) |
sort ascending order by |
X = () |
Y = () |
Add (X, Y) at the end of vector |
Increment i by 3 |
End Loop |
return |
Test | Algorithm | Number of Points/Nodes | Point Reduction Type | Algorithm Runtime (ms) | Travel Runtime (s) * | cmd_vel ‰ of Sharp Breaks over All Commands | Improvement in Time Compared to RRT (%) |
---|---|---|---|---|---|---|---|
MAP1_1 | RRT | 121 | - | 0.11 | 463.08 | 33 | - |
MAP1_2 | BC | 121 | - | 29.1 | 409.01 | 12 | 11.6 |
MAP1_3 | BC | 63/121 | Mean-3 | 8.3 | 386.11 | 5 | 16.6 |
MAP1_4 | BC | 63/121 | Median-3 | 8 | 387.23 | 7 | 16.3 |
MAP1_5 | BC | 42/121 | Mean-5 | 4 | 381.98 | 5 | 17.5 |
MAP1_6 | BC | 42/121 | Median-5 | 5 | 380.93 | 2 | 17.7 |
MAP2_1 | RRT | 74 | - | 0.2 | 287.9 | 41 | - |
MAP2_2 | BC | 74 | - | 7.3 | 229.2 | 4 | 20.3 |
MAP2_3 | BC | 38/74 | Mean-3 | 2.2 | 216.6 | 13 | 24.7 |
MAP2_4 | BC | 38/74 | Median-3 | 2.8 | 216.2 | 9 | 24.9 |
MAP2_5 | BC | 26/74 | Mean-5 | 1.4 | 215.6 | 4 | 25 |
MAP2_6 | BC | 26/74 | Median-5 | 1.5 | 213.1 | 4 | 25.9 |
MAP3_1 | RRT | 33 | - | 0.3 | 135.0 | 15 | - |
MAP3_2 | BC | 33 | - | 0.9 | 125.3 | 7 | 7.1 |
MAP3_3 | BC | 18/33 | Mean-3 | 0.4 | 121.3 | 8 | 10.1 |
MAP3_4 | BC | 18/33 | Median-3 | 0.9 | 121.2 | 8 | 10.2 |
MAP3_5 | BC | 12/33 | Mean-5 | 0.5 | 119.4 | 8 | 11.5 |
MAP3_6 | BC | 12/33 | Median-5 | 0.6 | 121.9 | 8 | 9.7 |
MAP4_1 | RRT | 118 | - | 0.2 | 571.6 | 37 | - |
MAP4_2 | BC | 120 | - | 28.6 | 432.5 | 0 | 24.6 |
MAP4_3 | BC | 60/118 | Mean-3 | 8.2 | 377.7 | 7 | 33.9 |
MAP4_4 | BC | 60/118 | Median-3 | 7.7 | 373.2 | 2 | 34.7 |
MAP4_5 | BC | 41/118 | Mean-5 | 3.8 | 355.1 | 5 | 37.8 |
MAP4_6 | BC | 41/118 | Median-5 | 4.3 | 352.2 | 2 | 38.3 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 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
Türkkol, B.Z.; Altuntaş, N.; Çekirdek Yavuz, S. A Smooth Global Path Planning Method for Unmanned Surface Vehicles Using a Novel Combination of Rapidly Exploring Random Tree and Bézier Curves. Sensors 2024, 24, 8145. https://doi.org/10.3390/s24248145
Türkkol BZ, Altuntaş N, Çekirdek Yavuz S. A Smooth Global Path Planning Method for Unmanned Surface Vehicles Using a Novel Combination of Rapidly Exploring Random Tree and Bézier Curves. Sensors. 2024; 24(24):8145. https://doi.org/10.3390/s24248145
Chicago/Turabian StyleTürkkol, Betül Z., Nihal Altuntaş, and Sırma Çekirdek Yavuz. 2024. "A Smooth Global Path Planning Method for Unmanned Surface Vehicles Using a Novel Combination of Rapidly Exploring Random Tree and Bézier Curves" Sensors 24, no. 24: 8145. https://doi.org/10.3390/s24248145
APA StyleTürkkol, B. Z., Altuntaş, N., & Çekirdek Yavuz, S. (2024). A Smooth Global Path Planning Method for Unmanned Surface Vehicles Using a Novel Combination of Rapidly Exploring Random Tree and Bézier Curves. Sensors, 24(24), 8145. https://doi.org/10.3390/s24248145