Skip to content

Copper Documentation

Copper logo

Copper is a deterministic robotics runtime written in Rust. Think of it as a "game engine for robots": describe your system declaratively and Copper will create a custom scheduler and run it deterministically from cloud simulation down to embedded controllers.

Why Copper

  • ⚑ Sub-microsecond latency with a zero-alloc, data-oriented runtime. Comparative benchmarks with ROS2 and others here
  • ⏱️ Deterministic replay for debugging and certification.
  • 🧠 Interoperable with ROS 2 via bridges.
  • πŸͺΆ Runs anywhere from x86 servers to bare metal.

Ready to get started? Check out the README or jump into Build and Deploy a Copper Application.

Start Here

Topic What you'll get
🧭 Copper Application Overview A minimal task graph and runtime walk through.
πŸš€ Build and Deploy a Copper Application Project structure, build artifacts, and deployment flow.
πŸ“‹ Project Templates Scaffold a new Copper project quickly.
βš™οΈ Copper Configuration file Reference The RON schema for tasks, messages, and connections.
Copper Runtime Overview Core runtime concepts and SDK capabilities.
πŸ—ΊοΈ Copper Configuration and Mission Visualization Render task graphs and mission definitions.
🧭 Copper Tasks lifecycle overview How tasks run, pause, and serialize state.
🧩 Modular Configuration Split big configs into reusable chunks.
Task Automation with just Repeatable task helpers across the repo.
πŸŒ‰ Copper Bridge concept Link Copper to external systems and protocols.
🧰 Resources Wire hardware and shared services into tasks and bridges.
πŸ”§ Baremetal Development Running Copper as a bare-metal runtime.
πŸ–₯️ Supported Platforms Desktop, mobile, and embedded targets.
πŸ’‘ Contribution Ideas Larger ideas we would love to collaborate on.

Visual Overview

Task Lifecycle Build and Deploy Missions
Task lifecycle Deployment Missions

What's New

Resources