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
 

virtual 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
[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
[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.

MSLVector RCRRT::SelectInput MSLNode   n1,
const MSLVector   x2,
MSLVector   nx_best,
bool &    success,
bool    forward
[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
[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