【ROS2】解决 RViz 报错 “Frame [map] does not exist“:TurtleBot3 导航仿真保姆级教程 (ROS2 Jazzy)
2026/7/11 2:00:02 网站建设 项目流程

【ROS2】解决 RViz 报错 “Frame [map] does not exist”:TurtleBot3 导航仿真保姆级教程 (ROS2 Jazzy)

很多同学在运行 TurtleBot3 仿真时,RViz 界面虽然弹出来了,但左上角总是显示红色的Global Status: Error,提示Frame [map] does not exist

这通常不是软件坏了,而是启动顺序参数传递的问题。Gazebo 只是物理世界,它不会自动把地图发给 RViz,必须通过 Nav2 导航栈来“桥接”。

今天这篇教程,带你从环境检查到完美运行,彻底解决这个问题!

🔍 问题诊断

  • 现象:RViz 打开后是一片黑或者只有网格,没有地图。
  • 原因:缺少地图服务器(Map Server)或定位节点(AMCL),导致 RViz 找不到map坐标系。
  • 核心解法:使用官方提供的navigation2.launch.py一键启动所有必要节点。

✅ 第一步:环境准备与安装(确保包齐全)

在开始之前,请确保你的 Ubuntu 环境下安装了完整的依赖包。即使你之前装过,建议再跑一次以确保环境变量正确。

打开终端,运行以下命令:

# 1. 更新源并安装核心包(仿真 + 导航 + 可视化 + 键盘控制)sudoaptupdatesudoaptinstallros-jazzy-turtlebot3-gazebo\ros-jazzy-turtlebot3-navigation2\ros-jazzy-nav2-bringup\ros-jazzy-rviz2\ros-jazzy-turtlebot3-teleop# 2. 写入环境变量(告诉系统你要用 burger 型号的小车)echo"export TURTLEBOT3_MODEL=burger">>~/.bashrcsource~/.bashrc

💡 提示:如果你使用的是 Humble 版本,请将命令中的jazzy替换为humble


🚀 第二步:启动 Gazebo 物理世界(终端 1)

保持上面的终端不动,或者新建一个终端(快捷键Ctrl+Alt+T),运行此命令启动仿真环境。

ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

现象确认:
你会看到一个灰色的 Gazebo 窗口,里面有一辆小车和一些障碍物。此时不要关闭这个终端,让它一直在后台跑。


🗺️ 第三步:启动导航栈与 RViz(终端 2 - 关键步骤!)

这是解决你截图中Global Status: Error的核心步骤。你需要打开一个新的终端,运行下面这行长命令。它会同时启动地图服务器、定位算法和 RViz 界面。

ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=True map:=$(ros2 pkg prefix turtlebot3_navigation2)/share/turtlebot3_navigation2/maps/turtlebot3_world.yaml

预期结果:

  1. RViz 会自动弹出。
  2. 左侧Global Status应该会变成绿色 OK
  3. 你能看到一张清晰的地图,以及代表小车的箭头(TF 变换)。

🎮 第四步:让小车动起来(验证成功)

如果 RViz 显示正常(全绿),你可以测试小车是否能移动。

  1. 打开第三个终端
  2. 运行键盘控制节点:
    ros2 run turtlebot3_teleop teleop_keyboard
  3. 在键盘上按下w(前进) 或a/d(转向)。
  4. 观察重点:Gazebo 里的小车在动,且 RViz 里的红色激光点云是否贴合墙壁?如果贴合,说明定位非常精准!

💡 常见避坑指南

遇到问题解决方案
RViz 是黑的/无地图检查第三步的命令是否完整复制,特别是map:=...后面的路径部分,那是地图文件的绝对路径。
Package not found说明第一步的安装没成功,请检查网络或重新运行sudo apt update
WSL2 用户如果你是在 Windows 的 WSL2 里跑 ROS,确保你已经配置好了图形显示(如 VcXsrv 或 MobaXterm),否则 RViz 窗口弹不出来。
虚拟机卡顿参考之前的配置贴,确保给虚拟机分配了至少 8GB 内存和 3D 加速。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询