From d62a018891114c19b1315699c3ebe3f6d5964b22 Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Fri, 18 Mar 2022 18:44:36 +0100 Subject: [PATCH] split ceti table config, update launch files --- ...le.json => config_scene_ceti-table-1.json} | 0 ...le.yaml => config_scene_ceti-table-1.yaml} | 2 +- config/config_scene_ceti-table-2.json | 428 ++++++++++++++++++ config/config_scene_ceti-table-2.yaml | 50 ++ ....launch => dummy-cell_ceti-table-1.launch} | 2 +- launch/dummy-cell_ceti-table-2.launch | 10 + .../main_controller_ceti-table_preview.launch | 14 + ...table_preview_ceti-table_real_robot.launch | 32 -- ...=> main_controller_virtual_preview.launch} | 7 +- ...ual_preview_ceti-table-1_real_robot.launch | 12 + ...ual_preview_ceti-table-2_real_robot.launch | 12 + ...rtual_preview_ceti-table_real_robot.launch | 32 -- ....launch => robot-cell_ceti-table-1.launch} | 6 +- launch/robot-cell_ceti-table-2.launch | 19 + ...nch => simulated-cell_ceti-table-1.launch} | 2 +- launch/simulated-cell_ceti-table-2.launch | 12 + 16 files changed, 566 insertions(+), 74 deletions(-) rename config/{config_scene_ceti-table.json => config_scene_ceti-table-1.json} (100%) rename config/{config_scene_ceti-table.yaml => config_scene_ceti-table-1.yaml} (98%) create mode 100644 config/config_scene_ceti-table-2.json create mode 100644 config/config_scene_ceti-table-2.yaml rename launch/{dummy-cell_ceti-table.launch => dummy-cell_ceti-table-1.launch} (89%) create mode 100644 launch/dummy-cell_ceti-table-2.launch create mode 100644 launch/main_controller_ceti-table_preview.launch delete mode 100644 launch/main_controller_ceti-table_preview_ceti-table_real_robot.launch rename launch/{main_controller_virtual-table.launch => main_controller_virtual_preview.launch} (58%) create mode 100644 launch/main_controller_virtual_preview_ceti-table-1_real_robot.launch create mode 100644 launch/main_controller_virtual_preview_ceti-table-2_real_robot.launch delete mode 100644 launch/main_controller_virtual_preview_ceti-table_real_robot.launch rename launch/{robot-cell_ceti-table.launch => robot-cell_ceti-table-1.launch} (69%) create mode 100644 launch/robot-cell_ceti-table-2.launch rename launch/{simulated-cell_ceti-table.launch => simulated-cell_ceti-table-1.launch} (90%) create mode 100644 launch/simulated-cell_ceti-table-2.launch diff --git a/config/config_scene_ceti-table.json b/config/config_scene_ceti-table-1.json similarity index 100% rename from config/config_scene_ceti-table.json rename to config/config_scene_ceti-table-1.json diff --git a/config/config_scene_ceti-table.yaml b/config/config_scene_ceti-table-1.yaml similarity index 98% rename from config/config_scene_ceti-table.yaml rename to config/config_scene_ceti-table-1.yaml index c904138..5f000de 100644 --- a/config/config_scene_ceti-table.yaml +++ b/config/config_scene_ceti-table-1.yaml @@ -1,5 +1,5 @@ # create json file using -# yq eval -o=json config_scene_ceti-table.yaml > config_scene_ceti-table.json +# yq eval -o=json config_scene_ceti-table-1.yaml > config_scene_ceti-table-1.json { 'objects': [ # table # height: 12 cm wheels, 76 cm body, 1 cm table-top = 89 cm total diff --git a/config/config_scene_ceti-table-2.json b/config/config_scene_ceti-table-2.json new file mode 100644 index 0000000..7c20a12 --- /dev/null +++ b/config/config_scene_ceti-table-2.json @@ -0,0 +1,428 @@ +{ + "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": "binBlue", + "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": { + "b": 1 + } + }, + { + "id": "binRed", + "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": 1 + } + }, + { + "id": "binGreen", + "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": { + "g": 1 + } + }, + { + "id": "bigYellow", + "type": "BOX", + "pos": { + "x": 0.1, + "y": -0.25, + "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.1, + "y": 0.3, + "z": 0.9403 + }, + "size": { + "length": 0.0318, + "width": 0.0636, + "height": 0.1006 + }, + "orientation": { + "w": 1 + }, + "color": { + "g": 1 + } + }, + { + "id": "bigBlue", + "type": "BOX", + "pos": { + "x": 0.2, + "y": -0.1, + "z": 0.9355 + }, + "size": { + "length": 0.0318, + "width": 0.0636, + "height": 0.091 + }, + "orientation": { + "z": 0.7071068, + "w": 0.7071068 + }, + "color": { + "b": 1 + } + }, + { + "id": "bigRed", + "type": "BOX", + "pos": { + "x": 0.15, + "y": 0.1, + "z": 0.9355 + }, + "size": { + "length": 0.0318, + "width": 0.0636, + "height": 0.091 + }, + "orientation": { + "z": 0.7071068, + "w": 0.7071068 + }, + "color": { + "r": 1 + } + }, + { + "id": "smallRed", + "type": "BOX", + "pos": { + "x": 0.3, + "y": -0.25, + "z": 0.9307 + }, + "size": { + "length": 0.0318, + "width": 0.0318, + "height": 0.0814 + }, + "orientation": { + "w": 1 + }, + "color": { + "r": 1 + } + }, + { + "id": "smallYellow", + "type": "BOX", + "pos": { + "x": 0.25, + "y": 0.25, + "z": 0.9211 + }, + "size": { + "length": 0.0318, + "width": 0.0318, + "height": 0.0622 + }, + "orientation": { + "w": 1 + }, + "color": { + "r": 1, + "g": 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-2.yaml b/config/config_scene_ceti-table-2.yaml new file mode 100644 index 0000000..3b19b72 --- /dev/null +++ b/config/config_scene_ceti-table-2.yaml @@ -0,0 +1,50 @@ +# create json file using +# yq eval -o=json config_scene_ceti-table-2.yaml > config_scene_ceti-table-2.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 + # their height is .89 + 0.0525 = 0.9425 m + # the width is 31.8 or 63.6 + # if they stand on a panel edge, they stand at 40 + 0.5 + 8.5 = 49 and 49 + 1 + 17 = 67 + # their x location is 12 - 35 = -23 + { 'id': 'binBlue', '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': { 'b': 1 } }, + { 'id': 'binRed', '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': 1 } }, + { 'id': 'binGreen','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': { 'g': 1 } }, + + { 'id': 'bigYellow','type': 'BOX','pos': { 'x': 0.10,'y': -0.25,'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.10,'y': 0.30,'z': 0.940300 },'size': { 'length': .0318, 'width': .0636,'height': 0.100600 },'orientation': { 'w': 1 },'color': { 'g': 1 } }, + { 'id': 'bigBlue' ,'type': 'BOX','pos': { 'x': 0.20,'y': -0.10,'z': 0.935500 },'size': { 'length': .0318, 'width': .0636,'height': 0.091000 },'orientation': { 'z': 0.7071068, 'w':0.7071068 },'color': { 'b': 1 } }, + { 'id': 'bigRed' ,'type': 'BOX','pos': { 'x': 0.15,'y': 0.10,'z': 0.935500 },'size': { 'length': .0318, 'width': .0636,'height': 0.091000 },'orientation': { 'z': 0.7071068, 'w':0.7071068 },'color': { 'r': 1 } }, + + { 'id': 'smallRed','type': 'BOX','pos': { 'x': 0.30,'y': -0.25,'z': 0.930700 },'size': { 'length': .0318, 'width': .0318,'height': 0.081400 },'orientation': { 'w': 1 },'color': { 'r': 1 } }, + { 'id': 'smallYellow','type': 'BOX','pos': { 'x': 0.25,'y': 0.25,'z': 0.921100 },'size': { 'length': .0318, 'width': .0318,'height': 0.062200 },'orientation': { 'w': 1 },'color': { 'r': 1, 'g': 1 } }, + + # heights of objects (including pins): + # formula: half-height * 9.6 + 4.6 + # formula (python) + # for i in range(3,10): print("{ 'id': 'object4x2x%.1f','type': 'BOX','pos': { 'x': 0.3,'y': %f,'z': %f },'size': { 'length': .0318, 'width': .0636,'height': %f },'orientation': { 'w': 1 },'color': {} }," % (i/2, (i-6)*.1, (i*48+23+8900)/10000, (i*96+46)/10000)); + + { '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/dummy-cell_ceti-table.launch b/launch/dummy-cell_ceti-table-1.launch similarity index 89% rename from launch/dummy-cell_ceti-table.launch rename to launch/dummy-cell_ceti-table-1.launch index f52b78e..ec3f2c1 100644 --- a/launch/dummy-cell_ceti-table.launch +++ b/launch/dummy-cell_ceti-table-1.launch @@ -2,7 +2,7 @@ <arg name="connection_address" default="tcp://*:6576"/> - <node pkg="ccf_immersive_sorting" type="dummy_sorting_controller" name="ceti_cell" output="screen"> + <node pkg="ccf_immersive_sorting" type="dummy_sorting_controller" name="ceti_cell_1" output="screen"> <param name="connection_address" type="string" value="$(arg connection_address)"/> <param name="scene" type="string" value="$(find ccf_immersive_sorting)/config/config_scene_ceti-table.json"/> </node> diff --git a/launch/dummy-cell_ceti-table-2.launch b/launch/dummy-cell_ceti-table-2.launch new file mode 100644 index 0000000..8f1437b --- /dev/null +++ b/launch/dummy-cell_ceti-table-2.launch @@ -0,0 +1,10 @@ +<launch> + + <arg name="connection_address" default="tcp://*:6576"/> + + <node pkg="ccf_immersive_sorting" type="dummy_sorting_controller" name="ceti_cell_2" output="screen"> + <param name="connection_address" type="string" value="$(arg connection_address)"/> + <param name="scene" type="string" value="$(find ccf_immersive_sorting)/config/config_scene_ceti-table.json"/> + </node> + +</launch> diff --git a/launch/main_controller_ceti-table_preview.launch b/launch/main_controller_ceti-table_preview.launch new file mode 100644 index 0000000..cb61ae4 --- /dev/null +++ b/launch/main_controller_ceti-table_preview.launch @@ -0,0 +1,14 @@ +<launch> + + <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']" doc="potential client cell names"/> + + <node pkg="ccf_immersive_sorting" type="main_controller" name="main_controller" output="screen"> + <param name="connection_address" type="string" value="$(arg connection_address)"/> + <param name="client_controllers" type="yaml" value="$(arg client_controllers)"/> + <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.json"/> + </node> + +</launch> diff --git a/launch/main_controller_ceti-table_preview_ceti-table_real_robot.launch b/launch/main_controller_ceti-table_preview_ceti-table_real_robot.launch deleted file mode 100644 index f0d95f6..0000000 --- a/launch/main_controller_ceti-table_preview_ceti-table_real_robot.launch +++ /dev/null @@ -1,32 +0,0 @@ -<launch> - - <!-- connection address for NNG scene-based selection --> - <arg name="connection_address" default="tcp://*:6576"/> - - <!-- MQTT server for communication with client cells --> - <arg name="mqtt_server" default="tcp://127.0.0.1:1883"/> - - <!-- remove cell st cell if it is not available --> - <arg name="client_controllers" default="['ceti_cell', 'st_cell', 'ads_cell']"/> - - <!-- robot IP used by the robot controller --> - <arg name="robot_ip" default="172.31.1.13"/> - - <node pkg="ccf_immersive_sorting" type="main_controller" name="main_controller" output="screen"> - <param name="connection_address" type="string" value="$(arg connection_address)"/> - <param name="client_controllers" type="yaml" value="$(arg client_controllers)"/> - <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.json"/> - </node> - - <include file="$(find ccf)/launch/robot_setup.launch"> - <arg name="robot_ip" value="$(arg robot_ip)"/> - <arg name="load_gripper" value="true"/> - </include> - - <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell" output="screen"> - <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.json"/> - </node> - -</launch> diff --git a/launch/main_controller_virtual-table.launch b/launch/main_controller_virtual_preview.launch similarity index 58% rename from launch/main_controller_virtual-table.launch rename to launch/main_controller_virtual_preview.launch index eca8065..81171aa 100644 --- a/launch/main_controller_virtual-table.launch +++ b/launch/main_controller_virtual_preview.launch @@ -1,9 +1,8 @@ <launch> - <arg name="connection_address" default="tcp://*:6576"/> - <arg name="mqtt_server" default="tcp://127.0.0.1:1883"/> - <arg name="client_controllers" default="['ceti_cell']"/> - + <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']" doc="potential client cell names"/> <node pkg="ccf_immersive_sorting" type="main_controller" name="main_controller" output="screen"> <param name="connection_address" type="string" value="$(arg connection_address)"/> diff --git a/launch/main_controller_virtual_preview_ceti-table-1_real_robot.launch b/launch/main_controller_virtual_preview_ceti-table-1_real_robot.launch new file mode 100644 index 0000000..4690e77 --- /dev/null +++ b/launch/main_controller_virtual_preview_ceti-table-1_real_robot.launch @@ -0,0 +1,12 @@ +<launch> + + <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']" doc="potential client cell names"/> + <arg name="robot_ip" default="172.31.1.13" doc="robot IP used by the robot controller"/> + + <include file="$(find ccf_immersive_sorting)/launch/main_controller_virtual_preview.launch" pass_all_args="true"/> + + <include file="$(find ccf_immersive_sorting)/launch/robot-cell_ceti-table-1.launch" pass_all_args="true"/> + +</launch> diff --git a/launch/main_controller_virtual_preview_ceti-table-2_real_robot.launch b/launch/main_controller_virtual_preview_ceti-table-2_real_robot.launch new file mode 100644 index 0000000..05057aa --- /dev/null +++ b/launch/main_controller_virtual_preview_ceti-table-2_real_robot.launch @@ -0,0 +1,12 @@ +<launch> + + <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']" doc="potential client cell names"/> + <arg name="robot_ip" default="172.31.1.13" doc="robot IP used by the robot controller"/> + + <include file="$(find ccf_immersive_sorting)/launch/main_controller_virtual_preview.launch" pass_all_args="true"/> + + <include file="$(find ccf_immersive_sorting)/launch/robot-cell_ceti-table-2.launch" pass_all_args="true"/> + +</launch> diff --git a/launch/main_controller_virtual_preview_ceti-table_real_robot.launch b/launch/main_controller_virtual_preview_ceti-table_real_robot.launch deleted file mode 100644 index f95bcc4..0000000 --- a/launch/main_controller_virtual_preview_ceti-table_real_robot.launch +++ /dev/null @@ -1,32 +0,0 @@ -<launch> - - <!-- connection address for NNG scene-based selection --> - <arg name="connection_address" default="tcp://*:6576"/> - - <!-- MQTT server for communication with client cells --> - <arg name="mqtt_server" default="tcp://127.0.0.1:1883"/> - - <!-- remove cell st cell if it is not available --> - <arg name="client_controllers" default="['ceti_cell', 'st_cell', 'ads_cell']"/> - - <!-- robot IP used by the robot controller --> - <arg name="robot_ip" default="172.31.1.13"/> - - <node pkg="ccf_immersive_sorting" type="main_controller" name="main_controller" output="screen"> - <param name="connection_address" type="string" value="$(arg connection_address)"/> - <param name="client_controllers" type="yaml" value="$(arg client_controllers)"/> - <param name="mqtt_server" type="yaml" value="$(arg mqtt_server)"/> - <param name="scene" type="string" value="$(find ccf_immersive_sorting)/config/config_scene_virtual-table.json"/> - </node> - - <include file="$(find ccf)/launch/robot_setup.launch"> - <arg name="robot_ip" value="$(arg robot_ip)"/> - <arg name="load_gripper" value="true"/> - </include> - - <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell" output="screen"> - <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.json"/> - </node> - -</launch> diff --git a/launch/robot-cell_ceti-table.launch b/launch/robot-cell_ceti-table-1.launch similarity index 69% rename from launch/robot-cell_ceti-table.launch rename to launch/robot-cell_ceti-table-1.launch index f36b581..a193d57 100644 --- a/launch/robot-cell_ceti-table.launch +++ b/launch/robot-cell_ceti-table-1.launch @@ -1,17 +1,17 @@ <launch> <!-- MQTT server for communication with client cells --> - <arg name="mqtt_server" default="tcp://192.168.0.122:1883"/> + <arg name="mqtt_server" default="tcp://192.168.0.122:1883" doc="address of the mqtt server for the connection to the controller"/> <!-- robot IP used by the robot controller --> - <arg name="robot_ip" default="172.31.1.13"/> + <arg name="robot_ip" default="172.31.1.13" doc="ip address if the robot"/> <include file="$(find ccf)/launch/robot_setup.launch"> <arg name="robot_ip" value="$(arg robot_ip)"/> <arg name="load_gripper" value="true"/> </include> - <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell" output="screen"> + <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_1" output="screen"> <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.json"/> </node> diff --git a/launch/robot-cell_ceti-table-2.launch b/launch/robot-cell_ceti-table-2.launch new file mode 100644 index 0000000..6221ee3 --- /dev/null +++ b/launch/robot-cell_ceti-table-2.launch @@ -0,0 +1,19 @@ +<launch> + + <!-- MQTT server for communication with client cells --> + <arg name="mqtt_server" default="tcp://192.168.0.122:1883" doc="address of the mqtt server for the connection to the controller"/> + + <!-- robot IP used by the robot controller --> + <arg name="robot_ip" default="172.31.1.13" doc="ip address if the robot"/> + + <include file="$(find ccf)/launch/robot_setup.launch"> + <arg name="robot_ip" value="$(arg robot_ip)"/> + <arg name="load_gripper" value="true"/> + </include> + + <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_2" output="screen"> + <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-2.json"/> + </node> + +</launch> diff --git a/launch/simulated-cell_ceti-table.launch b/launch/simulated-cell_ceti-table-1.launch similarity index 90% rename from launch/simulated-cell_ceti-table.launch rename to launch/simulated-cell_ceti-table-1.launch index f507f38..75729a1 100644 --- a/launch/simulated-cell_ceti-table.launch +++ b/launch/simulated-cell_ceti-table-1.launch @@ -4,7 +4,7 @@ <include file="$(find ccf)/launch/simulation_setup.launch"/> - <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell" output="screen"> + <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_1" output="screen"> <param name="connection_address" type="string" value="$(arg connection_address)"/> <param name="scene" type="string" value="$(find ccf_immersive_sorting)/config/config_scene_ceti-table.json"/> </node> diff --git a/launch/simulated-cell_ceti-table-2.launch b/launch/simulated-cell_ceti-table-2.launch new file mode 100644 index 0000000..4101198 --- /dev/null +++ b/launch/simulated-cell_ceti-table-2.launch @@ -0,0 +1,12 @@ +<launch> + + <arg name="connection_address" default="tcp://*:6576"/> + + <include file="$(find ccf)/launch/simulation_setup.launch"/> + + <node pkg="ccf_immersive_sorting" type="moveit_sorting_controller" name="ceti_cell_2" output="screen"> + <param name="connection_address" type="string" value="$(arg connection_address)"/> + <param name="scene" type="string" value="$(find ccf_immersive_sorting)/config/config_scene_ceti-table.json"/> + </node> + +</launch> -- GitLab