Sets the motor’s zero-position reference to its current mechanical position (persisted to flash). Damiao motors require a power cycle afterward.Documentation Index
Fetch the complete documentation index at: https://docs.almond.bot/llms.txt
Use this file to discover all available pages before exploring further.
| Flag | Description |
|---|---|
--l / --r | Select the left or right arm (mutually exclusive, required) |
--id ID | CAN ID of the motor to zero, hex or decimal (required unless --guided) |
--type {myactuator,damiao} | Motor type (inferred from --id if omitted) |
--guided | Walk through every arm joint, zeroing each at its closer end stop |
--guided mode the CLI iterates through all 7 arm joints (the gripper is auto-calibrated at runtime). For each joint you place it somewhere inside its operating range, press Enter, then move it to the prompted end stop and press Enter again. If the motion direction doesn’t match the expected sign the CLI loops back automatically and asks you to retry. Once the direction checks out, press Enter once more to commit the zero, or Ctrl-C to skip that joint.
After
--guided calibration each motor’s encoder zero coincides with its calibration end stop. AxolArm carries a per-joint offset internally so the public API (positions, motion_control, etc.) stays in joint frame (0 = rest position). Damiao motors (WRIST_2, WRIST_3) need a power cycle for the new zero to take effect.