Dynamic-Domain%20RRTs - PowerPoint PPT Presentation

About This Presentation
Title:

Dynamic-Domain%20RRTs

Description:

Title: PowerPoint Presentation Last modified by: a Created Date: 1/1/1601 12:00:00 AM Document presentation format: On-screen Show Other titles: Times New Roman ... – PowerPoint PPT presentation

Number of Views:128
Avg rating:3.0/5.0
Slides: 37
Provided by: uiu55
Learn more at: http://msl.cs.uiuc.edu
Category:

less

Transcript and Presenter's Notes

Title: Dynamic-Domain%20RRTs


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(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
5
A Rapidly-exploring Random Tree (RRT)
6
Voronoi Biased Exploration
Is this always a good idea?
7
Voronoi Diagram in R 2
8
Voronoi Diagram in R 2
9
Voronoi Diagram in R 2
10
Refinement vs. Expansion
refinement
expansion
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 dominates
Balanced 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
Small Bounding Box
Large Bounding Box
  • Which one will perform better?

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 Boundary Node
  • (a) Regular RRT, unbounded Voronoi region
  • (b) Visibility region
  • (c) Dynamic domain

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
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
KD-trees
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.
l1
l3
l2
l4
l5
l7
l6
l8
l9
l10
27
Kd-trees. Construction
l9
l1
l5
l6
l3
l2
l3
l2
l10
l8
l4
l5
l7
l6
l7
l4
l8
l9
l10
28
Kd-trees. Query
4
6
l9
l1
7
l5
l6
8
l3
l2
l3
l2
5
9
10
3
l10
l8
l4
l5
l7
l6
l7
2
1
l4
11
l8
l9
l10
29
Shrinking Bug Trap
Large Medium
Small
30
Shrinking Bug Trap
The smaller the bug trap, the better the
improvement
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.
Write a Comment
User Comments (0)
About PowerShow.com