Abstract
Trajectory planning consists in finding a time series of successive joint angles that allows moving a robot from a starting configuration towards a goal configuration, in order to achieve a task, such as grabbing an object from a conveyor belt and placing it on a shelf. This trajectory must respect given constraints: for instance, the robot should not collide with the environment; the joint angles, velocities, accelerations, or torques should be within specified limits, etc. Next, if several trajectories are possible, one should choose the one that optimizes a certain objective, such as the trajectory execution time or energy consumption. This chapter reviews methods to plan trajectories with constraints and optimization objectives relevant to industrial robot manipulators.
Access provided by Autonomous University of Puebla. Download reference work entry PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Introduction
For a robot to accomplish a given high-level task – such as grabbing an object on a conveyor belt and placing it on a shelf – this task must be translated into low-level commands understandable by the robot operating system. This whole process, known as “motion planning,” can be broken down into a number of steps, as illustrated in Fig. 1. Note that, for clarity, the different levels and steps were represented in a sequential, linear fashion. In practice, however, several levels or steps might sometimes be addressed at the same time: for instance, when planning at the “trajectory” level, one might have to take into account the robot torque bounds, which appear at the “actuator commands” level.
Until recently, motion planning has mostly been performed by human operators: for a given task, a skilled, experienced operator would manually find the commands (using, e.g., a teach pendant and visual feedback) that would allow the robot to achieve the task. However, this approach is time-consuming and usually produces suboptimal trajectories. Further, if the task changes (even slightly), the whole tedious teaching process has to be done over again.
Impressive theoretical advances in the field of motion planning in the past few decades have brought about a new picture: it is now possible for a computer to find, in minutes or seconds, optimal commands for a robot to achieve a given task, even in very challenging, cluttered environments. Several companies, some of them spinning off from academia (e.g., Siemens Kineo, France/Germany or Mujin Inc., Japan), are developing software solutions that are in use in actual factories.
The current chapter discusses trajectory planning, which is a part of motion planning. Specifically, we shall focus on the problem of finding a trajectory of the joint angles between given starting and goal joint angles, see Fig. 2. It is thus assumed that appropriate computations have been carried out before (e.g., grab synthesis, inverse kinematics, etc.) or will be carried out after (e.g., robot instruction synthesis, command synthesis, etc.) this stage.
Two important concepts, namely, constraints and optimization, are essential in trajectory planning. Constraints restrict the range of motions that the robot can execute. One can classify them into two categories. First, geometric constraints are the constraints that can be expressed solely in terms of the robot joint angles: these include bounds on the joint angles, avoidance of self-collision and of collision with obstacles, etc. These constraints can thus be fully taken into account in the path planning step. Second, kinodynamic constraints are the constraints that include higher-order time derivatives of the joint angles, such as bounds on the joint velocities, accelerations, torques, or motor current inputs. These constraints cannot be taken into account by path planning alone and must be considered at the trajectory level.
Optimization comes into play when there are more than one path or trajectory that allow achieving the task while satisfying the constraints. It is then interesting to select the path or trajectory that optimizes a given objective. At the path level, one might be interested in finding the shortest path in joint space or in the end-effector space. At the trajectory level, other optimization objectives, such as minimum time, maximum smoothness, minimum energy, etc., can be considered. Note that because of kinodynamic constraints, a shortest path might not correspond to a minimum-time or minimum-energy trajectory.
Scope of this Chapter From the above discussion, it is clear that there exists a very large variety of trajectory planning problems (Hwang and Ahuja 1992; LaValle 2006), in terms of robot structures, constraints, optimization objectives, etc. The present chapter focuses on problems arising from the industry: we shall specifically consider serial robotic manipulators, constraints arising from obstacle avoidance and from bounds on the joint angles, velocities, accelerations and torques, and optimization objectives related to the trajectory execution time. Also, we shall concentrate more particularly on the methods that are actually in use in the industry rather than cover the whole panorama of existing planning methods.
Organization The remainder of this chapter is organized as follows. In section “Path and Trajectory Planning,” some methods for geometric path planning and kinodynamic trajectory planning are presented. The focus of that section is on finding one feasible path or trajectory – optimization is not considered. In section “Path and Trajectory Optimization,” methods for path and trajectory optimization under geometric and kinodynamic constraints are reviewed. As stated above, we shall mostly consider the minimization of trajectory execution time. Finally, section “Conclusion” offers a brief conclusive discussion.
Path and Trajectory Planning
Important Concepts
We first introduce the important concept of configuration space (Lozano-Perez 1983) in the context of serial robotic manipulators.
Definition 1
(Configuration space ). A set of joint angles q = (θ 1, …, θ n ), where n is the number of joints of the robot manipulator, is called a configuration. The set of all possible joint angles is called the configuration space and denoted \( \mathcal{C} \). For instance, \( \mathcal{C}={\left[-\pi, \pi \right]}^n \) for a manipulator with n revolute joints. If a robot is in collision with the environment or with itself at configuration q, then q is called a colliding configuration. The subset of \( \mathcal{C} \) consisting of all non-colliding configurations is called the free space and denoted \( \mathcal{C} \) free.
It is assumed that the starting configuration q start and the goal configuration q goal are given. The problem thus consists in finding a path or a trajectory (see definition below) connecting q start and q goal and respecting the constraints.
Definition 2
(Path and trajectory). Formally, a path can be defined as a continuous function P
For a path connecting q start and q goal , one thus has
A path can be regarded as a geometric object devoid of any timing information. Next, a time parameterization of P is a strictly increasing function
with s(0) = 0 and s(T) = 1. The function s gives the position on the path for each time instant t.
The path P endowed with a time parameterization s becomes a trajectory П
with T being the duration of the trajectory. Note that the same path P can give rise to many different trajectories П.
Path Planning Under Geometric Constraints
There exists a large variety of approaches to path planning : combinatorial methods, potential field methods, sampling-based methods, etc.
Combinatorial methods make use of algebraic geometry and mathematical programming tools to provide complete algorithms to the path planning problems. “Complete” means that the algorithm can decide in finite time whether the problem has a solution and provide a solution when it exists. An example of a combinatorial method is the cell decomposition method: when the obstacles are polygonal, the free space \( \mathcal{C} \) free can be decomposed into cells (e.g., triangular cells by a Delaunay triangulation). Solving the problem then boils down to finding a sequence of adjacent cells such that q start and q goal belong to respectively the first and the last cell of the sequence (see, e.g., LaValle 2006, Sect. 6.3.2). While combinatorial methods are valuable to obtain theoretical results (for instance, they allow proving that the general motion planning problem is NP complete), they are too slow to be used in practice, especially in high-dimensional problems. Another issue is that these methods require an explicit representation of the obstacles, which is very difficult to obtain in most practical problems.
The potential field method was introduced in (Khatib 1986). This method constructs a potential field which is high near the obstacles and low at the goal configuration. Steering towards the goal configuration while avoiding the obstacles can then be naturally achieved by letting the robot configuration evolve in that potential field. This method is interesting in that it allows real-time control. However, the issue of local minima – the robot may get trapped in the local minima of the potential field – prevents its use in highly cluttered environments.
Sampling-based methods are perhaps the most efficient and robust, hence probably the most widely used methods for path planning currently. The next two sections review these methods in detail.
Grid Search and Probabilistic Roadmap (PRM)
A first category of sampling-based methods requires building, in a preprocessing stage, a roadmap that captures the connectivity of \( \mathcal{C} \) free. A roadmap is a graph G whose vertices are configurations of \( \mathcal{C} \) free. Two vertices are connected in G only if it is possible to connect the two configurations by a path entirely contained in \( \mathcal{C} \) free. Once such a roadmap is built, it is easy to answer the path planning problem: if (i) q start can be connected to a (nearby) vertex u and (ii) q goal can be connected to a (nearby) vertex v and (iii) v and v are in the same connected component of G (in the graph-theoretic sense), then there exists a collision-free path between q start and q goal (see Fig. 3).
Methods for building the roadmap fall into two families: deterministic or probabilistic. A typical deterministic method is the Grid Search , where the configuration space \( \mathcal{C} \) is sampled following a regular grid, as in Fig. 3a. A sampled configuration is rejected if it is not in \( \mathcal{C} \) free. Next, one attempts to connect every pair of adjacent configurations (adjacent in the sense of the grid structure) to each other: if the straight segment connecting the two configurations is contained within \( \mathcal{C} \) free, then the corresponding edge is added to the graph G.
In the Probabilistic Roadmap method (Kavraki et al. 1996), instead of following a regular grid, samples are taken at random in \( \mathcal{C} \) free, see Fig. 3b. Since there is no a priori grid structure, several methods exist for choosing the pairs of vertices for which connection is attempted: for instance, one may attempt, for each vertex, to connect it to every vertices that are within a specified radius r from it.
Advantages of the Roadmap-Based Methods The strength of the roadmap-based methods (both deterministic and probabilistic) comes from the global/local decomposition – the difficult problem of path planning is solved at two scales: the local scale, where neighboring configurations (adjacent configurations in Grid Search, configurations within a small distance r of each other in the Probabilistic Roadmap) are connected by a simple straight segment; and the global scale, where the graph search takes care of the global, complex connectivity of the free space.
Note also that it is not necessary for these methods to have an explicit representation of \( \mathcal{C} \) free: one only needs an oracle which says whether a given configuration is in \( \mathcal{C} \) free. To check whether a straight segment is contained within \( \mathcal{C} \) free, it suffices to call the oracle on every configuration (or, in practice, on sufficiently densely sampled configurations) along that segment.
These methods also possess nice theoretical guarantees. Specifically, it can be shown that the Grid Search is resolution complete, which means that if a solution exists, the algorithm will find it in finite time and for a sufficiently small grid size. Similarly, it can be shown that the Probabilistic Roadmap method is probabilistically complete, which means that, if a solution exists, the probability that the algorithm will find it converges to 1 as the number of sample points goes to infinity (LaValle et al. 2004). However, the converge rate of both methods is difficult to determine on practical problem instances.
Regarding the comparative performances of the deterministic and probabilistic approaches, it has been shown both theoretically and practically that randomness is not advantageous in terms of search time. However, it can be argued that probabilistic methods are easier to implement (LaValle et al. 2004).
Rapidly Exploring Random Trees (RRT)
The methods just discussed require building the entire roadmap in the preprocessing stage before being able to answer any query [a query being a pair (q start q goal) to be connected]. In applications where only a single or a limited number of queries are needed, it may not be worthy to build the whole roadmap. Single query methods, such as the Rapidly Exploring Random Trees (RRT), are much more suited for these applications (Lavalle et al. 1998).
Specifically, RRT iteratively builds a tree (see Algorithm 1), which is also a roadmap, but which has the property of exploring “optimally” the free space. The key lies in the EXTEND function, which selects the vertex in the tree that is the closest to the randomly sampled configuration (see Algorithm 2 and Fig. 4). Thus, the probability for a vertex in the tree to be selected is proportional to the size of its Voronoi region, causing the tree to grow preferably towards previously under-explored regions (Lavalle et al. 1998).
Algorithm 1
BUILD_RRT
Input: A starting configuration q start
Output: A tree \( \mathcal{T} \) rooted at q start
\( \mathcal{T} \).INITIALIZE(q start)
for rep = 1 to N maxrep do
q rand ← RANDOM_CONFIG()
EXTEND(\( \mathcal{T} \), q rand)
end for
Algorithm 2
EXTEND
Input: A tree \( \mathcal{T} \) and a target configuration q
Effect: Grow \( \mathcal{T} \) by a new vertex in the direction of q
q near ← NEAREST_NEIGHBOR (\( \mathcal{T} \),q)
if q new ← STEER (q near , q) succeeds then
Add vertex q new to \( \mathcal{T} \)
Add edge [q near, q new] to \( \mathcal{T} \)
end if
Note: STEER(q near, q) attempts making a straight motion from q near towards q. Three cases can happen: (i) q is within a given distance r of q near and [q rand, q] is collision-free, then q is returned as the new vertex q new; (ii) q is farther than a given distance r of q near, and the segment of length r from q near and in the direction of q is collision-free, then the end of that segment is returned as q new (see Fig. 4); (iii) else, STEER returns failure
Finally, to find a path connecting q start and q goal, one can grow simultaneously two RRTs, one rooted at q start and the other rooted at q goal, and attempt to connect the two trees at each iteration. This algorithm is known as bidirectional RRT (Kuffner and Lavalle 2000). In practice, bidirectional RRT has proved to be easy to implement, yet extremely efficient and robust: it has been successfully applied to a large variety of robots and challenging environments.
Trajectory Planning Under Kinodynamic Constraints
As mentioned earlier, kinodynamic constraints involve higher-order derivatives of the configuration and cannot therefore be expressed in the configuration space. One approach to kinodynamic planning thus consists of transposing the path planning methods (such as PRM or RRT) to the state-space \( \mathcal{X} \), that is, the configuration space \( \mathcal{C} \) augmented with velocity coordinates, where the kinodynamic constraints can be appropriately taken into account (Donald et al. 1993; LaValle and Kuffner 2001; Hsu et al. 2002). One drawback of this approach is that moving into the state space is associated with a twofold increase in the dimension of the search space: if \( \mathcal{C} \) is of dimension n, then \( \mathcal{X} \) is of dimension 2n. Since planning algorithms usually have complexities that scale exponentially with the dimension of the search space (Hsu et al. 2002), a twofold increase in the dimension may make state-space kinodynamic planning algorithms impractical even for relatively small values of n (Shiller and Dubowsky 1991).
A second approach avoids the complexity explosion by decoupling the problem: first, search for a path in the robot configuration space \( \mathcal{C} \) under geometric constraints (using path planning methods discussed earlier) and, in a second step, find a time parameterization of that path that satisfies the kinodynamic constraints (Bobrow et al. 1985; Kuffner et al. 2002). The drawback here is that the path found in the first step may have no time parameterization at all that respects the kinodynamic constraints. This drawback may be addressed by introducing an Admissible Velocity Propagation scheme, which allows checking, at each PRM/RRT extension, the existence of an eventual admissible time parameterization (Pham et al. 2013).
Path and Trajectory Optimization
As stated in the Introduction, we shall focus here on minimizing trajectory execution time, which is the most common optimization objective in the industry. When planning at the path level, minimizing execution time can be equated to minimizing the path length, which is covered in section “Minimizing Path Length.” At the trajectory level, however, shortest paths may not correspond to minimum-time trajectories when kinodynamic constraints come into play. Section “Minimizing Trajectory Duration” reviews methods to specifically minimize trajectory duration.
Minimizing Path Length
Asymptotically Optimal Methods
While the roadmap-based methods presented in section “Grid Search and Probabilistic Roadmap (PRM)” address the feasibility problem, i.e., the problem of finding one feasible path, it is straightforward to modify them to include path length optimization. Indeed, once q start and q goal have been connected respectively to vertices u and v in G, classical graph algorithms, such as Dijkstra’s search (Dijkstra 1959) or A * search (Hart et al. 1968), can be applied to find the shortest path between u and v in G. In turn, the path lengths between q start and q goal are minimized.
It can be shown that these algorithms are asymptotically optimal in the sense that the path length of the solution returned by these algorithms converges to the minimal path length as the grid size – in the case of Grid Search – goes to 0, or as the number of sampled points goes to infinity – in the case of the Probabilistic Roadmap.
Regarding the single-query problem, it has been shown that the RRT method, if modified in the same way as above, would not yield an asymptotically optimal algorithm. However, RRT* – a modified version of RRT where the EXTEND function tries to extend from not only the nearest vertex but from a specific number of nearest vertices – possesses the asymptotic optimality property (Karaman and Frazzoli 2011).
Path Shortcutting
While the RRT* algorithm just mentioned has the nice property of being asymptotically optimal, it is too slow to be used in practice. For single-query problems, it turns out that a two-step approach consisting of (i) finding one path using RRT, followed by (ii) post-processing this trajectory by repetitively applying shortcuts realizes a good trade-off between path quality and computation time (Geraerts and Overmars 2007).
The shortcut method is presented in Algorithm 3. It is simple to implement, yet very effective. A modified version, called partial shortcut, consists in shortcutting one joint angle at a time, can yield even higher-quality paths but also requires a longer computation time (Geraerts and Overmars 2007).
Algorithm 3
PATH_SHORTCUT
Input: A collision-free path P
Output: A shorter collision-free path
for rep = 1 to N maxrep do
Pick two random points q 1, q 2 along the path
if [q 1, q 2] is collision-free then
Replace the portion of P between q 1 and q 2 by [q 1, q 2]
end if
end for
Note: [q 1, q 2] denotes the straight segment between q 1 and q 2 in the joint space.
Minimizing Trajectory Duration
Fixed-Path Time Minimization
Once a collision-free path has been found, one can give sample configurations along the path as input to the robot. However, for most modern robot manipulators, execution time can be greatly reduced if each sample configuration is accompanied with a time stamp, i.e., the time instant when the robot should reach that configuration. This requires time parameterizing the path, that is, transforming it into a trajectory.
More specifically, with the notations introduced in Definition 2 of section “Important Concepts,” minimizing the traversal time of a given path P is to find the time parameterization s such that T is minimal and that the parameterized trajectory (q(s(t))) t∈[0,T] satisfies given kinodynamic constraints.
When the constraints are bounds on the joint torques, a very efficient solution to this problem, based on Pontryagin’s maximum principle, was proposed in the 1980s (Bobrow et al. 1985; Shin and McKay 1985) and has been continuously improved until today (Pfeiffer and Johanni 1987; Slotine and Yang 1989; Shiller and Lu 1992; Pham 2013). This method can also be applied to other types of kinodynamic constraints such as gripper and payload constraints (Shiller and Dubowsky 1989) or bounds on the joint velocities and accelerations (Kunz and Stilman 2012). More recently, another family of algorithms to solve this fixed-path time minimization, based on convex optimization, was proposed in (Verscheure et al. 2009; Hauser 2013).
Global Time Minimization
A number of exact (Geering et al. 1985; Meier and Ryson 1990) and approximate (Yang and Slotine 1994) methods exist to directly find the time-optimal trajectory subject to torque bounds between two configurations. However, these methods are only practical for low-dimensional problems and cannot deal with geometric obstacles.
To take into account both geometric and kinodynamic (e.g., torque bounds) constraints, an effective approach consists of generating a large number of paths and on each path, apply the fixed-path time minimization described in the previous section. In (Bobrow 1988), the author considers a family of paths consisting of Bezier curves. A path of this family can be represented by a set of control points p = (p 1 ,…, p n ). One can then define the cost C(p) by the duration of the time-minimal parameterization of the Bezier curve represented by p. Finally, one can search for the time-minimal trajectory by a gradient search, where the gradient dC/dp is evaluated numerically.
Another method (Shiller and Gwo 1991) consists in building roadmaps as in section “Minimizing Path Length,” but where the cost of an edge in the graph search would not be the distance between the adjacent vertices but a heuristic quantity related to the fixed-path time minimization algorithm of section “Fixed-Path Time Minimization.”
Shortcutting with Kinodynamic Constraints
As in the case of path planning (section “Path Shortcutting”), it turns out that shortcutting is the most effective method to obtain trajectories with short durations (Hauser and Ng-Thow-Hing 2010). There is, however, an important difference between trajectory and path shortcutting: in trajectory shortcutting, one usually needs to ensure that the new portion can be inserted into the original trajectory while preserving the smoothness properties of the original trajectory. For instance, if one wants to preserve the C 1-continuity of the trajectory (i.e., the property that the trajectory is differentiable and that the derivative is continuous), then it is necessary to generate shortcuts that begin and end, not only at the same configurations q 1, q 2, but also with the same velocities \( {\dot{\mathbf{q}}}_1,{\dot{\mathbf{q}}}_2 \) as in the original portion.
Algorithm 4 presents shortcutting under velocity and acceleration (or pure kinematic) bounds (Hauser and Ng-Thow-Hing 2010). This algorithm is very effective thanks to the following property: given the beginning and ending configurations and velocities \( \left({\mathbf{q}}_1,{\dot{\mathbf{q}}}_1\right),\left({\mathbf{q}}_2,{\dot{\mathbf{q}}}_2\right) \), it is possible to compute analytically the time-optimal trajectory portion \( {\prod}^{\mathrm{kin}}\left({\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2\right) \) under given velocity and acceleration bounds (Hauser and Ng-Thow-Hing 2010).
Algorithm 5 presents shortcutting under general kinodynamic bounds (Pham 2012). Contrary to the case of velocity and acceleration bounds, there is no analytic expression of the time-optimal trajectory for general kinodynamic constraints. One thus have to resort to the path decoupling approach presented earlier: (i) interpolate a path between \( \left({\mathbf{q}}_1,{\dot{\mathbf{q}}}_1\right) \) and \( \left({\mathbf{q}}_2,{\dot{\mathbf{q}}}_2\right) \) respecting C 1-continuity, and (ii) time-parameterize the path optimally under the given kinodynamic constraints. Note that the heuristic to choose the path in step (i) is crucial for the performance of the algorithm.
Algorithm 4
TRAJ_SHORTCUT_KINEMATIC
Input: A collision-free, C 1 trajectory ∏ satisfying velocity and acceleration constraints
Output: A collision-free, C 1 trajectory satisfying the velocity and acceleration constraints and with shorter time duration
for rep = 1 to N maxrep do
Pick two random points q 1,q 2 along ∏
if ∏ kin(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \)) is collision-free then
Replace the portion of ∏ between q 1 and q 2 by ∏ kin(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \))
end if
end for
Note: ∏ kin (\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \)) denotes the optimal trajectory between (\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1 \)) and (\( {\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \)) under given velocity and acceleration bounds (see text)
Algorithm 5
TRAJ_SHORTCUT_GENERAL
Input: A collision-free, C 1 trajectory ∏ satisfying general kinodynamic constraints
Output: A collision-free, C 1 trajectory satisfying the kinodynamic constraints and with shorter time duration
for rep = 1 to N maxrep do
Pick two random points q 1,q 2 along ∏
Generate a path P int(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \))
if P int(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \)) is collision-free then
Time-parameterize P int(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \))into ∏ int(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \))
if ∏ int(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \)) has shorter time duration than the original portion then
Replace the portion of ∏ between q 1 and q 2 by ∏ int(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \))
end if
end if
end for
Note: P int(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \)) denotes an interpolated path between (\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1 \)) and (\( {\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \)).
∏ int(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \)) denotes the time-optimal trajectory obtained by time-parameterizing
P int(\( {\mathbf{q}}_1,{\dot{\mathbf{q}}}_1,{\mathbf{q}}_2,{\dot{\mathbf{q}}}_2 \)) under given kinodynamic constraints (see text)
Summary
We have presented an overview of trajectory planning and optimization methods, with a special emphasis on those relevant to industrial robotic manipulators. It appears from this overview that very efficient methods exist for planning high-quality trajectories when the environment (consisting of the robot, the obstacles, etc.) is well defined and static. A typical work flow, may integrate some of these methods as sketched in Fig. 5. The main current challenge of trajectory planning in classical factory automation lies mainly in the development of robust software, as well as practical integration into the work place.
The next major step in factory automation is to integrate the robot more tightly with human operators. For this, new methods must be developed, taking into account environments that are by nature time changing, and sometimes in an unpredictable way, because of the close, possibly physical interaction with human operators. In this context, other types of constraints and optimization objectives must also be considered, such as safety or compliance.
References
Bobrow J (1988) Optimal robot plant planning using the minimum-time criterion. IEEE J Robot Autom 4(4):443–450
Bobrow J, Dubowsky S, Gibson J (1985) Time-optimal control of robotic manipulators along specified paths. Int J Robot Res 4(3):3–17
Dijkstra EW (1959) A note on two problems in connexion with graphs. Numer Math 1(1):269–271
Donald B, Xavier P, Canny J, Reif J (1993) Kinodynamic motion planning. J Assoc Comput Mach 40(5):1048–1066
Geering HP, Guzzella L, Hepner SA, Onder CH (1985) Time-optimal motions of robots in assembly tasks. In: Proceedings of the 24th IEEE conference on decision and control, vol 24. IEEE, Fort Lauderdale, pp 982–989
Geraerts R, Overmars M (2007) Creating high-quality paths for motion planning. Int J Robot Res 26(8):845–863
Hart PE, Nilsson NJ, Raphael B (1968) A formal basis for the heuristic determination of minimum cost paths. IEEE Trans Syst Sci Cybern 4(2):100–107
Hauser K (2013) Fast interpolation and time-optimization on implicit contact submanifolds. In: Proceedings of the robotics: science and systems, Berlin, 2013
Hauser K, Ng-Thow-Hing V (2010) Fast smoothing of manipulator trajectories using optimal bounded-acceleration shortcuts. In: Proceedings of the IEEE international conference on robotics and automation, 2010. Anchorage, pp 2493–2498
Hsu D, Kindel R, Latombe J-C, Rock S (2002) Randomized kinodynamic motion planning with moving obstacles. Int J Robot Res 21(3):233–255
Hwang YK, Ahuja N (1992) Gross motion planning – a survey. ACM Comput Surv (CSUR) 24(3):219–291
Karaman S, Frazzoli E (2011) Sampling-based algorithms for optimal motion planning. Int J Robot Res 30(7):846–894
Kavraki L, Svestka P, Latombe J, Overmars M (1996) Probabilistic roadmaps for path planning in high-dimensional configuration spaces. IEEE Trans Robot Autom 12(4):566–580
Khatib O (1986) Real-time obstacle avoidance for manipulators and mobile robots. Int J Robot Res 5(1):90–98
Kuffner J, LaValle S (2000) RRT-connect: an efficient approach to single-query path planning. In: Proceedings of the IEEE international conference on robotics and automation, San Francisco, 2000
Kuffner J, Kagami S, Nishiwaki K, Inaba M, Inoue H (2002) Dynamically-stable motion planning for humanoid robots. Auton Robot 12(1):105–118
Kunz T, Stilman M (2012) Time-optimal trajectory generation for path following with bounded acceleration and velocity. Robot Sci Syst 8:09–13
Lavalle SM (1998) Rapidly-exploring random trees: a new tool for path planning. Technical report 98–11, Iowa State University
LaValle S (2006) Planning algorithms. Cambridge University Press, Cambridge
LaValle S, Kuffner J (2001) Randomized kinodynamic planning. Int J Robot Res 20(5):378–400
LaValle SM, Branicky MS, Lindemann SR (2004) On the relationship between classical grid search and probabilistic roadmaps. Int J Robot Res 23(7–8):673–692
Lozano-Perez T (1983) Spatial planning: a configuration space approach. IEEE Trans Comput 100(2):108–120
Meier E-B, Ryson AE (1990) Efficient algorithm for time-optimal control of a two-link manipulator. J Guid Control Dyn 13(5):859–866
Pfeiffer F, Johanni R (1987) A concept for manipulator trajectory planning. IEEE Trans Robot Autom 3(2):115–123
Pham Q-C (2012) Planning manipulator trajectories under dynamics constraints using minimum-time shortcuts. In: Proceedings of the second IFToMM ASIAN conference on mechanism and machine science, Tokyo, 2012
Pham Q-C (2013) Characterizing and addressing dynamic singularities in the time-optimal path parameterization algorithm. In: Proceedings of the IEEE/RSJ international conference on intelligent robots and systems, Tokyo, 2013
Pham Q-C, Caron S, Nakamura Y (2013) Kinodynamic planning in the configuration space via velocity interval propagation. In: Proceedings of the robotics: science and system, Berlin, 2013
Shiller Z, Dubowsky S (1989) Robot path planning with obstacles, actuator, gripper, and payload constraints. Int J Robot Res 8(6):3–18
Shiller Z, Dubowsky S (1991) On computing the global time-optimal motions of robotic manipulators in the presence of obstacles. IEEE Trans Robot Autom 7(6):785–797
Shiller Z, Gwo Y (1991) Dynamic motion planning of autonomous vehicles. IEEE Trans Robot Autom 7(2):241–249
Shiller Z, Lu H (1992) Computation of path constrained time optimal motions with dynamic singularities. J Dyn Syst Meas Control 114:34
Shin K, McKay N (1985) Minimum-time control of robotic manipulators with geometric path constraints. IEEE Trans Autom Control 30(6):531–541
Slotine J, Yang H (1989) Improving the efficiency of time-optimal path-following algorithms. IEEE Trans Robot Autom 5(1):118–124
Verscheure D, Demeulenaere B, Swevers J, De Schutter J, Diehl M (2009) Time-optimal path tracking for robots: a convex optimization approach. IEEE Trans Autom Control 54(10):2318–2327
Yang H, Slotine J (1994) Fast algorithms for near-minimum-time control of robot manipulators. Int J Robot Res 13(6):521–532
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag London
About this entry
Cite this entry
Pham, QC. (2015). Trajectory Planning. In: Nee, A. (eds) Handbook of Manufacturing Engineering and Technology. Springer, London. https://doi.org/10.1007/978-1-4471-4670-4_92
Download citation
DOI: https://doi.org/10.1007/978-1-4471-4670-4_92
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-4471-4669-8
Online ISBN: 978-1-4471-4670-4
eBook Packages: EngineeringReference Module Computer Science and Engineering