Path planner
[Algorithms]

Path planner algorithms. More...

Classes

class  RRTnode
class  RRTparams
 Class containing various parameters for RRT algorithm. More...
class  RRT
 Class implementing a Rapidly-exploring Random Tree. More...
class  RTR
 Class implementing a rotate travel rotate path planner. More...

Enumerations

enum  PathPlanners { RRT_PLANNER, PATH_PLANNERS_NUM }
 Path Planners enumerator. More...
enum  PrimitivesType {
  STRAIGHT, TURN_LEFT, TURN_RIGHT, NULL_PRIMITIVE,
  PRIMITIVES_NUM
}
 Primitives enumerator. More...
enum  RRTstate {
  FIND_Q_RAND, FIND_Q_NEAR, FIND_Q_NEW, COLLISION_CHECK,
  UPDATE, GOAL_REACHED, FIND_PATH, SEARCH_COMPLETE,
  STATE_NUM
}
 RRT building state enumerator. More...

Functions

 RRTnode::RRTnode ()
 RRTnode::RRTnode (int ID, Pose q, int maxIter)
 RRTnode::RRTnode (int maxIter)
 RRTnode::RRTnode (const RRTnode &n)
 Copy constructor.
RRTnodeRRTnode::operator= (const RRTnode &n)
 Operator =.
int RRTnode::ID ()
 Gets the _ID parameter.
Pose RRTnode::q ()
 Gets the _q parameter.
vector< int > RRTnode::freePrimitives ()
 Gets the _freePrimitives parameter.
int RRTnode::freePrimitivesNum ()
 Gets the _freePrimitives parameter.
int RRTnode::parentID ()
 Gets the _parentID parameter.
int RRTnode::edgeType ()
 Gets the _edgeType parameter.
Decimal RRTnode::CSpaceDist ()
 Gets the _CSpaceDist parameter.
CellRRTnode::cell ()
 Gets the _cell parameter.
Segment RRTnode::straight ()
 Gets the _straight parameter.
Ellipse RRTnode::left ()
 Gets the _left parameter.
Ellipse RRTnode::right ()
 Gets the _right parameter.
string RRTnode::print ()
 Prints on the screen all class parametes.
void RRTnode::setID (int value)
 Sets the _ID parameter.
void RRTnode::setQ (Pose value)
 Sets the _q parameter.
void RRTnode::setFreePrimitives (vector< int > value)
 Sets the _freePrimitives parameter.
void RRTnode::clearFreePrimitivesElem (int value)
 Sets to 0 the element of _freePrimitives selected by value.
void RRTnode::setFreePrimitivesNum (int value)
 Sets the _freePrimitivesNum parameter.
void RRTnode::decreaseFreePrimitivesNum ()
 Decreases by 1 the _freePrimitivesNum parameter.
void RRTnode::setParentID (int value)
 Sets the _parentID parameter.
void RRTnode::setEdgeType (int value)
 Sets the _edgeType parameter.
void RRTnode::setCSpaceDist (Decimal value)
 Sets the _CSpaceDist parameter.
void RRTnode::setCell (Cell *value)
 Sets the _cell parameter.
void RRTnode::setStraight (Segment value)
 Sets the _straight parameter.
void RRTnode::setLeft (Ellipse value)
 Sets the _left parameter.
void RRTnode::setRight (Ellipse value)
 Sets the _right parameter.
 RRTparams::RRTparams ()
 Default Constructor.
 RRTparams::RRTparams (int maxIterations, Decimal delta, Decimal threshold, Decimal probBiasedExpansion)
 Parametric Constructor.
 RRTparams::RRTparams (const RRTparams &params)
 Copy constructor.
RRTparamsRRTparams::operator= (const RRTparams &params)
 Operator =.
int RRTparams::maxIterations ()
 Gets the _maxIterations parameter.
Decimal RRTparams::deltaT ()
 Gets the _deltaT parameter.
Decimal RRTparams::threshold ()
 Gets the _threshold parameter.
Decimal RRTparams::probBiasedExpansion ()
 Gets the _probBiasedExpansion parameter.
vector< VelVecRRTparams::motionPrimitives ()
 Gets the _motionPrimitives parameter.
void RRTparams::setMaxIterations (int value)
 Sets the _maxIterations parameter.
void RRTparams::setDeltaT (Decimal value)
 Sets the _deltaT parameter.
void RRTparams::setThreshold (Decimal value)
 Sets the _threshold parameter.
void RRTparams::setProbBiasedExpansion (Decimal value)
 Sets the _probBiasedExpansion parameter.
