Construct a sampler that samples only within a subspace of the space. More...
#include <ompl/base/StateSampler.h>

Public Member Functions | |
SubspaceStateSampler (const StateSpace *space, const StateSpace *subspace, double weight) | |
Construct a sampler for space but only sample components common to subspace. Use weight as a multiplicative factor for distance and stdDev in the sampleUniformNear() and sampleGaussian() functions. | |
void | sampleUniform (State *state) override |
Sample a state. | |
void | sampleUniformNear (State *state, const State *near, double distance) override |
Sample a state near another, within a neighborhood controlled by a distance parameter. | |
void | sampleGaussian (State *state, const State *mean, double stdDev) override |
Sample a state using a Gaussian distribution with given mean and standard deviation (stdDev). | |
![]() | |
StateSampler (const StateSampler &)=delete | |
StateSampler & | operator= (const StateSampler &)=delete |
StateSampler (const StateSpace *space) | |
Constructor. | |
Protected Attributes | |
const StateSpace * | subspace_ |
The subspace to sample. | |
StateSamplerPtr | subspaceSampler_ |
The sampler for the subspace. | |
double | weight_ |
The weigth factor to multiply distance and stdDev when sampling in the vicinity of a state. | |
std::vector< std::string > | subspaces_ |
The names of common subspaces between space_ and subspace_; these are the ones copied after sampling a state. | |
![]() | |
const StateSpace * | space_ |
The state space this sampler samples. | |
RNG | rng_ |
An instance of a random number generator. | |
Detailed Description
Construct a sampler that samples only within a subspace of the space.
Definition at line 153 of file StateSampler.h.
Constructor & Destructor Documentation
◆ SubspaceStateSampler()
ompl::base::SubspaceStateSampler::SubspaceStateSampler | ( | const StateSpace * | space, |
const StateSpace * | subspace, | ||
double | weight | ||
) |
Construct a sampler for space but only sample components common to subspace. Use weight as a multiplicative factor for distance and stdDev in the sampleUniformNear() and sampleGaussian() functions.
Definition at line 73 of file StateSampler.cpp.
◆ ~SubspaceStateSampler()
|
override |
Definition at line 85 of file StateSampler.cpp.
Member Function Documentation
◆ sampleGaussian()
|
overridevirtual |
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.
Definition at line 104 of file StateSampler.cpp.
◆ sampleUniform()
|
overridevirtual |
Sample a state.
Implements ompl::base::StateSampler.
Definition at line 91 of file StateSampler.cpp.
◆ sampleUniformNear()
|
overridevirtual |
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.
Definition at line 97 of file StateSampler.cpp.
Member Data Documentation
◆ subspace_
|
protected |
The subspace to sample.
Definition at line 170 of file StateSampler.h.
◆ subspaces_
|
protected |
The names of common subspaces between space_ and subspace_; these are the ones copied after sampling a state.
Definition at line 180 of file StateSampler.h.
◆ subspaceSampler_
|
protected |
The sampler for the subspace.
Definition at line 173 of file StateSampler.h.
◆ weight_
|
protected |
The weigth factor to multiply distance and stdDev when sampling in the vicinity of a state.
Definition at line 176 of file StateSampler.h.
The documentation for this class was generated from the following files:
- ompl/base/StateSampler.h
- ompl/base/src/StateSampler.cpp