A Method for Identifying Robot Kinematic Parameter Errors Based on Accuracy Allocation of Industrial Robot End-Finger Pose Calibration

By combining the improved sparrow search algorithm with the Gauss-Newton method, the problem of unreasonable accuracy allocation in the end-effector pose calibration of industrial robots was solved, achieving efficient and accurate pose error identification and significantly improving the pose accuracy of the robot end-effector.

CN117047772BActive Publication Date: 2025-10-31KUNMING UNIV OF SCI & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311141408.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-06
Publication Date
2025-10-31
Estimated Expiration
2043-09-06

AI Technical Summary

Technical Problem

Existing technologies for end-effector pose calibration of industrial robots struggle to allocate the precision of position and posture reasonably, resulting in inaccurate identification results, wasting significant manpower and resources, and being greatly affected by the accuracy of measuring equipment.

Method used

An improved sparrow search algorithm combined with the Gauss-Newton method is adopted. By determining the weight range of pose calibration accuracy, optimizing the algorithm's fitness function, and integrating the Gauss-Newton method to identify robot kinematic parameter errors, a balance of pose errors is achieved.

Benefits of technology

It significantly improves robot pose accuracy, saves time and costs, and the weighting of pose calibration accuracy is more reasonable. It can adjust the pose weighting according to actual needs, thus improving the accuracy of robot end-effector pose.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117047772B_ABST
    Figure CN117047772B_ABST
Patent Text Reader

Abstract

This invention discloses a method for identifying robot kinematic parameter errors based on the accuracy allocation of end-effector pose calibration. The method includes: acquiring the joint angles of n robot positioning points and their corresponding end-effector measurement poses; determining the weight range of the accuracy allocation for the robot end-effector pose calibration; initializing relevant parameters to obtain an initial weight of pose calibration accuracy; determining the fitness function of the optimization algorithm; fusing the pose calibration accuracy weight with the Gauss-Newton method to identify robot kinematic parameter errors; updating the fitness function value and the pose calibration accuracy weight until a termination condition is met to obtain the robot kinematic parameter errors. This invention can determine the pose calibration accuracy allocation weight without multiple measurements of the robot end-effector pose, significantly saving time and costs; compared with traditional pose calibration methods, it can significantly improve the robot's pose accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for identifying robot kinematic parameter errors based on the accuracy allocation of end-effector pose calibration, belonging to the field of industrial robot calibration technology. Background Technology

[0002] With the advancement of technology, industrial robots are being used more and more widely in high-precision fields such as assisted medical care, aerospace, and precision assembly. Simply requiring robots to have high positional accuracy is no longer sufficient; they must also have high attitude accuracy.

[0003] To achieve high pose (position and orientation) accuracy for robots, we need to simultaneously identify position and orientation parameters. However, since the dimensions of robot end-effector position (mm) and orientation (°) are different and not comparable, direct parameter identification will lead to inaccurate results or even divergence. Therefore, it is necessary to allocate calibration accuracy for position and orientation, but how to allocate it reasonably is a problem. For example, the literature "Ding Xueliang. Staubli Industrial Robot Calibration Algorithm and Experimental Research [D]; Zhejiang Sci-Tech University, 2014" requires multiple acquisitions of robot end-effector pose data and calculation of the standard deviation of each element, which consumes a lot of manpower and effort, and the final result will be affected by the accuracy of the measuring equipment and other uncertainties. Summary of the Invention

[0004] This invention provides a method for identifying robot kinematic parameter errors based on the accuracy allocation of end-effector pose calibration. This method integrates an improved sparrow search algorithm and the Gauss-Newton method, and is unaffected by pose measurement accuracy and other factors, effectively solving the pose error balance problem.

[0005] The technical solution of this invention is:

[0006] According to one aspect of the present invention, a method for identifying robot kinematic parameter errors based on the accuracy allocation of the end-effector pose calibration of an industrial robot is provided, comprising:

[0007] Step 1: Obtain the joint angles of n robot positioning points and the corresponding robot end effector pose;

[0008] Step 2: Determine the weighting range of the robot end effector's pose calibration accuracy allocation;

[0009] Step 3: Initialize relevant parameters and obtain the initial pose calibration accuracy weight;

[0010] Step 4: Determine the fitness function of the optimization algorithm, and integrate the pose calibration accuracy with the Gauss-Newton method to identify the robot's kinematic parameter errors;

[0011] Step 5: Update the fitness function value and pose calibration accuracy weight until the termination condition is met, and obtain the robot kinematic parameter error.

[0012] Step 1 includes:

[0013] Step 1.1: Directly export the robot joint angle data of n positioning points from the robot controller;

[0014] Step 1.2: At the i-th positioning point, measure the three position data of the robot end effector, and convert the three position data of the robot end effector collected at the n positioning points into the robot end effector measurement pose respectively; where i = 1, 2, ..., n.

[0015] Step 1.2 specifically includes:

[0016] Let's take the first positioning point as an example:

[0017] Establish a coordinate system using three position data points from the robot's end effector:

[0018]

[0019] By placing the origin of the robot's end effector coordinate system at point a1, one of the three measurement points at the robot's end effector, the end effector pose matrix T1 at the first positioning point is obtained. R The origin of the coordinate system for the subsequent n-1 positioning points is the same as the origin corresponding to the first positioning point;

[0020]

[0021] The end-point measurement pose matrix T1 of the first positioning point. R Convert the XYZ angles to Euler angles to obtain the robot end effector pose A1 corresponding to the first localization point:

[0022] A1 = [x 1,1 y 1,1 , z 1,1 [Rx1, Ry1, Rz1];

[0023] Where norm represents modulus; ox, oy, and oz represent the basis vectors of the established robot end-effector coordinate system along the x-axis, y-axis, and z-axis, respectively; a1(x 1,1 y 1,1 z 1,1 b1(x) 1,2 y 1,2 z 1,2 c1(x) 1,3 y 1,3 z 1,3) represents the three position data of the robot's end effector measured at the first positioning point; a1 T Rx1, Ry1, and Rz1 represent the transpose of the position a1 of the first positioning point; Rx1, Ry1, and Rz1 represent the end-effector measurement posture of the robot's first positioning point.

[0024] Step 2 specifically involves: setting the position calibration accuracy weight range to [0, 1], and setting the attitude calibration accuracy weight range to [0, ω]. max ]; where ω max This represents the maximum value of the attitude weight in the end-effector's position calibration accuracy allocation.

[0025] The maximum value of the attitude weight allocated to the end-effector pose calibration accuracy is expressed as: ω max =1 / λ 2 ;in, N = 6n, where n represents the total number of location points collected, M is the number of parameters to be identified, and ω r With ω′ r ω and ω′ represent the r-th elements in ω and ω′ respectively, where ω is the proportion of measurement pose calibration accuracy calculated from the residuals, and ω′ is the reduced proportion of end-effector measurement pose calibration accuracy calculated from the residuals.

[0026] Step 3 includes:

[0027] Step 3.1: Set the upper and lower boundaries of the search:

[0028] Based on the weighting range of the robot end-effector pose calibration accuracy allocation, the upper and lower search boundaries are set as follows:

[0029] Lower bound: lb = repmat([0, 0, 0, 0, 0, 0], 1, n);

[0030] Upper boundary: ub = repmat([1, 1, 1, ω) max ω max ω max ],1,n);

[0031] Where repmat(B, 1, n) means copying array B n times in the 1-dimensional direction, where n represents the total number of positioning points collected; array B represents the upper / lower boundary of the pose weight range for the robot end-effector measurement pose calibration accuracy allocation, where the first three elements represent the position calibration accuracy weight and the last three elements represent the attitude calibration accuracy weight.

[0032] Step 3.2: Initialize the relevant parameters of the improved sparrow search algorithm; among which, the relevant parameters include population size, the proportion of finders in the sparrow population, the proportion of watchers; safety threshold; and maximum number of iterations;

[0033] Step 3.3: Based on the upper and lower boundaries of the search, obtain the initial pose calibration accuracy weight.

[0034] Step 3.3 specifically involves: setting ω k,d Randomly generate values ​​within the range [lb, ub] to obtain the kth sparrow X. k [ω] k,1 ω k,2 ,…,ω k,d ,…,ω k,D This is used as the initial proportion of pose calibration accuracy; where ω k,d Let represent the value of the k-th sparrow in dimension d, where D = 6n, and n represents the total number of collected location points.

[0035] Step 4 includes:

[0036] Step 4.1: Set the fitness function F as follows:

[0037]

[0038] Among them, (x i,1 y i,1 z i,1 Rx i Ry i Rz i Let (x′) be the end-effector pose of the robot at the i-th localization point. i,1 y′ i,1 , z′ i,1 , Rx′ i ,Ry′ i , Rz′ i ) represents the theoretical end-effector pose of the robot at the i-th localization point, calculated by forward kinematics after kinematic parameter identification; n represents the total number of localization points collected; δ is the balance factor.

