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

1. 在路由器设置中固定各机器IP地址

在浏览器中输入路由器的IP地址,例如TP-LINK路由器的IP为:

192.168.1.1

进入登录页面后,输入用户名和密码登录,用户名一般为admin,密码为自定义。

在“基本设置->LAN设置->静态地址分配”路径下,可以为连接在该路由器下的所有计算机分配固定的局域IP地址(local IP)。此处我们将桌面计算机IP固定为:192.168.1.90,将ridgeback机器人的IP固定为:192.168.1.110。

2. 查看IP地址

在桌面计算机上打开终端,输入如下命令查看本机IP地址:

$ ifconfig

可以看到本机IP地址为固定后的192.168.1.90。

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

在桌面计算机中输入如下ssh命令,远程登录机器人计算机:

$ ssh administrator@192.168.1.110

输入密码后,即可远程登录。其中administrator为机器人计算机的用户名,192.168.1.110为机器人计算机的局域IP地址。

4. 设置环境变量ROS_MASTER_URI和ROS_IP

(1) 在ROS master所在计算机下(此处即机器人计算机,可以通过ssh远程登录),打开.bashrc文件:

$ sudo vim .bashrc

在该文件最后添加如下两句环境变量设置语句:

#设置ROSMaster为机器人IP

export ROS_MASTER_URI=http://192.168.1.110:11311

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

export ROS_IP=192.168.1.110

(2) 在桌面计算机下,同样打开.bashrc文件,添加如下两句环境变量设置语句:

#设置ROSMaster为机器人IP

export ROS_MASTER_URI=http://192.168.1.110:11311

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

export ROS_IP=192.168.1.90

5. 修改/etc/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.1.90 desktop-hostname

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

$ sudo vim /etc/hosts

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

192.168.1.110 robot-hostname

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

$ rostopic echo /rosout

 

  • 17
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值