ros2的nav2_map_server导入地图时,rviz2显示no map received
步骤:
1、打开终端,进入src/map/运行下面指令:
ros2 run nav2_map_server map_server --ros-args --param yaml_filename:=fishbot_map.yaml
2、打开rviz2
rviz2
通过add->bytopic->选择map组件。
3、配置并激活map_server
ros2 lifecycle set /map_server configure
ros2 lifecycle set /map_server activate
问题:rviz2显示no map received,不显示加载的地图,如下图:
原因:地图数据的发布激活调用了nav2_map_server的/map_server,其topic即/map数据只会发布一次!如果你没在它发布前打开Rviz,那么Rviz2就订阅不到这个数据。
解决:在步骤2中,启动rviz2,并添加Map组件,然后将Map组件的topic手动输入/map(此时/map未发布,只能手动输入)。之后按照原来的步骤配置激活节点后就可以看到加载的地图了。
如图: