Class RealVectorControlSpace

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class RealVectorControlSpace : public ompl::control::ControlSpace

A control space representing Rn.

Public Functions

inline RealVectorControlSpace(const base::StateSpacePtr &stateSpace, unsigned int dim)

Constructor takes the state space the controls correspond to and the dimension of the space of controls, dim.

~RealVectorControlSpace() override = default
void setBounds(const base::RealVectorBounds &bounds)

Set the bounds (min max values for each dimension) for the control.

inline const base::RealVectorBounds &getBounds() const

Get the bounds (min max values for each dimension) for the control.

virtual unsigned int getDimension() const override

Get the dimension of this control space.

virtual void copyControl(Control *destination, const Control *source) const override

Copy a control to another.

virtual bool equalControls(const Control *control1, const Control *control2) const override

Check if two controls are the same.

virtual ControlSamplerPtr allocDefaultControlSampler() const override

Allocate the default control sampler.

virtual Control *allocControl() const override

Allocate memory for a control.

virtual void freeControl(Control *control) const override

Free the memory of a control.

virtual void nullControl(Control *control) const override

Make the control have no effect if it were to be applied to a state for any amount of time.

virtual void printControl(const Control *control, std::ostream &out) const override

Print a control to a stream.

virtual double *getValueAddressAtIndex(Control *control, unsigned int index) const override

Many controls contain a number of double values. This function provides a means to get the memory address of a double value from a control control located at position index. The first double value is returned for index = 0. If index is too large (does not point to any double values in the control), the return value is nullptr.

virtual void printSettings(std::ostream &out) const override

Print the settings for this control space to a stream.

virtual void setup() override

Perform final setup steps. This function is automatically called by the SpaceInformation.

virtual unsigned int getSerializationLength() const override

Returns the serialization size for a single control in this space.

virtual void serialize(void *serialization, const Control *ctrl) const override

Serializes the given control into the serialization buffer.

virtual void deserialize(Control *ctrl, const void *serialization) const override

Deserializes a control from the serialization buffer.

Protected Attributes

unsigned int dimension_

The dimension of the state space.

base::RealVectorBounds bounds_

The bounds on controls.

class ControlType : public ompl::control::Control

The definition of a control in Rn

Public Functions

inline double operator[](unsigned int i) const

Access element i of values. This does not check whether the index is within bounds.

inline double &operator[](unsigned int i)

Access element i of values. This does not check whether the index is within bounds.

Public Members

double *values

An array of length n, representing the value of the control.