Skip to main content
This calibration is for chess manipulation only (not depth/navigation calibration). Chess calibration uses top corners A8 and H8 with recalibrate_manual, then computes A1 and H1 automatically and saves all corners to ~/board_calibration.json.

Calibration process

1

Fix board position

Put the chessboard in its final position. Do not move it during calibration.
2

Enable manual arm movement

Set the arm to manual/limp mode so you can position the end effector by hand.
3

Position for A8 and record

Move the end effector to the center of A8 and record that top corner reference.
End effector centered over A8 square for calibration

Target pose example: end effector centered on A8

4

Position for H8 and record

Move the end effector to the center of H8 and record that second top-corner reference.
5

Finish and verify

Re-enable holding torque. Verify ~/board_calibration.json contains top_left, top_right, bottom_left, and bottom_right.

1) Manual triggering

Trigger the skills from the app or CLI.

App

  • Open Innate Controller App -> Skills
  • Run:
    • arm_utils with command=torque_off
    • recalibrate_manual with corner=A8
    • recalibrate_manual with corner=H8
    • arm_utils with command=torque_on

CLI (via ROS2 actions)

2) Agentic triggering

Run chess_agent. It can guide you through calibration and trigger the same skill sequence with you (torque_off -> A8 -> H8 -> torque_on) before play. If calibration quality drifts during use, rerun the same sequence manually.