Automatic Hand-Eye Re-Calibration in the Eye-to-Eye Setup

This how-to guide introduces how to complete the automatic hand-eye re-calibration in the eye-to-eye (ETE) setup.

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.

Complete the Robot Communication Configuration

If the robot uses the Standard Interface to communicate with the Vision System, please set up the Standard Interface communication with the robot. For details, please refer to the section Standard Interface Communication.

If the robot uses the Master-Control to communicate with the Vision System, please set up the Master-Control communication with the robot. For details, please refer to the section Master-Control Communication.

Prepare the Materials Required for Calibration

The hand-eye calibration in the ETE setup needs to use the calibration board. 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 ETE setup, mount the robot-specific bracket for calibration board onto the robot flange, and then mount the calibration board onto the bracket. Make sure that the calibration board is attached securely, and that the board is parallel to the XY plane of the robot flange frame.

    If an undetachable gripper is connected to the robot flange, you can attach the calibration board directly to the gripper.

In addition, before calibration, move the robot to the starting point for calibration, that is, the bottom middle of the overlapped area of the two cameras’ field of view.

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, select a project in the project list, and then 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.

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

  4. In the Select calibration task window, select Hand-eye calibration for listed robot from the drop-down list box, click the Select robot model button to select the robot model used by the project, and then click the Next button.

  5. In the Select camera setup window, select the Eye to eye radio button, and then click the Next button.

  6. In the Calibration method and robot control window, select Automatic and Standard Interface, and then click the Calibrate button. The Calibration (Eye to Hand) window will be prompted.

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 sub-camera to connect in the Detected cameras list, and then click the connect camera icon button or double-click the camera entry to connect to it.

    calibration ete connect camera ete
  2. Repeat the preceding step to connect to the primary camera. After the primary camera is connected, the calibration ete master camera icon will be displayed before the camera ID.

    To switch the primary camera, select a camera, and then click the Set as main button.

  3. After the camera is connected, click the Capture live or Capture once button.

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

    In this step, the 2D image and depth map are captured only for the primary camera. To confirm the effects of the images captured by the secondary camera, you can switch it to the primary camera, and switch the original primary camera back to the primary camera after confirming.

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 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 button 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.

Connect the Robot

If the Standard Interface communication is used during calibration, please refer to Connect the Robot (Standard Interface).

If the Master-Control communication is used during calibration, please refer to Connect the Robot (Master-Control).

Connect the Robot (Standard Interface)

  1. (Optional) In the Connect the robot step, click the Start interface service button. The button will turn into Waiting for the robot to connect.... If the Standard Interface Communication option on the toolbar was previously enabled, this step is not necessary.

    calib connect robot standard interface
  2. On the robot teach pendant, select the automatic calibration program, teach the start point and run the program. For details on the calibration programs of different robots, please refer to the section Standard Interface Communication. After the program is started, the log message “Entering the calibration process, please start the calibration in Mech-Vision” will be printed in the Console log panel.

  3. Return to Mech-Vision, confirm that “Connected” status message is displayed in the Connect the robot area, and click the Next button.

Connect the Robot (Master-Control)

  1. On the robot teach pendant, select and run the Master-Control program. For the instructions of different robots, please refer to the section Master-Control Communication.

  2. Return to the Mech-Vision software, and set the Robot IP address parameter in the Connect the robot step.

    calib connect robot master control
  3. Click the Connect the robot button in the Connect the robot area. The button will turn into Waiting for the robot to connect...

  4. Wait until the “Connected” status message is displayed in the Connect the robot area, and then click the Next button.

    calib connect robot master control connected

Set Motion Path

  1. In the Set robot path step, set the Height span parameter in the 1 Set height span of calibration poses area.

    calib set robot path eth

    The Height span parameter should be set according to the recommended working distance range of the camera and the size of the robot’s working space.

  2. Click the Auto-generate button, and click the OK button in the prompted window Auto align robot path to camera frame.

    calib confirm path parameters
    This operation will slightly move the robot and capture images. The whole process may take 10 to 15 seconds. Please ensure that the motion path is safe. In case of emergency, please tap the emergency stop button on the robot teach pendant to stop the robot immediately.
  3. In the prompted Calibrate window, click the OK button.

    calib confirm pose
  4. In the right Scene viewer panel, confirm that waypoints are reasonable and will not collide with obstacles.

    calib view path eth
  5. Click the Generate motion path based on path parameters button and then click the Next button on the bottom bar.

