2304.14839

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Sampling-based Path Planning Algorithms: A Survey

Alka Choudhary 1

Abstract and constantly changing environment. Navigation requires


modeling of the environment (Widjaja et al., 2022) and lo-
Path planning is a classic problem for autonomous
calization to understand the robot’s current position within
robots. To ensure safe and efficient point-to-point
arXiv:2304.14839v1 [cs.RO] 23 Apr 2023

the environment. First, it detects obstacles (Park et al., 2023)


navigation an appropriate algorithm should be
and then creates an obstacle-free path to the goal providing
chosen keeping the robot’s dimensions and its
control inputs on how to reach there. Path planning plays a
classification in mind. Autonomous robots use
key role to find feasible trajectories to reach the goal.
path-planning algorithms to safely navigate a dy-
namic, dense, and unknown environment. A few Sampling-based motion planning is suitable for open con-
metrics for path planning algorithms to be taken figuration spaces which are large in their size. The aim of
into account are safety, efficiency, lowest-cost these algorithms is to find an obstacle-free path in mini-
path generation, and obstacle avoidance. Before mum time which come with the caveat of not guaranteeing
path planning can take place we need map repre- the optimality of the solution. This paper explores various
sentation which can be discretized or open con- Sampling-based path-planning algorithms that evolved in
figuration space. Discretized configuration space the last few decades. These algorithms can be categorized
provides node/connectivity information from one into two major categories - Probabilistic RoadMaps (PRMs)
point to another. While in open/free configuration and Rapidly-exploring Random Trees(RRT). This survey
space it is up to the algorithm to create a list of paper provides an overall deep understanding of these two
nodes and then find a feasible path. Both types algorithms and optimization techniques that were used to
of maps are populated by obstacle positions using improve performance in algorithms like - PRM*, and RRT*.
perception obstacle detection techniques to repre- The structure of this paper is as shown in Figure 1.
sent current obstacles from the perspective of the
robot. For open configuration spaces, sampling-
based planning algorithms are used. This paper
aims to explore various types of Sampling-based
path-planning algorithms such as Probabilistic
RoadMap (PRM), and Rapidly-exploring Ran-
dom Trees (RRT). These two algorithms also have
optimized versions - PRM* and RRT* and this
paper discusses how that optimization is achieved
and is beneficial.

1. Introduction
The application areas of autonomous robots have seen ex-
ponential growth in the last decade. Today they are used
in distribution centers, security, healthcare, hospitality, gro-
cery stores, last-mile delivery, self-driving cars, etc. Each
Figure 1. Structure of the paper
market and industry is heading toward automation and even-
tually will start using autonomous robots. Robot motion
is a complex problem to solve given the robot’s dynamics
2. Background
1
WPI, Worcester, USA. Correspondence to: Alka Choudhary
<mnnitalka@gmail.com>. Before we dive into sampling-based path-planning algo-
rithms it is important to understand how path planning fits
into the context of end-to-end robot operations. As shown
Sampling-based Path Planning Algorithms: A Survey

in the Figure 2 there are a few key components Sensors, processed by the Obstacle Detection / Perception unit to
Localization, Obstacle detection, Map representation, and map these objects on the map. Some of these sensors when
Path-planning. Path-planner gets information about the sur- used standalone are not sufficient to make a confident deci-
roundings and current location before it can start planning sion where an object is seen. A multi-sensor setup provides
for the goal. There are various other components for overall various types of raw data to come to a more confident de-
robot operation but for setting the context of this paper we cision. Recently in the autonomous vehicle industry, the
will be discussing on which Path-planner depends. focus has been on detecting 3D obstacles to provide a bet-
ter map representation of objects around a card. These are
the various state-of-art techniques to detect 3D obstacles
like vision-radar-based fusion (Singh, 2023b), surround-
view vision-based detection (Singh & Bankiti, 2023), and
transformer-based sensor fusion (Singh, 2023a) etc.

2.4. Map Representation


Figure 2. Flow chart of Robot’s operation and data flow into Path- Both localization and obstacle detection is required before
planners finalizing the map representation to be sent to the path plan-
ners. Map representation sub-system consists of these two
components:
2.1. Sensors
Humans navigate in the world by sensing the environment • Static Map is created by mapping static components
which makes them aware of their own location and also of the environment. These static components do not
moving parts of the external environment. For a robot to move with time for e.g. a building on the side of a
perform any task it also needs sensory data to perceive the road.
environment it is operating in. The next question comes
to what type of sensors are available and what are their • Dynamic obstacle detection updates are done when
use cases. These sensors can further be sub-categorized the perception unit provides information about an ob-
into the 2D Camera, 3D Camera, Topographic Lidar, and stacle with respect to the current robot’s position pro-
Bathymetric Lidar. The most common sensors used are - vided by the localization unit.
Camera, Lidar, Radar, IMU, etc. In autonomous driving
multi-camera setups combined with Lidars are mostly used Map/configuration space consists of all the posi-
(Singh & Bankiti, 2023). Overall sensor setup gathers raw tions/configurations that the robot can reach. These maps
information about all the objects around it and then it passes can be represented in the form of costmaps or configuration
it to the localization and obstacle detection (perception) unit. space. Every point in the map have a cost for e.g. area
within an obstacle is assigned a lethal cost so that planner
2.2. Localization do not plan through it.
The localization sub-system tells the robot its current loca-
tion with respect to the global frame. For e.g. how Google 2.5. Path-planning
Maps can give information about your current location on Path planning comes into the category of non-deterministic
the map. Why is it important? Before planning the goal polynomial-time (NP) hard problem (Chen & Quan, 2008)
robot needs to get the right start location which comes from to find the path from the start to the goal location. As we
localization. The reliability of the localization unit is the put robots in a dynamic environment complexities increase,
most important factor - how confident is it this system that and the complexity of the algorithm also increases with
the robot is at X position right now? Localization is done by an increase in the degrees of freedom of the robot (Karur
using sensor input, previously logged locations, and fixed et al., 2021). Navigation through a complex and dynamic
maps. These fixed maps generally are generally generated environment poses challenges to generating a path that is
by mapping static components of the environment for e.g. safe and efficient.
in a city mapping building, traffic signals, etc.
Path-planner takes costmap, start, and goal location as input
to produce a path. Apart from cost areas, these maps can
2.3. Obstacle Detection
be discretized with added node connectivity. Grid-based
All the sensors provide raw data which to the human eye planning like A*, Dijkstra, etc use discretized maps and
doesn’t make any sense but it contains precise locations generate an optimal low-cost path to the goal. Limitations
of an object with respect to the robot. This sensor data is of these types of algorithms arise in bigger maps where
Sampling-based Path Planning Algorithms: A Survey

discretization is not possible and then sampling-based algo- Algorithm 1 PRM Algorithm
rithms are the better choice. There are two criteria on which Input: graph, iteration limit, radius
planning algorithms are rated: repeat
Initialize i = 0
• Feasible: A plan is guaranteed generated to the goal if new node = random sampler()
it is possible to reach to that point, efficiency is not a nearest n = nearest(graph, new node, radius)
concern here. nearest n = sort(nearest n)
for i = 1 to number of nearest nodes do
• Optimal: Optimizing the performance of the planner edge link = createEdge(new node, nearest[i])
in addition to finding the path to the goal. j = edgeN otInObstacleReigon(edge link)
k = in same cluster(new node, nearest[i])
In simpler terms, a path planner generates a plan which is if j and k then
a sequence of actions taken to reach the goal state. Robots addT oGraph(edge link)
today operate in dynamically changing environments so nearest n[i].cluster = new node.cluster
these planners also need to accommodate those functions of end if
the state. Another way to categorize the planner is - Global end for
vs Local planner. Global planners are used to generating a i=i+1
path from start to goal working with global costmaps while until i < iteration limit
local planner work with smaller local costmaps and are used
in trajectory generation and following.

3. Sampling-based Path Planning


