motion planning for dynamic environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf ·...

74
ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 1 / 72 Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the Path Steven M. LaValle University of Illinois

Upload: others

Post on 19-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 1 / 72

Motion Planning for Dynamic Environments

Part II: Motion Planning: Finding the Path

Steven M. LaValle

University of Illinois

Page 2: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Solution to Homework 1

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 2 / 72

A car driving on a gigantic sphere:

S2

The C-space is:

Page 3: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Solution to Homework 1

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 2 / 72

A car driving on a gigantic sphere:

S2

The C-space is: SO(3) = RP 3

To see it, imagine car is painted on S2 and rotate S2 about its center.

It is not S2 × S1: Cartesian product vs. fiber bundle (Hopf fibration)

Page 4: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Basic Motion Planning Problem

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 3 / 72

Given robotA and obstacleO models, C-space C, and qI , qG ∈ Cfree.

Cobs

qI

qG

Cfree

Cobs

Cobs

Automatically compute a path τ : [0, 1]→ Cfree so that τ(0) = qI and

τ(1) = qG.

Page 5: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Competing Paradigms

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 4 / 72

� Combinatorial planning(exact planning)

� Sampling-based planning(probabilistic planning, randomized planning)

The methods differ in the philosophy they use to discretize the problem.

Also: Approximate cell decompositions

Page 6: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Completeness Notions

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 5 / 72

A planning algorithm may be:

� Complete: If a solution exists, it finds one; otherwise, it reports

failure.

� Semi-complete: If a solution exists, it finds one; otherwise, it may

run forever.

� Resolution complete: If a solution exists, it finds one; otherwise, it

terminates and reports that no solution within a specified resolution

exists.

� Probabilistically complete: If a solution exists, the probability that

it will be found tends to one as the number of iterations tends to

infinity.

Page 7: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Combinatorial Planning

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 6 / 72

Page 8: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Combinatorial Planning Methods

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 7 / 72

� Mostly developed in the 1980s

� Influence from computational geometry and computational real

algebraic geometry

� All algorithms are complete

� Usually produce a roadmap in Cfree

� Extremely efficient for low-dimensional problems

� Some are difficult to implement (numerical issues)

Page 9: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Topological Graph

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 8 / 72

Methods produce a topological graph G:

� Each vertex is a configuration q ∈ Cfree.

� Each edge is a path τ : [0, 1]→ Cfree for which τ(0) and τ(1) are

vertices.

Sometimes, Cfree may be replaced by cl(Cfree)(include the boundary of Cfree).

This allows the robot to “scrape” the obstacles.

Page 10: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Roadmap

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 9 / 72

A roadmap is a topological graph G with two properties:

1. Accessibility: From anywhere in Cfree it is trivial to compute a path

that reaches at least one point along any edge in G.

2. Connectivity-preserving: If there exists a path through Cfree from

qI to qG, then there must also exist one that travels through G.

Page 11: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Planning in a Polygonal Obstacle Region

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 10 / 72

Assume that Cobs (and Cfree) are piecewise linear.

Could be a point robot among polygonal obstacles.

Could be a polygonal, translating robot among polygonal obstacles.

The methods tend to extend well to a disc robot.

Use clever data structures to encode vertices, edges, regions

Example: Doubly connected edge list

Page 12: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Planning in a Polygonal Obstacle Region

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 11 / 72

We consider four methods:

� Trapezoidal decomposition

� Triangulation

� Maximum-clearance roadmap (retraction method)

� Shortest-path roadmap (reduced visibility graph)

Page 13: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Trapezoidal Decomposition

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 12 / 72

Try to extend a ray above or below every vertex.

There are four cases:

Page 14: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Trapezoidal Decomposition

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 13 / 72

� Use the plane sweep principle to efficiently determine where the

rays terminate.

� Sort vertices by x coordinate.

� Handle extensions from left to right, while maintaining a vertically

sorted list of edges.

