DiscreteStateSpace.cpp
45 space_->as<DiscreteStateSpace>()->getLowerBound(), space_->as<DiscreteStateSpace>()->getUpperBound());
48 void ompl::base::DiscreteStateSampler::sampleUniformNear(State *state, const State *near, const double distance)
52 near->as<DiscreteStateSpace::StateType>()->value - d, near->as<DiscreteStateSpace::StateType>()->value + d);
56 void ompl::base::DiscreteStateSampler::sampleGaussian(State *state, const State *mean, const double stdDev)
93 return state->as<StateType>()->value >= lowerBound_ && state->as<StateType>()->value <= upperBound_;
121 bool ompl::base::DiscreteStateSpace::equalStates(const State *state1, const State *state2) const
126 void ompl::base::DiscreteStateSpace::interpolate(const State *from, const State *to, const double t, State *state) const
198 out << "Discrete state space '" << getName() << "' with bounds [" << lowerBound_ << ", " << upperBound_ << "]"
void copyState(State *destination, const State *source) const override
Copy a state to another. The memory of source and destination should NOT overlap. ...
Definition: DiscreteStateSpace.cpp:96
void interpolate(const State *from, const State *to, double t, State *state) const override
Computes the state that lies at time t in [0, 1] on the segment that connects from state to to state...
Definition: DiscreteStateSpace.cpp:126
The definition of a discrete state.
Definition: DiscreteStateSpace.h:71
A shared pointer wrapper for ompl::base::StateSampler.
void serialize(void *serialization, const State *state) const override
Write the binary representation of state to serialization.
Definition: DiscreteStateSpace.cpp:106
void freeState(State *state) const override
Free the memory of the allocated state.
Definition: DiscreteStateSpace.cpp:142
StateSamplerPtr allocDefaultStateSampler() const override
Allocate an instance of the default uniform state sampler for this space.
Definition: DiscreteStateSpace.cpp:132
unsigned int getSerializationLength() const override
Get the number of chars in the serialization of a state in this space.
Definition: DiscreteStateSpace.cpp:101
void sampleGaussian(State *state, const State *mean, double stdDev) override
Sample a state using a Gaussian distribution with given mean and standard deviation (stdDev)...
Definition: DiscreteStateSpace.cpp:56
double distance(const State *state1, const State *state2) const override
Computes distance between two states. This function satisfies the properties of a metric if isMetricS...
Definition: DiscreteStateSpace.cpp:116
void sampleUniformNear(State *state, const State *near, double distance) override
Sample a state near another, within a neighborhood controlled by a distance parameter.
Definition: DiscreteStateSpace.cpp:48
void enforceBounds(State *state) const override
Bring the state within the bounds of the state space. For unbounded spaces this function can be a no-...
Definition: DiscreteStateSpace.cpp:83
void printState(const State *state, std::ostream &out) const override
Print a state to a stream.
Definition: DiscreteStateSpace.cpp:186
State * allocState() const override
Allocate a state that can store a point in the described space.
Definition: DiscreteStateSpace.cpp:137
Representation of a space in which planning can be performed. Topology specific sampling, interpolation and distance are defined.
Definition: StateSpace.h:70
virtual void setup()
Perform final setup steps. This function is automatically called by the SpaceInformation. If any default projections are to be registered, this call will set them and call their setup() functions. It is safe to call this function multiple times. At a subsequent call, projections that have been previously user configured are not re-instantiated, but their setup() method is still called.
Definition: StateSpace.cpp:248
boost::numeric::ublas::vector< double > EuclideanProjection
The datatype for state projections. This class contains a real vector.
Definition: ProjectionEvaluator.h:59
unsigned int getDimension() const override
Get the dimension of the space (not the dimension of the surrounding ambient space) ...
Definition: DiscreteStateSpace.cpp:68
bool isDiscrete() const override
Check if the set of states is discrete.
Definition: DiscreteStateSpace.cpp:63
void setup() override
Perform final setup steps. This function is automatically called by the SpaceInformation. If any default projections are to be registered, this call will set them and call their setup() functions. It is safe to call this function multiple times. At a subsequent call, projections that have been previously user configured are not re-instantiated, but their setup() method is still called.
Definition: DiscreteStateSpace.cpp:179
bool satisfiesBounds(const State *state) const override
Check if a state is inside the bounding box. For unbounded spaces this function can always return tru...
Definition: DiscreteStateSpace.cpp:91
void deserialize(State *state, const void *serialization) const override
Read the binary representation of a state from serialization and write it to state.
Definition: DiscreteStateSpace.cpp:111
void printSettings(std::ostream &out) const override
Print the settings for this state space to a stream.
Definition: DiscreteStateSpace.cpp:196
A space representing discrete states; i.e. there are a small number of discrete states the system can...
Definition: DiscreteStateSpace.h:67
int value
The current state - an int in range [lowerBound, upperBound].
Definition: DiscreteStateSpace.h:75
double getMaximumExtent() const override
Get the maximum value a call to distance() can return (or an upper bound). For unbounded state spaces...
Definition: DiscreteStateSpace.cpp:73
int uniformInt(int lower_bound, int upper_bound)
Generate a random integer within given bounds: [lower_bound, upper_bound].
Definition: RandomNumbers.h:81
bool equalStates(const State *state1, const State *state2) const override
Checks whether two states are equal.
Definition: DiscreteStateSpace.cpp:121
void registerProjections() override
Register the projections for this state space. Usually, this is at least the default projection...
Definition: DiscreteStateSpace.cpp:147
double getMeasure() const override
Get a measure of the space (this can be thought of as a generalization of volume) ...
Definition: DiscreteStateSpace.cpp:78
Abstract definition for a class computing projections to Rn. Implicit integer grids are imposed on th...
Definition: ProjectionEvaluator.h:133