diff --git a/source/RobotAPI/libraries/armem_robot/CMakeLists.txt b/source/RobotAPI/libraries/armem_robot/CMakeLists.txt
index eb0c4fb7d37a4bb43830f224d3a81714f1175f39..43e6af6f4a45f3d638c182bef38e5cdc9cf50d24 100644
--- a/source/RobotAPI/libraries/armem_robot/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem_robot/CMakeLists.txt
@@ -22,6 +22,7 @@ armarx_add_library(
         robot_conversions.h
 
     SOURCES
+        types.cpp
         
         aron_conversions.cpp
         robot_conversions.cpp
diff --git a/source/RobotAPI/libraries/armem_robot/types.cpp b/source/RobotAPI/libraries/armem_robot/types.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..01847402c1e1bdde24956203620c13e15328e913
--- /dev/null
+++ b/source/RobotAPI/libraries/armem_robot/types.cpp
@@ -0,0 +1,11 @@
+#include "types.h"
+
+namespace armarx::armem::robot
+{
+  std::ostream& operator<<(std::ostream &os, const RobotDescription &rhs) 
+  {
+     os << "RobotDescription { name: '" << rhs.name << "', xml: '" << rhs.xml << "' }";
+     return os;
+  }
+  
+}
diff --git a/source/RobotAPI/libraries/armem_robot/types.h b/source/RobotAPI/libraries/armem_robot/types.h
index 4ae48e00f0755b8a24b7baab6f48df14e5f70632..df39df99e945e4a1ef38c38db6f9428404a35bed 100644
--- a/source/RobotAPI/libraries/armem_robot/types.h
+++ b/source/RobotAPI/libraries/armem_robot/types.h
@@ -8,6 +8,7 @@
 
 #include <IceUtil/Time.h>
 
+#include "RobotAPI/libraries/ArmarXObjects/ObjectID.h"
 #include <ArmarXCore/core/PackagePath.h>
 
 
@@ -46,4 +47,6 @@ namespace armarx::armem::robot
     using RobotDescriptions = std::vector<RobotDescription>;
     using RobotStates = std::vector<RobotState>;
 
+    std::ostream& operator<<(std::ostream &os, const RobotDescription &rhs);
+
 }  // namespace armarx::armem::robot