void RRTparams::setMotionPrimitives (vector< VelVec > value)
 Sets the _motionPrimitives parameter.
 RRT::RRT ()
 Default consturctor.
 RRT::RRT (RRTparams params)
 RRT::RRT (RRTparams params, Pose qStart, Pose qGoal, ExplorationNode *expNode)
 Paramtric consturctor.
 RRT::RRT (const RRT &rrt)
 Copy constructor.
RRTRRT::operator= (const RRT &rrt)
 Operator =.
void RRT::initializeTree ()
 Create the tree, the Adjacency and Weights Matrices for RRT algorithm.
void RRT::findQrand ()
 Chooses a random configutìration or the goal configuration for the RRT algorithm.
Decimal RRT::CSpaceDist (Pose q1, Pose q2)
 Computes the distance between two configuration in the SO manifold.
void RRT::findQnear ()
 Finds the node of the tree nearest to _qRand.
PrimitivesType RRT::findQnew ()
bool RRT::isCollisionFree (RRTnode node, Grid *grid)
void RRT::update ()
bool RRT::buildRRT (vector< Path * > &path, int &complIter)
 Builds the Rapidly-exploring Random Tree.
bool RRT::buildRRT2 (vector< Path * > &path, vector< Path * > &tree, int &complIter)
 Builds the Rapidly-exploring Random Tree.
RRTparams RRT::params ()
 Gets the _params parameter.
Pose RRT::qStart ()
 Gets the _qStart parameter.
Pose RRT::qGoal ()
 Gets the _qGoal parameter.
Pose RRT::qRand ()
 Gets the _qRand parameter.
ExplorationNodeRRT::expNode ()
 Gets the _grid parameter.
void RRT::setParams (RRTparams value)
 Sets the _params parameter.
void RRT::setQStart (Pose value)
 Sets the _qStart parameter.
void RRT::setQGoal (Pose value)
 Sets the _qGoal parameter.
void RRT::setQRand (Pose value)
 Sets the _qRand parameter.
void RRT::setExpNode (ExplorationNode *value)
 Sets the _grid parameter.
string RRT::print ()
 Prints on the screen all class parametes.
bool RTR::buildRTR (Angle &rotation, Segment &segment, Pose start, Pose goal)
 Build the path.

Variables

static const char * PathPlannersNames [PATH_PLANNERS_NUM]
 Path Planners names.
static const char * PrimitivesNames [PRIMITIVES_NUM]
 Path names.
static const char * RRTstateNames [STATE_NUM]
 RRT building state names.
Pose RRTnode::_q
vector< int > RRTnode::_freePrimitives
int RRTnode::_freePrimitivesNum
int RRTnode::_parentID
int RRTnode::_edgeType
Decimal RRTnode::_CSpaceDist
CellRRTnode::_cell
Segment RRTnode::_straight
Ellipse RRTnode::_left
Ellipse RRTnode::_right
Pose RRT::_qStart
Pose RRT::_qGoal
Pose RRT::_qRand
Pose RRT::_qNear
RRTnode RRT::_tempNode
ExplorationNodeRRT::_expNode
vector< RRTnodeRRT::_tree
vector< int > RRT::_sortedByDistance
Decimal RRT::radius
Decimal RRT::lenght
Timer RRT::timer
CellRRT::_goalCell
int RRT::_nearest
Pose RRT::_nearestPose
int RRT::selPrim
vector< int > RRT::_pathNodes

Detailed Description

Path planner algorithms.

Todo:
downcasting esplicito, sistemare i campi privati, commentare le funzioni.

Enumeration Type Documentation

Path Planners enumerator.

Enumerator:
RRT_PLANNER 
PATH_PLANNERS_NUM 

Primitives enumerator.

Enumerator:
STRAIGHT 
TURN_LEFT 
TURN_RIGHT 
NULL_PRIMITIVE 
PRIMITIVES_NUM 

enum RRTstate

RRT building state enumerator.

Enumerator:
FIND_Q_RAND 
FIND_Q_NEAR 
FIND_Q_NEW 
COLLISION_CHECK 
UPDATE 
GOAL_REACHED 
FIND_PATH 
SEARCH_COMPLETE 
STATE_NUM 


Function Documentation

bool RRT::buildRRT ( vector< Path * > &  path,
int &  complIter 
) [inherited]

Builds the Rapidly-exploring Random Tree.

bool RRT::buildRRT2 ( vector< Path * > &  path,
vector< Path * > &  tree,
int &  complIter 
) [inherited]

Builds the Rapidly-exploring Random Tree.

