ROS_DOMAIN_ID(域 ID)
ROS 2 Domain ID进阶ROS 2 的环境变量,决定哪些节点能互相发现和通信
ROS 2 底层用 DDS 中间件通信,同一局域网里的节点会自动互相发现。ROS_DOMAIN_ID 是一个环境变量,用来给节点分组:只有域 ID 相同的节点才能看到彼此,默认值是 0。它由 DDS 的「域」概念而来,不同域 ID 会映射到不同的网络端口。官方文档建议在 0–101 之间取值,以免和系统端口冲突。实验室里多人、多台机器人共用一个网络时,如果不分开设置,就会收到别人的话题数据、互相干扰,这是新手常见的坑。
例子两位同学在同一 Wi-Fi 下各调一台机器人,分别在终端执行 export ROS_DOMAIN_ID=11 和 export ROS_DOMAIN_ID=12,彼此的话题就不会串。
- 也叫
- ROS_DOMAIN_ID
- 相关
- ROS 2、数据分发服务、中间件、节点、话题、服务质量
- 来源
- ROS 2 Documentation: The ROS_DOMAIN_ID