libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
ThresholdExpansion Class Reference

Expansion procedure of the obstacleness-aware RRT (RRT_obst) algorithm, which involves an adaptive cost threshold. More...

#include <Threshold-RRT.hpp>

Inheritance diagram for ThresholdExpansion:
TransitionExpansion RRTExpansion TreeExpansion BaseExpansion

Public Member Functions

 ThresholdExpansion (Graph *graph)
 Constructor.
 
virtual ~ThresholdExpansion ()
 Destructor.
 
unsigned extend (Node *fromNode, confPtr_t directionConf, Node *directionNode)
 RRT_obst Extend. More...
 
unsigned connect (Node *fromNode, confPtr_t directionConf, Node *directionNode)
 RRT_obst Connect. More...
 
- Public Member Functions inherited from TransitionExpansion
 TransitionExpansion (Graph *graph)
 Constructor.
 
virtual ~TransitionExpansion ()
 Destructor.
 
bool isValidConnection (localPathPtr_t path)
 Check whether the given path is a valid connection, and compute its cost. More...
 
bool addCycles ()
 Try to add cycles to the graph. More...
 
bool addCycles1 ()
 
bool addCycles2 ()
 
bool addCycles3 ()
 
double getTemperature ()
 
- Public Member Functions inherited from RRTExpansion
 RRTExpansion (Graph *graph)
 Constructor.
 
virtual ~RRTExpansion ()
 Destructor.
 
- Public Member Functions inherited from TreeExpansion
 TreeExpansion (Graph *graph)
 Constructor.
 
virtual ~TreeExpansion ()
 Destructor.
 
void expansionSucceeded (Node *node)
 Actions to be done after the expansion attempted from the given node, in case of success.
 
void expansionFailed (Node *node)
 Actions to be done after the expansion attempted from the given node, in case of failure.
 
- Public Member Functions inherited from BaseExpansion
 BaseExpansion ()
 Constructor.
 
 BaseExpansion (Graph *prtGraph)
 
 ~BaseExpansion ()
 Destructor.
 
void setGraph (Graph *G)
 Set the graph that is beeing expanded.
 
GraphgetGraph ()
 Get the graph that is beeing expanded.
 
int getDirectionMethod ()
 Get Node Expansion Method.
 
void setDirectionMethod (int directionExpansion)
 Set Expansion node Method.
 
int getNodeMethod ()
 Get Node Expansion Method.
 
void setNodeMethod (int nodeExpansion)
 Set Expansion node Method.
 
void setFromComp (Node *fromComp)
 Set the From Connected Component.
 
NodegetFromComp ()
 Get the From Connected Component.
 
void setToComp (Node *toComp)
 Set the To Connected Component.
 
NodegetToComp ()
 Get the To Connected Component.
 
double step ()
 Expansion Step (Delta) More...
 
double getDMax ()
 
double computeInterpolationFactor (double pathLength)
 Compute the interpolation factor along the path, based on the extension step.
 
confPtr_t interpolate (confPtr_t conf, LocalPath *path, double factor)
 Interpolation along the given path.
 
double positionAlongPath (LocalPath &path, double param)
 Position on localpath in [0,1].
 
double pathDelta (LocalPath &path)
 Return the path parameter that is the closest to step()
 
LocalPath getExtensiontPath (std::tr1::shared_ptr< Configuration > qi, std::tr1::shared_ptr< Configuration > qf)
 Computes a localpath parameter used for expansion of at max step() of length. More...
 
void expansionFailed (Node &node)
 Function called when a node can not be connected. More...
 
virtual NodeaddNode (Node *currentNode, LocalPath &path, double pathDelta, Node *directionNode, unsigned &nbCreatedNodes)
 Adds a node to a connected component. More...
 
bool refinementControl (LocalPath &path, double rho, Node &compNode)
 Function that balances the ratio of exploration towards refinement.
 
bool nextStep (LocalPath &path, std::tr1::shared_ptr< Configuration > &directionConfig, double &pathDelta, std::tr1::shared_ptr< LocalPath > &newPath, Env::expansionMethod method)
 Returns a valid configuration on the local path.
 
bool nextStep (LocalPath &path, Node *directionNode, double &pathDelta, std::tr1::shared_ptr< LocalPath > &newPath, Env::expansionMethod method)
 Returns a valid configuration on the local path.
 
virtual NodegetExpansionNode (Node *compNode, confPtr_t direction, int distance)
 Gets the nearest node in the graph. More...
 
std::tr1::shared_ptr
< Configuration
getExpansionDirection (Node *expandComp, Node *goalComp, bool samplePassive, Node *&directionNode)
 
NodegetLasAddedNode ()
 Return last added node.
 
void addConnectibleNode ()
 
unsigned int getNbConnectibleNodes ()
 

Additional Inherited Members

- Protected Member Functions inherited from RRTExpansion
virtual NodeaddNode (localPathPtr_t path, Node *fromNode, Node *directionNode)
 Add a node to the graph, after an expansion that has produced the given path, starting from fromNode. More...
 
- Protected Attributes inherited from TransitionExpansion
double highestCost
 cost of the highest-cost node in the graph
 
double lowestCost
 cost of the lowest-cost node in the graph
 
- Protected Attributes inherited from BaseExpansion
int m_ExpansionNodeMethod
 
int m_MaxExpandNodeFailure
 
int m_kNearestPercent
 
int m_ExpansionDirectionMethod
 
bool m_IsDirSampleWithRlg
 
Graphm_Graph
 
Nodem_last_added_node
 
Nodem_fromComp
 
Nodem_toComp
 
unsigned int _nbConnectibleNodes
 

Detailed Description

Expansion procedure of the obstacleness-aware RRT (RRT_obst) algorithm, which involves an adaptive cost threshold.

The threshold value can be defined by the user in the GUI (if left at 0, it means 'not user-defined'). If no value is defined by the user, the threshold value is automatically set to be the minimal cost of all the nodes present in the graph at initialization time.

Member Function Documentation

unsigned ThresholdExpansion::connect ( Node fromNode,
confPtr_t  directionConf,
Node directionNode 
)
inlinevirtual

RRT_obst Connect.

Parameters
fromNodenode from which the expansion is performed
directionConfconfiguration toward which the expansion is going
directionNodenode toward which the expansion is going (when relevant)
Returns
the number of created nodes

Reimplemented from TransitionExpansion.

unsigned ThresholdExpansion::extend ( Node fromNode,
confPtr_t  directionConf,
Node directionNode 
)
inlinevirtual

RRT_obst Extend.

Parameters
fromNodenode from which the expansion is performed
directionConfconfiguration toward which the expansion is going
directionNodenode toward which the expansion is going (when relevant)
Returns
the number of created nodes

Reimplemented from TransitionExpansion.


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