This document covers the launch entry points in amr_ros and how they relate to the hardware interface, robot description, and optional RViz sessions.
amr_ros: top-level launch files for LD90 and LD250amr_core: hardware interface node that talks to the robotamr_description: robot description and xacro filesamr_nav2: optional Nav2, SLAM, localization, maps, and Nav2 RViz workflow
Source the workspace before launching anything:
source install/setup.bashThis launches the amr_core node with amr_ros/config/parameters.yaml.
ros2 launch amr_ros amr_core.launch.pyThis launches:
amr_corerobot_state_publisherwith the LD90 description
ros2 launch amr_ros ld90.launch.pyThis launches:
amr_corerobot_state_publisherwith the LD250 description
ros2 launch amr_ros ld250.launch.pyThese views are the existing robot-centric RViz sessions from amr_ros/rviz.
ros2 launch amr_ros ld90.launch.py rviz:=trueros2 launch amr_ros ld250.launch.py rviz:=trueThe LD90 and LD250 top-level launches expose these common arguments:
rviz:=true|false: open the legacy robot RViz config fromamr_rosrobot_description_override:=true|false: skip the default robot description if a parent launch provides oneuse_nav2:=true|false: include the Nav2 child launch fromamr_nav2use_slam:=true|false: enable SLAM Toolbox in the Nav2 child launchuse_localization:=true|false: enable Nav2 localization in the child launchnav2_params_file:=...: override the Nav2 YAML filemap:=filename.yaml: map YAML filename resolved underamr_nav2/maps
Start LD250 with Nav2 localization:
ros2 launch amr_ros ld250.launch.py use_nav2:=true use_localization:=true map:=warehouse.yamlStart LD90 with SLAM:
ros2 launch amr_ros ld90.launch.py use_nav2:=true use_slam:=trueuse_localizationonly starts localization whenmapis non-empty.- If both
use_slam:=trueanduse_localization:=trueare set, the launch flow suppresses localization so only one map-to-odom source is active. - The Nav2 RViz session is launched separately from
amr_nav2; see nav2_usage.md.