� Leads to O(n lg n) running time. Easy to implement.

Page 15: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Trapezoidal Decomposition

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 14 / 72

The resulting roadmap G:

Page 16: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Trapezoidal Decomposition

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 15 / 72

Solving a query: Get from qI to qG.

qI

qG

Page 17: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Triangulation

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 16 / 72

Compute triangulation:

O(n2) time naive, O(n) optimal, O(n lg n) a good tradeoff.

Build easy roadmap from the triangulation:

Page 18: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Maximum Clearance Roadmap

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 17 / 72

One closestpoint

Two closestpoints

One closestpoint

Imagine obtaining a skeleton by gradually thinning Cfree.

Based on deformation retract from topology.

Also is a kind of generalized Voronoi diagram.

O’Dunlaing, Yap, 1983

Page 19: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Maximum Clearance Roadmap

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 18 / 72

Three cases contribute to the roadmap:

Edge-Edge Vertex-Vertex Vertex-Edge

O(n4) time naive, O(n lg n) optimal.

Picture from Latombe, 1991

Page 20: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Shortest-Path Roadmap

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 19 / 72

Optimal planning is easy in polygonal environments.

The shortest-path roadmap contains all vertices and edges that optimal

paths follow when obstructed.

Imagine pulling a string tight between qI and qG.

Page 21: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Shortest-Path Roadmap

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 20 / 72

Every reflex vertex (interior angle > π) is a roadmap vertex.

Edges in the roadmap correspond to two cases:

1. Consecutive reflex vertices

2. Bitangent edges

p1 p3

p4p6

p5

p2

A bitangent edge is needed when this is true:

(

fl(p1, p2, p5)⊕ fl(p3, p2, p5))

∨(

fl(p4, p5, p2)⊕ fl(p6, p5, p2))

,

in which fl is a left-turn predicate.

Page 22: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Shortest-Path Roadmap

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 21 / 72

To solve a query, connect qI and qG to the roadmap:

qG

qI

Page 23: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Shortest-Path Roadmap

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 22 / 72

Use Dijkstra’s algorithm to search for a shortest path.

qG

qI

Page 24: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Higher Dimensions

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 23 / 72

If C is 3 or more dimensions, most methods do not extend.

Optimal path planning for 3D polyhedra is NP-hard.

Maximal clearance roadmaps become disconnected in 3D.

Trapezoidal decomposition extends:

y y y

z z z

y

z

x

Page 25: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Higher Dimensions

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 24 / 72

� Specialized decompositions: ladder, rigid planar robot, discs

� Cylindrical algebraic decomposition (Schwartz, Sharir, 1983)

� Canny’s roadmap algorithm (1987)

Rearranging a bunch of rectangles is PSPACE-hard:

Page 26: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Decomposition for a Ladder

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 25 / 72

v1

e3

e2

e1

R7

R5

e3

e2

x2

x1

e4

e1

R10

R9

R8

R13

R11

R12

R2 R3R1 R6

R4

O(n5) time and space

Schwartz, Sharir, 1983

Page 27: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Cylindrical Algebraic Decomposition

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 26 / 72

Folding over Intersection

Developed by Collins to decide Tarski sentences

3

5

6

7

9

10

11

12

1 13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

328

33

342

35

30

364

37

31

R

Doubly exponential time and space.

Schwartz, Sharir, 1983

Page 28: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Canny’s Roadmap Algorithm

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 27 / 72

x1

x3

x2

Singly exponential time.

Canny, 1987

See Algorithms in Real Algebraic Geometry by Basu, Pollack, Roy, 2003.

More recently: Generalizations to o-minimal structures.

Page 29: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Sampling-Based Planning

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 28 / 72

Page 30: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Sampling-Based Planning: Philosophy

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 29 / 72

Sampling−BasedMotion Planning AlgorithmCollision

DetectionGeometricModels

DiscreteSearching

C−SpaceSampling

� Use collision detector to separate planning from input geometry

� Systematically sample (random vs. deterministic) the free space

� Single-query: Incremental sampling and searching

� Multiple-query: Precompute a sampling-based roadmap

Page 31: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Denseness

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 30 / 72

In topology, a set U is called dense in V if cl(U) = V .

Implication: Every open subset of V contains at least one point in U .

Example: The rational numbers Q are dense in R

(every open interval contains some fractions)

If U is dense and countable, then a dense sequence can be formed:

α : N→ U

This imposes a linear ordering on U : α(1), α(2), . . .

Example: A random sequence is dense with probability one.

Page 32: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

(Pseudo-)Random Sequence

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 31 / 72

Uniform random samples seem easy to produce.

Statistical independence makes it easy to combine sample sets.

In reality, note that pseudo-random sequences are generated.

Page 33: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

(Pseudo-)Random Sequence

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 32 / 72

Be careful in curved spaces!

To generate a random point on Sn: Generate n Guassian iid samples and

normalize.

Uniform random rotation in SO(3):Choose three points u1, u2, u3 ∈ [0, 1] uniformly at random.(a, b, c, d) =

(√1− u1 sin 2πu2,

√1− u1 cos 2πu2,

√u1 sin 2πu3,

√u1 cos 2πu3).

S2

Page 34: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Deterministic Alternative: van der Corput sequence

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 33 / 72

Naive Reverse Van deri Sequence Binary Binary Corput Points in [0, 1]/ ∼1 0 .0000 .0000 02 1/16 .0001 .1000 1/23 1/8 .0010 .0100 1/44 3/16 .0011 .1100 3/45 1/4 .0100 .0010 1/86 5/16 .0101 .1010 5/87 3/8 .0110 .0110 3/88 7/16 .0111 .1110 7/89 1/2 .1000 .0001 1/1610 9/16 .1001 .1001 9/1611 5/8 .1010 .0101 5/1612 11/16 .1011 .1101 13/1613 3/4 .1100 .0011 3/1614 13/16 .1101 .1011 11/1615 7/8 .1110 .0111 7/1616 15/16 .1111 .1111 15/16

Page 35: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Dispersion

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 34 / 72

Let P be a finite set of points in metric space (X, ρ).The dispersion of P is:

δ(P ) = supx∈X

{

minp∈P

{

ρ(x, p)}}

.

L2 dispersion L∞ dispersion

In a bounded space, a dense sequence drives the dispersion to zero.

Page 36: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Deterministic Sequences

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 35 / 72

van der Corput is asymptotically optimal in terms of dispersion

Halton: Generalize van der Corput by using relatively prime bases

(2, 3, 5, 7, 11, ...) for each coordinate.

More uniform than random (which needs O((lg n)1/d) times as many

samples needed to produce the same expected dispersion).

Other sequences produce better constants, and optimize discrepancy.See Random Number Generation and Quasi-Monte-Carlo Methods, Niederreiter,1992.

Page 37: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Best Possible Dispersion

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 36 / 72

Sukharev theorem:

For any set P of k samples in [0, 1]d:

δ(P ) ≥ 1

2⌊

k1

d

, (1)

in which δ is the L∞ dispersion.

The best possible placement of k points:

Think: “points per axes” for any sample set

Holding the dispersion fixed requires exponentially many points in

dimension.

Page 38: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Johnson-Lindenstrauss Lemma

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 37 / 72

Maybe you didn’t need all of those dimensions anyway...

Pick any positive ǫ < 1 and any set P of k points in Rn, there exists a

function f : Rn → Rm so that for all x, y ∈ P ,

(1− ǫ)‖x− y‖2 ≤ ‖f(x)− f(y)‖2 ≤ (1 + ǫ)‖x− y‖2,

and m = 4 lnn/(ǫ2/2− ǫ3/3).

In other words, a low-distortion, low-dimensional embedding exists.

The basis of many dimensionality reduction methods, in machine learning,

compressed sensing, computational geometry, ...