bool RTR::buildRTR ( Angle rotation,
Segment segment,
Pose  start,
Pose  goal 
) [inherited]

Build the path.

Parameters:
[out] &rotation .
[out] &segment .
[in] start .
[in] goal .

Cell* RRTnode::cell (  )  [inline, inherited]

Gets the _cell parameter.

void RRTnode::clearFreePrimitivesElem ( int  value  )  [inline, inherited]

Sets to 0 the element of _freePrimitives selected by value.

Decimal RRT::CSpaceDist ( Pose  q1,
Pose  q2 
) [inherited]

Computes the distance between two configuration in the SO manifold.

Decimal RRTnode::CSpaceDist (  )  [inline, inherited]

Gets the _CSpaceDist parameter.

void RRTnode::decreaseFreePrimitivesNum (  )  [inline, inherited]

Decreases by 1 the _freePrimitivesNum parameter.

Decimal RRTparams::deltaT (  )  [inline, inherited]

Gets the _deltaT parameter.

int RRTnode::edgeType (  )  [inline, inherited]

Gets the _edgeType parameter.

ExplorationNode* RRT::expNode (  )  [inline, inherited]

Gets the _grid parameter.

void RRT::findQnear (  )  [inherited]

Finds the node of the tree nearest to _qRand.

PrimitivesType RRT::findQnew (  )  [inherited]

void RRT::findQrand (  )  [inherited]

Chooses a random configutìration or the goal configuration for the RRT algorithm.

vector<int> RRTnode::freePrimitives (  )  [inline, inherited]

Gets the _freePrimitives parameter.

int RRTnode::freePrimitivesNum (  )  [inline, inherited]

Gets the _freePrimitives parameter.

int RRTnode::ID (  )  [inline, inherited]

Gets the _ID parameter.

void RRT::initializeTree (  )  [inherited]

Create the tree, the Adjacency and Weights Matrices for RRT algorithm.

bool RRT::isCollisionFree ( RRTnode  node,
Grid grid 
) [inherited]

Ellipse RRTnode::left (  )  [inline, inherited]

Gets the _left parameter.

int RRTparams::maxIterations (  )  [inline, inherited]

Gets the _maxIterations parameter.

vector<VelVec> RRTparams::motionPrimitives (  )  [inline, inherited]

Gets the _motionPrimitives parameter.

RRT& RRT::operator= ( const RRT rrt  )  [inline, inherited]

Operator =.

RRTparams& RRTparams::operator= ( const RRTparams params  )  [inline, inherited]

Operator =.

RRTnode& RRTnode::operator= ( const RRTnode n  )  [inline, inherited]

Operator =.

RRTparams RRT::params (  )  [inline, inherited]

Gets the _params parameter.

int RRTnode::parentID (  )  [inline, inherited]

Gets the _parentID parameter.

string RRT::print (  )  [inline, inherited]

Prints on the screen all class parametes.

string RRTnode::print (  )  [inline, inherited]

Prints on the screen all class parametes.

Decimal RRTparams::probBiasedExpansion (  )  [inline, inherited]

Gets the _probBiasedExpansion parameter.

Pose RRTnode::q (  )  [inline, inherited]

Gets the _q parameter.

Pose RRT::qGoal (  )  [inline, inherited]

Gets the _qGoal parameter.

Pose RRT::qRand (  )  [inline, inherited]

Gets the _qRand parameter.

Pose RRT::qStart (  )  [inline, inherited]

Gets the _qStart parameter.

Ellipse RRTnode::right (  )  [inline, inherited]

Gets the _right parameter.

RRT::RRT ( const RRT rrt  )  [inline, inherited]

Copy constructor.

RRT::RRT ( RRTparams  params,
Pose  qStart,
Pose  qGoal,
ExplorationNode expNode 
) [inline, inherited]

Paramtric consturctor.

RRT::RRT ( RRTparams  params  )  [inline, inherited]

RRT::RRT (  )  [inline, inherited]

Default consturctor.

RRTnode::RRTnode ( const RRTnode n  )  [inline, inherited]

Copy constructor.

RRTnode::RRTnode ( int  maxIter  )  [inline, inherited]

RRTnode::RRTnode ( int  ID,
Pose  q,
int  maxIter 
) [inline, inherited]

RRTnode::RRTnode (  )  [inline, inherited]

RRTparams::RRTparams ( const RRTparams params  )  [inline, inherited]

Copy constructor.

RRTparams::RRTparams ( int  maxIterations,
Decimal  delta,
Decimal  threshold,
Decimal  probBiasedExpansion 
) [inline, inherited]

