# Global Path Planning Method Based on a Modification of the Wavefront Algorithm for Ground Mobile Robots

^{1}

^{2}

^{3}

^{*}

## Abstract

**:**

## 1. Introduction

- The computational complexity also depends on the computational power available to the robot. Currently, some mobile devices are already performing such computing power that in smaller environments and with slower motion, the need for both levels of navigation (global and local) disappear.
- In some cases, the shortest possible path may be preferred, while in other cases, a slightly longer path may be suitable because it has better properties according to another criterion.
- The distance of the path from the obstacles usually expresses the safety of movement. For example, the Voronoi diagram [5] used in path planning ensures the maximum possible distance from all obstacles.
- Physical constraints need to be taken into account. It mainly depends on whether the robot is holonomic. If it is non-holonomic, its radius of rotation must be considered when planning the path.

- The accuracy of the map must be chosen appropriately given the required accuracy when reaching the target.
- The accuracy of the map and the type of recorded environment properties must correspond to the sensors’ accuracy and ability to capture those properties.
- The complexity of the environment representation is directly proportional to the required computing power or the required computing time.

## 2. Materials and Methods

_{0}, …, u

_{m}} be a non-decreasing sequence of real numbers. The elements u

_{i}are called knots, and U is a knot vector. Then the i-th basic function of the B-spline curve of zero degree and degree p is defined as [24]:

**P**are the control points and N

_{i}_{i}

_{,p}(u) are the basic functions of degree p defined on the node vector:

**U**is m + 1, and the number of control points is n + 1, where m = n + p + 1 [25].

_{i,x}, and P

_{i,y}are the coordinates of the control point P

_{i}. A number of the computed points on the curve can be affected by vector u. This vector contains values from the interval (0, 1) iterated by the inverse number of desired generated points.

**A**= [a

_{1};a

_{2}] and

**B**= [b

_{1};b

_{2}], the directional vector of the line

**u**= (u

_{1};u

_{2}) =

**B**−

**A**and the parametric expression of the line:

_{x}, Δt

_{y}). The variables t

_{x_max}and t

_{y_max}express the value of the parameter t, in which the line intersects the edge of the cell in the given direction (x, y). These two variables are initialized to the values corresponding to the first intersection of the line with the cell edges in the given direction (x, y), which can be calculated using the parametric equations of the line (6). It is necessary to express the directions in which we move as step

_{x}= sgn(u

_{1}) and step

_{y}= sgn (u

_{2}). The signs of the components of the direction vector

**u**give these. In this way, it is possible to traverse all the map cells through which the line passes. After each iteration, the current cell is checked, and if we can get to point

**B**, it is clear that all the transition cells are free. In this manner, waypoints and their adjacent waypoints are checked.

_{thold}parameter, specified as the maximum distance at which another control point must be located from the waypoint. This distance determines the resulting curve’s maximum distance from the waypoints. All lines of the polyline formed by the waypoints are verified, and the following cases may occur:

- The distance between two waypoints (line length) is less than or equal to cp
_{thold}. It means there is no need to add additional control points. - The distance between two waypoints is greater than cp
_{thold}but less than or equal to 2 × cp_{thold}. In this case, one control point is added to the center of the two waypoints. - The distance between two waypoints is greater than 2 × cp
_{thold}but less than or equal to 3 × cp_{thold}. Then two control points are added, dividing the line into thirds. - The distance between the two waypoints is greater than 3 × cp
_{thold}. In this case, two control points are added at a distance of cp_{thold}from one and the other end of the line inwards.

_{thold}, which determines the distance of the path from obstacles. With this parameter, the search space for the wavefront algorithm is limited (Figure 6). This parameter is the threshold value for cells from the map, the evaluation of which decreases with increasing distance from obstacles as follows: 0—free space; 1–127, there is no collision with an obstacle; 128–252, there may be a collision with an obstacle depending on the robot’s orientation; 253–254, there is a collision with an obstacle.

_{thold}, which expresses the maximum distance of the waypoint from the neighboring control point in the B-spline curve. The change of this parameter mainly affects the distance of the B-spline curve from the waypoints, its smoothness, and the number and distribution of control points. Figure 7 shows the impact of the value of cp

_{thold}on the trajectory.

## 3. Results

**a**= (a

_{x}, a

_{y}),

**b**= (b

_{x}, b

_{y}). Their scalar product can be expressed in two ways:

_{hold}parameter was set to 3 for all algorithms so that all three algorithms maintain a similar distance from obstacles. First, a smaller environment was tested for three different obstacle densities. The low-density environment can be seen in Figure 10. The size of the map is approximately 200 × 95 cells.

