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: