How tamu-robomasters/nav2-sim-testing works
This repository provides ROS 2 simulation and navigation bringup for a SAM bot, with a separate keyboard teleoperation node. The principal workflow is to launch the robot simulation and visualization, then start laser processing and either online SLAM with navigation or map-based AMCL localization with navigation. The launch files establish these stages; sampled source confirms the robot model, state publishing, EKF, visualization, and teleop behavior. The multi-laser and Nav2 internals were not sampled, so their documented launch/config roles are shown without internal wiring.
Main entry points: display.launch.py Display launch · bringup.launch.py SLAM bringup · bringup_amcl.launch.py AMCL bringup · sam_bot_description.urdf Robot model
Components 21
Launch orchestration
- SLAM bringup
src/sam_bot_bringup/launch/bringup.launch.py - AMCL bringup
src/sam_bot_bringup/launch/bringup_amcl.launch.py
Robot simulation
- Display launch
src/sam_bot_description/launch/display.launch.py - Gazebo simulator
- Simulation world
src/sam_bot_description/world/my_world.sdf - Robot model
src/sam_bot_description/src/description/sam_bot_description.urdf - Joint state publisher
src/sam_bot_description/launch/display.launch.py - Robot state publisher
src/sam_bot_description/launch/display.launch.py - EKF localization
src/sam_bot_description/launch/display.launch.py - EKF parameters
src/sam_bot_description/config/ekf.yaml - RViz visualization
src/sam_bot_description/launch/display.launch.py
Mapping and navigation
- Multi-laser toolbox
src/multi-laserscan-toolbox-ros2 - Laser parameters
src/sam_bot_bringup/config/laserscan_toolbox_params.yaml - Online SLAM
- Nav2 navigation
- Nav2 AMCL bringup
- Nav2 parameters
src/sam_bot_bringup/config/nav2_params.yaml - Saved map
src/sam_bot_bringup/maps/my_map.yaml
Robot control
- Keyboard teleop
src/sam_bot_description/scripts/teleop_keyboard.py - Velocity commands
Other components
- Operator
Connections 27
- Operator → SLAM bringup: launches
- Operator → AMCL bringup: launches
- SLAM bringup → Display launch: includes
- SLAM bringup → Multi-laser toolbox: launches delayed
- SLAM bringup → Online SLAM: launches delayed
- SLAM bringup → Nav2 navigation: launches delayed
- AMCL bringup → Display launch: includes
- AMCL bringup → Multi-laser toolbox: launches delayed
- AMCL bringup → Nav2 AMCL bringup: launches delayed
- Display launch → Gazebo simulator: starts
- Display launch → Joint state publisher: starts
- Display launch → Robot state publisher: starts
- Display launch → EKF localization: starts
- Display launch → RViz visualization: starts
- Display launch → Simulation world: loads
- Display launch → Robot model: configures
- Robot state publisher → Robot model: publishes description
- Gazebo simulator → Robot model: spawns from description
- EKF localization → EKF parameters: reads
- SLAM bringup → Laser parameters: passes parameters
- AMCL bringup → Laser parameters: passes parameters
- SLAM bringup → Nav2 parameters: passes parameters
- AMCL bringup → Nav2 parameters: passes parameters
- AMCL bringup → Saved map: passes map
- Nav2 AMCL bringup → Nav2 navigation: includes localization and navigation
- Operator → Keyboard teleop: enters keys
- Keyboard teleop → Velocity commands: publishes