25 #include <VirtualRobot/VirtualRobot.h>
31 #include <RobotAPI/interface/units/RobotUnit/TaskSpaceActiveImpedanceControl.h>
33 #include "../ControllerParts/CartesianImpedanceController.h"
50 public NJointTaskSpaceImpedanceControlInterface
53 using ConfigPtrT = NJointTaskSpaceImpedanceControlConfigPtr;
56 const NJointControllerConfigPtr& config,
62 return "TaskSpaceImpedanceController";
74 void setPosition(
const Eigen::Vector3f&,
const Ice::Current&)
override;
78 const Ice::Current&)
override;
83 const Ice::Current&)
override;
85 const Eigen::VectorXf& knull,
86 const Eigen::VectorXf& dnull,
87 const Ice::Current&)
override;
88 void setConfig(
const NJointTaskSpaceImpedanceControlRuntimeConfig& cfg,
89 const Ice::Current&)
override;
92 std::vector<const SensorValue1DoFActuatorTorque*> torqueSensors;
93 std::vector<const SensorValue1DoFActuatorVelocity*> velocitySensors;
94 std::vector<const SensorValue1DoFActuatorPosition*> positionSensors;
96 std::vector<ControlTarget1DoFActuatorTorque*> targets;
98 struct NJointTaskSpaceImpedanceControllerDebugInfo
100 StringFloatDictionary desired_torques;
101 float desiredForce_x;
102 float desiredForce_y;
103 float desiredForce_z;
104 float tcpDesiredTorque_x;
105 float tcpDesiredTorque_y;
106 float tcpDesiredTorque_z;
108 float tcpDesiredAngularError_x;
109 float tcpDesiredAngularError_y;
110 float tcpDesiredAngularError_z;
112 float currentTCPAngularVelocity_x;
113 float currentTCPAngularVelocity_y;
114 float currentTCPAngularVelocity_z;
116 float currentTCPLinearVelocity_x;
117 float currentTCPLinearVelocity_y;
118 float currentTCPLinearVelocity_z;
124 TripleBuffer<NJointTaskSpaceImpedanceControllerDebugInfo> debugDataInfo;
126 std::vector<std::string> jointNames;