[0039] Step 4.2: Convert the pose calibration accuracy weight into a weight matrix, taking the k-th sparrow as an example:

[0040]

[0041] Among them, W k ω represents the weight matrix transformed by the k-th sparrow; k,6i-5 ~ω k,6i This represents the proportion of the 6 elements in the i-th location corresponding to the k-th sparrow; i = 1, 2, ..., n;

[0042] Step 4.3: In the Gaussian-Newton method, the weight matrices are fused together, and the robot's kinematic parameters are identified through the following iterative formula:

[0043] ΔX k =(J kT ·W k ·J k ) -1 ·J k T ·W k ·e k ;

[0044] Where, ΔX k J represents the error in the robot's kinematic parameters corresponding to the k-th sparrow; k Let e ​​be the extended Jacobian matrix corresponding to the kth sparrow; k This represents the pose error of the robot tool coordinate system corresponding to the k-th sparrow in the measurement coordinate system.

[0045] According to another aspect of the present invention, a robot kinematic parameter error identification system based on the accuracy allocation of the end-effector pose calibration of an industrial robot is provided, comprising:

[0046] The acquisition module is used to acquire the joint angles of n positioning points of the robot and the corresponding robot end-effector pose.

[0047] The first determining module is used to determine the weight range of the robot end-effector measurement pose calibration accuracy allocation;

[0048] The initialization module is used to initialize relevant parameters and obtain the initial pose calibration accuracy weight.

[0049] The second determination module is used to determine the fitness function of the optimization algorithm and integrate the pose calibration accuracy ratio with the Gauss-Newton method to identify the robot's kinematic parameter errors.

[0050] The module is used to update the fitness function value and the proportion of pose calibration accuracy until the termination condition is met, thereby obtaining the robot's kinematic parameter error.

[0051] The beneficial effects of this invention are:

[0052] 1. This invention can determine the proportion of pose calibration accuracy without repeatedly measuring the robot's end-effector pose, greatly saving time and costs.

[0053] 2. The pose calibration accuracy obtained by the present invention has a more reasonable weight distribution, and the weight of the pose can be increased or decreased according to actual application needs.

[0054] 3. Compared with traditional pose calibration methods, the present invention can significantly improve the pose accuracy of robots. Attached Figure Description

[0055] Figure 1 This is a flowchart of the invention;

[0056] Figure 2It is a graph showing the absolute position error of the end before and after calibration;

[0057] Figure 3 It is a graph showing the absolute direction error curves at the end before and after calibration. Detailed Implementation

[0058] The invention will be further described below with reference to the accompanying drawings and embodiments, but the scope of the invention is not limited to the description.

[0059] Example 1: As Figure 1-3 As shown, according to one aspect of the present invention, a method for identifying robot kinematic parameter errors based on the accuracy allocation of the end-effector pose calibration of an industrial robot is provided, comprising:

[0060] Step 1: Obtain the joint angles of n robot positioning points and the corresponding robot end effector pose;

[0061] Step 2: Determine the weighting range of the robot end effector's pose calibration accuracy allocation;

[0062] Step 3: Initialize relevant parameters and obtain the initial pose calibration accuracy weight.

[0063] Step 4: Determine the fitness function of the optimization algorithm, and integrate the pose calibration accuracy with the Gauss-Newton method to identify the robot's kinematic parameter errors;

[0064] Step 5: Update the fitness function value in Step 4 and update the pose calibration accuracy weight until the termination condition is met. At this point, the final robot kinematic parameter error can be obtained.

[0065] Further, step 1 includes:

[0066] Step 1.1: Directly export the robot joint angle data of n positioning points from the robot controller;

[0067] Step 1.2: At the i-th (i = 1, 2, ..., n) positioning point, measure three position data of the robot's end effector. (Note that three target balls are mounted on the robot's end effector via target mounts, and the position data of the three target balls at the positioning point are collected by a laser tracker as the three position data of the robot's end effector. Then, the position a can be measured at the i-th positioning point.) i (x i,1 y i,1 z i,1 b i (x i,2 y i,2 z i,2 ), c i (x i,3 y i,3 z i,3(A total of three position data points) The three position data points of the robot end effector collected at n positioning points are converted into the robot end effector's measured pose using the following formula:

[0068] For each positioning point, the robot end effector pose at that point is obtained using the following steps, taking the first positioning point as an example:

[0069] Establish a coordinate system using three position data points from the robot's end effector:

[0070]

