Katana VentraIP

Motion planning

Motion planning, also path planning (also known as the navigation problem or the piano mover's problem) is a computational problem to find a sequence of valid configurations that moves the object from the source to destination. The term is used in computational geometry, computer animation, robotics and computer games.

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, architectural design, robotic surgery, and the study of biological molecules.

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) = R2 SO(2) (where SO(2) is the of 2D rotations), and a configuration can be represented using 3 parameters (x, y, θ).

special orthogonal group

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) = R3 SO(3), and a configuration requires 6 parameters: (x, y, z) for translation, and (α, β, γ).

Euler angles

If the robot is a fixed-base manipulator with N revolute joints (and no closed-loops), C is N-dimensional.

Visibility graph

Cell decomposition

Voronoi diagram

Completeness and performance[edit]

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. 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, 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/hd), 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.

Manipulator arms (with dynamics)

Robot navigation

Automation

The

driverless car

Robotic surgery

Digital character animation

[11]

Protein folding

Safety and accessibility in

computer-aided architectural design

– similar traditional issue in mechanical engineering

Gimbal lock

Kinodynamic planning

Mountain climbing problem

- The Open Motion Planning Library

OMPL

Pathfinding

– multi-robot motion planning

Pebble motion problems

Shortest path problem

Velocity obstacle

Latombe, Jean-Claude (2012). . Springer Science & Business Media. ISBN 978-1-4615-4022-9.

Robot Motion Planning

, Steven M. LaValle, 2006, Cambridge University Press, ISBN 0-521-86205-1.

Planning Algorithms

, H. Choset, W. Burgard, S. Hutchinson, G. Kantor, L. E. Kavraki, K. Lynch, and S. Thrun, MIT Press, April 2005.

Principles of Robot Motion: Theory, Algorithms, and Implementation

Mark de Berg; Marc van Kreveld; & Otfried Schwarzkopf (2000). Computational Geometry (2nd revised ed.). Springer-Verlag. ISBN 978-3-540-65620-3. Chapter 13: Robot Motion Planning: pp. 267–290.

Mark Overmars

"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 ()", http://ompl.kavrakilab.org

OMPL

"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