Main Page   Namespace List   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 RRTBidirBalanced RRTConCon RRTExtCon RRTExtExt RCRRT RRTCon RCRRTBall RCRRTDual RRTSlide RCRRTBallDual RCRRTExtExt RCRRTBallExtExt List of all members.

Public Methods

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

virtual ~RRT ()
 Empty destructor. More...

virtual void Reset ()
 Reset the planner. More...

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


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. More...

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

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

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

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


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. More...

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

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

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

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


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.

virtual RRT::~RRT   [inline, virtual]
 

Empty destructor.


Member Function Documentation

MSLVector RRT::ChooseState   [protected, virtual]
 

Pick a state using some sampling technique.

Reimplemented in RRTGoalBias.

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.

Reimplemented in RCRRT.

bool RRT::Plan   [virtual]
 

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

Implements Planner.

Reimplemented in RCRRT.

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 RRTSlide.

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

Return the nearest neighbor in the graph.

Reimplemented in RCRRT.


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 files: Motion Strategy Library


Web page maintained by Steve LaValle