图 13-4 · 场景全景:从教室到开放日的四级组网选型

本图回答的问题:规模与网络环境变了,什么时候换划圈、什么时候加前缀、什么时候改单播、什么时候上服务器?

规模↑ 台数与无线环境 场 景 选型方案 落地案例 教学机房 · 6 组同场 整组要独立 · 话题名还要统一 分组划圈 整组换 ROS_DOMAIN_ID 每组发一个域号(1~6) 落地 6 组同叫 /cmd_vel 互相看不见,不串台 同域 · 6 车联动群控 要指哪打哪 · 还要能一键全发 同网寻址 同域 + namespace 前缀 /robot01/cmd_vel … 落地 按车发 robot01 循环 6 前缀 = 群控 无线 802.11 组控 组播限速 · 无 ACK · 随机丢 车一跑动发现就"时好时坏" 无线绕障 Fast DDS XML 固定对端 initialPeers 单播逐台宣告 落地 peers.xml 写 6 个 IP 发现不再赌组播 开放日 · 40 车跨教室 名单排不下 · 组播风暴不可控 百台上量 DISCOVERY_SERVER 集中 主备两台 · 容灾互备 落地 全部单播到服务器 主挂备切 · 发现不断 递进规则:规模 ↑ 或 组播环境 ↓ → 沿 ①划圈 → ②前缀 → ③XML 单播 → ④服务器 逐级上移
✅ 结论:分组划圈、群控寻址、无线单播、上量集中——四级各管一段,不混用 ⚠️ 风险:无线上赌组播 = 随机丢发现;40 车仍全组播 = 发现风暴 🔍 验证:02/04 三终端(第 1 级)· 本节 namespace/XML 命令 · 组排台 server 场景(第 4 级)
EXP-13 · ROS2 分布式通讯