_{t}, k

_{l,}and k

_{θ}(Table 9) so that their effect on the resulting value is balanced on average. They are then multiplied by the weights w

_{t}, w

_{l,}and w

_{θ}, which express the selected preference of the properties of individual algorithms. The criterion function for the evaluation of algorithms can be formulated as follows:

_{t}= 1 and w

_{l}= 1.2 were chosen. Results can be seen in Table 10 In the second part, the execution time was preferred over the path length, and therefore the parameters w

_{t}= 1.2 and w

_{l}= 1 were chosen (Table 11). In the results, both types of environments are compared. The value of the function for the house environment is denoted as f

_{h}, for the Willow Garage environment as f

_{w}, and for their sum as f.

## 4. Discussion

## 5. Conclusions

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Durrant-Whyte, H.; Bailey, T. Simultaneous localization and mapping: Part I. IEEE Robot. Autom. Mag.
**2006**, 13, 99–110. [Google Scholar] [CrossRef] - Thrun, S. Simultaneous Localization and Mapping. In Robotics and Cognitive Approaches to Spatial Mapping; Jefferies, M.E., Yeap, W.K., Eds.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 13–41. [Google Scholar] [CrossRef]
- Ünver Akmandor, N.; Padır, T. A 3D Reactive Navigation Algorithm for Mobile Robots by Using Tentacle-Based Sampling. arXiv
**2020**, arXiv:2001.09199. [Google Scholar] - Aggarwal, S.; Kumar, N. Path planning techniques for unmanned aerial vehicles: A review, solutions, and challenges. Comput. Commun.
**2020**, 149, 270–299. [Google Scholar] [CrossRef] - Ayawli, B.B.K.; Mei, X.; Shen, M.; Appiah, A.Y.; Kyeremeh, F. Mobile Robot Path Planning in Dynamic Environment Using Voronoi Diagram and Computation Geometry Technique. IEEE Access
**2019**, 7, 86026–86040. [Google Scholar] [CrossRef] - Teleweck, P.E.; Chandrasekaran, B. Path planning algorithms and their use in robotic navigation systems. In Journal of Physics: Conference Series; IOP Publishing: Bristol, UK, 2019; Volume 1207, p. 012018. [Google Scholar]
- Wolek, A.; Woolsey, C.A. Model-based path planning. In Sensing and Control for Autonomous Vehicles: Applications to Land, Water and Air Vehicles; Fossen, T., Pettersen, K., Nijmeijer, H., Eds.; Springer: Cham, Switzerland, 2017; pp. 183–206. [Google Scholar]
- Siegwart, R.; Nourbakhsh, I.R. Introduction to Autonomous Mobile Robots; Bradford Company: Holland, MI, USA, 2004. [Google Scholar]
- Nakajima, K.; Premachandra, C.; Kato, K. 3D environment mapping and self-position estimation by a small flying robot mounted with a movable ultrasonic range sensor. J. Electr. Syst. Inf. Technol.
**2017**, 4, 289–298. [Google Scholar] [CrossRef] - Sakurama, K.; Sugie, T. Generalized Coordination of Multi-robot Systems. Found. Trends® Syst. Control.
**2021**, 9, 1–170. [Google Scholar] [CrossRef] - Kuric, I.; Bulej, V.; Saga, M.; Pokorny, P. Development of simulation software for mobile robot path planning within multilayer map system based on metric and topological maps. Int. J. Adv. Robot. Syst.
**2017**, 14, 1729881417743029. [Google Scholar] [CrossRef] - Murphy, R.R. Introduction to AI Robotics, 1st ed.; MIT Press: Cambridge, MA, USA, 2000. [Google Scholar]
- Bräunl, T. Embedded Robotics: Mobile Robot Design and Applications with Embedded Systems, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2006. [Google Scholar]
- Nemec, D.; Gregor, M.; Bubeníková, E.; Hruboš, M.; Pirnik, R. Improving the Hybrid A* method for a non-holonomic wheeled robot. Int. J. Adv. Robot. Syst.
**2019**, 16, 1729881419826857. [Google Scholar] [CrossRef] - Ferguson, D.; Stentz, A. Using interpolation to improve path planning: The Field D* algorithm. J. Field Robot.
**2006**, 23, 79–101. [Google Scholar] [CrossRef] - Choset, H.; Lynch, K.; Hutchinson, S.; Kantor, G.; Burgard, W.; Kavraki, L.; Thrun, S. Principles of Robot Motion: Theory, Algorithms, and Implementations; MIT Press: Cambridge, MA, USA, 2005. [Google Scholar]
- Saranya, C.; Unnikrishnan, M.; Ali, S.A.; Sheela, D.S.; Lalithambika, V.R. Terrain based D∗ algorithm for path planning. IFAC-PapersOnLine
**2016**, 49, 178–182. [Google Scholar] [CrossRef] - Zhang, B.; Li, G.; Zheng, Q.; Bai, X.; Ding, Y.; Khan, A. Path planning for wheeled mobile robot in partially known uneven terrain. Sensors
**2022**, 22, 5217. [Google Scholar] [CrossRef] [PubMed] - Ichter, B.; Schmerling, E.; Lee, T.W.E.; Faust, A. Learned Critical Probabilistic Roadmaps for Robotic Motion Planning. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 9535–9541. [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] - Nagib, G.; Gharieb, W. Path planning for a mobile robot using genetic algorithms. In Proceedings of the International Conference on Electrical, Electronic and Computer Engineering, Cairo, Egypt, 5–7 September 2004; pp. 185–189. [Google Scholar] [CrossRef]
- LaValle, S.M. Planning Algorithms; Cambridge University Press: Cambridge, MA, USA, 2006. [Google Scholar]
- Lin, H.Y.; Huang, Y.C. Collaborative Complete Coverage and Path Planning for Multi-Robot Exploration. Sensors
**2021**, 21, 3709. [Google Scholar] [CrossRef] [PubMed] - Dung, V.T.; Tjahjowidodo, T. A direct method to solve optimal knots of B-spline curves: An application for non-uniform B-spline curves fitting. PLoS ONE
**2017**, 12, e0173857. [Google Scholar] [CrossRef] - Piegl, L.; Tiller, W. The NURBS Book, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 1997. [Google Scholar]
- Looi, C.Z.; Ng, D.W.K. A Study on the Effect of Parameters for ROS Motion Planer and Navigation System for Indoor Robot. Int. J. Electr. Comput. Eng. Res.
**2021**, 1, 29–36. [Google Scholar] [CrossRef] - Amanatides, J.; Woo, A. A Fast Voxel Traversal Algorithm for Ray Tracing. In Eurographics; Department of Computer Science, University of Toronto: Toronto, ON, Canada, 1987; Volume 87. [Google Scholar]

