Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

RRT Class Reference

The base class, which generates a single Rapidly-exploring Random Tree. More...

#include <rrt.h>

Inheritance diagram for RRT::

IncrementalPlanner Planner Solver RandomTree RRTDual RRTGoalBias RRTGoalZoom RRTHull RRTPolar RRTConCon RRTExtCon RRTExtExt RRTCon RRTSlide List of all members.

Public Methods

 RRT (Problem *problem)
 A constructor that initializes data members.

virtual ~RRT ()
 Empty destructor.

virtual void Reset ()
 Reset the planner.

virtual bool Plan ()
 Attempt to solve an Initial-Goal query by growing an RRT.


Public Attributes

bool UseANN
 If true, then the ANN package is used for nearest neighbors. It assumes R^n topology and Euclidean metric. The default is false.

double GoalDist
 The distance of the closest RRT MSLNode to the goal.

MSLVector BestState
 The closest state to the goal so far (not used in dual-tree planners).

double ConnectTimeLimit
 The maximum amount of time to move in a Connect step (default = INFINITY).

int SatisfiedCount
 Number of times the collision checker has been called.


Protected Methods

virtual MSLVector SelectInput (const MSLVector &x1, const MSLVector &x2, MSLVector &nx_best, bool &success, bool forward)
 Select the input that gets closest to x2 from x1.

virtual MSLNodeSelectNode (const MSLVector &x, MSLTree *t, bool forward)
 Return the nearest neighbor in the graph.

virtual bool Extend (const MSLVector &x, MSLTree *t, MSLNode *&nn, bool forward)
 Incrementally extend the RRT.

virtual bool Connect (const MSLVector &x, MSLTree *t, MSLNode *&nn, bool forward)
 Iterated Extend.

virtual MSLVector ChooseState ()
 Pick a state using some sampling technique.


Detailed Description

The base class, which generates a single Rapidly-exploring Random Tree.

The base class for the planners based on Rapidly-exploring Random Trees. In the base class, a single tree is generated without any regard to the GoalState. The best planners to try are RRTGoalBias and RRTGoalZoom for single trees, and RRTConCon and RRTExtExt for dual trees. Dual tree approaches are much more efficient than single tree approaches, assuming dual trees can be applied.


Constructor & Destructor Documentation

RRT::RRT ( Problem * problem )
 

A constructor that initializes data members.

RRT::~RRT ( ) [inline, virtual]
 

Empty destructor.


Member Function Documentation

MSLVector RRT::ChooseState ( ) [protected, virtual]
 

Pick a state using some sampling technique.

Reimplemented in RRTGoalBias, RRTGoalZoom, RRTPolar, and RRTHull.

bool RRT::Connect ( const MSLVector & x,
MSLTree * t,
MSLNode *& nn,
bool forward ) [protected, virtual]
 

Iterated Extend.

Reimplemented in RRTSlide.

bool RRT::Extend ( const MSLVector & x,
MSLTree * t,
MSLNode *& nn,
bool forward ) [protected, virtual]
 

Incrementally extend the RRT.

bool RRT::Plan ( ) [virtual]
 

Attempt to solve an Initial-Goal query by growing an RRT.

Reimplemented from Planner.

Reimplemented in RRTCon, RRTDual, RRTExtExt, RRTExtCon, and RRTConCon.

void RRT::Reset ( ) [virtual]
 

Reset the planner.

Reimplemented from Planner.

MSLVector RRT::SelectInput ( const MSLVector & x1,
const MSLVector & x2,
MSLVector & nx_best,
bool & success,
bool forward ) [protected, virtual]
 

Select the input that gets closest to x2 from x1.

Reimplemented in RandomTree, and RRTSlide.

MSLNode * RRT::SelectNode ( const MSLVector & x,
MSLTree * t,
bool forward ) [protected, virtual]
 

Return the nearest neighbor in the graph.

Reimplemented in RandomTree.


Member Data Documentation

MSLVector RRT::BestState
 

The closest state to the goal so far (not used in dual-tree planners).

double RRT::ConnectTimeLimit
 

The maximum amount of time to move in a Connect step (default = INFINITY).

double RRT::GoalDist
 

The distance of the closest RRT MSLNode to the goal.

int RRT::SatisfiedCount
 

Number of times the collision checker has been called.

bool RRT::UseANN
 

If true, then the ANN package is used for nearest neighbors. It assumes R^n topology and Euclidean metric. The default is false.


The documentation for this class was generated from the following file: Motion Strategy Library


Web page maintained by Steve LaValle
Partial support provided by NSF CAREER Award IRI-970228 (LaValle), Honda Research.
Contributors: Anna Atramentov, Peng Cheng, James Kuffner, Steve LaValle, and Libo Yang.