Page 39: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

A Spectrum of Sample Sequences

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 38 / 72

1. Random sample sequence – can these really be generated?

2. Pseudo-random sequence

3. Low-dispersion sequence

4. Multiresolution grid

Page 40: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Irregularity Does Not Help

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 39 / 72

196 points in each square region:

Pseudo-random points Pseudo-random points Halton points

Hammersley points Lattice points Sukharev grid

Page 41: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Collision Detection

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 40 / 72

Maintain a hierarchy of bounding regions

Two opposing criteria:

1. The region should fit the intended body points as tightly as possible.

2. The intersection test for two regions should be as efficient as

possible.

Popular packages from UNC: PQP, I-Collide, ...

Page 42: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Important Issue: Incremental Methods

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 41 / 72

V

V

V

E

E

E

V

E

E

V

� Vertex-Vertex Each point of the closest pair is a vertex of a polygon.

� Edge-Vertex One point of the closest pair lies on an edge, and the

other lies on a vertex.

� Edge-Edge Each point of the closest pair lies on an edge. In this

case, the edges must be parallel.

Page 43: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Important Issue: Collision Checking a Segment

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 42 / 72

How many collision checks should be performed along an edge?q

q′

Using workspace distance information, may be able to guarantee

collision-free segments.

A x

y

ar

r

Let a(q) ∈ A(q) denote a point on the robot.

Find a constant c > 0 so that

‖a(q)− a(q′)‖ < c‖q − q′‖ (3)

over robot points and configuration pairs q, q′.

Page 44: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Framework: Incremental Sampling and Searching

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 43 / 72

Given a single query: qI , qG ∈ Cfree

1. Initialization: Form G(V,E) with vertices qI , qG and no edges.

2. Vertex Selection Method (VSM): Choose a vertex qcur ∈ V forexpansion.

3. Local Planning Method (LPM): For some qnew ∈ Cfree, attempt toconstruct a path τs : [0, 1]→ Cfree such that τ(0) = qcur andτ(1) = qnew.

4. Insert an Edge in the Graph: Insert τs into E, as an edge from qcur toqnew. If qnew is not already in V , then it is inserted.

5. Check for a Solution: Determine whether G encodes a solution path.

6. Return to Step 2: Iterate unless a solution has been found or thealgorithm reports failure.

Page 45: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Bug Traps

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 44 / 72

A convenient way to express the challenges of incremental sampling and

searching

qI qG

qI qG

qGqI qG

qI

Page 46: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Randomized Potential Field Planner

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 45 / 72

Barraquand, Latombe, 1989

Use BFS on an implicit, high resolution grid. Use random walks to escape

local minima.

Random Walk BacktrackBest First

Stuck and i < K

Stuckand i=K

Reset i to 1

Increment i

Initialization (i=1)

It was able to solve high dimensional problems, but required too much

parameter tuning.

qG

qI

Page 47: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Implicit Low Resolution Grid

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 46 / 72

Connect qI and qG to the grid.

Apply classical grid search: BFS, DFS, Dijkstra, A∗

Page 48: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Some Other Incremental Planners

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 47 / 72

� Ariadne’s clew algorithm (Mazer et al. 1992)

� Expansive space planner (Hsu et al., 1997)

� Rapidly exploring Random Trees (LaValle, Kuffner, 1998)

� SBL planning (Sanchez, Latombe, 2001)

� Adaptive random walk planner (Carpin, Pillonetto, 2005)

Page 49: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Making a “Random” Tree

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 48 / 72

Suppose X = [−25, 25]2 and qI = (0, 0).Pick a vertex a random, extend one unit in a random direction repeat, ...

What happens?

Page 50: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Making a “Random” Tree

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 48 / 72

Suppose X = [−25, 25]2 and qI = (0, 0).Pick a vertex a random, extend one unit in a random direction repeat, ...

What happens?

Page 51: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Rapidly exploring Random Tree

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 49 / 72

