KrisLibrary  1.0.0
PerturbationCSpace.h
1 #ifndef ROBOTICS_PERTURBATION_CSPACE_H
2 #define ROBOTICS_PERTURBATION_CSPACE_H
3 
4 #include "CSpace.h"
5 #include <vector>
6 
7 class PerturbationCSpace : public CSpace
8 {
9 public:
10  PerturbationCSpace(CSpace* baseSpace,const std::vector<Vector>& perturbations);
11  virtual ~PerturbationCSpace();
12  virtual void Sample(Config& q);
13  virtual Config Perturb(const Config& q,const Vector& perturbation);
14  virtual bool IsFeasible(const Config& q,int obstacle);
15  virtual EdgePlannerPtr LocalPlanner(const Config& a,const Config& b,int obstacle);
16  virtual EdgePlannerPtr PathChecker(const Config& a,const Config& b,int obstacle);
17  virtual int NumObstacles();
18  virtual std::string ObstacleName(int obstacle);
19  virtual Real ObstacleDistance(const Config& a,int obstacle);
20  virtual void Properties(PropertyMap& map) const;
21 
22  CSpace* baseSpace;
23  std::vector<Vector> perturbations;
24 };
25 
26 #endif
Vector Config
an alias for Vector
Definition: RobotKinematics3D.h:14
Motion planning configuration space base class. The configuration space implements an interpolation s...
Definition: CSpace.h:39
Definition: PerturbationCSpace.h:7
A simple map from keys to values.
Definition: PropertyMap.h:27