Top Banner
CS 326A: Motion Planning CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University
56

CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

CS 326A: Motion PlanningCS 326A: Motion Planningrobotics.stanford.edu/~latombe/cs326/2004/index.htm

Jean-Claude Latombe

Computer Science DepartmentStanford University

Page 2: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
Page 3: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
Page 4: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
Page 5: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
Page 6: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
Page 7: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Goal of Motion PlanningGoal 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

Page 8: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Fundamental QuestionFundamental QuestionAre two given points connected by a path?

Valid region

Forbidden region

Page 9: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Fundamental QuestionFundamental 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

Page 10: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Basic ProblemBasic 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

Page 11: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Examples with Rigid ObjectExamples with Rigid Object

Ladder problem

Piano-mover problem

Page 12: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Is It Easy?Is It Easy?

Page 13: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Example with Articulated Example with Articulated ObjectObject

Page 14: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Tool: Configuration SpaceTool: Configuration Space

Page 15: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Compare!Compare!

Valid region

Forbidden region

Page 16: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Tool: Configuration SpaceTool: Configuration Space

Problems:• Geometric complexity• Space dimensionality

Page 17: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Some Extensions of Basic Some Extensions of Basic ProblemProblem

• 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

Page 18: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Aerospace Robotics Lab Aerospace Robotics Lab RobotRobot

air bearing

gas tank

air thrusters

obstacles

robot

Page 19: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Total duration : 40 sec

Two concurrent planning goals:• Reach the goal• Reach a safe region

Page 20: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Autonomous HelicopterAutonomous Helicopter

[Feron] (MIT)

Page 21: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Assembly PlanningAssembly Planning

Page 22: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Map BuildingMap Building

Where to move next?

Page 23: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Target TrackingTarget Tracking

Page 24: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Planning for Nonholonomic Planning for Nonholonomic RobotsRobots

Page 25: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Under-Actuated SystemsUnder-Actuated Systems

video

[Lynch] (Northwestern)

Page 26: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Planning with Uncertainty in Planning with Uncertainty in Sensing and ControlSensing and Control

I

GWW11

WW22

Page 27: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Planning with Uncertainty in Planning with Uncertainty in Sensing and ControlSensing and Control

I

GWW11

WW22

Page 28: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Planning with Uncertainty in Planning with Uncertainty in Sensing and ControlSensing and Control

I

GWW11

WW22

Page 29: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Motion Planning for Motion Planning for Deformable ObjectsDeformable Objects

[Kavraki] (Rice)

Page 30: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Examples of ApplicationsExamples 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

Page 31: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Robot ProgrammingRobot Programming

Page 32: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Robot PlacementRobot Placement

Page 33: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Design for Design for Manufacturing/ServicingManufacturing/Servicing

General ElectricGeneral Electric

General MotorsGeneral MotorsGeneral MotorsGeneral Motors

Page 34: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Assembly Planning and Design Assembly Planning and Design of Manufacturing Systemsof Manufacturing Systems

Page 35: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Part FeedingPart Feeding

Page 36: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Part FeedingPart Feeding

Page 37: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Cable Harness/ Pipe designCable Harness/ Pipe design

Page 38: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Humanoid RobotHumanoid Robot

[Kuffner and Inoue, 2000] (U. Tokyo)

Page 39: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Modular Reconfigurable Modular Reconfigurable RobotsRobots

Xerox, ParcXerox, Parc

Casal and Yim, 1999

Page 40: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
Page 41: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Military Scouting and Military Scouting and Planet ExplorationPlanet Exploration

[CMU, NASA]

Page 42: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Digital ActorsDigital 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)

Page 43: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Motion Planning for Digital Motion Planning for Digital ActorsActors

Manipulation

Sensory-based locomotion

Page 44: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Navigation Through Virtual Navigation Through Virtual EnvironmentsEnvironments

[Cheng-Chin U., UNC, Utrecht U.]

video

Page 45: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Building Code VerificationBuilding Code Verification

Page 46: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Radiosurgical PlanningRadiosurgical Planning

Cross-firing at a tumor while sparing healthy

critical tissue

Page 47: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Study of Study of the Motion of Bio-Moleculesthe Motion of Bio-Molecules

• Protein folding• Ligand binding

Page 48: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Goals of CS326AGoals 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

Page 49: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

FrameworkFramework

Continuous representation(configuration space and related spaces + constraints)

Discretization(random sampling, criticality-based decomposition)

Graph searching(blind, best-first, A*)

Page 50: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Practical Algorithms (1/2)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.

Page 51: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Practical Algorithms (2/2)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

Page 52: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Prerequisites for CS326APrerequisites 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.

Page 53: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

CS326A is not a course in …CS326A is not a course in …

Differential Geometry and TopologyKinematics and DynamicsGeometric Modeling

… but it makes use of knowledge from all these areas

Page 54: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Work to DoWork 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

Page 55: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Website and ScheduleWebsite and Schedulerobotics.stanford.edu/~latombe/cs326/2004/index.htm

January 6 1 Overview

January 8 2 Path planning for point robot

January 13 3 Configuration space of a robot

January 15 4 Collision detection 1/2: Hierarchical methods

January 20 5 Collision detection 2/2: Feature-tracking methods

January 22 6 Probabilistic roadmaps 1/3: Basic techniques

January 27 7 Probabilistic roadmaps 2/3: Sampling strategies

January 29 8 Probabilistic roadmaps 3/3: Sampling strategies

February 3 9Criticality-based motion planning: Assembly planning and target finding

February 5 10 Coordination of multiple robots

February 10 11 Kinodynamic planning

February 12 12 Humanoid and legged robots

February 17 13 Modular reconfigurable robots

February 19 14 Mapping and inspecting environments

February 24 15 Navigation in virtual environments

February 26 16 Target tracking and virtual camera

March 2 17 Motion of crowds and flocks

March 4 18 Motion of bio-molecules

March 9 19 Radiosurgical planning

Page 56: CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.

Programming ProjectProgramming Project• Navigate in virtual environment

• Simulate legged robot

• Inspection of structures

• Search and escape