diff --git a/my_double_integrator/launch.py b/my_double_integrator/launch.py
new file mode 100644
index 0000000000000000000000000000000000000000..7cd3a6f24b9dc42ea49f99df227c9e72b800ff49
--- /dev/null
+++ b/my_double_integrator/launch.py
@@ -0,0 +1,27 @@
+from launch import LaunchDescription
+from launch_ros.actions import Node
+
+def generate_launch_description():
+    return LaunchDescription([
+        Node(
+            package='my_double_integrator',
+            executable='double_integrator',
+            name='double_integrator_sim',
+            output='screen',
+            parameters=[{'update_rate': 50.0}]
+        ),
+        Node(
+            package='my_double_integrator',
+            executable='controller',
+            name='controller',
+            output='screen',
+            parameters=[{'kp': 1.0}]
+        ),
+        Node(
+            package='my_double_integrator',
+            executable='reference_position_generator',
+            name='reference_position_gen',
+            output='screen',
+            parameters=[{'rate': 1.0, 'amplitude': 1.0}]
+        ),
+    ])