KrisLibrary  1.0.0
Public Member Functions | Static Public Member Functions | List of all members
SO2CSpace Class Reference

The space of rotations SO(2). The representation is a single angle. Still need to implement IsFeasible, PathChecker. More...

#include <RigidBodyCSpace.h>

Inheritance diagram for SO2CSpace:
GeodesicCSpace CSpace GeodesicSpace

Public Member Functions

virtual int NumDimensions ()
 
virtual std::string VariableName (int i)
 
virtual void Sample (Config &x)
 
virtual void SampleNeighborhood (const Config &c, Real r, Config &x)
 
virtual void Interpolate (const Config &a, const Config &b, Real u, Config &out)
 
virtual Real Distance (const Config &a, const Config &b)
 optionally overrideable (default uses euclidean space)
 
virtual void Properties (PropertyMap &pmap)
 Returns properties of the space that might be useful for planners. More...
 
void InterpolateDeriv (const Config &a, const Config &b, Real u, Vector &dx)
 
void Integrate (const Config &a, const Vector &da, Config &b)
 
- Public Member Functions inherited from CSpace
void AddConstraint (const std::string &name, CSet *constraint)
 
void AddConstraint (const std::string &name, const std::shared_ptr< CSet > &constraint)
 
void AddConstraint (const std::string &name, CSet::CPredicate test)
 
void CopyConstraints (const CSpace *space, const std::string &prefix="")
 
virtual int NumConstraints ()
 
virtual std::string ConstraintName (int i)
 
virtual std::shared_ptr< CSetConstraint (int i)
 
virtual bool IsFeasible (const Config &)
 
virtual bool IsFeasible (const Config &, int constraint)
 
virtual EdgePlannerPtr LocalPlanner (const Config &a, const Config &b)
 
virtual EdgePlannerPtr PathChecker (const Config &a, const Config &b)
 
virtual EdgePlannerPtr PathChecker (const Config &a, const Config &b, int constraint)
 
virtual void Midpoint (const Config &x, const Config &y, Config &out)
 
virtual bool ProjectFeasible (Config &x)
 
virtual Optimization::NonlinearProgramFeasibleNumeric ()
 If possible, give the feasible set as a nonlinear program.
 
virtual Real ObstacleDistance (const Config &a)
 for local planners using obstacle distance
 
virtual void CheckConstraints (const Config &, std::vector< bool > &satisfied)
 Returns a vector indicating which constraints are satisfied.
 
void GetFeasibleNames (const Config &q, std::vector< std::string > &names)
 Gets a list of feasible obstacles for the given configuration.
 
void GetInfeasibleNames (const Config &q, std::vector< std::string > &names)
 Gets a list of infeasible obstacles for the given configuration.
 
void PrintInfeasibleNames (const Config &q, std::ostream &out=std::cout, const char *prefix="", const char *suffix="\n")
 Prints out the list of infeasible obstacles for the given configuration.
 
- Public Member Functions inherited from GeodesicSpace
virtual int NumIntrinsicDimensions ()
 
virtual void InterpolateDerivA (const Config &a, const Config &b, Real u, const Vector &da, Vector &dx)
 
virtual void InterpolateDerivB (const Config &a, const Config &b, Real u, const Vector &db, Vector &dx)
 
virtual void InterpolateDeriv2 (const Config &a, const Config &b, Real u, Vector &ddx)
 

Static Public Member Functions

static void GetRotation (const Config &x, Math3D::Matrix2 &R)
 
static void SetRotation (const Math3D::Matrix2 &R, Config &x)
 

Additional Inherited Members

- Public Attributes inherited from CSpace
std::vector< std::string > constraintNames
 
std::vector< std::shared_ptr< CSet > > constraints
 

Detailed Description

The space of rotations SO(2). The representation is a single angle. Still need to implement IsFeasible, PathChecker.

Member Function Documentation

void SO2CSpace::Properties ( PropertyMap map)
virtual

Returns properties of the space that might be useful for planners.

Typical properties may include

  • name (string): an identifier for the space
  • cartesian (0 or 1): whether its a euclidean space
  • submanifold (0 or 1): whether its a submanifold space
  • canproject (0 or 1): whether ProjectFeasible is implemented
  • hasobstacledistance (0 or 1): whether ObstacleDistance is implemented
  • volume (real): volume of the space
  • diameter (real): maximum distance between any two points in the space
  • minimum (real array): minimum element of the space
  • maximum (real array): maximum element of the space
  • intrinsicDimension (real): for submanifolds, intrinsic dimension of space
  • geodesic (0 or 1): whether interpolation is along geodesics
  • metric (string): the type of metric ("euclidean", "weighted euclidean", "mahalanobis", "manhattan", "weighted manhattan", "Linf", "weighted Linf")
  • metricWeights (real array): the metric weight vector Empty values indicate that the property is unknown.

Default implementation returns the properties of a Euclidean space.

Reimplemented from CSpace.

References Math::AngleDiff(), Math::AngleNormalize(), Math::Rand(), Math::SampleSphere(), and Math3D::Matrix2::setRotate().


The documentation for this class was generated from the following files: