Rapidly Expanding Random Trees David Johnson
RRT’s Promoted by Steve Lavalle and James Kuffner Alternative to other randomized approaches Probabilistic roadmap planner
Why another? Need to extend to PRM depends on connecting points Non-holonomic (car) Differential constraints (velocity, etc) Actuator constraints PRM depends on connecting points May require a generalized nonlinear controller slow Solved over thousands of connections
RRT Components X = Configuration Space or more general X = C-space + Velocity + Acceleration + ….
RRT Components
Basic RRT algorithm
Basic Extend
Example in holonomic empty space
Why “Rapidly Exploring”? What is the probability that a vertex will be extended? Proportional to the area of its Voronoi region If just choose a vertex at random and extend, then it would act like random walk instead Biased towards start vertex
Refinement vs. Expansion If the random sample falls in …… These two modes of behavior are controlled by Voronoi bias only. We want to learn to control it. refinement expansion Where will the random sample fall? How to control the behavior of RRT?
Determining the Boundary in general, changing the boundary of the domain controls the two modes in some way Expansion dominates Balanced refinement and expansion The tradeoff depends on the size of the bounding box
Extension to Non-holonomic The new_state computation handles all the complicated part Given a state x and inputs u Integrate numerically to get new position What input u do we use? All One Heuristic
Problem Non-biased RRT explores in all directions Not aimed at the goal Use a small percentage of targets to be the goal or its neighborhood
How Far to Extend? Use distance measures from collision detection Big steps when far away
Bi-directional Grow from start and goal Extend a tree Try to connect nearest vertex of other tree to new vertex Swap roles Connecting trees can be difficult Controls problem
Examples http://msl.cs.uiuc.edu/rrt/gallery.html