|
Public Member Functions |
| PRLRTSk () |
| PRLRTSk (int d, double gamma, double lQ, int k) |
virtual path * | getPath (graphAbstraction *aMap, node *from, node *to, reservationProvider *rp=NULL) |
| The wrapper for the main procedure.
|
virtual const char * | getName () |
virtual | ~PRLRTSk () |
int | getNumAbsLevels () |
void | setParams (PRLRTSklevelData *_unitData, PRLRTSkGroup *_group) |
| Get the parameters of the PRLRTSk unit and set them inside PRLRTSk.
|
void | resetNewlySeenCount () |
int | getNewlySeenCount () |
graphAbstraction * | getAMap () |
Protected Attributes |
algSpec * | algAtLevel |
Private Member Functions |
void | setCorridorIndex (node *n, int index) |
| Sets the corridor index of a node.
|
void | setClosedListIndex (node *n, int index) |
| Sets the closed list index of a node.
|
void | setDepth (node *n, int depth) |
| Sets the depth of a node.
|
void | setgValue (node *n, double g) |
| Sets the g-value of a node.
|
int | getCorridorIndex (node *n) |
| Gets the corridor index of a node.
|
int | getClosedListIndex (node *n) |
| Gets the closed list index of a node.
|
int | getDepth (node *n) |
| Gets the depth of a node.
|
double | getgValue (node *n) |
| Gets the g-value of a node.
|
void | setFValue (node *n, double fv) |
| Sets the f-value of a node.
|
double | getFValue (node *n) |
| Gets the f-value of a node.
|
void | setInternal (node *n) |
| Sets the node to be internal (expandable) during large update.
|
bool | getInternal (node *n) |
| Gets whether the node is internal (expandable) during large update.
|
int | getAllocateENI (node *n) |
| Given a node, return the index of the corresponding extended node.
|
int | getENI (node *n) |
| Tells us if the node is in the extNodes array.
|
void | generateName (char *name) |
| Generates algorithm's name.
|
path * | lrts (graphAbstraction *aMap, node *from, node *to, reservationProvider *rp) |
| The core routine of LRTS -- computes at most length d path.
|
path * | makePath (graph *g, unsigned current, int aLevel) |
bool | abstractsTo (node *s, node *ap) |
| Checks if the given node abstracts to the given abstract parent.
|
void | trimPath (node *newHead, int level) |
| Scans through the cached path at the given level and deletes nodes until the new node supplied is encountered.
|
node * | aPathEnd (int aLevel) |
| Finds the first non-pass-through level above the given level and scans the cached path there.
|
path * | waStar (graphAbstraction *aMap, node *from, node *to, node *hGoal, reservationProvider *rp) |
| ------------------ Weighted A* in a corridor ---------- Originally implemented by Nathan Sturtevant.
|
path * | extractBestPath (graph *g, unsigned int current) |
| A helper function for PRLRTSk::wAStar.
|
void | relaxEdge (heap *nodeHeap, graph *g, graphAbstraction *aMap, edge *e, node *from, node *to, node *dest, double gamma) |
| A helper function for PRLRTSk::wAStar.
|
bool | isOnAPath (node *s, node **ap, int &l) |
| Checks if a node is on a cached abstract path.
|
node * | aP (node *s) |
| Returns the one-level parent of the given node.
|
void | resetCachedPaths () |
| Clears the cached paths and corridors.
|
path * | computePath (graphAbstraction *aMap, node *from, node *to, reservationProvider *rp) |
| The main path-planning procedure.
|
int | defineCorridor (int aLevel) |
| Finds and marks the corridor that restricts search at the given level.
|
void | markCorridor (corridor *c) |
| Marks the corridor in extNodes for a constant time lookup.
|
void | buildCorridor (corridor *c, path *p) |
| Builds a corridor for a given path.
|
bool | isLegitimateState (node *s) |
| Checks if the given state is legitimate (i.e., can be included in the search): i.
|
double | updateHeuristic (graphAbstraction *aMap, node *from, node *to, int d, double gamma, reservationProvider *rp) |
| Updates heuristic of a node by doing a d-ply lookahead.
|
Private Attributes |
char | PRLRTSkName [128] |
graphAbstraction * | aMap |
PRLRTSkGroup * | group |
int | numAbsLevels |
PRLRTSklevelData * | unitData |
std::deque< extNode > | extNodes |
int | newlySeenCount |
Friends |
class | PRLRTSkGroup |