Motion Planning n Problem n Given start state x S , goal state x G n - - PDF document

motion planning
SMART_READER_LITE
LIVE PREVIEW

Motion Planning n Problem n Given start state x S , goal state x G n - - PDF document

Motion Planning Pieter Abbeel UC Berkeley EECS Many images from Lavalle, Planning Algorithms Motion Planning n Problem n Given start state x S , goal state x G n Asked for: a sequence of control inputs that leads from start to goal


slide-1
SLIDE 1

Page 1

Motion Planning

Pieter Abbeel UC Berkeley EECS Many images from Lavalle, Planning Algorithms

n Problem

n Given start state xS, goal state xG n Asked for: a sequence of control inputs that leads from

start to goal

n Why tricky?

n Need to avoid obstacles n For systems with underactuated dynamics: can’t simply

move along any coordinate at will

n E.g., car, helicopter, airplane, but also robot manipulator hitting

joint limits

Motion Planning

slide-2
SLIDE 2

Page 2

n

Could try by, for example, following formulation: Xt can encode obstacles

n

Or, with constraints, (which would require using an infeasible method):

n

Can work surprisingly well, but for more complicated problems with longer horizons, often get stuck in local maxima that don’t reach the goal

Solve by Nonlinear Optimization for Control?

n Helicopter path planning n Swinging up cart-pole n Acrobot

Examples

slide-3
SLIDE 3

Page 3

Examples Examples

slide-4
SLIDE 4

Page 4

Examples

n Configuration Space n Probabilistic Roadmap

n Boundary Value Problem n Sampling n Collision checking

n Rapidly-exploring Random Trees (RRTs) n Smoothing

Motion Planning: Outline

slide-5
SLIDE 5

Page 5

= { x | x is a pose of the robot}

n obstacles à configuration space obstacles

Configuration Space (C-Space)

Workspace Configuration Space

(2 DOF: translation only, no rotation)

free space

  • bstacles

Motion planning

slide-6
SLIDE 6

Page 6

11

Probabilistic Roadmap (PRM)

Free/feasible space Space ℜn forbidden space

12

Probabilistic Roadmap (PRM)

Configurations are sampled by picking coordinates at random

slide-7
SLIDE 7

Page 7

13

Probabilistic Roadmap (PRM)

Configurations are sampled by picking coordinates at random

14

Probabilistic Roadmap (PRM)

Sampled configurations are tested for collision

slide-8
SLIDE 8

Page 8

15

Probabilistic Roadmap (PRM)

The collision-free configurations are retained as milestones

16

Probabilistic Roadmap (PRM)

Each milestone is linked by straight paths to its nearest neighbors

slide-9
SLIDE 9

Page 9

17

Probabilistic Roadmap (PRM)

Each milestone is linked by straight paths to its nearest neighbors

18

Probabilistic Roadmap (PRM)

The collision-free links are retained as local paths to form the PRM

slide-10
SLIDE 10

Page 10

19

Probabilistic Roadmap (PRM)

s g

The start and goal configurations are included as milestones

20

Probabilistic Roadmap (PRM)

The PRM is searched for a path from s to g

s g

slide-11
SLIDE 11

Page 11

n Initialize set of points with xS and xG n Randomly sample points in configuration space n Connect nearby points if they can be reached from each

  • ther

n Find path from xS to xG in the graph

n alternatively: keep track of connected components

incrementally, and declare success when xS and xG are in same connected component

Probabilistic Roadmap PRM example

slide-12
SLIDE 12

Page 12

PRM example 2

  • 1. Connecting neighboring points: Only easy for holonomic

systems (i.e., for which you can move each degree of freedom at will at any time). Generally requires solving a Boundary Value Problem

  • 2. Collision checking:

Often takes majority of time in applications (see Lavalle)

  • 3. Sampling: how to sample uniformly (or biased according to

prior information) over configuration space?

PRM: Challenges

Typically solved without collision checking; later verified if valid by collision checking

slide-13
SLIDE 13

Page 13

n How to sample uniformly at random from [0,1]n ?

n Sample uniformly at random from [0,1] for each

coordinate

n How to sample uniformly at random from the surface of the

n-D unit sphere?

n Sample from n-D Gaussian à isotropic; then just

normalize

n How to sample uniformly at random for orientations in 3-D?

Sampling

n Pro:

n Probabilistically complete: i.e., with probability one, if run

long the graph will contain a solution path if one exists.

n Cons:

n Required to solve 2 point boundary value problem n Build graph over state space but no particular focus on

generating a path

PRM’s Pros and Cons

slide-14
SLIDE 14

Page 14

Rapidly exploring Random Trees

n Basic idea:

n Build up a tree through generating “next states” in the

tree by executing random controls

n However: not exactly above to ensure good coverage

Rapidly-exploring Random Trees (RRT)

slide-15
SLIDE 15

Page 15

n Finding (approximate) nearest neighbor efficiently

n KD Trees data structure (upto 20-D) [e.g., FLANN] n Locality Sensitive Hashing

RRT Practicalities Growing RRT

slide-16
SLIDE 16

Page 16

Bi-directional RRT Multi-directional RRT

slide-17
SLIDE 17

Page 17

Resolution-Complete RRT

n Shortcutting n Nonlinear optimization for optimal control

Smoothing

slide-18
SLIDE 18

Page 18

Example: Swing up Pendulum Example: Swing up Acrobot