Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

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 等),在异构网络环境下保持低时延和高吞吐,适合边缘、云端和机器人之间的实时数据共享。

**典型接入方式**

  1. **依赖添加**:在 ROS 2 项目的 Cargo.toml(Rust)或 CMakeLists.txt(C/C++)中加入 zenoh-plugin-ros2dds。
  2. **启动插件**:在运行 ROS 2 节点时通过环境变量或命令行参数启用插件,例如
   RMW_IMPLEMENTATION=zenoh_plugin_ros2dds ros2 run <package> <node>
  1. **使用 API**:通过 Zenoh Rust/CPP SDK 调用插件提供的发布/订阅、服务/客户端等接口,或直接使用 ROS 2 标准 API(rclcpp、rclpy),插件会在后台将这些调用映射到 Zenoh‑DDS。
  2. **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
原始来源