18  TCP Calibration

18.1 Overview

The TCP (Tool Center Point) calibration tool allows you to calculate the exact position and orientation of your tool tip relative to the robot flange. An accurate TCP is critical for precise cutting — especially with large sawblades where even a fraction of a degree of tilt causes grinding instead of cutting.

The calibration is based on the 4-point method: the operator jogs the robot so the tool tip touches a fixed reference point from at least 4 different orientations. AbbyCam collects the flange poses and solves the TCP offset mathematically.

The result is a complete RAPID tooldata declaration ready to paste into RobotStudio.

18.2 Requirements

  • ABB IRC5 controller with 616-1 PC Interface option installed
  • RAPID socket server (T_COM task) running on the robot
  • AbbyCam connected to the robot (green status indicator)
  • A sharp calibration pin mounted on the robot flange
  • A fixed reference point in the cell (sharp pin, machined cone, etc.)

18.3 Robot Connection

The status indicator in the dock title bar shows the current connection state:

  • 🟢 Connected — AbbyCam is communicating with the robot
  • 🔴 Disconnected — No connection. AbbyCam will retry automatically every few seconds.

If the indicator stays red, check:

  • Robot controller is powered on and running
  • T_COM task is running (check FlexPendant or RobotStudio Operator Window for Com: Server listening on port 5000)
  • IP address and port are correct in Settings → Rapid

18.4 Settings

TCP Calibration Settings

The following settings are available under Settings → Rapid:

Setting Description Default
Robot IP IP address of the IRC5 controller 192.168.1.100
Port Socket server port 5000
Reconnect Interval How often AbbyCam retries connection 5000 ms

18.5 Calibration Workflow

18.5.1 Step 1 — Prepare the Cell

  • Mount a sharp calibration pin on the robot flange
  • Fix a reference point rigidly in the cell — it must not move during calibration
  • The reference point must be reachable from at least 4 very different robot orientations

18.5.2 Step 2 — Capture Points

Open the ABB TCP Calibration dock and go to the Points tab.

TCP Calibration Dock — Points Tab

For each touch point:

  1. Jog the robot carefully until the pin tip touches the reference point exactly
  2. Click Capture from Robot in the toolbar — AbbyCam reads the current flange pose directly from the robot
  3. Verify the row appears in the table with a green or yellow response time indicator
  4. Back off and jog to a completely different orientation
  5. Repeat at least 4 times — more points give better accuracy
Important

Each pose must have a significantly different robot orientation. Simply moving the flange to a different position without rotating is not sufficient — the quaternion values must differ between rows.

Warning

Rows highlighted in yellow have a high response time (RT). This means there was a significant delay between when the robot recorded the position and when AbbyCam received it. The data may be stale — consider recapturing that point.

18.5.2.1 Point Table Columns

Column Description
PC Time Time on the AbbyCam PC when the point was received
RT Response time in seconds between robot and PC. -- means manually entered
X, Y, Z Flange position in world coordinates (mm)
Q1–Q4 Flange orientation as quaternion (ABB convention: Q1=W)

18.5.2.2 Manual Entry

Points can also be entered manually by clicking Add Row in the toolbar. A dialog opens where you can type the values directly. Manually entered rows show -- in the PC Time and RT columns.

Add Point Dialog

18.5.2.3 Saving and Loading Points

Use the Save and Load toolbar buttons to save and load point sets as JSON or CSV files. This allows you to re-run the calibration calculation without recapturing points.

18.5.3 Step 3 — Calculate

Once you have at least 4 points click Calculate TCP at the bottom of the Points tab.

AbbyCam solves the TCP offset using a least-squares algorithm and automatically switches to the Result tab.

18.5.4 Step 4 — Result

TCP Calibration Dock — Result Tab

The Result tab shows:

  • TCP offset from flange — X, Y, Z in mm
  • Orientation — Q1–Q4 quaternion representing the tool tilt relative to the flange
  • RAPID tooldata — complete declaration ready to copy into RobotStudio
Note

The orientation quaternion captures X and Y tilt of the spindle. Rotation around the tool Z-axis (spinning around its own centerline) cannot be determined mathematically — this is expected and does not affect cutting accuracy for symmetric tools.

Click Copy to Clipboard and paste the result directly into your RAPID program in RobotStudio.

18.5.4.1 Example Result

PERS tooldata tTool := [TRUE, [[60.008, -103.598, 4.309], [0.997576, -0.047835, -0.050545, 0.000000]], [0.001, [0, 0, 0.001], [1, 0, 0, 0], 0, 0, 0]];

18.6 Calibration Pin Best Practices

18.6.1 Why Tool Length Matters

Calibrating with a short pin and then using a long tool introduces errors. Any angular misalignment of the spindle mount (tilt in X or Y) is amplified proportionally to the tool length. For example, a 0.1° tilt error causes:

  • 0.17mm error at 100mm tool length — acceptable for most routing
  • 0.44mm error at 250mm (sawblade radius) — blade grinding instead of cutting

18.6.2 Use Matched Calibration Pins

The recommended approach is to use a set of precision calibration pins — one per tool — where each pin matches the TCP distance of the corresponding tool:

Tool TCP Distance Calibration Pin
Router bit 100mm Pin A — 100mm
Sawblade 250mm Pin B — 250mm
Other tools measure corresponding pin

Each calibration pin should be:

  • Precision machined to the exact TCP length of the corresponding tool
  • Perfectly concentric with the spindle mount
  • Sharp tipped for accurate touch point reference
Important

Never calibrate with the actual sawblade. Careful jogging near a reference point and rotating blades are a dangerous combination. Always use a dedicated calibration pin of matching length.

18.6.3 Workflow Per Tool

  1. Mount the matching calibration pin on the flange
  2. Run the full 4-point calibration
  3. Copy the result into the corresponding tool definition in AbbyCam (e.g. tSaw, tRouter)
  4. Repeat for each tool

This ensures that angular mounting errors are captured at exactly the right leverage arm — giving you the most accurate TCP for each tool without ever touching the real cutting tool during calibration.

The robot communication requires a background RAPID task T_COM running Com_StartServer. This task must be set up once per controller.

See T_COM Setup for step-by-step instructions.

18.7 Troubleshooting

Problem Check
Status always red Is T_COM running? Is the IP correct in Settings → Rapid?
Capture button disabled Status must be green before capturing
Result is 0, 0, 0 All quaternions are identical — robot orientations must differ between points
Yellow RT warning Large delay between robot and PC — recapture the point
Result seems wrong Check that the reference point did not move during calibration
Can’t connect after restart T_COM task may not have loaded — check RobotStudio Operator Window