ompl::geometric::BITstar::CostHelper Class Reference
A helper class to handle the various heuristic functions in one place. More...
#include <ompl/geometric/planners/bitstar/datastructures/CostHelper.h>
Public Member Functions | |
CostHelper ()=default | |
Construct the heuristic helper, must be setup before use. | |
void | setup (const ompl::base::OptimizationObjectivePtr &opt, const ImplicitGraphPtr &graph) |
Setup the CostHelper, must be called before use. | |
void | clear () |
Clear the CostHelper, returns to state at construction. | |
ompl::base::OptimizationObjectivePtr | getOptObj () const |
Get the underling OptimizationObjective. | |
ompl::base::Cost | lowerBoundHeuristicVertex (const VertexConstPtr &vertex) const |
Calculates a heuristic estimate of the cost of a solution constrained to pass through a vertex, independent of the current cost-to-come. I.e., combines the heuristic estimates of the cost-to-come and cost-to-go. | |
ompl::base::Cost | currentHeuristicVertex (const VertexConstPtr &vertex) const |
Calculates a heuristic estimate of the cost of a solution constrained to pass through a vertex, dependent on the current cost-to-come. I.e., combines the current cost-to-come with a heuristic estimate of the cost-to-go. | |
ompl::base::Cost | lowerBoundHeuristicEdge (const VertexConstPtrPair &edgePair) const |
Calculates a heuristic estimate of the cost of a solution constrained to go through an edge, independent of the cost-to-come of the parent state. I.e., combines the heuristic estimates of the cost-to-come, edge cost, and cost-to-go. | |
ompl::base::Cost | currentHeuristicEdge (const VertexConstPtrPair &edgePair) const |
Calculates a heuristic estimate of the cost of a solution constrained to go through an edge, dependent on the cost-to-come of the parent state. I.e., combines the current cost-to-come with heuristic estimates of the edge cost, and cost-to-go. | |
ompl::base::Cost | lowerBoundHeuristicTarget (const VertexConstPtrPair &edgePair) const |
Calculates a heuristic estimate of the cost of a path to the target of an edge, independent of the current cost-to-come of the parent state. I.e., combines heuristics estimates of the cost-to-come and the edge cost. | |
ompl::base::Cost | currentHeuristicTarget (const VertexConstPtrPair &edgePair) const |
Calculates a heuristic estimate of the cost of a path to the target of an edge, dependent on the cost-to-come of the parent state. I.e., combines the current cost-to-come with heuristic estimates of the edge cost. | |
ompl::base::Cost | costToComeHeuristic (const VertexConstPtr &vertex) const |
Calculate a heuristic estimate of the cost-to-come for a Vertex. | |
ompl::base::Cost | edgeCostHeuristic (const VertexConstPtrPair &edgePair) const |
Calculate a heuristic estimate of the cost an edge between two Vertices. | |
ompl::base::Cost | costToGoHeuristic (const VertexConstPtr &vertex) const |
Calculate a heuristic estimate of the cost-to-go for a Vertex. | |
ompl::base::Cost | trueEdgeCost (const VertexConstPtrPair &edgePair) const |
The true cost of an edge, including collisions. | |
ompl::base::Cost | combineCosts (const ompl::base::Cost &a, const ompl::base::Cost &b, const ompl::base::Cost &c) const |
Combine 3 costs. | |
ompl::base::Cost | combineCosts (const ompl::base::Cost &a, const ompl::base::Cost &b, const ompl::base::Cost &c, const ompl::base::Cost &d) const |
Combine 4 costs. | |
bool | isCostWorseThan (const ompl::base::Cost &a, const ompl::base::Cost &b) const |
Compare whether cost a is worse than cost b by checking whether b is better than a. | |
bool | isCostNotEquivalentTo (const ompl::base::Cost &a, const ompl::base::Cost &b) const |
Compare whether cost a and cost b are not equivalent by checking if either a or b is better than the other. | |
bool | isCostBetterThanOrEquivalentTo (const ompl::base::Cost &a, const ompl::base::Cost &b) const |
Compare whether cost a is better or equivalent to cost b by checking that b is not better than a. | |
bool | isCostWorseThanOrEquivalentTo (const ompl::base::Cost &a, const ompl::base::Cost &b) const |
Compare whether cost a is worse or equivalent to cost b by checking that a is not better than b. | |
double | fractionalChange (const ompl::base::Cost &newCost, const ompl::base::Cost &oldCost) const |
Calculate the fractional change of cost "newCost" from "oldCost" relative to "oldCost", i.e., (newCost - oldCost)/oldCost. | |
double | fractionalChange (const ompl::base::Cost &newCost, const ompl::base::Cost &oldCost, const ompl::base::Cost &refCost) const |
Calculate the fractional change of cost "newCost" from "oldCost" relative to "refCost", i.e., (newCost - oldCost)/refCost. | |
bool | isSatisfied (const ompl::base::Cost &a) const |
bool | isFinite (const ompl::base::Cost &a) const |
bool | isCostEquivalentTo (const ompl::base::Cost &a, const ompl::base::Cost &b) const |
bool | isCostBetterThan (const ompl::base::Cost &a, const ompl::base::Cost &b) const |
ompl::base::Cost | betterCost (const ompl::base::Cost &a, const ompl::base::Cost &b) const |
ompl::base::Cost | combineCosts (const ompl::base::Cost &a, const ompl::base::Cost &b) const |
ompl::base::Cost | infiniteCost () const |
ompl::base::Cost | identityCost () const |
ompl::base::Cost | motionCostHeuristic (const ompl::base::State *a, const ompl::base::State *b) const |
ompl::base::Cost | motionCost (const ompl::base::State *a, const ompl::base::State *b) const |
Detailed Description
A helper class to handle the various heuristic functions in one place.
- Short Description
- A class that consolidates all the various heuristic calculations for vertices/edges in a graph into one place. Most of these functions are simply combinatorial pass-throughs to the OptimizationObjective.
Definition at line 64 of file CostHelper.h.
The documentation for this class was generated from the following files:
- ompl/geometric/planners/bitstar/datastructures/CostHelper.h
- ompl/geometric/planners/bitstar/datastructures/src/CostHelper.cpp