尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

193、多机通信与分布式部署:ROS2 DDS与gRPC在多机器人协同

发布时间:2026/9/6 8:06:26

资讯中心
01
ARTICLE

193、多机通信与分布式部署:ROS2 DDS与gRPC在多机器人协同

193、多机通信与分布式部署:ROS2 DDS与gRPC在多机器人协同
193、多机通信与分布式部署:ROS2 DDS与gRPC在多机器人协同昨晚在实验室调三台机器人的协同搬运,折腾到凌晨两点。问题出在ROS2的DDS发现机制上——三台机器人在同一个Wi-Fi下,节点互相看不到。我一度以为是防火墙问题,后来发现是DDS的发现协议默认走多播,而实验室的AP禁用了多播。这种问题在仿真里永远遇不到,一上真机就现原形。今天就把多机通信这块的坑和解决方案捋一遍。先说结论:ROS2的DDS适合机器人内部的实时通信,但跨机器人、跨网段的场景,gRPC往往更省心。不是二选一,而是各司其职。DDS的发现机制:为什么三台机器人互相看不见ROS2默认用Fast DDS,节点启动时会通过UDP多播发送发现报文。同一台机器上没问题,因为回环接口支持多播。但跨机器时,如果交换机或AP禁用了多播,节点就永远发现不了对方。我当时排查的步骤是这样的:先ros2 node list看本机节点是否正常,再ros2 topic list看话题是否发布。本机一切正常,但另一台机器上的节点就是看不到。用tcpdump抓包,发现多播报文根本没发出去。解决办法有几个:方案一:指定单播发现。在fastdds.xml配置文件里,把发现协议改成SIMPLE,并手动指定对端IP。这个方案适合固定拓扑,比如三台机器人IP固定,直接写死。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。