Plataforma de simulación para robótica e IA incorporada que combina un motor de física múltiple, un renderizador fotorrealista y un compilador multiplataforma mediante una interfaz Python.
dora-rs/dora
Framework de middleware 100 % Rust para crear aplicaciones de robótica e IA en tiempo real como grafos dirigidos de flujo de datos con nodos.
- Estrellas
- 4,034
- Forks
- 463
- Issues abiertos
- 111
- Último commit
- hace 4 horas
¿Qué es?
Dora (Dataflow-Oriented Robotic Architecture) es un framework para crear aplicaciones de robótica e IA a partir de nodos independientes conectados en un grafo dirigido. Cada nodo es un proceso separado escrito en Rust, Python, C o C++, y los nodos intercambian datos mediante entradas y salidas tipadas declaradas en un archivo YAML. El framework se encarga de iniciar los procesos, enrutar los mensajes y gestionar el ciclo de vida en una o varias máquinas.
Para cargas de trabajo con muchos datos, como imágenes de cámaras o nubes de puntos, dora usa memoria compartida sin copias entre nodos ubicados en la misma máquina y Zenoh para la comunicación entre máquinas. Los mensajes se transportan en formato Apache Arrow. La CLI permite ejecutar flujos de datos localmente, iniciar un coordinador y daemons para uso distribuido, e inspeccionar topics, logs y uso de recursos. También admite grabar y reproducir mensajes, definir políticas de reinicio por nodo y usar un puente ROS2.
Dora también incluye un hub de nodos para incorporar nodos reutilizables, como cámaras, detectores YOLO y nodos de LLM y TTS, por versión, además de un modelo de operadores en proceso para transformaciones ligeras.
Funciones clave
- 01Flujos de datos definidos como grafos dirigidos en YAML declarativo, con nodos escritos en Rust, Python, C o C++.
- 02Memoria compartida sin copias entre nodos de una misma máquina y pub-sub con Zenoh entre máquinas.
- 03Formato de mensajes Apache Arrow de extremo a extremo.
- 04Una sola CLI para ejecuciones locales, clústeres distribuidos, logs, inspección de topics y monitoreo de recursos.
- 05Grabación y reproducción de mensajes del flujo de datos, además de políticas de reinicio por nodo.
- 06Puente ROS2 para topics, servicios y acciones.
Casos de uso
- Crear un pipeline de percepción robótica que encadene nodos de captura de cámara, detección de objetos y visualización.
- Conectar modelos de IA en Python con componentes de control en Rust o C++ en un mismo flujo de datos.
- Ejecutar un sistema robótico o de sensores en varias máquinas con ciclos de vida de nodos coordinados.
- Conectar un sistema ROS2 existente con nuevos nodos basados en IA.
Inicio rápido
- 1
Instala dora CLI desde crates.io
cargo install dora-cli - 2
Instala Python node API y las dependencias del ejemplo
pip install dora-rs numpy pyarrow - 3
Clona el repositorio y entra en su directorio
git clone https://github.com/dora-rs/dora.git && cd dora - 4
Ejecuta el dataflow de ejemplo sender-transformer-receiver de Python
dora run examples/python-dataflow/dataflow.yml
Antes de usarlo
- El README indica que Node Hub es inestable.
- La recuperación de dataflows en ejecución tras reiniciar el coordinador solo está parcialmente admitida.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es dora?
- Framework de middleware 100 % Rust para crear aplicaciones de robótica e IA en tiempo real como grafos dirigidos de flujo de datos con nodos. Dora (Dataflow-Oriented Robotic Architecture) es un framework para crear aplicaciones de robótica e IA a partir de nodos independientes conectados en un grafo dirigido. Cada nodo es un proceso separado escrito en Rust, Python, C o C++, y los nodos intercambian datos mediante entradas y salidas tipadas declaradas en un archivo YAML. El framework se encarga de iniciar los procesos, enrutar los mensajes y gestionar el ciclo de vida en una o varias máquinas.
- ¿dora es gratuito? ¿Qué licencia tiene?
- dora es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿dora sigue mantenido?
- Mantenimiento activo. El último commit de dora fue el 22 oct 2026.
- ¿Para qué puedo usar dora?
- Crear un pipeline de percepción robótica que encadene nodos de captura de cámara, detección de objetos y visualización. Conectar modelos de IA en Python con componentes de control en Rust o C++ en un mismo flujo de datos. Ejecutar un sistema robótico o de sensores en varias máquinas con ciclos de vida de nodos coordinados. Conectar un sistema ROS2 existente con nuevos nodos basados en IA.
- ¿Cómo se instala dora?
- Instala dora CLI desde crates.io: cargo install dora-cli Instala Python node API y las dependencias del ejemplo: pip install dora-rs numpy pyarrow Clona el repositorio y entra en su directorio: git clone https://github.com/dora-rs/dora.git && cd dora Ejecuta el dataflow de ejemplo sender-transformer-receiver de Python: dora run examples/python-dataflow/dataflow.yml
- ¿Dónde consigo dora?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dora-rs/dora
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Modelo fundacional abierto de visión, lenguaje y acción de NVIDIA (GR00T N1.7) para habilidades generalistas de manipulación con humanoides y robots, con herramientas de ajuste fino y despliegue.
Framework abierto para crear agentes encarnados que usan planificadores LLM, modelos VLA de manipulación y memoria para realizar tareas robóticas en simuladores y robots reales.
Bindings de Python y capa de políticas robóticas sobre el motor de inferencia Rust ApxInf, que ejecuta modelos VLA como PI-0.5 en Jetson Thor/Orin y GPU RTX.
Base de conocimientos en chino sobre IA incorporada, con un índice curado de algoritmos, infraestructura, control y hardware, además de un tutorial práctico de RoboTwin 2.0.
Una biblioteca de serialización multiplataforma que permite leer datos binarios directamente, sin analizarlos ni desempaquetarlos antes.