远程使用RVIZ时出现No tf data. Actual error: Fixed Frame [map] does not exist

在尝试远程使用RVIZ时遇到了'Fixed Frame [map] does not exist'的警告,导致无法加载地图。问题源于ROS多机通讯中的命名冲突,由于远程机和机器人主机名相同,造成ROS无法正确识别master。解决方案是更改远程机的主机名,确保各节点间通讯正常。

问题描述:

一个假期没用husky跑导航,想重新试一下导航的功能,构建的过程还是难免遇到一些问题,在机器人上运行导航功能之后,远程运行RVIZ,但是这个时候有警告:
No tf data. Actual error: Fixed Frame [map] does not exist
这个警告导致无法在RVIZ中加载地图等信息,于是踏上了解决问题之路。


原因分析:

首先第一步当然是百度:
No tf data. Actual error: Fixed Frame [map] does not exist
因为不知道是什么原因造成的,这里看到一个还挺有用的帖子:
链接: link.
于是我用激光来测试了一下,想在RVIZ中看激光的数据的时候也出现了上述问题,所以新开了一个终端运行:

 rosrun tf static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map laser 100 

这个时候激光的问题解决了,但是当用同样的方法去解决上述问题时,发现依旧不好使,这条解决方法就算行不通了,但是有一个启发是:因为缺少了map到别的坐标系的tf变换才出现了这个错误,于是打开了另一个仿真平台,用rqt_tf_tftree工具查看仿真和实物平台的tf差别,发现实物和仿真运行的tftree也是一样没问题的,这里有一个问题就是在机器人的主机运行

 rosrun tf tf_monitor

与仿真平台相同,但是在远程机上运行就会发现看不到结果,于是这里就可以得出结论,是ROS多机通讯出了问题,于是仔细研究了一下,发现我的远程机和机器人的主机名字居然是一样的,这里就猜测是因为名字一样,导师ROS无法识别master是谁。


解决方案:

把远程机的hostname更改为别的名字就好。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值