By changing the vertex selection method, we obtain this:

Rather than pick a vertex at random, pick a configuration at random.

Page 52: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

RRT

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 50 / 72

SIMPLE RRT(q0)1 G.init(q0);

2 for i = 1 to k do3 qr ← RandomConf(i);3 G.add vertex(qr);

4 qn ← NEAREST(S(G), qr);

5 G.add edge(qn, qr);

SIMPLE RRT(q0)

To bias toward the goal, qG can be substituted for RandomConf(i) in

some (e.g., every 100) iterations.

RandomConf(i) can be replaced by any dense sequence α(i) to obtain

Rapidly exploring Dense Trees (RDTs).

Page 53: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

RRT: Implementation Issues

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 51 / 72

Extend the nearest vertex (using the metric!) to the random point:

q0

qn

α(i)

q0

If there is an obstacle, then stop short:

qn

q0

Cobs

qs

α(i)

Page 54: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

RRT: Implementation Issues

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 52 / 72

If the nearest RRT point lies in an edge, it is better to extend from there:

qn

α(i)q0

45 iterations 2345 iterations

Page 55: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

RRT: Implementation Issues

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 53 / 72

An approximate solution: Insert intermediate vertices.

qn

q0 α(i)

Page 56: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

RRT: Implementation Issues

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 54 / 72

For large RRTs (thousands of nodes), nearest-neighbor requests

dominate.

In some settings, Kd-trees can dramatically improve performance.

13

12

14

118

910

7

4

5

6

2 3

1

7

8

3 1 10 11

2 4 6 9 13 14

12

5

Page 57: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Bidirectional Search

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 55 / 72

To solve a qI , qG query with RRTs.

Grow two trees: 1) Ti from qI and 2) Tg from qG.

Repeat the following four steps:

1. Extend Ti using α(i), making qnew.

2. Extend Tg using qnew. If connected, then solution found.

3. Extend Tg using α(i+ 1), making qnew.

4. Extend Ti using qnew. If connected, then solution found.

Page 58: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Single vs. Multiple Query

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 56 / 72

If there are multiple queries in the same Cfree, then precomputing a

roadmap may pay off.

BUILD ROADMAP1 G.init(); i← 0;2 while i < N3 if α(i) ∈ Cfree then4 G.add vertex(α(i)); i← i+ 1;5 for each q ∈ NEIGHBORHOOD(α(i),G)6 if ((not G.same component(α(i), q)) and CONNECT(α(i), q)) then7 G.add edge(α(i), q);

α(i)

Cobs

Cobs

Page 59: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

PRM Variants

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 57 / 72

Connection rules:

� Nearest K: The K closest points to α(i) are considered. This

requires setting the parameter K (a typical value is 15).

� Component K: Try to obtain up to K nearest samples from each

connected component of G.

� Radius: Take all points within a ball of radius r centered at α(i).

� Visibility: Try connecting α to all vertices in G.

Sampling strategies: Gaussian, medial axis, bridge-test, ...

See Karaman, Frazzoli, IJRR 2011 for PRM connection theory.

Page 60: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Visibility PRM

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 58 / 72

V (q)

q

Visibility definition (b) Visibility roadmap

Simeon, Laumond, Nissoux, 2000

Define two different kinds of vertices in G:

Guards: To become a guard, a vertex, q must not be able to see

other guards.

Connectors: To become a connector, a vertex, q, must see at least

two guards.

Page 61: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Differential Constraints

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 59 / 72

Page 62: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Planning Under Differential Constraints

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 60 / 72

Due to robot kinematics and dynamics, most systems are locally

constrained, in addition to global obstacles.

Let q represent the C-space velocity.

In ordinary planning, any “direction” is allowed and the magnitude does not

matter.

Thus, we could say

q = u (4)

and u ∈ Rn may be any velocity vector so that ‖u‖ ≤ 1.

Page 63: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Planning Under Differential Constraints

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 61 / 72

