libmove3d-planners
|
Special RRT Expansion method for the HRICS. More...
#include <HRICS_rrtPlanExpansion.hpp>
Public Member Functions | |
HRICS_rrtPlanExpansion (Graph *ptrGraph, Node *goal) | |
void | init () |
Initializes some variables for the expansion method. More... | |
void | setGrid (API::TwoDGrid *grid) |
Sets the grid. | |
void | setCellPath (std::vector< API::TwoDCell * > cellPath) |
Sets the cell path. More... | |
std::tr1::shared_ptr < Configuration > | getExpansionDirection (Node *expandComp, Node *goalComp, bool samplePassive, Node *&directionNode) |
Direction used in RRT one step. More... | |
std::tr1::shared_ptr < Configuration > | getConfigurationInNextCell (Node *CompcoNode, Node *goalComp) |
Configuration from the next cell along the 3dPath. | |
Node * | addNode (Node *currentNode, LocalPath &path, double pathDelta, Node *directionNode, unsigned &nbCreatedNodes) |
Adds a node to a conected component. More... | |
bool | on2DPathAndAfter (API::TwoDCell *cell) |
Checks it the cell is after the given cell on the 2D path. More... | |
![]() | |
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 () |
![]() | |
RRTExpansion (Graph *graph) | |
Constructor. | |
virtual | ~RRTExpansion () |
Destructor. | |
![]() | |
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... | |
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 () |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
double | highestCost |
cost of the highest-cost node in the graph | |
double | lowestCost |
cost of the lowest-cost node in the graph | |
![]() | |
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 |
|
virtual |
Adds a node to a conected component.
Adds a node and checks if it explores the path.
Reimplemented from BaseExpansion.
shared_ptr< Configuration > HRICS_rrtPlanExpansion::getExpansionDirection | ( | Node * | expandComp, |
Node * | goalComp, | ||
bool | samplePassive, | ||
Node *& | directionNode | ||
) |
void HRICS_rrtPlanExpansion::init | ( | void | ) |
Initializes some variables for the expansion method.
Computes a box for the free flyer and the index of the Object Dof.
bool HRICS_rrtPlanExpansion::on2DPathAndAfter | ( | API::TwoDCell * | cell | ) |
Checks it the cell is after the given cell on the 2D path.
Return true if the cell is on the path and after the first cell depending on the order (forward or backwards)
void HRICS_rrtPlanExpansion::setCellPath | ( | std::vector< API::TwoDCell * > | cellPath | ) |
Sets the cell path.
Sets the Cell path, First and Last Cell.