dynamic-domain rrts anna yershova, steven m. lavalle 03/08/2006

36
Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Upload: joshua-lyons

Post on 31-Dec-2015

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Dynamic-Domain RRTs

Anna Yershova, Steven M. LaValle

03/08/2006

Page 2: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Basic Motion Planning Problem

Given: 2D or 3D world Geometric models of obstacles Geometric models Configuration space Initial and goal configurations

Task: Compute a collision free path that connects initial and goal

configurations

Page 3: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Rapidly-exploring Random Trees (RRTs)

Introduced by LaValle and Kuffner, ICRA 1999.

Applied, adapted, and extended in many works: Frazzoli, Dahleh, Feron, 2000; Toussaint, Basar, Bullo, 2000; Vallejo, Jones, Amato, 2000; Strady, Laumond, 2000; Mayeux, Simeon, 2000; Karatas, Bullo, 2001; Li, Chang, 2001; Kuffner, Nishiwaki, Kagami, Inaba, Inoue, 2000, 2001; Williams, Kim, Hofbaur, How, Kennell, Loy, Ragno, Stedl, Walcott, 2001; Carpin, Pagello, 2002; Branicky, Curtiss, 2002; Cortes, Simeon, 2004; Urmson, Simmons, 2003; Yamane, Kuffner, Hodgins, 2004; Strandberg, 2004; ...

Also, applications to biology, computational geography, verification, virtual prototyping, architecture, solar sailing, computer graphics, ...

Page 4: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

The RRT Construction Algorithm

GENERATE_RRT(xinit, K, t)

1. T.init(xinit);

2. For k = 1 to K do

3. xrand RANDOM_STATE();

4. xnear NEAREST_NEIGHBOR(xrand, T);

5. if CONNECT(T, xrand, xnear, xnew);

6. T.add_vertex(xnew);

7. T.add_edge(xnear, xnew, u);

8. Return T;

xnear

xinit

xnew

The result is a tree rooted at xinit

Page 5: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

A Rapidly-exploring Random Tree (RRT)

Page 6: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Voronoi Biased Exploration

Is this always a good idea?

Page 7: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Voronoi Diagram in R 2

Page 8: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Voronoi Diagram in R 2

Page 9: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Voronoi Diagram in R 2

Page 10: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Refinement vs. Expansion

refinement expansion

Where will the random sample fall? How to control the behavior of RRT?

Page 11: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Limit Case: Pure Expansion

Let X be an n-dimensonal ball,

in which r is very large.

The RRT will explore n 1 opposite directions.

The principle directions are vertices of a regular n 1-simplex

Page 12: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Determining the Boundary

Expansion dominates Balanced refinement and expansion

The tradeoff depends on the size of the bounding box

Page 13: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Controlling the Voronoi Bias

Refinement is good when multiresolution search is needed

Expansion is good when the tree can grow and not blocked by obstacles

Main motivation:

Voronoi bias does not take into account obstacles

How to incorporate the obstacles into Voronoi bias?

Page 14: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Bug Trap

Which one will perform better?

Small Bounding Box Large Bounding Box

Page 15: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Voronoi Bias for the Original RRT

Page 16: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Visibility-Based Clipping of the Voronoi Regions

Nice idea, but how can this be done in practice?Even better: Voronoi diagram for obstacle-based metric

Page 17: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

(a) Regular RRT, unbounded Voronoi region(b) Visibility region(c) Dynamic domain

A Boundary Node

Page 18: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

A Non-Boundary Node

(a) Regular RRT, unbounded Voronoi region(b) Visibility region(c) Dynamic domain

Page 19: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Dynamic-Domain RRT Bias

Page 20: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Dynamic-Domain RRT Construction

Page 21: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Dynamic-Domain RRT Bias

Tradeoff between nearest neighbor calls and collision detection calls

Page 22: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Recent Efforts

Adaptive tuning of the radius: the radius is not fixed but is increased with every extension

success and is decreased with every failure

Nearest neighbor calls: kd-tree based implementation O(log n) instead of naïve O(n) query time

Uniform sampling from dynamic domain: Rejection-based method is not efficient for high dimensions Uniform distribution should be generated directly

Page 23: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Adaptive Tuning of Parameter

Page 24: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Adaptive Tuning of Parameter

Page 25: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Nearest Neighbor Calls & Uniform Sampling

Efficient implementation using kd-trees

O(log n) query time instead of naïve O(n) query time

Page 26: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

The kd-tree is a powerful data structure that is based on recursively subdividing a set of points with alternating axis-aligned hyperplanes.

The classical kd-tree uses O(dn lgn) precomputation time, O(dn) space and answers queries in time logarithmic in n, but exponential in d.

47

6

5

1

3

2

9

8

10

11

l5

l1 l9

l6

l3

l10 l7

l4

l8

l2

l1

l8

1

l2l3

l4 l5 l7 l6

l9l10

3

2 5 4 11

9 10

8

6 7

KD-trees

Page 27: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Kd-trees. Construction

47

6

5

1

3

2

9

8

10

11

l5

l1 l9

l6

l3

l10 l7

l4

l8

l2

l1

l8

1

l2l3

l4 l5 l7 l6

l9l10

3

2 5 4 11

9 10

8

6 7

Page 28: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Kd-trees. Query

47

6

5

1

3

2

9

8

10

11

l5

l1 l9

l6

l3

l10 l7

l4

l8

l2

l1

l8

1

l2l3

l4 l5 l7 l6

l9l10

3

2 5 4 11

9 10

8

6 7

q

Page 29: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Shrinking Bug Trap

Large Medium Small

Page 30: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

The smaller the bug trap, the better the improvement

Shrinking Bug Trap

Page 31: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Wiper Motor (courtesy of KINEO)

6 dof problem CD calls are

expensive

Page 32: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Molecule

68 dof problem was solved in 2 minutes 330 dof in 1 hour 6 dof in 1 min. 30 times improvement comparing to RRT CD calls are expensive

Page 33: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Labyrinth

3 dof problem CD calls are not

expensive

Page 34: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

3D grid

6 dof problem CD calls are not expensive

Page 35: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Spiral

6 dof problem CD calls are not expensive

Page 36: Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006

Conclusions

Controlling Voronoi bias is important in RRTs. Provides dramatic performance improvements on some

problems. Does not incur much penalty for unsuitable problems.

Work in Progress:

Application to planning under differential constraints.

Application to planning for closed chains.