From 523e33b01ee0390f68a58e530bd754c70a4b2f1f Mon Sep 17 00:00:00 2001
From: Raphael Grimm <raphael.grimm@kit.edu>
Date: Mon, 22 Jun 2020 00:06:07 +0200
Subject: [PATCH] Update ice interface

---
 .../TaskSpaceActiveImpedanceControl.ice       | 33 ++++++++++++-------
 1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/source/RobotAPI/interface/units/RobotUnit/TaskSpaceActiveImpedanceControl.ice b/source/RobotAPI/interface/units/RobotUnit/TaskSpaceActiveImpedanceControl.ice
index 8d1800bd0..0a831756a 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);
     };
 
 };
-- 
GitLab