diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
index 8233df3d685339da7f43c134e588a21324a8ec79..e3f006eaf4a554d13705868eaf812955b2fcfb12 100644
--- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
+++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
@@ -21,13 +21,14 @@
  */
 
 #include "RobotStateMemory.h"
-#include "RobotAPI/libraries/armem/core/forward_declarations.h"
+#include <RobotAPI/libraries/armem/core/forward_declarations.h>
 
 #include <RobotAPI/interface/core/PoseBase.h>
 #include <RobotAPI/libraries/core/Pose.h>
 #include <RobotAPI/libraries/armem/core/Prediction.h>
 #include <RobotAPI/libraries/armem_robot_state/server/proprioception/aron_conversions.h>
 #include <RobotAPI/libraries/armem_robot_state/server/common/Visu.h>
+#include <RobotAPI/libraries/armem_robot_state/memory_ids.h>
 #include <RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.h>
 
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
@@ -82,7 +83,7 @@ namespace armarx::armem::server::robot_state
 
         const std::string prefix = "mem.";
 
-        setMemoryName("RobotState");
+        setMemoryName(armem::robot_state::memoryID.memoryName);
 
         descriptionSegment.defineProperties(defs, prefix + "desc.");
         proprioceptionSegment.defineProperties(defs, prefix + "prop.");
diff --git a/source/RobotAPI/libraries/armem_robot_state/CMakeLists.txt b/source/RobotAPI/libraries/armem_robot_state/CMakeLists.txt
index aafe0978d9d41e95b51dfabfe49d33783e2791ea..a9c0ceb1b8cd552915819a052a2ffd73bbfdec29 100644
--- a/source/RobotAPI/libraries/armem_robot_state/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem_robot_state/CMakeLists.txt
@@ -38,6 +38,7 @@ armarx_add_library(
         client/localization/TransformWriter.h
 
         aron_conversions.h
+        memory_ids.h
         utils.h
 
     SOURCES
@@ -52,6 +53,7 @@ armarx_add_library(
         client/localization/TransformWriter.cpp
 
         aron_conversions.cpp
+        memory_ids.cpp
         utils.cpp
 )
 
diff --git a/source/RobotAPI/libraries/armem_robot_state/memory_ids.cpp b/source/RobotAPI/libraries/armem_robot_state/memory_ids.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..926c2e843e252efdc9c4711bbe2b03a3a7394bba
--- /dev/null
+++ b/source/RobotAPI/libraries/armem_robot_state/memory_ids.cpp
@@ -0,0 +1,36 @@
+/*
+ * This file is part of ArmarX.
+ *
+ * ArmarX is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * ArmarX is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @package    RobotAPI::ArmarXObjects::armem_robot_state
+ * @author     Rainer Kartmann ( rainer dot kartmann at kit dot edu )
+ * @date       2022
+ * @copyright  http://www.gnu.org/licenses/gpl-2.0.txt
+ *             GNU General Public License
+ */
+
+#include "memory_ids.h"
+
+
+namespace armarx::armem
+{
+
+    const MemoryID robot_state::memoryID { "RobotState" };
+
+    const MemoryID robot_state::descriptionSegmentID { memoryID.withCoreSegmentName("Description") };
+    const MemoryID robot_state::proprioceptionSegmentID { memoryID.withCoreSegmentName("Proprioception") };
+    const MemoryID robot_state::localizationSegmentID { memoryID.withCoreSegmentName("Localization") };
+
+
+}
diff --git a/source/RobotAPI/libraries/armem_robot_state/memory_ids.h b/source/RobotAPI/libraries/armem_robot_state/memory_ids.h
new file mode 100644
index 0000000000000000000000000000000000000000..1d8008d4db8d7a71da0a8ca47420040060382ca6
--- /dev/null
+++ b/source/RobotAPI/libraries/armem_robot_state/memory_ids.h
@@ -0,0 +1,37 @@
+/*
+ * This file is part of ArmarX.
+ *
+ * ArmarX is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * ArmarX is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @package    RobotAPI::ArmarXObjects::armem_robot_state
+ * @author     Rainer Kartmann ( rainer dot kartmann at kit dot edu )
+ * @date       2022
+ * @copyright  http://www.gnu.org/licenses/gpl-2.0.txt
+ *             GNU General Public License
+ */
+
+#pragma once
+
+#include <RobotAPI/libraries/armem/core/MemoryID.h>
+
+
+namespace armarx::armem::robot_state
+{
+
+    extern const MemoryID memoryID;
+
+    extern const MemoryID descriptionSegmentID;
+    extern const MemoryID proprioceptionSegmentID;
+    extern const MemoryID localizationSegmentID;
+
+} // namespace armarx::armem::objects
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
index f6cba1d8c22086497f7eb537c6a3e16fa2e2faf4..ec68b26342c527923fc997d94d53796e968e1083 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
@@ -20,13 +20,14 @@
 #include <RobotAPI/libraries/armem_robot/aron_conversions.h>
 #include <RobotAPI/libraries/armem_robot/robot_conversions.h>
 #include <RobotAPI/libraries/armem_robot_state/aron/Proprioception.aron.generated.h>
+#include <RobotAPI/libraries/armem_robot_state/memory_ids.h>
 
 
 namespace armarx::armem::server::robot_state::description
 {
 
     Segment::Segment(armem::server::MemoryToIceAdapter& memoryToIceAdapter) :
-        Base(memoryToIceAdapter, "Description", arondto::RobotDescription::ToAronType())
+        Base(memoryToIceAdapter, armem::robot_state::descriptionSegmentID.coreSegmentName, arondto::RobotDescription::ToAronType())
     {
     }
 
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.cpp
index c41908c9ac35ca17519e4c7400eb04903791699b..3cadfeccb0a86bd6672dd1af8fc072086dca4fa4 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.cpp
@@ -27,13 +27,14 @@
 #include <RobotAPI/libraries/armem_robot_state/common/localization/TransformHelper.h>
 #include <RobotAPI/libraries/armem_robot_state/common/localization/types.h>
 #include <RobotAPI/libraries/armem_robot_state/client/common/constants.h>
+#include <RobotAPI/libraries/armem_robot_state/memory_ids.h>
 
 
 namespace armarx::armem::server::robot_state::localization
 {
 
     Segment::Segment(armem::server::MemoryToIceAdapter& memoryToIceAdapter) :
-        Base(memoryToIceAdapter, "Localization", arondto::Transform::ToAronType(), 1024)
+        Base(memoryToIceAdapter, armem::robot_state::localizationSegmentID.coreSegmentName, arondto::Transform::ToAronType(), 1024)
     {
     }
 
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp
index 3351772f3344698e006c06a92b86dcaff0868801..99c330e7661d35c5b161c26e1d18b45af2d91ce9 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp
@@ -13,6 +13,7 @@
 #include <RobotAPI/libraries/armem/core/MemoryID.h>
 #include <RobotAPI/libraries/armem/util/prediction_helpers.h>
 #include <RobotAPI/libraries/armem_robot_state/aron/Proprioception.aron.generated.h>
+#include <RobotAPI/libraries/armem_robot_state/memory_ids.h>
 
 
 namespace armarx::armem::server::robot_state::proprioception
@@ -20,7 +21,7 @@ namespace armarx::armem::server::robot_state::proprioception
 
     Segment::Segment(armem::server::MemoryToIceAdapter& memoryToIceAdapter) :
         Base(memoryToIceAdapter,
-             "Proprioception",
+             armem::robot_state::proprioceptionSegmentID.coreSegmentName,
              arondto::Proprioception::ToAronType(),
              1024)
     {