Obtain Images and Poses

If the robot uses the Master-Control to communicate with the vision system, the Get pose from real robot checkbox is selected by default (recommended), and the Robot pose type parameter should be adjusted according to needs. Clear the checkbox if you do not need to synchronize the data with the real robot.
  1. In the Obtain images and poses step, click the Start calibration button.

    calib add image pose
  2. Read the safety window carefully and click the OK button.

    calib safety tips
  3. Wait until the robot finishes moving along the preset path and the camera finishes capturing images on all waypoints. A pop-up window will display the progress of moving to the calibration point.

    Please stay away from the robot working area to keep safe.
  4. When the pop-up window says “All calibration points have been reached successfully, and the calibration is completed.”, click the Ok button.

    calib capture finished
  5. Confirm that the collected calibration data meets the data requirements, and then click the Next button on the bottom bar.

    calib data requirements

    If the requirements are not met, please manually move the robot (through the teach pendant or Mech-Viz), enable the Add more images manually option in the 3 Auxiliary tool, and click the Add images and record flange poses button to add the calibration board image and enter the robot flange pose.

Calculate Extrinsic Parameters

  1. In the Calculate extrinsic parameters step, click the Calculate extrinsic parameters button in the 1 Calculate extrinsic parameters and check results area.

    calibration ete calcualte extri param ete quick
  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
  • In the Collect images and poses step, the software will capture calibration images for the two cameras at the same time and collect the pose data. You can switch the camera in the Calibration image and pose list panel to view the calibration board images and calibration circle data collected for each camera.

  • In the Calculate extrinsic parameters step, the software will calculate the extrinsic parameters for both cameras, and the pose relationship between the two cameras.

Till now, the calibration process is completed.

Calculate Pose Relationship between Cameras from the Calibrated Extrinsic Parameters Directly

  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
  5. In Select a robot type for calibration window, select a robot type among 6-axis robot, 4-axis robot (SCARA, Palletizer) or 5-axis robot or other types radio button, and then click the Next button.

    calib preset manual select 6 axis
  6. In the Select camera setup window, select the Eye to eye radio button, and then click the Next button.

    calib preset ete
  7. In the Select how to collect data window, select the Use calibrated extrinsic parameters for calculation, choose two camera’s extrinsic parameter files, and then click the Calibrate button. The Calibration (Eye to Eye) window will be prompted.

    calibration ete calib preset ete calculate
  8. In the Connect to camera step, select the camera to connect in the Camera ID list, and then click the connect camera icon button to connect to it.

  9. Repeat the preceding step to connect to the second camera, and then click the Next button on the bottom bar.

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

    calibration ete calcualte extri param ete quick

After the camera extrinsic parameters have been calculated, you can view the fused point cloud in the Point cloud viewer panel.

Change the Extrinsic Parameter File

After hand-eye calibration, you need to change the extrinsic parameter file used in the current Mech-Vision project to a new one.

  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.

Calibration-Related Status Codes

If the robot uses the Standard Interface to communicate with the Vision System during hand-eye calibration, the Vision System will return status codes in response data to indicate the execution status of the commands. The status codes indicate both the normal execution results and execution failures. You can perform further troubleshooting according to the status codes.

Calibration Error Codes

Error code Description

7001

Calibration: Parameter error

7002

Calibration: Calibration flange pose not provided by Mech-Vision

7003

Calibration: Calibration joint positions not provided by Mech-Vision

7004

Calibration: Robot failed to reach calibration point

Calibration Normal Status Codes

Normal status code Description

7100

Calibration: Robot moved to the calibration point successfully

7101

Calibration: Pose received from Mech-Vision successfully

Check the Fusion Effect of the Calibration in the ETE Setup Using a Mech-Vision Project

You can build a project as shown in the following figure. Note that the "Trigger Control Flow Given No Output" and "Trigger Control Flow Given Output" options in Execution Flags area should be selected.

calibration ete ete project

Execute the single Step “Merge Point Clouds” to display the fused point cloud. The point cloud output after merging is the fused whole point cloud, as shown in the figure below. You can click the upper left corner View as Whole| 1 | 2 to switch point clouds.

calibration ete converged poin cloud

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.