Dora AI
基于 Rust 构建的 AI 机器人应用数据流中间件
许可证
Apache-2.0
概述
数据流导向机器人架构 (dora-rs) 是一种中间件,旨在简化和优化基于 AI 的机器人应用的创建。使用 Rust 构建,注重性能和可靠性,Dora 提供零开销消息传输和跨机器与机器人的可扩展性。
Dora(数据流导向机器人架构)是一个现代机器人框架,为机器人应用带来零开销消息传输和可扩展性。100% 使用 Rust 构建,Dora 的设计目标是比 ROS 2 快 10-17 倍,同时支持多 AI 和多硬件应用。
它使用 Apache Arrow 实现零拷贝通信,在节点间高效共享数据而无需序列化开销。这种架构支持与 PyTorch 的 CUDA 零拷贝集成,使其非常适合 AI 驱动的机器人应用。
Dora 支持基于 YAML 声明式数据流定义的快速原型开发和热重载的实时开发。通过 OpenTelemetry 集成,该框架具有完整的可观测性,包括日志、追踪和指标,便于在生产环境中调试和监控机器人应用。
该框架跨平台运行,支持 Linux、macOS、Windows、Docker 和 Nix,并提供 Rust、Python、C 和 C++ 的多语言支持。这使得 Dora 对机器人开发者、AI 从业者和爱好者都同样友好。
为何重要
Dora 是 ROS 的现代替代方案,以性能和简洁为优先。它使用 Rust 构建,提供机器人所需的数据流架构,却没有 ROS 的复杂性负担——因此对构建生产级 AI 机器人的团队颇具吸引力。
解决的问题
ROS 是为传统机器人设计的,带有 AI 优先机器人并不需要的复杂性。Dora 提供精简的中间件,专注于现代 AI 机器人所需的数据密集型通信模式。
要点
- 以 Rust 构建、面向数据流的机器人中间件,注重性能
- 对于以 AI 为核心的机器人应用,架构比 ROS 更简单
- 节点间零拷贝数据共享,实现高吞吐量
- 提供 Python API,便于与机器学习框架集成
- 在 AI 机器人和具身智能领域的采用日益增长
适用人群
- 构建 AI 优先机器人系统的团队
- 觉得 ROS 对自身需求而言过于复杂的开发者
- 将机器学习流水线与机器人硬件相结合的研究人员
- 构建生产级机器人软件栈的公司
局限
- 生态系统比 ROS 小——预构建软件包较少
- Rust 内核对机器人开发者来说可能比较陌生
- 在传统机器人应用方面不如 ROS 成熟
- 社区和文档仍在发展中