Bench-MR
A Motion Planning Benchmark for Wheeled Mobile Robots
Public Member Functions | List of all members
GNode Class Reference

#include <gnode.h>

Inheritance diagram for GNode:
Inheritance graph
[legend]
Collaboration diagram for GNode:
Collaboration graph
[legend]

Public Member Functions

 GNode ()
 Different constructors. More...
 
 GNode (double xx, double yy)
 
 GNode (double xx, double yy, double tt)
 
 GNode (double xx, double yy, double tt, int type)
 
 GNode (double xx, double yy, double tt, int type, double steer_c)
 
 GNode (double xx, double yy, double tt, int type, double steer_c, double *c, double *orien)
 
 GNode (double xx, double yy, double tt, int type, double steer_c, double *c, double *orien, double xxx, double yyy)
 
 GNode (const GNode &n)
 
 ~GNode () override
 
GNodeoperator= (const GNode &n)
 
bool operator== (const GNode &n)
 
bool operator!= (const GNode &n)
 
bool operator< (const GNode &n) const
 
double * getLineCost ()
 ============================================================================================ More...
 
bool setOrientation (GNode *parent_node)
 ============================================================================================ setOrientation(GNode *parent_node) set the orientation of the current node as the one of the line connecting More...
 
bool IsSameState (GNode &rhs)
 ============================================================================================ bool IsSameState( GNode &rhs ) More...
 
void PrintNodeInfo ()
 ============================================================================================ void PrintNodeInfo() More...
 
float GoalDistanceEstimate (GNode &nodeGoal)
 ============================================================================================ GoalDistanceEstimate( GNode &nodeGoal ) More...
 
bool IsGoal (const GNode &nodeGoal)
 ============================================================================================ bool IsGoal( GNode &nodeGoal ) More...
 
bool GetSuccessors_or (ThetaStarSearch< GNode > *thetastarsearch, GNode *parent_node)
 =========================================== bool GetSuccessors( ThetaStarSearch<GNode> <em>thetastarsearch, GNode *parent_node ) This generates the successors to the given Node. More...
 
double GetCost (GNode &successor)
 ============================================================================================ float GetCost( GNode &successor ) More...
 
float GetCostTraj (GNode &successor)
 float GetCostTraj( GNode &successor ) get the cost of the trajectory that connect the current node to the More...
 
double GetCostTrajFromParent (GNode &parent, GNode &successor)
 float GetCostTraj( GNode &successor ) get the cost of the trajectory that connect the current node to the More...
 
bool setType (int type)
 ============================================================================================ setType(int type) Set the Type of Node, if Type ==1, the node connects to the successor with More...
 
bool GetSuccessors (ThetaStarSearch< GNode > *thetastarsearch, GNode *parent_node)
 =========================================== bool GetSuccessors( ThetaStarSearch<GNode> <em>thetastarsearch, GNode *parent_node ) This generates the successors to the given Node. More...
 
bool lineofsight (GNode *parent_node, GNode *successor)
 ============================================================================================ lineofsight(GNode *parent_node,GNode *successor)th It generates the trajectory based on the desired behaviour. More...
 
- Public Member Functions inherited from GNode_base
virtual ~GNode_base ()=default
 
ompl::base::StatetoState () const
 

Additional Inherited Members

- Static Public Member Functions inherited from GNode_base
static bool line (const GNode_base *parent_node, const GNode_base *successor)
 line(GNode *successor,GNode *parent_node) More...
 
static bool isblock (double x, double y, double theta)
 bool isblock(double x, double y) More...
 
- Public Attributes inherited from GNode_base
double steer_cost {0}
 Cost associated to the best Node selected. More...
 
int nEdges {0}
 Number of outgoing edges per node. More...
 
double * costs {nullptr}
 Cost per each orientation associated to the node. More...
 
double * orientations {nullptr}
 array of possible orientations More...
 
int READ_OR {0}
 flag to read orientations from Map More...
 
int CHECK_SUCCESSOR {0}
 
int goal_x {0}
 
int goal_y {0}
 
int start_x {0}
 
int start_y {0}
 
int x {0}
 X and Y coordinates of the Node. More...
 
int y {0}
 
double x_r {0}
 
double y_r {0}
 
bool steer {false}
 Flag to indicate if node hase been generated by a steering function. More...
 
double theta {0}
 Orientation associated to the best node. More...
 
bool hasParent {false}
 
GNode_baseparent {nullptr}
 
GNode_basechild {nullptr}
 

Constructor & Destructor Documentation

◆ GNode() [1/8]

GNode::GNode ( )
inline

Different constructors.

