CS326A - Motion Planning - Overview
________________________________________________________________________________________________________________
Home
| Overview
| Schedule
| Organization
| Project
| Homeworks
| Links
Consider a robot
whose task is to assemble
a product (e.g., the toy bell shown below). This
product was designed using a CAD system and all needed information (especially geometry)
about its composing parts is available. In which order should the robot
assemble the product? Which trajectories should it execute in order to avoid
collision with the environment? Which sensing operations should it perform to
guide its motion and perform the task despite some uncertainty in the shapes
and locations of the parts? The goal of motion planning is to answer such
questions.
Although motion planning
techniques were initially developed to create robots with motion autonomy, such as mobile robots navigating in a building or outdoor,
these techniques were later applied and further developed in varied contexts,
such as virtual
prototyping of new products, design for manufacturing and servicing, plant
maintenance, medical surgery, virtual character animation (video games,
movies), architectural design (checking access for disabled persons, egress
simulation), study of molecular motions (protein folding, ligand-protein binding,
drug design), and pipe layout design.
Thus, overall, motion planning is
about computing the motions of one or several real or virtual objects (called
robots, agents, etc) in some workspace (usually three-dimensional) in order to
achieve a goal-specified task, such as:
-
Going to location A in a given environment,
-
Build a map of this unknown environment,
-
Finding an object B in a given environment
-
Assembling a product P from its separated individual parts,
-
Orienting a part by pushing on it.
In more abstract terms, the basic
problem is to answer connectivity queries in a geometric space, such as: Can
two points be connected by a continuous path verifying given constraints?
Most motion planning problems are computationally hard. Computing a collision-free path for an
object with n degrees
of freedom among static obstacles takes time exponential in n. Computing a collision-free trajectory for
an object with few degrees of freedom among p moving obstacles takes time exponential in
p. Some problems seem
even more complex, such as planning motions involving complex physical models
and planning sensor-based motions dealing with uncertainty. Some tasks must be
performed online, such as building the map of a new environment. Other tasks
must be done in real-time, like tracking an evasive target, planning
collision-free motions in a continuously changing environment.
The purpose of this course is to
present a coherent
framework for solving motion
planning problems, as well as a number of existing methods to solve specific problems. This presentation will use the concepts
of configuration
space and related spaces
(state, control, motion, and information spaces) to formulate problems. It will
use algorithms based on probabilistic sampling
and criticality-based
decomposition to explore the
connectivity of these spaces. The course content will be illustrated with
examples drawn from areas such as mechanical design, manufacturing, graphic
animation, medical surgery, and biology. It will emphasize methods that are efficient,
robust, and relatively easy to implement, over methods that strive for optimal
worst-case performance. It will emphasize methods with some provable guarantees
of performance over purely heuristic methods that are often effective only in
some specific examples. Most of the methods presented will involve various
forms of geometric computing (e.g., interference detection between objects,
distance computation, space partitioning, shape matching, etc).
The course is
self-contained. However, students are expected to have
basic knowledge and interest in geometry and algorithms, and to have the skills
to complete a significant programming assignment.
Textbooks on Motion Planning:
J.C.
Latombe. Robot Motion Planning. Kluwer, 1991.
H.
Choset, K.M. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L.E. Kavraki, and S.
Thrun. Principles of Robot Motion. The MIT Press, 2004.
S.M.
LaValle. Planning Algorithms.