Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006."— Presentation transcript:

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

2 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

3 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,...

4 The RRT Construction Algorithm GENERATE_RRT(x init, K,  t) 1.T.init(x init ); 2.For k = 1 to K do 3. x rand  RANDOM_STATE(); 4. x near  NEAREST_NEIGHBOR(x rand, T); 5. if CONNECT(T, x rand, x near, x new ); 6. T.add_vertex(x new ); 7. T.add_edge(x near, x new, u); 8.Return T; x near x init x new The result is a tree rooted at x init

5 A Rapidly-exploring Random Tree (RRT)

6 Voronoi Biased Exploration Is this always a good idea?

7 Voronoi Diagram in R 2

8

9

10 Refinement vs. Expansion refinementexpansion Where will the random sample fall? How to control the behavior of RRT?

11 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

12 Determining the Boundary Expansion dominatesBalanced refinement and expansion The tradeoff depends on the size of the bounding box

13 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?

14 Bug Trap Which one will perform better? Small Bounding Box Large Bounding Box

15 Voronoi Bias for the Original RRT

16 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

17 (a) Regular RRT, unbounded Voronoi region (b) Visibility region (c) Dynamic domain A Boundary Node

18 A Non-Boundary Node (a) Regular RRT, unbounded Voronoi region (b) Visibility region (c) Dynamic domain

19 Dynamic-Domain RRT Bias

20 Dynamic-Domain RRT Construction

21 Dynamic-Domain RRT Bias Tradeoff between nearest neighbor calls and collision detection calls

22 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

23 Adaptive Tuning of Parameter

24

25 Nearest Neighbor Calls & Uniform Sampling  Efficient implementation using kd-trees  O(log n) query time instead of naïve O(n) query time

26 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. 4 7 6 5 1 3 2 9 8 10 11 l5l5 l1l1 l9l9 l6l6 l3l3 l 10 l7l7 l4l4 l8l8 l2l2 l1l1 l8l8 1 l2l2 l3l3 l4l4 l5l5 l7l7 l6l6 l9l9 3 25411 910 8 67 KD-trees

27 Kd-trees. Construction 4 7 6 5 1 3 2 9 8 10 11 l5l5 l1l1 l9l9 l6l6 l3l3 l 10 l7l7 l4l4 l8l8 l2l2 l1l1 l8l8 1 l2l2 l3l3 l4l4 l5l5 l7l7 l6l6 l9l9 3 25411 910 8 67

28 Kd-trees. Query 4 7 6 5 1 3 2 9 8 10 11 l5l5 l1l1 l9l9 l6l6 l3l3 l 10 l7l7 l4l4 l8l8 l2l2 l1l1 l8l8 1 l2l2 l3l3 l4l4 l5l5 l7l7 l6l6 l9l9 3 25411 910 8 67 q

29 Shrinking Bug Trap Large Medium Small

30 The smaller the bug trap, the better the improvement Shrinking Bug Trap

31 Wiper Motor (courtesy of KINEO)  6 dof problem  CD calls are expensive

32 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

33 Labyrinth  3 dof problem  CD calls are not expensive

34 3D grid  6 dof problem  CD calls are not expensive

35 Spiral  6 dof problem  CD calls are not expensive

36 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.


Download ppt "Dynamic-Domain RRTs Anna Yershova, Steven M. LaValle 03/08/2006."

Similar presentations


Ads by Google