diff --git a/README.md b/README.md index 095fb915..7d8da232 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,11 @@ dora-rs%2Fdora | Trendshift -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.

@@ -55,154 +59,160 @@ An extremely fast and simple **dataflow oriented robotic** framework to manage y

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)
-## Highlights - -- πŸš€ A single CLI to run multiple AI models and hardware drivers in parallel. -- πŸ¦€ dora-rs is 100% Rust project making it extremely fast compared to alternative, such as ⚑️ [10-17x faster](https://github.com/dora-rs/dora-benchmark) than `ros2`. -- ❇️ Includes a large set of pre-packaged nodes for fast prototyping and simplifies integration hardware, algorithms, and AI models to facilitate seamless communication. +## Support Matrix -| Support Matrix | dora-rs                                          | +| | dora-rs | | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **APIs** | Python >= 3.7 βœ…
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 | ![Downloads](https://img.shields.io/pypi/dm/dora-pyorbbecksdk) | ![License](https://img.shields.io/pypi/l/dora-pyorbbecksdk) | ![Release](https://img.shields.io/pypi/v/dora-pyorbbecksdk) | -| [PyRealsense](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyrealsense) | Image and depth from Realsense | ![Downloads](https://img.shields.io/pypi/dm/dora-pyrealsense) | ![License](https://img.shields.io/pypi/l/dora-pyrealsense) | ![Release](https://img.shields.io/pypi/v/dora-pyrealsense) | -| [Video Capture](https://github.com/dora-rs/dora/blob/main/node-hub/opencv-video-capture) | Image stream from Camera | ![Downloads](https://img.shields.io/pypi/dm/opencv-video-capture) | ![License](https://img.shields.io/pypi/l/opencv-video-capture) | ![Release](https://img.shields.io/pypi/v/opencv-video-capture) | +| 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-pyorbbecksdk) | ![License](https://img.shields.io/pypi/l/dora-pyorbbecksdk) | ![Release](https://img.shields.io/pypi/v/dora-pyorbbecksdk) | +| [PyRealsense](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyrealsense) | LinuxπŸ†—
MacπŸ› οΈ | Image and depth from Realsense | ![Downloads](https://img.shields.io/pypi/dm/dora-pyrealsense) | ![License](https://img.shields.io/pypi/l/dora-pyrealsense) | ![Release](https://img.shields.io/pypi/v/dora-pyrealsense) | +| [Video Capture](https://github.com/dora-rs/dora/blob/main/node-hub/opencv-video-capture) | βœ… | Image stream from Camera | ![Downloads](https://img.shields.io/pypi/dm/opencv-video-capture) | ![License](https://img.shields.io/pypi/l/opencv-video-capture) | ![Release](https://img.shields.io/pypi/v/opencv-video-capture) | ### Peripheral -| Title | Description | Downloads | License | Release | -| ----------------------------------------------------------------------------------- | ------------------------- | ------------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------- | -| [PyAudio(Speaker)](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyaudio) | Output audio from speaker | ![Downloads](https://img.shields.io/pypi/dm/dora-pyaudio) | ![License](https://img.shields.io/pypi/l/dora-pyaudio) | ![Release](https://img.shields.io/pypi/v/dora-pyaudio) | -| [Microphone](https://github.com/dora-rs/dora/blob/main/node-hub/dora-microphone) | Audio from microphone | ![Downloads](https://img.shields.io/pypi/dm/dora-microphone) | ![License](https://img.shields.io/pypi/l/dora-microphone) | ![Release](https://img.shields.io/pypi/v/dora-microphone) | -| [Keyboard](https://github.com/dora-rs/dora/blob/main/node-hub/dora-keyboard) | Keyboard char listener | ![Downloads](https://img.shields.io/pypi/dm/dora-keyboard) | ![License](https://img.shields.io/pypi/l/dora-keyboard) | ![Release](https://img.shields.io/pypi/v/dora-keyboard) | +| Title | Support | Description | Downloads | License | Release | +| ----------------------------------------------------------------------------------- | ------- | ------------------------- | ------------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------- | +| [Keyboard](https://github.com/dora-rs/dora/blob/main/node-hub/dora-keyboard) | βœ… | Keyboard char listener | ![Downloads](https://img.shields.io/pypi/dm/dora-keyboard) | ![License](https://img.shields.io/pypi/l/dora-keyboard) | ![Release](https://img.shields.io/pypi/v/dora-keyboard) | +| [Microphone](https://github.com/dora-rs/dora/blob/main/node-hub/dora-microphone) | βœ… | Audio from microphone | ![Downloads](https://img.shields.io/pypi/dm/dora-microphone) | ![License](https://img.shields.io/pypi/l/dora-microphone) | ![Release](https://img.shields.io/pypi/v/dora-microphone) | +| [PyAudio(Speaker)](https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyaudio) | βœ… | Output audio from speaker | ![Downloads](https://img.shields.io/pypi/dm/dora-pyaudio) | ![License](https://img.shields.io/pypi/l/dora-pyaudio) | ![Release](https://img.shields.io/pypi/v/dora-pyaudio) | ### 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-kit-car) | ![License](https://img.shields.io/pypi/l/dora-kit-car) | ![Release](https://img.shields.io/pypi/v/dora-kit-car) | -| [Agilex - UGV](https://github.com/dora-rs/dora/blob/main/node-hub/dora-ugv) | Robomaster Client | ![Downloads](https://img.shields.io/pypi/dm/dora-ugv) | ![License](https://img.shields.io/pypi/l/dora-ugv) | ![Release](https://img.shields.io/pypi/v/dora-ugv) | -| [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 | ![Downloads](https://img.shields.io/pypi/dm/dora-ugv) | ![License](https://img.shields.io/pypi/l/dora-ugv) | ![Release](https://img.shields.io/pypi/v/dora-ugv) | +| [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 | ![Downloads](https://img.shields.io/pypi/dm/dora-kit-car) | ![License](https://img.shields.io/pypi/l/dora-kit-car) | ![Release](https://img.shields.io/pypi/v/dora-kit-car) | ### 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-piper) | ![License](https://img.shields.io/pypi/l/dora-piper) | ![Release](https://img.shields.io/pypi/v/dora-piper) | +| 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-piper) | ![License](https://img.shields.io/pypi/l/dora-piper) | ![Release](https://img.shields.io/pypi/v/dora-piper) | ### Robot -| Title | Description | Downloads | License | Release | -| -------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ | -| [Pollen - Reachy 2](https://github.com/dora-rs/dora/blob/main/node-hub/dora-reachy2) | Reachy 2 client | ![Downloads](https://img.shields.io/pypi/dm/dora-reachy2) | ![License](https://img.shields.io/pypi/l/dora-reachy2) | ![Release](https://img.shields.io/pypi/v/dora-reachy2) | -| [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 | ![Downloads](https://img.shields.io/pypi/dm/dora-reachy2) | ![License](https://img.shields.io/pypi/l/dora-reachy2) | ![Release](https://img.shields.io/pypi/v/dora-reachy2) | +| [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 | ![Downloads](https://img.shields.io/pypi/dm/dora-vad) | ![License](https://img.shields.io/pypi/l/dora-vad) | ![Release](https://img.shields.io/pypi/v/dora-vad) | +| Title | Support | Description | Downloads | License | Release | +| ------------------------------------------------------------------------- | ------- | ------------------------------- | ----------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| [Silero VAD](https://github.com/dora-rs/dora/blob/main/node-hub/dora-vad) | βœ… | Silero Voice activity detection | ![Downloads](https://img.shields.io/pypi/dm/dora-vad) | ![License](https://img.shields.io/pypi/l/dora-vad) | ![Release](https://img.shields.io/pypi/v/dora-vad) | -### 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-distil-whisper) | ![License](https://img.shields.io/pypi/l/dora-distil-whisper) | ![Release](https://img.shields.io/pypi/v/dora-distil-whisper) | +| Title | Support | Description | Downloads | License | Release | +| --------------------------------------------------------------------------------- | ------- | ------------------------ | ---------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| [Whisper](https://github.com/dora-rs/dora/blob/main/node-hub/dora-distil-whisper) | βœ… | Transcribe audio to text | ![Downloads](https://img.shields.io/pypi/dm/dora-distil-whisper) | ![License](https://img.shields.io/pypi/l/dora-distil-whisper) | ![Release](https://img.shields.io/pypi/v/dora-distil-whisper) | ### Object Detection -| Title | Description | Downloads | License | Release | -| ---------------------------------------------------------------------- | ---------------- | ------------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- | -| [Yolov8](https://github.com/dora-rs/dora/blob/main/node-hub/dora-yolo) | Object detection | ![Downloads](https://img.shields.io/pypi/dm/dora-yolo) | ![License](https://img.shields.io/pypi/l/dora-yolo) | ![Release](https://img.shields.io/pypi/v/dora-yolo) | +| Title | Support | Description | Downloads | License | Release | +| ---------------------------------------------------------------------- | ------- | ---------------- | ------------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- | +| [Yolov8](https://github.com/dora-rs/dora/blob/main/node-hub/dora-yolo) | βœ… | Object detection | ![Downloads](https://img.shields.io/pypi/dm/dora-yolo) | ![License](https://img.shields.io/pypi/l/dora-yolo) | ![Release](https://img.shields.io/pypi/v/dora-yolo) | + +### Segmentation + +| Title | Support | Description | Downloads | License | Release | +| -------------------------------------------------------------------- | ------------------- | ---------------- | ------------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- | +| [SAM2](https://github.com/dora-rs/dora/blob/main/node-hub/dora-sam2) | Cudaβœ…
MetalπŸ› οΈ | Segment Anything | ![Downloads](https://img.shields.io/pypi/dm/dora-sam2) | ![License](https://img.shields.io/pypi/l/dora-sam2) | ![Release](https://img.shields.io/pypi/v/dora-sam2) | -### 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-qwen2-5-vl) | ![License](https://img.shields.io/pypi/l/dora-qwen2-5-vl) | ![Release](https://img.shields.io/pypi/v/dora-qwen2-5-vl) | -| [InternVL](https://github.com/dora-rs/dora/blob/main/node-hub/dora-internvl) | InternVL is a vision language model | ![Downloads](https://img.shields.io/pypi/dm/dora-internvl) | ![License](https://img.shields.io/pypi/l/dora-internvl) | ![Release](https://img.shields.io/pypi/v/dora-internvl) | +| 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-qwen) | ![License](https://img.shields.io/pypi/l/dora-qwen) | ![Release](https://img.shields.io/pypi/v/dora-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 | ![Downloads](https://img.shields.io/pypi/dm/dora-qwen) | ![License](https://img.shields.io/pypi/l/dora-qwen) | ![Release](https://img.shields.io/pypi/v/dora-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 | ![Downloads](https://img.shields.io/pypi/dm/dora-qwen2-5-vl) | ![License](https://img.shields.io/pypi/l/dora-qwen2-5-vl) | ![Release](https://img.shields.io/pypi/v/dora-qwen2-5-vl) | +| [InternVL](https://github.com/dora-rs/dora/blob/main/node-hub/dora-internvl) | πŸ†— | InternVL is a vision language model | ![Downloads](https://img.shields.io/pypi/dm/dora-internvl) | ![License](https://img.shields.io/pypi/l/dora-internvl) | ![Release](https://img.shields.io/pypi/v/dora-internvl) | -### 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-rdt-1b) | ![License](https://img.shields.io/pypi/l/dora-rdt-1b) | ![Release](https://img.shields.io/pypi/v/dora-rdt-1b) | +| 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-rdt-1b) | ![License](https://img.shields.io/pypi/l/dora-rdt-1b) | ![Release](https://img.shields.io/pypi/v/dora-rdt-1b) | ### Translation -| Title | Description | Downloads | License | Release | -| --------------------------------------------------------------------------------------- | ------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -| [Opus MT](https://github.com/dora-rs/dora/blob/main/node-hub/dora-opus) | Translate text between language | ![Downloads](https://img.shields.io/pypi/dm/dora-opus) | ![License](https://img.shields.io/pypi/l/dora-opus) | ![Release](https://img.shields.io/pypi/v/dora-opus) | -| [ArgosTranslate](https://github.com/dora-rs/dora/blob/main/node-hub/dora-argotranslate) | Open Source translation engine | ![Downloads](https://img.shields.io/pypi/dm/dora-argotranslate) | ![License](https://img.shields.io/pypi/l/dora-argotranslate) | ![Release](https://img.shields.io/pypi/v/dora-argotranslate) | +| Title | Support | Description | Downloads | License | Release | +| --------------------------------------------------------------------------------------- | ------- | ------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| [ArgosTranslate](https://github.com/dora-rs/dora/blob/main/node-hub/dora-argotranslate) | πŸ†— | Open Source translation engine | ![Downloads](https://img.shields.io/pypi/dm/dora-argotranslate) | ![License](https://img.shields.io/pypi/l/dora-argotranslate) | ![Release](https://img.shields.io/pypi/v/dora-argotranslate) | +| [Opus MT](https://github.com/dora-rs/dora/blob/main/node-hub/dora-opus) | πŸ†— | Translate text between language | ![Downloads](https://img.shields.io/pypi/dm/dora-opus) | ![License](https://img.shields.io/pypi/l/dora-opus) | ![Release](https://img.shields.io/pypi/v/dora-opus) | -### 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-kokoro-tts) | ![License](https://img.shields.io/pypi/l/dora-kokoro-tts) | ![Release](https://img.shields.io/pypi/v/dora-kokoro-tts) | +| 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 | ![Downloads](https://img.shields.io/pypi/dm/dora-kokoro-tts) | ![License](https://img.shields.io/pypi/l/dora-kokoro-tts) | ![Release](https://img.shields.io/pypi/v/dora-kokoro-tts) | ### 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 | ![Downloads](https://img.shields.io/pypi/dm/llama-factory-recorder) | ![License](https://img.shields.io/pypi/l/llama-factory-recorder) | ![Release](https://img.shields.io/pypi/v/llama-factory-recorder) | -| [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 | ![Downloads](https://img.shields.io/pypi/dm/llama-factory-recorder) | ![License](https://img.shields.io/pypi/l/llama-factory-recorder) | ![Release](https://img.shields.io/pypi/v/llama-factory-recorder) | +| [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 | ![Downloads](https://img.shields.io/pypi/dm/dora-yolo) | ![License](https://img.shields.io/pypi/l/opencv-plot) | ![Release](https://img.shields.io/pypi/v/opencv-plot) | -| [Rerun](https://github.com/dora-rs/dora/blob/main/node-hub/dora-rerun) | Visualization tool | ![Downloads](https://img.shields.io/pypi/dm/dora-rerun) | ![License](https://img.shields.io/pypi/l/dora-rerun) | ![Release](https://img.shields.io/pypi/v/dora-rerun) | +| Title | Support | Description | Downloads | License | Release | +| ---------------------------------------------------------------------- | ------- | -------------------------------- | ------------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| [Plot](https://github.com/dora-rs/dora/blob/main/node-hub/opencv-plot) | βœ… | Simple OpenCV plot visualization | ![Downloads](https://img.shields.io/pypi/dm/dora-yolo) | ![License](https://img.shields.io/pypi/l/opencv-plot) | ![Release](https://img.shields.io/pypi/v/opencv-plot) | +| [Rerun](https://github.com/dora-rs/dora/blob/main/node-hub/dora-rerun) | βœ… | Visualization tool | ![Downloads](https://img.shields.io/pypi/dm/dora-rerun) | ![License](https://img.shields.io/pypi/l/dora-rerun) | ![Release](https://img.shields.io/pypi/v/dora-rerun) | ### 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. -

- - - - - -

+### 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. + +## 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. -It offers several features, such as: +The dataflow paradigm has the advantage of creating an abstraction layer that makes robotic applications modular and easily configurable. ### TCP Communication and Shared Memory @@ -348,27 +375,6 @@ turtle_twist_writer.publish(message) > You might want to use ChatGPT to write the Arrow Formatting: https://chat.openai.com/share/4eec1c6d-dbd2-46dc-b6cd-310d2895ba15 -## Showcases - -### Self-Coding Robot: Code RAG (WIP) - -You can easily create a self-coding robot, by combining Hot-reloading with a Retrieval Augmented Generation (RAG) that is going to generate code modification from your prompt. -See:[examples/python-operator-dataflow](examples/python-operator-dataflow) - -

- - - - - -

- -Self-Coding Robot is just the tip of the iceberg of robotics combined with llm, that we hope to power. There is so much more that we haven't explored yet like: - -- [self-debugging](https://arxiv.org/pdf/2304.05128.pdf) -- [memory](https://github.com/cpacker/MemGPT) -- [function calling](https://github.com/ShishirPatil/gorilla) - ## Contributing We are passionate about supporting contributors of all levels of experience and would love to see