Calibration Troubleshooting and FAQs

You are viewing an old version of the documentation. You can switch to the documentation of the latest version by clicking the top-right corner of the page.

Invalid Factory Compensation Parameters

Introduction to factory compensation parameters

The compensation parameters are stored in the camera extrinsic parameter file extri_param.json, as shown in the following figure:

calibration reference offset parameter

If the camera does not have compensation parameters, the compensation parameter values will be a unit matrix, as shown in the following figure:

calibration reference zero offset parameter

If you select the Recalculate compensation parameters checkbox and click Calculate, the optimal compensation parameters will be refitted according to all current calibration point data, and the compensation parameters in the extrinsic parameter file will be updated.

Factory compensation parameters: The factory compensation parameters are based on the focal length of the camera and its maximum field of view. The advantages and disadvantages of using the factory compensation parameters:

  • Advantages: Using factory compensation parameters, extrinsic parameters that represent the accuracy of the entire working space can be calculated under the condition that the number of calibration points is small and the workspace is not fully covered. The factory compensation parameters are preferred when the TCP touch method is used and the calibration space is limited after the robot is installed with the calibration board and the workspace cannot be fully covered.

  • Disadvantages: The actual on-site robots and the space of calibration path vary a lot. The factory compensation parameters cannot guarantee the best results every time. You can obtain better results by recalculating compensation parameters if the workspace is fully covered by calibration.

After obtaining the extrinsic parameters that meet the accuracy requirements with the factory compensation parameters, it is not recommended to select the Recalculate compensation parameters checkbox to re-calculate the extrinsic parameters for higher accuracy if the workspace is not fully covered by calibration.

Symptoms: The symptoms of invalid factory compensation parameters include compensation parameters being updated without backing up the factory ones, and no factory compensation parameters.

Solution 1: using TCP touch method

In this case, this issue can be solved by adding multiple sets of touch points and then calculating compensation parameters.

Add multiple sets of touch points: place the calibration board at the bottom middle of the workspace, touch the cross center points of three calibration circles with the tool tip and capture the calibration board image to generate a set of touch points; place the calibration board on the edge of the workspace, follow the same to generate another set of touch points; Divide the workspace into different layers and add multiple sets of touch points (generally, three layers and two points per layer are enough).

Solution 2: using the multiple random calibration board poses method

In this case, this issue can be solved by fully marking the workspace and Recalculate compensation parameters.


Non-six-axis Robot Calibration

Four-axis Robot

Four-axis robots include truss robots, SCARA robots, and palletizing robots, etc.

Mech-Viz is only adapted to a small number of SCARA and palletizing robots (this number will be enlarged in future).

  • Tip fixation issue when using TCP touch method

Mount the sharp tip on the end of the robot and check whether the tip is securely fixed at one point and installed in the center of the flange by rotating the fourth axis. The TCP of the four-axis robot cannot be calibrated using the tool. The XYZ values of the TCP need to be measured manually.

  • Z-direction of extrinsic parameters needs to be adjusted for four-axis robots

When using the multiple random calibration board poses method, the lack of rotational degree of freedom will result in the lack of the rotational values during the calibration process. After the calibration is completed, the Z direction of the extrinsic parameters needs to be manually adjusted as follows:

  1. Find the base coordinate position of the robot;

  2. Place the calibration board on the working plane that is parallel to the XY plane of the robot base coordinate, usually the ground;

  3. Measure the distance from the base coordinate of the robot to the working plane. In Mech-Viz, set the ground height to this distance. See the following figure:

    calibration reference adjust z
  4. Adjust the Z-direction value of the extrinsic parameters so that the point cloud of the calibration board is exactly on the working plane in Mech-Viz. So far, the Z-direction adjustment is completed.

    • Calibration instructions for truss robots

The defined position of the base coordinate of the truss robot is different from other robot types. It is difficult to adjust the Z direction based on the base coordinate position. Therefore, only the TCP touch method is recommended for truss robot.

