The solution to your ROS2 headaches.
Robot middleware at microsecond latency. Zero-copy, deterministic, ROS2-compatible. Built in Rust.
Robot plumbing, re‑engineered from scratch.
Cerulion goes after the part that hurts most in production: the single-machine, real-time graph. Built in Rust on iceoryx2 shared memory, its zero-copy hot path holds IPC at microsecond latency no matter the payload, and every run is deterministic and replayable by default.
16 MB round-trip, p50-p99. Internal benchmark.
- sensor_msgs
- geometry_msgs
- nav_msgs
- tf2_msgs
Zero-copy from the first message, even non-POD types with unsized arrays. Your existing ROS2 nodes run inside the Cerulion runtime, faster and deterministic.
Even non-POD messages with unsized arrays move through shared memory in place, not just fixed-size structs.
Execution order comes from the graph, not the OS scheduler. A bug you hit in the field replays identically on your desk, no flake, no guesswork.
Nodes fire on their trigger topics in a statically-derived order. When a consumer lags, backpressure throttles upstream instead of dropping data — and missed tick deadlines still surface loudly.
Every node in its own process, so a crash stays contained. Messages still clear in microseconds, faster than ROS2 intra-process.
See it on your robot.
Book a demo and we'll walk through how Cerulion fits your stack: zero-copy shared memory, deterministic replay, and ROS2 compatibility. Bring a workload and we'll run the benchmarks live.