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

RCRRT Class Reference

Resolution Complete Rapidly-Exploring Random Trees , by Peng Cheng and Steven M. LaValle, submitted to 2002 IEEE International Conference on Robotics and Automation. Techniques applied to improve the performance: (1) Combining systematic search with random search such that it has both the completeness of the systematic search and fast searching of the random search. (2) Constraint violation tendency to avoid obstacles This basic planner is used to do the experiment with dynamic car model in the virtual town. The rolling effect of the car and the nonlinear tire model are considered in the model. More...

#include <rcrrt.h>

Inheritance diagram for RCRRT::

RRTGoalBias RRT IncrementalPlanner Planner Solver RCRRTBall RCRRTDual RCRRTBallDual RCRRTExtExt RCRRTBallExtExt List of all members.

Public Methods

bool IsNodeExpanded (MSLNode *x, double &biasvalue, bool forward)
 Check if this node has been explored (all inputs are expanded) and return the collision tendency information Used in SelectNode function. More...

virtual bool IsInputApplied (const int &inputindex, const MSLVector &expolreinfo)
 Check the ith input is failed or not Used in SelectInput function. More...

virtual void BackWardBiasSet (MSLNode *n, MSLTree *t)
 back ward along the tree to set the bias value. More...

double BiasValue (int backstep)
 bias value function,. More...

 RCRRT (Problem *problem)
virtual ~RCRRT ()
virtual MSLNodeSelectNode (const MSLVector &x, MSLTree *t, bool forward)
 Select the nearestneighbor node according to given metric !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! This function is metric dependent !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Choose the nestest neighbor in the search structure If all nodes are explored, return (NULL) node If there exist unexpanded nodes (1) return the closest node with probability equal collisiontendency (2) or, return the closed node when (2) return nothing. More...

virtual bool Extend (const MSLVector &x, MSLTree *t, MSLNode *&nn, bool forward)
 Extend the nearest node to the random state return true: a new node is generated return false: 1. all the successors of the chosen node are in collision 2. no nearest node is chosen because all of them are explored. More...

virtual MSLVector SelectInput (MSLNode *n1, const MSLVector &x2, MSLVector &nx_best, bool &success, bool forward)
 The first parameter is node because the node will be used in the function, xu_new is the new value for the uncontrolled state. More...

virtual bool Connect (const MSLVector &x, MSLTree *t, MSLNode *&nn, bool forward)
 method to increase the extending time because the more time the RCRRT extend in each step, more quickly the overall information of state space is gotten. More...

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


Public Attributes

int inputnum
 the number of the inputs. More...

list<MSLVectorinputset
 input set. More...

bool issolutionexist
 true, solution possibly exists; false, solution does not exist. More...

MSLVector initexploreinfo
 Initial exploration information initialized with 0. More...

double initcoltend
 Initial collision tendency. More...


Detailed Description

Resolution Complete Rapidly-Exploring Random Trees , by Peng Cheng and Steven M. LaValle, submitted to 2002 IEEE International Conference on Robotics and Automation. Techniques applied to improve the performance: (1) Combining systematic search with random search such that it has both the completeness of the systematic search and fast searching of the random search. (2) Constraint violation tendency to avoid obstacles This basic planner is used to do the experiment with dynamic car model in the virtual town. The rolling effect of the car and the nonlinear tire model are considered in the model.


Constructor & Destructor Documentation

RCRRT::RCRRT ( Problem * problem )
 

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


Member Function Documentation

void RCRRT::BackWardBiasSet ( MSLNode * n,
MSLTree * t ) [virtual]
 

back ward along the tree to set the bias value.

double RCRRT::BiasValue ( int backstep )
 

bias value function,.

bool RCRRT::Connect ( const MSLVector & x,
MSLTree * t,
MSLNode *& nn,
bool forward = true ) [virtual]
 

method to increase the extending time because the more time the RCRRT extend in each step, more quickly the overall information of state space is gotten.

Reimplemented from RRT.

Reimplemented in RCRRTBall.

bool RCRRT::Extend ( const MSLVector & x,
MSLTree * t,
MSLNode *& nn,
bool forward = true ) [virtual]
 

Extend the nearest node to the random state return true: a new node is generated return false: 1. all the successors of the chosen node are in collision 2. no nearest node is chosen because all of them are explored.

Reimplemented from RRT.

Reimplemented in RCRRTBall.

bool RCRRT::IsInputApplied ( const int & inputindex,
const MSLVector & expolreinfo ) [virtual]
 

Check the ith input is failed or not Used in SelectInput function.

bool RCRRT::IsNodeExpanded ( MSLNode * x,
double & biasvalue,
bool forward )
 

Check if this node has been explored (all inputs are expanded) and return the collision tendency information Used in SelectNode function.

bool RCRRT::Plan ( ) [virtual]
 

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

Reimplemented from RRT.

Reimplemented in RCRRTDual, RCRRTExtExt, RCRRTBall, RCRRTBallDual, and RCRRTBallExtExt.

MSLVector RCRRT::SelectInput ( MSLNode * n1,
const MSLVector & x2,
MSLVector & nx_best,
bool & success,
bool forward = true ) [virtual]
 

The first parameter is node because the node will be used in the function, xu_new is the new value for the uncontrolled state.

MSLNode * RCRRT::SelectNode ( const MSLVector & x,
MSLTree * t,
bool forward = true ) [virtual]
 

Select the nearestneighbor node according to given metric !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! This function is metric dependent !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Choose the nestest neighbor in the search structure If all nodes are explored, return (NULL) node If there exist unexpanded nodes (1) return the closest node with probability equal collisiontendency (2) or, return the closed node when (2) return nothing.

Reimplemented from RRT.

Reimplemented in RCRRTBall.


Member Data Documentation

double RCRRT::initcoltend
 

Initial collision tendency.

MSLVector RCRRT::initexploreinfo
 

Initial exploration information initialized with 0.

int RCRRT::inputnum
 

the number of the inputs.

list< MSLVector > RCRRT::inputset
 

input set.

bool RCRRT::issolutionexist
 

true, solution possibly exists; false, solution does not exist.


The documentation for this class was generated from the following files: 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.