Motion planning, also path planning (also known as the navigation problem or the piano mover's problem) is a
computational problem
In theoretical computer science, a computational problem is a problem that may be solved by an algorithm. For example, the problem of factoring
:"Given a positive integer ''n'', find a nontrivial prime factor of ''n''."
is a computational probl ...
to find a sequence of valid configurations that moves the object from the source to destination. The term is used in
computational geometry
Computational geometry is a branch of computer science devoted to the study of algorithms which can be stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems ar ...
,
computer animation
Computer animation is the process used for digitally generating animations. The more general term computer-generated imagery (CGI) encompasses both static scenes (still images) and dynamic images (moving images), while computer animation refe ...
,
robotics
Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrat ...
and
computer game
Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device to gener ...
s.
For example, consider navigating a
mobile robot
A mobile robot is an automatic machine that is capable of locomotion.Hu, J.; Bhowmick, P.; Lanzon, A.,Group Coordinated Control of Networked Mobile Robots with Applications to Object Transportation IEEE Transactions on Vehicular Technology, 2021 ...
inside a building to a distant waypoint. It should execute this task while avoiding walls and not falling down stairs. A motion planning algorithm would take a description of these tasks as input, and produce the speed and turning commands sent to the robot's wheels. Motion planning algorithms might address robots with a larger number of joints (e.g., industrial manipulators), more complex tasks (e.g. manipulation of objects), different constraints (e.g., a car that can only drive forward), and uncertainty (e.g. imperfect models of the environment or robot).
Motion planning has several robotics applications, such as
autonomy
In developmental psychology and moral, political, and bioethical philosophy, autonomy, from , ''autonomos'', from αὐτο- ''auto-'' "self" and νόμος ''nomos'', "law", hence when combined understood to mean "one who gives oneself one's ...
,
automation
Automation describes a wide range of technologies that reduce human intervention in processes, namely by predetermining decision criteria, subprocess relationships, and related actions, as well as embodying those predeterminations in machines ...
, and robot design in
CAD software
Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve co ...
, as well as applications in other fields, such as animating
digital character
Character animation is a specialized area of the animation process, which involves bringing animated s to life. The role of a character animator is analogous to that of a film or stage actor and character animators are often said to be "actors wi ...
s,
video game
Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
,
architectural design
Building design refers to the broadly based architectural, engineering and technical applications to the design of buildings. All building projects require the services of a building designer, typically a licensed architect. Smaller, less complic ...
,
robotic surgery
Robotic surgery are types of surgical procedures that are done using robotic systems. Robotically assisted surgery was developed to try to overcome the limitations of pre-existing minimally-invasive surgical procedures and to enhance the capabil ...
, and the study of
biological molecule
A biomolecule or biological molecule is a loosely used term for molecules present in organisms that are essential to one or more typically biological processes, such as cell division, morphogenesis, or development. Biomolecules include large ...
s.
Concepts
A basic motion planning problem is to compute a continuous path that connects a start configuration S and a goal configuration G, while avoiding collision with known obstacles. The robot and obstacle geometry is described in a 2D or 3D ''workspace'', while the motion is represented as a path in (possibly higher-dimensional)
configuration space.
Configuration space
A configuration describes the pose of the robot, and the
configuration space C is the set of all possible configurations. For example:
* If the robot is a single point (zero-sized) translating in a 2-dimensional plane (the workspace), C is a plane, and a configuration can be represented using two parameters (x, y).
* If the robot is a 2D shape that can translate and rotate, the workspace is still 2-dimensional. However, C is the special Euclidean group SE(2) = R
2 SO(2) (where SO(2) is the
special orthogonal group
In mathematics, the orthogonal group in dimension , denoted , is the group of distance-preserving transformations of a Euclidean space of dimension that preserve a fixed point, where the group operation is given by composing transformations. T ...
of 2D rotations), and a configuration can be represented using 3 parameters (x, y, θ).
* If the robot is a solid 3D shape that can translate and rotate, the workspace is 3-dimensional, but C is the special Euclidean group SE(3) = R
3 SO(3), and a configuration requires 6 parameters: (x, y, z) for translation, and
Euler angles
The Euler angles are three angles introduced by Leonhard Euler to describe the Orientation (geometry), orientation of a rigid body with respect to a fixed coordinate system.Novi Commentarii academiae scientiarum Petropolitanae 20, 1776, pp. 189 ...
(α, β, γ).
* If the robot is a fixed-base manipulator with N revolute joints (and no closed-loops), C is N-dimensional.
Free space
The set of configurations that avoids collision with obstacles is called the free space C
free. The complement of C
free in C is called the obstacle or forbidden region.
Often, it is prohibitively difficult to explicitly compute the shape of C
free. However, testing whether a given configuration is in C
free is efficient. First,
forward kinematics
In robot kinematics, forward kinematics refers to the use of the kinematic equations of a robot to compute the position of the end-effector from specified values for the joint parameters.
The kinematics equations of the robot are used in roboti ...
determine the position of the robot's geometry, and
collision detection
Collision detection is the computational problem of detecting the intersection (Euclidean geometry), intersection of two or more objects. Collision detection is a classic issue of computational geometry and has applications in various computing ...
tests if the robot's geometry collides with the environment's geometry.
Target space
Target space is a subspace of free space which denotes where we want the robot to move to. In global motion planning, target space is observable by the robot's sensors. However, in local motion planning, the robot cannot observe the target space in some states. To solve this problem, the robot goes through several virtual target spaces, each of which is located within the observable area (around the robot). A virtual target space is called a sub-goal.
Obstacle space
Obstacle space is a space that the robot can not move to. Obstacle space is not opposite of free space.
Algorithms
Low-dimensional problems can be solved with grid-based algorithms that overlay a grid on top of configuration space, or geometric algorithms that compute the shape and connectivity of C
free.
Exact motion planning for high-dimensional systems under complex constraints is computationally
intractable. Potential-field algorithms are efficient, but fall prey to local minima (an exception is the harmonic potential fields). Sampling-based algorithms avoid the problem of local minima, and solve many problems quite quickly.
They are unable to determine that no path exists, but they have a probability of failure that decreases to zero as more time is spent.
Sampling-based algorithms are currently considered state-of-the-art for motion planning in high-dimensional spaces, and have been applied to problems which have dozens or even hundreds of dimensions (robotic manipulators, biological molecules, animated digital characters, and
legged robot
Legged robots are a type of mobile robot which use articulated limbs, such as leg mechanisms, to provide locomotion. They are more versatile than wheeled robots and can traverse many different terrains, though these advantages require increased ...
s).
Grid-based search
Grid-based approaches overlay a grid on configuration space and assume each configuration is identified with a grid point. At each grid point, the robot is allowed to move to adjacent grid points as long as the line between them is completely contained within C
free (this is tested with collision detection). This discretizes the set of actions, and
search algorithms
In computer science, a search algorithm is an algorithm designed to solve a search problem. Search algorithms work to retrieve information stored within particular data structure, or calculated in the search space of a problem domain, with eith ...
(like
A*) are used to find a path from the start to the goal.
These approaches require setting a grid resolution. Search is faster with coarser grids, but the algorithm will fail to find paths through narrow portions of C
free. Furthermore, the number of points on the grid grows exponentially in the configuration space dimension, which make them inappropriate for high-dimensional problems.
Traditional grid-based approaches produce paths whose heading changes are constrained to multiples of a given base angle, often resulting in suboptimal paths.
Any-angle path planning
Any-angle path planning algorithms are a subset of pathfinding algorithms that search for a path between two points in space and allow the turns in the path to have any angle. The result is a path that goes directly toward the goal and has relative ...
approaches find shorter paths by propagating information along grid edges (to search fast) without constraining their paths to grid edges (to find short paths).
Grid-based approaches often need to search repeatedly, for example, when the knowledge of the robot about the configuration space changes or the configuration space itself changes during path following.
Incremental heuristic search
Incremental heuristic search algorithms combine both incremental and heuristic search to speed up searches of sequences of similar search problems, which is important in domains that are only incompletely known or change dynamically. Incremental ...
algorithms replan fast by using experience with the previous similar path-planning problems to speed up their search for the current one.
Interval-based search
These approaches are similar to grid-based search approaches except that they generate a paving covering entirely the configuration space instead of a grid. The paving is decomposed into two
subpaving
In mathematics, a subpaving is a set of nonoverlapping boxes of R⁺. A subset ''X'' of Rⁿ can be approximated by two subpavings ''X⁻'' and ''X⁺'' such that ''X⁻'' ⊂ ''X'' ⊂ ''X⁺''.
In R¹ the box ...
s X
−,X
+ made with boxes such that X
− ⊂ C
free ⊂ X
+. Characterizing C
free amounts to solve a
set inversion problem.
Interval analysis
Interval arithmetic (also known as interval mathematics, interval analysis, or interval computation) is a mathematical technique used to put bounds on rounding errors and measurement errors in mathematical computation. Numerical methods using ...
could thus be used when C
free cannot be described by linear inequalities in order to have a guaranteed enclosure.
The robot is thus allowed to move freely in X
−, and cannot go outside X
+. To both subpavings, a neighbor graph is built and paths can be found using algorithms such as
Dijkstra
Dijkstra ( or ) is a Dutch family name of West Frisian origin.
It most commonly refers to:
* Edsger W. Dijkstra (1930–2002), Dutch computer scientist
** Named after him: Dijkstra's algorithm, Dijkstra Prize, Dijkstra–Scholten algorithm
Dijks ...
or
A*. When a path is feasible in X
−, it is also feasible in C
free. When no path exists in X
+ from one initial configuration to the goal, we have the guarantee that no feasible path exists in C
free. As for the grid-based approach, the interval approach is inappropriate for high-dimensional problems, due to the fact that the number of boxes to be generated grows exponentially with respect to the dimension of configuration space.
An illustration is provided by the three figures on the right where a hook with two degrees of freedom has to move from the left to the right, avoiding two horizontal small segments.
The decomposition with subpavings using interval analysis also makes it possible to characterize the topology of C
free such as counting its number of connected components.
Geometric algorithms
Point robots among polygonal obstacles
*
Visibility graph In computational geometry and robot motion planning, a visibility graph is a graph of intervisible locations, typically for a set of points and obstacles in the Euclidean plane. Each node in the graph represents a point location, and each edge repr ...
*
Cell decomposition
Cell most often refers to:
* Cell (biology), the functional basic unit of life
Cell may also refer to:
Locations
* Monastic cell, a small room, hut, or cave in which a religious recluse lives, alternatively the small precursor of a monastery w ...
Translating objects among obstacles
*
Minkowski sum
In geometry, the Minkowski sum (also known as dilation) of two sets of position vectors ''A'' and ''B'' in Euclidean space is formed by adding each vector in ''A'' to each vector in ''B'', i.e., the set
: A + B = \.
Analogously, the Minkowski ...
Finding the way out of a building
* farthest ray trace
Given a bundle of rays around the current position attributed with their length hitting a wall, the robot moves into the direction of the longest ray unless a door is identified. Such an algorithm was used for modeling emergency egress from buildings.
Artificial potential fields
One approach is to treat the robot's configuration as a point in a potential field that combines attraction to the goal, and repulsion from obstacles. The resulting trajectory is output as the path. This approach has advantages in that the trajectory is produced with little computation. However, they can become trapped in
local minima
In mathematical analysis, the maxima and minima (the respective plurals of maximum and minimum) of a function, known collectively as extrema (the plural of extremum), are the largest and smallest value of the function, either within a given ran ...
of the potential field and fail to find a path, or can find a non-optimal path. The artificial potential fields can be treated as continuum equations similar to electrostatic potential fields (treating the robot like a point charge), or motion through the field can be discretized using a set of linguistic rules.
A
Navigation function or a probabilistic Navigation function are sorts of artificial potential functions which have the quality of not having minimum points except the target point.
Sampling-based algorithms
Sampling-based algorithms represent the configuration space with a roadmap of sampled configurations.
A basic algorithm samples N configurations in C, and retains those in C
free to use as ''milestones''. A roadmap is then constructed that connects two milestones P and Q if the line segment PQ is completely in C
free. Again, collision detection is used to test inclusion in C
free. To find a path that connects S and G, they are added to the roadmap. If a path in the roadmap links S and G, the planner succeeds, and returns that path. If not, the reason is not definitive: either there is no path in C
free, or the planner did not sample enough milestones.
These algorithms work well for high-dimensional configuration spaces, because unlike combinatorial algorithms, their running time is not (explicitly) exponentially dependent on the dimension of C. They are also (generally) substantially easier to implement. They are probabilistically complete, meaning the probability that they will produce a solution approaches 1 as more time is spent. However, they cannot determine if no solution exists.
Given basic ''visibility'' conditions on C
free, it has been proven that as the number of configurations N grows higher, the probability that the above algorithm finds a solution approaches 1 exponentially. Visibility is not explicitly dependent on the dimension of C; it is possible to have a high-dimensional space with "good" visibility or a low-dimensional space with "poor" visibility. The experimental success of sample-based methods suggests that most commonly seen spaces have good visibility.
There are many variants of this basic scheme:
* It is typically much faster to only test segments between nearby pairs of milestones, rather than all pairs.
* Nonuniform sampling distributions attempt to place more milestones in areas that improve the connectivity of the roadmap.
*
Quasirandom In mathematics, a low-discrepancy sequence is a sequence with the property that for all values of ''N'', its subsequence ''x''1, ..., ''x'N'' has a low discrepancy.
Roughly speaking, the discrepancy of a sequence is low if the proportion of po ...
samples typically produce a better covering of configuration space than
pseudorandom
A pseudorandom sequence of numbers is one that appears to be statistically random, despite having been produced by a completely deterministic
Determinism is a philosophical view, where all events are determined completely by previously exi ...
ones, though some recent work argues that the effect of the source of randomness is minimal compared to the effect of the sampling distribution.
*Employs local-sampling by performing a directional
Markov chain Monte Carlo
In statistics, Markov chain Monte Carlo (MCMC) methods comprise a class of algorithms for sampling from a probability distribution. By constructing a Markov chain that has the desired distribution as its equilibrium distribution, one can obtain ...
random walk
In mathematics, a random walk is a random process that describes a path that consists of a succession of random steps on some mathematical space.
An elementary example of a random walk is the random walk on the integer number line \mathbb Z ...
with some local proposal distribution.
* It is possible to substantially reduce the number of milestones needed to solve a given problem by allowing curved eye sights (for example by crawling on the obstacles that block the way between two milestones).
* If only one or a few planning queries are needed, it is not always necessary to construct a roadmap of the entire space. Tree-growing variants are typically faster for this case (single-query planning). Roadmaps are still useful if many queries are to be made on the same space (multi-query planning)
List of notable algorithms
*
A*
*
D*
*
Rapidly-exploring random tree
A rapidly exploring random tree (RRT) is an algorithm designed to efficiently search nonconvex, high-dimensional spaces by randomly building a space-filling tree. The tree is constructed incrementally from samples drawn randomly from the search ...
*
Probabilistic roadmap The probabilistic roadmap planner is a motion planning algorithm in robotics, which solves the problem of determining a path between a starting configuration of the robot and a goal configuration while avoiding collisions.
The basic idea behind P ...
Completeness and performance
A motion planner is said to be ''complete'' if the planner in finite time either produces a solution or correctly reports that there is none. Most complete algorithms are geometry-based. The performance of a complete planner is assessed by its
computational complexity
In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) ...
. When proving this property mathematically, one has to make sure, that it happens in finite time and not just in the asymptotic limit. This is especially problematic, if there occur infinite sequences (that converge only in the limiting case) during a specific proving technique, since then, theoretically, the algorithm will never stop. Intuitive "tricks" (often based on induction) are typically mistakenly thought to converge, which they do only for the infinite limit. In other words, the solution exists, but the planner will never report it. This property therefore is related to Turing Completeness and serves in most cases as a theoretical underpinning/guidance. Planners based on a brute force approach are always complete, but are only realizable for finite and discrete setups.
In practice, the termination of the algorithm can always be guaranteed by using a counter, that allows only for a maximum number of iterations and then always stops with or without solution. For realtime systems, this is typically achieved by using a
watchdog timer
A watchdog timer (sometimes called a ''computer operating properly'' or ''COP'' timer, or simply a ''watchdog'') is an electronic or software timer that is used to detect and recover from computer malfunctions. Watchdog timers are widely used in ...
, that will simply kill the process. The watchdog has to be independent of all processes (typically realized by low level interrupt routines). The asymptotic case described in the previous paragraph, however, will not be reached in this way. It will report the best one it has found so far (which is better than nothing) or none, but cannot correctly report that there is none. All realizations including a watchdog are always incomplete (except all cases can be evaluated in finite time).
Completeness can only be provided by a very rigorous mathematical correctness proof (often aided by tools and graph based methods) and should only be done by specialized experts if the application includes safety content. On the other hand, disproving completeness is easy, since one just needs to find one infinite loop or one wrong result returned. Formal Verification/Correctness of algorithms is a research field on its own. The correct setup of these test cases is a highly sophisticated task.
''Resolution completeness'' is the property that the planner is guaranteed to find a path if the resolution of an underlying grid is fine enough. Most resolution complete planners are grid-based or interval-based. The computational complexity of resolution complete planners is dependent on the number of points in the underlying grid, which is O(1/h
d), where h is the resolution (the length of one side of a grid cell) and d is the configuration space dimension.
''Probabilistic completeness'' is the property that as more "work" is performed, the probability that the planner fails to find a path, if one exists, asymptotically approaches zero. Several sample-based methods are probabilistically complete. The performance of a probabilistically complete planner is measured by the rate of convergence. For practical applications, one usually uses this property, since it allows setting up the time-out for the watchdog based on an average convergence time.
''Incomplete'' planners do not always produce a feasible path when one exists (see first paragraph). Sometimes incomplete planners do work well in practice, since they always stop after a guarantied time and allow other routines to take over.
Problem variants
Many algorithms have been developed to handle variants of this basic problem.
Differential constraints
Holonomic
* Manipulator arms (with dynamics)
Nonholonomic
A nonholonomic system in physics and mathematics is a physical system whose state depends on the path taken in order to achieve it. Such a system is described by a set of parameters subject to differential constraints and non-linear constraints, s ...
*Drones
* Cars
* Unicycles
* Planes
* Acceleration bounded systems
* Moving obstacles (time cannot go backward)
* Bevel-tip steerable needle
* Differential Drive Robots
Optimality constraints
Hybrid systems
Hybrid systems A hybrid system is a dynamical system that exhibits both continuous and discrete dynamic behavior – a system that can both ''flow'' (described by a differential equation) and ''jump'' (described by a state machine or automaton). Often, the te ...
are those that mix discrete and continuous behavior. Examples of such systems are:
*
Robotic manipulation
Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrate ...
*
Mechanical assembly
*
Legged robot
Legged robots are a type of mobile robot which use articulated limbs, such as leg mechanisms, to provide locomotion. They are more versatile than wheeled robots and can traverse many different terrains, though these advantages require increased ...
locomotion
*
Reconfigurable robots
Uncertainty
* Motion uncertainty
* Missing information
* Active sensing
* Sensorless planning
*
Networked control systems A networked control system (NCS) is a control system wherein the control loops are closed through a communication network. The defining feature of an NCS is that control and feedback signals are exchanged among the system's components in the form of ...
Environmental Constraints
* Maps of Dynamics
Applications
*
Robot navigation
Robot localization denotes the robot's ability to establish its own position and orientation within the frame of reference. Path planning is effectively an extension of localisation, in that it requires the determination of the robot's current pos ...
*
Automation
Automation describes a wide range of technologies that reduce human intervention in processes, namely by predetermining decision criteria, subprocess relationships, and related actions, as well as embodying those predeterminations in machines ...
* The
driverless car
A self-driving car, also known as an autonomous car, driver-less car, or robotic car (robo-car), is a car that is capable of traveling without human input.Xie, S.; Hu, J.; Bhowmick, P.; Ding, Z.; Arvin, F.,Distributed Motion Planning for S ...
*
Robotic surgery
Robotic surgery are types of surgical procedures that are done using robotic systems. Robotically assisted surgery was developed to try to overcome the limitations of pre-existing minimally-invasive surgical procedures and to enhance the capabil ...
*
Digital character animation
*
Protein folding
Protein folding is the physical process by which a protein chain is translated to its native three-dimensional structure, typically a "folded" conformation by which the protein becomes biologically functional. Via an expeditious and reproduci ...
* Safety and accessibility in
computer-aided architectural design
Computer-aided architectural design (CAAD) software programs are the repository of accurate and comprehensive records of buildings and are used by architects and architectural companies for architectural design and architectural engineering. As th ...
See also
*
Gimbal lock
Gimbal lock is the loss of one degree of freedom in a three-dimensional, three-gimbal mechanism that occurs when the axes of two of the three gimbals are driven into a parallel configuration, "locking" the system into rotation in a degenerate t ...
– similar traditional issue in mechanical engineering
*
Kinodynamic planning In robotics and motion planning, kinodynamic planning is a class of problems for which velocity, acceleration, and force/torque bounds must be satisfied, together with kinematic constraints such as avoiding obstacles. The term was coined by Bruce ...
*
Mountain climbing problem
*
OMPL - The Open Motion Planning Library
*
Pathfinding
Pathfinding or pathing is the plotting, by a computer application, of the shortest route between two points. It is a more practical variant on solving mazes. This field of research is based heavily on Dijkstra's algorithm for finding the sh ...
*
Pebble motion problems
The pebble motion problems, or pebble motion on graphs, are a set of related problems in graph theory dealing with the movement of multiple objects ("pebbles") from vertex to vertex in a graph with a constraint on the number of pebbles that can occ ...
– multi-robot motion planning
*
Shortest path problem
In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized.
The problem of finding the shortest path between tw ...
*
Velocity obstacle
In robotics and motion planning, a velocity obstacle, commonly abbreviated VO, is the set of all velocities of a robot that will result in a collision with another robot at some moment in time, assuming that the other robot maintains its current v ...
References
Further reading
*
*
Planning Algorithms', Steven M. LaValle, 2006, Cambridge University Press, .
*
Principles of Robot Motion: Theory, Algorithms, and Implementation', H. Choset, W. Burgard, S. Hutchinson, G. Kantor,
L. E. Kavraki, K. Lynch, and S. Thrun, MIT Press, April 2005.
* Chapter 13: Robot Motion Planning: pp. 267–290.
External links
*"Open Robotics Automation Virtual Environment", http://openrave.org/
Jean-Claude Latombe talks about his work with robots and motion planning, 5 April 2000*"Open Motion Planning Library (
OMPL)", http://ompl.kavrakilab.org
*"Motion Strategy Library", http://msl.cs.uiuc.edu/msl/
*"Motion Planning Kit", https://ai.stanford.edu/~mitul/mpk
*"Simox", http://simox.sourceforge.net
*"Robot Motion Planning and Control", http://www.laas.fr/%7Ejpl/book.html
{{DEFAULTSORT:Motion Planning
Robot kinematics
Theoretical computer science
Automated planning and scheduling