A Calibration Method for the End-Effector of a Six-Joint Serial Robot

By optimizing the method of end tool calibration of six-joint tandem robots, using error evaluation equations and partial derivative optimization solutions, the problems of limited calibration accuracy and complex operation in the existing technology are solved, and efficient and accurate tool calibration is achieved.

CN119952731BActive Publication Date: 2025-06-03SHENZHEN HUACHENG IND CONTROL
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510442864.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-10
Publication Date
2025-06-03
Estimated Expiration
2045-04-10

AI Technical Summary

Technical Problem

The existing robot end tool calibration methods have problems such as limited accuracy, complex operation and high cost, especially in a wide range of applications, which are difficult to achieve efficient and accurate calibration.

Method used

A six-joint tandem robot end tool calibration method is proposed. By optimizing the traditional calibration steps, the six-joint tandem robot reference points are used to obtain the end point position pose information, and based on this, the reference point position and tool position offset are calculated, and calibration is realized. This method introduces an error evaluation equation based on the sum of squares of each point length, and solves the partial derivative optimization solution to find the minimum value point of the error, thereby improving the calibration accuracy.

Benefits of technology

The accuracy and reliability of the end tool calibration of six-joint tandem robots is significantly improved, the operation complexity is reduced, and the dependence on high-cost auxiliary devices is reduced, especially when more than 4 sampling points are used, the accuracy improvement is more obvious.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119952731B_ABST
    Figure CN119952731B_ABST
Patent Text Reader

Abstract

The present invention discloses a calibration method for the end tool of a six-joint serial robot, which relates to the technical field of robot control and includes: S1, obtaining the end pose information of the six-joint serial robot by using the reference point of the six-joint serial robot; S2, obtaining the offset between the reference point position and the tool position by using the reference point of the six-joint serial robot based on the end pose information of the six-joint serial robot; S3, obtaining the calibration result of the end tool of the six-joint serial robot according to the reference point position and the tool position offset. The present invention significantly improves the calibration accuracy and the robustness of the calibration result, especially when using more than 4 sampling points, simultaneously reduces the problem of inconsistent tool end points caused by posture deflection, reduces the operation complexity, and reduces the dependence on high-cost auxiliary devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot control, and particularly relates to a method for calibrating the end tool of a six-joint serial robot. Background Art

[0002] In the field of robot automation, the accurate calibration of the end tool is crucial for improving the accuracy and efficiency of robot operations. Traditional calibration methods usually rely on complex equipment and cumbersome operation processes, such as the four-point method and the method using auxiliary devices such as lasers and optical cameras. These methods can obtain higher accuracy in specific situations, but they are costly to use in a wider range of situations. Among them, although the four-point method is simple to operate, its accuracy is limited; while the auxiliary device method has high accuracy, but in practical applications, it has problems such as high cost, complex operation, and low efficiency. Therefore, there is an urgent need for an efficient and accurate calibration method for the end of a six-joint robot. Summary of the Invention

[0003] The purpose of the present invention is to propose a method for calibrating the end tool of a six-joint serial robot, which improves the calibration accuracy and reduces the operation complexity by optimizing the traditional calibration steps.

[0004] To achieve the above purpose, the present invention provides a method for calibrating the end tool of a six-joint serial robot, including the following steps:

[0005] S1. Obtain the end pose information of the six-joint serial robot by using the reference point of the six-joint serial robot;

[0006] S2. Obtain the offset between the reference point position and the tool position by using the end pose information of the six-joint serial robot and the reference point of the six-joint serial robot;

[0007] S3. Obtain the calibration result of the end tool of the six-joint serial robot according to the reference point position and the tool position offset.

[0008] Optionally, obtaining the end pose information of the six-joint serial robot by using the reference point of the six-joint serial robot includes:

[0009] S1-1. Set the reference point of the six-joint serial robot;

[0010] S1-2. Move the tool point of the six-joint serial robot according to the reference point of the six-joint serial robot to obtain the position information and pose information of the end point of the six-joint serial robot;

[0011] S1-3. Obtain the position information and pose information of several end points of the six-joint serial robot as the end pose information of the six-joint serial robot;

[0012] Among them, the reference point of the six-joint serial robot is the fixed sharp point of the six-joint serial robot auxiliary device in the working space, the tool point of the six-joint serial robot is the fixed sharp point of the non-real-time variable detachable device fixed on the end flange of the six-joint serial robot, and the end point of the six-joint serial robot is the center point of the end flange of the six-joint serial robot.

[0013] Optionally, obtaining the offset between the reference point position and the tool position by using the reference point of the six-joint serial robot based on the end pose information of the six-joint serial robot includes:

[0014] S2-1. Obtain the recording point of the end pose information according to the end pose information of the six-joint serial robot;

[0015] S2-2. Obtain the recording point threshold corresponding to the end pose information according to the recording point of the end pose information;

[0016] S2-3. Determine whether the recording point of the end pose information is equal to the recording point threshold of the end pose information. If so, obtain the tool position offset to be solved of the six-joint serial robot and execute S2-4; otherwise, return to S1-3;

[0017] S2-4. Obtain the offset between the reference point position and the tool position based on the end pose information of the six-joint serial robot, the reference point of the six-joint serial robot, and the tool position offset to be solved of the six-joint serial robot;

