ompl::base::DeterministicStateSampler Class Reference

An abstract class for the concept of using deterministic sampling sequences to decrease the dispersion of the samples. More...

#include <ompl/base/samplers/DeterministicStateSampler.h>

Inheritance diagram for ompl::base::DeterministicStateSampler:

Public Types

enum  DeterministicSamplerType { HALTON }
 

Public Member Functions

 DeterministicStateSampler (const StateSpace *space, DeterministicSamplerType type=DeterministicSamplerType::HALTON)
 Constructor, which creates the sequence internally based on the specified sequence type. Uses the default constructor for the sequence.
 
 DeterministicStateSampler (const StateSpace *space, std::shared_ptr< DeterministicSequence > sequence_ptr)
 Constructor that takes a pointer to a DeterministicSequence and uses that object instead of its own. This can be used to apply non default options to the deterministic sequence.
 
virtual void sampleUniform (State *state)
 Sample a state.
 
virtual void sampleUniformNear (State *, const State *, double)
 Sample a state near another, within a neighborhood controlled by a distance parameter. More...
 
virtual void sampleGaussian (State *, const State *, double)
 Sample a state using a Gaussian distribution with given mean and standard deviation (stdDev). More...
 
- Public Member Functions inherited from ompl::base::StateSampler
 StateSampler (const StateSampler &)=delete
 
StateSampleroperator= (const StateSampler &)=delete
 
 StateSampler (const StateSpace *space)
 Constructor.
 

Protected Attributes

std::shared_ptr< DeterministicSequencesequence_ptr_
 
- Protected Attributes inherited from ompl::base::StateSampler
const StateSpacespace_
 The state space this sampler samples.
 
RNG rng_
 An instance of a random number generator.
 

Detailed Description

An abstract class for the concept of using deterministic sampling sequences to decrease the dispersion of the samples.

Short description
DeterministicStateSampler Implementation of a deterministic state sampler. The implementation allows to load and draw samples from a precomputed sequence or from the Halton Sequence,
External documentation
Dispertio: Optimal Sampling For Safe Deterministic Motion Planning L Palmieri, L Bruns, M Meurer, KO Arras - IEEE Robotics and Automation Letters, 2019 DOI: 10.1109/LRA.2019.2958525
[PDF]

Definition at line 128 of file DeterministicStateSampler.h.

Member Function Documentation

◆ sampleGaussian()

virtual void ompl::base::DeterministicStateSampler::sampleGaussian ( State state,
const State mean,
double  stdDev 
)
inlinevirtual

Sample a state using a Gaussian distribution with given mean and standard deviation (stdDev).

As with sampleUniform, the implementation of sampleGaussian is specific to the derived class and few assumptions can be made about the distance between state and mean.

Implements ompl::base::StateSampler.

Reimplemented in ompl::base::SE2DeterministicStateSampler, ompl::base::RealVectorDeterministicStateSampler, and ompl::base::SO2DeterministicStateSampler.

Definition at line 189 of file DeterministicStateSampler.h.

◆ sampleUniformNear()

virtual void ompl::base::DeterministicStateSampler::sampleUniformNear ( State state,
const State near,
double  distance 
)
inlinevirtual

Sample a state near another, within a neighborhood controlled by a distance parameter.

Typically, StateSampler-derived classes will return in state a state that is uniformly distributed within a ball with radius distance defined by the distance function from the corresponding state space. However, this is not guaranteed. For example, the default state sampler for the RealVectorStateSpace returns samples uniformly distributed using L_inf distance, while the default distance function is L_2 distance.

Implements ompl::base::StateSampler.

Reimplemented in ompl::base::SE2DeterministicStateSampler, ompl::base::RealVectorDeterministicStateSampler, and ompl::base::SO2DeterministicStateSampler.

Definition at line 185 of file DeterministicStateSampler.h.


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