Robot kinematics parameter error identification method

By combining the least squares algorithm and the extended Kalman filter algorithm, the problems of measurement coordinate system transformation and noise interference in robot kinematic parameter error identification are solved, and high-precision error compensation is achieved.

CN119260723APending Publication Date: 2025-01-07AEROSPACE RES INST OF MATERIAL & PROCESSING TECH
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411544099.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

Existing methods for identifying errors in robot kinematic parameters lack consideration for coordinate system transformation, which leads to measurement errors affecting compensation effectiveness and makes them susceptible to noise interference, resulting in low identification accuracy.

Method used

By combining the transformation between the robot's base coordinate system and the laser tracker's coordinate system, the least squares algorithm is used for base coordinate system calibration, and the extended Kalman filter algorithm is used for parameter identification to reduce dimensionality and handle noise interference. The robot's kinematic parameter errors are obtained through iterative calculation.

Benefits of technology

It achieves precise conversion between the laser tracker coordinate system and the robot base coordinate system, reduces measurement coordinate system conversion error, improves the accuracy of robot kinematic parameter error compensation, and reduces the impact of noise on recognition accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119260723A_ABST
    Figure CN119260723A_ABST
Patent Text Reader

Abstract

The invention discloses a robot kinematics parameter error identification method comprising the following steps: S1, combining a robot error generation mechanism and a robot MD-H model to construct a robot kinematics parameter error identification model; s2, a first joint and a second joint of the robot are sequentially rotated, and corresponding robot tail end point position information is collected; s3, fitting coordinate axes of the robot-based coordinate system by using a least square algorithm, calibrating the robot-based coordinate system, and reducing identification dimensions; s4, a demonstrator is used for controlling the robot to move randomly, and corresponding point position information of the tail end of the robot is collected; s5, the point location information in the working space of the robot serves as input, and kinematics parameter errors are identified through an extended Kalman filtering algorithm; and S6, compensating the kinematics parameter error of the robot according to an identification result. According to the method, the kinematics parameter error of the robot can be identified and compensated, disturbance caused by a measurement coordinate system and environmental noise can be avoided, and high-precision parameter error identification and compensation of the robot are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a robot kinematic parameter error identification method, in particular to a robot kinematic parameter error identification method based on a preprocessing extended Kalman filter algorithm, and belongs to the field of robot technology and parameter identification technology. Background Art

[0002] With the increasing maturity and development of robot technology, robots have been widely used in various scenarios such as grinding, welding, handling, and paving, which also puts higher and higher requirements on the kinematic accuracy of robots. However, due to errors such as processing errors, assembly errors, and connecting rod deformation in the actual application of robots, the actual connecting rod parameters of the robot deviate from the theoretical connecting rod parameters. As the connecting rods of the robot are connected in series, the error is gradually amplified from the base of the robot to the end, causing deviations in the actual positioning accuracy of the robot.

[0003] At present, the research on robot kinematic parameter error identification methods mainly has the following problems:

[0004] Existing identification methods lack consideration of measurement coordinate system conversion. In the actual error identification process of the robot, it is necessary to use measurement equipment such as laser trackers to measure the robot's end point posture and convert the point coordinates to the robot's base coordinate system. However, due to factors such as environmental disturbances, measurement errors are inevitable, affecting the accuracy of the measurement coordinate system conversion, thereby reducing the final error compensation effect.

[0005] In addition, common error identification methods are easily disturbed by noise. Robots are highly nonlinear systems, and LSM algorithms and LM algorithms are effective methods for solving nonlinear problems. However, these algorithms are very sensitive to noise. When collecting robot posture data, the measurement data fluctuates greatly due to factors such as measurement disturbances and measurement errors of the instrument itself. At this time, the generalized inverse matrix of the algorithm is prone to singularity problems during fitting, resulting in low identification accuracy. Summary of the invention

[0006] The technical problem solved by the present invention is: to overcome the shortcomings of the prior art, to provide a robot kinematic parameter error identification method, to combine the robot base coordinate system and laser tracker coordinate system conversion process with the extended Kalman filter algorithm parameter identification, and to improve the robot kinematic parameter error compensation accuracy.

[0007] The technical solution of the present invention is:

[0008] The present invention discloses a robot kinematic parameter error identification method, comprising:

[0009] S1: Based on the error generation mechanism and the robot MD-H model, a robot kinematic parameter error identification model is constructed;

