KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
BoxCSpace Class Reference

#include <CSpaceHelpers.h>

Inheritance diagram for BoxCSpace:
CartesianCSpace GeodesicCSpace CSpace GeodesicSpace R2CSpace R3CSpace TimeCSpace TranslatingRobot2DCSpace CostCSpace

Public Member Functions

 BoxCSpace (Real xmin, Real xmax, int d=1)
 
 BoxCSpace (const Vector &bmin, const Vector &bmax)
 
void SetDomain (const Vector &bmin, const Vector &bmax)
 
void GetDomain (Vector &bmin, Vector &bmax)
 
virtual EdgePlannerPtr PathChecker (const Config &a, const Config &b)
 
virtual void Sample (Config &x)
 
virtual void SampleNeighborhood (const Config &c, Real r, Config &x)
 
virtual void Properties (PropertyMap &)
 Returns properties of the space that might be useful for planners. More...
 
- Public Member Functions inherited from CartesianCSpace
 CartesianCSpace (int d)
 
virtual int NumDimensions ()
 
virtual Real Distance (const Config &x, const Config &y)
 optionally overrideable (default uses euclidean space)
 
virtual void Interpolate (const Config &x, const Config &y, Real u, Config &out)
 
virtual void Midpoint (const Config &x, const Config &y, Config &out)
 
- 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 std::string VariableName (int i)
 
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, int constraint)
 
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 InterpolateDeriv (const Config &a, const Config &b, Real u, Vector &dx)
 
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)
 
virtual void Integrate (const Config &a, const Vector &da, Config &b)
 

Public Attributes

Vector bmin
 The domain. NOTE: modifing these does not directly affect the constraints! Use SetDomain instead.
 
Vector bmax
 
- Public Attributes inherited from CartesianCSpace
int d
 
- Public Attributes inherited from CSpace
std::vector< std::string > constraintNames
 
std::vector< std::shared_ptr< CSet > > constraints
 

Detailed Description

A standard box-bounded CSpace. Adds a set of constraints named "[X]_bound" where [X] is a VariableName().

Member Function Documentation

void BoxCSpace::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 CSpace::Properties().


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