diff --git a/source/RobotAPI/interface/units/RobotUnit/TaskSpaceActiveImpedanceControl.ice b/source/RobotAPI/interface/units/RobotUnit/TaskSpaceActiveImpedanceControl.ice index 8d1800bd02d45d0e06e556efafee1bc415e45958..0a831756ab20b3f39ede1ae0386265460d3502c9 100644 --- a/source/RobotAPI/interface/units/RobotUnit/TaskSpaceActiveImpedanceControl.ice +++ b/source/RobotAPI/interface/units/RobotUnit/TaskSpaceActiveImpedanceControl.ice @@ -22,6 +22,7 @@ #pragma once +#include <ArmarXCore/interface/serialization/Eigen.ice> #include <RobotAPI/interface/units/RobotUnit/NJointController.ice> module armarx @@ -29,24 +30,32 @@ module armarx class NJointTaskSpaceImpedanceControlConfig extends NJointControllerConfig { string nodeSetName; - Ice::FloatSeq desiredPoseVec; - Ice::FloatSeq desiredJointPositions; - - Ice::FloatSeq Kpos; - Ice::FloatSeq Kori; - Ice::FloatSeq Dpos; - Ice::FloatSeq Dori; - Ice::FloatSeq Knull; - Ice::FloatSeq Dnull; - float torqueLimit; + Eigen::Vector3f desiredPosition; + Eigen::Quaternionf desiredOrientation; + + Eigen::Vector3f Kpos; + Eigen::Vector3f Kori; + Eigen::Vector3f Dpos; + Eigen::Vector3f Dori; + + Eigen::VectorXf desiredJointPositions; + Eigen::VectorXf Knull; + Eigen::VectorXf Dnull; + + float torqueLimit; }; interface NJointTaskSpaceImpedanceControlInterface extends NJointControllerInterface { - void setPosition(Ice::FloatSeq target); - void setOrientation(Ice::FloatSeq orientation); + void setPosition(Eigen::Vector3f target); + void setOrientation(Eigen::Quaternionf orientation); + void setPositionOrientation(Eigen::Vector3f target, Eigen::Quaternionf orientation); + void setPose(Eigen::Matrix4f mat); + void setImpedanceParameters(string paraName, Ice::FloatSeq vals); + void setNullspaceConfig(Eigen::VectorXf desiredJointPositions, Eigen::VectorXf Knull, Eigen::VectorXf Dnull); + void setConfig(NJointTaskSpaceImpedanceControlConfig cfg); }; };