ROS主从机通信经验总结

1 一般来说,只要双方位于同一网段下,即使不做任何处理,ping对方IP都可以ping通,所以,如果ping不同对方电脑,首先检查网段设置,路由器设置等。

2 主机和从机都需要在hosts中设置对方的IP和名字,需要注意的是,这里设置的名字一定要和对方电脑的真实名字(打开终端后@符号后面的名字)完全一致。完成后在终端ping 你刚才写好的对方的电脑的名字,如果可以正常ping通,转第3步;否则,转第1步。

3 在bashrc中设置ROS_MASTER_URI,主机指定为自己即localhosts,从机设置为主机的名字。转第4步。

4 更新完hosts和bashrc后,需要source一下这两个文件,要么在终端里手动输入source两个文件的命令,要么把source命令写进bashrc里,然后每次更新完bashrc后开启新终端。这里我建议使用后者。转第5步检验该步骤是否成功。转第5步。

5 检验是否设置成功,首先在主机上启动roscore,接着在从机上查看rostopic list,如果能正常看到两个ROS的消息,说明从机已经找到了ROS master。如果主机或从机有任意一个电脑报“ROS_MASTER_URI[地址]is not set to XXXX”,转第3步。

6 主机启动乌龟例程,从机启动键盘控制节点,观察能否使用从机控制主机乌龟例程。若可以,交换主从机节点,重复上述步骤。若出现两者均不能控制或只有一侧可以控制,转第7步。

7 请仔细检查/etc/hosts里的对方电脑的名字。经过我们的实验验证:你在hosts里给对方电脑起的名字,决定了你能否收到对方的topic消息。也就是说,如果你写在hosts里的电脑名字与对方电脑的真实名字不符合,你仍然可以正常地给对方发送topic,但是无法监听到对方发送的topic。

同理,如果我们给两台电脑起了相同的名字,则两台电脑均无法正常通信。考虑到linux系统改名字贼麻烦,改了吧还很容易改不完全,所以建议给其中一台电脑重装系统。

2022.7.14凌晨 于机动楼实验室

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值