Getting started

Overview

Repose is a manipulation stack for robot arms, built as components for the Copper runtime. Today you can generate a small robot app, describe a program as a list of steps, and run it on a real igus ReBeL with cargo run.

What happens on cargo run

  1. Take control. The app takes control of the robot and enables the drives.
  2. Pre-flight check. Every step is solved and checked for joint limits and self-collision. If any step fails, nothing moves.
  3. Move. Each move is timed into a smooth trajectory and streamed to the robot at 50 Hz with position feedback.
  4. Release. When the program ends, or on Ctrl-C, the drives are disabled and control is released cleanly.
  5. Log. Copper records every run to robot.copper, so it can be replayed.

How it differs

  • Fixed sizes. The joint count and every capacity are compile-time constants, so a 6-axis arm is a CuKinematicChain<6>. Nothing allocates on the hot path.
  • Deterministic. Sampling planners take their randomness from a seeded CuRng, and Copper logs every message, so a run can be replayed exactly.
  • Configured, not coded. An application is a task graph in RON. Robot, models, speed and planner are configuration, not code.

Ready? Install and run the template.