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
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 -> Digital 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 (ROS2 today)

Use ROS2 actions for now. A simpler dedicated CLI is coming soon.
ros2 action send_goal /execute_primitive brain_messages/action/ExecutePrimitive \
  '{primitive_type: arm_utils, inputs: "{\"command\":\"torque_off\"}"}' --feedback

ros2 action send_goal /execute_primitive brain_messages/action/ExecutePrimitive \
  '{primitive_type: recalibrate_manual, inputs: "{\"corner\":\"A8\"}"}' --feedback

ros2 action send_goal /execute_primitive brain_messages/action/ExecutePrimitive \
  '{primitive_type: recalibrate_manual, inputs: "{\"corner\":\"H8\"}"}' --feedback

ros2 action send_goal /execute_primitive brain_messages/action/ExecutePrimitive \
  '{primitive_type: arm_utils, inputs: "{\"command\":\"torque_on\"}"}' --feedback

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.