A robot classification and calibration method based on a distance error model
By adopting a hierarchical calibration method based on a distance error model, the problem of non-geometric error in robot calibration is solved, high-precision robot calibration is achieved, and the robot motion accuracy is improved.
Patent Information
- Application Number
- CN202411906964.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-23
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-12-23
AI Technical Summary
Existing robot calibration methods fail to effectively account for errors caused by non-geometric factors, resulting in insufficient absolute positioning accuracy and complex coordinate transformations that make it difficult to guarantee high precision.
A hierarchical calibration method based on a distance error model is adopted. The robot distance error model is constructed by using the DH method, the particle swarm algorithm is improved to identify the link parameters, and spatial interpolation is used for error compensation to solve the error caused by non-geometric factors.
It achieves comprehensive and high-precision robot calibration, avoids additional errors introduced by coordinate transformation, improves the accuracy of link parameter identification, and effectively compensates for non-geometric errors, thereby enhancing the robot's motion accuracy.
Smart Images

Figure CN119567260B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of industrial robot calibration, and in particular to a robot classification calibration method based on a distance error model. Background Technology
[0002] With the continuous advancement of industrialization, robots have been widely used in industrial production, aerospace, medical, and service fields. Although robots have high repeatability, their absolute positioning accuracy often fails to meet industrial requirements. Moreover, due to machining errors, assembly errors, and mechanical wear during use, the absolute positioning accuracy of robots cannot be guaranteed.
[0003] Most current robot calibration methods are single-level, considering only errors caused by the robot's geometric factors and neglecting errors caused by non-geometric factors. Furthermore, most methods establish the robot's error model based on positional errors, requiring coordinate transformations. Since coordinate transformations are difficult to perform precisely and are complex, they introduce new errors. For example, Chinese patent CN118752481A only calibrates the robot's geometric factors based on positional errors. Similarly, CN118061181A (titled "A Robot Calibration Method, System, and Device Based on Gravity Search Algorithm") and CN117325156B (titled "A Kinematic Calibration Method and Device for Parallel Robots Based on an Improved Gray Wolf Algorithm") both only address errors caused by the robot's geometric factors. The publication number CN114406991A, entitled "Industrial Robot Calibration and Spatial Position Measurement Method Based on Draw-Wire Encoder," uses a three-station draw-wire encoder to measure data and uses the least squares method to identify link parameters. However, it is difficult to avoid the matrix singularity problem that occurs during the calculation process of the least squares parameter identification method, which affects the identification accuracy. Summary of the Invention
[0004] The purpose of this invention is to provide a robot hierarchical calibration method based on a distance error model. This method uses the distance error model for geometric factor calibration to avoid introducing additional errors. A normal distribution curve is designed to control the change in the algorithm's inertia coefficient, and a control factor is introduced to improve the particle position update formula, thereby improving the particle swarm optimization algorithm and avoiding local optima. Spatial interpolation is used to compensate for errors caused by environmental factors (such as temperature rise and humidity) and non-geometric factors due to load. In summary, this achieves comprehensive and high-precision robot accuracy calibration.
[0005] The technical solution adopted in this invention is: a robot classification and calibration method based on a distance error model, comprising the following steps:
[0006] S1: Constructing a robot distance error model based on the DH method;
[0007] S2: Define the fitness function when defining the algorithm;
[0008] S3: Improve the particle swarm optimization algorithm to identify and optimize the link parameter error, and obtain the link parameter error of the robot;
[0009] S4: Correct the link parameter error data into the robot controller to complete the robot geometry calibration.
[0010] S5: Divide the robot's workspace into a cubic mesh, and measure and calculate the error at the mesh vertices.
[0011] S6: Error compensation is performed based on spatial interpolation to complete the calibration of non-geometric factors.
[0012] Furthermore, the robot distance error model constructed based on the DH method is as follows:
[0013] ΔL=L r -L n
[0014]
[0015]
[0016] Where, L r L is the distance between two actual points of the robot. n Let ΔL be the distance between the two theoretical points of the robot, and ΔL be the actual distance minus the theoretical distance. Let be the actual distance between the i-th point and the (i+1)-th point of the robot. Let be the theoretical distance between the i-th point and the (i+1)-th point of the robot. The theoretical spatial positions of the robot's i-th point and i+1-th point are obtained from the DH model. These are the actual spatial positions of the i-th point and the (i+1)-th point on the robot. i = 1, 2, ..., N. N is the number of measurement points.
[0017] Furthermore, the fitness function is defined as:
[0018]
[0019] Where N is the number of measurement points, the distance between spatial points is measured using a device, and the fitness function f is calculated.
[0020] Furthermore, the specific process of using the improved particle swarm optimization algorithm to optimize and identify link parameter errors is as follows:
[0021] Step 1: Set the initial parameters of the algorithm, including the search space, the boundary values of the search speed, the population size, and the maximum number of iterations k. max ;
[0022] Step 2: Initialize the population position using the tent chaotic map. First, generate a chaotic sequence in the search space [0,1], and then complete the population initialization, as shown in the following equation;
[0023]
[0024] x i =f(x) n )·(ub-lb)+lb, i=1,2,3...N
[0025] In the formula, α is any value in the search space, and ub and lb are the upper and lower bounds of the search space. i x represents the initial position of the particle after the tent chaotic mapping. n These are the initial values for the system.
[0026] Step 3: Calculate the inertia weight coefficient w to control the magnitude of the inertia direction in the next iteration direction;
[0027]
[0028] In the formula, w max 、w min Let be the maximum and minimum values of the inertia coefficient, and k be the current iteration number. max The maximum number of iterations is η, which describes the dispersion of the normal distribution and takes a value of 0.4433.
[0029] Step 4: Change the particle velocity v i (k), to obtain v i (k+1), perform one iteration to find the optimal value; r1 and r2 are random numbers between [-1, 1], x i (k) = [△θ1 … △θ6 △a1 … △a6 △α1 … Δα6 Δd1 … Δd6], which represents the robot's geometric parameter error; P best,i (k) is the optimal position of the i-th particle; G best It is the optimal position for the population.
[0030] v i (k+1)=ωv i (k)+c1r1(P best,i (k)-x i (k))+c2r2(G best -x i (k))
[0031]
[0032] x i (k+1)=x i (k)+λv i (k+1)
[0033] In the formula, c1 and c2 are self-cognitive factors and social cognitive factors, respectively, such that c1 = 2 and c2 = 2, and λ is a control factor; f(x i ) represents the fitness value of the i-th particle. This represents the average fitness of all current particles.
[0034] Step 5: Calculate the value of the fitness function f of the updated particles;
[0035] Step 6: Update the particle's own historical best position;
[0036] Step 7: Determine if the maximum number of iterations k has been reached. max If the condition is not met, return to step 3; if the condition is met, proceed to step 8.
[0037] Step 8: Output the current best particle, i.e., the algorithm terminates.
[0038] Furthermore, the specific process of performing error compensation based on spatial interpolation to complete the calibration of non-geometric factors is as follows:
[0039] The robot's workspace is divided into a cubic mesh according to a certain step distance, as follows: Figure 2 As shown, calculate the theoretical spatial positions P of the 8 vertices of all cubes. n Measure the actual spatial position P of each vertex of the cube. r The positional error corresponding to each vertex of the cube is:
[0040] ΔP i =P r -P n =[Δx i Δy i Δz i ]
[0041] In the formula, Δx i Δy i Δz i This represents the positional error of the robot in the x, y, and z axes.
[0042] Then, the positional error of the robot's target point in the cube mesh is estimated. First, the positional error of the 8 vertices P of the cube mesh is calculated. i (x i y i , z iThe weight q represents the influence of the position error of the target point P(x, y, z). i :
[0043]
[0044]
[0045] Where, d i The robot's target point and each vertex P of the cube i The distance between them is used to calculate the position error AP(Δx, Δy, Δz) of the target point according to the following formula:
[0046]
[0047]
[0048]
[0049] The calculated position error is used to correct the target point, and the corrected value is used to control the robot's movement, thereby improving the robot's motion accuracy.
[0050] The beneficial effects of this invention are: 1) Geometric factor calibration is performed based on a distance error model, avoiding additional errors introduced by new coordinate transformations. 2) The particle swarm optimization algorithm is improved by designing a normal distribution curve to control the change in the algorithm's inertia coefficient and introducing a control factor to improve the particle position update formula, thereby increasing the accuracy of link parameter identification. 3) Errors caused by non-geometric factors of the robot are compensated for based on spatial interpolation, further improving the robot's calibration accuracy. Attached Figure Description
[0051] Figure 1 This is a flowchart of the method of the present invention.
[0052] Figure 2 This is a schematic diagram of the grid space division of the present invention.
[0053] Figure 3 This invention relates to the principle of spatial grid compensation.
[0054] Figure 4 This is a schematic diagram of the dimensions of a robot according to the present invention. Detailed Implementation
[0055] The present invention will now be described in further detail with reference to the accompanying drawings.
[0056] A robot classification and calibration method based on a distance error model, the specific steps of which are as follows:
[0057] S1: Constructing a robot distance error model based on the DH method.
[0058] First, establish the robot DH parameter table, so as to... Figure 4 Taking the robot shown as an example, according to Figure 4 Based on the robot's dimensional parameters, establish the robot DH parameter table as shown below:
[0059]
[0060]
[0061] Then, based on the DH model, the homogeneous transformation matrix T between adjacent joints is established. i i-1 As shown below:
[0062]
[0063] Among them, Z i X i Let Z and X be the coordinates of the i-th coordinate system.
[0064] Secondly, the transformation relationship T between the robot's end-effector coordinate system and the base coordinate system is constructed. 0 6, as shown below:
[0065]
[0066] Where, α i For the member torsion angle, θ i For joint angle, d i For joint length, a i Let be the length of the link, n be the representation of the x-axis of the sixth link coordinate system in the base coordinate system, o and a be the representations of the y and z axes of the sixth link coordinate system in the base coordinate system, and p be the representation of the origin of the sixth link coordinate system in the base coordinate system. From this, the theoretical pose T of the robot can be obtained. n :
[0067]
[0068] Among them, R n For the robot's theoretical pose, P n This represents the robot's theoretical spatial position. Due to errors Δα in the robot's link parameters... i , △θ i , △d i , △a i The actual pose T of the robot is obtained. r :
[0069]
[0070] Where Rr represents the robot's actual posture and Pr represents the robot's actual spatial position.
[0071] Therefore, the robot's distance error model is as follows:
[0072] ΔL=L r -L n
[0073]
[0074]
[0075] In the formula, ΔL is the actual distance minus the theoretical distance. Let be the actual distance between the i-th point and the (i+1)-th point of the robot. Let be the theoretical distance between the i-th point and the (i+1)-th point of the robot. The theoretical spatial positions of the robot's i-th point and i+1-th point are obtained from the DH model. These are the actual spatial positions of the i-th point and the (i+1)-th point on the robot. i = 1, 2, ..., N. N is the number of measurement points.
[0076] S2: The fitness function is defined as:
[0077]
[0078] Where N is the number of measurement points, the distance between spatial points is measured using a device, and the fitness function f is calculated.
[0079] S3: The specific process of using the improved particle swarm optimization algorithm to optimize and identify the link parameter errors is as follows:
[0080] Step 1: Set the initial parameters of the algorithm, including the search space, the boundary values of the search speed, the population size, and the maximum number of iterations k. max ;
[0081] Step 2: Initialize the population position using the tent chaotic map. First, generate a chaotic sequence in the search space [0,1], and then complete the population initialization, as shown in the following equation;
[0082]
[0083] x i =f(x) n )·(ub-lb)+lb, i=1, 2, 3...N
[0084] In the formula, α is any value in the search space, and ub and lb are the upper and lower bounds of the search space. i x represents the initial position of the particle after the tent chaotic mapping. n These are the initial values for the system.
[0085] Step 3: Calculate the inertia weight coefficient w to control the magnitude of the inertia direction in the next iteration direction;
[0086]
[0087] In the formula, w max 、w min Let be the maximum and minimum values of the inertia coefficient, and k be the current iteration number. max The maximum number of iterations is η, which describes the dispersion of the normal distribution and takes a value of 0.4433.
[0088] Step 4: Change the particle velocity v i (k), to obtain v i (k+1), perform one iteration to find the optimal value; r1 and r2 are random numbers between [-1, 1], x i (k) = [△θ1 … △θ6 △a1 … △a6 △α1 … Δα6 Δd1 … Δd6], which represents the robot's geometric parameter error; P best,i (k) is the optimal position of the i-th particle; G best It is the optimal position for the population.
[0089] v i (k+1)=ωv i (k)+c1r1(P best,i (k)-x i (k))+c2r2(G best -x i (k))
[0090]
[0091] x i (k+1)=x i (k)+λv i (k+1)
[0092] In the formula, c1 and c2 are self-cognitive factors and social cognitive factors, respectively, such that c1 = 2 and c2 = 2, and λ is a control factor; f(x i ) represents the fitness value of the i-th particle. This represents the average fitness of all current particles.
[0093] Step 5: Calculate the value of the fitness function f of the updated particles;
[0094] Step 6: Update the particle's own historical best position;
[0095] Step 7: Determine if the maximum number of iterations k has been reached. max If the condition is not met, return to step 3; if the condition is met, proceed to step 8.
[0096] Step 8: Output the current best particle, i.e., the algorithm terminates.
[0097] S4: Compensate the identified error data of the 24 links of the robot's six-link system into the robot controller to complete the geometric error calibration of the robot.
[0098] S5: The specific process for non-geometric factor calibration based on spatial interpolation error compensation is as follows:
[0099] First, determine the optimal step size by randomly selecting approximately 15 test points within the robot's workspace based on an average distribution. Using each test point as the center, construct multiple cubic grids with step sizes ranging from 10mm to 300mm, each with a step distance of 10mm. Then, use the aforementioned spatial interpolation method for error compensation. Measure the accuracy of the test points at different step sizes after compensation, and determine the step size with the highest accuracy as the optimal step size.
[0100] The robot's workspace is divided into cubic meshes according to the optimal step size, such as... Figure 2 As shown.
[0101] Calculate the theoretical spatial positions P of the 8 vertices of all cubes. n Measure the actual spatial position P of each vertex of the cube. r The positional error corresponding to each vertex of the cube is:
[0102] ΔP i =P r -P n =[Δx i Δy i Δz i ]
[0103] In the formula, Δx i Δy i , △z i This represents the positional error of the robot in the x, y, and z axes.
[0104] Then, the positional error of the robot's target point in the cube mesh is estimated. The principle is as follows: Figure 3 As shown, P is the target point that the robot needs to reach. i (i = 1, 2, ..., 8) represent the 8 vertices of the cube mesh. First, calculate the P of the 8 vertices of the cube mesh. i (x i y i , z i The weight q represents the influence of the position error of the target point P(x, y, z). i :
[0105]
[0106]
[0107] Where, d i The target point P of the robot and each vertex P of the cube are... i The distances between (i = 1, 2, ..., 8) are used to calculate the positional error ΔP(Δx, Δy, Δz) of the target point using the following formula:
[0108]
[0109]
[0110]
[0111] The calculated position error is used to correct the target point, and the corrected value is used to control the robot's movement, thereby improving the robot's motion accuracy.
[0112] This invention provides a more comprehensive and accurate robot calibration method. Most current robot calibration methods rely on single geometric error models based on position error models. This invention employs a distance error model, effectively avoiding errors caused by coordinate system transformations and compensating for non-geometric errors. Compared to the traditional least squares parameter identification process, this invention solves the problem of large errors caused by complex matrix calculations and matrix singularities, thus improving the accuracy of parameter identification.
[0113] The above are preferred embodiments of the present invention, but the embodiments of the present invention are not limited to the above content. Any changes, modifications, substitutions, combinations, or simplifications made without departing from the spirit and principle of the present invention shall be considered equivalent substitutions and shall be included within the protection scope of the present invention.
Claims
1. A robot classification and calibration method based on a distance error model, characterized in that, Includes the following steps: S1: Constructing a robot distance error model based on the DH method; S2: Define the fitness function to be identified by the improved particle swarm optimization algorithm based on the distance error model; S3: An improved particle swarm optimization algorithm is used to optimize and identify the link parameter errors, thereby obtaining the link parameter errors of the robot; S4: Correct the link parameter error data into the robot controller to complete the robot geometry calibration; S5: Divide the robot's workspace into a cubic mesh, measure and calculate the error at the mesh vertices; S6: Perform error compensation based on spatial interpolation to complete the calibration of non-geometric factors; The specific process of using the improved particle swarm optimization algorithm to optimize and identify the link parameter error in S3 is as follows: Step 1: Set the initial parameters of the algorithm, including the search space, the boundary values of the search speed, the population size, and the maximum number of iterations k. max ; Step 2: Initialize the population position using the tent chaotic map: First, generate a chaotic sequence in the search space [0,1], and then complete the initialization of the population, as shown in the following formula; ; ; In the formula, For any value in the search space, These are the upper and lower limits of the search space. This represents the initial position of the particle after the tent chaotic mapping. These are the initial values for the system. Step 3: Calculate the inertia weight coefficient w to control the magnitude of the inertia direction in the next iteration direction; ; In the formula, , Let be the maximum and minimum values of the inertia coefficient, and k be the current iteration number. max The maximum number of iterations, Used to describe the degree of dispersion of the normal distribution; Step 4: Change the particle velocity v i (k), to obtain Perform one iteration to find the optimal value; r1 and r2 are random numbers between [-1, 1], x i (k)= , is the error in the robot's geometric parameters; P best,i (k) is the optimal position of the i-th particle; It is the optimal position for the population; ; ; ; In the formula, c1 and c2 represent self-cognitive factors and social cognitive factors, respectively, such that c1=2 and c2=2. As a control factor; Let be the fitness value of the i-th particle. This represents the average fitness of all current particles. Step 5: Calculate the value of the fitness function f of the updated particles; Step 6: Update the particle's own historical best position; Step 7: Determine if the maximum number of iterations k has been reached. max If the condition is not met, return to step 3; if the condition is met, proceed to step 8. Step 8: Output the current best particle, i.e., the algorithm terminates.
2. The robot classification and calibration method based on a distance error model according to claim 1, characterized in that, The robot distance error model constructed based on the DH method in S1 is as follows: ; ; ; Where, The distance between two actual points of the robot. Let the distance be the distance between the two theoretical points of the robot. Subtract the theoretical distance from the actual distance. Let be the actual distance between the i-th point and the (i+1)-th point of the robot. Let be the theoretical distance between the i-th point and the (i+1)-th point of the robot. , The theoretical spatial positions of the robot's i-th point and i+1-th point are obtained from the DH model. , It represents the actual spatial positions of the i-th point and the (i+1)-th point of the robot, where i = 1, 2, ..., N, and N is the number of measurement points.
3. The robot classification and calibration method based on a distance error model according to claim 2, characterized in that, The fitness function in S2 is f: 。 4. The robot classification and calibration method based on a distance error model as described in claim 1, characterized in that, The error compensation method based on spatial interpolation in S6 is as follows: The robot's workspace is divided into cubic meshes according to the set step size, and the theoretical spatial positions of the eight vertices of all cubes are calculated. Measure the actual spatial position of each vertex of the cube The positional error corresponding to each vertex of the cube is: ; Where, , , The positional error of the robot in the x-axis, y-axis, and z-axis directions; Then, the position error of the robot's target point in the cube mesh is estimated. First, the position error of the eight vertices of the cube mesh is calculated. For target point Weight of position error : ; ; in, The target point of the robot and each vertex P of the cube i The distance between them is used to calculate the position error of the target point using the following formula. : ; The calculated position error is used to correct the target point, and the corrected value is used to control the robot's movement, thereby improving the robot's motion accuracy.
Citation Information
Patent Citations
Industrial robot calibration and spatial position measurement method based on stay wire type encoder
CN114406991A
Kinematic calibration method and equipment for parallel robots based on improved grey wolf algorithm
CN117325156B
Robot calibration method, system and device based on gravitational search algorithm
CN118061181A
Robot calibration method fusing adaptive simulated annealing and particle swarm optimization
CN118752481A
Geometric error and non-geometric error combined robot calibration method
CN114147726A