ZephastraZEPHASTRAROBOTICS
PROJECT 01 · SIMULATION CASE STUDY

ROS 2 AMR 建图、定位与 Nav2 导航

在 Gazebo 差速移动机器人上连接激光、里程计、TF、在线 SLAM、AMCL 与 Nav2,验证从手动建图到目标导航的完整链路。

ROS 2GazeboSLAM ToolboxAMCLNav2
仓库实际运行截图:左侧 Gazebo 仿真,右侧 RViz 激光与二维地图。
仓库实际运行截图:左侧 Gazebo 仿真,右侧 RViz 激光与二维地图。 原始截图

这个实验验证了什么

  • ros_gz_bridge 接入 /scan 和 /odom,并建立 map → odom → base_link → laser_link 链路。
  • slam_toolbox 在线异步建图,保存 map.pgm 与 map.yaml。
  • 保存地图后使用 AMCL 定位、Nav2 Goal 导航,并通过 check_nav2.sh 检查话题、TF、生命周期和 Action。

验证边界

  • 仅为入门仿真环境,不代表真实机器人安全参数或现场导航可靠性。
  • 轮式里程计尚未融合 IMU;打滑、碰撞或顶墙仍可能导致地图漂移。

环境与复现入口

已验证基线:Ubuntu 26.04 / WSL 2、ROS 2 Lyrical、Gazebo ROS vendor 10.4.0、Cyclone DDS、RViz 2 / WSLg。测试机另装有 Jetty nightly;其他版本未完成端到端验证。

先安装 ROS 2 Lyrical 并配置软件源,再运行以下命令。保持建图程序运行,在另一个终端执行 bash scripts/save_map.sh;保存后退出建图,再执行 bash scripts/run_nav2.sh。建图和导航不能同时运行。

git clone https://github.com/zephastra/robotics.git
cd robotics
git checkout 8f2fbe53f616c905262efc589711b65510b1bdbd
cd projects/01-amr-slam
bash scripts/install.sh
bash scripts/run_mapping.sh

命令固定到本次核对的版本;完整前置条件和后续更新请查看仓库 README。

证据与源码

README 记录 v0.2.0 完成建图、地图保存、AMCL 定位与目标导航的端到端验证;Nav2 文档列出操作与验收标准。这不是跨硬件成功率报告。

核对版本: 8f2fbe53f616c905262efc589711b65510b1bdbd