MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM...

41
MEAM 620 – Part II Introduction to Motion Planning Peng Cheng [email protected] Levine 403,GRASP Lab

Transcript of MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM...

Page 1: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

MEAM 620 – Part IIIntroduction to Motion Planning

Peng Cheng

[email protected] 403,GRASP Lab

Page 2: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Part II Objectives

• Overview of motion planning• Introduction to some basic concepts and

methods for motion planning problems• Implementation of motion planning

algorithms• Some thoughts for the future research

Page 3: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Course Plan• 7 lectures about basic motion planning by Peng

Cheng• 3 programming assignments

– Discrete planning (data structure + search)– Collision checking between two polygons– Planning algorithms for 2D problems– Matlab, C++, java, …

• 7 lectures in extensions of basic motion planning problems by Savvas Loizou

• 1 course project

Page 4: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

References and Links• [LaValle 05] Planning algorithms

http://msl.cs.uiuc.edu/planning• [Choset et. al. 05] Principles of robot motion• [Latombe 91] Robot Motion Planning• [Laumond 98] Robot motion planning and

controlhttp://www.laas.fr/~jpl/book.html

• Robotics VIP galleryhttp://parasol.tamu.edu/people/amato/Courses/643/VipGallery/

Page 5: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

This Class

• What is motion planning

• Basic motion planning problems

• General principles of motion planning algorithms

Page 6: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Robotic Systems

(Mars Rover, NASA)

Autonomously complete assigned tasks:

• Security and surveillance• Search and rescue

• Outer space exploration• Home services

(Roomba, iRobot Co.)

Page 7: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Humanoid Robot H6

Page 8: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

A Recharging Task for a Robot

Page 9: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

General Motion Planning

An informal definition:A mapping from sensing information to action inputs to complete mechanicalmotion-required tasks

z

Non motion planning problems:

• Chemical reaction control

• Electronic motor control

Page 10: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Applications of Motion Planning

• Humanoid• Manufacturing• Autonomous systems• Computer animation• Rational drug design• Virtual prototyping• Many other cool things

(Asimo, Honda)

Page 11: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Manufacturing

Page 12: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Autonomous Agile Systems

Rapid taking-off and landing, OGI

Page 13: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Solar Sail

Control of solar sail to reach escape velocity

JPL, UIUC, Planetary.org

Page 14: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Computer Animation

(Bird animation, U. of Washington)

Page 15: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Rational Drug Design

(Rational drug design, Rice Univ.)

Page 16: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Virtual Prototyping

Checking maintainability

Page 17: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Outline

• What is motion planning

• Basic motion planning problems

• General principles of motion planning algorithms

Page 18: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

General Motion Planning

A mapping from sensing information to action inputs to complete motion-required tasks

z

How to use a computer to solve this problem?

Page 19: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

z

u z

zz

• Motion model

• Sensing model A mapping from sensing information to state

• Action modelA function from action input to state

• Geometry model

