Simox  2.3.74.0
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)
 
 ~BiRrt () override
 
bool plan (bool bQuiet=false) override
 
void printConfig (bool printOnlyParams=false) override
 
void reset () override
 reset the planner More...
 
bool setStart (const Eigen::VectorXf &c) override
 set start configuration More...
 
bool setGoal (const Eigen::VectorXf &c) override
 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)
 
 ~Rrt () override
 
bool plan (bool bQuiet=false) override
 
void printConfig (bool printOnlyParams=false) override
 
void reset () override
 reset the planner More...
 
bool setStart (const Eigen::VectorXf &c) override
 set start configuration More...
 
bool setGoal (const Eigen::VectorXf &c) override
 set goal configuration More...
 
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...
 
void setPlanningTimeout (float timeoutMs)
 

Protected Member Functions

bool createSolution (bool bQuiet=false) override
 create the solution More...
 
- Protected Member Functions inherited from Saba::Rrt
bool createSolution (bool bQuiet=false) override
 create the solution More...
 
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
 
float planningTimeout
 Planning time in milliseconds. More...
 

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

◆ BiRrt()

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

Constructor

Parameters
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

◆ ~BiRrt()

Saba::BiRrt::~BiRrt ( )
overridedefault

Member Function Documentation

◆ createSolution()

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

create the solution

Implements Saba::MotionPlanner.

◆ getTree2()

CSpaceTreePtr Saba::BiRrt::getTree2 ( )

◆ plan()

bool Saba::BiRrt::plan ( bool  bQuiet = false)
overridevirtual

do the planning (blocking method)

Returns
true if solution was found, otherwise false

Implements Saba::MotionPlanner.

Reimplemented in Saba::GraspIkRrt.

◆ printConfig()

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

Print setup of planner.

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

Reimplemented from Saba::MotionPlanner.

Reimplemented in Saba::GraspIkRrt.

◆ reset()

void Saba::BiRrt::reset ( )
overridevirtual

reset the planner

Reimplemented from Saba::MotionPlanner.

Reimplemented in Saba::GraspIkRrt.

◆ setGoal()

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

set goal configuration

Reimplemented from Saba::MotionPlanner.

Reimplemented in Saba::GraspIkRrt.

◆ setStart()

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

set start configuration

Reimplemented from Saba::MotionPlanner.

Field Documentation

◆ lastAddedID2

int Saba::BiRrt::lastAddedID2
protected

ID of last added node.

◆ rrtMode2

RrtMethod Saba::BiRrt::rrtMode2
protected

◆ tree2

CSpaceTreePtr Saba::BiRrt::tree2
protected

the second tree