Day 20 - Rapidly Expanding Random Trees

Download Report

Transcript Day 20 - Rapidly Expanding Random Trees

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
– 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
refinement
expansion
Where will the random sample fall? How to control the behavior of RRT?
Determining the Boundary
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