Hand-Eye Calibration for Gantry Robots

This how-to guide introduces how to complete the hand-eye calibration for gantry robots (also called gantry robots).

For the concepts related to the hand-eye calibration for gantry robots and the usage of the extrinsic parameter file, please refer to the section Explanation of the Calibration for Gantry Robots.

Preparation before Calibration

Before hand-eye calibration, you need to finish the following preparations:

Construct the Vision System

Construct the Mech-Mind Vision System by referring to the section Vision System Hardware Setup.

You need to use Mech-Eye Viewer, Mech-Vision and Mech-Viz during hand-eye calibration. Please ensure that they have been installed and are running the latest versions.

Prepare the Materials Required for Calibration

The hand-eye calibration for gantry robots needs to use the following materials:

  • Calibration board

  • Sharp tip

  • Tape measure

Please prepare the calibration board according to the following requirements:

  • Ensure that the circles of the calibration board are clearly visible and without obvious scratches, and the board does not suffer from deformations.

  • In the calibration for gantry robot scenario, please place the calibration board in the center of the object plane, where target objects are to be placed.

  • The sharp tip should be mounted on the center of the gantry robot’s gripper. The tape measure is used to measure the deviation from the sharp point to the center of the robot flange in X, Y, and Z directions.

truss calib install tip

Check the Point Cloud Quality of the Calibration Board (Optional)

The point cloud quality of the calibration board will affect the accuracy of hand-eye calibration. Check the point cloud quality of the calibration board to ensure the accuracy and reliability of the calibration results. The calibration process includes the step of checking the point cloud quality of the calibration board. You can also check the point cloud quality of the calibration board before starting the calibration to save time.
  1. Place the calibration board at the center of the working plane within the camera’s field of view.

  2. Open the Mech-Eye Viewer software, select the camera used by the project and adjust camera parameters.

  3. Adjust the 2D parameters to ensure that the overall 2D image is not too dark, and each calibration circle is clearly visible.

  4. Adjust the 3D parameters to ensure that each calibration circle on the calibration board is complete and visible.

    If the on-site ambient lights are not ideal and affect the quality of 2D images and point clouds, you can use shading or supplemental light to improve the lighting conditions.

  5. Make sure that the point cloud quality of the calibration board is up to standard after completing the preceding steps.

    Normal Overexposed Underexposed

    2D image

    normal-2d

    overexposure-2d

    underexposure-2d

    Point cloud

    normal-3d

    overexposure-3d

    underexposure-3d

Complete Pre-calibration Checks

Please refer to Pre-calibration Checks and complete the following checks:

  • Confirm that the robot base is mounted securely.

  • Confirm that the camera mounting frame and camera are mounted securely.

  • Confirm that the calibration board is mounted securely at the end of the robot (ETH).

  • Confirm that the absolute accuracy of the robot meets the requirements for use.

  • Verify robot model parameters.

  • Confirm that the camera is warmed up.

Pre-calibration Configuration

  1. Open Mech-Vision, and click the Camera Calibration button in the toolbar. The Configuration before Calibration window will be prompted.

  2. After confirming that Pre-calibration checks are completed, click I’ve finished all checks, and then click Next.

    calib preset confirm checks
  3. In the Select how to calibrate window, select the New calibration radio button, and then click the Next button.

    calib preset new
  4. In the Select calibration task window, select Hand-eye calibration for custom robot from the drop-down list box, specify the Robot Euler angle convention parameter, select the robot coordinate system type, and then click the Next button.

    calib preset manual select task
    • You can determine robot coordinate system type according to the section Left- and Right-handed Coordinate Systems. If the gantry robot uses the left-handed coordinate system, you just need to select Left-handed here.

    • When the vision system communicates with the robot, the communication module will automatically transform the coordinate system for the sent and received poses. When the communication module receives the robot pose from the robot side, it transforms the robot pose in the left-handed coordinate system to the one in the right-handed coordinate system; when it sends the pose output by the software to the robot side, it transforms the robot pose in the right-handed coordinate system to the one in the left-handed coordinate system.

    • When the robot flange pose is required to be input during the calibration procedure, you need to take the inverse of the Y-axis value first.

  5. In the Select a robot type for calibration window, select the Truss (up to 6 DOF, XYZABC), and then click the Next button.

    calib preset manual select gantry
  6. In the Select axes affecting camera window, select the axes as required (such as X-axis, Y-axis, Z-axis, and Rz), and then click the Calibrate button.

    calib preset manual select affected axes gantry

Till now, you have completed the pre-calibration configuration and can start the calibration procedure.

Calibration Procedure

Connect to Camera

  1. In the Connect to camera step, select the camera to connect in the Camera ID list, and then click the connect camera icon button or double-click the camera entry to connect to it.

    calib connect camera
  2. After the camera is connected, click the Capture once or Capture live button.

    calib image capture
  3. In the Image viewer panel, ensure that the camera can capture images normally and click the Next button on the bottom bar.

Mount Calibration Board & Check Intrinsic Parameters

  1. In the Mount calibration board & check intrinsic parameters step, select the calibration board model for the Standard calibration board model parameter according to its model nameplate in the 1 Select calibration board area.

    calib select calib board
  2. In the 2 Check calibration board position and point cloud quality area, read carefully the requirements on the calibration board position and point cloud quality, and then click the Capture continually button. The Capture continually button will turn into Stop capturing and detect position.

  3. Move the robot carrying the calibration board to an appropriate position, ensuring the calibration board is fully within the red frame, and the distance between the calibration board and the camera is as close to the recommended value as possible.

    calib install calib board
    If the calibration is performed under Standard Interface communication, you should modify the calibration start point in the calibration program.
  4. Please ensure that the 2D image and depth map of the calibration board meet the requirements, and then click the Stop capturing and detect position button.

    If the captured images do not meet the requirements, click Open Mech-Eye Viewer button to open the Mech-Eye Viewer software, adjust the 2D and 3D exposure parameters and re-capture images. Please note that you need to change the Parameter group parameter to “calib” first.

  5. In the 3 Check intrinsic parameters area, click the Check intrinsic parameters button.

  6. Confirm the results of the camera intrinsic parameter check.

    • If the camera intrinsic parameter check passes, click the OK button in the prompted window, and then click the Next button on the bottom bar.

      calib check intri pass
    • If the camera intrinsic parameter check fails, adjust detection parameters by drawing aid circles or manually adjusting the calibration circle detection parameters, and then click the Recheck intrinsic parameters button.

Draw an Aid Circle

  1. To draw an aid circle, click the Draw an aid circle button.

  2. In the right Image viewer panel, right-click the calibration board image, clear the Fit to window checkbox, press the Ctrl key and drag the roller to adjust the image to a suitable size.

  3. Move the mouse pointer to the cross center point of the calibration circle, press the left mouse button and make the aid circle completely include the calibration circle and then release it.

    calib adjust blob
  4. Click the Recheck intrinsic parameters button, and confirm that the camera intrinsic parameter check passes.

Manually Adjust Detection Parameters

To manually adjust detection parameters, click Calibration circle detection parameters (advanced), adjust parameter settings and click the Recheck intrinsic parameters to confirm whether the camera intrinsic parameter check passes.

If the calibration circles are still not detected, please adjust the camera settings according to the on-site operating conditions.

Set TCP in Flange Frame

  1. In the Set TCP in flange frame step, select the Input known TCP radio button, and enter the TCP values.

    calib tcptouch set tcp
  2. Click the Confirm TCP values button.

  3. Click the Next button on the bottom bar.

    If the TCP values are unknown, select the Obtain TCP by calibration radio button, and then click the Calibrate TCP button. You can use the TCP calibration tool to calculate the TCP values.

  • Before this step, use the tape measure to measure the deviation (in mm) from the sharp point to the center of the flange in X, Y, and Z directions.

  • If the gantry robot uses the left-handed coordinate system, you need to take the inverse of the deviation value in the Y direction before entering it.

Collect Images and Flange Poses

  1. In the Collect Images and Flange Poses step, understand the calibration board information collection instructions.

    calib tcptouch capture image poses
  2. Control the gantry robot to let its end tip touch the cross center point of the calibration circle “point 1” on the calibration board, and record the robot flange pose in the teach pendant.

    calib tcptouch touch three points
  3. Click the add_button button of point 1, and enter the robot flange pose in the prompted Input Flange Pose of Robot dialog box, and then click the OK button.

    If the gantry robot uses the left-handed coordinate system, you need to take the inverse of the Y-axis value before entering the robot flange pose.

    calib manual add flange pose
  4. Repeat the preceding steps, and let the end tip touch the cross center points of point 2 and point 3, and enter robot flange poses.

  5. Click theadd_button button of the current calibration board to collect calibration board images, enter the robot flange pose in the prompted Input Flange Pose of Robot dialog box, and then click the OK button.

  6. Click the Update data button and then click the Next button on the bottom bar.

    calib tcptouch update data
    • The calibration program requires that at least three points not in a line should be touched for calculating extrinsic parameters.

    • If the gantry robot lacks a degree of freedom in a certain direction (for example, in the Y direction), you can add the poses of multiple calibration boards. First, adjust the direction of the calibration board so that the sharp point can touch two points on the calibration board, and at the same time input the pose of the robot flange and collect the image of the calibration board. Then raise (or lower) the calibration board in the Z direction, and again touch the points on the calibration board along the X direction, and at the same time input the robot flange pose and collect the image of the calibration board. Make sure that the new position of the calibration board is significantly different from the previous one.

Calculate Extrinsic Parameters

  1. In the Calculate extrinsic parameters step, click the Calculate extrinsic parameters button.

    calib calculate extri tcptouch
  2. In the prompted window indicating calibration success, click the OK button.

    calib confirm calib result
  3. Click the Save button on the bottom bar. In the prompted Save Calibration Files dialog box, click the OK button. The camera calibration result will be automatically saved in the “calibration” directory of the project.

    calib save calib result

Till now, the calibration process is completed.

Validate Calibration Results

This section provides methods for quickly validating calibration results.

View Error Point Cloud in Point Cloud Viewer

After calculating the camera extrinsic parameters, please perform the following operation:

  1. In the Calculate extrinsic parameters step, view the error point cloud in the right Point cloud viewer panel after the calibration calculation is complete.

    The error point cloud shows the deviation between the calculated value and the actual value of the circles on the calibration board. For the detailed description, please refer to Error Point Cloud Description.
  2. Confirm that the calibration accuracy meets the project’s requirements. Find the error value with the 100% percentage to get the rough calibration accuracy.

check error point cloud tcptouch

In the Calculate extrinsic parameters step, click Extrinsic parameter accuracy to open the tool. Please refer to the tool’s guidance to validate the extrinsic parameter accuracy and generate the final evaluation report.

Change the Extrinsic Parameter File

If the camera’s extrinsic parameter file has been used by a Mech-Vision project, you need to change the extrinsic parameter file used by the Mech-Vision project to a new one after you finish the hand-eye calibration.

  1. Select the Capture Images from Camera Step.

    change calibration parameter group
  2. In the Step Parameters panel, click change calibration parameter group icon of the Calibration Parameter Group parameter, and select the newly calibrated extrinsic parameter file.

We Value Your Privacy

We use cookies to provide you with the best possible experience on our website. By continuing to use the site, you acknowledge that you agree to the use of cookies. If you decline, a single cookie will be used to ensure you're not tracked or remembered when you visit this website.