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
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 QuestionAre 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
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
Climbing Robot
http://www.youtube.com/watch?v=biSx-aKN690
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)
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 TopologyKinematics and DynamicsGeometric Modeling
… but it makes use of knowledge from all these areas
Work to Do
A. Attend every classB. 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 projectE. 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