Download presentation
Presentation is loading. Please wait.
Published byJoshua Lyons Modified over 9 years ago
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
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
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.