◆ GNode() [2/8]

GNode::GNode ( double  xx,
double  yy 
)
inline

◆ GNode() [3/8]

GNode::GNode ( double  xx,
double  yy,
double  tt 
)
inline

◆ GNode() [4/8]

GNode::GNode ( double  xx,
double  yy,
double  tt,
int  type 
)
inline

◆ GNode() [5/8]

GNode::GNode ( double  xx,
double  yy,
double  tt,
int  type,
double  steer_c 
)
inline

◆ GNode() [6/8]

GNode::GNode ( double  xx,
double  yy,
double  tt,
int  type,
double  steer_c,
double *  c,
double *  orien 
)
inline

◆ GNode() [7/8]

GNode::GNode ( double  xx,
double  yy,
double  tt,
int  type,
double  steer_c,
double *  c,
double *  orien,
double  xxx,
double  yyy 
)
inline

◆ GNode() [8/8]

GNode::GNode ( const GNode n)
inline

◆ ~GNode()

GNode::~GNode ( )
inlineoverride

Member Function Documentation

◆ GetCost()

double GNode::GetCost ( GNode successor)
inline

============================================================================================ float GetCost( GNode &successor )

Euclidean Distance Cost

◆ GetCostTraj()

float GNode::GetCostTraj ( GNode successor)
inline

float GetCostTraj( GNode &successor ) get the cost of the trajectory that connect the current node to the

successor

◆ GetCostTrajFromParent()

double GNode::GetCostTrajFromParent ( GNode parent,
GNode successor 
)
inline

float GetCostTraj( GNode &successor ) get the cost of the trajectory that connect the current node to the

successor

◆ getLineCost()

double * GNode::getLineCost ( )
inline

============================================================================================

getLineCost(), not _baseused

◆ GetSuccessors()

bool GNode::GetSuccessors ( ThetaStarSearch< GNode > *  thetastarsearch,
GNode parent_node 
)
inline

=========================================== bool GetSuccessors( ThetaStarSearch<GNode> <em>thetastarsearch, GNode *parent_node ) This generates the successors to the given Node.

It uses a helper function called AddSuccessor to give the successors to the Thetastar class. The Theta specific initialisation is done for each node internally, so here you just set the state information that is specific to

the application

◆ GetSuccessors_or()

bool GNode::GetSuccessors_or ( ThetaStarSearch< GNode > *  thetastarsearch,
GNode parent_node 
)
inline

=========================================== bool GetSuccessors( ThetaStarSearch<GNode> <em>thetastarsearch, GNode *parent_node ) This generates the successors to the given Node.

It uses a helper function called AddSuccessor to give the successors to the Thetastar class. The Theta specific initialisation is done for each node internally, so here you just set the state information that is specific to

the application

◆ GoalDistanceEstimate()

float GNode::GoalDistanceEstimate ( GNode nodeGoal)
inline

============================================================================================ GoalDistanceEstimate( GNode &nodeGoal )

============================================================================================

◆ IsGoal()

bool GNode::IsGoal ( const GNode nodeGoal)
inline

============================================================================================ bool IsGoal( GNode &nodeGoal )

Check if the node is the Goal

◆ IsSameState()

bool GNode::IsSameState ( GNode rhs)
inline

============================================================================================ bool IsSameState( GNode &rhs )

Check if we have the same state

◆ lineofsight()

bool GNode::lineofsight ( GNode parent_node,
GNode successor 
)
inline

============================================================================================ lineofsight(GNode *parent_node,GNode *successor)th It generates the trajectory based on the desired behaviour.

if OPTIM_OR == 1, generates the best trajectory according to a cost and choose also the best orientation to use OTHERWISE, connect the two poses

with the orientation being the one of the line connecting the two poses

◆ operator!=()

bool GNode::operator!= ( const GNode n)
inline

◆ operator<()

bool GNode::operator< ( const GNode n) const
inline

◆ operator=()

GNode & GNode::operator= ( const GNode n)
inline

◆ operator==()

bool GNode::operator== ( const GNode n)
inline

◆ PrintNodeInfo()

void GNode::PrintNodeInfo ( )
inline

============================================================================================ void PrintNodeInfo()

============================================================================================

◆ setOrientation()

bool GNode::setOrientation ( GNode parent_node)
inline

============================================================================================ setOrientation(GNode *parent_node) set the orientation of the current node as the one of the line connecting

to the parent_node

◆ setType()

bool GNode::setType ( int  type)
inline

============================================================================================ setType(int type) Set the Type of Node, if Type ==1, the node connects to the successor with

a steer function


The documentation for this class was generated from the following file: