Principles

Built like flight software.

  1. A

    Zero allocations on the hot path

    Outputs are written into caller-owned buffers. Capacities are const generics, so memory is known at compile time.

  2. B

    Replay-deterministic

    Seeded sampling and Copper's logged task graph mean any run, including a planner's, can be replayed bit for bit.

  3. C

    no_std first

    Every shared crate builds without the standard library, from a workstation down to a microcontroller.

  4. D

    Units in the type system

    Angles, lengths and velocities are typed SI quantities. A prismatic joint can't be handed radians.