[0071] Where norm represents modulus; ox, oy, and oz represent the basis vectors of the established robot end-effector coordinate system along the x-axis, y-axis, and z-axis, respectively; a1(x 1,1 y 1,1 z 1,1 b1(x) 1,2 y 1,2 z 1,2 c1(x) 1,3 y 1,3 z 1,3 ) represents the three position data of the robot's end effector measured at the first positioning point, i.e., a1(x 1,1 y 1,1 z 1,1 b1(x) represents the x, y, and z axis data of the first position of the robot's end effector measured at the first positioning point. 1,2 y 1,2 z 1,2 c1(x) represents the x, y, and z axis data of the second position of the robot's end effector measured from the first positioning point. 1,3 y 1,3 z 1,3 () represents the x-axis, y-axis, and z-axis data of the third position of the robot's end effector measured from the first positioning point;

[0072] At this point, the origin of the robot's end effector coordinate system is placed at point a1, one of the three measurement points at the robot's end effector, to obtain the robot's end effector pose matrix T1 at the first positioning point. R :

[0073]

[0074] Among them, a1 T This represents the transpose of position a1 of the first positioning point;

[0075] It should be noted that the origin of the coordinate system for the subsequent n-1 positioning points must be consistent with the origin corresponding to the first positioning point, that is, they should all be placed on a. iSimilarly, the origin of all positioning points can also be chosen as b. i dot or c i point.

[0076] The end-point measurement pose matrix T1 of the first positioning point. R Convert the XYZ angles to Euler angles to obtain the robot end effector pose A1 corresponding to the first localization point:

[0077] A1 = [x 1,1 y 1,1 , z 1,1 [Rx1, Ry1, Rz1];

[0078] In the formula, Rx1, Ry1, and Rz1 represent the end-effector measurement posture of the robot's first positioning point, and respectively represent the rotation angles around the X-axis (Rx1), the Y-axis (Ry1), and the Z-axis (Rz1).

[0079] The three position data of n positioning points are converted into the robot end-effector pose measurement using the above example.

[0080] Further, step 2 includes:

[0081] Step 2.1: Obtain the residual of each end-effector pose element of the robot:

[0082] First, the errors in the robot's kinematic parameters are identified using the ordinary least squares method, as shown in the following formula:

[0083] ΔX=(J T J) -1 ·J T ·e;

[0084] Where ΔX represents the robot's kinematic parameter error; J is the extended Jacobian matrix; and e represents the robot's end-effector pose error.

[0085] After the ordinary least squares method converges, the robot's kinematic parameter errors are compensated for and incorporated into the robot's kinematics. The theoretical pose of the robot's end effector is then calculated using forward kinematics. It's important to note that the units for the three pose elements should be radians. The residual ε for each end effector pose element is calculated using the following formula:

[0086]

[0087] in This represents the end-effector pose measured at the i-th localization point of the robot. This represents the theoretical end-effector pose of the robot at the i-th localization point, calculated using forward kinematics.

[0088] Step 2.2: Determine the weighting range of the robot end effector's pose calibration accuracy allocation:

[0089] The square of the inverted value of each element in the residual ε of the end pose element yields ω, where ω represents the proportion of the measurement pose calibration accuracy calculated from the residual. Since the attitude residual is much smaller than the position residual in ε, the proportion of position calibration accuracy in ω is much smaller than the proportion of attitude calibration accuracy. Therefore, all elements in ω are uniformly reduced by a factor of R, ensuring that the vast majority of position calibration accuracy proportions in ω are within the range [0,1]. That is, for n positioning points, the value of R only needs to satisfy the condition that more than half of the position calibration proportions in ω are within the range [0,1].

[0090] For example, taking a single location point as an example, let ω = [2.1, 9.8, 17.5, 586.7, 349.5, 695.2]. T To ensure the position calibration accuracy is within the range of [0,1], R can be 20, and ω becomes ω′=[0.105 0.49 0.8629.335 17.475 34.76]. T ω′ represents the reduced proportion of end-point measurement pose calibration accuracy calculated from the residual.

[0091] Since the robot kinematic parameter errors identified in step 2.1 are not accurate, using ω′ as the weighting of the end-effector pose calibration accuracy cannot accurately represent the pose calibration accuracy weighting. Furthermore, because there may be outliers with excessively large deviations in the pose element residuals, to eliminate the influence of outliers on parameter identification, their corresponding pose calibration accuracy weightings are set to 0. Therefore, the minimum pose calibration accuracy weighting ω′ assigned to the robot end-effector pose calibration accuracy is... min Set it to 0.

[0092] When the value of an element in the measured pose happens to be equal to or very close to the corresponding element value in the theoretical pose, that element will be assigned an unreasonably high weight. Therefore, the weight of the positional accuracy allocation in robot end-effector measurement pose calibration must be limited to a maximum value. By uniformly reducing all elements in ω by a factor of R, the positional accuracy weight of the vast majority of elements in ω is within the range of [0,1]. Therefore, the maximum value of the positional accuracy weight is set to 1. max =1 / λ 2 ,in N = 6n, where n represents the total number of location points collected, M is the number of parameters to be identified, and ω r With ω′ r Represent the r-th element in ω and ω′ respectively, ω max This represents the maximum value of the attitude weight in the end-effector's position calibration accuracy allocation.

[0093] Therefore, the weighting range for position calibration accuracy is set to [0, 1], and the weighting range for attitude calibration accuracy is set to [0, ω]. max ].

