5 #include <VirtualRobot/Robot.h>
14 #include <dmp/representation/dmp/umidmp.h>
17 #include <armarx/control/deprecated_njoint_mp_controller/joint_space/ControllerInterface.h>
40 using ConfigPtrT = NJointJointSpaceDMPControllerConfigPtr;
44 std::string
getClassName(
const Ice::Current&)
const override;
54 void learnDMPFromFiles(
const Ice::StringSeq& fileNames,
const Ice::Current&)
override;
55 void setSpeed(
double times,
const Ice::Current&)
override;
57 void runDMP(
const Ice::DoubleSeq& goals,
double times,
const Ice::Current&)
override;
62 std::vector<double>
createDMPFromString(
const std::string& dmpString,
const Ice::Current&)
override;
65 void setMPWeights(
const DoubleSeqSeq& weights,
const Ice::Current&)
override;
75 NJointJointSpaceDMPControllerConfigPtr cfg;
76 struct DebugBufferData
78 StringFloatDictionary latestTargetVelocities;
79 StringFloatDictionary latestTargets;
87 struct NJointJSDMPControllerSensorData
91 DMP::Vec<DMP::DMPState> currentState;
103 std::map<std::string, const SensorValue1DoFActuatorPosition*> positionSensors;
104 std::map<std::string, const SensorValue1DoFActuatorVelocity*> velocitySensors;
105 std::map<std::string, ControlTarget1DoFActuatorVelocity*> targets;
109 DMP::UMIDMPPtr dmpPtr;
111 DMP::Vec<DMP::DMPState> currentState;
112 DMP::Vec<DMP::DMPState> currentDMPState;
129 std::vector<std::string> dimNames;
131 Eigen::VectorXf targetVels;
135 Eigen::VectorXf qpos;
136 Eigen::VectorXf qvel;