**Figure 1.**Inflation of obstacles in the ROS environment by a safe distance and impact on the planned path of the robot.

**Figure 2.**Example of removing two redundant points (

**right**) at the top left and bottom right on the original path (

**left**).

**Figure 3.**Example of adding control points around a waypoint (original curve on the (

**left**), two control points added on the (

**right**)).

**Figure 5.**(

**Top left**)—path found by wavefront algorithm, (

**top right**)—path without redundant points, (

**bottom left**)—addition of control points, (

**bottom right**)—result path.

**Figure 6.**Influence of the parameter cthold—on the (

**left**) with the value 200 and on the (

**right**) with the value 128.

**Figure 7.**Influence of the cp

_{thold}parameter on the shape of the B-spline curve (value 0.25 on the (

**left**) and value 0.5 on the (

**right**)).

**Table 1.**Comparison of results of individual algorithms for the environment with low obstacle density.

Algorithm | Execution Time [ms] | Path Length [m] | ∑ θi [rad] |
---|---|---|---|

FlFill | 5.0684 | 9.3293 | 1.2678 |

Dijkstra | 5.2612 | 9.1902 | 2.6219 |

A* | 6.2873 | 9.7801 | 5.3037 |

**Table 2.**Comparison of results of individual algorithms for the environment with medium obstacle density.

Algorithm | Execution Time [ms] | Path Length [m] | ∑ θi [rad] |
---|---|---|---|

FlFill | 5.5888 | 9.4812 | 2.3788 |

Dijkstra | 6.9644 | 9.2192 | 3.7174 |

A* | 3.9387 | 9.8144 | 7.7095 |

**Table 3.**Comparison of results of individual algorithms for the environment with high obstacle density.

Algorithm | Execution Time [ms] | Path Length [m] | ∑ θi [rad] |
---|---|---|---|

FlFill | 4.4656 | 9.7948 | 4.9412 |

Dijkstra | 7.2702 | 9.4945 | 5.0040 |

A* | 6.5048 | 9.8728 | 9.0146 |

Phase of Algorithm | Execution Time [ms] | Portion [%] |
---|---|---|