[0094] Further, step 3 includes:

[0095] Step 3.1: Set the upper and lower boundaries of the search:

[0096] Based on the weighting range of the robot end-effector pose calibration accuracy allocation, the upper and lower search boundaries are set as follows:

[0097] Lower bound: lb = repmat([0, 0, 0, 0, 0, 0], 1, n);

[0098] Upper boundary: ub = repmat([1, 1, 1, ω) max ω max ω max ],1,n);

[0099] Where repmat(B, 1, n) means copying array B n times in the 1-dimensional direction, where n represents the total number of positioning points collected; array B represents the upper / lower boundary of the pose weight range for the robot end-effector measurement pose calibration accuracy allocation, where the first three elements represent the position calibration accuracy weight and the last three elements represent the attitude calibration accuracy weight.

[0100] Step 3.2: Initialize the parameters of the improved sparrow search algorithm:

[0101] Set the size of the sparrow population X to 100, and let the k-th sparrow be X. k The proportion of finders in the sparrow population was set to 0.8, and the proportion of vigilants was set to 0.2; the safety threshold was set to 0.6; and the maximum number of iterations was set to 150.

[0102] in X k =[ω k,1 ω k,2 ,…,ω k,d ,…,ω k,D ],ω k,d ∈[lb, ub], ω k,d Let represent the value of the k-th sparrow in dimension d, where D = 6n, and n represents the total number of locations collected.

[0103] Step 3.3: Initialize pose calibration accuracy weighting:

[0104] ω k,d Randomly generate values ​​within the range [lb, ub] to obtain the kth sparrow X. k [ω] k,1 ω k,2,…,ω k,d ,…,ω k,D This will be used as the initial proportion of pose calibration accuracy.

[0105] Further, step 4 includes:

[0106] Step 4.1: Set the fitness function as follows:

[0107]

[0108] Among them, (x i,1 y i,1 , z i,1 Rx i Ry i Rz i Let (x′) be the end-effector pose of the robot at the i-th localization point. i,1 y′ i,1 ,z′ i,1 , Rx′ i ,Ry′ i , Rz′ i The expression ) represents the theoretical end-effector pose of the robot at the i-th localization point, calculated using forward kinematics after kinematic parameter identification; n represents the total number of localization points collected; δ is a balance factor used to balance the influence of position and attitude errors on the fitness function. Increasing the value of δ increases the influence of position error on the fitness function value, while decreasing the value of δ decreases the influence of position error on the fitness function value. When the value of δ is determined, the smaller the value of the fitness function F, the more reasonable the assigned pose calibration accuracy; the initial fitness function value is set to infinity. It should be noted that if the origin of the localization point is chosen as b... i The point corresponds to the end-effector measurement pose [x] i,2 y i,2 , z i,2 Rx i Ry i Rz i The theoretical pose of the end effector is similar. If c is used... i The same applies to points.

[0109] In the fitness function, the magnitude of δ is determined by the final required pose accuracy. For example, in applications requiring high pose accuracy, δ can be set to 0, and simultaneously set... PMax is the maximum permissible position error value; in application scenarios where both position and attitude accuracy requirements are high, δ is used to balance position and attitude errors, unifying them to the same order of magnitude.

[0110] Step 4.2: Convert the pose calibration accuracy weight into a weight matrix, taking the k-th sparrow as an example:

[0111]

[0112] Among them, W k ω represents the weight matrix transformed by the k-th sparrow; k,6i-5 ~ω k,6i (i = 1, 2, ..., n) represents the proportion of the 6 elements in the i-th positioning point corresponding to the k-th sparrow.