[0018] Among them, the recording point threshold is 6.

[0019] Optionally, obtaining the offset between the reference point position and the tool position based on the end pose information of the six-joint serial robot, the reference point of the six-joint serial robot, and the tool position offset to be solved of the six-joint serial robot includes:

[0020] S2-4-1. Obtain the tool pose corresponding to the end pose information by using the end pose information of the six-joint serial robot;

[0021] S2-4-2. Obtain the first tool pose, the second tool pose, the third tool pose, the fourth tool pose, the fifth tool pose, and the sixth tool pose as the continuous tool poses of the end point according to the tool pose corresponding to the end pose information;

[0022] S2-4-3. Obtain the target end point according to the first tool pose, the second tool pose, the third tool pose, and the fourth tool pose;

[0023] S2-4-4. Determine whether the fifth tool posture, the sixth tool posture, and the tool posture corresponding to the target end point are all the same. If so, execute S2-4-5; otherwise, return to S1-3.

[0024] S2-4-5. Determine whether the tool point corresponding to the fifth tool posture is the same as the reference point of the six-axis serial robot. If so, return to S1-3; otherwise, execute S2-4-6.

[0025] S2-4-6. Determine whether the tool point corresponding to the sixth tool posture is the same as the reference point of the six-axis serial robot. If so, return to S1-3; otherwise, obtain the reference point position deviation by using the reference point of the six-axis serial robot and the offset of the tool position to be solved of the six-axis serial robot based on the end position and orientation information of the six-axis serial robot, and execute S2-4-7.

[0026] S2-4-7. Construct an error evaluation equation according to the reference point position deviation.

[0027] S2-4-8. Obtain the reference point position and the tool position offset according to the error evaluation equation.

[0028] Among them, the first tool posture is the tool posture corresponding to the first end position and orientation information selected when moving the tool point of the six-axis serial robot to the reference point of the six-axis serial robot; the second tool posture is the tool posture corresponding to the second end position and orientation information selected when moving the tool point of the six-axis serial robot to the reference point of the six-axis serial robot based on the first tool posture; the third tool posture is the tool posture corresponding to the third end position and orientation information selected when moving the tool point of the six-axis serial robot to the reference point of the six-axis serial robot based on the second tool posture; the fourth tool posture is the tool posture corresponding to the fourth end position and orientation information selected when moving the tool point of the six-axis serial robot to the reference point of the six-axis serial robot based on the third tool posture; the fifth tool posture is the tool posture corresponding to the fifth end position and orientation information selected when moving the tool point of the six-axis serial robot to the reference point of the six-axis serial robot based on the fourth tool posture; the sixth tool posture is the tool posture corresponding to the sixth end position and orientation information selected when moving the tool point of the six-axis serial robot to the reference point of the six-axis serial robot based on the fifth tool posture.

[0029] Optionally, obtaining the target end point according to the first tool posture, the second tool posture, the third tool posture, and the fourth tool posture includes:

[0030] S2-4-3-1. Determine whether the first tool posture is perpendicular to the working surface of the six-joint serial robot. If so, obtain the corresponding end point of the six-joint serial robot according to the first tool posture as the target end point; otherwise, execute S2-4-3-2;

[0031] S2-4-3-2. Determine whether the second tool posture is perpendicular to the working surface of the six-joint serial robot. If so, obtain the corresponding end point of the six-joint serial robot according to the second tool posture as the target end point; otherwise, execute S2-4-3-3;

[0032] S2-4-3-3. Determine whether the third tool posture is perpendicular to the working surface of the six-joint serial robot. If so, obtain the corresponding end point of the six-joint serial robot according to the third tool posture as the target end point; otherwise, execute S2-4-3-4;

[0033] S2-4-3-4. Determine whether the fourth tool posture is perpendicular to the working surface of the six-joint serial robot. If so, obtain the corresponding end point of the six-joint serial robot according to the fourth tool posture as the target end point; otherwise, return to S1-3.

[0034] Optionally, the calculation formula for the reference point position deviation is as follows:

[0035]

[0036] where E i is the error vector between the observed position of the tool point and the reference point position, P 0i is the observed position of the tool point, P 0 is the reference point position, P i is the recorded position of the end point, R i is the recorded posture of the end point, T is the tool position offset.

[0037] Optionally, the calculation formula for the error evaluation equation is as follows:

[0038]

[0039] where Err is the sum of the squares of the error vector modulus lengths, E i is the error vector between the observed position of the tool point and the reference point position and is the reference point position deviation, P i is the recorded position of the end point,R i For the posture of the recorded end point, T For the tool position offset, and it is the position transformation in the tool transformation, P 0 For the reference point position.

[0040] Optionally, obtaining the reference point position and the tool position offset according to the error evaluation equation includes:

[0041] Performing partial derivative calculation according to the error evaluation equation to obtain an initial equation set;

[0042] Rearranging according to the initial equation set to obtain a target equation set;

[0043] Solving according to the target equation set to obtain the reference point position and the tool position offset;

[0044] Wherein, the initial equation set is:

[0045]

[0046]

[0047] The target equation set is:

[0048] ;

[0049] Wherein, Err Is the sum of the squares of the error vector norms, T Is the tool position offset, and it is the position transformation in the tool transformation, R i For the posture of the recorded end point, P i For the position of the recorded end point, P 0 For the reference point position.

[0050] Optionally, obtaining the calibration result of the end tool of the six-joint serial robot according to the reference point position and the tool position offset includes:

[0051] S3-1. Obtaining the point-taking posture according to the reference point position and the tool position offset;

[0052] S3-2. Setting the observation error value;

[0053] S3-3. Based on the number of the point-taking postures, using the observation error value to attach points to the reference point position to obtain target points corresponding to the reference point position;

[0054] S3-4. Use the target point corresponding to the reference point position and the point-taking posture to perform reverse calculation to obtain the target sampling point;

[0055] S3-5. Obtain the offset between the calculated reference point position and the calculated tool position according to the target sampling point;

[0056] S3-6. Obtain the calibration result of the end tool of the six-joint serial robot according to the reference point position, the tool position offset, the calculated reference point position and the calculated tool position offset;

[0057] Wherein, the number of points of the point-taking posture is greater than or equal to 4, and the observation error value is 0.4-1 mm.

[0058] Optionally, obtaining the calibration result of the end tool of the six-joint serial robot according to the reference point position, the tool position offset, the calculated reference point position and the calculated tool position offset includes:

[0059] S3-6-1. Obtain the vector modulus between the reference point position and the calculated reference point position according to the reference point position and the calculated reference point position as the reference point position vector modulus;

[0060] S3-6-2. Obtain the corresponding reference point position vector modulus threshold according to the reference point position vector modulus;

[0061] S3-6-3. Judge whether the reference point position vector modulus is consistent with the reference point position vector modulus threshold. If so, execute S3-6-4; otherwise, return to S1;

[0062] S3-6-4. Obtain the vector modulus between the tool position offset and the calculated tool position offset according to the tool position offset and the calculated tool position offset as the tool position offset vector modulus;

[0063] S3-6-5. Obtain the corresponding tool position offset vector modulus threshold according to the tool position offset vector modulus;

[0064] S3-6-6. Judge whether the tool position offset vector modulus is consistent with the tool position offset vector modulus threshold. If so, obtain the tool transformation according to the reference point position and the tool position offset as the calibration result of the end tool of the six-joint serial robot; otherwise, return to S1.

[0065] Compared with the closest prior art, the beneficial effects of the present invention are:

[0066] The present invention introduces an error evaluation equation based on the sum of the squares of the lengths of each point, and by optimizing and solving the partial derivatives, the minimum point of the error is found, thereby optimizing the accuracy of tool calibration; the present invention improves the accuracy and reliability of tool calibration for a six-joint serial robot by combining position and pose information; through actual data verification, the present invention has a significant improvement in calibration accuracy compared with traditional methods, especially when using more than 4 sampling points, the accuracy improvement is more obvious. This improvement not only improves the accuracy of tool calibration, but also maintains the simplicity of operation without the need for additional equipment investment, and has wide practical value. A method for calibrating the end tool of a six-joint serial robot according to the present invention significantly improves the calibration accuracy and the robustness of the calibration result, especially when using more than 4 sampling points, while reducing the problem of inconsistent end points of the tool caused by pose deflection, reducing the operation complexity, and reducing the dependence on high-cost auxiliary devices. BRIEF DESCRIPTION OF THE DRAWINGS

[0067] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for the description of the specific embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0068] Figure 1 It is a flowchart of a method for calibrating the end tool of a six-joint serial robot according to an embodiment of the present invention;

[0069] Figure 2 It is a schematic diagram of the tool offset and reference point deviation of the traditional four points proposed in an embodiment of the present invention;

[0070] Figure 3 It is a schematic diagram of the tool offset and reference point deviation of the traditional multi-points proposed in an embodiment of the present invention;

[0071] Figure 4 It is a schematic diagram of the tool offset and reference point deviation of the optimized four points proposed in an embodiment of the present invention;

[0072] Figure 5 It is a schematic diagram of the tool offset and reference point deviation of the optimized multi-points proposed in an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0073] To make the objectives, technical solutions and advantages of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the specific embodiments of the present invention and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the scope of protection of the present invention.

[0074] The terms used in the embodiments of the present invention are only for explaining the specific embodiments of the present invention, rather than aiming to limit the present invention.

[0075] Embodiment 1: As Figure 1 shown, the embodiment of the present invention provides a calibration method for the end tool of a six-joint serial robot, including the following steps:

[0076] S1. Obtain the end pose information of the six-joint serial robot by using the reference point of the six-joint serial robot;

[0077] S2. Obtain the offset between the reference point position and the tool position by using the reference point of the six-joint serial robot based on the end pose information of the six-joint serial robot;

[0078] S3. Obtain the calibration result of the end tool of the six-joint serial robot according to the offset between the reference point position and the tool position.

[0079] S1 specifically includes:

[0080] S1-1. Set the reference point of the six-joint serial robot;

[0081] S1-2. Move the tool point of the six-joint serial robot according to the reference point of the six-joint serial robot to obtain the position information and pose information of the end point of the six-joint serial robot;

[0082] S1-3. Obtain the position information and pose information of several end points of the six-joint serial robot as the end pose information of the six-joint serial robot;

