// the find
dora-rs/dora
DORA (Dataflow-Oriented Robotic Architecture) is middleware designed to streamline and simplify the creation of AI-based robotic applications. It offers low latency, composable, and distributed dataflow capabilities. Applications are modeled as directed graphs, also referred to as pipelines.
Dora is a Rust-native robotics middleware that models applications as directed dataflow graphs, positioning itself as a faster and more operable replacement for ROS2. It targets teams building AI-driven robots or edge inference pipelines who want real performance numbers and proper CLI tooling. The Python API is first-class via PyO3 bindings, not a wrapper.
1. Performance claims are concrete and testable: zero-copy SHM via Zenoh for messages >4KB, flat latency from 4KB to 4MB, 10-17x over ROS2 Python with a benchmark example you can actually run. Not vague 'fast Rust' hand-waving.
2. CLI tooling depth is unusual for robotics middleware: `dora top` TUI with per-node CPU/memory/queue depth, `topic hz`, `topic echo`, record/replay to `.drec` files, built-in distributed tracing without external infra. ROS2 tooling looks primitive by comparison.
3. Dynamic topology — add, remove, connect, disconnect nodes from a running dataflow without restart — is a genuinely useful operational primitive that ROS2 doesn't support.
4. The QA system is legitimate: unwrap budget ratchet (can only go down), Miri on unsafe hotspots, mutation testing on critical crates, adversarial LLM review as a compensating control for AI-authored code. For a project that openly uses agentic engineering, these are real checks.
1. Windows and macOS are not PR-gated; regressions surface via user reports. If your dev environment isn't Linux x86_64, you're running on unverified paths.
2. The ROS2 bridge is explicitly 'Experimental' with no timeline. The existing ROS2 ecosystem — sensor drivers, Nav2, MoveIt — is unreachable without rewriting. For anyone with an existing robot, this is the adoption blocker.
3. Coordinator HA is incomplete: 'running dataflow reclaim-across-restart is partial' is buried mid-README. A coordinator restart in production is a failure you can't fully recover from, which undercuts the fault-tolerance story.
4. Zenoh SHM as the data plane is powerful but opaque when it breaks. Cross-machine latency issues require understanding Zenoh router topology and SHM segment lifecycle — abstractions that don't exist at the dora level.