Title: Introduction to Motion Planning
1Introduction to Motion Planning
- Applications
- Overview of the Problem
- Basics Planning for Point Robot
- Visibility Graphs
- Roadmap
- Cell Decomposition
- Potential Field
2Goals
- Compute motion strategies, e.g.,
- Geometric paths
- Time-parameterized trajectories
- Sequence of sensor-based motion commands
- Achieve high-level goals, e.g.,
- Go to the door and do not collide with obstacles
- Assemble/disassemble the engine
- Build a map of the hallway
- Find and track the target (an intruder, a missing
pet, etc.)
3Fundamental Question
Are two given points connected by a path?
4Basic Problem
- Problem statement
- Compute a collision-free pathfor a rigid or
articulated moving object among static obstacles. - Input
- Geometry of a moving object (a robot, a digital
actor, or a molecule) and obstacles - How does the robot move?
- Kinematics of the robot (degrees of freedom)
- Initial and goal robot configurations (positions
orientations) - Output
- Continuous sequence of collision-free robot
configurations connecting the initial and goal
configurations
5Example Rigid Objects
6Example Articulated Robot
7Is it easy?
8Hardness Results
- Several variants of the path planning problem
have been proven to be PSPACE-hard. - A complete algorithm may take exponential time.
- A complete algorithm finds a path if one exists
and reports no path exists otherwise. - Examples
- Planar linkages Hopcroftet al., 1984
- Multiple rectangles Hopcroftet al., 1984
9Tool Configuration Space
- Difficulty
- Number of degrees of freedom (dimension of
configuration space) - Geometric complexity
10Extensions of the Basic Problem
- More complex robots
- Multiple robots
- Movable objects
- Nonholonomic dynamic constraints
- Physical models and deformable objects
- Sensorlessmotions (exploiting task mechanics)
- Uncertainty in control
11Extensions of the Basic Problem
- More complex environments
- Moving obstacles
- Uncertainty in sensing
- More complex objectives
- Optimal motion planning
- Integration of planning and control
- Assembly planning
- Sensing the environment
- Model building
- Target finding, tracking
12Next Few Lectures
- Present a coherent framework for motion planning
problems - Configuration space and related concepts
- Algorithms based on random sampling and
algorithms based on processing critical geometric
events - Emphasize practical algorithms with some
guarantees of performance over theoretical or
purely heuristic algorithms
13Practical Algorithms
- A complete motion planner always returns a
solution when one exists and indicates that no
such solution exists otherwise. - Most motion planning problems are hard, meaning
that complete planners take exponential time in
the number of degrees of freedom, moving objects,
etc.
14Practical Algorithms
- Theoretical algorithms strive for completeness
and low worst-case complexity - Difficult to implement
- Not robust
- Heuristic algorithms strive for efficiency in
commonly encountered situations. - No performance guarantee
- Practical algorithms with performance guarantees
- Weaker forms of completeness
- Simplifying assumptions on the space
exponential time algorithms that work in
practice
15Problem Formulation for Point Robot
- Input
- Robot represented as a point in the plane
- Obstacles represented as polygons
- Initial and goal positions
- Output
- A collision-free path between the initial and
goal positions
16Framework
17Visibility Graph Method
- Observation If there is a a collision-free path
between two points, then there is a polygonal
path that bends only at the obstacles vertices. - Why?
- Any collision-free path can be transformed into a
polygonal path that bends only at the obstacle
vertices. - A polygonal path is a piecewise linear curve.
18Visibility Graph
- A visibility graphis a graph such that
- Nodes qinit, qgoal, or an obstacle vertex.
- Edges An edge exists between nodes u and v if
the line segment between u and v is an obstacle
edge or it does not intersect the obstacles.
19A Simple Algorithm for Building Visibility Graphs
20Computational Efficiency
- Simple algorithm O(n3) time
- More efficient algorithms
- Rotational sweep O(n2log n) time
- Optimal algorithm O(n2) time
- Output sensitive algorithms
- O(n2) space
21Framework
22Breadth-First Search
23Breadth-First Search
24Breadth-First Search
25Breadth-First Search
26Breadth-First Search
27Breadth-First Search
28Breadth-First Search
29Breadth-First Search
30Breadth-First Search
31Breadth-First Search
32Other Search Algorithms
- Depth-First Search
- Best-First Search, A
33Framework
34Summary
- Discretize the space by constructing visibility
graph - Search the visibility graph with breadth-first
search - Q How to perform the intersection test?
35Summary
- Represent the connectivity of the configuration
space in the visibility graph - Running time O(n3)
- Compute the visibility graph
- Search the graph
- An optimal O(n2) time algorithm exists.
- Space O(n2)
- Can we do better?
36Classic Path Planning Approaches
- Roadmap Represent the connectivity of the free
space by a network of 1-D curves - Cell decomposition Decompose the free space
into simple cells and represent the connectivity
of the free space by the adjacency graph of these
cells - Potential field Define a potential function
over the free space that has a global minimum at
the goal and follow the steepest descent of the
potential function
37Classic Path Planning Approaches
- Roadmap Represent the connectivity of the free
space by a network of 1-D curves - Cell decomposition Decompose the free space
into simple cells and represent the connectivity
of the free space by the adjacency graph of these
cells - Potential field Define a potential function
over the free space that has a global minimum at
the goal and follow the steepest descent of the
potential function
38Roadmap
- Visibility graph
- Shakey Project, SRI Nilsson, 1969
- Voronoi Diagram
- Introduced by computational geometry
researchers. Generate paths that maximizes
clearance. Applicable mostly to 2-D configuration
spaces.
39Voronoi Diagram
- Space O(n)
- Run time O(n log n)
40Other Roadmap Methods
- Silhouette
- First complete general method that applies to
spaces of any dimensions and is singly
exponential in the number of dimensions Canny
1987 - Probabilistic roadmaps
41Classic Path Planning Approaches
- Roadmap Represent the connectivity of the free
space by a network of 1-D curves - Cell decomposition Decompose the free space
into simple cells and represent the connectivity
of the free space by the adjacency graph of these
cells - Potential field Define a potential function
over the free space that has a global minimum at
the goal and follow the steepest descent of the
potential function
42Cell-decomposition Methods
- Exact cell decomposition
- The free space F is represented by a collection
of non-overlapping simple cells whose union is
exactly F - Examples of cells trapezoids, triangles
43Trapezoidal Decomposition
44Computational Efficiency
- Running time O(n log n) by planar sweep
- Space O(n)
- Mostly for 2-D configuration spaces
45Adjacency Graph
- Nodes cells
- Edges There is an edge between every pair of
nodes whose corresponding cells are adjacent.
46Summary
- Discretize the space by constructing an adjacency
graph of the cells - Search the adjacency graph
47Cell-decomposition Methods
- Exact cell decomposition
- Approximate cell decomposition
- F is represented by a collection of
non-overlapping cells whose union is contained in
F. - Cells usually have simple, regular shapes, e.g.,
rectangles, squares. - Facilitate hierarchical space decomposition
48Quadtree Decomposition
49Octree Decomposition
50Algorithm Outline
51Classic Path Planning Approaches
- Roadmap Represent the connectivity of the free
space by a network of 1-D curves - Cell decomposition Decompose the free space
into simple cells and represent the connectivity
of the free space by the adjacency graph of these
cells - Potential field Define a potential function
over the free space that has a global minimum at
the goal and follow the steepest descent of the
potential function
52Potential Fields
- Initially proposed for real-time collision
avoidance Khatib 1986. Hundreds of papers
published. - A potential field is a scalar function over the
free space. - To navigate, the robot applies a force
proportional to the negated gradient of the
potential field. - A navigation function is an ideal potential field
that - has global minimum at the goal
- has no local minima
- grows to infinity near obstacles
- is smooth
53Attractive Repulsive Fields
54How Does It Work?
55Algorithm Outline
- Place a regular grid G over the configuration
space - Compute the potential field over G
- Search G using a best-first algorithm with
potential field as the heuristic function
56Local Minima
- What can we do?
- Escape from local minima by taking random walks
- Build an ideal potential field navigation
function that does not have local minima
57Question
- Can such an ideal potential field be constructed
efficiently in general?
58Completeness
- A complete motion planner always returns a
solution when one exists and indicates that no
such solution exists otherwise. - Is the visibility graph algorithm complete? Yes.
- How about the exact cell decomposition algorithm
and the potential field algorithm?