ROS-分布式通信

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

因此,ROS对网络配置有某些要求:

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

1.准备

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

2.配置文件修改

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

主机端:

bash 复制代码
从机的IP    从机计算机名

从机端:

bash 复制代码
主机的IP    主机计算机名

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

IP地址查看名: ifconfig

计算机名称查看: hostname

安装一下net-tools


3.配置主机IP

配置主机的 IP 地址

~/.bashrc 追加

bash 复制代码
export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=从机IP

测试

1.主机启动 roscore(必须)

2.主机启动订阅节点,从机启动发布节点,测试通信是否正常

3.反向测试,主机启动发布节点,从机启动订阅节点,测试通信是否正常

参考:

1Autolabor-ROS机器人入门课程《ROS理论与实践》季基础教程

2【Autolabor初级教程】ROS机器人入门

3胡春旭.ROS机器人开发实践M.机械工业出版社,2018.

相关推荐
宏集科技工业物联网1 小时前
微型线性伺服执行器如何驱动人形机器人关节?从驱动原理到实际选型
经验分享·机器人·具身智能·人形机器人·线性伺服执行器
一知半解仙4 小时前
当机器人学会泛化,而我在写Java:一名后端开发者的2026年8月21日观察手记
java·开发语言·机器人
别动我齐刘海14 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
HBYKKJ17 小时前
格雷希尔GFL浮动组件:大范围浮动补偿赋能自动化产线高效柔性对接,兼容大部分对正场景,适配市面常见的机器人末端执行器与工装安装板
人工智能·机器人·自动化
恒锐丰小瑞18 小时前
率能SS6810H 32V/1A/双通道H桥驱动芯片,PWM电流控制与混合衰减模式,用于POS打印机/安防相机/机器人
嵌入式硬件·数码相机·机器人·硬件工程
thesky12345618 小时前
智能体面试准备(四十三):具身智能体与机器人实操——从 VLA 到 Sim2Real
机器人·导航·操作·具身智能·智能体·vla·视觉语言动作
恒锐丰小瑞20 小时前
率能SS6812T 40V/1A/双通道H桥驱动芯片,PWM电流控制与混合衰减模式(eTSSOP28),用于POS打印机/安防相机/机器人
单片机·嵌入式硬件·数码相机·机器人
猫先生Mr.Mao1 天前
具身智能语言规划之SayCan详解:让大模型“会说”,也让机器人“能做”
机器人·大语言模型·论文解读·具身智能·saycan
恒锐丰小瑞1 天前
率能SS6811H 38V/1.6A/双通道H桥驱动芯片,PWM控制接口与低功耗睡眠模式,用于舞台灯光/安防相机/机器人
单片机·嵌入式硬件·数码相机·机器人
cd_949217211 天前
现实版变形金刚落地!有怡科技发布可变形本质人形机器人T01
科技·机器人