Semi-torus OMPL state space for wrapping dimensions. More...
#include <SemiTorusStateSpace.h>
Public Member Functions | |
SemiTorusStateSpace (unsigned int dim=0) | |
virtual void | setIsWrapping (const std::vector< bool > &isWrapping) |
virtual const std::vector< bool > & | getIsWrapping () const |
virtual void | addDimension (double minBound=0.0, double maxBound=0.0, bool isWrapping=false) |
virtual void | addDimension (const std::string &name, double minBound=0.0, double maxBound=0.0, bool isWrapping=false) |
virtual double | getMaximumExtent () const |
virtual double | distance (const ompl::base::State *state1, const ompl::base::State *state2) const |
virtual bool | equalStates (const ompl::base::State *state1, const ompl::base::State *state2) const |
virtual void | interpolate (const ompl::base::State *from, const ompl::base::State *to, const double t, ompl::base::State *state) const |
Public Member Functions inherited from ompl::base::RealVectorStateSpace | |
RealVectorStateSpace (unsigned int dim=0) | |
void | addDimension (double minBound=0.0, double maxBound=0.0) |
void | addDimension (const std::string &name, double minBound=0.0, double maxBound=0.0) |
void | setBounds (const RealVectorBounds &bounds) |
void | setBounds (double low, double high) |
const RealVectorBounds & | getBounds () const |
virtual unsigned int | getDimension () const |
const std::string & | getDimensionName (unsigned int index) const |
int | getDimensionIndex (const std::string &name) const |
void | setDimensionName (unsigned int index, const std::string &name) |
virtual double | getMeasure () const |
virtual void | enforceBounds (State *state) const |
virtual bool | satisfiesBounds (const State *state) const |
virtual void | copyState (State *destination, const State *source) const |
virtual unsigned int | getSerializationLength () const |
virtual void | serialize (void *serialization, const State *state) const |
virtual void | deserialize (State *state, const void *serialization) const |
virtual StateSamplerPtr | allocDefaultStateSampler () const |
virtual State * | allocState () const |
virtual void | freeState (State *state) const |
virtual double * | getValueAddressAtIndex (State *state, const unsigned int index) const |
virtual void | printState (const State *state, std::ostream &out) const |
virtual void | printSettings (std::ostream &out) const |
virtual void | registerProjections () |
virtual void | setup () |
Public Member Functions inherited from ompl::base::StateSpace | |
T * | as () |
const T * | as () const |
virtual bool | isCompound () const |
virtual bool | isDiscrete () const |
virtual bool | isHybrid () const |
virtual bool | isMetricSpace () const |
virtual bool | hasSymmetricDistance () const |
virtual bool | hasSymmetricInterpolate () const |
const std::string & | getName () const |
void | setName (const std::string &name) |
int | getType () const |
bool | includes (const StateSpacePtr &other) const |
bool | includes (const StateSpace *other) const |
bool | covers (const StateSpacePtr &other) const |
bool | covers (const StateSpace *other) const |
ParamSet & | params () |
const ParamSet & | params () const |
virtual double | getLongestValidSegmentFraction () const |
virtual void | setLongestValidSegmentFraction (double segmentFraction) |
virtual unsigned int | validSegmentCount (const State *state1, const State *state2) const |
void | setValidSegmentCountFactor (unsigned int factor) |
unsigned int | getValidSegmentCountFactor () const |
double | getLongestValidSegmentLength () const |
void | computeSignature (std::vector< int > &signature) const |
State * | cloneState (const State *source) const |
virtual StateSamplerPtr | allocStateSampler () const |
void | setStateSamplerAllocator (const StateSamplerAllocator &ssa) |
void | clearStateSamplerAllocator () |
const double * | getValueAddressAtIndex (const State *state, const unsigned int index) const |
const std::vector < ValueLocation > & | getValueLocations () const |
const std::map< std::string, ValueLocation > & | getValueLocationsByName () const |
double * | getValueAddressAtLocation (State *state, const ValueLocation &loc) const |
const double * | getValueAddressAtLocation (const State *state, const ValueLocation &loc) const |
double * | getValueAddressAtName (State *state, const std::string &name) const |
const double * | getValueAddressAtName (const State *state, const std::string &name) const |
void | copyToReals (std::vector< double > &reals, const State *source) const |
void | copyFromReals (State *destination, const std::vector< double > &reals) const |
void | registerProjection (const std::string &name, const ProjectionEvaluatorPtr &projection) |
void | registerDefaultProjection (const ProjectionEvaluatorPtr &projection) |
ProjectionEvaluatorPtr | getProjection (const std::string &name) const |
ProjectionEvaluatorPtr | getDefaultProjection () const |
bool | hasProjection (const std::string &name) const |
bool | hasDefaultProjection () const |
const std::map< std::string, ProjectionEvaluatorPtr > & | getRegisteredProjections () const |
StateSamplerPtr | allocSubspaceStateSampler (const StateSpacePtr &subspace) const |
virtual StateSamplerPtr | allocSubspaceStateSampler (const StateSpace *subspace) const |
State * | getSubstateAtLocation (State *state, const SubstateLocation &loc) const |
const State * | getSubstateAtLocation (const State *state, const SubstateLocation &loc) const |
const std::map< std::string, SubstateLocation > & | getSubstateLocationsByName () const |
void | getCommonSubspaces (const StateSpacePtr &other, std::vector< std::string > &subspaces) const |
void | getCommonSubspaces (const StateSpace *other, std::vector< std::string > &subspaces) const |
virtual void | computeLocations () |
virtual bool | isCompound () const |
virtual bool | isDiscrete () const |
virtual bool | isHybrid () const |
virtual bool | isMetricSpace () const |
virtual bool | hasSymmetricDistance () const |
virtual bool | hasSymmetricInterpolate () const |
const std::string & | getName () const |
void | setName (const std::string &name) |
int | getType () const |
bool | includes (const StateSpacePtr &other) const |
bool | includes (const StateSpace *other) const |
bool | covers (const StateSpacePtr &other) const |
bool | covers (const StateSpace *other) const |
ParamSet & | params () |
const ParamSet & | params () const |
virtual double | getLongestValidSegmentFraction () const |
virtual void | setLongestValidSegmentFraction (double segmentFraction) |
virtual unsigned int | validSegmentCount (const State *state1, const State *state2) const |
void | setValidSegmentCountFactor (unsigned int factor) |
unsigned int | getValidSegmentCountFactor () const |
double | getLongestValidSegmentLength () const |
void | computeSignature (std::vector< int > &signature) const |
State * | cloneState (const State *source) const |
virtual StateSamplerPtr | allocStateSampler () const |
void | setStateSamplerAllocator (const StateSamplerAllocator &ssa) |
void | clearStateSamplerAllocator () |
const double * | getValueAddressAtIndex (const State *state, const unsigned int index) const |
const std::vector < ValueLocation > & | getValueLocations () const |
const std::map< std::string, ValueLocation > & | getValueLocationsByName () const |
double * | getValueAddressAtLocation (State *state, const ValueLocation &loc) const |
const double * | getValueAddressAtLocation (const State *state, const ValueLocation &loc) const |
double * | getValueAddressAtName (State *state, const std::string &name) const |
const double * | getValueAddressAtName (const State *state, const std::string &name) const |
void | copyToReals (std::vector< double > &reals, const State *source) const |
void | copyFromReals (State *destination, const std::vector< double > &reals) const |
void | registerProjection (const std::string &name, const ProjectionEvaluatorPtr &projection) |
void | registerDefaultProjection (const ProjectionEvaluatorPtr &projection) |
ProjectionEvaluatorPtr | getProjection (const std::string &name) const |
ProjectionEvaluatorPtr | getDefaultProjection () const |
bool | hasProjection (const std::string &name) const |
bool | hasDefaultProjection () const |
const std::map< std::string, ProjectionEvaluatorPtr > & | getRegisteredProjections () const |
virtual void | printProjections (std::ostream &out) const |
virtual void | sanityChecks (double zero, double eps, unsigned int flags) const |
virtual void | sanityChecks () const |
void | diagram (std::ostream &out) const |
void | list (std::ostream &out) const |
StateSamplerPtr | allocSubspaceStateSampler (const StateSpacePtr &subspace) const |
virtual StateSamplerPtr | allocSubspaceStateSampler (const StateSpace *subspace) const |
State * | getSubstateAtLocation (State *state, const SubstateLocation &loc) const |
const State * | getSubstateAtLocation (const State *state, const SubstateLocation &loc) const |
const std::map< std::string, SubstateLocation > & | getSubstateLocationsByName () const |
void | getCommonSubspaces (const StateSpacePtr &other, std::vector< std::string > &subspaces) const |
void | getCommonSubspaces (const StateSpace *other, std::vector< std::string > &subspaces) const |
virtual void | computeLocations () |
Semi-torus OMPL state space for wrapping dimensions.
This is a generalization of ompl::base::RealVectorStateSpace which supports wrapping on each dimension individually (that is, the dimension's lower bound and upper bound correspond). This is especially useful for handling robots with circular joints. It should be funcionally equivalent to building a coupound state space with many SO(2) components, except it should be faster because all states are stored contiguously.