机器ubuntu20.04和ubuntu16.04在局域网下ros通信

多台机器ros局域网通信,试过在ubuntu16.04的机器人和ubuntu20.04下安装不同版本ros通信,测试成功。

首先保证两台机器在同一个局域网内(可以相互ping通)

1.查看ip地址

ifconfig

 2.ssh远程登录机器人计算机

$ ssh username@192.168.xx.xx

username为用户名, 192.168.xx.xx为ip地址,输入密码后就可登陆

3.设置环境变量ROS_MASTER_URI和ROS_IP

(1)打开远程连接的terminal,编辑配置文件

$ sudo vim ~/.bashrc

打开配置文件,配置相关参数

#设置ROSMaster为机器人IP

export ROS_MASTER_URI=http://192.168.xx.xx:11311

#设置本机局域网IP(也为机器人IP

export ROS_IP=192.168.xx.xx

 (2)打开本地计算机terminal(快捷键:ctrl+alt+t),编辑配置文件

$ sudo vim ~/.bashrc

将下面加入最后一行

#设置ROSMaster为机器人IP

export ROS_MASTER_URI=http://192.168.xx.xx:11311

#设置本机局域网IP(此处为桌面计算机IP)

export ROS_IP=192.168.xx.xx

4.修改hosts文件

若没有这一步,则在桌面计算机上使用rostopic list命令可以看见master发布的话题列表,但是无法接收话题消息数据。

(1) 首先分别在桌面计算机和机器人计算机的terminal中输入如下命令,查看二者的hostname:

$ hostname

这里,假设查询得到的计算机hostname名称分别为desktop-hostname和robot-hostname。

(2) 使用ssh远程登录ROS master所在计算机后,打开/etc/hosts文件:

$ sudo vim /etc/hosts

添加如下一行桌面计算机的IP和主机名:

192.168.xx.xx desktop-hostname

(3) 同样,在桌面计算机下,打开/etc/hosts文件:

$ sudo vim /etc/hosts

添加如下一行机器人计算机的IP和主机名:

192.168.1.110 robot-hostname

修改完hosts文件后,重启网路即可在桌面计算上读取机器人计算机发布的话题消息了,例如使用rostopic list:

$ rostopic list

参考:局域网下ROS多机通信的网络连接配置

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值