Parametric Constructor.

RRTparams::RRTparams (  )  [inline, inherited]

Default Constructor.

void RRTnode::setCell ( Cell value  )  [inline, inherited]

Sets the _cell parameter.

void RRTnode::setCSpaceDist ( Decimal  value  )  [inline, inherited]

Sets the _CSpaceDist parameter.

void RRTparams::setDeltaT ( Decimal  value  )  [inline, inherited]

Sets the _deltaT parameter.

void RRTnode::setEdgeType ( int  value  )  [inline, inherited]

Sets the _edgeType parameter.

void RRT::setExpNode ( ExplorationNode value  )  [inline, inherited]

Sets the _grid parameter.

void RRTnode::setFreePrimitives ( vector< int >  value  )  [inline, inherited]

Sets the _freePrimitives parameter.

void RRTnode::setFreePrimitivesNum ( int  value  )  [inline, inherited]

Sets the _freePrimitivesNum parameter.

void RRTnode::setID ( int  value  )  [inline, inherited]

Sets the _ID parameter.

void RRTnode::setLeft ( Ellipse  value  )  [inline, inherited]

Sets the _left parameter.

void RRTparams::setMaxIterations ( int  value  )  [inline, inherited]

Sets the _maxIterations parameter.

void RRTparams::setMotionPrimitives ( vector< VelVec value  )  [inline, inherited]

Sets the _motionPrimitives parameter.

void RRT::setParams ( RRTparams  value  )  [inline, inherited]

Sets the _params parameter.

void RRTnode::setParentID ( int  value  )  [inline, inherited]

Sets the _parentID parameter.

void RRTparams::setProbBiasedExpansion ( Decimal  value  )  [inline, inherited]

Sets the _probBiasedExpansion parameter.

void RRTnode::setQ ( Pose  value  )  [inline, inherited]

Sets the _q parameter.

void RRT::setQGoal ( Pose  value  )  [inline, inherited]

Sets the _qGoal parameter.

void RRT::setQRand ( Pose  value  )  [inline, inherited]

Sets the _qRand parameter.

void RRT::setQStart ( Pose  value  )  [inline, inherited]

Sets the _qStart parameter.

void RRTnode::setRight ( Ellipse  value  )  [inline, inherited]

Sets the _right parameter.

void RRTnode::setStraight ( Segment  value  )  [inline, inherited]

Sets the _straight parameter.

void RRTparams::setThreshold ( Decimal  value  )  [inline, inherited]

Sets the _threshold parameter.

Segment RRTnode::straight (  )  [inline, inherited]

Gets the _straight parameter.

Decimal RRTparams::threshold (  )  [inline, inherited]

Gets the _threshold parameter.

void RRT::update (  )  [inherited]


Variable Documentation

Cell* RRTnode::_cell [inherited]

int RRTnode::_edgeType [inherited]

vector<int> RRTnode::_freePrimitives [inherited]

int RRTnode::_freePrimitivesNum [inherited]

Cell* RRT::_goalCell [inherited]

Ellipse RRTnode::_left [inherited]

int RRT::_nearest [inherited]

Pose RRT::_nearestPose [inherited]

int RRTnode::_parentID [inherited]

vector<int> RRT::_pathNodes [inherited]

Pose RRTnode::_q [inherited]

Pose RRT::_qGoal [inherited]

Pose RRT::_qNear [inherited]

Pose RRT::_qRand [inherited]

Pose RRT::_qStart [inherited]

Ellipse RRTnode::_right [inherited]

vector<int> RRT::_sortedByDistance [inherited]

RRTnode RRT::_tempNode [inherited]

vector<RRTnode> RRT::_tree [inherited]

Decimal RRT::lenght [inherited]

const char* PathPlannersNames[PATH_PLANNERS_NUM] [static]

Initial value:

 {
 "RRT Planner"
}
Path Planners names.

const char* PrimitivesNames[PRIMITIVES_NUM] [static]

Initial value:

 {
 "Straight",
 "Turn Left",
 "Turn Right",
 "Null Primitive"
}
Path names.

Decimal RRT::radius [inherited]

const char* RRTstateNames[STATE_NUM] [static]

Initial value:

 {
 "Find qRand",
 "Find qNear",
 "Find qNew",
 "Collision check",
 "Update",
 "Goal reached",
 "Find Path",
 "Search Complete"
}
RRT building state names.

int RRT::selPrim [inherited]

Timer RRT::timer [inherited]


Generated on Mon Feb 20 07:01:09 2017 for MIP by  doxygen 1.5.6