A default rejection sampling scheme that samples uniformly from the entire planning domain. Samples are rejected until one is found that has a heuristic solution estimate that is less than the current solution. In general, direct sampling of the informed subset is much better, but this is a general default. More...
#include <ompl/base/samplers/informed/RejectionInfSampler.h>

Public Member Functions | |
RejectionInfSampler (const ProblemDefinitionPtr &probDefn, unsigned int maxNumberCalls) | |
Construct a rejection sampler that only generates states with a heuristic solution estimate that is less than the cost of the current solution. | |
bool | sampleUniform (State *statePtr, const Cost &maxCost) override |
Sample uniformly in the subset of the state space whose heuristic solution estimates are less than the provided cost, i.e. in the interval [0, maxCost). Returns false if such a state was not found in the specified number of iterations. | |
bool | sampleUniform (State *statePtr, const Cost &minCost, const Cost &maxCost) override |
Sample uniformly in the subset of the state space whose heuristic solution estimates are between the provided costs, [minCost, maxCost). Returns false if such a state was not found in the specified number of iterations. | |
bool | hasInformedMeasure () const override |
Whether the sampler can provide a measure of the informed subset. | |
double | getInformedMeasure (const Cost &) const override |
The measure of the subset of the state space defined by the current solution cost that is being searched. As rejection sampling has no closed-form knowledge of the informed subset, the measure of the informed space is always the measure of the entire space. | |
double | getInformedMeasure (const Cost &, const Cost &) const override |
The measure of the subset of the state space defined by the current solution cost that is being searched. As rejection sampling has no closed-form knowledge of the informed subset, the measure of the informed space is always the measure of the entire space. | |
![]() | |
InformedSampler (const InformedSampler &)=delete | |
InformedSampler & | operator= (const InformedSampler &)=delete |
InformedSampler (const ProblemDefinitionPtr &probDefn, unsigned int maxNumberCalls) | |
Construct a sampler that only generates states with a heuristic solution estimate that is less than the cost of the current solution. Requires a function pointer to a method to query the cost of the current solution. If iteration is required, only maxNumberCalls are attempted, to assure that the function returns. | |
virtual Cost | heuristicSolnCost (const State *statePtr) const |
A helper function to calculate the heuristic estimate of the solution cost for a given state using the optimization objective stored in the problem definition. | |
ProblemDefinitionPtr | getProblemDefn () const |
unsigned int | getMaxNumberOfIters () const |
Additional Inherited Members | |
![]() | |
ProblemDefinitionPtr | probDefn_ |
A copy of the problem definition. | |
OptimizationObjectivePtr | opt_ |
A copy of the optimization objective. | |
StateSpacePtr | space_ |
A copy of the state space. | |
unsigned int | numIters_ |
The number of iterations I'm allowed to attempt. | |
Detailed Description
A default rejection sampling scheme that samples uniformly from the entire planning domain. Samples are rejected until one is found that has a heuristic solution estimate that is less than the current solution. In general, direct sampling of the informed subset is much better, but this is a general default.
Definition at line 53 of file RejectionInfSampler.h.
Constructor & Destructor Documentation
◆ RejectionInfSampler()
ompl::base::RejectionInfSampler::RejectionInfSampler | ( | const ProblemDefinitionPtr & | probDefn, |
unsigned int | maxNumberCalls | ||
) |
Construct a rejection sampler that only generates states with a heuristic solution estimate that is less than the cost of the current solution.
Definition at line 45 of file RejectionInfSampler.cpp.
Member Function Documentation
◆ getInformedMeasure() [1/2]
|
overridevirtual |
The measure of the subset of the state space defined by the current solution cost that is being searched. As rejection sampling has no closed-form knowledge of the informed subset, the measure of the informed space is always the measure of the entire space.
Implements ompl::base::InformedSampler.
Definition at line 107 of file RejectionInfSampler.cpp.
◆ getInformedMeasure() [2/2]
|
overridevirtual |
The measure of the subset of the state space defined by the current solution cost that is being searched. As rejection sampling has no closed-form knowledge of the informed subset, the measure of the informed space is always the measure of the entire space.
Reimplemented from ompl::base::InformedSampler.
Definition at line 112 of file RejectionInfSampler.cpp.
◆ hasInformedMeasure()
|
overridevirtual |
Whether the sampler can provide a measure of the informed subset.
Implements ompl::base::InformedSampler.
Definition at line 102 of file RejectionInfSampler.cpp.
◆ sampleUniform() [1/2]
|
overridevirtual |
Sample uniformly in the subset of the state space whose heuristic solution estimates are less than the provided cost, i.e. in the interval [0, maxCost). Returns false if such a state was not found in the specified number of iterations.
Implements ompl::base::InformedSampler.
Definition at line 60 of file RejectionInfSampler.cpp.
◆ sampleUniform() [2/2]
|
overridevirtual |
Sample uniformly in the subset of the state space whose heuristic solution estimates are between the provided costs, [minCost, maxCost). Returns false if such a state was not found in the specified number of iterations.
Implements ompl::base::InformedSampler.
Definition at line 70 of file RejectionInfSampler.cpp.
The documentation for this class was generated from the following files:
- ompl/base/samplers/informed/RejectionInfSampler.h
- ompl/base/samplers/informed/src/RejectionInfSampler.cpp