Calibration Results Check and Analysis

For the calibrated extrinsic parameters, you need to check whether the calibration accuracy meets the requirements. If the error fall outside the normal range, you should diagnose and solve the problems that are responsible for the error before recalibrating to obtain qualified extrinsic parameters.

Check Calibration Results

Check Error Point Cloud in Point Cloud Viewer

In the Calculate camera parameters step, the Point cloud viewer panel will display the point cloud showing the calibration error, as shown in the following figure. The error point cloud shows the deviation between the calculated value and the actual value of the circles on the calibration board.

../../../_images/error_point_cloud1.png

The color of the point represents the error level (one error level per 0.5mm of deviation). The darker the color is, the greater the error of the point.

To view the points at each error level, in the Point cloud viewer panel, press the number keys 0–9. The software will highlight the points in the corresponding error level (0 corresponds to points with error less than 0.5 mm, 1 corresponds to points with errors between 0.5 mm and 1mm, so on and so forth).

The following figure displays all points with error less than 0.5 mm (by pressing the number key 0).

../../../_images/check-errorpointcloud1.png

The following figure displays all points with error between 2.0 mm and 2.5 mm (by pressing the number key 4).

../../../_images/check-errorpointcloud2.png

Roughly Check Coincidence Degree between the Point Cloud of the Robot and the Robot Model in Scene Viewer or Mech-Viz

You can check calibration results roughly by inspecting the coincidence degree between the point cloud of the robot and the robot model in Scene Viewer or Mech-Viz.

For calibration results of extrinsic parameters calculated in the ETH scenario, move the robot into the view of camera, and check the point cloud of the robot in Scene Viewer or Mech-Viz. Ideally, the point cloud of the robot should roughly coincide with the robot model, as shown in the figure below. (Be aware that the robot simulation cannot match the real robot completely, and thus cannot be used to fine-tune the extrinsic parameters. )

../../../_images/coincidence_degree.png

For calibration results of extrinsic parameters calculated in the EIH scenario, place the calibration board at a fixed position and capture images of the calibration board from multiple different poses. Then, observe if the point cloud of the calibration board deviates noticeably in the robot base frame, as shown in the figure below.

../../../_images/plate_point_cloud.png

Attention

In the EIH scenario, robot poses cannot be obtained in real time if the robot is not connected. You need to enter the robot pose where the camera captures image before checking the point cloud in Scene Viewer or Mech-Viz.

Analyze Calibration Results

Calibration Result Evaluation Standard

For the calibrated extrinsic parameters, you need to check whether the calibration accuracy meets the requirements. In general, the standards for acceptable calibration error in the point cloud are as follows:

  • For common projects, all data points should have errors lower than 3 mm (< 3 mm: 100%).

  • For high-precision projects, all data points should have errors lower than 2 mm (< 2 mm: 100%).

  • For palletizing and depalletizing projects, all data points should have errors lower than 5 mm (< 5 mm: 100%).

The above standards are just for reference. Please follow the specific accuracy requirement of the real application.

Factors Affecting the Calibration Accuracy

If the calibration accuracy is below standard, you need to follow the following instructions to inspect the calibration data and find the root cause for the errors.

Inspect Calibration Data

Calibration data refers to the calibration point data generated during the calibration process and is stored in calib_data.json. This file records data such as the flange poses at calibration points and calibration circle data.

To inspect calibration data, follow these steps:

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

  2. In the Select how to calibrate window, select the Load calibration parameters radio button, choose the calibration parameter file, and then click the Next button.

    ../../../_images/load_existing_calib_params.png
  3. In the Select parameter usage window, select the Continue working on the calibrated camera radio button, and then click the Next button.

    ../../../_images/load_existing_calib_params_2.png
  4. In the Select calibration task window, select the Re-calculate extrinsic parameters radio button, select the Load the calibration data checkbox, and then click the Calibrate button.

    ../../../_images/load_existing_calib_params_3.png
  5. In the Calibrate camera parameters step, click a calibration point in the Calibration image and pose list panel (such as pose_000), and click the Calibration circle info tab to view the robot flange pose and the calibration circle data at this calibration point.

    ../../../_images/check_calib_circle_data.png

Note

