diff --git a/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.cpp b/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.cpp
index 7699417369cb2dae5d6cc59b8a1d7fabcd0b9251..bfb85d68f00e31832119278e0b155a54810ea424 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.cpp
@@ -66,7 +66,7 @@ namespace armarx::armem::robot_state
     }
 
     std::optional<robot::Robot>
-    RobotReader::get(const std::string& name, const armem::Time& timestamp)
+    RobotReader::get(const std::string& name, const armem::Time& timestamp) const
     {
         const auto description = queryDescription(name, timestamp);
 
@@ -80,7 +80,7 @@ namespace armarx::armem::robot_state
     }
 
     robot::Robot
-    RobotReader::get(const robot::RobotDescription& description, const armem::Time& timestamp)
+    RobotReader::get(const robot::RobotDescription& description, const armem::Time& timestamp) const
     {
         robot::Robot robot{.description = description,
                            .instance = "", // TODO(fabian.reister):
@@ -106,7 +106,7 @@ namespace armarx::armem::robot_state
     }
 
     bool
-    RobotReader::synchronize(robot::Robot& obj, const armem::Time& timestamp)
+    RobotReader::synchronize(robot::Robot& obj, const armem::Time& timestamp) const
     {
         const auto tsStartFunctionInvokation = armem::Time::Now();
 
@@ -136,7 +136,7 @@ namespace armarx::armem::robot_state
     }
 
     std::optional<robot::RobotDescription>
-    RobotReader::queryDescription(const std::string& name, const armem::Time& timestamp)
+    RobotReader::queryDescription(const std::string& name, const armem::Time& timestamp) const
     {
 
         const auto sanitizedTimestamp = timestamp.isValid() ? timestamp : Clock::Now();
@@ -184,7 +184,7 @@ namespace armarx::armem::robot_state
 
     std::optional<robot::RobotState>
     RobotReader::queryState(const robot::RobotDescription& description,
-                            const armem::Time& timestamp)
+                            const armem::Time& timestamp) const
     {
         const auto jointMap = queryJointState(description, timestamp);
         if (not jointMap)
@@ -800,7 +800,7 @@ namespace armarx::armem::robot_state
     }
 
     std::vector<robot::RobotDescription>
-    RobotReader::queryDescriptions(const armem::Time& timestamp)
+    RobotReader::queryDescriptions(const armem::Time& timestamp) const
     {
         const auto sanitizedTimestamp = timestamp.isValid() ? timestamp : Clock::Now();
 
diff --git a/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.h b/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.h
index ee1274fab20cadb62231bc7fdd685c408104e705..3a225855858d830e4cc85183689f2c67a2afff5b 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.h
+++ b/source/RobotAPI/libraries/armem_robot_state/client/common/RobotReader.h
@@ -51,20 +51,20 @@ namespace armarx::armem::robot_state
 
         virtual void registerPropertyDefinitions(::armarx::PropertyDefinitionsPtr& def);
 
-        [[nodiscard]] bool synchronize(robot::Robot& obj, const armem::Time& timestamp) override;
+        [[nodiscard]] bool synchronize(robot::Robot& obj, const armem::Time& timestamp) const override;
 
         std::optional<robot::Robot> get(const std::string& name,
-                                        const armem::Time& timestamp) override;
+                                        const armem::Time& timestamp) const override;
         robot::Robot get(const robot::RobotDescription& description,
-                         const armem::Time& timestamp) override;
+                         const armem::Time& timestamp) const override;
 
         std::optional<robot::RobotDescription> queryDescription(const std::string& name,
-                                                                const armem::Time& timestamp);
+                                                                const armem::Time& timestamp) const;
 
-        std::vector<robot::RobotDescription> queryDescriptions(const armem::Time& timestamp);
+        std::vector<robot::RobotDescription> queryDescriptions(const armem::Time& timestamp) const;
 
         std::optional<robot::RobotState> queryState(const robot::RobotDescription& description,
-                                                    const armem::Time& timestamp);
+                                                    const armem::Time& timestamp) const;
 
         std::optional<robot::RobotState::JointMap>
         queryJointState(const robot::RobotDescription& description,
diff --git a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp
index 416585111bfbd96cca816211285faf9ea3715792..0e972f79138fbfc973dbab543206d94965227f03 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp
@@ -32,7 +32,7 @@ namespace armarx::armem::robot_state
         RobotReader::registerPropertyDefinitions(def);
     }
 
-    bool VirtualRobotReader::synchronizeRobot(VirtualRobot::Robot& robot, const armem::Time& timestamp)
+    bool VirtualRobotReader::synchronizeRobot(VirtualRobot::Robot& robot, const armem::Time& timestamp) const
     {
         // const static auto packages = armarx::CMakePackageFinder::FindAllArmarXSourcePackages();
         // const auto package = armarx::ArmarXDataPath::getProject(packages, robot.getFilename());
diff --git a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.h b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.h
index a80d9b02871c65998c75c3ee5522ef4f71af9a06..7a2f39c17939d30b26ef75057e1c9d302b0f68a8 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.h
+++ b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.h
@@ -47,7 +47,7 @@ namespace armarx::armem::robot_state
         void registerPropertyDefinitions(::armarx::PropertyDefinitionsPtr& def) override;
 
         [[nodiscard]] bool synchronizeRobot(VirtualRobot::Robot& robot,
-                                            const armem::Time& timestamp);
+                                            const armem::Time& timestamp) const;
 
         [[nodiscard]] VirtualRobot::RobotPtr
         getRobot(const std::string& name,