The most common setup for truss robot is to mount the camera on the third axis:

EIH: In this case, the truss robot becomes a three-axis robot as the fourth axis cannot be used. You can only send fixed angles to the robot through Adapter.

ETH: There is a limited number of fixed scanning points and the offset between each scanning point are known. Add the robot base coordinate offset in the Adapter each time a different scanning point is used.

Calibration for Seven-axis Robot/Six-axis Robot with Slide Rail/Five-axis Robot

The six-axis robot with slide rail mentioned here means that the slide rail is integrated into the robot teach pendant. Thus, it is equivalent to a seven-axis robot.

The TCP touch method is recommended for the above three types of robots.

  • Requirements for seven-axis robot calibration using the multiple random calibration board poses method

When there is no suitable sharp tip on site or the sharp tip cannot be mounted, the multiple random board poses method can be used to calibrate the seven-axis robot.

During the calibration process, you need to restrict the movement of one of the axes and idealize it as a six-axis robot. The rest of the operations are roughly the same as the calibration of the six-axis robot.


How to Calibrate When the Euler Angle Convention of the Robot is Uncertain

When the Euler angle convention of the robot is unknown, use the "Get Euler angle convention" tool during the pre-calibration configuration, See the following figure:

calibration reference gets the euler angle type

Adjust the robot’s pose to obtain three different poses where the tip mounted at the end of the robot and the tip on the desktop touch each other. Fill in the pose of the robot on teach pendant after each touch. Then, click “Calculate Euler angle convention” to obtain the recommended Euler angle convention.


How to Calibrate If There Is No Suitable Point on the Working Plane

Since the accurate Euler angle convention of the robot is unknown, the Euler angle cannot be inputted correctly when the TCP touch method is used for calibration.

In this case, switch the pose type on the robot teach pendant to TCP to obtain the pose of the tip.

Let the tool tip touch the cross center points of three calibration circles in turn, read the values ​​of XYZ on the teach pendant and input them. Choose any Euler angle convention and enter any constant value. Make sure that the Euler angles of the three input poses are the same.


Intolerable Point Cloud Fluctuation on Multiple Calibration Points, Which Cannot be Improved by Adjusting Camera Parameters

Check the calibration board to see if there are crosses which may cause large fluctuations in the point cloud, as shown in the following figure:

calibration reference cross

Cut out a few circles from A4 paper and cover them over the center of each calibration circles with cross (do not cover the edge of the circles). The crosses’ effect on point cloud fluctuation should be reduced after it is done.

If the above method still does not solve the issue, try to manually add more poses and delete the poses with severe point cloud fluctuations.


Misunderstandings about Calibration Path

  • The more calibration points, the better

Too many calibration points may introduce abnormal points, leading to an increase in the overall error ratio.

When using the factory compensation parameters to calculate extrinsic parameters, determine the number of points on each layer according to the camera focal length, the size of the calibration board, etc:

  • When the focal length is 300–2000 mm, it is recommended to use a 2*2 configuration, with four calibration points per layer. The number of layers is generally three. Use four layers for high stacks.

  • When the focal length is 2000–3500 mm, it is recommended to use a 3*3 configuration, with nine calibration points per layer. The number of layers is generally three. Use four to five layers for high stacks.

  • The calibration range has to cover the entire working area

When the factory compensation parameters are used, calibration should be carried out in layers around the center of focus and around the focal length of the camera.

When the factory compensation parameters are not used or when it is impossible to calibrate around the camera’s focal length, it is recommended to calibrate in the entire working area.

  • The extrinsic parameters in the calibrated area are accurate, while those in the excluded area are inaccurate

The error point cloud generated after calibration shows the extrinsic parameter error in the calibrated area. However, it does not mean that the extrinsic parameters of the excluded area must be inaccurate. On the contrary, when the factory compensation parameters are used, the extrinsic parameters of the excluded area are also accurate.

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.