5 #include <Klampt/Modeling/GeneralizedRobot.h> 6 #include "PlannerSettings.h" 7 #include <KrisLibrary/planning/CSpaceHelpers.h> 8 #include <KrisLibrary/planning/RigidBodyCSpace.h> 9 #include <KrisLibrary/utils/ArrayMapping.h> 37 virtual int NumDimensions()
override;
38 virtual string VariableName(
int i)
override;
39 virtual void Sample(Config& x)
override;
40 virtual void SampleNeighborhood(
const Config& c,Real r,Config& out)
override;
41 virtual void Interpolate(
const Config& x,
const Config& y,Real u,Config& out)
override;
42 virtual Real Distance(
const Config& x,
const Config& y)
override;
43 virtual void Properties(PropertyMap&)
override;
45 virtual void InterpolateDeriv(
const Config& a,
const Config& b,Real u,Vector& dx)
override;
46 virtual void InterpolateDerivA(
const Config& a,
const Config& b,Real u,
const Vector& da,Vector& dx)
override;
47 virtual void InterpolateDerivB(
const Config& a,
const Config& b,Real u,
const Vector& db,Vector& dx)
override;
48 virtual void InterpolateDeriv2(
const Config& a,
const Config& b,Real u,Vector& ddx)
override;
49 virtual void Integrate(
const Config& a,
const Vector& da,Config& b)
override;
54 vector<Real> jointWeights;
55 Real floatingRotationWeight;
56 vector<Real> jointRadiusScale;
57 Real floatingRotationRadiusScale;
58 Real unboundedStdDeviation;
70 virtual int NumDimensions()
override;
71 virtual string VariableName(
int i)
override;
72 virtual void Sample(Config& x)
override;
73 virtual void Interpolate(
const Config& x,
const Config& y,Real u,Config& out)
override;
74 virtual Real
Distance(
const Config& x,
const Config& y)
override;
75 virtual void Properties(PropertyMap&)
override;
77 virtual void InterpolateDeriv(
const Config& a,
const Config& b,Real u,Vector& dx)
override;
78 virtual void InterpolateDerivA(
const Config& a,
const Config& b,Real u,
const Vector& da,Vector& dx)
override;
79 virtual void InterpolateDerivB(
const Config& a,
const Config& b,Real u,
const Vector& db,Vector& dx)
override;
80 virtual void InterpolateDeriv2(
const Config& a,
const Config& b,Real u,Vector& ddx)
override;
81 virtual void Integrate(
const Config& a,
const Vector& da,Config& b)
override;
111 void FixDof(
int dof,Real value);
113 void IgnoreCollisions(
int a,
int b);
117 virtual void Sample(Config& x)
override;
118 virtual void SampleNeighborhood(
const Config& c,Real r,Config& x)
override;
119 virtual bool IsFeasible(
const Config& x)
override;
120 virtual EdgePlannerPtr PathChecker(
const Config& a,
const Config& b,
int obstacle)
override;
121 virtual EdgePlannerPtr PathChecker(
const Config& a,
const Config& b)
override;
122 virtual void Properties(PropertyMap& map)
override;
124 virtual void GetJointLimits(Vector& bmin,Vector& bmax);
126 bool UpdateGeometry(
const Config& x);
127 bool CheckJointLimits(
const Config& x);
128 bool CheckCollisionFree(
const Config& x);
134 vector<pair<int,int> > collisionPairs;
135 vector<Geometry::AnyCollisionQuery> collisionQueries;
137 vector<int> fixedDofs;
138 vector<Real> fixedValues;
139 vector<pair<int,int> > ignoreCollisions;
140 bool constraintsDirty;
153 virtual EdgePlannerPtr PathChecker(
const Config& a,
const Config& b)
override;
156 void IgnoreCollisions(
int id);
158 bool UpdateGeometry(
const Config& x);
164 vector<pair<int,int> > collisionPairs;
165 vector<Geometry::AnyCollisionQuery> collisionQueries;
167 bool constraintsDirty;
A cspace consisting of a single robot configuration in a WorldModel. Feasibility constraints are join...
Definition: RobotCSpace.h:103
A structure containing settings that should be used for collision detection, contact solving...
Definition: PlannerSettings.h:43
A (static) rigid object that may be manipulated.
Definition: RigidObject.h:15
Defines the WorldModel class.
Real Distance(const RobotModel &robot, const Config &a, const Config &b, Real norm, Real floatingRotationWeight=1.0)
Returns the geodesic distance between a and b. Combines individual joint distances together via the L...
void Integrate(RobotModel &robot, const Config &q, const Vector &dq, Config &b)
Integrates a velocity vector dq from q to obtain the configuration b.
The main robot type used in RobotSim.
Definition: Robot.h:83
A CSpace for just a few dofs of a robot. Slightly faster than using a regular RobotCSpace then pickin...
Definition: RobotCSpace.h:66
Implements a basic robot configuration space with only joint limit constraint testing.
Definition: RobotCSpace.h:32
Definition: ContactDistance.h:6
void Interpolate(RobotModel &robot, const Config &x, const Config &y, Real u, Config &out)
Interpolates between the two configurations in geodesic fashion on the robot's underlying configurati...
A configuration space for a rigid object, treated like a robot.
Definition: RobotCSpace.h:148
The main world class containing multiple robots, objects, and static geometries (terrains). Lights and other viewport information may also be stored here.
Definition: World.h:24