Built for roboticists
Robot middleware that just works.
No serialization on the local hot path. No QoS micromanagement. No surprises. Just typed messages over shared memory at the latency of a function call. Try the QuickstartWhat Cerulion is
Cerulion is a Rust middleware for robotics and real-time systems. You compose your application as a graph of nodes that pass messages over zero-copy shared memory, and you build, wire, and run the whole thing through one CLI:cerulion.
It gives you the latency of raw shared memory with the ergonomics of a typed,
macro-driven node API, plus a simulated clock that makes runs deterministic and
replayable. Itβs the foundation of a modern robotics stack β built to be the
faster, more deterministic successor to ROS 2.

Cerulion is in closed alpha β early access for teams who want a faster,
more deterministic robotics stack ahead of the public release. Everything
documented here β the CLI, node macro, and graph/schema formats β is real and
verified against the current build. Access is curated today;
request an invite to start building.
Why teams use it
Zero-copy pub/sub
Nodes exchange messages over iceoryx2 shared memory. Reads and writes go
straight to the payload, with no serialization on the local hot path.
Deterministic runs
Execution is driven by a simulated clock stepped in 1 ms increments, so the
same graph and inputs produce the same ordering. That makes runs easy to
debug and replay.
Trigger policies
Decide when each node fires (periodic, data-triggered, synchronized, or
external) with per-node tick deadlines that warn loudly when missed.
Ergonomic node API
Define a node as a Rust struct with
#[cerulion_node]. Field attributes
declare ports; the macro rewrites self.<port> access into zero-copy
shared-memory reads and writes for you.Start here
Installation
Set up the Rust toolchain, get the
cerulion CLI, and verify it works.Quickstart
Build and run a complete two-node graph, then watch its messages with
topic echo.Concepts
Learn the mental model: workspaces, nodes, graphs, topics, and schemas.
