Simox  2.3.62
Saba::BiRrt Class Reference
Inheritance diagram for Saba::BiRrt:
Saba::Rrt Saba::MotionPlanner Saba::GraspIkRrt

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW BiRrt (CSpacePtr cspace, RrtMethod modeA=eConnect, RrtMethod modeB=eConnect, float samplingSize=-1)
virtual ~BiRrt ()
virtual bool plan (bool bQuiet=false)
virtual void printConfig (bool printOnlyParams=false)
virtual void reset ()
 reset the planner More...
virtual bool setStart (const Eigen::VectorXf &c)
 set start configuration More...
virtual bool setGoal (const Eigen::VectorXf &c)
 set goal configuration More...
CSpaceTreePtr getTree2 ()
- Public Member Functions inherited from Saba::Rrt
 Rrt (CSpacePtr cspace, RrtMethod mode=eConnect, float probabilityExtendToGoal=0.1f, float samplingSize=-1)
virtual ~Rrt ()
void setProbabilityExtendToGoal (float p)
CSpaceTreePtr getTree ()
- Public Member Functions inherited from Saba::MotionPlanner
EIGEN_MAKE_ALIGNED_OPERATOR_NEW MotionPlanner (CSpacePtr cspace)
virtual ~MotionPlanner ()
 destructor More...
CSpacePathPtr getSolution ()
void setMaxCycles (unsigned int mc)
Eigen::VectorXf getStartConfig ()
 return start configuration More...
Eigen::VectorXf getGoalConfig ()
 return goal configuration More...
unsigned int getNrOfCycles ()
 check that planner is initialized More...
CSpacePtr getCSpace ()
 The CSpace. More...
virtual void stopExecution ()
void setName (std::string sName)
 Give the planner a name. More...
std::string getName ()
 The name of the planner. More...
float getPlanningTimeMS ()
virtual bool isInitialized ()
 returns true, when start and goal config have been set More...

Protected Member Functions

virtual bool createSolution (bool bQuiet=false)
 create the solution More...
- Protected Member Functions inherited from Saba::Rrt
virtual ExtensionResult extend (Eigen::VectorXf &c, CSpaceTreePtr tree, int &storeLastAddedID)
virtual ExtensionResult connectComplete (Eigen::VectorXf &c, CSpaceTreePtr tree, int &storeLastAddedID)
virtual ExtensionResult connectUntilCollision (Eigen::VectorXf &c, CSpaceTreePtr tree, int &storeLastAddedID)

Protected Attributes

CSpaceTreePtr tree2
 the second tree More...
int lastAddedID2
 ID of last added node. More...
RrtMethod rrtMode2
- Protected Attributes inherited from Saba::Rrt
CSpaceTreePtr tree
 the rrt on which are operating More...
CSpaceNodePtr startNode
 start node (root of RRT) More...
CSpaceNodePtr goalNode
 goal node (set when RRT weas successfully connected to goalConfig) More...
Eigen::VectorXf tmpConfig
 tmp config More...
float extendGoToGoal
 the probability that the goal config is used instead of a randomly created configuration More...
float extendStepSize
 step size for one rrt extend (copied from cspace) More...
int lastAddedID
 ID of last added node. More...
RrtMethod rrtMode
- Protected Attributes inherited from Saba::MotionPlanner
CSpacePtr cspace
 the cspace on which are operating More...
CSpacePathPtr solution
 the solution More...
bool stopSearch
 indicates that the search should be interrupted More...
unsigned int dimension
 dimension of c-space More...
Eigen::VectorXf startConfig
 start config More...
bool startValid
Eigen::VectorXf goalConfig
 goal config More...
bool goalValid
unsigned int maxCycles
 maximum cycles for searching More...
unsigned int cycles
 current cycles done in the run method More...
std::string name
 Name of this planner (standard: "Motion Planner") More...
float planningTime

Additional Inherited Members

- Public Types inherited from Saba::Rrt
enum  RrtMethod { eExtend, eConnect, eConnectCompletePath }
enum  ExtensionResult { eError, eFailed, eSuccess, ePartial }

Detailed Description

The standard implementation of the bidirectional RRT planner. Two search trees are started, one from the start and one from the goal node.

Constructor & Destructor Documentation

Saba::BiRrt::BiRrt ( CSpacePtr  cspace,
RrtMethod  modeA = eConnect,
RrtMethod  modeB = eConnect,
float  samplingSize = -1 


cspaceAn initialized cspace object.
modeASpecify the RRT method that should be used to build the first tree
modeBSpecify the RRT method that should be used to build the second tree
Saba::BiRrt::~BiRrt ( )

Member Function Documentation

bool Saba::BiRrt::createSolution ( bool  bQuiet = false)

create the solution

Reimplemented from Saba::Rrt.

CSpaceTreePtr Saba::BiRrt::getTree2 ( )
bool Saba::BiRrt::plan ( bool  bQuiet = false)

do the planning (blocking method)

true if solution was found, otherwise false

Reimplemented from Saba::Rrt.

Reimplemented in Saba::GraspIkRrt.

void Saba::BiRrt::printConfig ( bool  printOnlyParams = false)

Print setup of planner.

printOnlyParamsIf set the decorating start and end is skipped (can be used to print derived classes).

Reimplemented from Saba::Rrt.

Reimplemented in Saba::GraspIkRrt.

void Saba::BiRrt::reset ( )

reset the planner

Reimplemented from Saba::Rrt.

Reimplemented in Saba::GraspIkRrt.

bool Saba::BiRrt::setGoal ( const Eigen::VectorXf &  c)

set goal configuration

Reimplemented from Saba::Rrt.

Reimplemented in Saba::GraspIkRrt.

bool Saba::BiRrt::setStart ( const Eigen::VectorXf &  c)

set start configuration

Reimplemented from Saba::Rrt.

Field Documentation

int Saba::BiRrt::lastAddedID2

ID of last added node.

RrtMethod Saba::BiRrt::rrtMode2
CSpaceTreePtr Saba::BiRrt::tree2

the second tree