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.

相关推荐
lqqjuly17 分钟前
机器人状态估计与 SLAM—概率推理到 simultaneous Localization and Mapping
算法·机器人
物联通信量讯说33 分钟前
物联网卡用于机器人 / 无人设备,企业应该怎么选?
物联网·机器人·无人机
物联网软硬件开发-轨物科技34 分钟前
【轨物方案】告别人工运维痛点!光伏清洁检测一体化机器人,开启电站智能运维新时代
运维·机器人
J_Xiong011736 分钟前
【WAM篇】15:Dreamitate——让“工具“当桥梁,把人类演示变成机器人动作
机器人·wam
WangN241 分钟前
【通识】具身智能、机器人、智能驾驶研发主线:世界模型与VLA技术深度调研
人工智能·机器人·自动驾驶·具身智能
与芯同行42 分钟前
从春晚武术机器人到桌面萌宠:拆解AI陪伴硬件的“听觉-能量铁三角”
人工智能·机器人
才兄说2 小时前
机器人二次开发巡检系统?高精度自主建图
机器人
兔兔爱学习兔兔爱学习11 小时前
1.1 机器人发展历史与背景
机器人
田里的水稻11 小时前
OE_ubuntu26.04与宿主机之间复制粘贴内容
人工智能·python·机器人
QYR-分析13 小时前
智能化重构仓储物流:仓储人形机器人行业全景解析
人工智能·重构·机器人