> For the complete documentation index, see [llms.txt](https://captic-2.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://captic-2.gitbook.io/docs/overview/hands-on/vision+robot-calibration.md).

# Robot Calibration

For robotic applications. Align the vision system's coordinates with your robot's.

{% hint style="info" %}
This page applies to **robotic applications**, such as the [Bag Depalletizer](/docs/depalletizing.md). Products that don't guide a robot, such as [Seam Inspection](/docs/stich-and-label-check-for-bags-coming-soon.md), don't need robot calibration.
{% endhint %}

For the vision system to send meaningful coordinates to a robot, both must use the same coordinate system. Calibration sets that up. Without it, positions from the camera can't be turned into accurate robot moves, which leads to missed picks or collisions.

## Calibration methods

| Method                    | Camera mounting                        | Status    |
| ------------------------- | -------------------------------------- | --------- |
| No calibration            | Any                                    | Available |
| Checkerboard (user frame) | Static                                 | Available |
| Eye-to-hand               | Static camera, board held by the robot | Available |
| Eye-in-hand               | Camera mounted on the robot            | Available |

### No calibration

The system outputs coordinates in millimetres relative to the camera sensor. They are not translated to the robot's frame, so the robot programmer converts them. Use this when you want full control over the transformation.

### Checkerboard (user frame)

A checkerboard defines a coordinate system that the vision system and the robot share.

1. The system captures an image of the checkerboard.
2. It detects the checkerboard's origin (shown by the RGB axes).
3. That origin becomes X=0, Y=0, Z=0.
4. All coordinates are sent relative to it.

![Checkerboard origin](https://482575286-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F22HCD2cZG8ud6cPRBzVQ%2Fuploads%2FGgXmxV6nUpgdbjMu4iVb%2FScreenshot%202025-06-24%20at%2012.27.12.png?alt=media\&token=5a02cd67-10ec-4704-ab90-a5c3b29d5fa0)

The robot must then be taught the same origin and orientation. In brand terms, the checkerboard frame is:

| Brand   | Terminology            |
| ------- | ---------------------- |
| Fanuc   | User Frame             |
| ABB     | Work Object            |
| Stäubli | Tool Independent Frame |
| KUKA    | Base Frame             |

### Hand–eye calibration

Hand–eye calibration computes the full transformation (translation and rotation) between the camera and the robot, so the system can send poses directly in robot coordinates. The system combines the robot's reported pose (X, Y, Z, A, B, C) at several positions with the calibration board's pose in the camera image.

* **Eye-to-hand** (also called hand-to-eye): the camera is mounted on a static frame and the robot moves the calibration board through the camera's view. This is the default for the Bag Depalletizer.
* **Eye-in-hand**: the camera is mounted on the robot and the robot moves the camera around a fixed calibration board.

![Eye-to-hand setup](https://482575286-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F22HCD2cZG8ud6cPRBzVQ%2Fuploads%2FoW34sr55CnujFqpqVbfb%2FGemini_Generated_Image_49axrj49axrj49ax%20\(1\).png?alt=media\&token=aa76274d-555c-465c-864d-0140330b555e)

Both use the same calibration wizard. The procedure is below.

## Hand–eye calibration procedure

### Step 1: Open the Product UI

Open `http://[serial-number].local:3000`. See [User Interfaces](/docs/overview/hands-on/user-interfaces.md) if you need help finding it.

### Step 2: Select your robot brand

Robot brands use different coordinate conventions, so select yours before calibrating. On the Bag Depalletizer this is at **Settings > Depalletizer > Pipeline Settings > Coordinate Convention**.

![Selecting the coordinate convention](https://482575286-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F22HCD2cZG8ud6cPRBzVQ%2Fuploads%2F3jNChv27FWANselcG7Dd%2FScreenRecording2025-12-12at14.13.26-ezgif.com-video-to-gif-converter.gif?alt=media\&token=8918462b-14e0-4ea0-a07a-4319304cd5b9)

### Step 3: Check the calibration settings (optional)

At **Settings > Calibration**, check the method and board. The default is eye-to-hand with the calibration board supplied with your system. Change it here if you use eye-in-hand or a different board.

![Calibration settings](https://482575286-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F22HCD2cZG8ud6cPRBzVQ%2Fuploads%2F5gBVnMQi4AUp8IXzeyVs%2Fclip2-ezgif.com-video-to-gif-converter.gif?alt=media\&token=31666c5c-9fcc-463c-8577-392cd7e69f56)

### Step 4: Capture the calibration poses

Start the calibration wizard at **Settings > Calibration**. It guides you through each step.

Before you start:

* Do the whole calibration in one session. It takes about 15 minutes.
* Keep the calibration board clearly visible to the camera at all times.

![Calibration wizard](https://482575286-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F22HCD2cZG8ud6cPRBzVQ%2Fuploads%2FlXSQYpj5lTsOnc5VPdVv%2FScreenRecording2025-12-12at14.07.13-ezgif.com-video-to-gif-converter.gif?alt=media\&token=fd0861d9-4410-4e1d-a40e-80311609a55f)

**Where to place the board.** Capture poses in a trapezoid-shaped pattern across the camera's view, with large changes in position and clear rotations around all axes at every pose. Too little rotation makes calibration fail.

![Recommended pose pattern](https://482575286-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F22HCD2cZG8ud6cPRBzVQ%2Fuploads%2FjWz8jtgiQmXKE8MUWWIT%2FGemini_Generated_Image_aaz43raaz43raaz4.png?alt=media\&token=1c6166a5-7659-4867-a239-9925fd1b26e7)

* **Positions 1–4** (corners, far): the board fills about ¼ of the image.
* **Positions 5–8** (corners, closer to the camera): the board fills about ½ of the image.
* **Positions 9–10** (centre): two poses with clearly different orientations.

**At each pose:**

1. Attach the board securely to the gripper (eye-to-hand) or place it in a fixed spot (eye-in-hand), so the camera can see it clearly.
2. Move the robot to the position.
3. Enter the robot's X, Y, Z, A, B, C in the form, or fetch them from the robot if the connection is set up in the [Integration Flow](/docs/overview/hands-on/integrating-your-robot/integration-flow.md).
4. Click **Next** and move to the next position.

### Step 5: Let the system compute the calibration

Once all poses are recorded, the system computes the calibration. This takes about a minute. The robot and vision system are then aligned and ready for operation.

{% hint style="info" %}
Want us to check your calibration result? Contact <support@captic.com>.
{% endhint %}
