ROS2导航2教程中RVIZ提示‘Fixed Frame [map]不存在’如何解决?
问题背景
在ROS2 Navigation2教程实践中,按步骤完成ROS2二进制包、Nav2包、Turtlebot3包的安装后,运行仿真启动命令ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False,RVIZ界面全局状态栏出现错误:For frame [ ]: Fixed Frame [map] does not exist
解决步骤
补全ROS2版本号占位符
你安装命令和环境变量设置中存在未替换的ROS版本占位符(比如ros--navigation2、/opt/ros//setup.bash),需要替换为你实际安装的ROS2版本代号(如humble、foxy):- 修正后的安装命令示例(以Humble为例):
sudo apt install ros-humble-navigation2 sudo apt install ros-humble-nav2-bringup sudo apt install ros-humble-turtlebot3-gazebo - 修正后的环境变量设置:
source /opt/ros/humble/setup.bash export TURTLEBOT3_MODEL=Waffle export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/humble/share/turtlebot3_gazebo/models
- 修正后的安装命令示例(以Humble为例):
确认地图相关节点正常运行
打开新终端,执行ros2 node list,查看是否存在map_server、amcl这类提供map坐标系的节点。如果缺失,说明启动脚本未正确加载地图模块,可以手动指定地图路径启动:ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False map:=/opt/ros/humble/share/turtlebot3_navigation2/maps/turtlebot3_world.yaml检查RVIZ的Fixed Frame设置
在RVIZ左侧面板的Global Options中,确认Fixed Frame是否设置为map:- 如果当前没有
map话题,可先临时切换为odom验证界面是否正常,待map_server节点启动完成后再切回map - 等待所有节点完全启动(通常需要10-20秒),再查看
map坐标系是否出现
- 如果当前没有
重启流程验证
关闭所有终端,重新打开终端后严格按顺序设置环境变量、运行启动命令,确保所有节点正常初始化。
内容的提问来源于stack exchange,提问作者assa
相关产品推荐
相关产品推荐

