From 52b05de7497d8dd81529ba76ff37eade1fb46110 Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Sun, 9 Oct 2022 18:40:23 +0200
Subject: [PATCH] use better cell names, add simulated cell for MGs

---
 .../config_scene_ceti-table-1-full-grey.json  | 454 ++++++++++++++++++
 .../config_scene_ceti-table-1-full-grey.yaml  |  47 ++
 ...ll_ceti-table-1-emptyworld-coloured.launch |   4 +-
 ...m-cell_ceti-table-1-emptyworld-grey.launch |   4 +-
 ...im-cell_ceti-table-1-fullworld-grey.launch |  19 +
 ...ll_ceti-table-1-emptyworld-coloured.launch |   4 +-
 ...t-cell_ceti-table-1-emptyworld-grey.launch |   4 +-
 ...ain_controller_ceti-table-1_preview.launch |   2 +-
 ...main_controller_virtual-tag_preview.launch |   2 +-
 .../main_controller_virtual_preview.launch    |   2 +-
 src/main_controller.cpp                       |   2 +-
 src/moveit_sorting_controller.cpp             |   2 +-
 src/object_locator.cpp                        |   3 +-
 13 files changed, 535 insertions(+), 14 deletions(-)
 create mode 100644 config/config_scene_ceti-table-1-full-grey.json
 create mode 100644 config/config_scene_ceti-table-1-full-grey.yaml
 create mode 100644 launch/cell-controllers/noop-sim-cell_ceti-table-1-fullworld-grey.launch

