HORUS Framework, a production-grade Rust robotics framework announced January 9, 2026, claims to deliver 575x faster performance than ROS2 with sub-microsecond IPC latency. Built by the Softmata team and positioned as “Android for robots,” HORUS addresses developer frustrations with ROS2’s complexity and performance bottlenecks through zero-copy shared memory and lock-free architecture. Moreover, the timing is strategic: ROS1 support ended in 2025, forcing teams to ROS2 — but many developers are questioning whether there’s a better path forward.
The ROS2 Problem
ROS2 became mandatory when ROS1 reached end-of-life in 2025, but the migration exposed critical pain points. Developers report that “simple nodes that only took a few percent of a core in ROS1 now need a complete core in ROS2.” The performance regression is particularly acute for high-bandwidth sensors — cameras, depth sensors, and 3D lidar. One frustrated roboticist wrote: “I was tired of ROS2, so I rewrote it in Rust.”
Furthermore, the complexity runs deeper than performance. ROS2 suffers from what critics call an “identity crisis of being a framework that thinks it’s an operating system.” Setup requires 10+ commands involving workspace management, sourcing mechanisms, and DDS configuration. Unit testing is “complex by design” due to ROS2’s distributed architecture. Technical limitations like blocking callbacks prevent receiving tf transformations mid-callback, forcing awkward workarounds.
For teams handling large sensor data, ROS2’s architectural choices create bottlenecks. DDS abstraction overhead varies unpredictably by vendor, configuration, and message size. HORUS targets these exact frustrations.
How HORUS Achieves 575x Performance
HORUS achieves dramatic speedup through two architectural innovations enabled by Rust’s memory safety: zero-copy shared memory IPC and lock-free data structures.
Traditional robotics frameworks like ROS2 serialize messages, send them through DDS middleware, then deserialize on the receiver side. This copying overhead dominates latency at high frequencies. However, HORUS eliminates it entirely. Publishers write directly to shared memory regions (/dev/shm/horus/ on Linux), and subscribers receive references to those chunks — zero copies, zero serialization. Research on zero-copy IPC shows 2-3 orders of magnitude improvement for robotics workloads, reducing 4MB image transfers from tens of milliseconds to hundreds of microseconds.
Lock-free data structures complete the picture. Rust’s compile-time memory safety allows wait-free and lock-free communication without risking data races. There’s no thread contention, no deadlocks, no priority inversion — critical for hard real-time control where deterministic <1ms loops are non-negotiable.
The benchmarks back the claims. HORUS delivers 87ns median latency for single-producer/single-consumer links and 313ns for multi-producer/multi-consumer hubs. Motor control commands (CmdVel) complete in 296ns at 3.38 million messages/second. Additionally, 2D lidar scans (LaserScan) take 1.31 microseconds at 762,000 msg/sec. ROS2’s latencies range from 50-500 microseconds — genuinely 50-500x slower for comparable workloads.
Where ROS2 struggles with “large topics,” HORUS sustains 6+ million messages/second. That’s not academic: it’s the difference between smooth sensor fusion and choppy, CPU-bound failure modes.
Hybrid Rust-Python Architecture
HORUS doesn’t demand full Rust rewrites. Indeed, the framework enables hybrid systems where Rust handles performance-critical real-time control and Python manages high-level logic — AI/ML models, computer vision, path planning. Both communicate seamlessly through shared topics with the same zero-copy advantages.
Rust nodes target motor controllers, sensor fusion, and safety monitors where <1ms loops and memory safety matter. Meanwhile, Python nodes run the algorithms developers already know, compiled via maturin bindings (Python 3.9+). The macro-based development model (node! and message! macros) reduces boilerplate compared to ROS2’s verbose lifecycle management, with compile-time type safety eliminating entire classes of runtime errors.
HORUS ships batteries-included with 32 hardware drivers: SocketCAN, SPI, I2C for communication buses; Dynamixel servos, Roboclaw motor controllers, steppers, BLDC/ESCs for actuation; ultrasonic sensors, power monitors, force-torque sensors, RealSense depth cameras. Hardware features compile conditionally — when hardware isn’t present, nodes auto-fallback to simulation, enabling laptop development without code changes.
Getting Started with HORUS
Installation is dramatically simpler than ROS2’s multi-step workspace setup:
git clone https://github.com/softmata/horus.git
cd horus
./install.sh
Prerequisites include Rust 1.70+ (1.85+ recommended), build tools (gcc, pkg-config), and platform libraries (OpenSSL, udev, ALSA). Python 3.9+ is optional for Python node development. The install script places five core libraries in ~/.horus/cache/: horus_core (runtime/scheduler), horus (main framework), horus_macros, horus_library, and horus_py (Python bindings).
Cross-platform support is native. HORUS runs on Ubuntu 20.04+, Raspberry Pi (ARM64 tested), macOS, Windows, and WSL 2 — using platform-appropriate shared memory paths. Consequently, the CLI provides horus new for project scaffolding, horus run for execution, horus monitor for real-time visualization, and horus sim for simulation control. Run ./verify.sh after install for colored system validation.
Documentation lives at docs.horus-registry.dev with architecture details, API references, and tutorials.
When to Choose HORUS vs ROS2
HORUS isn’t a blanket ROS2 replacement. Rather, it targets specific use cases where performance, real-time guarantees, or edge constraints dominate.
Choose HORUS for hard real-time control (<1ms loops), safety-critical systems (medical robotics, autonomous vehicles), performance-critical scenarios (high-frequency sensors where ROS2’s large topics issue bites), edge/embedded deployment (Raspberry Pi class, battery-powered), or fresh projects where teams have Rust expertise and memory safety is non-negotiable.
Conversely, choose ROS2 when ecosystem maturity matters — thousands of existing packages, industry-standard integrations (FANUC support), massive community, proven tooling. If you’re already invested in ROS2, migration costs likely outweigh gains. If your team lacks Rust expertise or you’re in a risk-averse environment requiring production case studies, ROS2’s decade of deployment history wins.
The realistic outlook: HORUS will likely fill niches rather than replace ROS2 wholesale. Hard real-time robotics, edge deployments, and performance-critical subsystems are natural fits. Teams may hybrid-deploy — HORUS for critical components, ROS2 for general infrastructure. Coexistence is more probable than succession.
Tradeoffs are real. HORUS is three months old (created October 2025) with 123 GitHub stars. The ecosystem is nascent. Rust’s ownership model has a learning curve. ROS2’s maturity and network effects are formidable advantages.
But for developers tired of ROS2’s complexity and performance taxes, HORUS offers an intriguing alternative: modern language, zero-copy speed, batteries-included drivers, and the promise that robotics frameworks can be simpler without sacrificing power.
Key Takeaways
- HORUS delivers 87ns message latency vs ROS2’s 50-500μs through zero-copy shared memory and lock-free Rust architecture
- Hybrid Rust-Python design enables real-time control (Rust) with high-level AI/ML (Python) on shared topics
- Installation is one command (
./install.sh), cross-platform (Linux/macOS/Windows), with 32 built-in hardware drivers - Choose HORUS for hard real-time, edge robotics, or performance-critical systems; choose ROS2 for ecosystem maturity and proven deployments
- At three months old, HORUS is unproven at scale but addresses genuine ROS2 pain points with bold architectural choices












