You are on page 1of 10

Contents

Path Planning.............................................................................................................. 2
Introduction................................................................................................................ 2
Algorithms..................................................................................................................... 2
Static Algorithms............................................................................................................. 2
A* Algorithm............................................................................................................... 3
Big Theta* Algorithm.................................................................................................. 3
Phi* Algorithm............................................................................................................ 4
Jump Point Search...................................................................................................... 5
Dynamic/Online Algorithms........................................................................................ 7
Dynamic A*................................................................................................................ 7
Anytime Algorithms.................................................................................................... 7
Anytime Repairing A*................................................................................................. 8
Anytime Dynamic A* (AD*)......................................................................................... 8
Conclusion.................................................................................................................. 9
References................................................................................................................ 10

Path Planning
Path planning (also known as the navigation problem or the piano mover's problem) is a term
used in robotics for the process of breaking down a desired movement task into discrete motions
that satisfy movement constraints and possibly optimize some aspect of the movement.

Introduction
The term path planning was developed in many fields, such as robotics, artificial intelligence or
control theory.
That is why each scientist uses own definition of this term. In robotics, path planning concerns
with problem as how to move a robot from one point to another point. With the advances in
robotics path planning also includes many complications such as uncertainties, multiple robots,
or dynamics. In artificial intelligence, path planning means a search for a sequence of logical
actions that transform an initial robot state into a desired goal state. Such planning may include
many decision-theoretic ideas such as Markov decision processes, imperfect state information,
learning methods or game-theoretic equilibrium. In the control theory, path planning deals with
issues of stability, feedback, and optimality. As it can be seen, path planning of a mobile robot is
a wide problem and there exist many methods and approaches to it.
Every path planning method is dependent on a state space. State space represents all possible
positions and orientations of a robot. There are several ways how to describe the state space.
Usually stat space is represented implicitly by a planning algorithm. That is why the path
planning algorithms can be divided on the basis of used state space. The mostly used
representation of state space in robotics is grid/metric map. Although geometric or topological
representations are used, the metric map is easy to update new information about the
environment. However, one cell from the grid represents only small amount of space. That is
why metric map may have a large size. The nature of most currently used sensors in robotics
results in their frequent use.
All planning problems involve a sequence of decisions that is applied over time. Moreover, in the
planning formulation, it must be specified how the state changes when actions are applied. In
mobile robotics, it is usually a state-valued function formed as a sequence of states from
configuration space that the robot must reach. Each path planning also involves initial and goal
state.

Algorithms
There are two types of search algorithms used for path planning.

Static/Offline Algorithms
Dynamic/Online Algorithms

Static Algorithms
There are generally two different kinds of planning concerns based on the type of criterion. First
is feasibility find a plan that causes arrival of the robot at a goal state, regardless of its
efficiency. Second is optimality find a feasible plan that optimizes performance in some
specified manner. Algorithms in this paper are only feasible. However, some optimal criterions
were defined to compare the performance of these algorithms:

computational time,
length of path,
number of examined cells,
symmetry of examined environment

A* Algorithm
A* algorithm is one of the best known path planning algorithm, which can be applied on metric
or topological configuration space. This algorithm uses combination of heuristic searching and
searching based on the shortest path. A* algorithm is defined as best-first algorithm, because
each cell in the configuration space is evaluated by the value:
f (v)= h(v) + g(v)
(1) Where h(v) is heuristic distance (Manhattan, or Euclidean) of the cell to the goal state
(2) g(v) is the length of the path from the initial state to the goal state through the selected
sequence of cells.
Obviously, this sequence ends in the actually evaluated cell. Each adjacent cell of actually
reached cell is evaluated by the value f(v). The cell with the lowest value of f(v) is chosen as the
next one in the sequence. Advantage of this algorithm is that the distances used as a criterion can
be adopted, modified or another distance can be added. This gives a wide range of modifications
of this basic principle. For example time, energy consumption or safety can be also included in
function f(v).
A* algorithm, as a path planning algorithm for a mobile robot, was successfully implemented
and tested. Results can be found in [28]. However, these results were not entirely satisfactory and
good. The computational time was very large. For the map containing 60,000 cells, the
computation on average computer lasted over one hour. This is quite discouraging for the
application of this algorithm to the robot. Therefore, further investigation was conducted to the
possibilities of modification of the A* algorithm.

Big Theta* Algorithm


Basic A* algorithm used for a grid configuration space is restricted to 8connectivity (Fig. 1). This means that it can find path that is based on
connection between the closest possible cells. However, this is not quite
useful, because there can be a lot of free space between the connected cells
over long distances and these cells may not be linked by zigzag style. That is
why the searching in every angle is introduced (Fig. 1).

Fig. 1. Restriction of 8-connectivity searching in A* algorithm (left) and the searching in every angle (right)

Basic Theta* is an extension of A* algorithm, which resides in the test of the visibility between
cells. This means that if the tested cell has a direct visibility to the cell included in selected
sequence, the cells between them are ignored. In this way only cells, which robot has to pass, are
found. These cells are characterized also with the change of the robots orientation (Fig.2).

Fig. 2. Basic Theta* algorithm. Green cell is a initial state, red cell is a goal state, black cells represent the obstacles.
In the second step, the cell N has direct visibility to the cell P. That is why the cell A is ignored and the cell P and N
are directly connected.

Phi* Algorithm
Phi* algorithm is an extension of the Basic Theta* algorithm. The extension
resides in the recording of a local predecessor of each evaluated cell.
Logically, this predecessor is one of the neighborhood (by the definition of
Basic Theta*) cells. This algorithm also records two angles for each cell.
These angles define the range in which the predecessor can be found (Fig.
3). This property of Phi* algorithm allows in some restrictive way to introduce
the dynamics of the robot into the calculation of the algorithm.

Fig. 3. Phi* algorithm. Each cell has a range of angles in which the predecessor of the cell can be found.

Jump Point Search


Another method how to reduce the amount of the examined cells is Jump
Point Search (JPS), which can be directly applied on A* algorithm. The
principle of this method is the cropping of neighborhood cells in the
surroundings of actually evaluated cell. The principle can be demonstrated
on simple example in Fig. 5. Let a denotes the actually evaluated cell and
the arrow marks denote the movement from the previous cell. Then the grey
unoccupied cells can be cropped, because they can be reached from the
previous cell without the need of entering the cell a. The remaining cells
(white color) are called natural neighbors. In ideal case, only natural
neighbors are taken into account for path planning. The example in Fig. 5 has
no obstacle cell. Obstacles in JPS create the forced neighbors (Fig. 6). These
neighbors are created, because some cells cannot be cropped due to the
blockage of alternative paths to the cells. Unoccupied cells can be cropped,
because they can be reached from the previous cell without the need of
entering the cell a. The remaining cells (white color) are called natural
neighbors. In ideal case, only natural neighbors are taken into account for
path planning. The example in Fig. 5 has no obstacle cell. Obstacles in JPS
create the forced neighbors (Fig. 6). These neighbors are created, because
some cells cannot be cropped due to the blockage of alternative paths to the
cells.

Fig. 5. Cropping of neighborhood cells in the surroundings of cell a (unoccupied cells).

Fig. 6. Cropping of neighborhood cells in the surroundings of cell a (with one obstacle cell). Red circle denotes the
forced neighbor.

Algorithm

Advantages

Disadvantages

A*

Simplicity, Relatively
fast, Modifiability

Cannot search in every


angle.
In basic form does not
uses RSR

Basic Theta*

Search in every angle,


Resultant path is
created as a set of
points. Finds shorter
paths than 8connectivity
algorithms.

Long calculation time

Phi*

Search in every angle,


Resultant path is
created as a set of
points. Finds shorter
paths than 8connectivity
algorithms.
Fast replanning.

Long calculation time

JPS (A*)

Fast
Good reduction of
symmetries
Resultant path is
created as a set of
points

Cannot search in every


angle

Dynamic/Online Algorithms
When operating in real world scenarios, agents typically do not have perfect information. Rather,
they may be equipped with incomplete or inaccurate planning graphs. In such cases, any
Pioneers Automated E-Gator. D* and its variants are currently used for path planning on several
robotic systems, including indoor planar robots (Pioneers) and outdoor robots operating in more
challenging terrain (E-Gators). Path enerated using the agents initial graph may turn out to be
invalid or suboptimal as it receives updated information. For example, in robotics the agent may
be equipped with an onboard sensor that provides updated environment information as the agent
moves. It is thus important that the agent is able to update its graph and replan new paths when
new information arrives. One approach for performing this replanning is simply to replan from
scratch: given the updated graph, a new optimal path can be planned from the robot position to
the goal using A*, exactly as described above. However, replanning from scratch every time the
graph changes can be very computationally expensive. For instance, imagine that a change
occurs in the graph that does not affect the optimality of the current solution path. Or, suppose
some change takes place that does affect the current solution, but in a minor way that can be
quickly fixed. Replanning from scratch in either of these situations seems like a waste of
computation. Instead,
it may be far more efficient to take the previous solution and repair it to account for the changes
to the graph.A number of algorithms exist for performing this repair.

Dynamic A*
Dynamic A* (D*) (Stentz 1995) and D* Lite (Koenig & Likhachev 2002) are currently the most
widely used of these algorithms, due to their efficient use of heuristics and incremental updates.
They have been used for path planning on a large assortment of robotic systems, including both
indoor and outdoor platforms.
D* and D* Lite are extensions of A* able to cope with changes to the graph used for planning.
The two algorithms are fundamentally very similar; we restrict our attention here to D* Lite
because it is simpler and has been found to be slightly more efficient for some navigation tasks
(Koenig & Likhachev 2002). D* lite initially constructs an optimal solution path from the initial
state to the goal state in exactly the same manner as backwards A*. When changes to the
planning graph are made (i.e., the cost of some edge is altered), the states whose paths to the goal
are immediately affected by these changes have their path costs updated and are placed on the
planning queue (OPEN list) to propagate the effects of these changes to the rest of the state
space. In this way, only the affected portion of the state space is processed when changes occur.
Furthermore, D* Lite uses a heuristic to further limit the states processed to only those states
whose change in path cost could have a bearing on the path cost of the initial state. As a result, it
can be up to two orders of magnitude more efficient than planning from scratch using A*
(Koenig & Likhachev 2002).

Anytime Algorithms
When an agent must react quickly and the planning problem is complex, computing optimal
paths as described in the previous sections can be infeasible, due to the sheer number of states
required to be processed in order to obtain such paths. In such situations, we must be satisfied
with the best solution that can be generated in the time available. A useful class of deterministic

algorithms for addressing this problem are commonly referred to as anytime algorithms. Anytime
algorithms typically construct an initial, possibly highly suboptimal, solution very quickly.

Anytime Repairing A*
Anytime Repairing A* (ARA*), limits the processing performed during each search by only
considering those states whose costs at the previous search may not be valid given the new _
value. It begins by performing an A* search with an inflation factor _0, but during this search it
only expands each state at most once. Once a states has been expanded during a particular
search, if it becomes inconsistent (i.e., g(s) 6= rhs(s)) due to a cost change associated with a
neighboring state, then it is not reinserted into the queue of states to be expanded. Instead, it is
placed into the INCONS list, which contains all inconsistent states already expanded. Then,
when the current search terminates, the states in the INCONS list are inserted into a fresh priority
queue (with new priorities based on the new _inflation factor) which is used by the next search.
This improves the efficiency of each search in two ways. Firstly, by only expanding each state at
most once a solution is reached much more quickly. Secondly, by only reconsidering states from
the previous search that were inconsistent, much of the previous search effort can be reused.
Thus, then the inflation factor is reduced between successive searches, a relatively minor amount
of computation is required to generate a new solution.

Anytime Dynamic A* (AD*)


Recently, Likhachev et al. developed Anytime Dynamic A* (AD*), an algorithm that combines
the replanning capability of D* Lite with the anytime performance of ARA* (Likhachev et al.
2005). AD* performs a series of searches using decreasing inflation factors to generate a series
of solutions with improved bounds, as with ARA*. When there are changes in the environment
affecting the cost of edges in the graph, locally affected states are placed on the OPEN queue to
propagate these changes through the rest of the graph, as with D* Lite. States on the queue are
then processed until the solution is guaranteed to be suboptimal. AD* has been shown to be
useful for planning in dynamic, complex state spaces, such as 3 DOF robotic arms operating
in dynamic environments (Likhachev et al. 2005). It has also been used for path-planning for
outdoor mobile robots. In particular, those operating in dynamic or partiallyknown outdoor
environments, where velocity considerations are important for generating smooth, timely
trajectories. As discussed earlier, this can be framed as a path planning problem over a 4D
state space, and an initial suboptimal solution can be generated using AD* in exactly the
same manner as ARA*. Once the robot starts moving along this path, it is likely that it will
discover inaccuracies in its map of the environment. As a result, the robot needs to be able
to quickly repair previous, suboptimal solutions when new information is gathered, then
improve these solutions as much as possible given its processing constraints. AD* has been
used to provide this capability for two robotic platforms currently used for outdoor
navigation: an ATRV and a Segway Robotic Mobility Platform (Segway RMP) (Likhachev et al.
2005). To direct the 4D search in each case, a fast 2D (x, y) planner was used to provide the
heuristic values.

Conclusion
In this assignment, we have discussed a comparative study of offline and online algorithms.
Static algorithms consists of family of heuristic algorithms for path planning in grid
problems, while dynamic algorithms consists of family of heuristic algorithms for path
planning in real world scenarios. We have attempted to highlight the fundamental
similarities between each of the algorithms, along with their individual strengths,
weaknesses, and applicable problem domains. A common underlying theme throughout this
discussion has been the variable value of previous solutions. When the problem being solved
does not change significantly between invocations of our planner, it can be highly
advantageous to take advantage of previous solutions as much as possible in constructing a
new one. When the problem being solved does change, previous solutions are less useful,
and can even be detrimental to the task of arriving at a new solution.

References
https://en.wikipedia.org/wiki/Motion_planning#Algorithms
Bellman, R.: On a routing problem. Q. Appl. Math. 16(1), 8790 (1958)
Bertuccelli, L.F., How, J.P.: Robust UAV search for environmentas with imprecise
probability maps. In: IEEE Conference of Decision and Control, Seville, Spain (2005)
Capozzi, B.J.: Evolution-based path planning and management for autonomous UAVs.
Ph.D. Dissertation, University of Washington, USA (2001)
De Filippis, L., Guglieri, G., Quagliotti, F.: A minimum risk approach for path planning
of UAVs. J. Intell. Robot. Syst. 1(2011), 203222 (2011)
De Filippis, L., Guglieri, G., Quagliotti, F.: Flight Analysis and Design for Mini-UAVs.
XX AIDAA Congress, Milano, Italy (2009)
Dijkstra, E.W.: A note to two problems in connexion with graphs. Numer. Math. 1, 269
271 (1959)
Ferguson, D., Stentz, A.: Using interpolation to improve path planning: the field D*
algorithm. J. Field Robot. 23(2), 79101 (2006)
Floyd, R.W.: Algorithm 97: shortest path. Commun. ACM 5(6), 345 (1962)
Ford, L.R., Jr., Fulkerson, D.R.: Flows in Networks. Princeton University Press (1962)
Guglieri, G., Quagliotti, F., Speciale, G.: Optimal trajectory tracking for an autonomous
Uav. In:Automatic Control in Aerospace, vol. 1(1) (2008)
Hart, P., Nilsson, N., Raphael, B.: A formal basis for the heuristic determination of
minimum cost paths. IEEE Trans.

You might also like