diff --git a/config/config_scene_ceti-table-1-full-grey.json b/config/config_scene_ceti-table-1-full-grey.json
new file mode 100644
index 0000000..0100c81
--- /dev/null
+++ b/config/config_scene_ceti-table-1-full-grey.json
@@ -0,0 +1,454 @@
+{
+  "objects": [
+    {
+      "id": "wheel_1",
+      "pos": {
+        "x": 0.28,
+        "y": 0.28,
+        "z": 0.06
+      },
+      "size": {
+        "length": 0.12,
+        "width": 0.12,
+        "height": 0.12
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "wheel_2",
+      "pos": {
+        "x": -0.28,
+        "y": -0.28,
+        "z": 0.06
+      },
+      "size": {
+        "length": 0.12,
+        "width": 0.12,
+        "height": 0.12
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "wheel_3",
+      "pos": {
+        "x": -0.28,
+        "y": 0.28,
+        "z": 0.06
+      },
+      "size": {
+        "length": 0.12,
+        "width": 0.12,
+        "height": 0.12
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "wheel_4",
+      "pos": {
+        "x": 0.28,
+        "y": -0.28,
+        "z": 0.06
+      },
+      "size": {
+        "length": 0.12,
+        "width": 0.12,
+        "height": 0.12
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "table_body_front",
+      "pos": {
+        "x": 0.345,
+        "z": 0.5
+      },
+      "size": {
+        "length": 0.005,
+        "width": 0.69,
+        "height": 0.76
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "table_body_back",
+      "pos": {
+        "x": -0.345,
+        "z": 0.45
+      },
+      "size": {
+        "length": 0.005,
+        "width": 0.69,
+        "height": 0.66
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "table_body_left",
+      "pos": {
+        "y": 0.345,
+        "z": 0.5
+      },
+      "size": {
+        "length": 0.69,
+        "width": 0.005,
+        "height": 0.76
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "table_body_right",
+      "pos": {
+        "y": -0.345,
+        "z": 0.5
+      },
+      "size": {
+        "length": 0.69,
+        "width": 0.005,
+        "height": 0.76
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "table-top",
+      "pos": {
+        "z": 0.885
+      },
+      "size": {
+        "length": 0.8,
+        "width": 0.8,
+        "height": 0.01
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "left_panel",
+      "pos": {
+        "z": 0.885,
+        "y": -0.6525
+      },
+      "size": {
+        "length": 0.7,
+        "width": 0.5,
+        "height": 0.01
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "right_panel",
+      "pos": {
+        "z": 0.885,
+        "y": 0.6525
+      },
+      "size": {
+        "length": 0.7,
+        "width": 0.5,
+        "height": 0.01
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.15,
+        "g": 0.15,
+        "b": 0.15
+      }
+    },
+    {
+      "id": "D",
+      "type": "BIN",
+      "pos": {
+        "x": -0.23,
+        "y": 0.67,
+        "z": 0.9425
+      },
+      "size": {
+        "length": 0.24,
+        "width": 0.17,
+        "height": 0.105
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.2,
+        "g": 0.2,
+        "b": 0.2
+      }
+    },
+    {
+      "id": "C",
+      "type": "BIN",
+      "pos": {
+        "x": -0.23,
+        "y": 0.49,
+        "z": 0.9425
+      },
+      "size": {
+        "length": 0.24,
+        "width": 0.17,
+        "height": 0.105
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.4,
+        "g": 0.4,
+        "b": 0.4
+      }
+    },
+    {
+      "id": "B",
+      "type": "BIN",
+      "pos": {
+        "x": -0.23,
+        "y": -0.49,
+        "z": 0.9425
+      },
+      "size": {
+        "length": 0.24,
+        "width": 0.17,
+        "height": 0.105
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.6,
+        "g": 0.6,
+        "b": 0.6
+      }
+    },
+    {
+      "id": "A",
+      "type": "BIN",
+      "pos": {
+        "x": -0.23,
+        "y": -0.67,
+        "z": 0.9425
+      },
+      "size": {
+        "length": 0.24,
+        "width": 0.17,
+        "height": 0.105
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 0.8,
+        "g": 0.8,
+        "b": 0.8
+      }
+    },
+    {
+      "id": "bigYellow",
+      "type": "BOX",
+      "pos": {
+        "x": 0.2,
+        "y": 0.05,
+        "z": 0.9403
+      },
+      "size": {
+        "length": 0.0318,
+        "width": 0.0636,
+        "height": 0.1006
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 1,
+        "g": 1
+      }
+    },
+    {
+      "id": "bigGreen",
+      "type": "BOX",
+      "pos": {
+        "x": 0.3,
+        "y": 0.3,
+        "z": 0.9355
+      },
+      "size": {
+        "length": 0.0318,
+        "width": 0.0636,
+        "height": 0.091
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "g": 1
+      }
+    },
+    {
+      "id": "bigBlue",
+      "type": "BOX",
+      "pos": {
+        "x": 0.1,
+        "y": -0.25,
+        "z": 0.9355
+      },
+      "size": {
+        "length": 0.0318,
+        "width": 0.0636,
+        "height": 0.091
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "b": 1
+      }
+    },
+    {
+      "id": "smallBlue",
+      "type": "BOX",
+      "pos": {
+        "x": 0.1,
+        "y": 0.2,
+        "z": 0.9307
+      },
+      "size": {
+        "length": 0.0318,
+        "width": 0.0318,
+        "height": 0.0814
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "b": 1
+      }
+    },
+    {
+      "id": "smallYellow",
+      "type": "BOX",
+      "pos": {
+        "x": 0.3,
+        "y": -0.2,
+        "z": 0.9307
+      },
+      "size": {
+        "length": 0.0318,
+        "width": 0.0318,
+        "height": 0.0814
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 1,
+        "g": 1
+      }
+    },
+    {
+      "id": "smallRed",
+      "type": "BOX",
+      "pos": {
+        "x": 0.15,
+        "y": -0.15,
+        "z": 0.9307
+      },
+      "size": {
+        "length": 0.0318,
+        "width": 0.0318,
+        "height": 0.0814
+      },
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 1
+      }
+    },
+    {
+      "id": "arm",
+      "type": "ARM",
+      "pos": {
+        "z": 0.89,
+        "x": -0.22
+      },
+      "size": {},
+      "orientation": {
+        "w": 1
+      },
+      "color": {
+        "r": 1,
+        "g": 1,
+        "b": 1
+      }
+    }
+  ]
+}
diff --git a/config/config_scene_ceti-table-1-full-grey.yaml b/config/config_scene_ceti-table-1-full-grey.yaml
new file mode 100644
index 0000000..59e92a9
--- /dev/null
+++ b/config/config_scene_ceti-table-1-full-grey.yaml
@@ -0,0 +1,47 @@
+# create json file using
+# yq eval -o=json config_scene_ceti-table-1-full-grey.yaml > config_scene_ceti-table-1-full-grey.json
+{ 'objects': [
+  # table
+  # height: 12 cm wheels, 76 cm body, 1 cm table-top = 89 cm total
+  # wheels width/depth/height 12*12*12
+  # body width/depth/height 69*69*76
+  # table-top width/depth/height 80*80*1
+  # panels are 50*70, with 0.5 cm distance to the table-top
+  # height of both is 12 + 76 + .5 = 88.5
+  # their centre is at 40 + 0.25 + 25 = 65.25
+  { 'id': 'wheel_1','pos': { 'x': 0.28,'y': 0.28,'z': 0.06 },'size': { 'length': 0.12,'width': 0.12,'height': 0.12 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'wheel_2','pos': { 'x': -0.28,'y': -0.28,'z': 0.06 },'size': { 'length': 0.12,'width': 0.12,'height': 0.12 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'wheel_3','pos': { 'x': -0.28,'y': 0.28,'z': 0.06 },'size': { 'length': 0.12,'width': 0.12,'height': 0.12 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'wheel_4','pos': { 'x': 0.28,'y': -0.28,'z': 0.06 },'size': { 'length': 0.12,'width': 0.12,'height': 0.12 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  # a filled table and a backplate going all the way up is not possible, because of the oversized collision model of the robot
+  #  { 'id': 'table_body','pos': { 'z': 0.50 },'size': { 'length': .69,'width': 0.69,'height': 0.76 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'table_body_front','pos': { 'x': .345, 'z': 0.50 },'size': { 'length': 0.005,'width': 0.69,'height': 0.76 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'table_body_back', 'pos': { 'x': -.345, 'z': 0.45 },'size': { 'length': 0.005,'width': 0.69,'height': 0.66 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'table_body_left', 'pos': { 'y': .345, 'z': 0.50 },'size': { 'length': 0.69,'width': 0.005,'height': 0.76 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'table_body_right','pos': { 'y': -.345, 'z': 0.50 },'size': { 'length': 0.69,'width': 0.005,'height': 0.76 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'table-top', 'pos': { 'z': 0.885 },'size': { 'length': 0.8,'width': 0.8,'height': 0.01 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'left_panel',   'pos': { 'z': 0.885, 'y': -0.6525 },'size': { 'length': 0.7,'width': 0.5,'height': 0.01 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  { 'id': 'right_panel',  'pos': { 'z': 0.885, 'y': 0.6525 },'size': { 'length': 0.7,'width': 0.5,'height': 0.01 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+  #  { 'id': 'front_panel', 'pos': { 'z': 0.885, 'x': 0.6525 },'size': { 'length': 0.5,'width': 0.7,'height': 0.01 },'orientation': { 'w': 1 },'color': { 'r': 0.15,'g': 0.15,'b': 0.15 } },
+
+  # bins width/depth/height 28.5*19*15.5
+  # their height is 89 + 7.75 = 0.9675 m
+  # the width is 31.8 or 63.6
+  # if they stand on a panel edge, they stand at 40 + 0.5 + 14.25 = 54.75
+  # their x location is N*19 + 9.5 - 35 = N*20 - 25.5 = -25.5 and -5.5 and 14.5 if they have 1 cm distance
+  { 'id': 'D','type': 'BIN','pos': { 'x': -0.23,'y': 0.67,'z': 0.9425 },'size': { 'length': 0.24,'width': 0.17,'height': 0.105 },'orientation': { 'w': 1 },'color': { 'r': 0.2, 'g': 0.2, 'b': 0.2 } },
+  { 'id': 'C','type': 'BIN','pos': { 'x': -0.23,'y': 0.49,'z': 0.9425 },'size': { 'length': 0.24,'width': 0.17,'height': 0.105 },'orientation': { 'w': 1 },'color': { 'r': 0.4, 'g': 0.4, 'b': 0.4 } },
+  { 'id': 'B','type': 'BIN','pos': { 'x': -0.23,'y': -0.49,'z': 0.9425 },'size': { 'length': 0.24,'width': 0.17,'height': 0.105 },'orientation': { 'w': 1 },'color': { 'r': 0.6, 'g': 0.6, 'b': 0.6 } },
+  { 'id': 'A','type': 'BIN','pos': { 'x': -0.23,'y': -0.67,'z': 0.9425 },'size': { 'length': 0.24,'width': 0.17,'height': 0.105 },'orientation': { 'w': 1 },'color': { 'r': 0.8, 'g': 0.8, 'b': 0.8 } },
+
+  { 'id': 'bigYellow','type': 'BOX','pos': { 'x': 0.20,'y': 0.05,'z': 0.940300 },'size': { 'length': .0318, 'width': .0636,'height': 0.100600 },'orientation': { 'w': 1 },'color': { 'r': 1, 'g': 1 } },
+  { 'id': 'bigGreen','type': 'BOX','pos': { 'x': 0.30,'y': 0.30,'z': 0.935500 },'size': { 'length': .0318, 'width': .0636,'height': 0.091000 },'orientation': { 'w': 1 },'color': { 'g': 1 } },
+  { 'id': 'bigBlue','type': 'BOX','pos': { 'x': 0.10,'y': -0.25,'z': 0.935500 },'size': { 'length': .0318, 'width': .0636,'height': 0.091000 },'orientation': { 'w': 1 },'color': { 'b': 1 } },
+
+  { 'id': 'smallBlue','type': 'BOX','pos': { 'x': 0.10,'y': 0.20,'z': 0.930700 },'size': { 'length': .0318, 'width': .0318,'height': 0.081400 },'orientation': { 'w': 1 },'color': { 'b': 1 } },
+  { 'id': 'smallYellow','type': 'BOX','pos': { 'x': 0.30,'y': -0.20,'z': 0.930700 },'size': { 'length': .0318, 'width': .0318,'height': 0.081400 },'orientation': { 'w': 1 },'color': { 'r': 1, 'g': 1 } },
+  { 'id': 'smallRed','type': 'BOX','pos': { 'x': 0.15,'y': -0.15,'z': 0.930700 },'size': { 'length': .0318, 'width': .0318,'height': 0.081400 },'orientation': { 'w': 1 },'color': { 'r': 1 } },
+
+
+  { 'id': 'arm','type': 'ARM','pos': { 'z': 0.89 , 'x': -0.22 },'size': { },'orientation': { 'w': 1 },'color': { 'r': 1.00,'g': 1.00,'b': 1.00 } }
+] }
diff --git a/launch/cell-controllers/noop-sim-cell_ceti-table-1-emptyworld-coloured.launch b/launch/cell-controllers/noop-sim-cell_ceti-table-1-emptyworld-coloured.launch
index c53a88c..162b9a2 100644
--- a/launch/cell-controllers/noop-sim-cell_ceti-table-1-emptyworld-coloured.launch
+++ b/launch/cell-controllers/noop-sim-cell_ceti-table-1-emptyworld-coloured.launch
@@ -6,9 +6,9 @@
 
     <include file="$(find ccf)/launch/noop-sim_setup.launch"/>
 
-    <param name="/connector_node_ros_ccf/topics/command" value="/ceti_cell_empty/command"/>
+    <param name="/connector_node_ros_ccf/topics/command" value="/ceti_cell_1/command"/>
 
-    <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_empty" output="screen">
+    <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_1" output="screen">
         <param name="arm" type="string" value="arm"/>
         <param name="scene_observer" type="string" value="object_locator/scene/update"/>
         <param name="mqtt_server" type="yaml" value="$(arg mqtt_server)"/>
diff --git a/launch/cell-controllers/noop-sim-cell_ceti-table-1-emptyworld-grey.launch b/launch/cell-controllers/noop-sim-cell_ceti-table-1-emptyworld-grey.launch
index 38b019e..694569b 100644
--- a/launch/cell-controllers/noop-sim-cell_ceti-table-1-emptyworld-grey.launch
+++ b/launch/cell-controllers/noop-sim-cell_ceti-table-1-emptyworld-grey.launch
@@ -6,9 +6,9 @@
 
     <include file="$(find ccf)/launch/noop-sim_setup.launch"/>
 
-    <param name="/connector_node_ros_ccf/topics/command" value="/ceti_cell_empty/command"/>
+    <param name="/connector_node_ros_ccf/topics/command" value="/ceti_cell_1/command"/>
 
-    <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_empty" output="screen">
+    <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_1" output="screen">
         <param name="arm" type="string" value="arm"/>
         <param name="scene_observer" type="string" value="object_locator/scene/update"/>
         <param name="mqtt_server" type="yaml" value="$(arg mqtt_server)"/>
diff --git a/launch/cell-controllers/noop-sim-cell_ceti-table-1-fullworld-grey.launch b/launch/cell-controllers/noop-sim-cell_ceti-table-1-fullworld-grey.launch
new file mode 100644
index 0000000..92f194c
--- /dev/null
+++ b/launch/cell-controllers/noop-sim-cell_ceti-table-1-fullworld-grey.launch
@@ -0,0 +1,19 @@
+<launch>
+
+    <!-- MQTT server for communication with client cells -->
+    <arg name="mqtt_server" default="tcp://localhost:1883"
+         doc="address of the mqtt server for the connection to the controller"/>
+
+    <include file="$(find ccf)/launch/noop-sim_setup.launch"/>
+
+    <param name="/connector_node_ros_ccf/topics/command" value="/ceti_cell_1/command"/>
+
+    <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_1" output="screen">
+        <param name="arm" type="string" value="arm"/>
+        <param name="scene_observer" type="string" value="object_locator/scene/update"/>
+        <param name="mqtt_server" type="yaml" value="$(arg mqtt_server)"/>
+        <param name="scene" type="string"
+               value="$(find ccf_immersive_sorting)/config/config_scene_ceti-table-1-full-grey.json"/>
+    </node>
+
+</launch>
diff --git a/launch/cell-controllers/robot-cell_ceti-table-1-emptyworld-coloured.launch b/launch/cell-controllers/robot-cell_ceti-table-1-emptyworld-coloured.launch
index adb170d..60a6e49 100644
--- a/launch/cell-controllers/robot-cell_ceti-table-1-emptyworld-coloured.launch
+++ b/launch/cell-controllers/robot-cell_ceti-table-1-emptyworld-coloured.launch
@@ -12,9 +12,9 @@
         <arg name="load_gripper" value="true"/>
     </include>
 
-    <param name="/connector_node_ros_ccf/topics/command" value="/ceti_cell_empty/command"/>
+    <param name="/connector_node_ros_ccf/topics/command" value="/ceti_cell_1/command"/>
 
-    <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_empty" output="screen">
+    <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_1" output="screen">
         <param name="arm" type="string" value="arm"/>
         <param name="scene_observer" type="string" value="object_locator/scene/update"/>
         <param name="mqtt_server" type="yaml" value="$(arg mqtt_server)"/>
diff --git a/launch/cell-controllers/robot-cell_ceti-table-1-emptyworld-grey.launch b/launch/cell-controllers/robot-cell_ceti-table-1-emptyworld-grey.launch
index 1141962..0d733c7 100644
--- a/launch/cell-controllers/robot-cell_ceti-table-1-emptyworld-grey.launch
+++ b/launch/cell-controllers/robot-cell_ceti-table-1-emptyworld-grey.launch
@@ -12,9 +12,9 @@
         <arg name="load_gripper" value="true"/>
     </include>
 
-    <param name="/connector_node_ros_ccf/topics/command" value="/ceti_cell_empty/command"/>
+    <param name="/connector_node_ros_ccf/topics/command" value="/ceti_cell_1/command"/>
 
-    <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_empty" output="screen">
+    <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_1" output="screen">
         <param name="arm" type="string" value="arm"/>
         <param name="scene_observer" type="string" value="object_locator/scene/update"/>
         <param name="mqtt_server" type="yaml" value="$(arg mqtt_server)"/>
diff --git a/launch/distributed-sorting/main_controller_ceti-table-1_preview.launch b/launch/distributed-sorting/main_controller_ceti-table-1_preview.launch
index a930118..26441ca 100644
--- a/launch/distributed-sorting/main_controller_ceti-table-1_preview.launch
+++ b/launch/distributed-sorting/main_controller_ceti-table-1_preview.launch
@@ -2,7 +2,7 @@
 
     <arg name="connection_address" default="tcp://*:6576" doc="connection address for NNG scene-based selection"/>
     <arg name="mqtt_server" default="tcp://127.0.0.1:1883" doc="MQTT server for communication with client cells"/>
-    <arg name="client_controllers" default="['ceti_cell_1', 'ceti_cell_2', 'ads-cell', 'st-cell', 'ceti_cell_empty']"
+    <arg name="client_controllers" default="['ceti_cell_1', 'ceti_cell_2', 'ads-cell', 'st-cell']"
          doc="potential client cell names"/>
 
     <node pkg="ccf_immersive_sorting" type="main_controller" name="main_controller" output="screen">
diff --git a/launch/distributed-sorting/main_controller_virtual-tag_preview.launch b/launch/distributed-sorting/main_controller_virtual-tag_preview.launch
index 4c1b225..adbafbf 100644
--- a/launch/distributed-sorting/main_controller_virtual-tag_preview.launch
+++ b/launch/distributed-sorting/main_controller_virtual-tag_preview.launch
@@ -2,7 +2,7 @@
 
     <arg name="connection_address" default="tcp://*:6576" doc="connection address for NNG scene-based selection"/>
     <arg name="mqtt_server" default="tcp://127.0.0.1:1883" doc="MQTT server for communication with client cells"/>
-    <arg name="client_controllers" default="['ceti_cell_1', 'ceti_cell_2', 'ads-cell', 'st-cell', 'ceti_cell_empty']"
+    <arg name="client_controllers" default="['ceti_cell_1', 'ceti_cell_2', 'ads-cell', 'st-cell']"
          doc="potential client cell names"/>
 
     <node pkg="ccf_immersive_sorting" type="main_controller" name="main_controller" output="screen">
diff --git a/launch/distributed-sorting/main_controller_virtual_preview.launch b/launch/distributed-sorting/main_controller_virtual_preview.launch
index dfafa92..c7e5370 100644
--- a/launch/distributed-sorting/main_controller_virtual_preview.launch
+++ b/launch/distributed-sorting/main_controller_virtual_preview.launch
@@ -2,7 +2,7 @@
 
     <arg name="connection_address" default="tcp://*:6576" doc="connection address for NNG scene-based selection"/>
     <arg name="mqtt_server" default="tcp://127.0.0.1:1883" doc="MQTT server for communication with client cells"/>
-    <arg name="client_controllers" default="['ceti_cell_1', 'ceti_cell_2', 'ads-cell', 'st-cell', 'ceti_cell_empty']"
+    <arg name="client_controllers" default="['ceti_cell_1', 'ceti_cell_2', 'ads-cell', 'st-cell']"
          doc="potential client cell names"/>
 
     <node pkg="ccf_immersive_sorting" type="main_controller" name="main_controller" output="screen">
diff --git a/src/main_controller.cpp b/src/main_controller.cpp
index 1a63c16..022fec5 100644
--- a/src/main_controller.cpp
+++ b/src/main_controller.cpp
@@ -58,7 +58,7 @@ int main(int argc, char** argv)
   controller.addConnection(std::move(connection));
 
   auto client_controllers = getPrivateParameter<std::vector<std::string>>(
-      "client_controllers", { "ceti_cell_1", "ceti_cell_2", "ads-cell", "st-cell", "ceti_cell_empty" });
+      "client_controllers", { "ceti_cell_1", "ceti_cell_2", "ads-cell", "st-cell" });
   auto mqtt_server = getPrivateParameter<std::string>("mqtt_server", "tcp://127.0.0.1:1883");
 
   // create an empty task
diff --git a/src/moveit_sorting_controller.cpp b/src/moveit_sorting_controller.cpp
index 7c99df0..081c6f8 100644
--- a/src/moveit_sorting_controller.cpp
+++ b/src/moveit_sorting_controller.cpp
@@ -18,7 +18,7 @@
 #include "ccf/connection/MqttConnection.h"
 #include "ccf/util/NodeUtil.h"
 
-std::string NODE_NAME = "ceti_cell_empty";
+std::string NODE_NAME = "ceti_cell_1";
 
 using CetiRosToolbox::getParameter;
 using CetiRosToolbox::getPrivateParameter;
diff --git a/src/object_locator.cpp b/src/object_locator.cpp
index 81fc60d..95b4be3 100644
--- a/src/object_locator.cpp
+++ b/src/object_locator.cpp
@@ -68,7 +68,8 @@ int main(int argc, char** argv)
       std::make_unique<MqttConnection>(mqttServer, ros::this_node::getName());
   mqtt_connection->listen(getParameter<std::string>(n, "topics/selection", "selection"));
   auto other_cell_scene_listener_topic =
-      getPrivateParameter<std::string>("other_cell_listener", "/ceti_cell_empty/scene/update");
+      getPrivateParameter<std::string>("other_cell_listener", "/ceti_cell_1"
+                                       "/scene/update");
   auto other_cell_delta_update_topic =
       getPrivateParameter<std::string>("other_cell_delta_updates", "object_locator/scene/update");
   mqtt_connection->listen(other_cell_scene_listener_topic);
-- 
GitLab