eclipse-zenoh/zenoh-plugin-ros2dds
说明与用途
**项目简介** eclipse-zenoh/zenoh-plugin-ros2dds 是一个基于 Zenoh 的 ROS 2 插件,使用 DDS 作为 RMW 实现。相较于传统 DDS RMW,它通过 Zenoh 的统一数据空间和轻量级协议,能够实现更低的延迟、更高的可扩展性以及跨网络的透明互操作(详见 ROS 2 替代中间件报告)。
**价值**
- **自动化**:把 ROS 2 与 DDS 的手动配置、节点发现和数据路由工作交给 Zenoh 插件完成,显著减少重复的运维脚本和人工干预。
- **可组合**:插件以 API/SDK/CLI 形式暴露,实现语言无关的调用,方便将 ROS 2、DDS 与其他工具(如监控、调度系统)串联成可重复的工作流。
- **高效连接**:利用 Zenoh 的多协议桥接(TCP、UDP、QUIC 等),在异构网络环境下保持低时延和高吞吐,适合边缘、云端和机器人之间的实时数据共享。
**典型接入方式**
- **依赖添加**:在 ROS 2 项目的
Cargo.toml(Rust)或CMakeLists.txt(C/C++)中加入zenoh-plugin-ros2dds。 - **启动插件**:在运行 ROS 2 节点时通过环境变量或命令行参数启用插件,例如
RMW_IMPLEMENTATION=zenoh_plugin_ros2dds ros2 run <package> <node>- **使用 API**:通过 Zenoh Rust/CPP SDK 调用插件提供的发布/订阅、服务/客户端等接口,或直接使用 ROS 2 标准 API(
rclcpp、rclpy),插件会在后台将这些调用映射到 Zenoh‑DDS。 - **CLI 调试**:插件自带
zenoh-cli,可用于实时查看主题、服务状态以及网络拓扑,帮助快速验证集成。
**生产可用性**
- **活跃度**:截至 2026‑06‑30,项目最近一次提交,拥有 279 ★、63 Fork,社区活跃,Issue 关闭率高。
- **技术成熟度**:核心实现使用 Rust,具备内存安全和高并发特性;插件已在多个 ROS 2 迁移实验中验证,延迟和带宽表现优于传统 DDS RMW。
- **生态兼容**:兼容 ROS 2 Foxy、Galactic、Humble 等主流发行版,且可与现有 DDS 实现共存,便于渐进式迁移。
- **风险**:仍需对许可证(EPL‑2.0)和安全审计进行最终确认,建议在正式生产前进行内部渗透测试和持续集成验证。
综合来看,zenoh-plugin-ros2dds 已具备进入正式生产环境的技术基础,适合作为自动化、可扩展的 ROS 2‑DDS 中间件方案进行试点部署。
实际用途
eclipse-zenoh/zenoh-plugin-ros2dds helps remove repetitive manual operations from a workflow.
- remove manual work
- connect tools into repeatable flows
- schedule operational tasks
限制与审查说明
High for an OSS candidate: recent activity, adoption, and ecosystem signals are strong enough for a serious pilot.
- 来源: github
- 语言: Rust
- 记录日期: 2026-09-05T17:31:04.302Z