Path Planning and Trajectory Planning Algorithms: A General Overview
Path Planning and Trajectory Planning Algorithms: A General Overview
net/publication/282955967
CITATIONS READS
124 28,458
4 authors, including:
Some of the authors of this publication are also working on these related projects:
Optimization of Motion Planning and Control for Automatic Machines, Robots and Multibody Systems View project
All content following this page was uploaded by Paolo Boscariol on 04 September 2017.
Abstract
Path planning and trajectory planning are crucial issues in the field of
Robotics and, more generally, in the field of Automation. Indeed, the trend
for robots and automatic machines is to operate at increasingly high speed,
in order to achieve shorter production times. The high operating speed may
hinder the accuracy and repeatability of the robot motion, since extreme
performances are required from the actuators and the control system.
Therefore, particular care should be put in generating a trajectory that
could be executed at high speed, but at the same time harmless for the
robot, in terms of avoiding excessive accelerations of the actuators and
vibrations of the mechanical structure. Such a trajectory is defined as
smooth.
For such reasons, path planning and trajectory planning algorithms assume
an increasing significance in robotics. Path planning algorithms generate a
geometric path, from an initial to a final point, passing through pre-defined
via-points, either in the joint space or in the operating space of the robot,
while trajectory planning algorithms take a given geometric path and
endow it with the time information. Trajectory planning algorithms are
crucial in Robotics, because defining the times of passage at the via-points
influences not only the kinematic properties of the motion, but also the
dynamic ones. Namely, the inertial forces (and torques), to which the robot
is subjected, depend on the accelerations along the trajectory, while the
vibrations of its mechanical structure are basically determined by the
values of the jerk (i.e. the derivative of the acceleration).
Path planning algorithms are usually divided according to the
methodologies used to generate the geometric path, namely:
- roadmap techniques
- cell decomposition algorithms
- artificial potential methods.
The algorithms for trajectory planning are usually named by the function
that is optimized, namely:
- minimum time
- minimum energy
- minimum jerk.
Examples of hybrid algorithms, which optimize more than a single
function, are also found in the scientific literature.
In this Chapter, the general problem of path planning and trajectory
planning will be addressed, and an extended overview of the algorithms
belonging to the categories mentioned above will be carried out, with
references to the numerous contributions to this field.
Introduction
Path planning
qgoal
0
45 90 135 180
Fig. 2. C-space, C-free and C-obs for an articulated robot with two joints
Roadmap techniques
Fig. 3 represents the so-called visibility graph, i.e. the graph whose nodes
are the vertices of all the obstacles in the configuration space. Searching the
graph would lead to get the shortest Euclidean path in the C-space. The
nodes of the graphs indicate point locations, while edges represent visible
connections between the nodes. Grey areas indicate obstacles to be avoided.
The concept of visibility graph, which represents a milestone in the
literature related to path planning, was introduced by Lozano-Pérez
(Lozano Pérez & Wesley, 1979; Lozano-Pérez, 1983).
Another kind of roadmap algorithms are those based on Voronoi diagrams,
which are defined as a way to divide the space into regions having the
following characteristic: given a set of points {p1, … pn}, each point
belonging to the i-th region is closer to pi than to any other pj ≠ pi. This
approach is dual to that based on the visibility graph, because the Voronoi
diagrams enable one to obtain a path lying at the maximum distance from
the obstacles, whereas the visibility graph generates a path that passes as
close as possible to the obstacle vertices.
Fig. 4 shows some path generated by using Voronoi diagrams. The three
squares in the diagram represents obstacles, while the blue lines are the set
of points equidistant from at least two obstacles. Therefore the paths
defined with this technique are designed to be as far away as possible from
nearby obstacles. Examples of path planning algorithms may be found in
(Canny & Donald, 1988), in (Takahashi & Schilling, 1989) and in (Garrido
et. al., 2011).
Fig. 4. Paths resulting from Voronoi diagrams
According to the cell decomposition methods, the free space of the robot is
subdivided into several regions, called cells, in such a way that a path
between any two configurations lying in the same cell is straightforward to
generate. It is then natural to define a so-called connectivity graph, which
represents the adjacency relations between cells. Namely, the nodes of the
graph represent the cells extracted from the free space, and there is an arch
between two nodes are connected if and only if the corresponding cells are
adjacent. The path planning problem is, again, turned into a graph
searching problem, and can therefore be solved using graph-searching
techniques.
Fig. 5. Exact cell decomposition: (a) subdivision of space into numbered
polygons, (b) connectivity graph, (c) regions to be crossed, (d) path
Fig. 5 illustrates the procedure described above, which is named exact cell
decomposition technique, because the union of the cell represents exactly
the free space. In some cases, an exact computation of the free space is not
possible or convenient. Approximate cell decomposition methods must
therefore be employed. Fig. 6 shows how these techniques work:
- the whole C-space (assumed 2-dimensional) is divided into four cells;
- the algorithm checks if each cell is completely empty, completely full or
mixed (such words obviously refer to the occupancy by the obstacles);
- each mixed cell is in turn divided into four subcells, and the algorithm is
recursively applied to check the status of every subcell and recursively
divide each mixed subcell into four sub-subcells.
The graph that may be naturally associated to the approximate cell
decomposition is a tree, named quadtree for 2-dimensional spaces (Fig. 7),
octree for 3-dimensional spaces (Fig. 8), 16-tree for 4-dimensional spaces,
and so forth.
Mixed cell
Full cell
Empty cell
Fig. 7. Quadtree
Mixed cell
Full cell
Empty cell
Fig. 8. Octree
Trajectory planning
Solving the trajectory planning problem means generating the reference
inputs for the control system of the robot, so as to ensure that the desired
motion is performed. Usually, the algorithm employed for trajectory
planning takes as inputs the path generated by the path planner, as well as
the kinematic and dynamic constraints of the robot. The output of the
trajectory planning module is given by the trajectory of the joints, or of the
end-effector, in form of a sequence of values of position, velocity and
acceleration.
The geometric path is normally defined in the operating space of the robot,
because the task to be performed, as well as the obstacles to avoid, are
described in the operating space more naturally than in the joint space.
Thus, planning the trajectory in the operative space means generating a
sequence of values that specify the position and orientation that the end-
effector of the robot must assume at every time interval. Planning the
trajectory in the operating space is usually done when the motion follows a
path with specific geometric characteristics defined in the operating space;
in this case, the path can be specified in an exact form (i.e. taking the
original path), or in an approximate form, by allocating some path points
and connecting them by means of polynomial sequences. However, in most
cases the trajectory is planned in the joint space of the robot because, since
the control action on the manipulator is made on the joints, planning in the
operating space requires a kinematic inversion to transform the end-
effector position and orientation values into the joint values.
In order to plan a trajectory in the joint space, first a sequence of via-points
should be extracted from the desired end-effector path, then a kinematic
inversion is to be performed to get the corresponding values of the robot
joints. The trajectory is then generated in the joint space by means of
interpolation functions, taking into account the kinematic and dynamic
limits imposed to the robot joints (in terms of position, velocity,
acceleration and jerk). Normally, this way of planning the trajectory can
also avoid the problems involved in moving near singular configurations,
and can efficiently deal with the possible presence of redundant degrees of
mobility. The main drawback of planning a trajectory in the joint space is
given by the fact that the execution of a motion planned in the joint space is
not so straightforward to predict in the operative space, due to the
nonlinearities introduced by the direct kinematics. However, no matter if
the trajectory is planned in the operating space or in the joint space, it is
crucial that the laws of motion resulting from the planning do not generate
forces and torques at the joints that are not compatible with the given
constraints: in this way the possibility of exciting mechanical resonance
modes can be greatly reduced. For this reason, the planning algorithms
must output smooth trajectories, i.e. trajectories represented by a curve
whose derivatives are continuous up to a certain order. In particular, it is
highly desirable to ensure the continuity of the accelerations of the joints,
in order to get trajectories with a limited jerk, because limiting the jerk is
crucial in order to reduce the vibrations induced to the robot (which may
lead to considerable wear of the mechanical structure), as well as to avoid
the excitation of the resonance frequencies of the robot. The vibrations
caused by non-smooth trajectories may seriously damage the actuators and
degrade the tracking performance of the trajectory. Furthermore, low-jerk
trajectories can be executed faster and with a higher accuracy as
demonstrated in (Barre et al., 2005). In addition, there are some
applications where abrupt motions can jeopardize the quality of the work or
constitute a risk to the human operators working near the robot.
In order to classify the different trajectory planning methodologies into
categories, it is useful to consider that a trajectory is usually planned after
some optimality criterion has been set. The most significant optimality
criteria that can be found in the literature are:
The optimality criterion based on minimum execution time was the first to
be considered in trajectory planning, because short execution times are
strictly related to high productivity in automatized production plants in
industrial environments. Thus, no wonder that many papers can be found,
in the robotic literature, proposing trajectory planning algorithms aimed at
minimizing the performance index given by the execution time.
The algorithms described in (Bobrow et al., 1985) and in (Shin & McKay,
1985) are defined in the position-velocity phase plane. The basic idea of
these algorithms is to write the dynamic equation of manipulator in a
parametric form using the curvilinear abscissa s of the path as the
independent parameter. The curvilinear abscissa s (path parameter) and its
derivative s’ (pseudo-velocity) constitute the state of the system, while
the second derivative of s (i.e. the pseudo-acceleration s’’) is chosen as the
control variable. In this way, it is possible to transform the constraints
given by the nonlinear robot dynamics, as well as the constraints on the
actuators, into constraints on the control variable depending from the state
of the system. For every point on the path, the maximum admissible value
for the pseudo-velocity of the end-effector is determined from the
constraints; it is then possible to build in the position-velocity phase plane
(i.e. in the (s, s’) plane), a velocity limit curve (VLC). The optimal trajectory
is then computed by finding the admissible control that yields, for each
point of the path, the maximum velocity that does not exceed the limit
curve. The solution turns out to be in the form of a curve (named switching
curve) in the phase plane.
An alternative approach to minimum time trajectory planning consists in
using dynamic programming techniques, such as those described in (Shin &
McKay, 1986) and in (Balkan, 1998). The basic idea is to take the state
space and discretize it by building a grid of points (called state points). On
the basis of the limits set on velocity, acceleration and jerk, it is possible to
associate to each point the set of the subsequent admissible state points,
and to define the cost of each possible solution by considering the time
needed for the motion. This cost is defined by assuming a constant value of
acceleration for each step. Finally, an algorithm based on dynamic
programming generates the minimum time trajectory. Compared with the
phase plane methods, the dynamic programming methods do not require
the parameterization of the path and enables to choose an arbitrary
performance index. Therefore, such algorithms may be used as a general
technique for trajectory optimization. On the other hand, the phase plane
approach turns out to be very efficient in terms of computational load;
moreover, it may also be used for on-line trajectory planning, as in (Croft et
al., 1995) and in (Pardo-Castellote & Cannon, 1996).
A model-based approach is used to maximize the speed of industrial robots
by obtaining the minimum-time trajectories that satisfy various constraints
commonly given in the application of industrial robots in (Kim et. al. 2010).
Conventional trajectory patterns, such as trapezoidal velocity profiles and
cubic polynomial functions.
The algorithms described above produce trajectories with discontinuous
accelerations and joint torques, because the dynamic models used consider
the robot members as perfectly rigid and do not take into account the
actuator dynamics. Neglecting the link flexibility and the actuator dynamics
normally leads to some undesired effects. First, in reality the robot
actuators cannot generate discontinuous torques: this causes the joint
motion to be delayed with respect to the reference trajectory. This accuracy
in trajectory following is thus greatly reduced, and the tracking controller
has to be often activated during the execution of the trajectory. Moreover,
each switching of the actuators may cause the so-called chatter
phenomenon, i.e. high frequency oscillations inducing vibrations of the
mechanical structure of the robot. This obviously results in wearing of the
mechanical components and in a decrease of the accuracy in trajectory
following. Again, the tracking controller is activated more frequently and
the actuators are further stressed. Another undesired effect resulting from
an inaccurate model is that, since the time-optimal control requires
saturation of at least one robot actuator at any time instant, it is impossible
for the controller to correct the tracking errors arising from disturbances or
modelling errors.
In (Constantinescu, 1998) and in (Constantinescu & Croft, 2000) a possible
solution to these kind of problems is proposed: in these works, the phase
plane method is used, together with a limitation set on the torque
variations (actuator jerks). The proposed algorithm takes the pseudo-jerk,
defined as the third derivative of the curvilinear abscissa, as the control
variable: a dynamic equation of the third order is thus obtained. The
experimental results presented in (Constantinescu, 1998) show that, if
some upper bound is set on the pseudo-jerk, time-optimal trajectories can
be practically obtained by simply employing a conventional PID controller.
This proves the correlation between accuracy in trajectory following and
low values of jerk.
A different way to limit the torque variations is to consider in the objective
function not only the execution time, but also an energy contribution: for
instance, in (Shiller, 1996) the integral of squared torques along the whole
trajectory is taken into account. The experimental results presented in
(Shiller, 1996) show that the increase of the overall motion time is
compensated by a greater accuracy in trajectory following, even if
conventional PD controllers are used. This results in a reduction of actuator
stresses, with obvious advantages in the total lifetime of the electro-
mechanical components of the robot.
It is possible to approach the problem of minimum-time trajectory
planning by defining a priori the primitives of the motion, i.e. the curves
that define the trajectory in the joint space. Such curves must be smooth
functions, so that the control signals and, consequently, the torque signals
at the actuators, result also smooth functions. The most common situation
is that in which the path is specified using a limited number of via-points:
the solution is then given by spline interpolation. In the literature, several
methodologies are proposed to compute time-optimal trajectories for robot
manipulators based on optimization of splines, whose order may be three
(cubic splines) or higher. The main differences among these techniques are:
• the type of constraints considered (either kinematic or dynamic);
• the algorithm used to compute the optimal trajectory;
• the possibility to extend the optimization problem, by taking into
account other optimization criteria, in addition to the minimum time.
The distinction based on the type of constraints can be considered the most
important. It can be extended to any type of trajectory planning algorithm,
so that the two categories of kinematic trajectory planning and dynamic
trajectory planning can be defined. The kinematic trajectory planning
algorithms take as their input upper (sometimes also lower) bounds on
velocity, acceleration and jerk. In most cases such bounds are considered
constant. The dynamic trajectory planning algorithms consider the
dynamic model of the robot and define an optimization problem taking into
account dynamic constraints, such as bounds on the actuator torques, or on
the actuator jerks, defined as the variation of the torques. In some cases,
kinematic constraint (typically the velocity) are also considered. Both
approaches have pros and cons: the kinematic trajectory planning has its
main advantage in the simplicity and in the lower computational load; on
the other hand, the dynamic trajectory planning features a better capacity
to use the robot actuators. In other words, the kinematic methods are based
on a simplified computational model that yields a non-optimal use of the
robot actuators, although in most cases reasonably good trajectories are
planned. Dynamic methods are based on a more accurate model and
therefore produce better solutions, but at the cost of a heavier
computational load, since they have to deal with non-trivial issues, such as
identification of the dynamic parameters of the robot, or the efficiency in
implementing efficient algorithms to solve the robot dynamic equations.
An interesting example of an algorithm based on the inverse dynamic of a
parallel robot is given by (Carbone et al., 2008). In this work, a multi-
objective optimisation problem is formulated and a dedicated genetic
algorithm is employed to find an optimal trajectory based upon spline
functions.
Splines function are therefore used as trajectory primitives in order to
ensure the continuity of the acceleration. Another example can be found in
(Lin et al., 1983), where a nonlinear optimization problem is set, namely
the computation of the value of the time intervals between the via-points,
so as to minimize the total execution time of the trajectory subject to
kinematic constraints. The technique is based upon an unconstrained
optimization algorithm named FPS (Flexible Polyhedron Search), in
combination with an algorithm called FSC (Feasible Solution Converter),
which converts the solutions that are not physically feasible (i.e. that are
not compatible with the kinematic constraints) into feasible ones, by
implementing a suitable time scaling of the trajectory generated by the FPS
algorithm. In (Wang & Horng, 1990), the same optimization algorithm
presented in (Lin et al., 1983) is used, but instead of cubic splines, cubic B-
splines are taken as primitives of motion.
The algorithms described above produce a local optimal solution, while
other minimum-time trajectory planning methods output a global optimal
solution. Piazzi and Visioli use interval analysis to calculate a minimum-
time trajectory subject to kinematic constraints at the joints. Such
kinematic constraints are on the maximum value of velocity, acceleration
and jerk. In (Piazzi & Visioli, 1998) they extend the results already
presented in (Piazzi & Visioli, 1997a) and (Piazzi & Visioli, 1997b). The
simulations presented in (Piazzi & Visioli, 1998) showed an improvement
of 18% of the total execution time with respect to the results yielded by a
local optimization algorithm.
In (Guarino Lo Bianco & Piazzi, 2001a) and in (Guarino Lo Bianco & Piazzi,
2001b) a global optimization method is presented, which combines a
stochastic technique, such as a genetic algorithm, with a deterministic
procedure based on interval analysis. The proposed technique can be
applied to solve general global optimization problems where semi-infinite
constraints are defined. In (Guarino Lo Bianco & Piazzi, 2001a) this
algorithm is applied to the problem of minimum-time trajectory planning
with specific kinematic and dynamic constraints: namely, the trajectories,
represented by cubic splines, are subject to restrictions on the maximum
actuator torques, as well as on the linear and angular velocities of the end-
effector in the operating space. It is remarkable that, differently from usual,
in (Guarino Lo Bianco & Piazzi, 2001a) the velocity constraint is not
imposed in the joint space, but in the operating space of the end-effector.
A composition of polynomial functions of different orders are used in
(Boscariol et. al. 2012b; Boscariol et. al. 2012b) to obtain jerk continuity
along a trajectory planned from a set of pre-defined via-points, obtaining a
global minimum time solution.
Another example of minimum-time trajectory planning for robotic
manipulators can be found in (Cao & Dodds, 1994). In this case the
objective function is made of two terms: the first term takes the squared
values of the optimization variables (i.e. of the time intervals between the
via-points), while the second term is the sum of the squared accelerations
computed at the via- points. The introduction of this second term has the
effect of increasing the trajectory smoothness with respect to a pure
minimum-time approach. The optimization is performed by using the DFP
(Davidon-Fletcher-Powell) algorithm, which does not consider the
kinematic bounds, therefore performing an unconstrained minimization.
The solution obtained by means of the DFP algorithm is then subjected to a
procedure of time-scaling, until the more restrictive kinematic bound has
been saturated. The resulting trajectory, although respecting the limits on
velocity, acceleration and jerk, is sub-optimal with respect to time.
In (Dong et al., 2007) a technique for determining time-optimal path-
constrained trajectories subject to velocity, acceleration and jerk
constraints, acting on both the robot actuators and on the task to be
executed, is presented. The solution of the optimization problem is based
upon a hybrid optimization strategy, which takes into account the path
description, the kinematic model of the robot and constraints defined by
the user. The resulting trajectories are optimal with respect to time, but not
with respect to smoothness.
In the work (Liu et. al. 2013) a combination of spline functions up to the
seventh order are used together to achieve minimum time solutions with
velocities, acceleration and jerk bounds. Other examples of minimum-time
algorithms subject to kinematic constraints may be found in (Van Dijk et
al., 2007; Dongmei et al., 2006; Tangpattanakul & Artrit, 2009;
Tangpattanakul et. al., 2010; Joon-Young et al., 2010). In (Rubio et al.,
2012) the minimum-time trajectory problem is solved under kinematic and
dynamic constraints, i.e. teorque, power, jerk and energy, taking into
account both the robot dynamics and the obstacle presence.
Optimal trajectory planning with respect to time, energy and jerk has been
discussed in the foregoing. Hybrid optimization approaches have also been
proposed in the robotic literature. For instance, in order to get the
advantages of the jerk reduction while executing fast trajectories, hybrid
time-jerk optimal techniques are proposed, for instance (Huang et al.,
2006; Petrinec & Kovacic, 2007; Gasparetto & Zanotto, 2007; Gasparetto &
Zanotto, 2008; Gasparetto et al., 2010; Boscariol et. al. 2011, Gasparetto et.
al. 2012). These algorithms differ from the primitives used to interpolate
the path, or from the optimization procedures implemented.
In (Gasparetto & Zanotto, 2007; Gasparetto & Zanotto, 2008; Gasparetto et
al., 2010: Boscariol et. al. 2011; Gasparetto et. al. 2012) a minimum time-
jerk trajectory planning technique is described, based upon two algorithms
aimed at the minimization of an objective function, which is designed so as
to ensure fastness in execution and smoothness of the trajectory at the
same time. Such an objective function is composed of a term which is
proportional to the total execution time and of a term which is proportional
to the integral of the squared jerk along the path. The proposed algorithm
enables one to define constraints on the robot motion before the execution
of the trajectory. The constraints are expressed in form of upper bounds on
the velocity, acceleration and jerk values of all robot joints. In this way, any
physical limitation of the real robot can be taken into account when
planning the trajectory. Unlike most jerk-minimization methods, this
technique does not ask for an a priori setting of the total execution time.
In (Lombai & Szederkenyi, 2008) and in (Lombai & Szederkenyi, 2009),
the methodology is extended by taking into account also the power
consumption of the actuators and physical limits of the joints. In this way,
the technique becomes a time-jerk-energy planning algorithm.
Several objectives are taken into account in the work (Khouki et. al, 2009):
in particular minimum elctrical and kinematic energy, mimum time and
maximum maniuplability are obtained with the solution of a single
optimization problem.
Conclusions
References