NJointBimanualObjLevelMultiMPController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <VirtualRobot/VirtualRobot.h>
4 
7 
9 #include <armarx/control/deprecated_njoint_mp_controller/bimanual/ObjLevelControllerInterface.h>
10 
11 namespace armarx
12 {
13  class SensorValue1DoFActuatorTorque;
14  class SensorValue1DoFActuatorVelocity;
15  class SensorValue1DoFActuatorPosition;
16  class SensorValue1DoFActuatorAcceleration;
17  class ControlTarget1DoFActuatorTorque;
18  class SensorValueForceTorque;
19 } // namespace armarx
20 
22 {
24 
25  TYPEDEF_PTRS_HANDLE(NJointBimanualObjLevelMultiMPController);
26  TYPEDEF_PTRS_HANDLE(NJointBimanualObjLevelMultiMPControlData);
27 
29  {
30  public:
31  // control target from Movement Primitives
33  Eigen::VectorXf objTargetTwist;
34 
36  Eigen::VectorXf leftTargetTwistInObj;
37 
39  Eigen::VectorXf rightTargetTwistInObj;
40  };
41 
43  public NJointControllerWithTripleBuffer<NJointBimanualObjLevelMultiMPControlData>,
45  {
46  public:
47  // using ConfigPtrT = BimanualForceControllerConfigPtr;
49  const NJointControllerConfigPtr& config,
50  const VirtualRobot::RobotPtr&);
51 
52  // NJointControllerInterface interface
53  std::string getClassName(const Ice::Current&) const;
54 
55  // NJointController interface
56 
57  void rtRun(const IceUtil::Time& sensorValuesTimestamp,
58  const IceUtil::Time& timeSinceLastIteration);
59 
60  // NJointCCDMPControllerInterface interface
61  void learnDMPFromFiles(const Ice::StringSeq& fileNames, const Ice::Current&);
62  void learnMultiDMPFromFiles(const Ice::StringSeq& objFileNames,
63  const Ice::StringSeq& leftFileNames,
64  const Ice::StringSeq& rightFileNames,
65  const Ice::Current&);
66 
67  bool
68  isFinished(const Ice::Current&)
69  {
70  return finished;
71  }
72 
74  skew(Eigen::Vector3f vec)
75  {
76  Eigen::Matrix3f mat = Eigen::MatrixXf::Zero(3, 3);
77  mat(1, 2) = -vec(0);
78  mat(0, 2) = vec(1);
79  mat(0, 1) = -vec(2);
80  mat(2, 1) = vec(0);
81  mat(2, 0) = -vec(1);
82  mat(1, 0) = vec(2);
83  return mat;
84  }
85 
86  // void runDMP(const Ice::DoubleSeq& goals, Ice::Double tau, const Ice::Current&);
87  void runDMP(const Ice::DoubleSeq& goalObj,
88  const Ice::DoubleSeq& goalLeft,
89  const Ice::DoubleSeq& goalRight,
90  Ice::Double timeDuration,
91  const Ice::Current&);
92  void runDMPWithVirtualStart(const Ice::DoubleSeq& starts,
93  const Ice::DoubleSeq& goals,
94  Ice::Double timeDuration,
95  const Ice::Current&);
96 
97  void setGoals(const Ice::DoubleSeq& goals, const Ice::Current&);
98  void setMultiMPGoals(const Ice::DoubleSeq& goalObj,
99  const Ice::DoubleSeq& goalLeft,
100  const Ice::DoubleSeq& goalRight,
101  const Ice::Current& ice);
102 
103  void setViaPoints(Ice::Double u, const Ice::DoubleSeq& viapoint, const Ice::Current&);
104  void removeAllViaPoints(const Ice::Current&);
105 
106  double
107  getVirtualTime(const Ice::Current&)
108  {
109  return virtualtimer;
110  }
111 
112  void setKpImpedance(const Ice::FloatSeq& value, const Ice::Current&);
113  void setKdImpedance(const Ice::FloatSeq& value, const Ice::Current&);
114  void setKmAdmittance(const Ice::FloatSeq& value, const Ice::Current&);
115  void setKpAdmittance(const Ice::FloatSeq& value, const Ice::Current&);
116  void setKdAdmittance(const Ice::FloatSeq& value, const Ice::Current&);
117 
118  std::vector<float> getCurrentObjVel(const Ice::Current&);
119  std::vector<float> getCurrentObjForce(const Ice::Current&);
120 
121  void getObjStatus(Eigen::Matrix4f& pose, Eigen::VectorXf& twist);
122  std::vector<double> eigenPose2Vec(const Eigen::Matrix4f& pose);
123  Eigen::VectorXf eigenPose2EigenVec(const Eigen::Matrix4f& pose);
124  Eigen::Matrix4f getLocalPose(const Eigen::Matrix4f& newCoordinate,
125  const Eigen::Matrix4f& globalTargetPose);
126  Eigen::Matrix4f getLocalPose(const std::vector<double>& newCoordinateVec,
127  const std::vector<double>& globalTargetPoseVec);
128  void integrateVel2Pose(const double deltaT, Eigen::VectorXf& vel, Eigen::Matrix4f& pose);
129  void publishVec(const Eigen::VectorXf& bufferVec,
130  const std::string name,
131  StringVariantBaseMap& datafields);
132  void setAmplitude(Ice::Double amp, const Ice::Current&);
133 
134  protected:
135  virtual void onPublish(const SensorAndControl&,
138 
139  void onInitNJointController();
141  void controllerRun();
142 
143  private:
144  Eigen::VectorXf targetWrench;
145 
146  struct RT2DebugData
147  {
148  StringFloatDictionary desired_torques;
149 
150  // dmp targets
151  Eigen::VectorXf objTargetPoseVec;
152  Eigen::VectorXf leftPoseVecInObj;
153  Eigen::VectorXf rightPoseVecInObj;
154  Eigen::VectorXf objTargetTwist;
155 
156  // hand poses
157  Eigen::VectorXf targetHandPoseInRootLeft;
158  Eigen::VectorXf targetHandPoseInRootRight;
159  Eigen::VectorXf currentHandPoseInRootLeft;
160  Eigen::VectorXf currentHandPoseInRootRight;
161 
162  // object pose, vel and force torque
163  Eigen::VectorXf objForceTorque;
164  Eigen::VectorXf objPoseVec;
165  Eigen::VectorXf objCurrentTwist;
166 
167  // virtual pose, vel, acc
168  Eigen::VectorXf virtualPoseVec;
169  Eigen::VectorXf virtualVel;
170  Eigen::VectorXf virtualAcc;
171 
172  // integrated pose
173  Eigen::VectorXf integratedPoseObjVec;
174  Eigen::VectorXf integratedPoseLeftVec;
175  Eigen::VectorXf integratedPoseRightVec;
176 
177  Eigen::VectorXf poseError;
178 
179  // force
180  Eigen::VectorXf forceImpedance;
181  Eigen::VectorXf forcePID;
182  Eigen::VectorXf forcePIDControlValue;
183  Eigen::VectorXf forceTorqueMeasurementInRoot;
184 
185  // parameters
186  Eigen::VectorXf KpImpedance;
187  Eigen::VectorXf KdImpedance;
188  Eigen::VectorXf KpAdmittance;
189  Eigen::VectorXf KdAdmittance;
190  Eigen::VectorXf KmAdmittance;
191  Eigen::VectorXf KmPID;
192  };
193 
194  TripleBuffer<RT2DebugData> rt2DebugBuffer;
195 
196  struct RT2ControlData
197  {
198  double currentTime;
199  double deltaT;
200  Eigen::Matrix4f currentPoseObj;
201  Eigen::VectorXf currentTwistObj;
202 
203  Eigen::Matrix4f currentPoseLeftInObj;
204  Eigen::VectorXf currentTwistLeftInObj;
205 
206  Eigen::Matrix4f currentPoseRightInObj;
207  Eigen::VectorXf currentTwistRightInObj;
208  };
209 
210  TripleBuffer<RT2ControlData> rt2ControlBuffer;
211 
212  struct RT2InterfaceData
213  {
214  Eigen::Matrix4f currentLeftPoseInObjFrame;
215  Eigen::Matrix4f currentRightPoseInObjFrame;
216  Eigen::Matrix4f currentObjPose;
217  Eigen::Vector3f currentObjVel;
218  Eigen::Vector3f currentObjForce;
219  };
220 
221  TripleBuffer<RT2InterfaceData> rt2InterfaceBuffer;
222 
223  struct Inferface2rtData
224  {
225  Eigen::VectorXf KpImpedance;
226  Eigen::VectorXf KdImpedance;
227  Eigen::VectorXf KmAdmittance;
228  Eigen::VectorXf KpAdmittance;
229  Eigen::VectorXf KdAdmittance;
230  };
231 
232  TripleBuffer<Inferface2rtData> interface2rtBuffer;
233 
234 
235  std::vector<ControlTarget1DoFActuatorTorque*> leftTargets;
236  std::vector<const SensorValue1DoFActuatorAcceleration*> leftAccelerationSensors;
237  std::vector<const SensorValue1DoFActuatorVelocity*> leftVelocitySensors;
238  std::vector<const SensorValue1DoFActuatorPosition*> leftPositionSensors;
239 
240  std::vector<ControlTarget1DoFActuatorTorque*> rightTargets;
241  std::vector<const SensorValue1DoFActuatorAcceleration*> rightAccelerationSensors;
242  std::vector<const SensorValue1DoFActuatorVelocity*> rightVelocitySensors;
243  std::vector<const SensorValue1DoFActuatorPosition*> rightPositionSensors;
244 
245  const SensorValueForceTorque* rightForceTorque;
246  const SensorValueForceTorque* leftForceTorque;
247 
248  NJointBimanualObjLevelMultiMPControllerConfigPtr cfg;
249  VirtualRobot::DifferentialIKPtr leftIK;
250  VirtualRobot::DifferentialIKPtr rightIK;
251 
253  tsvmp::TaskSpaceDMPControllerPtr leftTCPInObjDMP;
254  tsvmp::TaskSpaceDMPControllerPtr rightTCPInObjDMP;
255 
256  Eigen::Matrix4f objInitialPose; // in root frame
257  Eigen::Matrix4f leftInitialPose; // in obj frame
258  Eigen::Matrix4f rightInitialPose; // in obj frame
259 
260  // add integrated pose by accumulating dmp target velocity to initial pose
261  Eigen::Matrix4f integratedPoseObj;
262  Eigen::Matrix4f integratedPoseLeft;
263  Eigen::Matrix4f integratedPoseRight;
264 
265  Eigen::Matrix4f objTransMatrixInAnchor;
266 
267  double virtualtimer;
268 
269  mutable MutexType controllerMutex;
270  mutable MutexType interfaceDataMutex;
271  Eigen::VectorXf leftDesiredJointValues;
272  Eigen::VectorXf rightDesiredJointValues;
273 
274  Eigen::VectorXf KpImpedance;
275  Eigen::VectorXf KdImpedance;
276  Eigen::VectorXf KpAdmittance;
277  Eigen::VectorXf KdAdmittance;
278  Eigen::VectorXf KmAdmittance;
279  Eigen::VectorXf KmPID;
280 
281  Eigen::VectorXf virtualAcc;
282  Eigen::VectorXf virtualVel;
283  Eigen::Matrix4f virtualPose;
284 
285  Eigen::Matrix4f sensorFrame2TcpFrameLeft;
286  Eigen::Matrix4f sensorFrame2TcpFrameRight;
287 
288  //static compensation
289  float massLeft;
290  Eigen::Vector3f CoMVecLeft;
291  Eigen::Vector3f forceOffsetLeft;
292  Eigen::Vector3f torqueOffsetLeft;
293 
294  float massRight;
295  Eigen::Vector3f CoMVecRight;
296  Eigen::Vector3f forceOffsetRight;
297  Eigen::Vector3f torqueOffsetRight;
298 
299  // float knull;
300  // float dnull;
301 
302  std::vector<std::string> leftJointNames;
303  std::vector<std::string> rightJointNames;
304 
305  // float torqueLimit;
306  VirtualRobot::RobotNodeSetPtr leftRNS;
307  VirtualRobot::RobotNodeSetPtr rightRNS;
308  VirtualRobot::RobotNodePtr tcpLeft;
309  VirtualRobot::RobotNodePtr tcpRight;
310 
311  std::vector<PIDControllerPtr> forcePIDControllers;
312 
313  // filter parameters
314  float filterCoeff;
315  Eigen::VectorXf filteredOldValue;
316  bool finished;
317  bool dmpStarted;
318  double ftcalibrationTimer;
319  Eigen::VectorXf ftOffset;
320 
321  Eigen::Matrix3f fixedLeftRightRotOffset;
322  Eigen::Vector3f objCom2TCPLeftInObjFrame, objCom2TCPRightInObjFrame;
323 
324  protected:
326  bool firstLoop;
327  };
328 
329 } // namespace armarx::control::deprecated_njoint_mp_controller::bimanual
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::getClassName
std::string getClassName(const Ice::Current &) const
Definition: NJointBimanualObjLevelMultiMPController.cpp:319
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::eigenPose2Vec
std::vector< double > eigenPose2Vec(const Eigen::Matrix4f &pose)
Definition: NJointBimanualObjLevelMultiMPController.cpp:922
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::setKpAdmittance
void setKpAdmittance(const Ice::FloatSeq &value, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1130
NJointControllerWithTripleBuffer.h
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPControlData
Definition: NJointBimanualObjLevelMultiMPController.h:28
armarx::StringVariantBaseMap
std::map< std::string, VariantBasePtr > StringVariantBaseMap
Definition: ManagedIceObject.h:110
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::getLocalPose
Eigen::Matrix4f getLocalPose(const Eigen::Matrix4f &newCoordinate, const Eigen::Matrix4f &globalTargetPose)
Definition: NJointBimanualObjLevelMultiMPController.cpp:993
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::setAmplitude
void setAmplitude(Ice::Double amp, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1092
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::NJointBimanualObjLevelMultiMPController
NJointBimanualObjLevelMultiMPController(const RobotUnitPtr &, const NJointControllerConfigPtr &config, const VirtualRobot::RobotPtr &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:29
armarx::NJointControllerWithTripleBuffer
Definition: NJointControllerWithTripleBuffer.h:10
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController
Definition: NJointBimanualObjLevelMultiMPController.h:42
GfxTL::Matrix4f
MatrixXX< 4, 4, float > Matrix4f
Definition: MatrixXX.h:650
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::getVirtualTime
double getVirtualTime(const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.h:107
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::onDisconnectNJointController
void onDisconnectNJointController()
Definition: NJointBimanualObjLevelMultiMPController.cpp:1520
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPControlData::rightTargetTwistInObj
Eigen::VectorXf rightTargetTwistInObj
Definition: NJointBimanualObjLevelMultiMPController.h:39
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::eigenPose2EigenVec
Eigen::VectorXf eigenPose2EigenVec(const Eigen::Matrix4f &pose)
Definition: NJointBimanualObjLevelMultiMPController.cpp:930
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::setKpImpedance
void setKpImpedance(const Ice::FloatSeq &value, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1073
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::onPublish
virtual void onPublish(const SensorAndControl &, const DebugDrawerInterfacePrx &, const DebugObserverInterfacePrx &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1212
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPControlData::objTargetPose
Eigen::Matrix4f objTargetPose
Definition: NJointBimanualObjLevelMultiMPController.h:32
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::learnMultiDMPFromFiles
void learnMultiDMPFromFiles(const Ice::StringSeq &objFileNames, const Ice::StringSeq &leftFileNames, const Ice::StringSeq &rightFileNames, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:879
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::publishVec
void publishVec(const Eigen::VectorXf &bufferVec, const std::string name, StringVariantBaseMap &datafields)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1200
armarx::detail::ControlThreadOutputBufferEntry
Definition: ControlThreadOutputBuffer.h:182
armarx::VariantType::Double
const VariantTypeId Double
Definition: Variant.h:920
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::integrateVel2Pose
void integrateVel2Pose(const double deltaT, Eigen::VectorXf &vel, Eigen::Matrix4f &pose)
Definition: NJointBimanualObjLevelMultiMPController.cpp:911
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPControlData::leftTargetPoseInObj
Eigen::Matrix4f leftTargetPoseInObj
Definition: NJointBimanualObjLevelMultiMPController.h:35
cxxopts::value
std::shared_ptr< Value > value()
Definition: cxxopts.hpp:855
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::setKdImpedance
void setKdImpedance(const Ice::FloatSeq &value, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1112
armarx::NJointBimanualObjLevelMultiMPControllerInterface::getCurrentObjForce
Ice::FloatSeq getCurrentObjForce()
armarx::NJointBimanualObjLevelMultiMPControllerInterface::getCurrentObjVel
Ice::FloatSeq getCurrentObjVel()
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::setMultiMPGoals
void setMultiMPGoals(const Ice::DoubleSeq &goalObj, const Ice::DoubleSeq &goalLeft, const Ice::DoubleSeq &goalRight, const Ice::Current &ice)
Definition: NJointBimanualObjLevelMultiMPController.cpp:899
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPControlData::objTargetTwist
Eigen::VectorXf objTargetTwist
Definition: NJointBimanualObjLevelMultiMPController.h:33
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::setViaPoints
void setViaPoints(Ice::Double u, const Ice::DoubleSeq &viapoint, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1057
armarx::control::deprecated_njoint_mp_controller::tsvmp
Definition: NJointTaskSpaceImpedanceDMPController.h:27
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::rtRun
void rtRun(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration)
TODO make protected and use attorneys.
Definition: NJointBimanualObjLevelMultiMPController.cpp:400
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::setGoals
void setGoals(const Ice::DoubleSeq &goals, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:891
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::controllerRun
void controllerRun()
Definition: NJointBimanualObjLevelMultiMPController.cpp:325
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::runDMP
void runDMP(const Ice::DoubleSeq &goalObj, const Ice::DoubleSeq &goalLeft, const Ice::DoubleSeq &goalRight, Ice::Double timeDuration, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:946
armarx::armem::Time
armarx::core::time::DateTime Time
Definition: forward_declarations.h:13
TaskSpaceVMP.h
PIDController.h
armarx::control::deprecated_njoint_mp_controller::tsvmp::TaskSpaceDMPControllerPtr
std::shared_ptr< TaskSpaceDMPController > TaskSpaceDMPControllerPtr
Definition: NJointTaskSpaceImpedanceDMPController.h:31
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::isFinished
bool isFinished(const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.h:68
armarx::NJointControllerWithTripleBuffer< NJointBimanualObjLevelMultiMPControlData >::MutexType
std::recursive_mutex MutexType
Definition: NJointControllerWithTripleBuffer.h:13
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPControlData::rightTargetPoseInObj
Eigen::Matrix4f rightTargetPoseInObj
Definition: NJointBimanualObjLevelMultiMPController.h:38
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::setKdAdmittance
void setKdAdmittance(const Ice::FloatSeq &value, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1148
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::rtPreActivateController
void rtPreActivateController()
This function is called before the controller is activated.
Definition: NJointBimanualObjLevelMultiMPController.cpp:314
IceUtil::Handle< class RobotUnit >
armarx::NJointBimanualObjLevelMultiMPControllerInterface::removeAllViaPoints
void removeAllViaPoints()
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::skew
Eigen::Matrix3f skew(Eigen::Vector3f vec)
Definition: NJointBimanualObjLevelMultiMPController.h:74
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::firstLoop
bool firstLoop
Definition: NJointBimanualObjLevelMultiMPController.h:326
IceInternal::ProxyHandle<::IceProxy::armarx::DebugDrawerInterface >
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::onInitNJointController
void onInitNJointController()
Definition: NJointBimanualObjLevelMultiMPController.cpp:1500
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::getObjStatus
void getObjStatus(Eigen::Matrix4f &pose, Eigen::VectorXf &twist)
Definition: NJointBimanualObjLevelMultiMPController.cpp:853
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::learnDMPFromFiles
void learnDMPFromFiles(const Ice::StringSeq &fileNames, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:872
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPControlData::leftTargetTwistInObj
Eigen::VectorXf leftTargetTwistInObj
Definition: NJointBimanualObjLevelMultiMPController.h:36
GfxTL::Matrix3f
MatrixXX< 3, 3, float > Matrix3f
Definition: MatrixXX.h:649
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::setKmAdmittance
void setKmAdmittance(const Ice::FloatSeq &value, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1166
armarx::NJointBimanualObjLevelMultiMPControllerInterface
Definition: ObjLevelControllerInterface.ice:239
VirtualRobot::RobotPtr
std::shared_ptr< class Robot > RobotPtr
Definition: Bus.h:19
armarx::control::deprecated_njoint_mp_controller::bimanual
Definition: NJointBimanualCartesianAdmittanceController.cpp:30
armarx::TripleBuffer< RT2DebugData >
armarx::control::deprecated_njoint_mp_controller::bimanual::NJointBimanualObjLevelMultiMPController::runDMPWithVirtualStart
void runDMPWithVirtualStart(const Ice::DoubleSeq &starts, const Ice::DoubleSeq &goals, Ice::Double timeDuration, const Ice::Current &)
Definition: NJointBimanualObjLevelMultiMPController.cpp:1035
armarx::control::deprecated_njoint_mp_controller::bimanual::TYPEDEF_PTRS_HANDLE
TYPEDEF_PTRS_HANDLE(NJointBimanualCartesianAdmittanceController)