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.

相关推荐
茯苓gao9 小时前
嵌入式开发笔记:工业机器人通信协议深度解析——从现场总线到工业以太网
笔记·嵌入式硬件·学习·机器人·信息与通信
鲁邦通物联网10 小时前
基于GPIO与高频滤波的状态机:非侵入式机器人梯控精准平层判定实现
机器人·巡检机器人·机器人梯控·agv梯控·非侵入式采集·机器人乘梯·机器人自主乘梯
牛哥带你学代码10 小时前
VLA 与机器人基础模型:具身智能的下一代操作系统
人工智能·机器人
code_pgf14 小时前
大模型赋能家庭服务机器人的场景适应性分析
大数据·人工智能·机器人
深度森林1 天前
机器人领域“工业机械臂”高价值专利案例:一种工业机器人智能分拣方法
机器人·工业机械臂
XMan_Liu1 天前
AI聊天机器人架构学习
人工智能·架构·机器人
田里的水稻1 天前
EP_XML\JSON配置文件和YAML
xml·运维·人工智能·机器人·自动驾驶·json
深圳慧闻智造技术有限公司1 天前
机器人精密传动零件加工精度控制方法与实践指南
机器人·精密零件加工·精密机械加工
2501_941982051 天前
企业微信私域流量运营:如何利用RPA技术构建高效的社群自动化管理系统
大数据·人工智能·机器人·自动化·企业微信·rpa