diff --git a/source/RobotAPI/interface/armem/server/ArticulatedObjectMemoryInterface.ice b/source/RobotAPI/interface/armem/server/ArticulatedObjectMemoryInterface.ice
new file mode 100644
index 0000000000000000000000000000000000000000..cd27341d40d096aabe7dc6405a23bbd84d26352d
--- /dev/null
+++ b/source/RobotAPI/interface/armem/server/ArticulatedObjectMemoryInterface.ice
@@ -0,0 +1,72 @@
+/*
+ * 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/>.
+ *
+ * @author     Fabian Reister ( fabian dot reister at kit dot edu )
+ * @date       2021
+ * @copyright  http://www.gnu.org/licenses/gpl-2.0.txt
+ *             GNU General Public License
+ */
+
+#pragma once
+
+#include <RobotAPI/interface/armem/server/MemoryInterface.ice>
+
+#include <RobotAPI/interface/objectpose/ObjectPoseStorageInterface.ice>
+
+module armarx
+{
+
+    module articulated_object
+    {
+
+        interface ArticulatedObjectPoseStorageInterface extends
+                armarx::articulated_object::ArticulatedObjectTopic
+        {
+            // Object poses
+
+            data::ArticulatedObjects getArticulatedObjects();
+            data::ArticulatedObjects getArticulatedObjectsByProvider(string providerName);
+
+            // Provider information
+
+            bool hasProvider(string providerName);
+            Ice::StringSeq getAvailableProviderNames();
+            // ProviderInfoMap getAvailableProvidersInfo();
+            // ProviderInfo getProviderInfo(string providerName);
+
+            // Requesting
+
+            //observer::RequestObjectsOutput requestArticulatedObjects(
+            //        observer::RequestObjectsInput input);
+        };
+    }
+
+    module armem
+    {
+        module server
+        {
+
+            interface ArticulatedObjectInstanceSegmentInterface extends
+                    armarx::objpose::ObjectPoseStorageInterface{
+
+                    };
+
+            interface ArticulatedObjectMemoryInterface extends MemoryInterface,
+                    ArticulatedObjectInstanceSegmentInterface{
+
+                    };
+        };
+    };
+};