[0010] S2: Rotate each joint of the robot in turn to collect the corresponding end point information of the robot;

[0011] S3: According to the robot end point information, the least squares algorithm is used to calculate the coordinate axes of the robot base coordinate system;

[0012] S4: Use the teaching pendant to control the random movement of the robot and collect the corresponding random point information at the end of the robot;

[0013] S5: According to the random point information and the coordinate axis of the robot base coordinate system, the extended Kalman filter algorithm is used to identify the kinematic parameter error and obtain the robot kinematic parameter error;

[0014] S6: According to the robot kinematic parameter errors, error compensation is performed on the robot kinematic parameter.

[0015] Furthermore, in the above method, the robot kinematic parameter error identification model is specifically:

[0016] ΔP=J·ΔQ

[0017] ΔQ=[Δθ1,Δα1,Δa1,Δd1…Δa6,Δd6,Δβ2,Δβ3,Δt x ,Δt y ,Δt z ] T

[0018] Where ΔP represents the end position error, J represents the extended Jacobian matrix describing the error model, ΔQ represents the parameter deviation vector to be identified; Δθ i is the joint angle error of each joint of the robot, Δd i Joint offset error, Δa i is the connecting rod length error, Δα i is the joint torsion error, Δβ i is the rotation angle error, where the subscript i represents the i-th joint of the robot, i is 1 to 6; Δt x , Δt y , Δt z Represent the position errors of the tool coordinate system in the x, y, and z directions respectively.

[0019] Furthermore, in the above method, each joint of the robot is rotated in sequence, specifically: the first joint and the second joint of the robot are rotated in sequence, and a series of point position information of the end of the robot is acquired by using a laser tracker.

[0020] Furthermore, in the above method, in step S3, the coordinate axes of the robot base coordinate system are calculated using the least squares algorithm according to the robot end point information, and the specific method is:

[0021] According to the robot end point information, calculate the center of the sphere to be fitted (x o ,y o ,z o );

[0022] Use the least squares method to solve the point (x ij ,y ij ,z ij ) is located on a plane with an equation of Ax+By+Cz+1=0;

[0023] Through the center of the ball (x o ,y o ,z o )Draw a perpendicular line to the plane and obtain the equation of the perpendicular line;

[0024] According to the vertical equation, calculate the center O of the fitted arc ci Coordinate (x oc ,y oc ,z oc );

[0025] Connect the center of the circle and the center of the sphere to obtain the point (x ij ,y ij ,z ij )’s normal vector;

[0026] The normal vector is the corresponding coordinate axis of the robot base coordinate system.

[0027] Furthermore, in the above method, the center of the sphere to be fitted (x o ,y o ,z o ), specifically:

[0028] (x ij -x o ) 2 +(y ij -y o ) 2 +(z ij -z o ) 2 =R 2

[0029] Among them, (x ij ,y ij ,z ij ) is the point on the sphere to be fitted, the subscript ij is the point measured for the jth time when the i-th joint is rotated, (x o,y o ,z o ) is the center of the sphere, and R is the radius of the sphere to be fitted;

[0030] Furthermore, in the above method, the vertical line equation is specifically:

[0031]

[0032] Among them, (x o ,y o ,z o ) is the center of the sphere, and A, B, and C are the coefficients of the plane equation of the point on the spherical surface to be fitted.

[0033] Furthermore, in the above method, the coordinates of the center of the fitted arc are specifically:

[0034]

[0035] Among them, (x o ,y o ,z o ) is the center of the fitting sphere O i Coordinates; A, B, C are points on the sphere to be fitted (x ij ,y ij ,z ij ) is the coefficient of the equation of the plane on which it lies.

[0036] Furthermore, in the above method, the kinematic parameter error is identified to obtain the robot kinematic parameter error, and the specific method is:

[0037] Iterate the parameter calculation formula until ΔQ k|k When the accuracy requirements are met, the robot kinematic parameter error ΔQ is obtained;

[0038] The parameter calculation formula is as follows:

[0039] ΔQ k|k =ΔQ k∣k-1 +K k (ΔP k -J k ΔQ k∣k-1 )

[0040]

[0041] ΔP k =J k ΔQ k +E k

[0042] P k|k-1 =P k-1|k-1 +Q

