Title: CS 326 A: Motion Planning
1CS 326 A Motion Planning
- URL http//robotics.stanford.edu/latombe/cs326/2
000 - Instructor Jean-Claude Latombe
- Teaching Assistant Carlos Guestrin
- Computer Science Department
- Stanford University
2Goal of Motion Planning
- Compute motion strategies, e.g.
- geometric paths
- time-parameterized trajectories
- sequence of sensor-based motion commands
- To achieve high-level goals, e.g.
- go to A without colliding with obstacles
- assemble product P
- build map of environment E
- find object O
3Is It Easy?
4Basic Problem
- Statement Compute a collision-free path for a
rigid or articulated object (the robot) among
static obstacles - Inputs
- Geometry of robot and obstacles
- Kinematics of robot (degrees of freedom)
- Initial and goal robot configurations
(placements) - Outputs
- Continuous sequence of collision-free robot
configurations connecting the initial and goal
configurations
5Example with Rigid Object
6Example with Rigid Object
7Example with Articulated Object
8Example with Articulated Object
9Some Extensions to the Basic Problem
- Moving obstacles
- Multiple robots
- Movable objects
- Assembly planning
- Goal is to acquire information by sensing
- Model building
- Object finding/tracking
- Nonholonomic constraints
- Dynamic constraints
- Optimal planning
- Uncertainty in control and sensing
- Exploiting task mechanics (sensorless motions)
- Physical models and deformable objects
- Integration of planning and control
10Moving Obstacles and Dynamic Constraints
11Planning in Dynamic Unpredictable Environment
12Some Extensions to the Basic Problem
- Moving obstacles
- Multiple robots
- Movable objects
- Assembly planning
- Goal is to acquire information by sensing
- Model building
- Object finding/tracking
- Nonholonomic constraints
- Dynamic constraints
- Optimal planning
- Uncertainty in control and sensing
- Exploiting task mechanics (sensorless motions)
- Physical models and deformable objects
- Integration of planning and control
13Assembly Planning
14Some Extensions to the Basic Problem
- Moving obstacles
- Multiple robots
- Movable objects
- Assembly planning
- Goal is to acquire information by sensing
- Model building
- Object finding/tracking
- Nonholonomic constraints
- Dynamic constraints
- Optimal planning
- Uncertainty in control and sensing
- Exploiting task mechanics (sensorless motions)
- Physical models and deformable objects
- Integration of planning and control
15Map Building
Where to move next?
16Planning Target-Finding Strategies
17Planning Target-Tracking Strategies
18Some Extensions to the Basic Problem
- Moving obstacles
- Multiple robots
- Movable objects
- Assembly planning
- Goal is to acquire information by sensing
- Model building
- Object finding/tracking
- Nonholonomic constraints
- Dynamic constraints
- Optimal planning
- Uncertainty in control and sensing
- Exploiting task mechanics (sensorless motions)
- Physical models and deformable objects
- Integration of planning and control
19Planning for Nonholonomic Robots
20Some Extensions to the Basic Problem
- Moving obstacles
- Multiple robots
- Movable objects
- Assembly planning
- Goal is to acquire information by sensing
- Model building
- Object finding/tracking
- Nonholonomic constraints
- Dynamic constraints
- Optimal planning
- Uncertainty in control and sensing
- Exploiting task mechanics (sensorless motions)
- Physical models and deformable objects
- Integration of planning and control
21Planning with Uncertainty in Sensing and Control
W2
I
G
W1
22Some Extensions to the Basic Problem
- Moving obstacles
- Multiple robots
- Movable objects
- Assembly planning
- Goal is to acquire information by sensing
- Model building
- Object finding/tracking
- Nonholonomic constraints
- Dynamic constraints
- Optimal planning
- Uncertainty in control and sensing
- Exploiting task mechanics (sensorless motions)
- Physical models and deformable objects
- Integration of planning and control
23Motion Planning for Deformable Objects
24Examples of Applications
- Manufacturing
- Robot programming
- Robot placement
- Design of part feeders
- Design for manufacturing and servicing
- Design of pipe layouts and cable harnesses
- Autonomous mobile robots planetary exploration,
surveillance, military scouting
- Graphic animation of digital actors for video
games, movies, and webpages - Medical surgery planning
- Generation of plausible molecule motions, e.g.,
docking and folding motions - Building code verification
25Robot Programming and Robot Placement
26Examples of Applications
- Manufacturing
- Robot programming
- Robot placement
- Design of part feeders
- Design for manufacturing and servicing
- Design of pipe layouts and cable harnesses
- Autonomous mobile robots planetary exploration,
surveillance, military scouting
- Graphic animation of digital actors for video
games, movies, and webpages - Medical surgery planning
- Generation of plausible molecule motions, e.g.,
docking and folding motions - Building code verification
27Design for Manufacturing
Automobile compartment, General Motors
28Design for Maintainability
Aircraft engine, General Electric
29Examples of Applications
- Manufacturing
- Robot programming
- Robot placement
- Design of part feeders
- Design for manufacturing and servicing
- Design of pipe layouts and cable harnesses
- Autonomous mobile robots planetary exploration,
surveillance, military scouting
- Graphic animation of digital actors for video
games, movies, and webpages - Medical surgery planning
- Generation of plausible molecule motions, e.g.,
docking and folding motions - Building code verification
30Military Scouting in Outdoor Environment
31Examples of Applications
- Manufacturing
- Robot programming
- Robot placement
- Design of part feeders
- Design for manufacturing and servicing
- Design of pipe layouts and cable harnesses
- Autonomous mobile robots planetary exploration,
surveillance, military scouting
- Graphic animation of digital actors for video
games, movies, and webpages - Medical surgery planning
- Generation of plausible molecule motions, e.g.,
docking and folding motions - Building code verification
32Digital Actors
A Bugs Life (Pixar/Disney)
Toy Story (Pixar/Disney)
Antz (Dreamworks)
Tomb Raider 3 (Eidos Interactive)
Final Fantasy VIII (SquareOne)
The Legend of Zelda (Nintendo)
33Motion Planning for Digital Actors
Manipulation
Sensory-based locomotion
34Examples of Applications
- Manufacturing
- Robot programming
- Robot placement
- Design of part feeders
- Design for manufacturing and servicing
- Design of pipe layouts and cable harnesses
- Autonomous mobile robots planetary exploration,
surveillance, military scouting
- Graphic animation of digital actors for video
games, movies, and webpages - Medical surgery planning
- Generation of plausible molecule motions, e.g.,
docking and folding motions - Building code verification
35Radiosurgical Planning
Cross-firing at a tumor while sparing healthy
critical tissue
36Examples of Applications
- Manufacturing
- Robot programming
- Robot placement
- Design of part feeders
- Design for manufacturing and servicing
- Design of pipe layouts and cable harnesses
- Autonomous mobile robots planetary exploration,
surveillance, military scouting
- Graphic animation of digital actors for video
games, movies, and webpages - Medical surgery planning
- Generation of plausible molecule motions, e.g.,
docking and folding motions - Building code verification
37Generation of Plausible Docking Motions
Ligand-receptor docking
38Examples of Applications
- Manufacturing
- Robot programming
- Robot placement
- Design of part feeders
- Design for manufacturing and servicing
- Design of pipe layouts and cable harnesses
- Autonomous mobile robots planetary exploration,
surveillance, military scouting
- Graphic animation of digital actors for video
games, movies, and webpages - Medical surgery planning
- Generation of plausible molecule motions, e.g.,
docking and folding motions - Building code verification
39Building Code Verification
40Goals of CS326A
- Present a coherent framework for formulating and
solving motion planning problems - configuration space and related spaces
- random sampling and cell decomposition algorithms
- Illustration by examples drawn from mechanical
design, manufacturing, graphic animation, medical
surgery, and computational biology - Emphasis of practical algorithms with
guarantees of performance over theoretical or
purely heuristic algorithms
41Practical Algorithms
- A complete motion planner always returns a valid
plan when one exists and indicates that no such
plan exists otherwise - Most motion problems are hard complete planners
take exponential time in of degrees of freedom,
objects, etc - Theoretical algorithms strive for completeness
and minimal worst-case complexity. Difficult to
implement and not robust - Heuristic algorithms strive for efficiency in
commonly encountered situations. Usually no
performance guarantee - Weaker completeness
Simplifying assumptions Exponential
algorithms that work in practice
42Prerequisites
- Ability and willingness to complete a significant
programming project with simple graphic interface - Basic knowledge and taste for geometry and
algorithms - Willingness to devote some time each week to read
at least two papers
43Requirements
- Attend every class
- Prepare/give two inclass presentations (20 min
each) - Read at least one of the two papers listed as
required reading prior to each class - Complete the programming project
44Schedule (1/2)
45Schedule (2/2)
46Programming Project (1/2)
- Proposed projectImplement a Probabilistic
Roadmap planner - Possible specific example
- Robot and obstacles are discs/spheres
- Some obstacles are static others move at
constant velocities - Robots velocity is bounded
- Variations
- There are several robots to coordinate
- Each robots acceleration is bounded
- Robot is articulated linkage
47Programming project (2/2)
- Study various sampling strategies, impact of
collision checking technique, convergence of
planner, etc. - Possibility of customized projects
48Final Presentation of Programming Project
- Write short report (2-5 pages) describing
software what it does, what techniques have been
used, what experiments have been done, what
results have been obtained - Give live presentation of software and answer
questions. - Make report available on the web, plus (optional)
a java applet.