AETHER pip install aether-robotics
Concepts

Calibration & the Robot Genome

aether --calibrate walks every safe GPIO pin (BCM 4–27, excluding I2C/SPI/UART), pulses each with a positional servo sweep, and prompts you to label what moved. The result is a physical_map saved in your profile and loaded automatically next startup.

The map is distilled into a versioned configs/robot.json. Inspect it with:

$ aether --genome show

Robot Genome
  ID:         f47ac10b-...
  Locomotion: differential_drive
  Hash:       a3f1d92e...

Capabilities (6)
  drive_backward  drive_forward  emergency_stop
  stop  turn_left  turn_right

Capabilities are derived deterministically, so a skill written for a differential_drive genome runs on every matching robot. Skills declare SKILL_REQUIRES and AETHER refuses to run any it can't satisfy — before any hardware moves.