rapidly exploring random trees

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

Upload: ronia

Post on 22-Feb-2016

80 views

Category:

Documents


0 download

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Rapidly Exploring Random Trees

Rapidly Exploring Random TreesRRT-Connected: An Efficient Approach to Single-Query

Path Planning

Page 2: Rapidly Exploring Random Trees

Rapidly Exploring Random TreesData structure/algorithm to facilitate path

planningDeveloped by Steven M. La Valle (1998)Originally designed to handle problems with

nonholonomic constraints and high degrees of freedom

Page 3: Rapidly Exploring Random Trees

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

Page 4: Rapidly Exploring Random Trees

Rapidly Exploring Random TreesEXTEND(T,q)1 qnear ← Nearest_NEIGHBOUR(q,T);2 if NEW_CONFIG(q, qnear, qnew) then3 T.add_vertex(qnew);4 T.add_edge(qnear, qnew);5 if qnew = q then6 Return Reached;7 else 8 Return Advanced;9 Return Trapped;

Page 5: Rapidly Exploring Random Trees

Rapidly Exploring Random Trees

Page 6: Rapidly Exploring Random Trees

Rapidly Exploring Random TreesMain advantage: biased towards unexplored

regionsProbability node selected for extension proportional

to size voronoi region

Page 7: Rapidly Exploring Random Trees

Rapidly Exploring Random TreesNice 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

Page 8: Rapidly Exploring Random Trees

RRT-Connect Path PlannerHow to use RRT in a path planner?RRT-Connect:

Single shot methodGrow two RRTs one from the start position and

one from the goal positionAfter every extension try to connect the treesIf the trees connect a path has been found

Page 9: Rapidly Exploring Random Trees

RRT-Connect Path PlannerAlgorithm:RRT_CONNECT_PLANNER(qinit, qgoal)1 Ta.init(qinit); Tb.init(qgoal);2 for k=1 to K do3 qrand ← RND_CFG();4 if not(EXTEND(Ta, qrand)= Trapped) then5 if(CONNECT(Tb, qnew) = Reached) then6 Return PATH(Ta, Tb);7 SWAP(Ta, Tb);8 Return Failure;

Page 10: Rapidly Exploring Random Trees

RRT-Connect Path PlannerCONNECT(T, q)1 repeat2 S ← EXTEND(T, q)3 until not (S = Advanced)4 Return S;

Page 11: Rapidly Exploring Random Trees

RRT-Connect Path Planner

Page 12: Rapidly Exploring Random Trees

RRT-Connect Path PlannerVariations:

RRT_EXTEND_EXTENDRRT_CONNECT_CONNECTIn CONNECT step only add last vertex to graphGrow more RRTs

Page 13: Rapidly Exploring Random Trees

RRT-Connect Path PlannerAnalysis:

RRT-Connect is probabilistic completeDistribution vertices in RRT converges toward

sampling distributionNo theoretical characterization of the rate of

converge!

Page 14: Rapidly Exploring Random Trees

RRT-Connect Path PlannerExperiments:

Average 100 trialsScene 1: 0.228sScene 2: 5,94sScene 3: 2.92sUsing 3D non incremental collision checking algorithm

Page 15: Rapidly Exploring Random Trees

RRT-Connect Path PlannerExperiments:

In uncluttered scenes connect heuristic 3 to 4 times faster than other RRT-based variants

Useful for complicated 3D scenes7-DOF kinematic chain, over 8000 triangle

primitivesaverage 2 s for each motion to reach, grasp and move

Page 16: Rapidly Exploring Random Trees

RRT-Connect Path PlannerExperiments:

over 13.000 triangles80 s SGI Indigo215 s high-end SGI

Page 17: Rapidly Exploring Random Trees

RRT-Connect Path PlannerConclusion:

Randomised approach that yields good experimental performances withno parameter tuningno pre-processingsimple and consistent behaviourbalance between greedy searching and uniform

explorationwell suited for incremental distance computation

and fast nearest neighbour algorithms

Page 18: Rapidly Exploring Random Trees

RRT-Connect Path PlannerTo do:

optimise distance travelled during each step by using the radius of a collision free ball

use approximate nearest neighbour methodsuse incremental collision detection algorithm compare performance to other path planning

approachesidentify conditions that lead to poor

performance

Page 19: Rapidly Exploring Random Trees

RRT-Connect Path PlannerIssues:

Randomness can cause great variance in runtime due to ‘unlucky instance’

Page 20: Rapidly Exploring Random Trees

RRT-Connect Path PlannerIssues:

Ugly paths

Page 21: Rapidly Exploring Random Trees

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 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 1998 2006. 

http://msl.cs.uiuc.edu/rrt/gallery.html Rapidly-Exploring Random Trees in Highly Constrained

Environments. Amjad Almahairi. 2010.