Repolode
dora-rs

dora-rs/dora

基于 Rust 的实时机器人与 AI 应用中间件,以有向数据流图组织各个节点。

Star
4,034
Fork
463
未关闭 Issue
111
最近提交
5小时前

这是什么?

Dora(Dataflow-Oriented Robotic Architecture)是一个用于构建机器人与 AI 应用的框架,应用由有向图中相互连接的独立节点组成。每个节点是一个独立进程,可用 Rust、Python、C 或 C++ 编写,节点之间通过 YAML 中声明的带类型输入输出交换数据。框架负责在单机或多机上完成节点启动、消息路由和生命周期管理。

对于摄像头图像、点云等大数据量场景,同一台机器上的节点之间使用零拷贝共享内存传递数据,跨机器通信则基于 Zenoh。消息采用 Apache Arrow 格式。命令行工具支持本地运行数据流,也可启动协调器和守护进程进行分布式部署,并能查看话题、日志和资源占用。此外还支持消息录制与回放、按节点配置重启策略,以及与 ROS2 互通的桥接。

项目还提供节点仓库(Hub),可按版本引入摄像头、YOLO 检测、LLM、TTS 等可复用节点,并支持在进程内运行轻量的算子函数。

核心功能

  • 01以声明式 YAML 定义有向图数据流,节点可用 Rust、Python、C 或 C++ 编写。
  • 02同机节点间使用零拷贝共享内存,跨机器通过 Zenoh 发布订阅通信。
  • 03全流程采用 Apache Arrow 消息格式。
  • 04统一的命令行工具覆盖本地运行、集群部署、日志、话题查看和资源监控。
  • 05支持数据流消息录制与回放,并可为每个节点配置重启策略。
  • 06提供 ROS2 桥接,支持话题、服务和动作。

适用场景

  • 构建机器人感知流水线,串联相机采集、目标检测和可视化节点。
  • 在同一数据流中将 Python AI 模型与 Rust 或 C++ 控制组件连接起来。
  • 管理跨多台机器的机器人或传感器系统,统一协调节点生命周期。
  • 将现有 ROS2 系统与新的 AI 驱动节点对接。

快速上手

  1. 1

    从 crates.io 安装 dora 命令行工具

    cargo install dora-cli
  2. 2

    安装 Python 节点 API 及示例依赖

    pip install dora-rs numpy pyarrow
  3. 3

    克隆仓库并进入目录

    git clone https://github.com/dora-rs/dora.git && cd dora
  4. 4

    运行 Python 发送-转换-接收示例数据流

    dora run examples/python-dataflow/dataflow.yml

使用前须知

  • README 中标注 Node Hub 功能尚不稳定。
  • 协调器重启后对正在运行的数据流进行恢复只是部分支持。

收录于专题

标签

常见问题

dora 是什么?
基于 Rust 的实时机器人与 AI 应用中间件,以有向数据流图组织各个节点。 Dora(Dataflow-Oriented Robotic Architecture)是一个用于构建机器人与 AI 应用的框架,应用由有向图中相互连接的独立节点组成。每个节点是一个独立进程,可用 Rust、Python、C 或 C++ 编写,节点之间通过 YAML 中声明的带类型输入输出交换数据。框架负责在单机或多机上完成节点启动、消息路由和生命周期管理。
dora 可以免费使用吗?用的什么许可证?
dora 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
dora 还在维护吗?
活跃维护中。dora 最近一次提交是在 2026年10月22日。
dora 适合用来做什么?
构建机器人感知流水线,串联相机采集、目标检测和可视化节点。 在同一数据流中将 Python AI 模型与 Rust 或 C++ 控制组件连接起来。 管理跨多台机器的机器人或传感器系统,统一协调节点生命周期。 将现有 ROS2 系统与新的 AI 驱动节点对接。
dora 怎么安装和运行?
从 crates.io 安装 dora 命令行工具: cargo install dora-cli 安装 Python 节点 API 及示例依赖: pip install dora-rs numpy pyarrow 克隆仓库并进入目录: git clone https://github.com/dora-rs/dora.git && cd dora 运行 Python 发送-转换-接收示例数据流: dora run examples/python-dataflow/dataflow.yml
在哪里获取 dora?
源代码和安装说明在 GitHub 上:https://github.com/dora-rs/dora

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目