1 / 21

Rapidly Exploring Random Trees

Rapidly Exploring Random Trees. RRT-Connected: An Efficient Approach to Single-Query Path Planning. Rapidly Exploring Random Trees. Data structure/algorithm to facilitate path planning Developed by Steven M. La Valle (1998)

ronia
Download Presentation

Rapidly Exploring Random Trees

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rapidly Exploring Random Trees RRT-Connected: An Efficient Approach to Single-Query Path Planning

  2. Rapidly Exploring Random Trees • Data structure/algorithm to facilitate path planning • Developed by Steven M. La Valle (1998) • Originally designed to handle problems with nonholonomic constraints and high degrees of freedom

  3. Rapidly Exploring Random Trees Algorithm: BUILD_RRT(qinit) 1 T.init(qinit); 2 for k=1 to K do 3 qrand ← RANDOM_CONFIG(); 4 EXTEND(T, qrand); 5 Return T;

  4. Rapidly Exploring Random Trees EXTEND(T,q) 1 qnear ← Nearest_NEIGHBOUR(q,T); 2 if NEW_CONFIG(q, qnear, qnew) then 3 T.add_vertex(qnew); 4 T.add_edge(qnear, qnew); 5 ifqnew = q then 6 Return Reached; 7 else 8 Return Advanced; 9 Return Trapped;

  5. Rapidly Exploring Random Trees

  6. Rapidly Exploring Random Trees • Main advantage: biased towards unexplored regions Probability node selected for extension proportional to size voronoi region

  7. Rapidly Exploring Random Trees Nice properties: • Expansion heavily biased towards unexplored areas of state space • Distribution nodes approaches the sampling distribution (important for consistency), usually uniform but not necessarily! • Relatively simple algorithm • Always remains connected

  8. RRT-Connect Path Planner • How to use RRT in a path planner? • RRT-Connect: • Single shot method • Grow twoRRTs one from the start position and one from the goal position • After every extension try to connect the trees • If the trees connect a path has been found

  9. RRT-Connect Path Planner Algorithm: RRT_CONNECT_PLANNER(qinit, qgoal) 1 Ta.init(qinit);Tb.init(qgoal); 2 for k=1 to K do 3 qrand ← RND_CFG(); 4 if not(EXTEND(Ta, qrand)= Trapped) then 5 if(CONNECT(Tb, qnew) = Reached) then 6 Return PATH(Ta, Tb); 7 SWAP(Ta, Tb); 8 Return Failure;

  10. RRT-Connect Path Planner CONNECT(T, q) 1repeat 2 S ← EXTEND(T, q) 3 until not (S = Advanced) 4 Return S;

  11. RRT-Connect Path Planner

  12. RRT-Connect Path Planner • Variations: • RRT_EXTEND_EXTEND • RRT_CONNECT_CONNECT • In CONNECT step only add last vertex to graph • Grow more RRTs

  13. RRT-Connect Path Planner • Analysis: • RRT-Connect is probabilistic complete • Distribution vertices in RRT converges toward sampling distribution • No theoretical characterization of the rate of converge!

  14. RRT-Connect Path Planner • Experiments: Average 100 trials • Scene 1: 0.228s • Scene 2: 5,94s • Scene 3: 2.92s Using 3D non incremental collision checking algorithm

  15. RRT-Connect Path Planner • Experiments: • In uncluttered scenes connect heuristic 3 to 4 times faster than other RRT-based variants • Useful for complicated 3D scenes • 7-DOF kinematic chain, over 8000 triangle primitives average 2 s for each motion to reach, grasp and move

  16. RRT-Connect Path Planner • Experiments: • over 13.000 triangles • 80 s SGI Indigo2 • 15 s high-end SGI

  17. RRT-Connect Path Planner • Conclusion: Randomised approach that yields good experimental performances with • no parameter tuning • no pre-processing • simple and consistent behaviour • balance between greedy searching and uniform exploration • well suited for incremental distance computation and fast nearest neighbour algorithms

  18. RRT-Connect Path Planner • To do: • optimise distance travelled during each step by using the radius of a collision free ball • use approximate nearest neighbour methods • use incremental collision detection algorithm • compare performance to other path planning approaches • identify conditions that lead to poor performance

  19. RRT-Connect Path Planner • Issues: • Randomness can cause great variance in runtime due to ‘unlucky instance’

  20. RRT-Connect Path Planner • Issues: • Ugly paths

  21. References • RRT-connect: An efficient approach to single-query path planning. J. J. Kuffner and S. M. LaValle. In Proceedings IEEE International Conference on Robotics and Automation, pages 995--1001, 2000 • On Heavy-tailed Runtimes and Restarts in Rapidly-exploring Random Trees. Nathan A. Wedge and Michael S. Branicky. 2008 • Chapter 5: Sampling-Based Motion Planning, Planning Algorithms. S. M. LaValle. Cambridge UniversityPress, Cambridge, U.K., • Rapidly-exploring random trees: A new tool for path planning. S. M. LaValle. TR 98-11, Computer Science Dept., Iowa State University, October 1998 2006.  • http://msl.cs.uiuc.edu/rrt/gallery.html • Rapidly-Exploring Random Trees in Highly Constrained Environments.AmjadAlmahairi. 2010.

More Related