diff --git a/catkin_ws/src/asclinic_pkg/launch/gmapping.launch b/catkin_ws/src/asclinic_pkg/launch/gmapping.launch
new file mode 100644
index 0000000000000000000000000000000000000000..6a284005b3ff0b29514eed7378754166e388bba3
--- /dev/null
+++ b/catkin_ws/src/asclinic_pkg/launch/gmapping.launch
@@ -0,0 +1,40 @@
+<launch>
+  <!-- Launch the RPLIDAR node -->
+  <group ns="asc">
+    <node
+      pkg="rplidar_ros"
+      name="rplidarNode"
+      output="screen"
+      type="rplidarNode">
+      <param name="serial_port" type="string" value="/dev/rplidar"/>
+      <param name="serial_baudrate" type="int" value="115200"/>
+      <param name="frame_id" type="string" value="laser"/>
+      <param name="inverted" type="bool" value="false"/>
+      <param name="angle_compensate" type="bool" value="true"/>
+    </node>
+  </group>
+
+  <!-- Launch the robot state publisher -->
+  <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"/>
+
+  <!-- Launch the joint state publisher -->
+  <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher"/>
+
+  <!-- Start GMapping for SLAM -->
+  <node name="slam_gmapping" pkg="gmapping" type="slam_gmapping" output="screen">
+    <param name="base_frame" value="base_link"/>
+    <param name="odom_frame" value="odom"/>
+    <param name="map_frame" value="map"/>
+    <param name="delta" value="0.05"/>
+    <param name="xmin" value="-10.0"/>
+    <param name="ymin" value="-10.0"/>
+    <param name="xmax" value="10.0"/>
+    <param name="ymax" value="3.0"/>
+    <param name="maxUrange" value="10.0"/>
+    <param name="maxRange" value="10.0"/>
+    <remap from="scan" to="/asc/scan"/>
+  </node>
+
+  <!-- Start RViz for visualization -->
+  <node name="rviz" pkg="rviz" type="rviz" output="screen"/>
+</launch>