diff --git a/src/rktl_autonomy/package.xml b/src/rktl_autonomy/package.xml
index 91c79bd1..79097d1c 100644
--- a/src/rktl_autonomy/package.xml
+++ b/src/rktl_autonomy/package.xml
@@ -11,6 +11,7 @@
ament_flake8
ament_pep257
python3-pytest
+ ros2launch
ament_python
diff --git a/src/rktl_autonomy/setup.py b/src/rktl_autonomy/setup.py
index 1a8870bb..76bc630a 100644
--- a/src/rktl_autonomy/setup.py
+++ b/src/rktl_autonomy/setup.py
@@ -1,3 +1,5 @@
+import os
+from glob import glob
from setuptools import find_packages, setup
package_name = 'rktl_autonomy'
@@ -10,6 +12,7 @@
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
+ (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*launch.[pxy][yma]*'))),
],
install_requires=['setuptools'],
zip_safe=True,
diff --git a/src/rktl_control/package.xml b/src/rktl_control/package.xml
index f5457fe9..7c541cd2 100644
--- a/src/rktl_control/package.xml
+++ b/src/rktl_control/package.xml
@@ -20,6 +20,7 @@
ament_flake8
ament_pep257
python3-pytest
+ ros2launch
ament_python
diff --git a/src/rktl_control/setup.py b/src/rktl_control/setup.py
index ee6c1cab..ece9e9a2 100644
--- a/src/rktl_control/setup.py
+++ b/src/rktl_control/setup.py
@@ -1,3 +1,5 @@
+import os
+from glob import glob
from setuptools import find_packages, setup
package_name = 'rktl_control'
@@ -10,6 +12,7 @@
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
+ (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*launch.[pxy][yma]*'))),
],
install_requires=['setuptools'],
zip_safe=True,
diff --git a/src/rktl_game/package.xml b/src/rktl_game/package.xml
index 0cc17a9c..7e31e3ee 100644
--- a/src/rktl_game/package.xml
+++ b/src/rktl_game/package.xml
@@ -19,6 +19,7 @@
rosbridge_server
nav_msgs
rktl_msgs
+ ros2launch
ament_python
diff --git a/src/rktl_game/setup.py b/src/rktl_game/setup.py
index 6b0dbe78..bd1fcc35 100644
--- a/src/rktl_game/setup.py
+++ b/src/rktl_game/setup.py
@@ -1,3 +1,5 @@
+import os
+from glob import glob
from setuptools import find_packages, setup
package_name = 'rktl_game'
@@ -10,6 +12,7 @@
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
+ (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*launch.[pxy][yma]*'))),
],
install_requires=['setuptools'],
zip_safe=True,
diff --git a/src/rktl_perception/package.xml b/src/rktl_perception/package.xml
index fb4c76f8..1ead5abd 100644
--- a/src/rktl_perception/package.xml
+++ b/src/rktl_perception/package.xml
@@ -28,6 +28,7 @@
camera_calibration
rviz
+ ros2launch
diff --git a/src/rktl_perception/setup.py b/src/rktl_perception/setup.py
index 49ec35b5..b3d7a96e 100644
--- a/src/rktl_perception/setup.py
+++ b/src/rktl_perception/setup.py
@@ -1,3 +1,5 @@
+import os
+from glob import glob
from setuptools import find_packages, setup
package_name = 'rktl_perception'
@@ -10,6 +12,7 @@
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
+ (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*launch.[pxy][yma]*'))),
],
install_requires=['setuptools'],
zip_safe=True,
diff --git a/src/rktl_planner/package.xml b/src/rktl_planner/package.xml
index 7de7a9e8..893ebfb8 100644
--- a/src/rktl_planner/package.xml
+++ b/src/rktl_planner/package.xml
@@ -30,6 +30,7 @@
rktl_msgs
message_generation
message_runtime
+ ros2launch
ament_python
diff --git a/src/rktl_planner/setup.py b/src/rktl_planner/setup.py
index 76fec6ea..f257d02d 100644
--- a/src/rktl_planner/setup.py
+++ b/src/rktl_planner/setup.py
@@ -1,3 +1,5 @@
+import os
+from glob import glob
from setuptools import find_packages, setup
package_name = 'rktl_planner'
@@ -10,6 +12,7 @@
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
+ (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*launch.[pxy][yma]*'))),
],
install_requires=['setuptools'],
zip_safe=True,
diff --git a/src/rktl_sim/package.xml b/src/rktl_sim/package.xml
index 861e0221..08baea41 100644
--- a/src/rktl_sim/package.xml
+++ b/src/rktl_sim/package.xml
@@ -21,6 +21,7 @@
std_srvs
PyBullet
rktl_msgs
+ ros2launch
ament_python
diff --git a/src/rktl_sim/setup.py b/src/rktl_sim/setup.py
index a8659ffa..87412f21 100644
--- a/src/rktl_sim/setup.py
+++ b/src/rktl_sim/setup.py
@@ -1,3 +1,5 @@
+import os
+from glob import glob
from setuptools import find_packages, setup
package_name = 'rktl_sim'
@@ -10,6 +12,7 @@
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
+ (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*launch.[pxy][yma]*'))),
],
install_requires=['setuptools'],
zip_safe=True,