In the figure, X (pixel) and Y (pixel) columns represent the pixel coordinates of the center points of the calibration circles in the current 2D image; Camera frame: X(m)/Y(m)/Z(m) columns represent the coordinates of the center points relative to the camera coordinate system in the current depth image.

Please inspect the calibration data from the following aspects:

  1. Check if the Euler angles change between different sets of calibration points in the pyramid calibration path.

    Note

    Only calibration points in the pyramid calibration path are checked, excluding the rotating sets of calibration points. This inspection is applied to calibration scenarios using the multiple random calibration board poses method to collect calibration data.

    In the Calibration image and pose list panel, select the calibration points one by one (such as pose_000), and then click the Calibration circle info tab to view the robot flange pose at the calibration point. When the robot will move along the pyramid calibration path, it moves along its base coordinate or flange without rotating. Therefore, the Euler angles will keep consistent throughout the entire procedure.

    Depending on the precision level of the robot, the Euler angles might fluctuate differently. If the fluctuation exceeds 1 degree, the robot might have lost its zero position or have bad precision.

    Solution: in this case, hand-eye calibration should not be continued. You should check the robot’s zero position and fix the precision issue before continuing to calibrate.

  2. Check if the “Error of measured average calibration circle interval” of the calibration points exceeds the standard value

    In the Calibration image and pose list panel, select the calibration point, and view Error of measured average calibration circle interval in the Messages panel.

    Note

    If it exceeds the standard value, the calibration point will turn to yellow for warning. As part of the intrinsic parameters check result, Error of measured average calibration circle interval can partly reflect the current error in the camera intrinsic parameters.

    ../../../_images/check_instrinc_and_point_cloud_error.png

    Solution: for projects with low precision requirements, intrinsic parameters with errors that slightly exceed the standard may still be used. For situations where high precision is required or the errors greatly exceed the standard, it is recommended to re-calibrate the intrinsic parameters or replace the camera.

    Note

    Errors in intrinsic parameters will affect the calibration result, but if it is within the normal range, it is generally acceptable.

  3. Check if the max value of the “Calibration circle point cloud fluctuation” exceeds 3 mm

    In the Calibration image and pose list panel, select the calibration point, and view Calibration circle point cloud fluctuation in the Messages panel. Calibration circle point cloud fluctuation represents the overall fluctuation of the plane containing the coordinates of all the circles’ center points. This value directly influences the accuracy of the extrinsic parameters.

    ../../../_images/check_instrinc_and_point_cloud_fluctuation.png

    The higher a project’s precision requirements are, the lower the fluctuation value should be. Generally, the max acceptable value for the fluctuation is 3 mm. If more than three calibration points have point cloud fluctuation greater than 3 mm, you should troubleshoot the issue and perform re-calibration.

    Potential factors that might cause point cloud fluctuation are as follows:

    Reason 1: The 3D camera exposure parameters are not optimized. It is likely that the Cloud Smoothing and Outliers Removal options are disabled or that camera gaining is enabled.

    Solution: Change Cloud Smoothing and Outliers Removal to “Normal”, set Gain to zero, and adjust the 3D exposure parameters accordingly. If the point cloud of the calibration circles is still fragmented, on-site shading is required.

    Reason 2: When automatic calibration is performed in the ETH scenario, the calibration board is not securely mounted on the robot flange. When the speed of the robot is too fast, the calibration board might vibrate during the calibration process, thus causing excessive point cloud fluctuation.

    Solution: Lower the speed limit on the robot, install the calibration board firmly, and extend the wait time before capturing a new image at each waypoint.

Re-calculate the Compensation Parameters

Compensation parameters refer to the parameter values calculated by dividing the calibration area into blocks. Generally, these parameter values will be calculated according to the actual maximum working range of the camera when the camera leaves the factory.

Note

Due to the inconsistency between the actual on-site calibration conditions and those where the factory compensation parameters are calculated, the factory compensation parameters may not be applicable to all cases.

If you troubleshoot the calibration data according to the preceding sections, you need to re-calculate compensation parameters if the calibration results still do not meet project requirements.

To re-calculate compensation parameters, select the Recalculate compensation parameters checkbox in the Calculate camera parameters step, and then click the Calculate camera extrinsic parameters button.

../../../_images/calculate_compensate_params.png

Attention

Before re-calculating compensation parameters, please back up a copy of the extri_param.json file and rename it to factory compensation parameter.