from the random point generator also affect the results of
Sampling-based path planner randomly connects points in
PRM graphs.
the state space and constructs a graph to create obstacle-
free paths (Karaman & Frazzoli, 2011a). These algorithm After generating random neighboring nodes within a
doesn’t require exploring the full configuration space so they fixed radius, PRM divides them into smaller connected
are faster and more efficient. The number of iterations to graphs/clusters. These clusters are circular with a radius
generate the graph connectivity can be set by the user which as described by the user. Every node can belong to multi-
will dictate the optimality of the path that it finds(Marin- ple connected clusters. Neighboring nodes are sorted by a
Plaza et al., 2018). These type of algorithms presents a metric e.g. increasing distance from the current node. Each
significant issue while traversing tight spaces as it is difficult neighbor node is checked if it belongs to the same connected
to find the connectivity through narrow spaces via random cluster as the current node is in, if not then it is added to the
sampling. Following are the different types of Sampling- same cluster.
based Path Planners.
Parsed radius will determine the performance of PRM gen-
Probabilistic Roadmap (PRM), and Radpid-exploring Ran- erated graph, the bigger the radius more neighbors will
dom Trees (RRT) are the two most discussed algorithms be generated and determined for their cluster association.
in Sampling-based path planners. Differentiation in these We can also parse a parameter total number of nodes to
comes from the way they connect points to create the graph. be generated by the PRM algorithm the more this number
PRM* and RRT* are the optimized versions of these algo- is it will increase time PRM Algorithm 1 takes to create
rithms which we will discuss further in this paper. the graph. But if this number is too low, it can generate a
fragmented graph. The limitations of PRM come in place in
3.1. PRM the obstacle-dense regions and present the issue of fractured
graphs. Looking for the shortest path is also challenging for
PRM (Probabilistic Roadmap) is one of the initial sampling- the resulting sparse graph (Elbanhawi & Simic, 2014a).
based path planners. PRM is a graph containing nodes and
edges in a map consisting of obstacles and obstacle-free
3.2. PRM*
areas. First, it generates randomly sampled nodes in the
configuration space and then connects the current node to PRM* is an optimized version of the PRM (Probabilistic
its neighboring nodes if the edge is in an obstacle-free area. Roadmap) algorithm. It provides two modifications to the
PRM also takes the radius as an input to determine which default PRM algorithm. In PRM* the concept of a fixed
random neighbors are calculated and going to be connected. radius is removed instead it is a dynamic variable that keeps
To generate random sampling nodes this paper (Karaman changing based on the number of nodes that have already
& Frazzoli, 2011a) describes a variety of methods. Biases been generated. Here is the function: (Karaman & Frazzoli,
Sampling-based Path Planning Algorithms: A Survey

Algorithm 2 PRM* Algorithm obstacle before connecting it to the closest node in the graph.
Input: graph, iteration limit Edge to the closest node should also avoid the path going
repeat through any obstacle. The end condition for this algorithm
Initialize i = 0 is hit either we created a point inside the goal area or the
new node = random sampler() time limit/number of tries has reached its maximum limit.
1/d To generate random nodes any random generator can be
RP RM ∗ = γP RM ∗ (log(i)/i)
nearest n = nearest(graph, new node, RP RM ∗ ) used as every random generator will bring its own bias so
for i = 1 to number of nearest nodes do we can say that it affects the path resulting from RRT. This
edge link = createEdge(new node, nearest[i]) paper (Karaman & Frazzoli, 2011a) talks about sampling
if edgeN otInObstacleReigon(edge link) then theory in detail.
addT oGraph(edge link) RRT is a fairly quick and easy-to-implement Algorithm 4
end if but it does not guarantee optimality. It also produces cubic
end for graphs which is solved by RRT*.
i=i+1
until i < iteration limit Algorithm 3 RRT Algorithm
Input: graph, iteration limit
repeat
2011a) to calculate this radius Initialize i = 0
new node = random sampler
1/d
if (notInObstacleReigon(new state)) then

log(n)
RP RM ∗ = γP RM ∗ (1) nearest n = nearest(graph, new node)
n
edge = createEdge(new node, nearest n)
if (notInObstacleReigon(edge)) then

