ompl::base::PathLengthOptimizationObjective Class Reference

An optimization objective which corresponds to optimizing path length. More...

`#include <ompl/base/objectives/PathLengthOptimizationObjective.h>`

Inheritance diagram for ompl::base::PathLengthOptimizationObjective:

## Public Member Functions | |

PathLengthOptimizationObjective (const SpaceInformationPtr &si) | |

Cost | stateCost (const State *s) const override |

Returns identity cost. | |

Cost | motionCost (const State *s1, const State *s2) const override |

Motion cost for this objective is defined as the configuration space distance between s1 and s2, using the method SpaceInformation::distance(). | |

Cost | motionCostHeuristic (const State *s1, const State *s2) const override |

the motion cost heuristic for this objective is simply the configuration space distance between s1 and s2, since this is the optimal cost between any two states assuming no obstacles. | |

InformedSamplerPtr | allocInformedStateSampler (const ProblemDefinitionPtr &probDefn, unsigned int maxNumberCalls) const override |

Allocate a state sampler for the path-length objective (i.e., direct ellipsoidal sampling). | |

Public Member Functions inherited from ompl::base::OptimizationObjective | |

OptimizationObjective (const OptimizationObjective &)=delete | |

OptimizationObjective & | operator= (const OptimizationObjective &)=delete |

OptimizationObjective (SpaceInformationPtr si) | |

Constructor. The objective must always know the space information it is part of. The cost threshold for objective satisfaction defaults to 0.0. | |

const std::string & | getDescription () const |

Get the description of this optimization objective. | |

virtual bool | isSatisfied (Cost c) const |

Check if the the given cost c satisfies the specified cost objective, defined as better than the specified threshold. | |

Cost | getCostThreshold () const |

Returns the cost threshold currently being checked for objective satisfaction. | |

void | setCostThreshold (Cost c) |

Set the cost threshold for objective satisfaction. When a path is found with a cost better than the cost threshold, the objective is considered satisfied. | |

virtual bool | isCostBetterThan (Cost c1, Cost c2) const |

Check whether the the cost c1 is considered better than the cost c2. By default, this returns true if if c1 is less than c2. | |

virtual bool | isCostEquivalentTo (Cost c1, Cost c2) const |

Compare whether cost c1 and cost c2 are equivalent. By default defined as !isCostBetterThan(c1, c2) && !isCostBetterThan(c2, c1), as if c1 is not better than c2, and c2 is not better than c1, then they are equal. | |

virtual bool | isFinite (Cost cost) const |

Returns whether the cost is finite or not. | |

virtual Cost | betterCost (Cost c1, Cost c2) const |

Return the minimum cost given c1 and c2. Uses isCostBetterThan. | |

virtual Cost | controlCost (const control::Control *c, unsigned int steps) const |

Get the cost that corresponds to the motion created by a control c applied for duration steps. The default implementation uses the identityCost. | |

virtual Cost | combineCosts (Cost c1, Cost c2) const |

Get the cost that corresponds to combining the costs c1 and c2. Default implementation defines this combination as an addition. | |

virtual Cost | identityCost () const |

Get the identity cost value. The identity cost value is the cost c_i such that, for all costs c, combineCosts(c, c_i) = combineCosts(c_i, c) = c. In other words, combining a cost with the identity cost does not change the original cost. By default, a cost with the value 0.0 is returned. It's very important to override this with the proper identity value for your optimization objectives, or else optimal planners may not work. | |

virtual Cost | infiniteCost () const |

Get a cost which is greater than all other costs in this OptimizationObjective; required for use in Dijkstra/Astar. Defaults to returning the double value inf. | |

virtual Cost | initialCost (const State *s) const |

Returns a cost value corresponding to starting at a state s. No optimal planners currently support this method. Defaults to returning the objective's identity cost. | |

virtual Cost | terminalCost (const State *s) const |

Returns a cost value corresponding to a path ending at a state s. No optimal planners currently support this method. Defaults to returning the objective's identity cost. | |

virtual bool | isSymmetric () const |

Check if this objective has a symmetric cost metric, i.e. motionCost(s1, s2) = motionCost(s2, s1). Default implementation returns whether the underlying state space has symmetric interpolation. | |

virtual Cost | averageStateCost (unsigned int numStates) const |

Compute the average state cost of this objective by taking a sample of numStates states. | |

void | setCostToGoHeuristic (const CostToGoHeuristic &costToGo) |

Set the cost-to-go heuristic function for this objective. The cost-to-go heuristic is a function which returns an admissible estimate of the optimal path cost from a given state to a goal, where "admissible" means that the estimated cost is always less than the true optimal cost. | |

bool | hasCostToGoHeuristic () const |

Check if this objective has a cost-to-go heuristic function. | |

Cost | costToGo (const State *state, const Goal *goal) const |

Uses a cost-to-go heuristic to calculate an admissible estimate of the optimal cost from a given state to a given goal. If no cost-to-go heuristic has been specified with setCostToGoHeuristic(), this function just returns the identity cost, which is sure to be an admissible heuristic if there are no negative costs. | |

const SpaceInformationPtr & | getSpaceInformation () const |

Returns this objective's SpaceInformation. Needed for operators in MultiOptimizationObjective. | |

virtual void | print (std::ostream &out) const |

Print information about this optimization objective. | |

## Additional Inherited Members | |

Protected Attributes inherited from ompl::base::OptimizationObjective | |

SpaceInformationPtr | si_ |

The space information for this objective. | |

std::string | description_ |

The description of this optimization objective. | |

Cost | threshold_ |

The cost threshold used for checking whether this objective has been satisfied during planning. | |

CostToGoHeuristic | costToGoFn_ |

The function used for returning admissible estimates on the optimal cost of the path between a given state and goal. | |

## Detailed Description

An optimization objective which corresponds to optimizing path length.

Definition at line 111 of file PathLengthOptimizationObjective.h.

The documentation for this class was generated from the following files:

- ompl/base/objectives/PathLengthOptimizationObjective.h
- ompl/base/objectives/src/PathLengthOptimizationObjective.cpp