25 #include <ArmarXCore/interface/serialization/Eigen.ice>
27 #include <RobotAPI/interface/core/Trajectory.ice>
28 #include <RobotAPI/interface/units/RobotUnit/NJointController.ice>
37 string dmpMode =
"MinimumJerk";
38 string dmpType =
"Discrete";
59 void learnDMPFromFiles(Ice::StringSeq trajfiles);
60 void learnJointDMPFromFiles(
string jointTrajFile, Ice::FloatSeq currentJVS);
63 void runDMP(Ice::DoubleSeq goals);
64 void runDMPWithTime(Ice::DoubleSeq goals,
double timeDuration);
66 void setViaPoints(
double canVal, Ice::DoubleSeq point);
67 void setGoals(Ice::DoubleSeq goals);
69 double getVirtualTime();
70 void setCanVal(
double canVal);
76 void setKdImpedance(Ice::FloatSeq dampings);
77 void setKpImpedance(Ice::FloatSeq stiffness);
78 void setKpNull(Ice::FloatSeq knull);
79 void setKdNull(Ice::FloatSeq dnull);
80 Ice::FloatSeq getForce();
81 Ice::FloatSeq getVelocityInMM();
82 void removeAllViaPoints();
84 void setUseNullSpaceJointDMP(
bool useJointDMP);
85 void setDefaultJointValues(Ice::FloatSeq desiredJointVals);
93 double dmpAmplitude = 1;
94 double timeDuration = 10;
98 float phaseDist0 = 50;
99 float phaseDist1 = 10;
100 double phaseKpPos = 1;
101 double phaseKpOri = 0.1;
102 double posToOriRatio = 100;
106 string nodeSetName =
"";
118 string forceSensorName =
"FT R";
119 string forceFrameName =
"ArmR8_Wri2";
120 float forceFilter = 0.8;
121 float waitTimeForCalibration = 0.1;
124 float minimumReactForce = 0;
152 void learnDMPFromFiles(Ice::StringSeq trajfiles);
153 void learnDMPFromTrajectory(TrajectoryBase trajectory);
156 void runDMP(Ice::DoubleSeq goals,
double tau);
158 void setSpeed(
double times);
159 void setGoals(Ice::DoubleSeq goals);
160 void setAmplitude(
double amplitude);
161 void setTargetForceInRootFrame(
float force);
170 int kernelSize = 100;
171 double dmpAmplitude = 1;
172 double timeDuration = 10;
176 float phaseDist0 = 50;
177 float phaseDist1 = 10;
178 double phaseKpPos = 1;
179 double phaseKpOri = 0.1;
180 double posToOriRatio = 100;
184 string nodeSetName =
"";
196 string forceSensorName =
"FT R";
197 string forceFrameName =
"ArmR8_Wri2";
198 float forceFilter = 0.8;
199 float waitTimeForCalibration = 0.1;
202 int velocityHorizon = 100;
203 int frictionHorizon = 100;
216 float minimumReactForce = 0;
268 NJointControllerInterface
270 void learnDMPFromFiles(Ice::StringSeq trajfiles);
271 void learnDMPFromTrajectory(TrajectoryBase trajectory);
274 void runDMP(Ice::DoubleSeq goals,
double tau);
276 void setSpeed(
double times);
277 void setGoals(Ice::DoubleSeq goals);
278 void setAmplitude(
double amplitude);
279 void setTargetForceInRootFrame(
float force);
283 Ice::FloatSeq getAnomalyInput();
284 Ice::FloatSeq getAnomalyOutput();
286 void setTrigerAbnormalEvent(
bool abnormal);