[0083] Among them, the reference point of the six-joint serial robot is the fixed sharp point of the auxiliary device of the six-joint serial robot in the working space, the tool point of the six-joint serial robot is the fixed sharp point of the detachable device fixed on the end flange of the six-joint serial robot that cannot be changed in real time, and the end point of the six-joint serial robot is the center point of the end flange of the six-joint serial robot.

[0084] S2 specifically includes:

[0085] S2-1. Obtain the recording point of the end pose information according to the end pose information of the six-joint serial robot;

[0086] S2-2. Obtain the recording point threshold corresponding to the end-point pose information according to the recording point of the end-point pose information;

[0087] S2-3. Determine whether the recording point of the end-point pose information is equal to the recording point threshold of the end-point pose information. If so, obtain the tool position offset to be solved for the six-joint serial robot and execute S2-4. Otherwise, return to S1-3;

[0088] S2-4. Obtain the reference point position and the tool position offset based on the end-point pose information of the six-joint serial robot, the reference point of the six-joint serial robot, and the tool position offset to be solved for the six-joint serial robot;

[0089] Among them, the recording point threshold is 6.

[0090] S2-4 specifically includes:

[0091] S2-4-1. Obtain the tool pose corresponding to the end-point pose information by using the end-point pose information of the six-joint serial robot;

[0092] S2-4-2. Obtain the first tool pose, the second tool pose, the third tool pose, the fourth tool pose, the fifth tool pose, and the sixth tool pose according to the tool pose corresponding to the end-point pose information as the continuous tool poses of the end point;

[0093] S2-4-3. Obtain the target end point according to the first tool pose, the second tool pose, the third tool pose, and the fourth tool pose;

[0094] S2-4-4. Determine whether the fifth tool pose, the sixth tool pose, and the tool pose corresponding to the target end point are all the same. If so, execute S2-4-5. Otherwise, return to S1-3;

[0095] S2-4-5. Determine whether the tool point corresponding to the fifth tool pose is the same as the reference point of the six-joint serial robot. If so, return to S1-3. Otherwise, execute S2-4-6;

[0096] S2-4-6. Determine whether the tool point corresponding to the sixth tool pose is the same as the reference point of the six-joint serial robot. If so, return to S1-3. Otherwise, obtain the reference point position deviation based on the end-point pose information of the six-joint serial robot by using the reference point of the six-joint serial robot and the tool position offset to be solved for the six-joint serial robot, and execute S2-4-7;

[0097] S2-4-7. Construct an error evaluation equation according to the reference point position deviation;

[0098] S2-4-8. Obtain the offset between the reference point position and the tool position according to the error evaluation equation;

[0099] Wherein, the first tool posture is the tool posture corresponding to the first end - point pose information selected when moving the tool point of the six - joint serial robot to the reference point of the six - joint serial robot; the second tool posture is the tool posture corresponding to the second end - point pose information selected when moving the tool point of the six - joint serial robot to the reference point of the six - joint serial robot based on the first tool posture; the third tool posture is the tool posture corresponding to the third end - point pose information selected when moving the tool point of the six - joint serial robot to the reference point of the six - joint serial robot based on the second tool posture; the fourth tool posture is the tool posture corresponding to the fourth end - point pose information selected when moving the tool point of the six - joint serial robot to the reference point of the six - joint serial robot based on the third tool posture; the fifth tool posture is the tool posture corresponding to the fifth end - point pose information selected when moving the tool point of the six - joint serial robot to the reference point of the six - joint serial robot based on the fourth tool posture; the sixth tool posture is the tool posture corresponding to the sixth end - point pose information selected when moving the tool point of the six - joint serial robot to the reference point of the six - joint serial robot based on the fifth tool posture.

[0100] S2-4-3 specifically includes:

[0101] S2-4-3-1. Judge whether the first tool posture is perpendicular to the working surface of the six - joint serial robot. If so, obtain the corresponding end - point of the six - joint serial robot according to the first tool posture as the target end - point; otherwise, execute S2-4-3-2;

[0102] S2-4-3-2. Judge whether the second tool posture is perpendicular to the working surface of the six - joint serial robot. If so, obtain the corresponding end - point of the six - joint serial robot according to the second tool posture as the target end - point; otherwise, execute S2-4-3-3;

[0103] S2-4-3-3. Judge whether the third tool posture is perpendicular to the working surface of the six - joint serial robot. If so, obtain the corresponding end - point of the six - joint serial robot according to the third tool posture as the target end - point; otherwise, execute S2-4-3-4;

[0104] S2-4-3-4. Judge whether the fourth tool posture is perpendicular to the working surface of the six - joint serial robot. If so, obtain the corresponding end - point of the six - joint serial robot according to the fourth tool posture as the target end - point; otherwise, return to S1-3.

[0105] Further, the calculation formula for the deviation of the reference point position is as follows:

[0106]

[0107] wherein, E i is the error vector between the observed position of the tool point and the reference point position, P 0i is the observed position of the tool point, P 0 is the reference point position, P i is the position of the recorded end point, R i is the posture of the recorded end point, T is the tool position offset.

[0108] Further, the calculation formula for the error evaluation equation is as follows:

[0109]

[0110] wherein, Err is the sum of the squares of the error vector norms, E i is the error vector between the observed position of the tool point and the reference point position, and is the deviation of the reference point position, P i is the position of the recorded end point, R i is the posture of the recorded end point, T is the tool position offset, and is the position transformation in the tool transformation, P 0 is the reference point position.

[0111] S2-4-8 specifically includes:

[0112] Performing partial derivative calculation according to the error evaluation equation to obtain an initial equation set;

[0113] Sorting out the initial equation set according to the initial equation set to obtain a target equation set;

[0114] Solving according to the target equation set to obtain the reference point position and the tool position offset;

[0115] wherein, the initial equation set is:

[0116]

[0117]

[0118] The target equation set is as follows:

[0119] ;

[0120] wherein, Err is the sum of the squares of the error vector norms, T is the tool position offset and is the position transformation in the tool transformation, R i is the recorded pose of the end point, P i is the recorded position of the end point, P 0 is the reference point position.

[0121] S3 specifically includes:

[0122] S3-1. Obtain the point-taking pose according to the reference point position and the tool position offset;

[0123] S3-2. Set the observation error value;

[0124] S3-3. Based on the number of the point-taking poses, use the observation error value to obtain the target points corresponding to the reference point position by attaching points to the reference point position;

[0125] S3-4. Use the target points corresponding to the reference point position and the point-taking poses to perform reverse calculation to obtain the target sampling points;

[0126] S3-5. Obtain the calculated reference point position and the calculated tool position offset according to the target sampling points;

[0127] S3-6. Obtain the calibration result of the end tool of the six-joint serial robot according to the reference point position, the tool position offset, the calculated reference point position and the calculated tool position offset;

[0128] wherein, the number of the point-taking poses is greater than or equal to 4, and the observation error value is 0.4 - 1 mm.

[0129] S3-6 specifically includes:

[0130] S3-6-1. Obtain the vector norm between the reference point position and the calculated reference point position as the reference point position vector norm according to the reference point position and the calculated reference point position;

[0131] S3-6-2. Obtain the corresponding reference point position vector norm threshold according to the reference point position vector norm;

[0132] S3-6-3. Judge whether the reference point position vector norm is consistent with the reference point position vector norm threshold. If so, execute S3-6-4; otherwise, return to S1;

[0133] S3-6-4. Obtain the vector norm between the tool position offset and the calculated tool position offset as the tool position offset vector norm based on the tool position offset and the calculated tool position offset;

[0134] S3-6-5. Obtain the corresponding tool position offset vector norm threshold based on the tool position offset vector norm;

[0135] S3-6-6. Determine whether the tool position offset vector norm is consistent with the tool position offset vector norm threshold. If so, obtain the tool transformation based on the reference point position and the tool position offset as the calibration result of the end tool of the six-joint serial robot. Otherwise, return to S1.

[0136] Embodiment 2: In this embodiment, the robot specifically refers to a six-joint serial robot, the end point specifically refers to the center point of the robot end flange, the tool point specifically refers to the fixed sharp point of the detachable device fixed on the robot end flange that cannot be changed in real time, the reference point specifically refers to the fixed sharp point of the auxiliary device in the working space, the tool transformation specifically refers to the pose transformation relationship of the tool point relative to the robot end flange, and the tool calibration specifically refers to a method for measuring the tool transformation.

[0137] The calibration of the robot tool generally has various methods of auxiliary devices. Among them, the most basic and practical method of auxiliary devices (i.e., the basic method) is: (1) Fix a reference point in the robot working space; (2) Control the robot to move the tool point to the reference point and record the end pose; (3) Control the robot to change the tool pose, move the tool point to the reference point, and record the end pose; (4) Repeat step (3) and record at least four end points; (5) If the recorded points are four, calculate the spherical surface by the four-point method without considering errors; (6) If the recorded points exceed four, fit the spherical surface by the least squares method; (7) The position of the center of the sphere in the coordinate system of the recorded points represents the position transformation in the tool transformation; (8) If it is the four-point method, the pose transformation is no longer done; (9) If it is the six-point method, among the previous four points, there must be one point P O , requiring its tool pose to be perpendicular to the working surface, and two additional points are needed, whose poses are the same as P O the pose, the tool point does not move to the reference point, but moves to two points parallel to the X and Y directions in the working plane with the reference point as the reference P X . P Y ; (10) With P O . P X . PY Form a coordinate system, and the pose transformation relationship between the robot end coordinate system of the P O points is used as the pose transformation relationship of the tool; (11) Combine the results obtained in step (10) and step (7) into a complete pose transformation relationship, which becomes the tool transformation output by the six-point method. The optimization of tool calibration described in the present invention only focuses on the optimization of the position transformation part in the traditional method. Since the pose transformation does not require calibration and does not need to be optimized, the optimization only cares about steps (1)-(8) among them.

[0138] In addition to the above methods, there are also methods for tool calibration using auxiliary devices such as lasers and optical cameras. These methods can obtain higher accuracy in specific situations. However, in a more general case, the acquisition and use costs of these auxiliary devices in the working environment are relatively high, and they are not as user-friendly as the basic scheme. Therefore, if the basic scheme can be improved and its accuracy can be enhanced, it will be a better choice. Assume the position transformation in the tool coordinate transformation for the known information, and the tool position offset is T , and the reference point position is P 0 , and the recorded position of the end point is P 1 , P 2 , …, P i , …, P n , and the recorded pose of the end point is R 1 , R 2 , …, R i , …, R n , where n ≥4.

[0139] The traditional end tool calibration method is to directly fit a spherical surface, find the center of the sphere, and then indirectly find the tool. The solution method is as follows:

[0140] Assume the radius is r , and the center of the sphere, that is, the reference point position is P 0 , calculate the sum of the squares of the distances between each point and the center of the sphere and r 2 the sum of the squares of the interpolation as the error estimation value. For the convenience of calculation, add an intermediate variable a .

[0141]

[0142] Using the variable a and the center of the sphereP 0 List the system of equations as position variables:

[0143]

[0144]

[0145] where, P 1 , P 2 ,…, P i ,…, P n are the positions of the end points of the robot, n ≥4, is the error vector between the position of the end point of the robot and the center of the sphere, Err’ is the sum of the squares of the moduli, used to evaluate the deviation of the calculated data. Err When it is the smallest, it must be an extreme point. Therefore, take the partial derivatives of a and P 0 respectively and set them equal to 0 to obtain the system of equations:

[0146]

[0147]

[0148] After sorting, we get:

[0149]

[0150] Solve the system of equations to obtain a , P 0 , and then obtain the radius therefrom, and then obtain T .

[0151] This embodiment proposes a calibration method for the end tool of a six-joint serial robot, which can improve the tool accuracy in the basic method. Among them, all six-point methods and multi-point methods can be described as 4+2 point methods, (multi-2)+2 point methods, and the optimization is only for the 4 and (multi-2) among them. Generally, in order to obtain the center of the sphere by four points, it is generally hoped that these four points are evenly distributed on four points of the spherical surface, that is, each point is separated by 120º. However, in the actual process of point alignment, due to the error of visual observation, the limitation of the robot pose, the requirement of work efficiency, etc., this requirement cannot actually be achieved, so the requirement must be reduced. Generally speaking, as much as possible during the point alignment process, if there are only four points, it is required that the poses between the points are separated by more than 60º, which can be obtained by observing the pose angle deviation between two points. Four points can accurately determine a spherical surface, which is the basic method used in the above basic method. However, in addition to the position information, the six-joint serial robot also has pose information, so the position of the center of the sphere can be further refined. In addition, even if each point is truly distributed on the spherical surface, due to the deflection of the pose, the tool end points of each point are not the same, so this needs to be added to the equation system for calculating the tool and the center of the sphere to be closer to the actual situation.

[0152] According to the homogeneous transformation equation, the P i , R i and the T to be determined can be recorded to calculate the observed position P 0i of the tool point, that is, the position that should coincide with the P 0 point during point alignment, but in fact it does not coincide with the P 0 basically, but it is very close to the P 0 point, and its deviation can be described by a mathematical equation:

[0153]

[0154] where E i is the error vector between the observed position of the tool point and the reference point position, and P i , R i is the reference point position deviation, that is, the pose data corresponding to each collected end point ( T The error vector between the observed position P 0i of the tool point calculated by the coordinate transformation relationship and the reference point position P 0 ;

[0155] According to the sum of the squares of the lengths of each point E i , it can be used as an equation for evaluating errors, that is, the error evaluation equation:

[0156]

[0157] Among them, Err is the sum of the squares of the error vector norm lengths, used to evaluate the deviation of the calculated data. The larger Err is, the greater the deviation and the less reliable it is. The smaller Err is, the more reliable it is. T , P 0 are unknowns. To make Err the smallest, the partial derivatives of this formula can be set to 0 respectively to obtain the extreme point. It can be verified that this extreme point is Err the minimum point. That is, the initial equation set is obtained by performing partial derivative calculations according to the error evaluation equation. Among them, the initial equation set is:

[0158]

[0159]

[0160] After organizing the initial equation set, the target equation set is:

[0161]

[0162] Solving the target equation set, that is, obtaining T , P 0 .

[0163] The verification test plan specifically includes: setting a real reference point and an offset of a real tool position; setting 4+ different point-taking postures according to the basic operation steps of the basic method; setting an error value observed by the naked eye, approximately around 0.4 - 1 mm; adding a random point on a spherical space within the error range to the real reference point according to the number of points corresponding to the 4+ different point-taking postures and recording it; taking the random point corresponding to each point as the starting point and calculating a sampling point in the reverse direction with the 4+ different point-taking postures, denoted as P i ; using two methods, taking the first 4 points in P i , and all points, and calculating the calculated reference point P x and the calculated tool position offset T x; Calculate the vector modulus between the true reference point and the calculated reference point, and the vector modulus between the true tool position offset and the calculated tool position offset. Use these two as the basis for the evaluation method, and then obtain the calibration result of the end tool of the six-joint serial robot.

[0164] Data verification:

[0165] Set the original tool: ;

[0166] Set the original reference point: ;

[0167] Take the poses of 6 points: n =6, and set the random number generation ;

[0168] ;

[0169] Set the visual observation error: ;

[0170] Random error generation method: ;

[0171] Generate the recorded points near the original reference point as: .

[0172] According to the above data verification, through continuous multiple calculations, it is possible to obtain the tool offset and reference point deviation in the case of traditional four points, traditional multiple points, optimized four points, and optimized multiple points as shown in Figures 2 - 5 . It can be seen that the optimized 4 points and optimized multiple points have a greater improvement compared with the traditional method.

[0173] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0174] The present invention is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in one or more flows and / or blocks. Figure 1 in one or more flows and / or blocks Figure 1 or in one or more blocks.