1
1/d addT oGraph(edge)
γP RM ∗ > 2 1 + (µ(X(f ree))/ζd )1/d (2) end if
d
end if
i=i+1
Radius RP RM ∗ depends upon the number of nodes n, the until i < iteration limit
constant characteristic of the configuration space γP RM ∗,
and the number of dimensions d. Calculation of γ constant
is a factor of µ(Xf ree), free space available for path plan- 3.4. RRT*
ning, and ζd is the unit sphere volume. log(n)/n term keep
decreasing as we add more nodes which in effect causes a RRT* is an optimized (Karaman & Frazzoli, 2011a) version
decrease in radius to calculate neighboring nodes. of the Rapidly-exploring random trees algorithm. It guar-
This provides a significant improvement in cluster creation. antees the shortest path to be returned. In addition to the
We can see more straight roads after a path is generated. RRT algorithm, RRT* calculates the distance to k nearest
Think about it as driving in and outside the city, early gener- nodes and then calculates the total cost to reach a new node
ated nodes can be considered as far away cities, and edges via each neighbor. It chooses the minimum cost path and
to connect them are straight highways. As we start to grow connects the neighbor and the new node. One more step
in the number of nodes, the radius decrease and the nodes is to rewire the tree to connect the lowest-cost paths. For
created are closer and can be considered like a neighbor- each neighbor, the cost of traversal through the new node is
hood of a city and edges becomes smaller roads within the checked, and if that is less, the neighbor’s connection to its
city. previous parent is destroyed and the new node becomes the
Next optimization made to P RM ∗ is to get rid of the parent node. RRT* Algorithm 4 results in quite a straight
clustering system. Instead, any node within a radius be- path. It also performs better than RRT in obstacle-dense
come connected. It helps to reduce the complexity of Algo- environments. It has added computation hence performance
rithm 2. PRM* generates a graph that is very dense. A dense gets worse.
graph provides a smoother path while P RM presented a
zigzagged path. 4. Future Extensions
There are various other optimization techniques added
3.3. RRT
to these algorithms in the last decade e.g. Lazy PRM
RRT (Rapidly exploring Random Trees) explores the path (Bohlin & Kavraki, 2000), Obstalc-based PRM (Amato
to the goal while creating the graph. First RRT generates et al., 1998), Informed RRT (Gammell et al., 2014), Proba-
random nodes and checks if this node does not fall into any bilistic Roadmap of Tree (PRT) (Akinc et al., 2005), sPRM,
Sampling-based Path Planning Algorithms: A Survey

Algorithm 4 RRT* Algorithm


Table 1. Comparison based on Completeness, Optimality of vari-
Input: graph, iteration limit ous Sampling-based path planners
repeat
Initialize i = 0
new node = random sampler A LGORITHM C OMPLETENESS O PTIMALITY
if (notInObstacleReigon(new state)) then √
PRM √ ×

min cost = ∞ PRM*
k nearest = kN earest(graph, new node) √
RRT √ ×

