CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Jean-Claude Latombe Computer Science Department Stanford University
Half-Dome, NW Face, Summer of 2010 … Tim Bretl
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? Valid region Forbidden region
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
Tool: Configuration Space
Compare! Valid region Forbidden region
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 –Inspection Nonholonomic constraints Dynamic constraints Stability constraints Optimal planning Uncertainty in model, control and sensing Exploiting task mechanics (sensorless motions, under- actualted systems) Physical models and deformable objects Integration of planning and control Integration with higher- level planning
Aerospace Robotics Lab Robot air bearing gas tank air thrusters obstacles robot
Total duration : 40 sec Two concurrent planning goals: Reach the goal Reach a safe region
Autonomous Helicopter [Feron] (MIT)
Dynamic Unpredictable Environment
Assembly Planning
Map Building Where to move next?
Target Finding
Target Tracking
Planning for Nonholonomic Robots
Under-Actuated Systems video [Lynch] (Northwestern)
Planning with Uncertainty in Sensing and Control I G W1W1W1W1 W2W2W2W2
Motion Planning for Deformable Objects [Kavraki] (Rice)
Examples 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 Virtual walkthru Medical surgery planning Generation of plausible molecule motions, e.g., docking and folding motions Building code verification
Robot Programming
Robot Placement
Design for Manufacturing/Servicing General Electric General Motors
Assembly Planning and Design of Manufacturing Systems
Part Feeding
Cable Harness/ Pipe design
Humanoid Robot [Kuffner and Inoue, 2000] (U. Tokyo)
Modular Reconfigurable Robots Xerox, Parc Casal and Yim, 1999
Military Scouting and Planet Exploration [CMU, NASA]
Digital Actors A Bug’s Life (Pixar/Disney) Toy Story (Pixar/Disney) Tomb Raider 3 (Eidos Interactive)Final Fantasy VIII (SquareOne)The Legend of Zelda (Nintendo) Antz (Dreamworks)
Motion Planning for Digital Actors Manipulation Sensory-based locomotion
Navigation Through Virtual Environments [Cheng-Chin U., UNC, Utrecht U.] video
Building Code Verification
Radiosurgical Planning Cross-firing at a tumor while sparing healthy critical tissue
Study of the Motion of Bio-Molecules Protein folding Ligand binding
Study of the Motion of Bio-Molecules Protein folding Ligand binding
Goals of CS326A Present a coherent framework for motion planning problems Emphasis of “practical” algorithms with some guarantees of performance over “theoretical” or purely “heuristic” algorithms
Framework Continuous representation (configuration space and related space + constraints) Discretization (random sampling, criticality-based decomposition) Graph searching (blind, best-first, A*)
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 CS326A Ability and willingness to complete a significant programming project with graphic interface. Basic knowledge and taste for geometry and algorithms. Interest in devoting reasonable time each week in reading papers.
CS326A is not a course in … Differential Geometry and Topology Kinematics and Dynamics Geometric Modeling … but it makes use of knowledge from all these areas
Website and Schedule robotics.stanford.edu/~latombe/cs326/2003/index.htm Day#Topic April 21Course overview April 72Configuration space and basic motion planning techniques April 93Collision detection 1/2 -- Hierarchical methods April 144Collision detection 2/2 – Feature-based methods April 165Probabilistic roadmaps 1/3 -- Basic techniques April 216Probabilistic roadmaps 2/3 -- Sampling strategies April 237Probabilistic roadmaps 3/3 – Sampling strategies April 288Coordination of multiple robots April 309Motion of crowds and flocks May 510Navigation through virtual environments May 711Kinodynamic planning and under-actuated systems 1/2 May 1212Kinodynamic planning and under-actuated systems 1/2 May 1413Humanoids, legged robots, and digital actors 1/2 May 1914Humanoids, legged robots, and digital actors 2/2 May 2115Assembly planning May 26-Memorial Day -- NO CLASS May 2816Exploring and inspecting environments June 217Molecular motions / Surgical planning / Conclusion
Work to Do A.Attend every class B.Prepare/give two presentations with ppt slides (20 minutes 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
Programming Project Navigate in virtual environment Simulate legged robot Inspection of structures Search and escape