Initialization | 0.3345 | 19.86 |

Filling the map | 0.8711 | 51.72 |

Finding a path | 0.3101 | 18.42 |

Removing redundant points | 0.0503 | 2.98 |

Creating control points | 0.0111 | 0.66 |

Generating curve points | 0.1071 | 6.36 |

∑ | 1.6841 | 100 |

Algorithm | Execution Time [ms] | Path Length [m] | ∑ θi [rad] |
---|---|---|---|

FlFill | 10.5711 | 19.2237 | 5.5476 |

Dijkstra | 9.6750 | 19.0329 | 6.5439 |

A* | 7.3334 | 19.5487 | 11.5688 |

**Table 6.**Execution times of individual phases of the FlFill algorithm for a medium-sized environment.

Phase of Algorithm | Execution Time [ms] | Portion [%] |
---|---|---|

Initialization | 0.1868 | 2.46 |

Filling the map | 6.1534 | 80.98 |

Finding a path | 0.8188 | 10.78 |

Removing redundant points | 0.1672 | 2.20 |

Creating control points | 0.0208 | 0.27 |

Generating curve points | 0.2516 | 3.31 |

∑ | 7.5986 | 100 |

Algorithm | Execution Time [ms] | Path Length [m] | ∑ θi [rad] |
---|---|---|---|

FlFill | 99.6838 | 59.5385 | 7.7551 |

Dijkstra | 107.0439 | 57.7588 | 10.2174 |

A* | 41.6553 | 60.2191 | 26.9868 |

Phase of Algorithm | Execution Time [ms] | Portion [%] |
---|---|---|

Initialization | 1.0310 | 1.09 |

Filling the map | 90.1950 | 95.44 |

Finding a path | 2.2764 | 2.41 |

Removing redundant points | 0.1698 | 0.18 |

Creating control points | 0.0308 | 0.03 |

Generating curve points | 0.7972 | 0.84 |

∑ | 94.5002 | 100 |

Parameter | Value | Parameter | Value |
---|---|---|---|

k_{th} | 1.0878 | k_{tw} | 0.1208 |

k_{lh} | 0.519 | k_{lw} | 0.169 |

k_{θh} | 0.9787 | k_{θw} | 0.6673 |

Algorithm | wtktht | wlklhl | Wθkθhθ | wtktwt | wlklwl | wθkθwθ | fh | fw | f |
---|---|---|---|---|---|---|---|---|---|

FlFill | 11.5 | 11.97 | 3.26 | 12.04 | 12.07 | 3.11 | 26.73 | 27.22 | 53.951 |

Dijkstra | 10.52 | 11.85 | 3.84 | 12.93 | 11.71 | 4.09 | 26.22 | 28.74 | 54.956 |

A* | 7.98 | 12.17 | 6.79 | 5.03 | 12.21 | 10.81 | 26.95 | 28.05 | 54.995 |

Algorithm | wtktht | wlklhl | wθkθhθ | wtktwt | wlklwl | wθkθwθ | fh | fw | f |
---|---|---|---|---|---|---|---|---|---|

FlFill | 13.80 | 9.98 | 3.26 | 14.45 | 10.06 | 3.10 | 27.03 | 27.62 | 54.651 |

Dijkstra | 12.63 | 9.88 | 3.84 | 15.52 | 9.76 | 4.09 | 26.35 | 29.37 | 55.719 |

A* | 9.57 | 10.15 | 6.79 | 6.04 | 10.18 | 10.80 | 26.51 | 27.02 | 53.532 |

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. |

© 2023 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

**MDPI and ACS Style**

Psotka, M.; Duchoň, F.; Roman, M.; Michal, T.; Michal, D.
Global Path Planning Method Based on a Modification of the Wavefront Algorithm for Ground Mobile Robots. *Robotics* **2023**, *12*, 25.
https://doi.org/10.3390/robotics12010025

**AMA Style**

Psotka M, Duchoň F, Roman M, Michal T, Michal D.
Global Path Planning Method Based on a Modification of the Wavefront Algorithm for Ground Mobile Robots. *Robotics*. 2023; 12(1):25.
https://doi.org/10.3390/robotics12010025

**Chicago/Turabian Style**

Psotka, Martin, František Duchoň, Mykhailyshyn Roman, Tölgyessy Michal, and Dobiš Michal.
2023. "Global Path Planning Method Based on a Modification of the Wavefront Algorithm for Ground Mobile Robots" *Robotics* 12, no. 1: 25.
https://doi.org/10.3390/robotics12010025