Title: Dynamic-Domain RRTs: Efficient Exploration by Controlling the Sampling Domain
1Dynamic-Domain RRTs Efficient Exploration by
Controlling the Sampling Domain
- Anna Yershova1 Léonard Jaillet2 Thierry
Siméon2 Steven M. LaValle1
1Department of Computer Science University of
Illinois Urbana, IL 61801 USA yershova,
lavalle_at_uiuc.edu
2LAAS-CNRS 7, Avenue du Colonel Roche 31077
Toulouse Cedex 04,France ljaillet, nic_at_laas.fr
Thanks to US National Science Foundation,
UIUC/CNRS funding, Kineo
2Rapidly-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,
...
3The RRT Construction Algorithm
- GENERATE_RRT(xinit, K, ?t)
- T.init(xinit)
- For k 1 to K do
- xrand ? RANDOM_STATE()
- xnear ? NEAREST_NEIGHBOR(xrand, T)
- if CONNECT(T, xrand, xnear, xnew)
- T.add_vertex(xnew)
- T.add_edge(xnear, xnew, u)
- Return T
xnear
xnew
xinit
The result is a tree rooted at xinit
4A Rapidly-exploring Random Tree (RRT)
5Voronoi Biased Exploration
Is this always a good idea?
6Voronoi Diagram in R 2
7Voronoi Diagram in R 2
8Voronoi Diagram in R 2
9Refinement vs. Expansion
refinement
expansion
Where will the random sample fall? How to control
the behavior of RRT?
10Limit 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
11Determining the Boundary
Expansion dominates
Balanced refinement and expansion
The tradeoff depends on the size of the bounding
box
12Controlling 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?
13Bug Trap
Small Bounding Box
Large Bounding Box
- Which one will perform better?
14Voronoi Bias for the Original RRT
15Visibility-Based Clipping of the Voronoi Regions
Nice idea, but how can this be done in
practice? Even better Voronoi diagram for
obstacle-based metric
16A Boundary Node
- (a) Regular RRT, unbounded Voronoi region
- (b) Visibility region
- (c) Dynamic domain
17A Non-Boundary Node
- (a) Regular RRT, unbounded Voronoi region
- (b) Visibility region
- (c) Dynamic domain
18Dynamic-Domain RRT Bias
19Dynamic-Domain RRT Construction
20Dynamic-Domain RRT Bias
Tradeoff between nearest neighbor calls and
collision detection calls
21Experiments
- Implementation details
- MOVE3D (LAAS/CNRS)
- 333 Mhz Sunblade 100 with SunOs 5.9 (not very
fast) - Compiler GCC 3.3
- Fast nearest neighbor searching (Yershova
Atramentov, LaValle, 2002) - Two kinds of experiments
- Controlled experiments for toy problems
- Challenging benchmarks from industry and biology
22Shrinking Bug Trap
Large Medium
Small
23Shrinking Bug Trap
The smaller the bug trap, the better the
improvement
24Wiper Motor (courtesy of KINEO)
- 6 dof problem
- CD calls are expensive
25Molecule
- 68 dof problem was solved in 2 minutes
- 330 dof in 1 hour
- 6 dof in 1 min. 30 times improvement comparing to
RRT
26Labyrinth
- 3 dof problem
- CD calls are not expensive
27Conclusions
- 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
- There is a radius parameter. Adaptive tuning is
possible.(Jaillet et.al. 2005. Submitted to IROS
2005) - Application to planning under differential
constraints. - Application to planning for closed chains.