libmove3d-planners
|
Expansion procedure of the Rapidly-exploring Random Tree (RRT) algorithm. More...
#include <RRT.hpp>
Public Member Functions | |
RRTExpansion (Graph *graph) | |
Constructor. | |
virtual | ~RRTExpansion () |
Destructor. | |
virtual unsigned | extend (Node *fromNode, confPtr_t directionConf, Node *directionNode) |
RRT Extend. More... | |
virtual unsigned | connect (Node *fromNode, confPtr_t directionConf, Node *directionNode) |
RRT Connect. More... | |
virtual bool | isValidConnection (localPathPtr_t path) |
Check whether the given path is a valid connection. More... | |
virtual bool | addCycles () |
Try to add cycles to the graph. More... | |
virtual bool | addCycles1 () |
virtual bool | addCycles2 () |
virtual bool | addCycles3 () |
![]() | |
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. | |
![]() | |
BaseExpansion () | |
Constructor. | |
BaseExpansion (Graph *prtGraph) | |
~BaseExpansion () | |
Destructor. | |
void | setGraph (Graph *G) |
Set the graph that is beeing expanded. | |
Graph * | getGraph () |
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. | |
Node * | getFromComp () |
Get the From Connected Component. | |
void | setToComp (Node *toComp) |
Set the To Connected Component. | |
Node * | getToComp () |
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 Node * | addNode (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 Node * | getExpansionNode (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) |
Node * | getLasAddedNode () |
Return last added node. | |
void | addConnectibleNode () |
unsigned int | getNbConnectibleNodes () |
Protected Member Functions | |
virtual Node * | addNode (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... | |
Additional Inherited Members | |
![]() | |
int | m_ExpansionNodeMethod |
int | m_MaxExpandNodeFailure |
int | m_kNearestPercent |
int | m_ExpansionDirectionMethod |
bool | m_IsDirSampleWithRlg |
Graph * | m_Graph |
Node * | m_last_added_node |
Node * | m_fromComp |
Node * | m_toComp |
unsigned int | _nbConnectibleNodes |
Expansion procedure of the Rapidly-exploring Random Tree (RRT) algorithm.
|
virtual |
Try to add cycles to the graph.
Reimplemented in TransitionExpansion, and DirectedExpansion.
|
protectedvirtual |
Add a node to the graph, after an expansion that has produced the given path, starting from fromNode.
If the expansion has successfully reached the already existing node directionNode, directionNode is simply linked to fromNode. Otherwise, a new node containing the end configuration of the path is created and linked to fromNode.
Reimplemented in DirectedExpansion.
|
virtual |
RRT Connect.
fromNode | node from which the expansion is performed |
directionConf | configuration toward which the expansion is going |
directionNode | node toward which the expansion is going (when relevant) |
Reimplemented in ThresholdExpansion, TransitionExpansion, and DirectedExpansion.
|
virtual |
RRT Extend.
RRT Expansion
fromNode | node from which the expansion is performed |
directionConf | configuration toward which the expansion is going |
directionNode | node toward which the expansion is going (when relevant) |
RRT Extend.
fromNode | node from which the expansion is performed |
directionConf | configuration toward which the expansion is going |
directionNode | node toward which the expansion is going (when relevant) |
Reimplemented in ThresholdExpansion, TransitionExpansion, and DirectedExpansion.
|
inlinevirtual |
Check whether the given path is a valid connection.
Reimplemented in TransitionExpansion.