[0043] Where k|k-1 represents the prior estimate when measuring point k, k-1|k-1 represents the a posteriori estimate when measuring point k-1, and Q represents the system noise covariance matrix at the (k-1)th iteration; E k represents the deviation caused by the measurement noise when measuring the k point, J k represents the extended Jacobian matrix of the error model, ΔQ k represents the robot kinematic parameter error when measuring k points; R represents the measurement noise covariance matrix during the measurement process; K k represents the Kalman gain at the kth iteration, ΔP k Indicates the end position deviation of the robot at point k.

[0044] Furthermore, in the above method, the robot kinematic parameter error is compensated according to the identification result, and the specific method is:

[0045] Q real =Q theoy +ΔQ

[0046] Among them, Q theoy is the theoretical kinematic parameter of the robot; ΔQ is the error of the robot kinematic parameter obtained by identification; Q real are the actual kinematic parameters of the robot after compensation.

[0047] Furthermore, in the above method, the robot end point information is obtained by measuring with a laser tracker.

[0048] The beneficial effects of the present invention and the prior art are:

[0049] (1) The present invention adopts the least squares algorithm to calibrate the robot base coordinate system, realizes the accurate conversion between the laser tracker coordinate system and the robot base coordinate system, completes the calibration of the robot base coordinate system, and solves the problem of reduced compensation accuracy caused by measurement coordinate system conversion error;

[0050] (2) The present invention adopts the least squares algorithm as the preprocessing process of robot parameter identification, realizes the reduction of the dimension of robot kinematic parameter identification, completes the conversion of high-dimensional space to low-dimensional space with lower non-convexity, and solves the problem of poor identification result accuracy caused by too high parameter identification dimension;

[0051] (3) The present invention adopts the extended Kalman filter algorithm to identify the robot kinematic parameter errors, realizes the processing of the robot point measurement interference noise of the noise covariance matrix, and solves the problem of reduced algorithm identification accuracy caused by the existence of measurement noise. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 It is a schematic flow chart of the method of the present invention;

[0053] Figure 2 It is a schematic diagram of the joint axis of the robot for point acquisition and fitting according to the present invention;

[0054] Figure 3 It is a schematic diagram of establishing the base coordinate system of the robot of the present invention;

[0055] Figure 4 It is a comparison diagram of the terminal positioning error before and after the robot kinematic parameter error identification and compensation in the present invention. DETAILED DESCRIPTION

[0056] The present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0057] The present invention discloses a robot kinematic parameter error identification method, comprising:

[0058] S1: Based on the error generation mechanism and the robot MD-H model, a robot kinematic parameter error identification model is constructed;

[0059] S2: Rotate each joint of the robot in turn to collect the corresponding end point information of the robot;

[0060] S3: According to the robot end point information, the least squares algorithm is used to calculate the coordinate axes of the robot base coordinate system;

[0061] S4: Use the teaching pendant to control the random movement of the robot and collect the corresponding random point information at the end of the robot;

[0062] S5: According to the random point information and the coordinate axis of the robot base coordinate system, the extended Kalman filter algorithm is used to identify the kinematic parameter error and obtain the robot kinematic parameter error;

[0063] S6: According to the robot kinematic parameter errors, error compensation is performed on the robot kinematic parameter.

[0064] Preferably, the robot kinematic parameter error identification model is specifically:

[0065] ΔP=J·ΔQ

[0066] ΔQ=[Δθ1,Δα1,Δa1,Δd1…Δa6,Δd6,Δβ2,Δβ3,Δt x ,Δt y ,Δt z ] T

[0067] Where ΔP represents the end position error, J represents the extended Jacobian matrix describing the error model, ΔQ represents the parameter deviation vector to be identified; Δθ i is the joint angle error of each joint of the robot, Δd i Joint offset error, Δa i is the connecting rod length error, Δα i is the joint torsion error, Δβ i is the rotation angle error, where the subscript i represents the i-th joint of the robot, i is 1 to 6; Δt x , Δt y , Δt z Represent the position errors of the tool coordinate system in the x, y, and z directions respectively.

[0068] Preferably, the joints of the robot are rotated in sequence, specifically: the first joint and the second joint of the robot are rotated in sequence, and a series of point position information of the end of the robot is acquired by using a laser tracker.

[0069] Preferably, in step S3, according to the robot end point information, the least squares algorithm is used to calculate the coordinate axes of the robot base coordinate system, and the specific method is:

