ROS分布式多机通信(主从机配置)

       由于在我们使用ROS进行机器人开发的时候,比如,调试智能车,硬件资源有限或者不能直接进行开发、计算的时候,我们常常会进行主从机配置。
       节点可以运行在不同的计算平台上,但是ROS中 只允许存在一个Master ,在多机系统中Master只能运行在一台机器上,其他机器需要通过ssh的方式和Master取得联系。
       以两台计算机为例,介绍分布式多机通信的配置步骤:( 主机:ucar_mini,从机:xiaolong-Inspiron-5580

一、设置IP地址

1.首先需要确定ROS多机系统中的所有计算机处于同一网络

ifconfig查看主机地址:

在这里插入图片描述
ifconfig查看从机地址:

在这里插入图片描述

2.在主机系统的/etc目录下hosts文件中加入从机的IP地址和对应的计算机名:

在这里插入图片描述

在从机系统的/etc目录下hosts文件中加入主机的IP地址和对应的计算机名:

在这里插入图片描述

3.设置完毕后,分别在两台计算机上使用ping命令测试网络是否连通。
下图表示双向网络都畅通,说明底层网络的通信已经没问题。(ping后面可以加IP也可以加名字

在这里插入图片描述
在这里插入图片描述

二、设置ROS_MASTER_URI

因为系统中只能存在一个Master,所以从机需要知道Master的位置。
在从机的.bashrc隐藏文件(ctrl+h打开)中添加如下内容:
ROS_HOSTNAME添加的是从机地址;ROS_MASTER_URI添加的是主机地址。
在这里插入图片描述

三、多机通信测试

1.我们可以通过ssh切换到主机终端,实现在从机上对主机的控制。

在这里插入图片描述
2.在主机终端启动master和小海龟节点,在从机终端启动键盘节点进行控制。(这个时候可能会发现数据传输的比较慢或者受计算机性能的影响而使控制效果比较差
在这里插入图片描述
在这里插入图片描述

四、拓展

        当我们的小车主板计算资源不是很好的时候,我们就可以使用这个ssh远程控制,从而在主机上启动master,而在从机上进行各种计算,rviz可视化等(当然我们的多机通信不局限于两台计算机设备)。同时,我们也可以通过NFS和VNC进行远程调试。

本文内容参考:
《ROS机器人开发实践》——胡春旭

如有错误或者不足之处,欢迎大家留言指正!

  • 14
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

☆下山☆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值