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

Expansion procedure of the Transition-based RRT (T-RRT) algorithm. More...

#include <Transition-RRT.hpp>

Inheritance diagram for TransitionExpansion:
RRTExpansion TreeExpansion BaseExpansion HRICS_rrtExpansion HRICS_rrtPlanExpansion ThresholdExpansion

Public Member Functions

 TransitionExpansion (Graph *graph)
 Constructor.
 
virtual ~TransitionExpansion ()
 Destructor.
 
virtual unsigned extend (Node *fromNode, confPtr_t directionConf, Node *directionNode)
 T-RRT Extend. More...
 
virtual unsigned connect (Node *fromNode, confPtr_t directionConf, Node *directionNode)
 T-RRT Connect. More...
 
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 ()
 

Protected Attributes

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
 

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...
 

Detailed Description

Expansion procedure of the Transition-based RRT (T-RRT) algorithm.

Member Function Documentation

bool TransitionExpansion::addCycles ( )
virtual

Try to add cycles to the graph.

Returns
TRUE if at least one cycle has been added, and FALSE otherwise

Reimplemented from RRTExpansion.

unsigned TransitionExpansion::connect ( Node fromNode,
confPtr_t  directionConf,
Node directionNode 
)
virtual

T-RRT 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 RRTExpansion.

Reimplemented in ThresholdExpansion.

unsigned TransitionExpansion::extend ( Node fromNode,
confPtr_t  directionConf,
Node directionNode 
)
virtual

T-RRT 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 RRTExpansion.

Reimplemented in ThresholdExpansion.

bool TransitionExpansion::isValidConnection ( localPathPtr_t  path)
virtual

Check whether the given path is a valid connection, and compute its cost.

Returns
TRUE if the connection is valid, and FALSE otherwise

Reimplemented from RRTExpansion.


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