[0175] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the functions specified in one or more flows and / or blocks. Figure 1 in one or more flows and / or blocks Figure 1 or in one or more blocks.

[0176] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more flows and / or blocks. Figure 1 in one or more flows and / or blocks Figure 1 or in one or more blocks.

[0177] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit them. Although the present invention has been described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that: modifications or equivalent substitutions can still be made to the specific embodiments of the present invention, and any modification or equivalent substitution that does not depart from the spirit and scope of the present invention should be covered by the protection scope of the claims of the present invention.

Claims

1. A six-joint serial robot end tool calibration method, characterized in that: The specific steps include: S1, using the reference point of the six-joint serial robot to obtain the end point position information of the six-joint serial robot; S2, based on the end point posture information of the six-joint serial robot, using the reference point of the six-joint serial robot to obtain the reference point position and the tool position offset; S3. Obtain the calibration result of the end tool of the six-joint serial robot according to the reference point position and the tool position offset.

2. The method for calibrating a six-joint serial robot end tool according to claim 1, characterized in that: Using the six-joint serial robot reference point to obtain the end point pose information of the six-joint serial robot includes: S1-1, set the reference point of the six-joint serial robot; S1-2, according to the reference point of the six-joint serial robot, move the tool point of the six-joint serial robot to obtain the position information and posture information of the end point of the six-joint serial robot; S1-3, obtaining position information and posture information of a plurality of end points of the six-joint serial robot as the end point posture information of the six-joint serial robot; Among them, the reference point of the six-joint serial robot is a fixed sharp point of the six-joint serial robot auxiliary device in the workspace, the tool point of the six-joint serial robot is a fixed sharp point of a detachable device fixed on the end flange of the six-joint serial robot and cannot be changed in real time, and the end point of the six-joint serial robot is the center point of the end flange of the six-joint serial robot.

3. The method for calibrating a six-joint serial robot end tool according to claim 2, characterized in that: Based on the end point posture information of the six-joint serial robot, using the reference point of the six-joint serial robot to obtain the reference point position and the tool position offset includes: S2-1, obtaining a recording point of the end point posture information according to the end point posture information of the six-joint serial robot; S2-2, obtaining a recording point threshold of the corresponding end point posture information according to the recording point of the end point posture information; S2-3, judging whether the recording point of the end point posture information is equal to the recording point threshold of the end point posture information, if so, obtaining the tool position offset to be solved of the six-joint serial robot, and executing S2-4, otherwise, returning to S1-3; S2-4, obtaining the reference point position and the tool position offset based on the end point posture information of the six-joint serial robot, the reference point of the six-joint serial robot and the tool position offset to be solved of the six-joint serial robot; Among them, the recording point threshold is 6.

4. The method for calibrating a six-joint serial robot end tool according to claim 3, characterized in that: Acquiring the reference point position and the tool position offset based on the end point posture information of the six-joint serial robot, the reference point of the six-joint serial robot and the tool position offset to be solved of the six-joint serial robot comprises: S2-4-1, using the end point posture information of the six-joint serial robot to obtain the tool posture corresponding to the end point posture information; S2-4-2, acquiring a first tool posture, a second tool posture, a third tool posture, a fourth tool posture, a fifth tool posture, and a sixth tool posture as continuous tool postures of the end point according to the tool posture corresponding to the end point posture information; S2-4-3, acquiring a target end point according to the first tool posture, the second tool posture, the third tool posture and the fourth tool posture; S2-4-4, determining whether the fifth tool posture, the sixth tool posture and the tool posture corresponding to the target end point are all consistent, if so, executing S2-4-5, otherwise, returning to S1-3; S2-4-5, determine whether the tool point corresponding to the fifth tool posture is consistent with the reference point of the six-joint serial robot, if so, return to S1-3, otherwise, execute S2-4-6; S2-4-6, determine whether the tool point corresponding to the sixth tool posture is consistent with the reference point of the six-joint serial robot, if so, return to S1-3, otherwise, based on the end point posture information of the six-joint serial robot, use the six-joint serial robot reference point and the tool position offset to be solved of the six-joint serial robot to obtain the reference point position deviation, and execute S2-4-7; S2-4-7, constructing an error evaluation equation according to the reference point position deviation; S2-4-8, obtaining the offset between the reference point position and the tool position according to the error evaluation equation; Among them, the first tool posture is the tool posture corresponding to the first end point posture information selected when the tool point of the six-joint serial robot is moved to the reference point of the six-joint serial robot, the second tool posture is the tool posture corresponding to the second end point posture information selected when the tool point of the six-joint serial robot is moved to the reference point of the six-joint serial robot based on the first tool posture, the third tool posture is the tool posture corresponding to the third end point posture information selected when the tool point of the six-joint serial robot is moved to the reference point of the six-joint serial robot based on the second tool posture, the fourth tool posture is the tool posture corresponding to the fourth end point posture information selected when the tool point of the six-joint serial robot is moved to the reference point of the six-joint serial robot based on the third tool posture, the fifth tool posture is the tool posture corresponding to the fifth end point posture information selected when the tool point of the six-joint serial robot is moved to the reference point of the six-joint serial robot based on the fourth tool posture, and the sixth tool posture is the tool posture corresponding to the sixth end point posture information selected when the tool point of the six-joint serial robot is moved to the reference point of the six-joint serial robot based on the fifth tool posture.

