diff --git a/source/RobotAPI/libraries/core/Pose.cpp b/source/RobotAPI/libraries/core/Pose.cpp
index 1464eb5cd98a0c102ed0d4320a5faa6bfa347169..cc4ba42ef370383cea0a30867de28ff9f3c6a7e0 100644
--- a/source/RobotAPI/libraries/core/Pose.cpp
+++ b/source/RobotAPI/libraries/core/Pose.cpp
@@ -222,6 +222,11 @@ namespace armarx
         return rot;
     }
 
+    Eigen::Quaternionf Quaternion::toEigenQuaternion() const
+    {
+        return Quaternionf(this->qw, this->qx, this->qy, this->qz);
+    }
+
     void Quaternion::init(const Matrix3f &m3)
     {
         Quaternionf q;
diff --git a/source/RobotAPI/libraries/core/Pose.h b/source/RobotAPI/libraries/core/Pose.h
index 38a176465c23ab52c42bcbee27ebe04872b42c03..727cac0e2e328f3e04d89030c5c6cbb763655bd2 100644
--- a/source/RobotAPI/libraries/core/Pose.h
+++ b/source/RobotAPI/libraries/core/Pose.h
@@ -188,6 +188,7 @@ namespace armarx
         Quaternion(::Ice::Float qw, ::Ice::Float qx, ::Ice::Float qy, ::Ice::Float qz);
 
         Eigen::Matrix3f toEigen() const;
+        Eigen::Quaternionf toEigenQuaternion() const;
         Eigen::Matrix3f slerp(float, const Eigen::Matrix3f &);
 
         static Eigen::Matrix3f slerp(float, const Eigen::Matrix3f &, const Eigen::Matrix3f &);