This commit is contained in:
2026-07-30 09:24:47 +07:00
parent 4762a3032c
commit d8babff20b
50 changed files with 3280 additions and 119 deletions

View File

@@ -0,0 +1,54 @@
<?xml version="1.0"?>
<!--
Một lệnh duy nhất thay cho năm lệnh của đường chạy cũ:
roslaunch amr_startup robot_maze_world.launch
roslaunch amr_startup rviz.launch
roslaunch robot_depth_image_proc depth_image_proc_gazebo.launch
export PNKX_NAV_CORE_CONFIG_DIR=.../pnkx_nav_core/config
roslaunch amr_startup amr_control.launch
Ba phần đầu là hạ tầng mô phỏng KHÔNG đổi giữa move_base cũ và move_base2 (cùng world, cùng model
URDF T800, cùng rviz, cùng depth proc) nên được include lại chứ không chép lại — chép lại chỉ tạo
thêm một bản sao phải đồng bộ bằng tay.
Phần thứ tư và năm là thứ thực sự khác, và nằm trong `move_base2_control.launch` của gói này.
-->
<launch>
<arg name="world" default="maze" doc="maze | warehouse | sehc | empty" />
<arg name="robot_type" default="T800" />
<arg name="gui" default="true" doc="false = chạy gzserver headless" />
<arg name="rviz" default="true" />
<arg name="depth_proc" default="true" doc="Bật khi cần đường depth camera -> costmap" />
<!-- 1. Gazebo + model robot T800 + world -->
<include file="$(find amr_startup)/launch/robot_maze_world.launch" if="$(eval world == 'maze')">
<arg name="gui" value="$(arg gui)" />
<arg name="robot_type" value="$(arg robot_type)" />
</include>
<include file="$(find amr_startup)/launch/ware_houses_world.launch" if="$(eval world == 'warehouse')">
<arg name="gui" value="$(arg gui)" />
<arg name="robot_type" value="$(arg robot_type)" />
</include>
<include file="$(find amr_startup)/launch/sehc_world.launch" if="$(eval world == 'sehc')">
<arg name="gui" value="$(arg gui)" />
<arg name="robot_type" value="$(arg robot_type)" />
</include>
<include file="$(find amr_startup)/launch/robot_empty_world.launch" if="$(eval world == 'empty')">
<arg name="gui" value="$(arg gui)" />
<arg name="robot_type" value="$(arg robot_type)" />
</include>
<!-- 2. rviz — dùng lại đúng config đang đọc /global_costmap/costmap, /plan, /footprint -->
<node if="$(arg rviz)" name="rviz" pkg="rviz" type="rviz"
args="-d $(find amr_startup)/rviz/navigation.rviz" />
<!-- 3. Depth image -> point cloud cho VoxelLayer -->
<include file="$(find robot_depth_image_proc)/launch/depth_image_proc_gazebo.launch"
if="$(arg depth_proc)" />
<!-- 4 + 5. Nav stack trên move_base2 (tự đặt PNKX_NAV_CORE_CONFIG_DIR) -->
<include file="$(find move_base2)/launch/move_base2_control.launch">
<arg name="robot_type" value="$(arg robot_type)" />
</include>
</launch>