[0113] Step 4.3: In step 4.2, the weight matrix obtained by converting the pose calibration accuracy ratio is fused with the Gauss-Newton method, and the robot's kinematic parameters are identified through the following iterative formula:

[0114] ΔX k =(J k T ·W k ·J k ) -1 ·J k T ·W k ·e k ;;

[0115] Where, ΔX k J represents the error in the robot's kinematic parameters corresponding to the k-th sparrow; k Let e ​​be the extended Jacobian matrix corresponding to the kth sparrow; k This represents the pose error of the robot tool coordinate system corresponding to the k-th sparrow in the measurement coordinate system.

[0116] Specifically,

[0117]

[0118]

[0119]

[0120] Let a be the coordinate transition matrix of the robot MD-H model. i-1 Let α be the length of the (i-1)th link. i-1 Let d be the torsion angle of the (i-1)th link. i Let θ be the offset of the (i-1)th link. i sθ is the joint angle. i =sinθ i ,cθ i =cosθ i The other parameters follow the same pattern.

[0121] Further, step 5 includes:

[0122] Step 5.1: Update the fitness function value and pose calibration accuracy weight from Step 4:

[0123] Each sparrow is processed through steps 4.2 and 4.3 to obtain the robot kinematic parameter error corresponding to each sparrow, and the error is compensated into the robot kinematic parameters. The pose of the robot end effector calculated by forward kinematics is used as the theoretical pose of the robot end effector. Combined with step 4.1, the fitness function value corresponding to each sparrow is calculated. The minimum fitness function value is used as the fitness value in the updated and improved sparrow algorithm, and the corresponding pose calibration accuracy ratio is used as the optimal pose calibration accuracy ratio for this iteration (which is also the optimal sparrow position in this iteration).

[0124] Step 5.2: Update the position of the discoverer in the sparrow population according to "Adaptive Mutant Sparrow Search Optimization Algorithm_Tang Yanqiang", update the position of the follower in the sparrow population according to the Lévy flight strategy in "Hybrid Sine and Cosine Algorithm and Lévy Flight Sparrow Algorithm_Mao Qinghua", and update the position of the watcher in the sparrow population according to the sparrow algorithm.

[0125] Step 5.3: Repeat steps 5.1 and 5.2 to make the fusion algorithm search in the direction of lower fitness function values ​​until the fitness function value no longer decreases or the maximum number of iterations is reached, at which point the iteration terminates. The robot kinematic parameter error identified at this point is taken as the final robot kinematic parameter error.

[0126] As can be seen from the above technical solution, this invention first uses an improved sparrow search algorithm to search for weights, then converts the searched weights into a weight matrix, iterates, and uses the magnitude of the error after convergence iteration as the fitness value of the improved sparrow search algorithm, and then performs weight optimization search, finally obtaining the optimal weights and the identified robot kinematic parameter error results. Comparing this algorithm result with the WLS algorithm, the result is significantly improved, and the method of obtaining the weight matrix in the WLS algorithm is simplified. Furthermore, the weight matrix is ​​no longer affected by the accuracy of the measuring instrument, and it is more stable. Setting the fitness value to only the magnitude of the posture error can further improve the posture accuracy of the robot end effector. Using the algorithm of this invention for robot posture parameter identification can solve the problems of difficulty in obtaining the weight matrix and unreasonable weight matrix settings, effectively improving the posture accuracy of the robot end effector. Different posture accuracy allocation strategies can be used to improve the robot's position and posture accuracy in different application scenarios, adapting to a wider range of applications.

[0127] To verify the effectiveness of the proposed method, this experiment was conducted on an EC66 robot. The sparrow population size was set to 100, the discoverer PD ratio was set to 0.8, and the vigilant SD ratio was set to 0.2. Each sparrow was randomly generated within the range [lb, ub], the safety threshold ST was set to 0.6, and the maximum number of iterations was set to 100. This experiment collected robot end-effector pose measurements at 90 localization points and recorded the corresponding robot joint angles. 50 sets were used as the identification dataset, and 40 sets were used as the validation dataset. After identifying the robot's kinematic parameter errors using this method, the identified robot parameter errors were compensated into the robot's kinematic parameters, and the results were validated on the validation dataset. The obtained absolute position and absolute attitude errors of the robot end-effector are shown below. Figure 2 , Figure 3 As shown in the figure, the ISSA-WLS method proposed in this invention can significantly reduce the robot's end-effector pose error. The maximum absolute position error of the end-effector is reduced from 15.84 mm to 0.61 mm, an improvement of 96.1%, and the average absolute position error is reduced from 11.18 mm to 0.32 mm, an improvement of 97.1%. The maximum absolute orientation error of the end-effector is reduced from 9.068° to 0.521°, an improvement of 94.3%, and the average absolute orientation error is reduced from 2.764° to 0.183°, an improvement of 95.3%.

[0128] Furthermore, using the traditional method (weighted least squares) as a comparative experiment, the comparison of the absolute position and absolute attitude errors identified by the method of this invention and the traditional method (weighted least squares) is shown in Tables 1 and 2. As can be seen from Tables 1 and 2, the method of this invention has a significant advantage in attitude compensation, effectively balancing the weights of position and attitude. Compared to the WLS identification algorithm, this invention further improves the maximum absolute position accuracy by 12.7%, the maximum absolute orientation accuracy by 25%, and the average absolute orientation accuracy by 37.8%. Therefore, the ISSA-WLS identification algorithm proposed in this invention has higher compensation performance and can more effectively improve the pose accuracy of the robot's end effector.

[0129] Table 1 Comparison of robot absolute position error before and after calibration

[0130]

[0131] Table 2 Comparison of robot absolute attitude error before and after calibration

[0132]

[0133] Experiments show that this invention is suitable for rationally allocating the pose calibration accuracy of industrial robot end effectors, thereby significantly improving the pose accuracy of the robot end effectors. The application of this method, which uses an improved sparrow search algorithm combined with the Gauss-Newton method to determine the weight matrix, is not limited to the field of industrial robot pose calibration; it is also applicable to other similar fields.

[0134] According to another aspect of the present invention, a robot kinematic parameter error identification system based on the allocation of pose calibration accuracy of an industrial robot end effector is provided, comprising: an acquisition module for acquiring the joint angles of n positioning points of the robot and the corresponding robot end effector measured pose; a first determination module for determining the weight range of the robot end effector measured pose calibration accuracy allocation; an initialization module for initializing relevant parameters and acquiring an initial pose calibration accuracy weight; a second determination module for determining the fitness function of an optimization algorithm and fusing the pose calibration accuracy weight with the Gauss-Newton method to identify robot kinematic parameter errors; and an acquisition module for updating the fitness function value and the pose calibration accuracy weight until a termination condition is reached to obtain the robot kinematic parameter error. For parts of the modules not described in detail above, please refer to the relevant descriptions in the embodiments.

[0135] The specific embodiments of the present invention have been described in detail above with reference to the accompanying drawings. However, the present invention is not limited to the above embodiments. Within the scope of knowledge possessed by those skilled in the art, various changes can be made without departing from the spirit of the present invention.

Claims

1. A method for identifying robot kinematic parameter errors based on the accuracy allocation of industrial robot end-effector pose calibration, characterized in that, include: Step 1: Obtain the joint angles of n robot positioning points and the corresponding robot end effector pose; Step 2: Determine the weighting range of the robot end effector's pose calibration accuracy allocation; Step 3: Initialize relevant parameters and obtain the initial pose calibration accuracy weight; Step 4: Determine the fitness function of the optimization algorithm, and integrate the pose calibration accuracy with the Gauss-Newton method to identify the robot's kinematic parameter errors; Step 5: Update the fitness function value and pose calibration accuracy weight until the termination condition is met, and obtain the robot kinematic parameter error; Step 2 specifically involves setting the position calibration accuracy weight range to... Set the attitude calibration accuracy weight range to ;in, This represents the maximum weight of the attitude proportion in the end-effector's position calibration accuracy allocation. The maximum value of the attitude weight allocation in the end-effector pose calibration accuracy assignment is expressed as follows: ;in, , N=6n, This represents the total number of location points collected, where M is the number of parameters that need to be identified. and Represent and The r-th element, The proportion of the measurement pose calibration accuracy calculated from the residuals. The proportion of the end-point measurement pose calibration accuracy calculated from the residual after reduction.

2. The method for identifying robot kinematic parameter errors based on the accuracy allocation of industrial robot end-effector pose calibration according to claim 1, characterized in that, Step 1 includes: Step 1.1: Directly export the robot joint angle data of n positioning points from the robot controller; Step 1.2: At the i-th positioning point, measure the three position data of the robot end effector, and convert the three position data of the robot end effector collected at the n positioning points into the robot end effector measurement pose respectively; where i=1,2,…,n.

