diff --git a/launch/application.launch b/launch/application.launch
deleted file mode 100644
index ae5157ce65e9d0efb2cef3058253e33ab28133cf..0000000000000000000000000000000000000000
--- a/launch/application.launch
+++ /dev/null
@@ -1,41 +0,0 @@
-<launch>
-
-    <arg name="robot_ip" default="172.31.1.13" />
-    <arg name="load_gripper" default="true" />
-
-    <include file="$(find franka_control)/launch/franka_control.launch" >
-        <arg name="robot_ip" value="$(arg robot_ip)" />
-        <arg name="load_gripper" value="$(arg load_gripper)"/>
-    </include>
-
-    <!-- Load joint controller configurations from YAML file to parameter server -->
-    <rosparam file="$(find ccf)/config/panda_control.yaml" command="load" />
-
-    <param name="move_group/trajectory_execution/allowed_execution_duration_scaling" value="4.0" />
-    <param name="move_group/trajectory_execution/execution_duration_monitoring" value="false" />
-
-    <!-- load the controllers -->
-    <node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="position_joint_trajectory_controller " />
-
-    <include file="$(find panda_moveit_config)/launch/planning_context.launch">
-        <arg name="load_robot_description" value="true" />
-        <arg name="load_gripper" value="$(arg load_gripper)" />
-    </include>
-    <include file="$(find panda_moveit_config)/launch/move_group.launch">
-        <arg name="load_gripper" value="$(arg load_gripper)" />
-    </include>
-
-    <node pkg="tf2_ros" type="static_transform_publisher" name="virtual_joint_broadcaster_1" args="0 0 0 0 0 0 1 world panda_link0" />
-
-    <include file="$(find panda_moveit_config)/launch/moveit_rviz.launch" />
-
-    <rosparam file="$(find ccf)/config/config.yaml" command="load" />
-    <rosparam file="$(find ccf)/config/config_realrobot.yaml" command="load" />
-
-    <node pkg="ccf" type="scene_controller" name="scene_controller_instance" output="screen" />
-
-    <node pkg="ccf" type="moveit_cgv_controller" name="moveit_cgv_controller_instance" output="screen" />
-
-    <rosparam file="$(find ccf)/config/config.yaml" command="load" />
-
-</launch>
\ No newline at end of file
diff --git a/launch/application_demo.launch b/launch/application_demo.launch
deleted file mode 100644
index 80dfe3613dec0ca72aeba4270ad9f495a6c42c1c..0000000000000000000000000000000000000000
--- a/launch/application_demo.launch
+++ /dev/null
@@ -1,43 +0,0 @@
-<launch>
-
-    <arg name="robot_ip" default="172.31.1.13" />
-    <arg name="load_gripper" default="true" />
-
-    <include file="$(find franka_control)/launch/franka_control.launch" >
-        <arg name="robot_ip" value="$(arg robot_ip)" />
-        <arg name="load_gripper" value="$(arg load_gripper)"/>
-    </include>
-
-    <!-- Load joint controller configurations from YAML file to parameter server -->
-    <rosparam file="$(find ccf)/config/panda_control.yaml" command="load" />
-
-    <param name="move_group/trajectory_execution/allowed_execution_duration_scaling" value="4.0" />
-    <param name="move_group/trajectory_execution/execution_duration_monitoring" value="false" />
-
-    <!-- load the controllers -->
-    <node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="position_joint_trajectory_controller " />
-
-    <include file="$(find panda_moveit_config)/launch/planning_context.launch">
-        <arg name="load_robot_description" value="true" />
-        <arg name="load_gripper" value="$(arg load_gripper)" />
-    </include>
-    <include file="$(find panda_moveit_config)/launch/move_group.launch">
-        <arg name="load_gripper" value="$(arg load_gripper)" />
-    </include>
-
-    <node pkg="tf2_ros" type="static_transform_publisher" name="virtual_joint_broadcaster_1" args="0 0 0 0 0 0 1 world panda_link0" />
-
-    <include file="$(find panda_moveit_config)/launch/moveit_rviz.launch" />
-
-    <rosparam file="$(find ccf)/config/config.yaml" command="load" />
-    <rosparam file="$(find ccf)/config/config_realrobot.yaml" command="load" />
-
-    <node pkg="ccf" type="scene_controller" name="scene_controller_instance" output="screen" />
-
-    <node pkg="ccf" type="dummy_cgv" name="dummy_cgv_instance" output="screen" />
-
-    <node pkg="ccf" type="moveit_cgv_controller" name="moveit_cgv_controller_instance" output="screen" />
-
-    <rosparam file="$(find ccf)/config/config.yaml" command="load" />
-
-</launch>
diff --git a/launch/application_standalone.launch b/launch/cleaning/_robot_setup.launch
similarity index 100%
rename from launch/application_standalone.launch
rename to launch/cleaning/_robot_setup.launch
diff --git a/launch/simulation_standalone.launch b/launch/cleaning/_simulation_setup.launch
similarity index 100%
rename from launch/simulation_standalone.launch
rename to launch/cleaning/_simulation_setup.launch
diff --git a/launch/dummy_cgv.launch b/launch/cleaning/cleaning_dummy_cgv.launch
similarity index 100%
rename from launch/dummy_cgv.launch
rename to launch/cleaning/cleaning_dummy_cgv.launch
diff --git a/launch/dummy_cgv_connector.launch b/launch/cleaning/cleaning_dummy_controller.launch
similarity index 100%
rename from launch/dummy_cgv_connector.launch
rename to launch/cleaning/cleaning_dummy_controller.launch
diff --git a/launch/dummy_cgv_and_cgv_connector.launch b/launch/cleaning/cleaning_dummy_controller_and_dummy_cgv.launch
similarity index 100%
rename from launch/dummy_cgv_and_cgv_connector.launch
rename to launch/cleaning/cleaning_dummy_controller_and_dummy_cgv.launch
diff --git a/launch/cleaning/cleaning_robot_controller.launch b/launch/cleaning/cleaning_robot_controller.launch
new file mode 100644
index 0000000000000000000000000000000000000000..a44470f58df938f65dfeca90c1567964050519c2
--- /dev/null
+++ b/launch/cleaning/cleaning_robot_controller.launch
@@ -0,0 +1,13 @@
+<launch>
+
+    <arg name="robot_ip" default="172.31.1.13" />
+    <arg name="load_gripper" default="true" />
+
+    <include file="$(find ccf)/launch/cleaning/_robot_setup.launch" >
+        <arg name="robot_ip" value="$(arg robot_ip)" />
+        <arg name="load_gripper" value="$(arg load_gripper)"/>
+    </include>
+
+    <node pkg="ccf" type="moveit_cgv_controller" name="moveit_cgv_controller_instance" output="screen" />
+
+</launch>
\ No newline at end of file
diff --git a/launch/cleaning/cleaning_robot_controller_and_dummy_cgv.launch b/launch/cleaning/cleaning_robot_controller_and_dummy_cgv.launch
new file mode 100644
index 0000000000000000000000000000000000000000..d5e84b2b4f7df7173590eb8080f29c902dd4431f
--- /dev/null
+++ b/launch/cleaning/cleaning_robot_controller_and_dummy_cgv.launch
@@ -0,0 +1,14 @@
+<launch>
+
+    <arg name="robot_ip" default="172.31.1.13" />
+    <arg name="load_gripper" default="true" />
+
+    <include file="$(find ccf)/launch/cleaning/_robot_setup.launch" >
+        <arg name="robot_ip" value="$(arg robot_ip)" />
+        <arg name="load_gripper" value="$(arg load_gripper)"/>
+    </include>
+
+    <node pkg="ccf" type="moveit_cgv_controller" name="moveit_cgv_controller_instance" output="screen" />
+    <node pkg="ccf" type="dummy_cgv" name="my_dummy_cgv" output="screen" />
+
+</launch>
\ No newline at end of file
diff --git a/launch/cleaning/cleaning_simulation.launch b/launch/cleaning/cleaning_simulation.launch
new file mode 100644
index 0000000000000000000000000000000000000000..60f3f7ce950292a70e50ad1fddbcf07f0c265489
--- /dev/null
+++ b/launch/cleaning/cleaning_simulation.launch
@@ -0,0 +1,7 @@
+<launch>
+
+    <include file="$(find ccf)/launch/cleaning/_simulation_setup.launch"/>
+
+    <node pkg="ccf" type="moveit_cgv_controller" name="moveit_cgv_controller_instance" output="screen" />
+
+</launch>
\ No newline at end of file
diff --git a/launch/cleaning/cleaning_simulation_and_dummy_cgv.launch b/launch/cleaning/cleaning_simulation_and_dummy_cgv.launch
new file mode 100644
index 0000000000000000000000000000000000000000..218804860ea27a429a200b2f6f0cc5f2e4179cff
--- /dev/null
+++ b/launch/cleaning/cleaning_simulation_and_dummy_cgv.launch
@@ -0,0 +1,8 @@
+<launch>
+
+    <include file="$(find ccf)/launch/cleaning/_simulation_setup.launch"/>
+
+    <node pkg="ccf" type="dummy_cgv" name="dummy_cgv_instance" output="screen" />
+    <node pkg="ccf" type="moveit_cgv_controller" name="moveit_cgv_controller_instance" output="screen" />
+
+</launch>
\ No newline at end of file
diff --git a/launch/simulation.launch b/launch/simulation.launch
deleted file mode 100644
index 188c5376d83fef6a3f3b27c9782e4ffb0d91e026..0000000000000000000000000000000000000000
--- a/launch/simulation.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-<launch>
-
-    <include file="$(find panda_simulation)/launch/simulation.launch"/>
-
-
-    <node name="$(anon rviz)" pkg="rviz" type="rviz" respawn="false"
-          args="-d $(find ccf)/config/config.rviz" output="screen">
-        <rosparam command="load" file="$(find panda_moveit_config)/config/kinematics.yaml"/>
-    </node>
-
-    <rosparam file="$(find ccf)/config/config.yaml" command="load" />
-    <rosparam file="$(find ccf)/config/config_simulation.yaml" command="load" />
-
-    <node pkg="ccf" type="scene_controller" name="scene_controller_instance" output="screen" />
-
-    <node pkg="ccf" type="moveit_cgv_controller" name="moveit_cgv_controller_instance" output="screen" />
-
-    <rosparam file="$(find ccf)/config/config.yaml" command="load" />
-
-</launch>
\ No newline at end of file
diff --git a/launch/simulation_demo.launch b/launch/simulation_demo.launch
deleted file mode 100644
index ec5e96c75b10e7d9b5e1450c054c5d706ec82435..0000000000000000000000000000000000000000
--- a/launch/simulation_demo.launch
+++ /dev/null
@@ -1,22 +0,0 @@
-<launch>
-
-    <include file="$(find panda_simulation)/launch/simulation.launch"/>
-
-
-    <node name="$(anon rviz)" pkg="rviz" type="rviz" respawn="false"
-          args="-d $(find ccf)/config/config.rviz" output="screen">
-        <rosparam command="load" file="$(find panda_moveit_config)/config/kinematics.yaml"/>
-    </node>
-
-    <rosparam file="$(find ccf)/config/config.yaml" command="load" />
-    <rosparam file="$(find ccf)/config/config_simulation.yaml" command="load" />
-
-    <node pkg="ccf" type="scene_controller" name="scene_controller_instance" output="screen" />
-
-    <node pkg="ccf" type="dummy_cgv" name="dummy_cgv_instance" output="screen" />
-
-    <node pkg="ccf" type="moveit_cgv_controller" name="moveit_cgv_controller_instance" output="screen" />
-
-    <rosparam file="$(find ccf)/config/config.yaml" command="load" />
-
-</launch>
\ No newline at end of file