TRRTSampleInfo Struct Reference

Detailed Description

Emcompasses the information associated with each sample in a RRT that is not already included in the underlying RRT.

If the ambient space has circular topology in any dimension, the same point can be represented in infinite many different ways. In the RRT we only store points in canonical form (i.e., in the -pi, pi range).

When searching for the shortest path between samples (i.e., the straight line between them) we have to take into account the topology since each pair of samples can be connected in many different ways. If we do not advance along the shortest path, the RRT would be strange.

The search for nearest-neighbours should be also done taking into account the topology.

Definition at line 283 of file rrt.h.

Data Fields

double * samples
 
unsigned int parent
 
double costp
 
double cost
 
double ddr
 
double g
 
unsigned int m
 
unsigned int nn
 
unsigned int * n
 
double * cn
 
unsigned int tree
 
void * userInfo
 

Field Documentation

unsigned int TRRTSampleInfo::parent

Parent sample for each sample. This defines the tree structure. When in graph mode this is one of the neighbours in 'n'.

Definition at line 285 of file rrt.h.

Referenced by AddNodeToRRT(), AddStepToRRTstar(), CostToRoot(), GetRRTNNInBranch(), GetRRTParent(), InitRRT(), LoadRRT(), PlotRRT(), RecursiveReWireRRTstar(), ReWireRRTstar(), RRTPathLength(), RRTPathSteps(), SaveRRT(), SetRRTCostAndParent(), SetRRTParent(), StepsToRoot(), UpdateCostAndTree(), UpdateTree(), and WireRRTstar().

double TRRTSampleInfo::costp

Distance to the parent (when cost is related to path). When in graph mode this is of the costs in field 'cn'.

Definition at line 287 of file rrt.h.

Referenced by AddNodeToRRT(), AddStepToRRTstar(), CostToRoot(), GetRRTNodeCostFromParent(), InitRRT(), LoadRRT(), RecursiveReWireRRTstar(), ReWireRRTstar(), RRTPathSteps(), SaveRRT(), SetRRTCostAndParent(), SetRRTNodeCost(), UpdateCostAndTree(), and WireRRTstar().

double TRRTSampleInfo::cost

Cost of a given node. This can have two different meanings: The cost of the node as evaluated with a user-given function (in T-RRT) or the length of the path form the root of the tree (in RRT*). In this second case, when using bi-directional trees the root can be either the goal or the start sample. When in graph mode this is actually the 'rhs', the min cost to this node via any of its neighbours. This is always a better approximation to the cost than that stored in 'g'.

Definition at line 289 of file rrt.h.

Referenced by AddNodeToRRT(), AddStepToRRTstar(), BiRRTstar(), ccTRRT(), GetRRTNodeCost(), InitRRT(), LoadRRT(), RecursiveReWireRRTstar(), ReWireRRTstar(), RRTstar(), RRTstarCloseIteration(), SaveRRT(), SaveRRTCosts(), SetRRTCostAndParent(), SetRRTNodeCost(), Steps2PathinRRT(), TransitionTestRRT(), UpdateBiRRTSteps(), UpdateCostAndTree(), UpdateCostToRoot(), and WireRRTstar().

double TRRTSampleInfo::ddr

Dynamic domain radius. 0 if not used.

Definition at line 299 of file rrt.h.

Referenced by AddNodeToRRT(), AdjustDynamicDomain(), GetDynamicDomainRadius(), InDynamicDomain(), InitRRT(), LoadRRT(), and SaveRRT().

double TRRTSampleInfo::g

Cost of the node. Then g>cost we have to propagate the cost update. Used in RRT* in graph mode.

Definition at line 301 of file rrt.h.

Referenced by AddNodeToRRT(), InitRRT(), LoadRRT(), RecursiveReWireRRTstar(), and SaveRRT().

unsigned int TRRTSampleInfo::m

Maximum number of neigbours.

Definition at line 304 of file rrt.h.

Referenced by AddEdgeToRRT(), AddNodeToRRT(), InitRRT(), LoadRRT(), and SaveRRT().

unsigned int TRRTSampleInfo::nn

Number of neighbours.

Definition at line 305 of file rrt.h.

Referenced by AddEdgeToRRT(), AddNodeToRRT(), InitRRT(), LoadRRT(), RecursiveReWireRRTstar(), RRTMemSize(), and SaveRRT().

unsigned int* TRRTSampleInfo::n

Vector of neighbours.

Definition at line 306 of file rrt.h.

Referenced by AddEdgeToRRT(), AddNodeToRRT(), DeleteRRT(), InitRRT(), LoadRRT(), RecursiveReWireRRTstar(), and SaveRRT().

double* TRRTSampleInfo::cn

Cost to reach each neighbour.

Definition at line 307 of file rrt.h.

Referenced by AddEdgeToRRT(), AddNodeToRRT(), DeleteRRT(), InitRRT(), LoadRRT(), RecursiveReWireRRTstar(), and SaveRRT().

void* TRRTSampleInfo::userInfo

General information provided by caller.

Definition at line 310 of file rrt.h.

Referenced by AddNodeToRRT(), GetRRTNodeInfo(), LoadRRT(), and SetRRTNodeInfo().