3. The method for identifying robot kinematic parameter errors based on the accuracy allocation of industrial robot end-effector pose calibration according to claim 2, characterized in that, Step 1.2 specifically includes: Let's take the first positioning point as an example: Establish a coordinate system using three position data points from the robot's end effector: ; Place the origin of the robot's end effector coordinate system among the three measurement points at the robot's end effector. At point 1, the end-effector pose matrix of the robot at the first localization point is obtained. The origin of the coordinate system for the subsequent n-1 positioning points is the same as the origin corresponding to the first positioning point; ; The end-point measurement pose matrix of the first positioning point by Convert the sequential angles to Euler angles to obtain the robot end effector measurement pose A1 corresponding to the first localization point: ; Where norm represents modulo; , , These represent the basis vectors of the x-axis, y-axis, and z-axis of the established robot end-effector coordinate system, respectively. , , This represents the three position data of the robot's end effector measured at the first positioning point; Represents the first positioning point Transpose of position; This represents the end-effector measurement posture of the robot's first positioning point.

4. The method for identifying robot kinematic parameter errors based on the accuracy allocation of industrial robot end-effector pose calibration according to claim 1, characterized in that, Step 3 includes: Step 3.1: Set the upper and lower boundaries of the search: Based on the weighting range of the robot end-effector pose calibration accuracy allocation, the upper and lower search boundaries are set as follows: Lower boundary: ; Upper boundary: ; in, This means copying array B in one dimension. Second-rate, The array represents the total number of positioning points collected; array B represents the upper / lower boundary of the pose weight range for the robot end-effector's pose calibration accuracy allocation. Its first three elements represent the position calibration accuracy weight, and the last three elements represent the attitude calibration accuracy weight. Step 3.2: Initialize the relevant parameters of the improved sparrow search algorithm; among which, the relevant parameters include population size, the proportion of finders in the sparrow population, the proportion of watchers; safety threshold; and maximum number of iterations; Step 3.3: Based on the upper and lower boundaries of the search, obtain the initial pose calibration accuracy weight.

5. The method for identifying robot kinematic parameter errors based on the accuracy allocation of industrial robot end-effector pose calibration according to claim 4, characterized in that, Step 3.3 specifically involves: […]. exist Randomly generate values ​​within the range to obtain the kth sparrow. of The initial pose calibration accuracy is given weight; among which, This represents the value of the k-th sparrow in dimension d, where D = 6n. This indicates the total number of location points collected.

6. The method for identifying robot kinematic parameter errors based on the accuracy allocation of industrial robot end-effector pose calibration according to claim 1, characterized in that, Step 4 includes: Step 4.1: Set the fitness function F as follows: ; in, The end effector pose is measured at the i-th localization point of the robot. The theoretical end-effector pose of the robot at the i-th localization point is calculated using forward kinematics after kinematic parameter identification. This indicates the total number of location points collected; As a balance factor; Step 4.2: Convert the pose calibration accuracy weight into a weight matrix, taking the k-th sparrow as an example: ; Among them, W k Let represent the weight matrix transformed by the k-th sparrow; This represents the proportion of the 6 elements in the i-th location corresponding to the k-th sparrow; i = 1, 2, ..., n; Step 4.3: In the Gaussian-Newton method, the weight matrices are fused together, and the robot's kinematic parameters are identified through the following iterative formula: ; in, This represents the error in the robot's kinematic parameters corresponding to the k-th sparrow; Let be the extended Jacobian matrix corresponding to the kth sparrow; This represents the pose error of the robot tool coordinate system corresponding to the k-th sparrow in the measurement coordinate system.

7. A robot kinematic parameter error identification system for performing the end-effector pose calibration accuracy allocation as described in claim 1, characterized in that, include: The acquisition module is used to acquire the joint angles of n positioning points of the robot and the corresponding robot end-effector pose. The first determining module is used to determine the weight range of the robot end-effector measurement pose calibration accuracy allocation; The initialization module is used to initialize relevant parameters and obtain the initial pose calibration accuracy weight. The second determination module is used to determine the fitness function of the optimization algorithm and integrate the pose calibration accuracy ratio with the Gauss-Newton method to identify the robot's kinematic parameter errors. The module is used to update the fitness function value and the proportion of pose calibration accuracy until the termination condition is met, thereby obtaining the robot's kinematic parameter error.

Citation Information

Patent Citations

  • Robot kinematics calibration device and method based on incomplete pose information

    CN112277002A

  • Robot absolute positioning precision calibration method based on kinematics and spatial interpolation

    CN112873199A