diff --git a/README.md b/README.md
index 095fb915..7d8da232 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,11 @@
-An extremely fast and simple **dataflow oriented robotic** framework to manage your projects and run realtime multi-AI and multi-hardware **applications**, written in Rust.
+## Highlights
+
+- π dora-rs is a framework to run realtime multi-AI and multi-hardware applications.
+- π¦ dora-rs internals are 100% Rust making it extremely fast compared to alternative such as being β‘οΈ [10-17x faster](https://github.com/dora-rs/dora-benchmark) than `ros2`.
+- βοΈ Includes a large set of pre-packaged nodes for fast prototyping which simplifies integration of hardware, algorithms, and AI models.
-
- 2025
-- \[2025/03/05\] dora-rs has been accepted to [**GSoC 2025 π**](https://summerofcode.withgoogle.com/programs/2025/organizations/dora-rs-tb), with the following [**idea list**](https://github.com/dora-rs/dora/wiki/GSoC_2025).
-- \[2025/03/04\] Add support for Zenoh for distributed dataflow.
-- \[2025/03/04\] Add support for Meta SAM2, Kokoro(TTS), Improved Qwen2.5 Performance using `llama.cpp`.
-- \[2025/02/25\] Add support for Qwen2.5(LLM), Qwen2.5-VL(VLM), outetts(TTS)
+- \[03/05\] dora-rs has been accepted to [**GSoC 2025 π**](https://summerofcode.withgoogle.com/programs/2025/organizations/dora-rs-tb), with the following [**idea list**](https://github.com/dora-rs/dora/wiki/GSoC_2025).
+- \[03/04\] Add support for Zenoh for distributed dataflow.
+- \[03/04\] Add support for Meta SAM2, Kokoro(TTS), Improved Qwen2.5 Performance using `llama.cpp`.
+- \[02/25\] Add support for Qwen2.5(LLM), Qwen2.5-VL(VLM), outetts(TTS)
Rust β
C/C++ π
ROS2 >= Foxy π |
| **OS** | Linux: Arm 32 β
Arm 64 β
x64_86 β
MacOS: Arm 64 β
x64_86 β
Windows: x64_86 π
Android: π οΈ (Blocked by: https://github.com/elast0ny/shared_memory/issues/32)
IOS: π οΈ |
| **Message Format** | Arrow β
Standard Specification π οΈ |
-| **Local Communication** | Shared Memory β
[Cuda zero-copy IPC](https://arrow.apache.org/docs/python/api/cuda.html) π |
+| **Local Communication** | Shared Memory β
[Cuda IPC](https://arrow.apache.org/docs/python/api/cuda.html) π |
| **Remote Communication** | [Zenoh](https://zenoh.io/) π |
| **Metrics, Tracing, and Logging** | Opentelemetry π |
| **Configuration** | YAML β
|
| **Package Manager** | [pip](https://pypi.org/): Python Node β
Rust Node β
C/C++ Node π οΈ
[cargo](https://crates.io/): Rust Node β
|
> - β
= First Class Support
-> - π = Downlevel/Best Effort Support
-> - π = Experimental
-> - π οΈ = Unsupported, though open to contributions
+> - π = Best Effort Support
+> - π = Experimental and looking for contributions
+> - π οΈ = Unsupported but hoped for through contributions
+>
+> Everything is open for contributions π
## Node Hub
+> Feel free to modify this README with your own nodes so that it benefits the community.
+
### Camera
-| Title | Description | Downloads | License | Release |
-| ---------------------------------------------------------------------------------------- | ----------------------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
-| [PyOrbbeckSDK](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyorbbecksdk) | Image and depth from Orbbeck Camera |  |  |  |
-| [PyRealsense](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyrealsense) | Image and depth from Realsense |  |  |  |
-| [Video Capture](https://github.com/dora-rs/dora/blob/main/node-hub/opencv-video-capture) | Image stream from Camera |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| ---------------------------------------------------------------------------------------- | ------------------ | ----------------------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
+| [PyOrbbeckSDK](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyorbbecksdk) | π | Image and depth from Orbbeck Camera |  |  |  |
+| [PyRealsense](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyrealsense) | Linuxπ
Macπ οΈ | Image and depth from Realsense |  |  |  |
+| [Video Capture](https://github.com/dora-rs/dora/blob/main/node-hub/opencv-video-capture) | β
| Image stream from Camera |  |  |  |
### Peripheral
-| Title | Description | Downloads | License | Release |
-| ----------------------------------------------------------------------------------- | ------------------------- | ------------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------- |
-| [PyAudio(Speaker)](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyaudio) | Output audio from speaker |  |  |  |
-| [Microphone](https://github.com/dora-rs/dora/blob/main/node-hub/dora-microphone) | Audio from microphone |  |  |  |
-| [Keyboard](https://github.com/dora-rs/dora/blob/main/node-hub/dora-keyboard) | Keyboard char listener |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| ----------------------------------------------------------------------------------- | ------- | ------------------------- | ------------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------- |
+| [Keyboard](https://github.com/dora-rs/dora/blob/main/node-hub/dora-keyboard) | β
| Keyboard char listener |  |  |  |
+| [Microphone](https://github.com/dora-rs/dora/blob/main/node-hub/dora-microphone) | β
| Audio from microphone |  |  |  |
+| [PyAudio(Speaker)](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyaudio) | β
| Output audio from speaker |  |  |  |
### Actuator
-| Title | Description | Downloads | License | Release |
-| ---------------------------------------------------------------------------------------- | ---------------- | --------- | ------- | ------- |
-| [Feetech](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/feetech-client) | Feetech Client | | | |
-| [Dynamixel](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/dynamixel-client) | Dynamixel Client | | | |
+| Title | Support | Description | Downloads | License | Release |
+| ---------------------------------------------------------------------------------------- | ------- | ---------------- | --------- | ------- | ------- |
+| [Feetech](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/feetech-client) | π | Feetech Client | | | |
+| [Dynamixel](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/dynamixel-client) | π | Dynamixel Client | | | |
### Chassis
-| Title | Description | Downloads | License | Release |
-| ------------------------------------------------------------------------------- | ------------------- | --------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ |
-| [Dora Kit Car](https://github.com/dora-rs/dora/blob/main/node-hub/dora-kit-car) | Open Source Chassis |  |  |  |
-| [Agilex - UGV](https://github.com/dora-rs/dora/blob/main/node-hub/dora-ugv) | Robomaster Client |  |  |  |
-| [DJI - Robomaster S1](https://huggingface.co/datasets/dora-rs/dora-robomaster) | Robomaster Client | | | |
+| Title | Support | Description | Downloads | License | Release |
+| ------------------------------------------------------------------------------- | ------- | ------------------- | --------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ |
+| [Agilex - UGV](https://github.com/dora-rs/dora/blob/main/node-hub/dora-ugv) | π | Robomaster Client |  |  |  |
+| [DJI - Robomaster S1](https://huggingface.co/datasets/dora-rs/dora-robomaster) | π | Robomaster Client | | | |
+| [Dora Kit Car](https://github.com/dora-rs/dora/blob/main/node-hub/dora-kit-car) | π | Open Source Chassis |  |  |  |
### Arm
-| Title | Description | Downloads | License | Release |
-| ------------------------------------------------------------------------------------------------ | --------------------------------- | ------------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
-| [Alex Koch - Low Cost Robot](https://github.com/dora-rs/dora-lerobot/blob/main/robots/alexk-lcr) | Alex Koch - Low Cost Robot Client | | | |
-| [Lebai - LM3](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/lebai-client) | Lebai client | | | |
-| [Agilex - Piper](https://github.com/dora-rs/dora/blob/main/node-hub/dora-piper) | Agilex arm client |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| ------------------------------------------------------------------------------------------------ | ------- | --------------------------------- | ------------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| [Alex Koch - Low Cost Robot](https://github.com/dora-rs/dora-lerobot/blob/main/robots/alexk-lcr) | π | Alex Koch - Low Cost Robot Client | | | |
+| [Lebai - LM3](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/lebai-client) | π | Lebai client | | | |
+| [Agilex - Piper](https://github.com/dora-rs/dora/blob/main/node-hub/dora-piper) | π | Agilex arm client |  |  |  |
### Robot
-| Title | Description | Downloads | License | Release |
-| -------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ |
-| [Pollen - Reachy 2](https://github.com/dora-rs/dora/blob/main/node-hub/dora-reachy2) | Reachy 2 client |  |  |  |
-| [Trossen - Aloha](https://github.com/dora-rs/dora-lerobot/blob/main/robots/aloha) | Aloha client | | | |
-| [Pollen - Reachy 1](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/dora-reachy1) | Reachy 1 Client | | | |
+| Title | Support | Description | Downloads | License | Release |
+| -------------------------------------------------------------------------------------------- | ------- | --------------- | --------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ |
+| [Pollen - Reachy 1](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/dora-reachy1) | π | Reachy 1 Client | | | |
+| [Pollen - Reachy 2](https://github.com/dora-rs/dora/blob/main/node-hub/dora-reachy2) | π | Reachy 2 client |  |  |  |
+| [Trossen - Aloha](https://github.com/dora-rs/dora-lerobot/blob/main/robots/aloha) | π | Aloha client | | | |
-### Voice Activity Detection
+### Voice Activity Detection(VAD)
-| Title | Description | Downloads | License | Release |
-| ------------------------------------------------------------------------- | ------------------------------- | ----------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- |
-| [Silero VAD](https://github.com/dora-rs/dora/blob/main/node-hub/dora-vad) | Silero Voice activity detection |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| ------------------------------------------------------------------------- | ------- | ------------------------------- | ----------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- |
+| [Silero VAD](https://github.com/dora-rs/dora/blob/main/node-hub/dora-vad) | β
| Silero Voice activity detection |  |  |  |
-### Speech to Text
+### Speech to Text(STT)
-| Title | Description | Downloads | License | Release |
-| --------------------------------------------------------------------------------- | ------------------------ | ---------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
-| [Whisper](https://github.com/dora-rs/dora/blob/main/node-hub/dora-distil-whisper) | Transcribe audio to text |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| --------------------------------------------------------------------------------- | ------- | ------------------------ | ---------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| [Whisper](https://github.com/dora-rs/dora/blob/main/node-hub/dora-distil-whisper) | β
| Transcribe audio to text |  |  |  |
### Object Detection
-| Title | Description | Downloads | License | Release |
-| ---------------------------------------------------------------------- | ---------------- | ------------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- |
-| [Yolov8](https://github.com/dora-rs/dora/blob/main/node-hub/dora-yolo) | Object detection |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| ---------------------------------------------------------------------- | ------- | ---------------- | ------------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- |
+| [Yolov8](https://github.com/dora-rs/dora/blob/main/node-hub/dora-yolo) | β
| Object detection |  |  |  |
+
+### Segmentation
+
+| Title | Support | Description | Downloads | License | Release |
+| -------------------------------------------------------------------- | ------------------- | ---------------- | ------------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- |
+| [SAM2](https://github.com/dora-rs/dora/blob/main/node-hub/dora-sam2) | Cudaβ
Metalπ οΈ | Segment Anything |  |  |  |
-### Vision Language Model
+### Large Language Model(LLM)
-| Title | Description | Downloads | License | Release |
-| -------------------------------------------------------------------------------- | -------------------------------------- | ------------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------- |
-| [Qwen2.5-vl](https://github.com/dora-rs/dora/blob/main/node-hub/dora-qwen2-5-vl) | Vision Language Model using Qwen2.5 VL |  |  |  |
-| [InternVL](https://github.com/dora-rs/dora/blob/main/node-hub/dora-internvl) | InternVL is a vision language model |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| ----------------------------------------------------------------------- | ------- | ------------------------------- | ------------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- |
+| [Qwen2.5](https://github.com/dora-rs/dora/blob/main/node-hub/dora-qwen) | β
| Large Language Model using Qwen |  |  |  |
-### Large Language Model
+### Vision Language Model(VLM)
-| Title | Description | Downloads | License | Release |
-| ----------------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- |
-| [Qwen2.5](https://github.com/dora-rs/dora/blob/main/node-hub/dora-qwen) | Large Language Model using Qwen |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| -------------------------------------------------------------------------------- | ------- | -------------------------------------- | ------------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------- |
+| [Qwen2.5-vl](https://github.com/dora-rs/dora/blob/main/node-hub/dora-qwen2-5-vl) | β
| Vision Language Model using Qwen2.5 VL |  |  |  |
+| [InternVL](https://github.com/dora-rs/dora/blob/main/node-hub/dora-internvl) | π | InternVL is a vision language model |  |  |  |
-### Vision Language Action
+### Vision Language Action(VLA)
-| Title | Description | Downloads | License | Release |
-| ------------------------------------------------------------------------ | ------------------------------------------------ | -------------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
-| [RDT-1B](https://github.com/dora-rs/dora/blob/main/node-hub/dora-rdt-1b) | Infer policy using Robotic Diffusion Transformer |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| ------------------------------------------------------------------------ | ------- | ------------------------------------------------ | -------------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
+| [RDT-1B](https://github.com/dora-rs/dora/blob/main/node-hub/dora-rdt-1b) | π | Infer policy using Robotic Diffusion Transformer |  |  |  |
### Translation
-| Title | Description | Downloads | License | Release |
-| --------------------------------------------------------------------------------------- | ------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| [Opus MT](https://github.com/dora-rs/dora/blob/main/node-hub/dora-opus) | Translate text between language |  |  |  |
-| [ArgosTranslate](https://github.com/dora-rs/dora/blob/main/node-hub/dora-argotranslate) | Open Source translation engine |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| --------------------------------------------------------------------------------------- | ------- | ------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
+| [ArgosTranslate](https://github.com/dora-rs/dora/blob/main/node-hub/dora-argotranslate) | π | Open Source translation engine |  |  |  |
+| [Opus MT](https://github.com/dora-rs/dora/blob/main/node-hub/dora-opus) | π | Translate text between language |  |  |  |
-### Text to Speech
+### Text to Speech(TTS)
-| Title | Description | Downloads | License | Release |
-| -------------------------------------------------------------------------------- | ------------------------ | ------------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------- |
-| [Kokoro TTS](https://github.com/dora-rs/dora/blob/main/node-hub/dora-kokoro-tts) | Efficient Text to Speech |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| -------------------------------------------------------------------------------- | ------- | ------------------------ | ------------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------- |
+| [Kokoro TTS](https://github.com/dora-rs/dora/blob/main/node-hub/dora-kokoro-tts) | β
| Efficient Text to Speech |  |  |  |
### Recorder
-| Title | Description | Downloads | License | Release |
-| --------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
-| [Llama Factory Recorder](https://github.com/dora-rs/dora/blob/main/node-hub/llama-factory-recorder) | Record data to train LLM and VLM |  |  |  |
-| [LeRobot Recorder](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/lerobot-dashboard) | LeRobot Recorder helper | | | |
+| Title | Support | Description | Downloads | License | Release |
+| --------------------------------------------------------------------------------------------------- | ------- | -------------------------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
+| [Llama Factory Recorder](https://github.com/dora-rs/dora/blob/main/node-hub/llama-factory-recorder) | π | Record data to train LLM and VLM |  |  |  |
+| [LeRobot Recorder](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/lerobot-dashboard) | π | LeRobot Recorder helper | | | |
### Visualization
-| Title | Description | Downloads | License | Release |
-| ---------------------------------------------------------------------- | -------------------------------- | ------------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
-| [Plot](https://github.com/dora-rs/dora/blob/main/node-hub/opencv-plot) | Simple OpenCV plot visualization |  |  |  |
-| [Rerun](https://github.com/dora-rs/dora/blob/main/node-hub/dora-rerun) | Visualization tool |  |  |  |
+| Title | Support | Description | Downloads | License | Release |
+| ---------------------------------------------------------------------- | ------- | -------------------------------- | ------------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
+| [Plot](https://github.com/dora-rs/dora/blob/main/node-hub/opencv-plot) | β
| Simple OpenCV plot visualization |  |  |  |
+| [Rerun](https://github.com/dora-rs/dora/blob/main/node-hub/dora-rerun) | β
| Visualization tool |  |  |  |
### Simulator
-| Title | Description | Downloads | License | Release |
-| ---------------------------------------------------------------------------------- | ------------------------------------ | --------- | ------- | ------- |
-| [Mujoco](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/mujoco-client) | Mujoco Simulator | | | |
-| [Carla](https://github.com/dora-rs/dora-drives) | Carla Simulator | | | |
-| [Gymnasium](https://github.com/dora-rs/dora-lerobot/blob/main/gym_dora) | Experimental OpenAI Gymnasium bridge | | | |
+| Title | Support | Description | Downloads | License | Release |
+| ---------------------------------------------------------------------------------- | ------- | ------------------------------------ | --------- | ------- | ------- |
+| [Mujoco](https://github.com/dora-rs/dora-lerobot/blob/main/node-hub/mujoco-client) | π | Mujoco Simulator | | | |
+| [Carla](https://github.com/dora-rs/dora-drives) | π | Carla Simulator | | | |
+| [Gymnasium](https://github.com/dora-rs/dora-lerobot/blob/main/gym_dora) | π | Experimental OpenAI Gymnasium bridge | | | |
## Getting Started
@@ -248,11 +258,16 @@ PATH=$PATH:$(pwd)/target/release
### Run
-1. Run some Python examples:
+- Run the yolo python example:
```bash
+## Create a virtual environment
uv venv --seed -p 3.11
-dora build https://raw.githubusercontent.com/dora-rs/dora/refs/heads/readme-with-node-table/examples/object-detection/yolo.yml --uv
+
+## Install nodes dependencies of a remote graph
+dora build https://raw.githubusercontent.com/dora-rs/dora/refs/heads/main/examples/object-detection/yolo.yml --uv
+
+## Run yolo graph
dora run yolo.yml --uv
```
@@ -260,46 +275,58 @@ dora run yolo.yml --uv
To stop your dataflow, you can use ctrl+c
-### Documentation
-
-The full documentation is available on [our website](https://dora-rs.ai/).
-A lot of guides are available on [this section](https://dora-rs.ai/docs/guides/) of our website.
+- To understand what is happening, you can look at the dataflow with:
-## What is Dora? And what features does Dora offer?
-
-**D**ataflow-**O**riented **R**obotic **A**rchitecture (`dora-rs`) is a framework that makes creation of robotic applications fast and simple.
-
-`dora-rs` implements a declarative dataflow paradigm where tasks are split between nodes isolated as individual processes.
+```bash
+cat yolo.yml
+```
-Each node defines its inputs and outputs to connect with other nodes.
+- Resulting in:
```yaml
nodes:
- id: camera
+ build: pip install opencv-video-capture
path: opencv-video-capture
inputs:
tick: dora/timer/millis/20
outputs:
- image
+ env:
+ CAPTURE_PATH: 0
+ IMAGE_WIDTH: 640
+ IMAGE_HEIGHT: 480
+
+ - id: object-detection
+ build: pip install dora-yolo
+ path: dora-yolo
+ inputs:
+ image: camera/image
+ outputs:
+ - bbox
+
- id: plot
- path: opencv-plot
+ build: pip install dora-rerun
+ path: dora-rerun
inputs:
image: camera/image
+ boxes2d: object-detection/bbox
```
-The dataflow paradigm has the advantage of creating an abstraction layer that makes robotic applications modular and easily configurable.
+- In the above example, we can understand that the camera is sending image to both the rerun viewer as well as a yolo model that generates bounding box that is visualized within rerun.
-
-
-