[0070] According to the robot end point information, calculate the center of the sphere to be fitted (x o ,y o ,z o );

[0071] Use the least squares method to solve the point (x ij ,y ij ,z ij ) is located on a plane with an equation of Ax+By+Cz+1=0;

[0072] Through the center of the ball (x o ,y o ,z o )Draw a perpendicular line to the plane and obtain the equation of the perpendicular line;

[0073] According to the vertical equation, calculate the center O of the fitted arc ci Coordinate (x oc ,y oc ,z oc );

[0074] Connect the center of the circle and the center of the sphere to obtain the point (x ij ,y ij ,z ij )’s normal vector;

[0075] The normal vector is the corresponding coordinate axis of the robot base coordinate system.

[0076] Preferably, the center of the sphere to be fitted (x o ,y o ,z o ), specifically:

[0077] (x ij -x o ) 2 +(y ij -y o ) 2 +(z ij -z o ) 2 =R 2

[0078] Among them, (x ij ,y ij ,z ij ) is the point on the sphere to be fitted, the subscript ij is the point measured for the jth time when the i-th joint is rotated, (x o ,y o ,z o ) is the center of the sphere, and R is the radius of the sphere to be fitted;

[0079] Preferably, the vertical line equation is specifically:

[0080]

[0081] Among them, (x o ,y o ,z o ) is the center of the sphere, and A, B, and C are the coefficients of the plane equation of the point on the spherical surface to be fitted.

[0082] Preferably, the coordinates of the center of the fitted arc are specifically:

[0083]

[0084] Among them, (x o ,y o ,z o ) is the center of the fitting sphere O i Coordinates; A, B, C are points on the sphere to be fitted (x ij ,y ij ,z ij ) is the coefficient of the equation of the plane on which it lies.

[0085] Preferably, the kinematic parameter error is identified to obtain the robot kinematic parameter error, and the specific method is:

[0086] Iterate the parameter calculation formula until ΔQ k|k When the accuracy requirements are met, the robot kinematic parameter error ΔQ is obtained;

[0087] The parameter calculation formula is as follows:

[0088] ΔQ k|k =ΔQ k∣k-1 +K k (ΔP k -J k ΔQ k∣k-1 )

[0089]

[0090] ΔP k =J k ΔQ k +E k

[0091] P k|k-1 =P k-1|k-1 +Q

[0092] Where k|k-1 represents the prior estimate when measuring point k, k-1|k-1 represents the a posteriori estimate when measuring point k-1, and Q represents the system noise covariance matrix at the (k-1)th iteration; E k represents the deviation caused by the measurement noise when measuring the k point, J k represents the extended Jacobian matrix of the error model, ΔQ k represents the robot kinematic parameter error when measuring k points; R represents the measurement noise covariance matrix during the measurement process; K k represents the Kalman gain at the kth iteration, ΔP k Indicates the end position deviation of the robot at point k.

[0093] Preferably, the robot kinematic parameter error is compensated according to the identification result, and the specific method is as follows:

[0094] Q real =Q theoy +ΔQ

[0095] Among them, Q theoy is the theoretical kinematic parameter of the robot; ΔQ is the error of the robot kinematic parameter obtained by identification; Q real are the actual kinematic parameters of the robot after compensation.

[0096] Preferably, the end point information of the robot is measured and obtained by using a laser tracker.

[0097] Example

[0098] This embodiment provides a robot kinematic parameter error identification method based on preprocessing extended Kalman filtering, which combines the robot base coordinate system and laser tracker coordinate system conversion process with the extended Kalman filter parameter identification algorithm to solve the problem of interference from measurement methods and measurement noise during parameter identification, and improve the robot kinematic parameter error identification and compensation accuracy. The specific process is as follows: Figure 1 As shown, the following steps are included:

[0099] S1: According to the error generation mechanism and the robot MD-H model, the robot kinematic parameter error identification model is constructed:

[0100] S1.1: The robot end position error matrix ΔT can be expressed as:

[0101]

[0102] The first three columns in the first three rows represent the posture deviations around the x, y, and z axes, respectively, and the first three rows in the fourth column represent the position deviations along the x, y, and z axes. Based on the kinematic theory of rigid bodies, the small errors of the robot are regarded as differential translations along the coordinate axes and differential rotations around the coordinate axes.

[0103] S1.2: The relationship between the actual posture matrix and the theoretical posture matrix of the robot end can be expressed as:

[0104] T real = 0 T N +ΔT

[0105] Where T real Represents the actual pose matrix of the end, 0 T N represents the terminal theoretical pose matrix, and ΔT represents the terminal pose matrix deviation.

[0106] S1.3: Theoretical terminal pose matrix 0 T N It can be expressed as:

[0107]

[0108] Where n, o, and a represent the posture vectors of the robot end in three directions in the base coordinate system, p represents the position vector, and the subscripts x, y, and z represent the three directions.

[0109] S1.4: According to the MD-H model, consider the parameter errors of each link of the robot (joint angle error Δθ i , joint offset error Δd i , connecting rod length error Δa i , joint torsion angle error Δα i , rotation angle error Δβi ), the coordinate transformation matrix between adjacent links i-1 T i real becomes:

[0110] i-1 T i real =Trans(x i-1 ,a i-1 +Δa i-1 )Rot(x i-1 ,α i-1 +Δα i-1 )

[0111] Trans(z i ,d i +Δd i )Rot(z i ,θ i +Δθ i )Rot(y i ,β i +Δβ i )

[0112] S1.5: Connecting rod parameter error Δθ i , Δa i , Δα i , Δd i , Δβ i Very small, differentiate the above formula to get the error differential model:

[0113]

[0114] S1.6: When there are parameter errors in all joints of the robot, the end position of the robot can be expressed as:

[0115]

[0116] S1.7: The robot end position error matrix ΔT is a fourth-order matrix and can be expressed as:

[0117]

[0118] The third-order matrix in the upper left corner represents the posture error, and the first three rows in the fourth column represent the position error. The accuracy of identifying the robot's kinematic parameters using posture error is low, and usually the robot's requirements for position error are higher than those for posture error, so the position error is used to identify the kinematic parameters.

[0119] S1.8: Let position deviation ΔP = [dx dy dz] T , written in matrix form, we can get:

[0120] ΔP=J·ΔQ

[0121] ΔQ=[Δθ1,Δα1,Δa1,Δd1…Δa6,Δd6,Δβ2,Δβ3,Δt x ,Δt y ,Δt z ] T

[0122] Where J represents the extended Jacobian matrix describing the error model, ΔP represents the end position error, and ΔQ represents the parameter deviation vector to be identified.

[0123] S2: Rotate the first joint and the second joint of the robot in sequence to collect the corresponding end point information of the robot:

[0124] like Figure 2 As shown in the figure, the other joints are fixed, and the teaching pendant is used to control the movement of the first joint and the second joint respectively, and the laser tracker collects a series of points in space. The laser tracker collects a series of point information at the end of the robot. Ideally, these points are located on the same arc. However, due to the influence of factors such as robot motion error and environmental disturbance, it can be approximately considered that these points are located on the same sphere.

[0125] S3: Use the least squares algorithm to calculate the coordinate axes of the robot base coordinate system, calibrate the robot base coordinate system, and reduce the identification dimension:

[0126] S3.1: By fitting the equation of the sphere composed of the points in step S2, the parameters such as the arc, center and radius corresponding to the point group can be calculated. (x ij ,y ij ,z ij ) is a series of points on the sphere to be fitted, where the subscript ij represents the point measured at the jth time when the i-th joint is rotated, and the center of the sphere is (x o ,y o ,z o ), the radius of the sphere is R, and the geometric equation of the space sphere can be obtained:

[0127] (x ij -x o ) 2 +(y ij -y o ) 2 +(z ij -z o ) 2 =R 2

[0128] S3.2: Expand the spatial sphere geometry equations in S3.1:

[0129] x ij 2 +yij 2 +z ij 2 -2x ij x o -2y ij y o -2z ij z o +x o 2 +y o 2 +z o 2 -R 2 =0

[0130] According to the expanded equation, set the corresponding matrix:

[0131] J1=[x ij ,y ij ,z ij ,1]

[0132] x1=[2x o ,2y o ,2z o ,k1] T

[0133]

[0134] Where k1 is the radius R of the fitted sphere and the center O of the sphere. i Coordinate (x o ,y o ,z o ) and other characteristic parameters:

[0135]

[0136] S3.3: The solution of the equation meets the format requirements of the least squares method Jx = b. By solving the linear equations by the least squares method, the coordinates of the center of the fitting sphere (x o ,y o ,z o ).

[0137] S3.4: After obtaining the fitted sphere, it is necessary to find out the plane information where the point group is located. From the plane geometry equation, we know that (x ij ,y ij ,z ij ) satisfies the plane equation:

[0138] Ax ij +By ij +Cz ij +1=0

[0139] S3.5: Similarly, set the corresponding matrix:

[0140] J2=[x ij ,y ij ,z ij ]

[0141] x2=[ABC] T

[0142] b2=-1

[0143] S3.6: The solution of the equation meets the format requirements of the least squares method Jx = b. The solution of the linear equation system is solved by the least squares method, and the solution is (x ij ,y ij ,z ij )The equation of the plane where it lies is Ax+By+Cz+1=0.

[0144] S3.7: Passing the center of the ball (x o ,y o ,z o ) Draw a perpendicular line to the plane Ax+By+Cz+1=0, and we can get the equation of the perpendicular line:

[0145]

[0146] S3.8: Solve to obtain the projection point of the sphere center on the plane:

[0147]

[0148] This point is the center of the fitted arc O ci Coordinate (x oc ,y oc ,z oc ). Connect the center of the circle (x oc ,y oc ,z oc ) and the center of the sphere (x o ,y o ,z o ) can get the plane normal vector. The obtained normal vector is the corresponding coordinate axis of the robot base coordinate system.

[0149] According to the structural characteristics of the collaborative robot used in this method, the axis of the fourth joint of the robot is parallel to the axis of the third joint. Therefore, it is only necessary to collect the position information of the first joint and the second joint when rotating respectively to determine the robot base coordinate system. Figure 3 Shown is a schematic diagram of the first joint and the second joint of the rotary robot of the present invention determining the robot base coordinate system.

[0150] S4: Use the teaching pendant to control the random movement of the robot and collect the corresponding point information at the end of the robot:

[0151] The robot teaching pendant is used to control the robot movement, and the laser tracker is used to measure the coordinate information of the end point in the robot workspace. At the same time, the robot joint parameters at the corresponding position are recorded to obtain the robot position data.

[0152] S5: Using the position information in the robot workspace as input, the extended Kalman filter algorithm is used to identify the kinematic parameter errors:

[0153] S5.1: Use ΔQ to represent the robot kinematic parameter error:

[0154] ΔQ k|k-1 =ΔQ k-1|k-1

[0155] Where k|k-1 represents the prior estimate when measuring point k, and k-1|k-1 represents the posterior estimate when measuring point k-1.

[0156] S5.2: The parameter error covariance matrix P can be expressed as:

[0157] P k|k-1 =P k-1|k-1 +Q

[0158] Where Q represents the system noise covariance matrix at the (k-1)th iteration.

[0159] S5.3: Considering the influence of measurement process noise:

[0160] The end position deviation ΔP of the robot at point k k , which can be measured by a laser tracker, and the relationship is:

[0161] ΔP k =J k ΔQ k +E k

[0162] Where E k represents the deviation caused by the measurement noise when measuring the k point, J k represents the extended Jacobian matrix of the error model, ΔQ k represents the robot kinematic parameter error when measuring k point. R is used to represent the measurement noise covariance matrix during the measurement process.

[0163] S5.4: Kalman gain K at the kth iteration k It can be expressed as:

[0164]

[0165] S5.5: At the kth iteration, the robot kinematic parameter error ΔQ can be expressed as:

[0166] ΔQ k|k =ΔQ k∣k-1 +K k (ΔP k -J k ΔQ k∣k-1 )

[0167] Among them, K k represents the Kalman gain at the kth iteration, ΔP k Indicates the end position deviation of the robot at point k.

[0168] S5.6: Update parameter error covariance matrix:

[0169] P k|k =(I m×m -K k J k ) k∣k-1

[0170] Among them, I m×m Represents the unit matrix, and m represents the dimension of the parameter to be identified.

[0171] S5.7: Update iteratively until the accuracy requirements are met.

[0172] The initial value of the noise covariance matrix Q can be obtained by calculation. In the robot, the empirical value can be 10 -4 I m×m , the parameter error covariance matrix P can be initially 10 -5 I m×m , where m represents the dimension of the parameter to be identified. According to the measurement accuracy of the laser tracker, the measurement noise covariance matrix R is initialized to 10 -2 I 3×3 After iterative updating, the robot kinematic parameter error ΔQ that meets the accuracy requirements is obtained.

[0173] S6: Compensate the robot kinematic parameter errors based on the identification results:

[0174] According to the robot kinematic parameter error ΔQ identified in step S5, the error is compensated to the corresponding robot theoretical kinematic parameter, thereby completing the identification and compensation of the kinematic parameter error.

[0175] Q real =Q theoy +ΔQ

[0176] Among them, Q theoy is the theoretical kinematic parameter of the robot, provided by the robot supplier; ΔQ is the error of the robot kinematic parameter obtained by identification; Q real are the actual kinematic parameters of the robot after compensation.

[0177] This method is used to identify the kinematic parameters of the robot, and 100 sets of points are collected to compare the effects before and after compensation. The robot's theoretical kinematic parameters are used to calculate the 100 sets of end point positions and the measured values ​​to obtain the error before error compensation, such as Figure 4 As shown by the dotted line; after using the LM algorithm to identify and compensate the robot kinematic error model, the error between the corrected end point posture and the measured value is obtained, as shown in Figure 4 The square dotted line is shown; after the preprocessing extended Kalman filter algorithm proposed in the present invention is used to identify and compensate the robot kinematic error model, the error between the corrected end point posture and the measured value is obtained, as shown in Figure 4 Diamond dotted line.

[0178] By comparison, before parameter identification and compensation, the comprehensive positioning error of the robot end was between 6.3mm-9.7mm, with an average value of 7.7mm. After correction by the method of the present invention, the positioning error was reduced to between 0.04mm-1.7mm, and the average value was reduced to 0.8mm. In contrast, after correction by the LM algorithm, the positioning error can only be reduced to 0.7mm-3.1mm, and the average value only dropped to 2.0mm. The positioning error improvement rate of the method of the present invention is close to 90%, which effectively verifies the effectiveness of the method of the present invention.

[0179] The present invention compensates for the robot motion parameter errors through an extended Kalman filter algorithm: the robot base coordinate system calibration process is used as a preprocessing process, and the extended Kalman filter algorithm is used to compensate for the kinematic parameter errors, thereby reducing the kinematic parameter error identification dimension, converting the high-dimensional space into a low-dimensional space with lower non-convexity, and combining the measurement noise covariance matrix in the extended Kalman filter algorithm to reduce the influence of noise on the algorithm identification accuracy and improve the kinematic parameter error compensation accuracy.

[0180] Although the content of the present invention has been described in detail through the above preferred embodiments, it should be appreciated that the above description should not be considered as a limitation of the present invention. After reading the above content, it will be apparent to those skilled in the art that various modifications and substitutions of the present invention will occur. Therefore, the protection scope of the present invention should be limited by the appended claims.

[0181] The contents not described in detail in the specification of the present invention belong to the common knowledge of the professionals in this field.

Claims

1. A robot kinematic parameter error identification method, characterized in that: include: S1: According to the error generation mechanism and the robot MD-H model, the robot kinematic parameter error identification model is constructed; S2: Rotate each joint of the robot in turn to collect the corresponding end point information of the robot; S3: According to the robot end point information, the least squares algorithm is used to calculate the coordinate axes of the robot base coordinate system; S4: Use the teaching pendant to control the random movement of the robot and collect the corresponding random point information at the end of the robot; S5: According to the random point information and the coordinate axis of the robot base coordinate system, the extended Kalman filter algorithm is used to identify the kinematic parameter error and obtain the robot kinematic parameter error; S6: According to the robot kinematic parameter errors, error compensation is performed on the robot kinematic parameter.

2. A robot kinematic parameter error identification method according to claim 1, characterized in that: The robot kinematic parameter error identification model is specifically: ΔP=J·ΔQ ΔQ=[Δθ1,Δα1,Δa1,Δd1…Δa6,Δd6,Δβ2,Δβ3,Δt x ,Δt y ,Δt z ] T Where ΔP represents the end position error, J represents the extended Jacobian matrix describing the error model, ΔQ represents the parameter deviation vector to be identified; Δθ i is the joint angle error of each joint of the robot, Δd i Joint offset error, Δa i is the connecting rod length error, Δα i is the joint torsion error, Δβ i is the rotation angle error, where the subscript i represents the i-th joint of the robot, i is 1 to 6; Δt x , Δt y , Δt z Represent the position errors of the tool coordinate system in the x, y, and z directions respectively.

