目录
[1. 分布式通信](#1. 分布式通信)
[1.1 树莓派配置流程编辑](#1.1 树莓派配置流程编辑)
[1.2 树莓派和laptop处于同一网络编辑](#1.2 树莓派和laptop处于同一网络编辑)
[1.3 laptop配置](#1.3 laptop配置)
[1.4 通信测试](#1.4 通信测试)
[1.5 分组通信](#1.5 分组通信)
[编辑 1.6 分布式通信测试](#编辑 1.6 分布式通信测试)
1. 分布式通信
机器人体积较小,采用树莓派作为控制器,实现传感器处理和电机驱动功能;视觉处理等应用功能在性能更好的laptop中处理,此外,在laptop监控传感器信息,远程控制机器人运动。
两台电脑通过ROS2实现通讯,分别配置好ROS2开发环境。
1.1 树莓派配置流程
1.2 树莓派和laptop处于同一网络
1.3 laptop配置
虚拟机配置的Ubuntu需要将网络设置为桥接模式,并桥接至所用网卡
1.4 通信测试
laptop远程控制树莓派
laptop本机ping通树莓派IP
1.5 分组通信
在设置ROS_DOMAIN_ID的值时并不是随意的,也是有一定约束的(网络通信的端口限制):
-
建议ROS_DOMAIN_ID的取值在[0,101] 之间,包含0和101;
-
每个域ID内的节点总数是有限制的,需要小于等于120个;
-
如果域ID为101,那么该域的节点总数需要小于等于54个。
export ROS_DOMAIN_ID=<your_domain_id>
export ROS_DOMAIN_ID=31
没有设置DOMAIN_ID时,默认的DOMAIN_ID=0,仅设置树莓派的DOMAIN_ID=31时,无法通信
1.6 分布式通信测试
同理,编写的话题、服务、参数、动作例程,也可以在不做修改的情况下分布式通信。
视觉识别例程测试