52 using ConfigPtrT = NJointPeriodicTSDMPCompliantControllerConfigPtr;
54 const NJointControllerConfigPtr& config,
62 void rtRun(
const IceUtil::Time& sensorValuesTimestamp,
63 const IceUtil::Time& timeSinceLastIteration);
75 void setSpeed(Ice::Double times,
const Ice::Current&);
76 void setGoals(
const Ice::DoubleSeq& goals,
const Ice::Current&);
78 void runDMP(
const Ice::DoubleSeq& goals, Ice::Double tau,
const Ice::Current&);
84 return dmpCtrl->canVal;
97 struct DebugBufferData
99 StringFloatDictionary latestTargetVelocities;
100 StringFloatDictionary currentPose;
101 double currentCanVal;
114 Eigen::Matrix4f targetPose;
115 Eigen::Vector3f filteredForce;
116 Eigen::Vector3f reactForce;
117 Eigen::Vector3f adaptK;
118 Eigen::VectorXf targetVel;
119 Eigen::Matrix4f currentPose;
120 Eigen::VectorXf currentTwist;
127 struct RTToControllerData
131 Eigen::Matrix4f currentPose;
132 Eigen::VectorXf currentTwist;
140 Eigen::Matrix4f currentTcpPose;
141 float waitTimeForCalibration;
144 TripleBuffer<RTToUserData> rt2UserData;
151 TripleBuffer<UserToRTData> user2rtData;
156 std::vector<const SensorValue1DoFActuatorVelocity*> velocitySensors;
157 std::vector<const SensorValue1DoFActuatorPosition*> positionSensors;
158 std::vector<ControlTarget1DoFActuatorTorque*> targets;
161 std::string nodeSetName;
167 VirtualRobot::DifferentialIKPtr ik;
168 VirtualRobot::RobotNodePtr tcp;
170 NJointPeriodicTSDMPCompliantControllerConfigPtr cfg;
173 Eigen::Matrix4f targetPose;
175 Eigen::Vector3f kpos;
176 Eigen::Vector3f dpos;
177 Eigen::Vector3f kori;
178 Eigen::Vector3f dori;
183 Eigen::VectorXf nullSpaceJointsVec;
184 const SensorValueForceTorque* forceSensor;
186 Eigen::Vector3f filteredForce;
187 Eigen::Vector3f forceOffset;
188 Eigen::Vector3f filteredForceInRoot;
190 Eigen::Matrix3f toolTransform;
191 Eigen::Vector3f oriToolDir;
192 Eigen::Matrix3f origHandOri;
193 Eigen::VectorXf qvel_filtered;
195 Eigen::Vector3f adaptK;
197 Eigen::Vector2f lastPosition;
201 bool isManipulability =
false;
203 Eigen::MatrixXd targetManipulability;
204 Eigen::MatrixXd kmani;