Skip to content

Copper Runtime Overview

Copper is a deterministic, data-oriented runtime for robotics. You describe your system declaratively, Copper compiles the schedule, and every run is bit-for-bit reproducible.

Task Graph

The task graph defines your system topology, inter-task communication, and message types. It is expressed in RON and drives how Copper builds the runtime.

See Copper RON Configuration Reference for the full schema.

Runtime Generator

Copper creates an execution plan from the task graph metadata. It preallocates a "Copper List" so execution stays cache-friendly and deterministic.

Zero-Copy Data Logging

Messages between tasks are recorded without copying data. Logs can be replayed exactly, making debugging and certification practical.

Fast Structured Logging

Structured log strings are interned and indexed at compile time. Runtime logging avoids string construction overhead and keeps hot paths fast.

SDK Capabilities

  • Task interface and lifecycle traits for implementing new algorithms, sensors, and actuators.
  • Compile-time runtime generation with deterministic scheduling.
  • Log readers that export Copper logs using Rust Serde formats.
  • Structured log reader for efficient debug and telemetry data.
  • A growing set of components and drivers (see Available Components).
  • Deterministic log replay and resimulation.
  • A minimal simulation environment for hardware-free testing.