#include <AStarSearch.h>
Collaboration diagram for PotentialfieldAStarNode:
Public Member Functions | |
PotentialfieldAStarNode () | |
Constructor. | |
PotentialfieldAStarNode (const PotentialfieldAStarNode &node) | |
Copy-Constructor. | |
void | setParentNode (unsigned int parentNode) |
Sets the index of the parent node of this node. | |
unsigned int | getParentNode () const |
Returns the index of the parent node. | |
void | setFunctionValues (double g, double h) |
Sets the function values. | |
double | f () const |
Returns the value of this node. | |
double | g () const |
Returns the costs of the path to this node. | |
void | setPose (const PfPose &pose) |
Sets the pose of this node. | |
PfPose | getPose () const |
Returns the pose of this node. | |
void | setValueAtPos (const PotentialfieldAStarParameterSet ¶meterSet) |
Sets the value of the potential field at the position of the node. | |
void | expand (std::vector< PotentialfieldAStarNode > &searchTree, const std::vector< unsigned int > &expandedNodes, const PotentialfieldAStarNode &goal, const PotentialfieldAStarParameterSet ¶meterSet, unsigned int ownNodeNum) |
Expands this node. | |
bool | hasBeenExpanded () const |
Checks if this node has been expanded. | |
bool | hasReached (const PotentialfieldAStarNode &goal, const PotentialfieldAStarParameterSet ¶meterSet) const |
Checks if this node has reached the goal. | |
double | distToOtherNode (const PotentialfieldAStarNode &other) |
Computes the distance to another node. | |
Protected Member Functions | |
double | getExpansionRadius () const |
Returns the expansion radius of the node. | |
double | computeCostsTo (const PotentialfieldAStarNode &node, const PotentialfieldAStarParameterSet ¶meterSet) const |
Computes the path costs to another node. | |
double | computeHeuristicBetween (const PfPose &p1, const PfPose &p2, unsigned int currentBranchingFactor) const |
Computes the heuristic costs between two positions. | |
void | computeCurrentParameters (double ¤tExpansionRadius, unsigned int ¤tBranchingFactor, const PotentialfieldAStarParameterSet ¶meterSet) const |
Computes current parameters for expansion. | |
bool | tooCloseToAnotherNode (std::vector< PotentialfieldAStarNode > &searchTree, const std::vector< unsigned int > &expandedNodes, const PfPose &pose) const |
Checks if a new node is too close to another previously expanded node. | |
Protected Attributes | |
PfPose | pose |
The pose of the node. | |
double | fValue |
The value of the node. | |
double | gValue |
The path costs to the node. | |
unsigned int | parentNode |
The index of the parent node. | |
bool | expanded |
Flag: true, if the node has been expanded. | |
double | valueAtPos |
The potential field value at the position of the node. | |
double | expansionRadius |
The expansion radius of the node. |
Definition at line 71 of file AStarSearch.h.
|
Constructor.
Definition at line 75 of file AStarSearch.h. References expanded, and parentNode. |
|
Copy-Constructor.
Definition at line 81 of file AStarSearch.h. References expanded, expansionRadius, fValue, gValue, parentNode, pose, and valueAtPos. |
|
Sets the index of the parent node of this node.
Definition at line 95 of file AStarSearch.h. Referenced by expand(). |
|
Returns the index of the parent node.
Definition at line 101 of file AStarSearch.h. References parentNode. |
|
Sets the function values.
Definition at line 108 of file AStarSearch.h. References fValue, and gValue. Referenced by expand(), and Motionfield::getFieldVecFromAStarSearch(). |
|
Returns the value of this node.
Definition at line 114 of file AStarSearch.h. References fValue. |
|
Returns the costs of the path to this node.
Definition at line 120 of file AStarSearch.h. References gValue. |
|
Sets the pose of this node.
Definition at line 126 of file AStarSearch.h. Referenced by expand(), and Motionfield::getFieldVecFromAStarSearch(). |
|
Returns the pose of this node.
Definition at line 132 of file AStarSearch.h. References pose. Referenced by distToOtherNode(), expand(), Motionfield::getFieldVecFromAStarSearch(), and hasReached(). |
|
Sets the value of the potential field at the position of the node.
Definition at line 14 of file AStarSearch.cpp. References Object::computeChargeAt(), PotentialfieldAStarParameterSet::field, Potentialfield::getFieldValueAt(), PotentialfieldAStarParameterSet::numberOfCalls, pose, PotentialfieldAStarParameterSet::stabilizationObject, PotentialfieldAStarParameterSet::useStabilization, and valueAtPos. Referenced by expand(), and Motionfield::getFieldVecFromAStarSearch(). |
Here is the call graph for this function:
|
Expands this node.
Definition at line 25 of file AStarSearch.cpp. References PfPose::addVector(), computeCostsTo(), computeCurrentParameters(), computeHeuristicBetween(), expanded, expansionRadius, PfPose::getAngleTo(), getPose(), gValue, parentNode, pi, pi2, PfPose::pos, pose, PfVec::rotate(), setFunctionValues(), setParentNode(), setPose(), setValueAtPos(), and tooCloseToAnotherNode(). |
Here is the call graph for this function:
|
Checks if this node has been expanded.
Definition at line 156 of file AStarSearch.h. References expanded. |
|
Checks if this node has reached the goal.
Definition at line 63 of file AStarSearch.cpp. References PotentialfieldAStarParameterSet::distanceToGoal, expansionRadius, getPose(), PfPose::pos, and pose. |
Here is the call graph for this function:
|
Computes the distance to another node.
Definition at line 171 of file AStarSearch.h. References getPose(), PfPose::pos, and pose. |
Here is the call graph for this function:
|
Returns the expansion radius of the node.
Definition at line 193 of file AStarSearch.h. References expansionRadius. |
|
Computes the path costs to another node.
Definition at line 73 of file AStarSearch.cpp. References expansionRadius, and valueAtPos. Referenced by expand(). |
|
Computes the heuristic costs between two positions.
Definition at line 88 of file AStarSearch.cpp. References EPSILON, expansionRadius, PfPose::getAngleTo(), pi2, PfPose::pos, PfVec::rotate(), PfVec::x, and PfVec::y. Referenced by expand(). |
Here is the call graph for this function:
|
Computes current parameters for expansion.
Definition at line 136 of file AStarSearch.cpp. References PfVec::distanceTo(), PotentialfieldAStarParameterSet::endOfFar, PotentialfieldAStarParameterSet::endOfNear, PotentialfieldAStarParameterSet::maxBranchingFactor, PotentialfieldAStarParameterSet::maxExpansionRadius, PotentialfieldAStarParameterSet::minBranchingFactor, PotentialfieldAStarParameterSet::minExpansionRadius, PfPose::pos, pose, and PotentialfieldAStarParameterSet::startPosition. Referenced by expand(). |
Here is the call graph for this function:
|
Checks if a new node is too close to another previously expanded node.
Definition at line 163 of file AStarSearch.cpp. References PfPose::pos. Referenced by expand(). |
|
The pose of the node.
Definition at line 176 of file AStarSearch.h. Referenced by computeCurrentParameters(), distToOtherNode(), expand(), getPose(), hasReached(), PotentialfieldAStarNode(), and setValueAtPos(). |
|
The value of the node.
Definition at line 178 of file AStarSearch.h. Referenced by f(), PotentialfieldAStarNode(), and setFunctionValues(). |
|
The path costs to the node.
Definition at line 180 of file AStarSearch.h. Referenced by expand(), g(), PotentialfieldAStarNode(), and setFunctionValues(). |
|
The index of the parent node.
Definition at line 182 of file AStarSearch.h. Referenced by expand(), getParentNode(), and PotentialfieldAStarNode(). |
|
Flag: true, if the node has been expanded.
Definition at line 184 of file AStarSearch.h. Referenced by expand(), hasBeenExpanded(), and PotentialfieldAStarNode(). |
|
The potential field value at the position of the node.
Definition at line 186 of file AStarSearch.h. Referenced by computeCostsTo(), PotentialfieldAStarNode(), and setValueAtPos(). |
|
The expansion radius of the node.
Definition at line 188 of file AStarSearch.h. Referenced by computeCostsTo(), computeHeuristicBetween(), expand(), getExpansionRadius(), hasReached(), and PotentialfieldAStarNode(). |