θ

),( yx ψ2F

1F

),( equation,Motion ),( Input,

),( State,

on,Accelerati

Velocity,

),,,( ion,Configurat

21

uzfzUFFu

Xqqzdtqdq

dtdqq

Cyxq

=∈=

∈=

=

=

∈=

&

&

&&&

&

ψθ

Robot might not move to where it wants.

Robot might not where it is exactly.

Robot might not be able to move in any direction, velocity, and acceleration.

Building a Robot Model

Page 20: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

The First Hierarchical Simplification

Get recharged

High Level Planning

1. Move to the door of the basement

2. Move to the bottom of the

stair

3. Move to the recharging

location

Basic Motion Planning

Lower Level Planning

F

t t t t t

'F 'F

t t t t t

'F 'F

F F

F F F

Handle sensing uncertainty

Handle geometry complexity and motion constraints

Handle action uncertainties

4. Reach the power plug

5. Move the plug to the power plug

Page 21: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Basic Motion Planning Problem

.X,t,U,tu~

.,

,

f

f

]0[: y, trajectorits and ]0[: control,a

:Solutionstate goal and

state initial t,environmen work

system robotic A :Given

τ

τ

Perfect sensing and action model

Page 22: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

A Control and Its Trajectory

. state from ))(~,(equation motion

gintegratinby obtained is ],0[:y trajectora

, state and ],0[:~ control aGiven

i

f

if

xtuxfx

Xtτ

xUtu

=

&

u~U

t1t

u

0 ft

t0 ft

X

ix

fx

u~ control ixuτ state from ~ control of Trajectory

τ

Page 23: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Differential Constraints

• Restricted velocities and accelerations• Nonlinear constraints

Core Challenges :satisfy which ,y, trajectorits and ,~ control,for Search τu

Configuration Constraints

• Collision avoidance • Complicated geometry• High Dimension

}0)(;0)({ >= qgqg ie

}0),,(;0),,({}0),(;0),({>=

>=qqqkqqqk

qqhqqh

ie

ie

&&&&&&

&&

Page 24: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

The Second Hierarchical Simplification

• Path planningWith only configuration constraints

• Nonholonomic planningWith first order differential constraints

• Kinodynamic planningWith second order differential constraints

}0)(;0)({ >= qgqg ie

}00{ >= )q,q(h;)q,q(h ie &&

}00{ >= )q,q,q(k;)q,q,q(k ie &&&&&&

Page 25: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Path Planning Problem(Piano Movers’ Problem)

Given: Geometry and configuration constraints

Objective:A collision-free path connecting the initial and goal configurations

}0)(;0)({ >= qgqg ie

Page 26: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Paths from Path Planning Could Be Infeasible

(Parallel Parking)

Infeasible because the robot cannot follow it.

Page 27: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Nonholonomic planning Problem(called steering problem when no obstacles exist)

Given:A system under nonholonomic constraints

Objective:A open loop control to move from the initial configuration to the goal configuration

}00{ >= )q,q(h;)q,q(h ie &&

Page 28: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Paths Could Be Inefficient

But I can move faster on this purple path.

I have to move slowly around sharp corners in the path from the planner. Inefficient in time, energy …

min. 8 min. 3

Page 29: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Given:A system under dynamics constraints

Objective:A open loop control to move from the initial state to goal state

Kinodynamic Planning Problem

0),,(,0),,( >= qqqkqqqk ie &&&&&&

Page 30: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Extensions of Basic Motion Planning Problems

Page 31: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Planning with Sensing Uncertainties

Part orienting (Akella, Mason, 99)

Perfect action model

Page 32: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Coverage Planning

Given:Robotic systemsA closed areaA footprint function

Objective:Find controls for the systems to cover the given area.

Page 33: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Ω

X

Page 34: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu
Page 35: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Folding

A folding sequence for a carton (Lu, Akella, 00)

Page 36: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Outline

• What is motion planning

• Different motion planning problems

• General principles of motion planning algorithms

Page 37: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Path Planning Problem(Piano Movers’ Problem)

Given: Geometry and configuration constraints

Objective:A collision-free path connecting the initial and goal configurations

}0)(;0)({ >= qgqg ie

Page 38: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Abstract Path Planning Problem:

Collision-free Configuration Space

An initial and goal configuration

Path Planning AlgorithmsConfiguration Space Geometry Model

Complete Methods Practical Methods

Exact and finite Approximate

Search Methods

Continuous mathematical

representation

Discrete computer

representation

Discrete representation

Page 39: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Representations

• Continuous mathematical representation– Mathematical formulation of the problem– Topology of the configuration space– Parameterization of configuration space– Computation of collision-free configuration space – Abstract path planning problems

• Discrete computational representations– Required for computer algorithms– Exact and finite representations of the set of collision-

free configurations– Approximate representations

Page 40: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Search Methods

• Discrete search methods– Search with finite states and actions

• Deterministic complete search– Best-first, A*, Dijstra, …

• Sampling-based algorithms– PRM(Probabilistic Road Map)-based methods– RRT (Rapidly Exploring Random Tree)-based

methods– Heuristic design

Page 41: MEAM 620 – Part II Introduction to Motion Planningmeam620/slides/lect9.pdf · 2007-02-08 · MEAM 620 – Part II Introduction to Motion Planning Peng Cheng chpeng@seas.upenn.edu

Reading

• [LaValle 05], II-Overview• [LaValle 05], II-3.1• [LaValle 05], II-4.1,4.2,4.3