Calibration for Gantry Robots

I want to calibrate a gantry robot (X,Y,Z,RZ) and have trouble following the manual (Complete Calibration for Truss Robots).

  1. Set TCP in Flange Frame
    This seems like a very unprecise approach to measure the TCP offset to the flange. Why do I manually have to specify this offset?

  2. Collect Images and Poses
    “Control the gantry robot to let its end tip touch the cross center point of point 1 on the calibration board, and record the robot flange pose in the teach pendant.” What is point 1, 2, 3 etc.?
    I would assume point 1 is top left on the calibration board, and point 2 and 3 the next points on the upper line. However, in the note it says “The calibration program requires that at least three points not in a line should be touched for calculating extrinsic parameters.”, so I am confused.

  3. If I understand the manual correctly I do not need to take any images for calibrating the robot but simply move the robot such that its TCP point touches the cross center points?

  1. When calibrating a gantry robot, it is typically done with the tip as the reference point, not the flange. If it is possible to teach the TCP, it is best to do so. However, if teaching the TCP is not feasible, try to ensure that the tip is positioned in the middle of the flange. This way, you will only need to make an offset adjustment along the Z-axis, which is the gantry robot’s vertical axis.

  2. Below is the the point 1,2,3:

  3. After poking three points, it’s necessary to take a picture of the entire calibration board.

Appreciate the quick answer.

  1. Understood, makes sense.
  2. Good to know. Would be good to include this in the docs as well.
  3. In “Collect Images and Poses” step 4 it is also required to input the flange pose when capturing the calibration board, isn’t it?

Yes, that needs the flange pose.

For 2, will add the image to the docs to clarify points 1 to 3.

1 Like

@YiGao Regarding “Set TCP in Flange Frame” what is the convention to specify the TCP offset?
Does the TCP offset have to be specified in robot coordinates?

Let’s say I have a measurement tip (200mm long) mounted in the center of the flange pointing down.
That is if the robot’s z-axis is pointing up but my gripper flange is pointing down, I have to specify
the TCP offset as (0,0,-200mm)? And if the robot’s z-axis is pointing down I need to specify the TCP offset as (0,0,+200mm)?

If the gripper is 200mm, you can directly specify it in gripper coordinates. However, when you want to pick something that is 1000mm away, the frame is based on the calculated vision’s pose.

I now found the reason why I had issues with setting the TCP offset.
The gripper TCP does not point in the same direction as the robot base, so when calibrating I have to pay attention to use the correct orientation for the flange poses. In my case the gripper TCP points down while my robot base points up. Therefore, I have to specify the flange pose as (x,y,z,0,1,0,0) and not (x,y,z,1,0,0,0). Same goes for using the correct flange pose when triggering the Vision project.

1 Like