RRT and its variants
Bryant Chandler
What are advantages and disadvantages of A*?
RRT - Rapidly Exploring Random Tree
- Randomly sample a point
- Find the nearest neighbor
- Create a new node, no longer than max segment from nearest neighbor in the direction of the sampled point
- Connect to nearest neighbor as parent
RRT - Implementation Considerations
- How will you represent nodes in the tree?
- How will you represent obstacles?
- How will you choose a max segment length?
- How will you find the nearest neighbor?
- How will you detect obstacle collisions?
- How will you visualize the tree?
- How will you compute a path once you have found one?
RRT* (* for optimal)
- A point is sampled and all nodes in a neighborhood are found
- The neighbor that would provide the lowest cost is selected and becomes parent of sampled point
- All other neighbors are checked to see if they would reduce cost by rewiring to the new node as their parent
RRT* Replanning Limitation
- Robot starts at red headed to purple
- At green it realizes that it really wants to go to blue
- The only way to get there is to replan (expensive)
Online RRT*
- Requirements
- Sample indefinitely without becoming intractible
- Allow both start and end points to move
- Solution
- Run RRT* to saturate configuration space
- A fixed threshold based on area
- Continue sampling and rewiring without adding new nodes
- Run RRT* to saturate configuration space
Move Start Point
A tree with the start node as a square
A new start node (blue square) is made parent of the original and its neighbors are found
Neighbors are rewired to the new start node
Online Sampling
Sample a point (highlighted in pink) and find all nodes in its neighborhood
Find the node in the neighborhood that has the lowest cost (blue)
Rewire all neighbors to the best node if it would improve their cost
Impact of ORRT* on # of Nodes
- Moving the start point acts like a memory leak
- Eventually becomes a significant problem
Online Pruning
Prune a leaf node in the vicinity of the new root after moving start
FMT* - Fast Marching Tree
Execution Efficiency
Online Pruning Efficiency
Time-Varying Cost
ORRT*
OFMT*
CS 470 RRT
By Bryant Chandler
CS 470 RRT
- 711