Hand-Eye Calibration

In this tutorial, you will perform the automatic hand-eye calibration in the eye-to-hand setup.

The hand-eye calibration establishes the transformation relationship between the camera and robot reference frames (that is camera extrinsic parameters). With this relationship, the object pose determined by the vision system can be transformed into that in the robot reference frame, which guides the robot in performing its tasks.

Video Tutorial: Hand-Eye Calibration (Master-Control)

Preparation before Calibration

In this section, you will install the calibration board, adjust camera parameters, create a Mech-Vision solution, and save and pre-calibration configurations.

Mount the Calibration Board

In the eye-to-hand setup, the calibration board needs to be mounted to the robot flange adapter.

Please follow these steps:

  1. Take the calibration board and flange adapter out of the camera delivery package.

  2. Use screws, gaskets, and nuts to fasten the flange adapter to the flange adapter.

  3. Use screws, gaskets, and nuts to secure the calibration board to the flange adapter. The calibration board is parallel to the XY plane at the robot end.

  4. After mounting the calibration board, move the robot to the starting point for calibration, i.e., the top surface of the lowest workpiece in the work area, and the robot at the center of the camera’s field of view will move the calibration board upwards.

Adjust Camera Parameters

  1. Connect to the camera in Mech-Eye Viewer, and select the “calib” parameter group in the drop-down list of Parameter Group.

    viewer parameter group calib
  2. Adjust the 2D parameters to make sure that the 2D image of the calibration board is clear and neither overexposed nor underexposed.

    Normal Overexposed Underexposed

    normal-2d

    overexposure-2d

    underexposure-2d

  3. Adjust 3D parameters to make sure that the obtained point clouds of the circles on the calibration board are complete and have clear contours. It is recommended to set the Surface Smoothing and Outlier Removal parameters of Point Cloud Processing to Normal to reduce point cloud fluctuation.

    Point cloud complete Point cloud incomplete Point cloud incomplete

    normal-3d

    overexposure-3d

    underexposure-3d

Create and Save Mech-Vision Solution

  1. Open Mech-Vision. If the Welcome interface as shown below is displayed, it indicates that Mech-Vision is started successfully.

    project build welcome interface
  2. In the Welcome interface of Mech-Vision, click Create from solution library to open the Solution Library.

    project build welcome interface library

    Solution Library is a resource library that provides typical solutions or projects (with example data) coming from different application scenarios.

  3. Select the Single-Case Cartons project from the Solution Library.

    project build select project

    If you cannot find this single-case cartons project in the Solution Library, click More at the bottom of the Solution Library interface.

  4. After this project is selected, the information introducing this project will be displayed on the lower part of the Solution Library interface. Set the solution name and path, and then click Create.

    project build check project info

    After the project is created, the created solution and project will be displayed in the project list in the upper-left corner of the Mech-Vision main interface.

    • A solution is a set of configurations and data related to robots and robot communication, vision processing, path planning, etc. that are required for the machine vision application.

    • A project is a workflow of vision processing in the solution. Normally, a solution only contains one project, but it may contain more than one project in complex application scenarios. In this tutorial, the solution only needs one project.

    project build check project list

    In the Graphical Programming Workspace of the main interface, the workflow of the Single-Case Cartons project will be displayed.

    project build check project step
  5. On the menu bar, select File  Save Solution.

    project build save solution

Pre-calibration Configuration

  1. In Mech-Vision, click theCamera Calibration (Standard) button on the toolbar to open the Configuration before Calibration window.

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

    getting start calib how
  3. In the Select calibration task window, select Hand-eye calibration for listed robot from the drop-down list box, and click the Select robot model button.

    getting start calib task
  4. Click the Brand dropdown box, and select “ABB”. Then, at the right panel, select model “ABB_IRB_1300_11_0_9”, click the Select button, and then click the Next button.

    getting start select robot model
  5. In the Select camera setup window, select the Eye to hand radio button, and then click the Next button.

    getting start calib eth
  6. In the Calibration method and robot control window, select Automatic and Master-control, and then click the Next button.

    getting start calib auto master
  7. In the Communication Settings window, set the Robot IP address parameter to the real robot’s IP address.

    getting start calib communication
  8. On the robot teach pendant, confirm that the MM main program has been started.

  9. Return to Mech-Vision, and click the Connect the robot button in the Connect the robot area. The button will turn into Waiting for the robot to connect....

  10. Wait until the “Connected” status message is displayed in the Connect the robot area, and then click the Calibrate button. The Calibration (Eye to Hand) window will be prompted.

Calibration Procedure

Connect to a Camera

  1. In the Connect to Camera step, find the camera to connect in the Detected Cameras list, and click the Connect icon.

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

  3. In the right Image viewer panel, ensure that the captured 2D image and point cloud meet the calibration requirements and click the Next button on the bottom bar.

If the captured image does not meet the calibration requirements, you need to open the Mech-Eye Viewersoftwareadjust the 2D and 3D exposure parameters to and re-capture images.

Mount Calibration Board and 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.

    eth calib auto 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 live button. The Capture live button will turn into Stop capturing and detect position.

  3. Control the robot to move the calibration board to the proper position, and 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.

    eth calib auto install calib board
  4. In the 3 Check intrinsic parameters area, click the Check intrinsic parameters button.

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

      eth calib auto check intri pass
    • If the intrinsic parameter check fails, adjust the calibration circle detection parameters by drawing aid circles, window=_blank, or modifying detection parameters, window=_blank, and then click the Recheck intrinsic parameters button.

If the camera still cannot pass the intrinsic parameter check after the above operations, the intrinsic parameters of the camera may be problematic and need to be corrected, or contact Mech-Mind Technical Support.

Set Robot Path

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

    eth calib auto set robot path

    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 Generate path parameters button, and click the OK button in the prompted window Auto align robot path to camera frame.

    eth calib auto 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.

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

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

Collect Images and Flange Poses

  1. In the Collect images and flange poses step, select the Save images checkbox.

    eth calib auto add image pose
  2. Click the Control robot to auto move along path and capture images button.

  3. Read the safety window carefully and click the OK button.

    getting start security warnning
  4. Wait until the robot finishes moving along the preset path and the camera finishes capturing images on all waypoints. Captured images can be seen in the right Marker Image and Pose List panel during this process.

    • Please stay away from the robot working area to keep safe.

    • Clicking the Stop robot button can exit the calibration process. But the robot will not stop until it finishes the current waypoint. In case of emergency, please tap the emergency stop button on the robot teach pendant to stop the robot immediately (the robot needs to be reconnected after tapping the emergency stop button).

  5. After the automatic capture finishes, click OK in the pop-up window.

    getting start auto capture finished
  6. Confirm that the collected calibration data meets the data requirements, and then click the Next button on the bottom bar.

    eth calib auto data requirements

    If the requirements are not met, please manually move the robot (through the teach pendant or Mech-Viz), select the Manually add more images checkbox, and click the Add an image and record flange pose 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.

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

    eth calib auto confirm calib result
  3. Click the View extrinsic parameter calibration report button. The extrinsic parameter calibration report will be automatically displayed after it is generated.

    eth calib auto extri calib report
    The extrinsic parameter calibration report displays the results of the Euler angle convention check, camera accuracy check, and robot absolute accuracy check.
  4. Confirm the results of the Euler angle convention check, camera accuracy check, and robot absolute accuracy check in the report, and then click the Close button to close the report.

    • If the camera accuracy in the report does not meet the requirements, please follow the recommendation to troubleshoot the camera accuracy errors. If you want to enhance the calibration accuracy, please refer to the section Calibration Result Check and Analysis.

    • To evaluate the robot absolute accuracy and the accuracy of calculated extrinsic parameters, you can click Robot absolute accuracy and repeatability and Extrinsic parameter accuracy in the “Calculate extrinsic parameters” window and use the error analysis tool to perform robot absolute accuracy check and analyze extrinsic parameter error in ETH setup.

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

    eth calib auto save calib result

Till now, the calibration process is completed.

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.