5. The method for calibrating the end tool of a six-joint serial robot according to claim 4, characterized in that: Acquiring a target end point according to the first tool posture, the second tool posture, the third tool posture, and the fourth tool posture comprises: S2-4-3-1, determine whether the first tool posture is perpendicular to the working surface of the six-joint serial robot, if so, obtain the corresponding six-joint serial robot end point as the target end point according to the first tool posture, otherwise, execute S2-4-3-2; S2-4-3-2, determine whether the second tool posture is perpendicular to the working surface of the six-joint serial robot, if so, obtain the corresponding six-joint serial robot end point according to the second tool posture as the target end point, otherwise, execute S2-4-3-3; S2-4-3-3, determine whether the third tool posture is perpendicular to the working surface of the six-joint serial robot, if so, obtain the corresponding six-joint serial robot end point according to the third tool posture as the target end point, otherwise, execute S2-4-3-4; S2-4-3-4, determine whether the fourth tool posture is perpendicular to the working surface of the six-joint serial robot. If so, obtain the corresponding six-joint serial robot end point as the target end point according to the fourth tool posture. Otherwise, return to S1-3.

6. The method for calibrating an end tool of a six-joint serial robot according to claim 4, characterized in that: The calculation formula of the reference point position deviation is as follows: in, E i is the error vector between the observed position of the tool point and the reference point position, P 0i is the observation position of the tool point, P 0 is the reference point position, P i is the recorded end point position, R i is the recorded posture of the end point, T is the tool position offset.

7. The method for calibrating an end tool of a six-joint serial robot according to claim 6, characterized in that: The calculation formula of the error evaluation equation is as follows: in, Err is the sum of the squares of the error vector modulus, E i is the error vector between the observed position of the tool point and the reference point position, and is the reference point position deviation, P i is the recorded end point position, R i is the recorded posture of the end point, T is the tool position offset, and is the position transformation in the tool transformation, P 0 is the reference point position.

8. The method for calibrating an end tool of a six-joint serial robot according to claim 7, characterized in that: Acquiring the offset between the reference point position and the tool position according to the error evaluation equation includes: Perform partial derivative calculations according to the error evaluation equation to obtain an initial set of equations; Arrange the initial set of equations to obtain a target set of equations; Solving the target equation group to obtain the reference point position and the tool position offset; Wherein, the initial set of equations is: The target equations are: ; in, Err is the sum of the squares of the error vector modulus, T is the tool position offset, and is the position transformation in the tool transformation, R i is the recorded posture of the end point, P i is the position of the recorded end point, P 0 is the reference point position.

9. The method for calibrating an end tool of a six-joint serial robot according to claim 1, characterized in that: Obtaining the calibration result of the end tool of the six-joint serial robot according to the reference point position and the tool position offset includes: S3-1, obtaining a point-taking posture according to the reference point position and the tool position offset; S3-2, set the observation error value; S3-3, based on the number of the point-taking postures, using the observation error value to perform point-attaching on the reference point position to obtain a target point corresponding to the reference point position; S3-4, using the target point corresponding to the reference point position and the point-taking posture to perform reverse calculation to obtain the target sampling point; S3-5, obtaining a calculation reference point position and a calculation tool position offset according to the target sampling point; S3-6, obtaining the calibration result of the end tool of the six-joint serial robot according to the reference point position, the tool position offset, the calculated reference point position and the calculated tool position offset; Among them, the number of points of the point-taking posture is greater than or equal to 4, and the observation error value is 0.4-1mm.

10. The method for calibrating an end tool of a six-joint serial robot according to claim 9, characterized in that: Acquiring the calibration result of the end tool of the six-joint serial robot according to the reference point position, the tool position offset, the calculated reference point position and the calculated tool position offset comprises: S3-6-1. According to the reference point position and the calculated reference point position, obtain the vector modulus between the reference point position and the calculated reference point position as the reference point position vector modulus; S3-6-2. Obtain a corresponding reference point position vector modulus threshold value according to the reference point position vector modulus; S3-6-3, determine whether the reference point position vector modulus is consistent with the reference point position vector modulus threshold, if so, execute S3-6-4, otherwise, return to S1; S3-6-4, according to the tool position offset and the calculated tool position offset, obtaining a vector modulus between the tool position offset and the calculated tool position offset as a tool position offset vector modulus; S3-6-5. Obtain a corresponding tool position offset vector modulus threshold value according to the tool position offset vector modulus; S3-6-6. Determine whether the tool position offset vector modulus is consistent with the tool position offset vector modulus threshold. If so, obtain the tool transformation according to the reference point position and the tool position offset as the calibration result of the end tool of the six-joint serial robot. Otherwise, return to S1.

Citation Information

Patent Citations

  • Industrial robot TCP (Tool Central Point) calibration method based on uniform attitude distribution

    CN109465826A

  • Method and system for cutting acetabular cup based on mechanical arm

    CN112790867A