 Motion planning

Motion planning (a.k.a., the "navigation problem", the "piano mover's problem") is a term used in robotics for the process of detailing a task into discrete motions.
For example, consider navigating a mobile robot 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, automation, and robot design in CAD software, as well as applications in other fields, such as animating digital characters, video game AI, architectural design, robotic surgery, and the study of biological molecules.
Contents
Concepts
A basic motion planning problem is to produce a continuous motion 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 higherdimensional) 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 (zerosized) translating in a 2dimensional 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 2dimensional. However, C is the special Euclidean group SE(2) = R^{2} SO(2) (where SO(2) is the special orthogonal group of 2D rotations), and a configuration can be represented using 3 parameters (x, y, θ).
 If the robot is solid 3D shape that can translate and rotate, the workspace is 3dimensional, 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 (α, β, γ).
 If the robot is a fixedbase manipulator with N revolute joints (and no closedloops), C is Ndimensional.
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 determine the position of the robot's geometry, and collision detection tests if the robot's geometry collides with the environment's geometry.
Algorithms
Lowdimensional problems can be solved with gridbased 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 highdimensional systems under complex constraints is computationally intractable. Potentialfield algorithms are efficient, but fall prey to local minima (an exception is the harmonic potential fields). Samplingbased 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.
Samplingbased algorithms are currently considered stateoftheart for motion planning in highdimensional spaces, and have been applied to problems which have dozens or even hundreds of dimensions (robotic manipulators, biological molecules, animated digital characters, and legged robots).
GridBased Search
Gridbased 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 (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 highdimensional problems.
Traditional gridbased approaches produce paths whose heading changes are constrained to multiples of a given base angle, often resulting in suboptimal paths. Anyangle path planning approaches find shorter paths by propagating information along grid edges (to search fast) without constraining their paths to grid edges (to find short paths).
Gridbased 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 algorithms replan fast by using experience with the previous similar pathplanning problems to speed up their search for the current one.
Geometric Algorithms
Point robots among polygonal obstacles
 Visibility graph
 Cell decomposition
Translating objects among obstacles
 Minkowski sum
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 of the potential field, and fail to find a path.
SamplingBased Algorithms
Samplingbased 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 highdimensional 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 ^{[1]}. Visibility is not explicitly dependent on the dimension of C; it is possible to have a highdimensional space with "good" visibility or a low dimensional space with "poor" visibility. The experimental success of samplebased 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 samples typically produce a better covering of configuration space than pseudorandom ones, though some recent work argues that the effect of the source of randomness is minimal compared to the effect of the sampling distribution.
 If only one or a few planning queries are needed, it is not always necessary to construct a roadmap of the entire space. Treegrowing variants are typically faster for this case (singlequery planning). Roadmaps are still useful if many queries are to be made on the same space (multiquery planning)
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 geometrybased. The performance of a complete planner is assessed by its computational complexity.
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 gridbased. 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 samplebased methods are probabilistically complete. The performance of a probabilistically complete planner is measured by the rate of convergence.
Incomplete planners do not always produce a feasible path when one exists. Sometimes incomplete planners do work well in practice.
Problem Variants
Many algorithms have been developed to handle variants of this basic problem.
Differential Constraints
 Manipulator arms (with dynamics)
Nonholonomic
 Cars
 Unicycles
 Planes
 Acceleration bounded systems
 Moving obstacles (time cannot go backward)
 Beveltip steerable needle
 Differential Drive Robots
Optimality Constraints
Hybrid Systems
Hybrid systems are those that mix discrete and continuous behavior. Examples of such systems are:
 Robotic manipulation
 Mechanical assembly
 Legged robot locomotion
 Reconfigurable robots
Uncertainty
 Motion uncertainty
 Missing information
 Active sensing
 Sensorless planning
Applications
 Robot navigation
 Automation
 The driverless car
 Robotic surgery
 Digital character animation
 protein folding
 Safety and accessibility in computeraided architectural design
See also
 Gimbal lock – similar traditional issue in mechanical engineering
 Pebble motion problems – multirobot motion planning
 Kinodynamic planning
 Mountain climbing problem
 Velocity obstacle
References
 ^ Hsu, D; J.C. Latombe; Motwani (1997). "Path Planning in Expansive Configuration Spaces". Proc. IEEE Int. Conf. on Robotics and Automation
Further reading
 Robot Motion Planning, JeanClaude Latombe, 1991, Kluwer Academic Publishers
 Planning Algorithms, Steven M. LaValle, 2006, Cambridge University Press, ISBN 0521862051.
 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.
 Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf (2000). Computational Geometry (2nd revised ed.). SpringerVerlag. ISBN 3540656200. Chapter 13: Robot Motion Planning: pp. 267–290.
 BECKER, M. ; DANTAS, Carolina Meirelles ; MACEDO, Weber Perdigão, "Obstacle Avoidance Procedure for Mobile Robots". In: Paulo Eigi Miyagi; Oswaldo Horikawa; Emilia Villani. (Org.). ABCM Symposium Series in Mechatronics, Volume 2. 1 ed. São Paulo  SP: ABCM, 2006, v. 2, p. 250257. ISBN 9788585769260
 R. Ball, and N. Dulay, "Enhancing Trafﬁc Intersection Control with Intelligent Objects", First International Workshop the Urban Internet of Things, November 2010.
External links
 JeanClaude Latombe talks about his work with robots and motion planning, 5 April 2000
 "Motion Strategy Library", http://msl.cs.uiuc.edu/msl/
 "Motion Planning Kit", http://ai.stanford.edu/~mitul/mpk
 "Robot Motion Planning and Control", http://www.laas.fr/%7Ejpl/book.html
Categories:
Wikimedia Foundation. 2010.
Look at other dictionaries:
motion — n Motion, movement, move, locomotion, stir mean the act or an instance of moving. Motion is the appropriate term in abstract use for the act or process of moving, without regard to what moves or is moved; in philosophical and aesthetic use it is… … New Dictionary of Synonyms
Planning the LowBudget Film — is a book by Robert Latham Brown describing the processes involved in scheduling and budgeting motion pictures.Brown is a 30 year veteran of motion picture production and he uses his experiences on many well known films to illustrate his points.… … Wikipedia
motionpicture technology — Introduction the means for the production and showing of motion pictures. It includes not only the motion picture camera and projector but also such technologies as those involved in recording sound, in editing both picture and sound, in… … Universalium
Motion Picture Production Code — Production Code redirects here. For the television broadcasting term, see Production code number. Production Code cover … Wikipedia
Rational motion — In kinematics, the motion of a rigid body is defined as a continuous set of displacements. One parameter motions can be definedas a continuous displacement of moving object with respect to a fixed frame in Euclidean three space ( E 3), where the… … Wikipedia
Weigh in motion — (WIM) devices are designed to capture and record truck axle weights and gross vehicle weights as they drive over a sensor. Unlike older static weigh stations, current WIM systems do not require the subject trucks to stop, making them much more… … Wikipedia
Museum of the Academy of Motion Picture Arts and Sciences — The Academy Museum of Motion Pictures is a facility currently in the planning stages and intended to eventually open in Hollywood as a major tourist attraction. It is being planned by the Academy of Motion Picture Arts and Sciences.[1] It will be … Wikipedia
Artificial intelligence — AI redirects here. For other uses, see Ai. For other uses, see Artificial intelligence (disambiguation). TOPIO, a humanoid robot, played table tennis at Tokyo International Robot Exhibition (IREX) 2009.[1] Artificial intelligence ( … Wikipedia
OpenRAVE — Initial release 2006 Stable release 0.4 / July 2, 2011; 4 months ago (2011 07 02) … Wikipedia
Driverless car — The driverless car concept embraces an emerging family of highly automated cognitive and control technologies, ultimately aimed at a full taxi like experience for car users, but without a human driver.Driverless passenger programs include the 800 … Wikipedia