for i = 1 to number of nearest nodes do RRT*
curr cost = cost(new node, k nearest[j]) +
cost(k nearest[j])
if curr cost < min cost then Table 2. Comparison based on Time and Space complexity of vari-
e = createEdge(new node, k nearest[j]) ous Sampling-based path planners
if (notInObstacleReigon(e) then
nearest edge link = e
min cost = curr cost A LGORITHM T IME C OMPLEXITY S PACE C OMPLEXITY
end if
end if PRM O(n log n) O(n)
PRM* O(n log n) O(n log n)
end for
RRT O(n log n) O(n)
addT oGraph(e) RRT* O(n log n) O(n)
for k = 1 to number of nearest nodes do
if new cost near[k] < prev cost near[k] then
e = createEdge(new node, k nearest[k]) Sampling-based path planners can create obstacle-free fea-
if (notInObstacleReigon(e) then sible edge connectivity. In Sampling-based path planners,
addT oGraph(e) we generate and connect random points so we can reach the
parent(k nearest[k]) = new node solution faster. Sampling-based planners can produce a sub-
end if optimal path in a given time limit. Due to the randomness of
end if the generating points, they tend to be random in providing
end for the solution. It is quite possible to not get the same path
end if generated next time.
i=i+1
until i < iteration limit Table 1 shows the completeness and optimality of PRM,
PRM*, RRT, and RRT*. Table 2 represents the time and
space complexity of these algorithms.

k-sPRM, k-PRM*, RRG, k-RRG, k-RRT* (Karaman & References


Frazzoli, 2011b), etc. These algorithms should be evaluated
as per Table 1 and Table 2. Akinc, M., Bekris, K. E., Chen, B. Y., Ladd, A. M., Plaku,
E., and Kavraki, L. E. Probabilistic roadmaps of trees
for parallel computation of multiple query roadmaps. In
5. Conclusion Robotics Research. The Eleventh International Sympo-
RRT algorithms are good at finding a possible path from a sium: With 303 Figures, pp. 80–89. Springer, 2005.
given point, every time a new location is given an entirely Amato, N. M., Bayazit, O. B., Dale, L. K., Jones, C.,
new graph will be generated. Repeating generating paths and Vallejo, D. Obprm: An obstacle-based prm for 3d
can lead to inefficiency. PRM provides an alternate approach workspaces. In Proc. Int. Workshop on Algorithmic Foun-
to building the graph once to cover most of the obstacle-free dations of Robotics (WAFR), pp. 155–168, 1998.
area. On top of it shortest path planning algorithm (A*,
Dijkstra, etc.) (Schwartz & Sharir, 1988) can be used to find Bohlin, R. and Kavraki, L. E. Path planning using lazy
the path from one node to another. PRM doesn’t provide prm. In Proceedings 2000 ICRA. Millennium conference.
a graph itself, it outputs a graph with nodes and edges to IEEE international conference on robotics and automa-
represent connectivity. tion. Symposia proceedings (Cat. No. 00CH37065), vol-
ume 1, pp. 521–528. IEEE, 2000.
Sampling-based path planner comes with their pros and
cons list. For a larger configuration space, these algorithms Chen, B. and Quan, G. Np-hard problems of learning from
will be fast and more efficient(Elbanhawi & Simic, 2014b). examples. In 2008 Fifth International Conference on
Sampling-based Path Planning Algorithms: A Survey

Fuzzy Systems and Knowledge Discovery, volume 2, pp.


182–186, 2008. doi: 10.1109/FSKD.2008.406.
Elbanhawi, M. and Simic, M. Sampling-based robot motion
planning: A review. Ieee access, 2:56–77, 2014a.
Elbanhawi, M. and Simic, M. Sampling-based robot motion
planning: A review. Ieee access, 2:56–77, 2014b.

Gammell, J. D., Srinivasa, S. S., and Barfoot, T. D. Informed


rrt: Optimal sampling-based path planning focused via
direct sampling of an admissible ellipsoidal heuristic. In
2014 IEEE/RSJ International Conference on Intelligent
Robots and Systems, pp. 2997–3004. IEEE, 2014.

Karaman, S. and Frazzoli, E. Sampling-based algorithms


for optimal motion planning. The International Journal
of Robotics Research, 30(7):846–894, 2011a. doi: 10.
1177/0278364911406761. URL https://doi.org/
10.1177/0278364911406761.

Karaman, S. and Frazzoli, E. Sampling-based algorithms


for optimal motion planning. The international journal
of robotics research, 30(7):846–894, 2011b.
Karur, K., Sharma, N., Dharmatti, C., and Siegel, J. E. A
survey of path planning algorithms for mobile robots.
Vehicles, 3(3):448–468, 2021. ISSN 2624-8921. doi:
10.3390/vehicles3030027. URL https://www.mdpi.
com/2624-8921/3/3/27.
Marin-Plaza, P., Hussein, A., Martin, D., and Escalera, A.
d. l. Global and local path planning study in a ros-based
research platform for autonomous vehicles. Journal of
Advanced Transportation, 2018:1–10, 2018.
Park, J., Singh, A., and Bankiti, V. 3m3d: Multi-view, multi-
path, multi-representation for 3d object detection. arXiv
preprint arXiv:2302.08231, 2023.

Schwartz, J. T. and Sharir, M. A survey of motion planning


and related geometric algorithms. Artificial Intelligence,
37(1-3):157–169, 1988.
Singh, A. Transformer-based sensor fusion for autonomous
driving: A survey. arXiv preprint arXiv:2302.11481,
2023a.
Singh, A. Vision-radar fusion for robotics bev detections:
A survey. arXiv preprint arXiv:2302.06643, 2023b.
Singh, A. and Bankiti, V. Surround-view vision-based 3d de-
tection for autonomous driving: A survey. arXiv preprint
arXiv:2302.06650, 2023.
Widjaja, S. A., Liong, V. E. B., Chong, Z. J., and Singh, A.
Machine learning-based framework for drivable surface
annotation, June 21 2022. US Patent 11,367,289.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy