ROS-分布式通信

ROS是一个分布式计算环境。==一个运行中的ROS系统可以包含分布在多台计算机上多个节点。==根据系统的配置方式,任何节点可能随时需要与任何其他节点进行通信。
因此,ROS对网络配置有某些要求:

  • 所有端口上的所有机器之间必须有完整的双向连接。
  • 每台计算机必须通过所有其他计算机都可以解析的名称来公告自己。

1.准备
先要保证不同计算机处于同一网络中,最好分别设置固定IP,如果为虚拟机,需要将网络适配器改为桥接模式;

2.配置文件修改
分别修改不同计算机的 /etc/hosts 文件,在该文件中加入对方的IP地址和计算机名:

主机端:

从机的IP    从机计算机名

从机端:

主机的IP    主机计算机名

设置完毕,可以通过 ping 命令测试网络通信是否正常。

IP地址查看名: ifconfig
计算机名称查看: hostname

在这里插入图片描述
安装一下net-tools

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

3.配置主机IP
配置主机的 IP 地址
~/.bashrc 追加

export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=从机IP

测试
1.主机启动 roscore(必须)
2.主机启动订阅节点,从机启动发布节点,测试通信是否正常
3.反向测试,主机启动发布节点,从机启动订阅节点,测试通信是否正常

参考:
[1]Autolabor-ROS机器人入门课程《ROS理论与实践》季基础教程
[2]【Autolabor初级教程】ROS机器人入门
[3]胡春旭.ROS机器人开发实践[M].机械工业出版社,2018.

相关推荐

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

    2023-12-19 06:22:03       17 阅读
  2. ROS笔记四:ROS通信

    2023-12-19 06:22:03       41 阅读
  3. ROS-ROS通信机制-常用API

    2023-12-19 06:22:03       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-19 06:22:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-19 06:22:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-19 06:22:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-19 06:22:03       20 阅读

热门阅读

  1. serializable和parcelable的区别(GPT回答)

    2023-12-19 06:22:03       39 阅读
  2. 读写分离之同步延迟测试

    2023-12-19 06:22:03       52 阅读
  3. 【mask转json】文件互转

    2023-12-19 06:22:03       54 阅读
  4. Linux 命令大全备忘录

    2023-12-19 06:22:03       47 阅读
  5. 基于三维点云处理技术的工件识别和匹配

    2023-12-19 06:22:03       39 阅读