diff --git a/source/RobotAPI/libraries/aron/converter/eigen/EigenConverter.h b/source/RobotAPI/libraries/aron/converter/eigen/EigenConverter.h
index 6c45ffbdb7400b4d3bbc365559c3fa6563e1fd89..9d83042a1ce7e0254c827350a87d515f05761665 100644
--- a/source/RobotAPI/libraries/aron/converter/eigen/EigenConverter.h
+++ b/source/RobotAPI/libraries/aron/converter/eigen/EigenConverter.h
@@ -135,6 +135,16 @@ namespace armarx::aron::converter
             }
         }
 
+        template<typename T>
+        static data::NDArrayPtr ConvertFromQuaternion(
+            const Eigen::Quaternion<T>& quat)
+        {
+            data::NDArrayPtr ndArr(new data::NDArray);
+            ndArr->setShape({1, 4});
+            ndArr->setData(sizeof(T) * 4, reinterpret_cast <const unsigned char* >(quat.coeffs().data()));
+
+            return ndArr;
+        }
 
         template<typename T>
         static data::NDArrayPtr ConvertFromMatrix(
@@ -148,6 +158,18 @@ namespace armarx::aron::converter
             return ndArr;
         }
 
+        template<typename T, int Rows = Eigen::Dynamic, int Cols = Eigen::Dynamic>
+        static data::NDArrayPtr ConvertFromMatrix(
+            const Eigen::Matrix < T, Rows, Cols >& mat)
+        {
+            data::NDArrayPtr ndArr(new data::NDArray);
+
+            ndArr->setShape({Rows, Cols});
+            ndArr->setData(sizeof(T) * mat.size(), reinterpret_cast <const unsigned char* >(mat.data()));
+
+            return ndArr;
+        }
+
 
         // Eigen::Array