Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rapidly Exploring Random Trees Data structure/algorithm to facilitate path planning Developed by Steven M. La Valle (1998) Originally designed to handle.

Similar presentations


Presentation on theme: "Rapidly Exploring Random Trees Data structure/algorithm to facilitate path planning Developed by Steven M. La Valle (1998) Originally designed to handle."— Presentation transcript:

1

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(q init ) 1 T.init(q init ); 2 for k=1 to K do 3 q rand ← RANDOM_CONFIG(); 4EXTEND(T, q rand ); 5 Return T;

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

5 Rapidly Exploring Random Trees

6 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 two RRTs 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(q init, q goal ) 1 T a.init(q init ); T b.init(q goal ); 2 for k=1 to K do 3 q rand ← RND_CFG(); 4if not(EXTEND(T a, q rand )= Trapped) then 5if(CONNECT(T b, q new ) = Reached) then 6Return PATH(T a, T b ); 7 SWAP(T a, T b ); 8 Return Failure;

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

11 RRT-Connect Path Planner

12 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 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 , 2000 On Heavy-tailed Runtimes and Restarts in Rapidly-exploring Random Trees. Nathan A. Wedge and Michael S. Branicky Chapter 5: Sampling-Based Motion Planning, Planning Algorithms. S. M. LaValle. Cambridge University Press, 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 Rapidly-Exploring Random Trees in Highly Constrained Environments. Amjad Almahairi


Download ppt "Rapidly Exploring Random Trees Data structure/algorithm to facilitate path planning Developed by Steven M. La Valle (1998) Originally designed to handle."

Similar presentations


Ads by Google