CS 326A: Motion Planning Jean-Claude Latombe CA: Aditya Mandayam
Motion planning is the ability for an agent to compute its own motions in order to achieve certain goals. All autonomous robots and digital actors should eventually have this ability
Piano Mover’s Problem
PlanMoveSense
ARL Robot Goal
PlanMoveSense Learn Motion library
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
Fundamental Question Are two given points connected by a path? Valid region Forbidden region E.g.: ▪Collision with obstacle ▪Lack of visibility of an object ▪Lack of stability
Basic Problem Statement: Compute a collision-free path for a rigid or articulated object among static obstacles Inputs: Geometry of moving object and obstacles Kinematics of moving object (degrees of freedom) Initial and goal configurations (placements) Output: Continuous sequence of collision- free robot configurations connecting the initial and goal configurations
Is It Easy?
Tool: Configuration Space Problems: Geometric complexity Space dimensionality
Continuous space Discretization Search C-space Sampling-basedCriticality-based
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
Some Applications
Humanoid Robots HRP-2, AIST, Japan
Lunar Vehicle (ATHLETE, NASA/JPL)
Climbing Robot
Dexterous Manipulation
Modular Reconfigurable Robots
Manipulation of Deformable Objects Topologically defined goal
Digital Characters 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)
Digital Characters
Animation of Crowds
Design for Manufacturing and Servicing
Assembly Sequence Planning
Cable Harness/ Pipe design
Map Building Where to move next?
Navigation Through Virtual Environments
Virtual Angiography / Bronchoscopy / Colonoscopy
Radiosurgical Planning CyberKnife (Accuray)
Building Code Verification 9-inch turning radius24-inch turning radius
Egress Simulation Primary escape route Secondary escape route Potential congesting areas
Self-Parking
Transportation of A380 Fuselage through Small Villages Kineo
Study of Motion of Bio-Molecules Inhibitor binding to HIV protease
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
General Framework Continuous representation (configuration space and related spaces + constraints) Discretization (probabilistic 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
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
Website and Schedule ai.stanford.edu/~latombe/cs326/2009/index.htm