More generally, a control system (or state transition equation) constrains

the velocity:

q = f(q, u)

and u belongs to some set U (usually bounded).

A function u : T → U is applied over a time interval T = [0, tf ] and the

configuration q(t) at time t is given by the state at time t is given by

q(t) = q(0) +

∫ t

0

f(q(t′), u(t′))dt′.

in which q(0) is the initial configuration.

Page 64: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Dubins Car

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 62 / 72

This car drives forward only:

L

ρ

φ

θ

(x, y)

C = R2 × S1.

Let u = (us, uφ) and U = [0, 1]× [−φmax, φmax].Control system of the form q = f(q, u):

x = cos θ

y = sin θ

θ =usL

tanuφ.

(5)

Page 65: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Dubins Car

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 63 / 72

Stepping forward in the Dubins car

Two stages Four stages

Page 66: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Moving Into the Phase Space

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 64 / 72

Handling higher order derivatives on C allows dynamical system models.

This includes accelerations, momentum, drift.

Let X be a state space (or phase space).

Typically, X = C × Rn, in which n is the dimension of C.

Each x ∈ X represents a 2n dimensional vector x = (q, q).

A control system then becomes

x = f(x, u)

Note that x includes q components (hence, acceleration constraints).

Page 67: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Moving Into the Phase Space

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 65 / 72

The obstacle region in X is usually:

Xobs = {x ∈ X | κ(x) ∈ Cobs},

This has cylindrical structure:

Cobs

Xobs

X

C

Page 68: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Resolution Complete Planning

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 66 / 72

Discretize time and action space:

T

U

T

U

A trajectory in U A trajectory in UdUsing countability to try all sequences:

1

2

3

4

5

6

∆t 1

2∆t 1

4∆t 1

8∆t 1

16∆t 1

32∆t 1

64∆t

Iter

atio

n

Time step

Page 69: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Local Planning

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 67 / 72

SystemSimulatorut

x(0)

t

xt

Two-PointBoundary-ValueSolver

ut

xI

xG

Easy Usually Hard

Page 70: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Boundary Value Problems

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 68 / 72

XGxIxI

xG

BVP

No BVP One BVP

xI

xGBVP xG

xI

BVP

One BVP One BVP

Page 71: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Limiting Vertices Per Cell

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 69 / 72

Four stages for Dubins Limiting one vertex per cell

Barraquand, Latombe, 1993

Page 72: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Incremental Sampling and Searching

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 70 / 72

For an RRT, just replace the “straight line” connection with a local planner.

SIMPLE RRT WITH DIFFERENTIAL CONSTRAINTS(x0)1 G.init(x0);

2 for i = 1 to k do3 xn ← NEAREST(S(G), α(i));4 (up, xr)← LOCAL PLANNER(xn, α(i));5 G.add vertex(xr);

6 G.add edge(up);

Apply some up

xn

α(i)

Problems: Need good metrics and primitives

Page 73: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Summary of Part II

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 71 / 72

� Combinatorial vs. sampling based.

� For some problems, combinatorial is far superior.

� For most “industrial problems” sampling-based works well.

� Weaker notions of completeness are tolerated.

� Dimensionality always an issue (Sukharev).

More details: Planning Algorithms, Chapters 5 and 6.

Page 74: Motion Planning for Dynamic Environmentsmsl.cs.uiuc.edu/~lavalle/icra12/slides2.pdf · 2012-06-14 · Motion Planning for Dynamic Environments Part II: Motion Planning: Finding the

Homework 2: Solve During Lunch Break

Combinatorial Planning

Sampling-BasedPlanning

Differential Constraints

ICRA 2012 Tutorial - Motion Planning - 14 May 2012 – 72 / 72

For an infinite sample sequence α : N→ X , let αk denote the first ksamples.

Find a metric space X ⊆ Rn and α so that:

1. The dispersion of αk is∞ for all k.

2. The dispersion of α is 0.

Hint: Do not make it too complicated.