<p align="center">
<img src="https://yellow-cdn.veclightyear.com/ab5030c0/1a9f239e-b244-477f-9d02-7b2c2d927895.svg" width="400">
</p>
<h2 align="center">
<a href="https://www.dora-rs.ai">网站</a>
|
<a href="https://www.dora-rs.ai/docs/api/python-api">Python API</a>
-
<a href="https://docs.rs/dora-node-api/latest/dora_node_api/">Rust API</a>
|
<a href="https://www.dora-rs.ai/docs/guides/">指南</a>
|
<a href="https://discord.gg/6eMGGutkfE">Discord</a>
</h2>
<div align="center">
<a href="https://github.com/dora-rs/dora/actions">
<img src="https://yellow-cdn.veclightyear.com/ab5030c0/4d3b2815-ba00-4f3b-902a-1722abf24d12.svg" alt="构建和测试"/>
</a>
<a href="https://crates.io/crates/dora-rs">
<img src="https://yellow-cdn.veclightyear.com/ab5030c0/24219d7f-3561-4537-bcb0-2ee6fab452a5.svg"/>
</a>
<a href="https://docs.rs/dora-node-api/latest/dora_node_api/">
<img src="https://yellow-cdn.veclightyear.com/ab5030c0/e0431b81-7d16-41b1-b457-f5dc1c24609a.svg" alt="rust文档"/>
</a>
<a href="https://pypi.org/project/dora-rs/">
<img src="https://yellow-cdn.veclightyear.com/ab5030c0/01b8a303-3be5-48f2-8306-6212146ab1c1.svg" alt="PyPi最新版本"/>
</a>
</div>
dora-rs是什么?
数据流导向机器人架构(dora-rs)是一个使机器人应用程序的创建快速简单的框架。
构建机器人应用程序可以概括为将硬件、算法和人工智能模型整合在一起,并使它们相互通信。在dora-rs,我们尝试:
- 通过支持Python、C、C++和ROS2,使硬件和软件的集成变得简单。
- 通过使用零拷贝Arrow消息,使通信具有低延迟。
dora-rs仍处于实验阶段,您可能会遇到一些错误,但我们正在努力使其尽可能稳定。
性能
dora-rs可以展现令人印象深刻的性能,比当前的ROS2 Python状态快17倍!这是使用我们自己的共享内存服务器和Apache Arrow来实现零拷贝数据传递的结果。
<a href="https://www.dora-rs.ai/">
<img src="https://yellow-cdn.veclightyear.com/ab5030c0/13df7e59-99c0-4a11-a662-31834e228665.png" align="center" width="600">
</a>
参见:https://github.com/dora-rs/dora-benchmark/tree/main 以复现。
数据流范式
dora-rs实现了一种声明式数据流范式,其中任务被分割为作为独立进程隔离的节点。
每个节点定义其输入和输出以与其他节点连接。
nodes:
- id: webcam
custom:
source: webcam.py
inputs:
tick: dora/timer/millis/50
outputs:
- image
- id: object_detection
custom:
source: object_detection.py
inputs:
image: webcam/image
outputs:
- bbox
- id: plot
custom:
source: plot.py
inputs:
image: webcam/image
bbox: object_detection/bbox
节点可以是: