CS 326 A Motion Planning http robotics stanford
CS 326 A: Motion Planning http: //robotics. stanford. edu/~latombe/cs 326/2002 Instructor: Jean-Claude Latombe Teaching Assistant: Itay Lotan Computer Science Department Stanford University
Goal 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
Fundamental Question Are two given points connected by a path?
Basic 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) Output: – Continuous sequence of collision-free robot configurations connecting the initial and goal configurations
Examples with Rigid Object Ladder problem Piano-mover problem
Is It Easy?
Example with Articulated Object
Example with Articulated Object
Tool: Configuration Space Problems: • Geometric complexity • Space dimensionality
Some Extensions of 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
Aerospace Robotics Lab Robot robot obstacles air thrusters gas tank air bearing
Two concurrent planning goals: • Reach the goal • Reach a safe region Total duration : 40 sec
Autonomous Helicopter [Feron, 2000] (AA Dept. , MIT)
Some Extensions of 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
Dynamic Unpredictable Environment
Some Extensions of 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
Assembly Planning
Some Extensions of 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
Map Building Where to move next?
Target Tracking
Some Extensions of 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
Planning for Nonholonomic Robots
Some Extensions of 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
Planning with Uncertainty in Sensing and Control W 2 I W 1 G
Some Extensions of 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
Motion Planning for Deformable Objects [Kavraki, 1999]
Examples of Applications • Manufacturing: • Graphic animation of “digital actors” for video – Robot programming games, movies, and – Robot placement webpages – Design of part feeders • Design for manufacturing • Medical surgery planning and servicing • Generation of plausible • Design of pipe layouts and molecule motions, e. g. , cable harnesses docking and folding motions • Autonomous mobile robots planetary • Building code verification exploration, surveillance, military scouting
Robot Programming
Robot Placement
Humanoid Robot [Kuffner and Inoue, 2000] (U. Tokyo)
Modular Reconfigurable Robots Casal and Yim, 1999 Xerox, Parc
Video
Examples of Applications • Manufacturing: • Graphic animation of “digital actors” for video – Robot programming games, movies, and – Robot placement webpages – Design of part feeders • Design for manufacturing • Medical surgery planning and servicing • Generation of plausible • Design of pipe layouts and molecule motions, e. g. , cable harnesses docking and folding motions • Autonomous mobile robots planetary • Building code verification exploration, surveillance, military scouting
Design for Manufacturing/Servicing General Motors General Electric
Assembly Planning and Design of Manufacturing Systems
Examples of Applications • Manufacturing: • Graphic animation of “digital actors” for video – Robot programming games, movies, and – Robot placement webpages – Design of part feeders • Design for manufacturing • Medical surgery planning and servicing • Generation of plausible • Design of pipe layouts and molecule motions, e. g. , cable harnesses docking and folding motions • Autonomous mobile robots planetary • Building code verification exploration, surveillance, military scouting
Military Scouting and Planet Exploration
Examples of Applications • Manufacturing: • Graphic animation of “digital actors” for video – Robot programming games, movies, and – Robot placement webpages – Design of part feeders • Design for manufacturing • Medical surgery planning and servicing • Generation of plausible • Design of pipe layouts and molecule motions, e. g. , cable harnesses docking and folding motions • Autonomous mobile robots planetary • Building code verification exploration, surveillance, military scouting
Digital Actors A Bug’s Life (Pixar/Disney) Tomb Raider 3 (Eidos Interactive) Toy Story (Pixar/Disney) The Legend of Zelda (Nintendo) Antz (Dreamworks) Final Fantasy VIII (Square. One)
Motion Planning for Digital Actors Manipulation Sensory-based locomotion
Examples of Applications • Manufacturing: • Graphic animation of “digital actors” for video – Robot programming games, movies, and – Robot placement webpages – Design of part feeders • Design for manufacturing • Medical surgery planning and servicing • Generation of plausible • Design of pipe layouts and molecule motions, e. g. , cable harnesses docking and folding motions • Autonomous mobile robots planetary • Building code verification exploration, surveillance, military scouting
Radiosurgical Planning Cross-firing at a tumor while sparing healthy critical tissue
Examples of Applications • Manufacturing: • Graphic animation of “digital actors” for video – Robot programming games, movies, and – Robot placement webpages – Design of part feeders • Design for manufacturing • Medical surgery planning and servicing • Generation of plausible • Design of pipe layouts and molecule motions, e. g. , cable harnesses docking and folding motions • Autonomous mobile robots planetary • Building code verification exploration, surveillance, military scouting
Study of the Motion of Bio-Molecules • Protein folding • Ligand binding
Study of the Motion of Bio-Molecules • Protein folding • Ligand binding
Examples of Applications • Manufacturing: • Graphic animation of “digital actors” for video – Robot programming games, movies, and – Robot placement webpages – Design of part feeders • Design for manufacturing • Medical surgery planning and servicing • Generation of plausible • Design of pipe layouts and molecule motions, e. g. , cable harnesses docking and folding motions • Autonomous mobile robots planetary • Building code verification exploration, surveillance, military scouting
Building Code Verification
Goals of CS 326 A Ø Present a coherent framework for motion planning problems: – configuration space and related spaces – random sampling and criticality-based decomposition algorithms Ø Emphasis of “practical” algorithms with some guarantees of performance over “theoretical” or purely “heuristic” algorithms
Framework Continuous representation (configuration space formulation) Discretization (random sampling, criticality-based decomposition) Graph searching (blind, best-first, A*)
Goals of CS 326 A Ø Present a coherent framework for motion planning problems: – configuration space and related spaces – random sampling and criticality-based decomposition algorithms Ø Emphasis of “practical” algorithms with some guarantees of performance over “theoretical” or purely “heuristic” algorithms
Practical Algorithms (1/2) A complete motion planner always returns a solution plan when one exists and indicates that no such plan exists otherwise. Most motion planning problems are hard, meaning that complete planners take exponential time in # of degrees of freedom, objects, etc.
Practical Algorithms (2/2) 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
Prerequisites for CS 326 A Ability and willingness to complete a significant programming project with simple graphic interface. Basic knowledge and taste for geometry and algorithms. Interest in devoting reasonable time each week in reading four papers.
CS 326 A is not a course in … Differential Geometry and Topology Kinematics and Dynamics Basic Algorithms Geometrics Modeling … but it makes use of knowledge from all these areas
Work to Do A. Attend every class B. Prepare/give two presentations with ppt slides (30 min each) C. For each class read the two papers listed as “required reading” in advance D. Complete the programming project E. Complete two homework assignments
Website / Class Schedule robotics. stanford. edu/~latombe/cs 326/2002
Programming Project • Topic: Implement a Probabilistic Roadmap planner • Assumptions: – The robot operates in a 2 D workspace – It consists of one or several polygonal bodies moving independently or connected by joints (your software should allow various kinds of kinematics) – Obstacles are static polygons • Goal: – Implement, test, and compare several algorithms for selecting samples (milestones), generating connections between them, and checking collision
- Slides: 57