37 #include "ompl/control/spaces/DiscreteControlSpace.h"
38 #include "ompl/util/Exception.h"
84 out <<
"DiscreteControl [";
89 out <<
']' << std::endl;
94 out <<
"Discrete control space '" << getName() <<
"' with bounds [" << lowerBound_ <<
", " << upperBound_ <<
"]" << std::endl;
99 if (lowerBound_ > upperBound_)
100 throw Exception(
"Lower bound cannot be larger than upper bound for a discrete space");
virtual ControlSamplerPtr allocDefaultControlSampler(void) const
Allocate the default control sampler.
virtual void printControl(const Control *control, std::ostream &out) const
Print a control to a stream.
Definition of an abstract control.
virtual bool equalControls(const Control *control1, const Control *control2) const
Check if two controls are the same.
A boost shared pointer wrapper for ompl::control::ControlSampler.
const ControlSpace * space_
The control space this sampler operates on.
virtual Control * allocControl(void) const
Allocate memory for a control.
A space representing discrete controls; i.e. there are a small number of discrete controls the system...
virtual void deserialize(Control *ctrl, const void *serialization) const
Deserializes a control from the serialization buffer.
virtual void sample(Control *control)
Sample a control. All other control sampling functions default to this one, unless a user-specified i...
virtual void setup(void)
Perform final setup steps. This function is automatically called by the SpaceInformation.
The definition of a discrete control.
virtual void printSettings(std::ostream &out) const
Print the settings for this control space to a stream.
int value
The current control - an int in range [lowerBound, upperBound].
Control space sampler for discrete controls.
virtual void serialize(void *serialization, const Control *ctrl) const
Serializes the given control into the serialization buffer.
virtual void nullControl(Control *control) const
This sets the control value to lowerBound_.
int getLowerBound(void) const
Returns the lowest possible control value.
virtual void setup(void)
Perform final setup steps. This function is automatically called by the SpaceInformation.
The exception type for ompl.
virtual void copyControl(Control *destination, const Control *source) const
Copy a control to another.
virtual void freeControl(Control *control) const
Free the memory of a control.
const T * as(void) const
Cast this instance to a desired type.
RNG rng_
Instance of random number generator.
virtual unsigned int getDimension(void) const
Get the dimension of this control space.
T * as(void)
Cast this instance to a desired type.
int uniformInt(int lower_bound, int upper_bound)
Generate a random integer within given bounds: [lower_bound, upper_bound].
virtual unsigned int getSerializationLength(void) const
Returns the serialization size for a single control in this space.