Skip to main content
Zero-copy messaging for real-time systems. Cerulion handles the hard parts of robotics communication β€” you focus on your application logic.
Cerulion is a high-performance middleware designed for robotics and real-time systems. It provides:
  • Sub-microsecond latency via shared memory (iceoryx2)
  • Automatic transport selection β€” local or network, you don’t decide
  • Type-safe pub/sub with ROS2-compatible message primitives
  • Simple node-based architecture β€” define inputs, outputs, and triggers

Why Cerulion?

Traditional robotics middleware forces you to choose between performance and ease of use. Cerulion gives you both:
ScenarioTransportLatency
Same machineiceoryx2 (shared memory)< 1 ΞΌs
Different machinesZenoh (network)1-10 ms
The transport is selected automatically based on where your nodes are running. No configuration needed.

Core Concepts


Getting Started

Install Cerulion

One command installs the CLI, core libraries, and shell completions.
brew install cerulion/tap/cerulion
Verify with cerulion doctor

Create a Workspace

Initialize a new project with scaffolded structure.
cerulion workspace create my-robot
cd my-robot

Build Nodes

Create nodes that publish and subscribe to topics.
cerulion node create camera_pub --period-ms 33
cerulion node create display_sub --ext-trigger

Run Your Graph

Wire nodes together and execute.
cerulion graph create perception
cerulion graph run perception

What’s Included

Cerulion CLI

Command-line interface for managing workspaces, nodes, graphs, and topics

Cerulion Core

Rust library with zero-copy pub/sub, automatic serialization, and dual transport

Shell Completions

Tab completions for bash, zsh, and fish β€” installed automatically

Coming Soon

Python SDK

Coming Soonpip install cerulion β€” Native Python bindings with async/await support.

C++ SDK

Coming SoonHeader-only library with CMake integration. Perfect for embedded and robotics applications.

Next Steps