3. A robot kinematic parameter error identification method according to claim 1, characterized in that: The joints of the robot are rotated in sequence, specifically: the first joint and the second joint of the robot are rotated in sequence, and a series of point information of the end of the robot is collected using a laser tracker.

4. A robot kinematic parameter error identification method according to claim 1, characterized in that: In step S3, according to the robot end point information, the least squares algorithm is used to calculate the coordinate axes of the robot base coordinate system. The specific method is: According to the robot end point information, calculate the center of the sphere to be fitted (x o ,y o ,z o ); Use the least squares method to solve the point (x ij ,y ij ,z ij ) is located on a plane with the equation Ax+By+Cz+1=0; Through the center of the ball (x o ,y o ,z o )Draw a perpendicular line to the plane and obtain the equation of the perpendicular line; According to the vertical equation, calculate the center O of the fitted arc ci Coordinate (x oc ,y oc ,z oc ); Connect the center of the circle and the center of the sphere to obtain the point (x ij ,y ij ,z ij )’s normal vector; The normal vector is the corresponding coordinate axis of the robot base coordinate system.

5. A robot kinematic parameter error identification method according to claim 4, characterized in that: The center of the sphere to be fitted (x o ,y o ,z o ), specifically: (x ij -x o ) 2 +(y ij -y o ) 2 +(z ij -z o ) 2 =R 2 Among them, (x ij ,y ij ,z ij ) is the point on the sphere to be fitted, the subscript ij is the point measured for the jth time when the i-th joint is rotated, (x o ,y o ,z o ) is the center of the sphere, and R is the radius of the sphere to be fitted.

6. A robot kinematic parameter error identification method according to claim 4, characterized in that: The equation of the perpendicular line is: Among them, (x o ,y o ,z o ) is the center of the sphere, and A, B, and C are the coefficients of the plane equation of the point on the spherical surface to be fitted.

7. A robot kinematic parameter error identification method according to claim 4, characterized in that: The coordinates of the center of the fitted arc are: Among them, (x o ,y o ,z o ) is the center of the fitting sphere O i Coordinates; A, B, C are points on the sphere to be fitted (x ij ,y ij ,z ij ) is the coefficient of the equation of the plane on which it lies.

8. A robot kinematic parameter error identification method according to claim 1, characterized in that: The kinematic parameter error is identified to obtain the robot kinematic parameter error, and the specific method is as follows: Iterate the parameter calculation formula until ΔQ k|k When the accuracy requirements are met, the robot kinematic parameter error ΔQ is obtained; The parameter calculation formula is as follows: ΔQ k|k =ΔQ k∣k-1 +K k (ΔP k -J k ΔQ k∣k-1 ) ΔP k =J k ΔQ k +E k P k|k-1 =P k-1|k-1 +Q Where k|k-1 represents the prior estimate when measuring point k, k-1|k-1 represents the a posteriori estimate when measuring point k-1, and Q represents the system noise covariance matrix at the (k-1)th iteration; E k represents the deviation caused by the measurement noise when measuring the k point, J k represents the extended Jacobian matrix of the error model, ΔQ k represents the robot kinematic parameter error when measuring k points; R represents the measurement noise covariance matrix during the measurement process; K k represents the Kalman gain at the kth iteration, ΔP k Indicates the end position deviation of the robot at point k.

9. A robot kinematic parameter error identification method according to claim 1, characterized in that: The robot kinematic parameter error is compensated according to the identification result, and the specific method is as follows: Q real =Q theoy +ΔQ Among them, Q theoy is the theoretical kinematic parameter of the robot; ΔQ is the error of the robot kinematic parameter obtained by identification; Q real are the actual kinematic parameters of the robot after compensation.

10. A robot kinematic parameter error identification method according to claim 1, characterized in that: The robot end point information is obtained by measuring with a laser tracker.

Citation Information

Patent Citations

  • Industrial robot absolute accuracy calibrating method based on IEKF

    CN105773622A

  • Plane constraint error model and robot self-calibration method

    CN108406771A

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

    CN112873199A

  • Robot kinematics parameter error accurate identification method based on pose measurement data

    CN114952861A

  • Plane precision calibration method for industrial robot

    WO2020134426A1