Klamp't
0.9.0
|
Implements a basic robot configuration space with only joint limit constraint testing. More...
#include <RobotCSpace.h>
Public Member Functions | |
RobotCSpace (RobotModel &robot) | |
RobotCSpace (const RobotCSpace &space) | |
virtual int | NumDimensions () override |
virtual string | VariableName (int i) override |
virtual void | Sample (Config &x) override |
virtual void | SampleNeighborhood (const Config &c, Real r, Config &out) override |
virtual void | Interpolate (const Config &x, const Config &y, Real u, Config &out) override |
virtual Real | Distance (const Config &x, const Config &y) override |
virtual void | Properties (PropertyMap &) override |
virtual void | InterpolateDeriv (const Config &a, const Config &b, Real u, Vector &dx) override |
virtual void | InterpolateDerivA (const Config &a, const Config &b, Real u, const Vector &da, Vector &dx) override |
virtual void | InterpolateDerivB (const Config &a, const Config &b, Real u, const Vector &db, Vector &dx) override |
virtual void | InterpolateDeriv2 (const Config &a, const Config &b, Real u, Vector &ddx) override |
virtual void | Integrate (const Config &a, const Vector &da, Config &b) override |
Public Attributes | |
RobotModel & | robot |
Real | norm |
vector< Real > | jointWeights |
Real | floatingRotationWeight |
vector< Real > | jointRadiusScale |
Real | floatingRotationRadiusScale |
Real | unboundedStdDeviation |
Implements a basic robot configuration space with only joint limit constraint testing.
Note: floating joint translations are not sampled properly.
Weighted metrics are implemented by filling out the following: jointWeights: weights each deviation of the robot's joints. floatingRotationWeight: additionally weights the rotation components of floating joints.
The 'XRadiusScale' members should be filled out if SampleNeigborhood should use a different metric for sampling.
This class implements the proper geodesic for different robot joint types (e.g. floating joints.)