Robot kinematic parameters and gravity integrated calibration and compensation method and device

By establishing an integrated kinematic and gravity deformation error model for large multi-degree of freedom robots, geometric error parameters are obtained and error compensation is performed, the impact of gravity deformation on end posture error is solved, and calibration and motion accuracy is improved.

CN115816458BActive Publication Date: 2025-08-19TSINGHUA UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211595746.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-13
Publication Date
2025-08-19
Estimated Expiration
2042-12-13

AI Technical Summary

Technical Problem

In the prior art, when a large multi-degree of freedom robot is moved, gravity deformation has a great impact on the end position error and redundant freedom leads to difficulty in error compensation. It is difficult for existing methods to estimate gravity deformation efficiently and accurately and improve calibration accuracy.

Method used

By establishing the robot's kinematic model, geometric error model and gravity deformation error model, the integrated error model of the robot's rigid-flexible coupling is obtained, and geometric error parameters are obtained based on the pose data and integrated error model to perform error compensation.

Benefits of technology

It effectively improves the calibration accuracy and motion accuracy of the large seven-degree of freedom robot, solves the impact of gravity deformation on error, and simplifies the redundant degree of freedom compensation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115816458B_ABST
    Figure CN115816458B_ABST
Patent Text Reader

Abstract

The present application discloses a method, device, electronic device and storage medium for integrated calibration and compensation of robot kinematic parameters and gravity. The method comprises: establishing a kinematic model of the robot; obtaining the robot's posture data; obtaining a geometric error model of the robot based on the kinematic model; establishing an error model of the robot caused by gravity deformation; obtaining an integrated error model of rigid-flexible coupling of the robot based on the geometric error model and the gravity deformation error model; obtaining geometric error parameters based on the posture data and the integrated error model; and performing error compensation on the robot based on the geometric error parameters and the gravity deformation error model. The technical solution of the present application can obtain geometric error parameters based on the posture data and the integrated error model, thereby performing error compensation on the robot based on the geometric error parameters, effectively improving the calibration accuracy and motion accuracy of large-scale seven-degree-of-freedom robots.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of intelligent robots, and in particular to a method and device for integrating robot kinematic parameters and gravity calibration and compensation. Background Art

[0002] For large multi-DOF robots, conventional kinematic calibration is far from sufficient. This is because conventional kinematic calibration only considers geometric errors when modeling errors. However, due to the large size of such robots, they are prone to form cantilever beam structures. The gravity deformation of the robot during movement has a greater impact on the terminal error. Therefore, the gravity deformation of such robots during movement also has a great impact on the terminal posture error.

[0003] Related technologies don't consider both geometric error models and gravity deformation errors simultaneously. Therefore, efficiently and accurately estimating gravity deformation based on geometric error kinematic calibration and considering it in the error model to improve calibration accuracy have become pressing issues. Furthermore, for large multi-DOF robots, due to the presence of redundant degrees of freedom, there are multiple compensation methods available, making it difficult to select the appropriate compensation method. Summary of the Invention

[0004] This application provides a method, device, electronic device, and storage medium for integrated calibration and compensation of robot kinematic parameters and gravity. Based on the kinematic model, geometric error model, and gravity deformation error model, an integrated error model for the robot's rigid-flexible coupling is obtained. Geometric error parameters are then obtained based on the pose data and the integrated error model. This allows for error compensation of the robot based on the geometric error parameters, effectively improving the calibration and motion accuracy of large-scale seven-degree-of-freedom robots.

[0005] In a first aspect, an embodiment of the present application provides a method for integrated calibration and compensation of robot kinematic parameters and gravity, including: establishing a kinematic model of the robot; obtaining the posture data of the robot; obtaining a geometric error model of the robot based on the kinematic model; establishing a gravity deformation error model of the robot caused by gravity deformation; obtaining an integrated error model of rigid-flexible coupling of the robot based on the geometric error model and the gravity deformation error model; obtaining geometric error parameters based on the posture data and the integrated error model; and performing error compensation on the robot based on the geometric error parameters and the gravity deformation error model.

[0006] In this technical solution, an integrated error model of the robot's rigid-flexible coupling can be obtained based on the kinematic model, geometric error model and gravity deformation error model, and the geometric error parameters can be obtained based on the posture data and the integrated error model. Based on the geometric error parameters, the robot can be error compensated, effectively improving the calibration accuracy and motion accuracy of the large seven-degree-of-freedom robot.

[0007] In one implementation, the robot includes multiple nodes and multiple beam units, and establishing a gravity deformation error model of the robot caused by gravity deformation includes: obtaining multiple stiffness matrices of the multiple beam units; obtaining the overall stiffness matrix of the robot based on the multiple stiffness matrices; obtaining multiple displacements and multiple rotation angles of the multiple nodes based on the overall stiffness matrix; and obtaining the gravity deformation error model based on the multiple displacements and the multiple rotation angles.

[0008] In this technical solution, the stiffness matrix of each node can be obtained, and an error model of the robot caused by gravity deformation can be established based on multiple stiffness matrices. Thus, based on the kinematic model, geometric error model and gravity deformation error model, an integrated error model of the robot's rigid-flexible coupling can be obtained, and based on the posture data and the integrated error model, the geometric error parameters can be obtained. Based on the geometric error parameters, the robot can be error compensated, effectively improving the calibration accuracy and motion accuracy of the large seven-degree-of-freedom robot.

[0009] In one implementation, the integrated error model of the rigid-flexible coupling of the robot is obtained based on the geometric error model and the gravity deformation error model, including: obtaining a first error parameter based on the geometric error model; performing parameter classification on the first error parameter to obtain a classification result; processing the first error parameter based on the classification result to obtain a second error parameter; and obtaining the integrated error model based on the second error parameter, the geometric error model and the gravity deformation error model.

[0010] In an optional implementation, the classification result includes at least one of an independent error parameter, a redundant error parameter and an ineffective error parameter, and the processing of the first error parameter based on the classification result includes: in response to the first error parameter being the independent error parameter, using the first error parameter as the second error parameter; or, in response to the first error parameter being the redundant error parameter, selecting one from the first error parameters as the second error parameter; or, in response to the first error parameter being the ineffective error parameter, eliminating the first error parameter.

[0011] In one implementation, the robot includes multiple joints, and the error compensation of the robot based on the geometric error parameters and the gravity deformation error model includes: S1, obtaining the ideal kinematic inverse solution of the robot; S2, obtaining the theoretical end position and posture of the robot based on the ideal kinematic inverse solution; S3, obtaining the end gravity deformation of the robot based on the gravity deformation error model; S4, obtaining the end error kinematic forward solution based on the geometric error parameters; S5, obtaining the posture error based on the theoretical end position and posture, the end gravity deformation and the end error kinematic forward solution; S6, determining the fixed joint from the multiple joints; S7, obtaining the parameter compensation amount based on the fixed joint and the posture error; S8, performing error compensation on the robot based on the parameter compensation amount; S9, in response to the parameter compensation amount being greater than or equal to a preset threshold, returning to step S1; or, in response to the parameter compensation amount being less than a preset threshold, completing the error compensation.

[0012] This technical solution can be used to obtain pose errors based on geometric error parameters, and to identify fixed joints among the robot's multiple joints. Based on the fixed joints and pose errors, a parameter compensation value is then obtained, and the robot's error compensation is performed based on the parameter compensation value. This solves the problem of multiple solutions to inverse kinematics for multi-degree-of-freedom robots, which makes error compensation difficult.

[0013] In an optional implementation, determining the fixed joint from the multiple joints includes: acquiring multiple evaluation values of the multiple joints; and determining the fixed joint from the multiple joints based on the multiple evaluation values.

[0014] Optionally, the evaluation value is the sensitivity of the joint to the influence of inertia, and determining the fixed joint from the multiple joints based on the multiple evaluation values includes: comparing the multiple sensitivities to obtain the maximum sensitivity; and determining the joint corresponding to the maximum sensitivity as the fixed joint.

[0015] In the second aspect, an embodiment of the present application provides a robot kinematic parameter and gravity integrated calibration and compensation device, including: a first processing module for establishing a kinematic error model and a geometric error model of the robot; an acquisition module for acquiring the posture data of the robot; a second processing module for acquiring the geometric error model of the robot based on the kinematic model; a third processing module for establishing a gravity deformation error model of the robot caused by gravity deformation; a fourth processing module for acquiring an integrated error model of rigid-flexible coupling of the robot based on the geometric error model and the gravity deformation error model; a fifth processing module for acquiring geometric error parameters based on the posture data and the integrated error model; and a compensation module for performing error compensation on the robot based on the geometric error parameters and the gravity deformation error model.

[0016] In one implementation, the robot includes multiple nodes and multiple beam units, and the third processing module is specifically used to: obtain multiple stiffness matrices of the multiple beam units; obtain the overall stiffness matrix of the robot based on the multiple stiffness matrices; obtain multiple displacements and multiple rotation angles of the multiple nodes based on the overall stiffness matrix; and obtain the gravity deformation error model based on the multiple displacements and the multiple rotation angles.

[0017] In one implementation, the fourth processing module is specifically used to: obtain a first error parameter based on the geometric error model; perform parameter classification on the first error parameter to obtain a classification result; process the first error parameter based on the classification result to obtain a second error parameter; and obtain the integrated error model based on the second error parameter, the geometric error model and the gravity deformation error model.

[0018] In an optional implementation, the classification result includes at least one of an independent error parameter, a redundant error parameter and an ineffective error parameter, and the fourth processing module is specifically used to: in response to the first error parameter being the independent error parameter, use the first error parameter as the second error parameter; or, in response to the first error parameter being the redundant error parameter, select one from the first error parameters as the second error parameter; or, in response to the first error parameter being the ineffective error parameter, eliminate the first error parameter.

[0019] In one implementation, the robot includes multiple joints, and the compensation module is specifically used to: S1, obtain the ideal kinematic inverse solution of the robot; S2, obtain the theoretical end position and posture of the robot based on the ideal kinematic inverse solution; S3, obtain the end gravity deformation of the robot based on the gravity deformation error model; S4, obtain the end error kinematic forward solution based on the geometric error parameters; S5, obtain the posture error based on the theoretical end posture, the end gravity deformation and the end error kinematic forward solution; S6, determine the fixed joint from the multiple joints; S7, obtain the parameter compensation amount based on the fixed joint and the posture error; S8, perform error compensation on the robot based on the parameter compensation amount; S9, in response to the parameter compensation amount being greater than or equal to a preset threshold, return to step S1; or, in response to the parameter compensation amount being less than the preset threshold, complete the error compensation.

[0020] In an optional implementation, the compensation module is specifically configured to: obtain multiple evaluation values of the multiple joints; and determine a fixed joint from the multiple joints based on the multiple evaluation values.

[0021] Optionally, the evaluation value is the sensitivity of the joint to the influence of inertia, and the compensation module is specifically used to: compare the multiple sensitivities to obtain the maximum sensitivity; and determine the joint corresponding to the maximum sensitivity as the fixed joint.

[0022] In a third aspect, an embodiment of the present application provides an electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the robot kinematic parameter and gravity integrated calibration and compensation method as described in the first aspect.

[0023] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium for storing instructions, which, when executed, enables the method described in the first aspect to be implemented.

[0024] In a fifth aspect, an embodiment of the present application provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the robot kinematic parameter and gravity integrated calibration and compensation method as described in the first aspect.

[0025] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The accompanying drawings are provided to facilitate a better understanding of the present invention and do not constitute a limitation of the present application.

[0027] Figure 1 Schematic diagram of a robot kinematic parameter and gravity integrated calibration and compensation method provided in an embodiment of the present application;

[0028] Figure 2 Schematic diagram of a seven-degree-of-freedom spraying robot provided in an embodiment of the present application;

[0029] Figure 3 is a schematic diagram of a robot node coordinate system provided in an embodiment of the present application;

[0030] Figure 4 Schematic diagram of another robot kinematic parameter and gravity integrated calibration and compensation method provided in an embodiment of the present application;

[0031] Figure 5 This is a simplified structural diagram of a seven-degree-of-freedom robot provided in an embodiment of the present application;

[0032] Figure 6 is a schematic diagram of a robot finite element overall coordinate system provided in an embodiment of the present application;

[0033] Figure 7 This is a schematic diagram of an equivalent uniform load distribution of a robot provided in an embodiment of the present application;

[0034] Figure 8 Schematic diagram of another robot kinematic parameter and gravity integrated calibration and compensation method provided in an embodiment of the present application;

[0035] Figure 9 is a schematic diagram of a robot error compensation method provided in an embodiment of the present application;

[0036] Figure 10 This is a schematic diagram of joint inertia sensitivity provided by an embodiment of the present application;

[0037] Figure 11 This is a comparison chart of the robot accuracy test results before and after an integrated calibration provided in an embodiment of the present application;

[0038] Figure 12 This is a comparison chart of robot accuracy testing results after traditional calibration and integrated calibration provided in an embodiment of the present application;

[0039] Figure 13 This is a flow chart of a method for integrated calibration and compensation of robot kinematic parameters and gravity provided in an embodiment of the present application;

[0040] Figure 14is a schematic diagram of an error compensation solution provided in an embodiment of the present application;

[0041] Figure 15 Schematic diagram of a robot kinematic parameter and gravity integrated calibration and compensation device provided in an embodiment of the present application;

[0042] Figure 16 is a schematic block diagram of an example electronic device that can be used to implement embodiments of the present application. DETAILED DESCRIPTION

[0043] The following description of exemplary embodiments of the present application is made in conjunction with the accompanying drawings, including various details of the embodiments of the present application to facilitate understanding. These details should be considered as merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present application. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0044] In the description of this application, unless otherwise specified, " / " represents or. For example, A / B can represent A or B. "And / or" in this application is merely a description of the association relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. The various numbers such as first and second mentioned in this application are only for convenience of description and are not intended to limit the scope of the embodiments of this application, nor do they indicate a sequential order.

[0045] See Figure 1 , Figure 1 Schematic diagram of a robot kinematic parameters and gravity integrated calibration and compensation method provided in an embodiment of the present application. Figure 1 As shown, the method may include but is not limited to the following steps:

[0046] Step S101: establishing a kinematic model of the robot.

[0047] In the embodiment of the present application, the robot may be a seven-degree-of-freedom robot. Figure 2 , Figure 2 Schematic diagram of a seven-degree-of-freedom spraying robot provided in an embodiment of the present application. Figure 2As shown, the robot has seven joints, including two mobile joints and five revolute joints, making it a kinematically redundant robot with seven degrees of freedom. For ease of description, the seven joints are numbered 1 to 7, from the base to the end of the robot. The base of the robot is connected to the pedestal via joint 1, allowing the robot to move along the axis of the workpiece to spray the entire surface. The base is connected to the waist via joint 2, which controls the robot's lateral swing. The waist is connected to the upper arm via joint 3, which in turn connects to the lower arm via joint 4. Joints 3 and 4 are two parallel revolute joints that control the pitch angles of the upper arm and lower arm, respectively. Joint 5 on the lower arm controls the arm's rotation about its own axis. Joint 6 controls the arm's telescopic movement, increasing its workspace and flexibility without increasing the robot's size. The spray gun is mounted at the end of the lower arm, oriented along the x7 axis. Therefore, joint 7 controls the angle between the spray gun and the arm's axis. The rotary joints of joint 5 and joint 7, whose axes are perpendicular to each other, can ensure that the spray gun points to any direction in space.

[0048] For example, the kinematic homogeneous transformation matrix of the robot is established according to the DH (Denavit-Hartenberg) method. As an example, see Figure 3 , Figure 3 This is a schematic diagram of a robot node coordinate system provided by an embodiment of the present application. Figure 3 As shown, a corresponding coordinate system is established for each node, and the relative position relationship between node i (i≤7) and node i-1 can be described by four parameters, namely: Z i-1 Axis to Z i Axis along X i-1 Axial distance a i-1 , Z i-1 Axis to Z axis around X i-1 Axis rotation angle α i-1 , X i-1 Axis to X i Axis along Z i Axial distance d i and X i-1 Axis to X i Axis around Z i Axis rotation angle θ i . Then from the coordinate system O i-1 -X i-1 Y i-1 Z i-1 To coordinate system O i -X i Y i Z i The homogeneous transformation matrix (i.e., kinematic model) can be expressed as:

[0049]

[0050] in, i-1 T i is the homogeneous transformation matrix, R X Z i-1 Axis to Z i Axis along X i-1 The vector consisting of the distance in the axis direction, D X Z i-1 Axis to Z axis around X i-1 Axis rotation angle α i-1 The vector composed of R Z For X i-1 Axis to X i Axis around Z i The vector composed of the rotation angle of the axis, D Z For X i-1 Axis to X i Axis along Z i A vector consisting of distances along the axis.

[0051] Thus, the DH parameters of each joint of the robot can be obtained. According to the DH convention, a coordinate system is established on each node of the robot. According to the establishment method of the DH coordinate system, the DH parameters of each joint are substituted into formula (1) to obtain the homogeneous transformation matrix between adjacent joints. 0 T1~ 6 T7. By multiplying these homogeneous transformation matrices in sequence, we can obtain the homogeneous transformation matrix from the robot base coordinate system to the end effector coordinate system as follows:

[0052]

[0053] Among them, n x =s2s5c7-c2s 34 s7+c2c 34 c5c7,o x =-s2s5s7-c2s 34 c7-c2c 34 c5s7, a x =-s2c5+c2c 34 s5, p x =a2c2+a3c2c3+a4c2c 34 -d6c2s 34 , n y =-s 34 c5c7-c 34 s7,o y =s 34 c5s7-c 34 c7, a y=-s 34 s5, p y =d2-a3s3-a4s 34 -d6c 34 , n z =c2s5c7+s2s 34 s7-s2c 34 c5c7,o z =-c2s5s7+s2s 34 c7+s2c 34 c5s7, a z =-s2c 34 s5-c2c5,p z =d1-a2s2-a3s2c3-a4s2c 34 +d6s2s 34 , s i = sinθ i , c i =cosθ i , s 34 =sin(θ3+θ4), c 34 =cos(θ3+θ4), d2, a2, a3 and a4 are the structural parameters of the robot, and d1, θ2, θ3, θ4, θ5, d6 and θ7 are the joint variables of the robot's 7 joints.

[0054] like Figure 3 As shown in the figure, the third and fourth axes of the seven-degree-of-freedom robot are parallel, so when modeling the error, it is necessary to add a rotation parameter β around the Y axis to make the Z i-1 Axis transformation to Z i axis, thus avoiding the defects of the DH model. The other definitions of this model are the same as those of the DH model. When the axes of adjacent connecting rods are parallel, set X i-1 Axis to X i Axis along Z i Axial distance d i When the axes of the two adjacent banks are not parallel, set the rotation angle β i is zero. Its coordinate transformation matrix is:

[0055] i-1 T i =R X (α i-1 )D X (α i-1 )R Z (θ i )D Z (d i )R Y (β i ) (3)

[0056] Step S103: Acquire a geometric error model of the robot based on the kinematic model.

[0057] Differentiating formula (3) yields:

[0058]

[0059] By fully differentiating formula (4), we can obtain:

[0060]

[0061] Assumptions:

[0062]

[0063] Among them, D α , D a , D θ , D d , D β is the coefficient matrix. By the inverse transformation of the posture, we can get i-1 T i The inverse matrix is:

[0064]

[0065] The simultaneous equations (6) and (7) yield:

[0066]

[0067] Where c represents cosine and s represents sin. Similarly, we can get:

[0068]

[0069] Combining formula (4) and formula (5) we can get:

[0070]

[0071] By differentiating between coordinates, we can obtain:

[0072] d i-1 T i = i-1 T i Δ i (14)

[0073] Among them, Δ i is the differential transformation matrix of joint i in the joint i-1 joint coordinate system, which can be expressed as:

[0074]

[0075] Among them, dx i ,dyi and dz i is the differential translation; δx i ,δy i and δz i is the differential rotation amount.

[0076] Combining formula (13) and formula (15) we can get:

[0077]

[0078] Formula (16) can be simplified as:

[0079] D i =G i E i (17) in:

[0080]

[0081] It is understandable that the end-position error of the robot is the sum of the errors of each joint of the robot. Since the actual measurement is to obtain the joint errors of the robot, it is necessary to transform the errors of each joint of the robot to the end of the robot to obtain the corresponding end-position error. According to the principle of robot differential transformation, the differential error transformation matrix from the coordinate system of joint i to the coordinate system of the end can be obtained as:

[0082]

[0083] in, and is the value in the transformation matrix from the joint i coordinate system to the end coordinate system. The error of the robot end caused by joint i can be obtained as:

[0084]

[0085] The total end error caused by all joints of the robot (i.e., geometric error model) can be expressed as:

[0086]

[0087] Among them, e is the total error at the end, and dr represents the total error parameter after stacking all DH parameter errors.

[0088] Step S103: Acquire the posture data of the robot.

[0089] For example, the position and posture data of the robot is obtained through measurement.

[0090] Step S104: establishing a gravity deformation error model of the robot caused by gravity deformation.

[0091] For example, multiple stiffness matrices corresponding to various components of the robot are extracted through simulation software, and an error model of the robot caused by gravity deformation is established based on the multiple stiffness matrices.

[0092] Step S105 : obtaining an integrated error model of rigid-flexible coupling of the robot based on the geometric error model and the gravity deformation error model.

[0093] For example, error parameters are obtained based on the geometric error model, and based on the error parameters, the geometric error model and the gravity deformation error model caused by gravity deformation are combined to obtain an integrated error model of the rigid-flexible coupling of the robot.

[0094] Step S106: obtaining geometric error parameters based on the pose data and the integrated error model.

[0095] For example, according to the pose data, the regularized least squares method is used to solve the error model parameters to obtain the geometric error parameters.

[0096] Step S107 : performing error compensation on the robot based on the geometric error parameters and the gravity deformation error model.

[0097] For example, based on the geometric error parameters and the gravity deformation error model, the error between the actual position and the theoretical position of the robot is obtained, and the robot is compensated based on the error.

[0098] By implementing the embodiments of the present application, an integrated error model of the rigid-flexible coupling of the robot can be obtained based on the kinematic model, the geometric error model and the error model, and the geometric error parameters can be obtained based on the posture data and the integrated error model. Thus, the robot can be error compensated based on the geometric error parameters, thereby effectively improving the calibration accuracy and motion accuracy of the large seven-degree-of-freedom robot.

[0099] In one implementation, the robot includes multiple nodes and multiple beam elements. The stiffness matrix of each beam element can be obtained, and a gravity deformation error model of the robot caused by gravity deformation can be established based on the multiple stiffness matrices. As an example, see Figure 4 , Figure 4 Schematic diagram of another robot kinematic parameters and gravity integrated calibration and compensation method provided in the embodiment of the present application. Figure 4 As shown, the method may include but is not limited to the following steps:

[0100] Step S401: Establishing a kinematic model of the robot.

[0101] In the embodiment of the present application, step S401 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0102] Step S402: Obtain the pose data of the robot.

[0103] In the embodiments of the present application, step S402 can be implemented in any one of the embodiments of the present application, and the embodiments of the present application do not limit this and will not be elaborated further.

[0104] Step S403: Obtain the geometric error model of the robot based on the kinematic model.

[0105] In the embodiments of the present application, step S403 can be implemented in any one of the embodiments of the present application, and the embodiments of the present application do not limit this and will not be elaborated further.

[0106] Step S404: Obtain multiple stiffness matrices of multiple beam elements.

[0107] For example, the overall structure of the robot can be simplified to a structure with multiple nodes and multiple beam elements. As an example, please refer to Figure 5 , Figure 5 which is a schematic diagram of the simplified structure of a seven-degree-of-freedom robot provided by the embodiments of the present application. As shown in Figure 5 , the overall structure of the seven-degree-of-freedom robot can be simplified to a structure with 10 nodes and 10 beam elements. Among them, the structure from robot node 1 to node 2 is regarded as beam element 1; the mechanism between node 2 and node 3 is regarded as beam element 2; the large arm between node 3 and node 4 is regarded as beam element 3; the connecting rod between node 3 and the small arm is regarded as beam element 4; the small arm is regarded as beam element 5; beam element 8 is the telescopic sleeve and hinge mechanism of the robotic arm; the connecting rod between node 7 and the hinge is regarded as beam element 10. Beam element 7 is perpendicular to beam element 8 and beam element 6 respectively; beam elements 3, 4, 5, and 6 are parallelogram mechanisms.

[0108] The global finite element coordinate system of this robot can be defined as follows: The origin of the global finite element coordinate system o-xy coincides with the origin O1 of the O1-X1Y1Z1 coordinate system in the D-H coordinate system of the robotic arm, the x direction always coincides with the X2 direction of the robotic arm coordinate system O1-X2Y2Z2, and the y direction is opposite to the gravity direction. As an example, please refer to Figure 6 , Figure 6 which is a schematic diagram of the global finite element coordinate system of a robot provided by the embodiments of the present application.

[0109] The local coordinate system corresponding to each beam element of this robot can be defined as follows: Assume that the two nodes included in each beam element are node j and node k and j < k. Take node j as the origin of the local coordinate system, and the direction from node j to node k as the positive x-axis direction of the local coordinate system of this beam element, and take the axis obtained by rotating the x-axis counterclockwise by π / 2 as the y-axis of the local coordinate system.

[0110] Considering only the deformation of the manipulator under the influence of gravity, the small deformation hypothesis theory is adopted to convert the uniformly distributed load into the node load through the equivalent principle. The node force is positive when it is tensile and the bending moment is positive when it is counterclockwise. For beam element i, the mass of beam element i is assumed to be m i (unit is kg), length is l i (Unit is meter), in particular, the length of beam element 9 is l9=l o +d6(l o (where d6=0 is the length of the hinge in the DH coordinates) When the local coordinate x direction of the beam element is consistent with the horizontal direction, the equivalent nodal load is as follows Figure 6 As shown. Among them, This concentrated load is positive, indicating that Figure 6 The direction shown in is consistent with that in the figure, and the same applies to the subsequent bending moments. Based on the global coordinate system and the local coordinate system of each beam element, it is assumed that the angle between the local coordinate system of each beam element and the global coordinate system of the finite element is:

[0111] β=[β1 β2…β 10 ] T (twenty one)

[0112] Among them, β i is the local coordinate system x of beam element i (i≤10) i y i The angle with the finite element global coordinate system o-xy is positive when rotating from the finite element global coordinate system to the local coordinate system. β1 = π / 2, β2 is a fixed value that is not zero and can be obtained by measuring the geometric relationship of the manipulator structure. The other elements in the vector β can be described using the variables of the manipulator in the DH coordinate system and the geometric relationship of each beam element, as shown below:

[0113]

[0114] Assume that the stiffness matrix of beam element i in its local coordinate system is K i Then the stiffness matrix of this beam element in the finite element global coordinate system can be expressed as:

[0115]

[0116] in, is the stiffness matrix of the robot as a whole, matrix T i It can be expressed as:

[0117]

[0118] It should be noted that since the stiffness of the beam element 9 changes with the expansion and contraction (corresponding to parameter θ5) and rotation (corresponding to parameter d6) of the hinge, the stiffness matrix K9 of the beam element 9 can be expressed as follows:

[0119]

[0120] Among them, the coefficient f of the above matrix 11 、f 12 、f 13 、f 21 、f 22 、f 23 、f 31 、f 32 、f 33 、g 11 、g 12 、g 13 、g 21 、g 22 、g 23 、g 31 、g 32 and g 33 The stiffness matrix data of the beam element 9 extracted in simulation software (eg, ANSYS Workbench) can be used for fitting.

[0121] Step S404: Obtaining the overall stiffness matrix of the robot based on multiple stiffness matrices.

[0122] Assume that the displacement q of node i in the finite element global coordinate system is i And the load F i As shown below:

[0123]

[0124] F i =[F xi F yi M i ] (28)

[0125] Among them, u i and v i The unit is meter, The unit is rad. i is the displacement of node i in the x-axis direction, v i is the displacement of node i in the y-axis direction, F is the rotation angle of node i in the z direction. xi is the force in the x direction under the global coordinates, F yi is the force in the x direction under the global coordinates, M iis the node gravity. Then the displacement and load of the robot in the finite element global coordinate system can be expressed as:

[0126] q=[q1 q2...q 10 ] T (29)

[0127] F=[F1 F2…F 10 ] T (30)

[0128] Where q is the displacement of the robot in the finite element global coordinate system, and F is the load of the robot in the finite element global coordinate system.

[0129] Assume that the overall stiffness matrix of the robot is Then we can get:

[0130]

[0131] Thus, the overall stiffness matrix of the robot can be obtained.

[0132] Step S406: Acquire multiple displacements and multiple rotation angles of multiple nodes based on the global stiffness matrix.

[0133] It's understandable that when considering only the effects of gravity, the load on each beam element of the robot is uniformly distributed. Furthermore, the y-axis of the finite element global coordinate system aligns with the direction of gravity, making it simpler to analyze node forces within the finite element global coordinate system. Since the robot has no x-axis load in the global coordinate system, the x-force on each node in the global coordinate system is guaranteed to be zero, as shown below:

[0134] F xi =0 (32)

[0135] The equivalent gravity load on all nodes except node 1 is the total load on all nodes in the finite element global coordinate system. As an example, see Figure 7 , Figure 7 This is a schematic diagram of a robot uniform load equivalent provided by an embodiment of the present application. Figure 7 As shown, the total loads of all nodes except node 1 can be obtained. The total loads of nodes 2, 4, 5, 7, 8 and 9 can be expressed as:

[0136]

[0137] Where i = 2, 4, 5, 7, 8, 9. The total load at node 10 can be expressed as:

[0138]

[0139] The total load on nodes 3 and 6 can be expressed as:

[0140]

[0141] where i = 3, 4. Since node 1 is a fixed support, the effect of F1 on the end offset can be ignored. By eliminating the corresponding rows and columns in equation (31) using boundary conditions, the displacement and rotation of each node can be obtained.

[0142] Step S407: Obtain a gravity deformation error model based on the multiple displacements and the multiple rotation angles.

[0143] Assume that the robot end coordinate system without considering the influence of gravity is O j X j Y j Z j , the robot end coordinate system after considering the influence of gravity is O′ j X′ j Y′ j Z′ j Here we define the homogeneous transformation matrix from coordinate system O7X7Y7Z7 to coordinate system O′7X′7Y′7Z′7 as 7 T 7′ Node 9 is the origin O7 of the coordinate system O7X7Y7Z7, so the translation vector of the coordinate system O7X7Y7Z7 can be expressed in the finite element global coordinate system as:

[0144] λ9=[u9 v9 0] (36) Among them, λ9 is the translation vector of node 9, u9 is the displacement of node 9 in the x-axis direction, and v9 is the displacement of node 9 in the y-axis direction.

[0145] Similarly, we can get the expression of λ9 in the coordinate system O7X7Y7Z7 7 λ9 is:

[0146] 7 λ9=( 2 R3 3 R4 4 R5 5 R6 6 R7) T2 Rλ9 (37)

[0147] Thus, the homogeneous transformation matrix from coordinate system O7X7Y7Z7 to coordinate system O′7X′7Y′7Z′7 can be obtained 7 T 7′ (i.e. gravity deformation error model) is:

[0148]

[0149] Among them, O 1×3 is a 1-row, 3-column zero matrix, and 7 R 7′ The following conditions are met.

[0150]

[0151] in,

[0152] Step S408: Based on the geometric error model and the gravity deformation error model, an integrated error model of the rigid-flexible coupling of the robot is obtained.

[0153] In the embodiment of the present application, step S408 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0154] Step S409: Acquire geometric error parameters based on the pose data and the integrated error model.

[0155] In the embodiment of the present application, step S409 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0156] Step S410: performing error compensation on the robot based on the geometric error parameters and the gravity deformation error model.

[0157] In the embodiment of the present application, step S410 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0158] By implementing the embodiments of the present application, the stiffness matrix of each node can be obtained, and a gravity deformation error model of the robot caused by gravity deformation can be established based on multiple stiffness matrices. Thus, based on the kinematic model, the geometric error model and the gravity deformation error model, an integrated error model of the rigid-flexible coupling of the robot can be obtained, and the geometric error parameters can be obtained based on the posture data and the integrated error model. Thus, based on the geometric error parameters, the robot can be error compensated, thereby effectively improving the calibration accuracy and motion accuracy of the large seven-degree-of-freedom robot.

[0159] In one implementation, a first error parameter can be obtained based on the kinematic error model, and the first error parameter can be processed to obtain a second error parameter, thereby obtaining an integrated error model based on the second error parameter, the geometric error model, and the error model. As an example, see Figure 8 , Figure 8 Schematic diagram of another robot kinematic parameters and gravity integrated calibration and compensation method provided in the embodiment of the present application. Figure 8As shown, the method may include but is not limited to the following steps:

[0160] Step S801: Establish a kinematic model of the robot.

[0161] In the embodiment of the present application, step S801 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0162] Step S802: Acquire the robot's posture data.

[0163] In the embodiment of the present application, step S802 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0164] Step S803: Obtaining a geometric error model of the robot based on the kinematic model.

[0165] In the embodiment of the present application, step S803 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0166] Step S804: establishing a gravity deformation error model of the robot caused by gravity deformation.

[0167] In the embodiment of the present application, step S804 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0168] Step S805: Obtain a first error parameter based on the geometric error model.

[0169] For example, the DH parameter in formula (20) is obtained as the first error parameter.

[0170] Step S805: performing parameter classification on the first error parameter to obtain a classification result.

[0171] For example, the first error parameter is identified and classified according to the correlation between the column vectors of the Jacobian matrix to obtain a classification result.

[0172] Step S806: Process the first error parameter based on the classification result to obtain a second error parameter.

[0173] In an optional implementation, the classification result includes at least one of an independent error parameter, a redundant error parameter, and an ineffective error parameter, and the first error parameter is processed based on the classification result, including: in response to the first error parameter being an independent error parameter, using the first error parameter as the second error parameter; or, in response to the first error parameter being a redundant error parameter, selecting one from the first error parameters as the second error parameter; or, in response to the first error parameter being an ineffective error parameter, eliminating the first error parameter.

[0174] As an example, in response to the first error parameter being an independent error parameter, the first error parameter is not processed and is directly used as the second error parameter.

[0175] As another example, in response to the first error parameter being a redundant error parameter, and there being multiple redundant error parameters, one of the first error parameters is selected as the second error parameter.

[0176] As another example, in response to the first error parameter being an ineffective error parameter, the first error parameter is eliminated.

[0177] Among them, in the embodiments of the present application, independent error parameters refer to error parameters that can be directly identified, which means that the columns of the Jacobian matrix corresponding to this type of error parameters are not linearly correlated with other columns; redundant error parameters mean that the columns of the Jacobian matrix corresponding to this type of error parameters are linearly correlated with other columns, and they will affect each other during the identification process, so only one is retained; ineffective error parameters mean that this type of error parameters has no effect on the terminal error, and this parameter cannot be identified and should be eliminated.

[0178] As an example, the transformation matrix from the coordinate system of robot joint i to the robot base coordinate system can be expressed as:

[0179]

[0180] Then the transformation matrix from the coordinate system of the previous joint i-1 to the robot base is It can be expressed as:

[0181]

[0182] The transformation matrix of the coordinate system of joint i and the transformation matrix of the coordinate system of joint i-1 have the following relationship:

[0183]

[0184] Therefore, the column vectors in the transformation matrix from the coordinate system of robot joint i to the robot base coordinate system can be expressed as follows:

[0185] n i=cθ i *n i-1 +sθ i cα i-1 *o i-1 +sθ i sα i-1 *a i-1 (42)

[0186] o i =-sθ i *n i-1 +cθ i cα i-1 *o i-1 +cθ i sα i-1 *a i-1 (43)

[0187] a i =-sα i-1 *o i-1 +cα i-1 *a i-1 (44)

[0188] p i =a i-1 *n i-1 -d i sα i-1 *o i-1 +d i cα i-1 *a i-1 +p i-1 (45)

[0189] The Jacobian matrix J is obtained by fully differentiating all kinematic parameters, with Ja i-1 ,Jα i-1 ,Jd i ,Jθ i ,Ja i-1 Representing the columns of the Jacobian matrix corresponding to the five DH parameters, the Jacobian matrix shown below can be obtained:

[0190] J=[J ai-1 J αi-1 J di J θi J βi ] (46)

[0191] According to the robot differential kinematics, the column vector of the Jacobian matrix at any joint can be expressed in the form of vector cross product:

[0192]

[0193] Combining the above formulas, we can know that:

[0194]

[0195] Substituting the theoretical values of kinematic parameters into the above equations, we can obtain the following conclusions:

[0196] (1) If α i-1 ≠0, no redundant error parameters.

[0197] (2) If α i-1 =0 and a i-1 ≠0, then δd i-1 and δd i Mutual redundancy requires removing one of the parameters and introducing δβ i To identify.

[0198] (3) If α i-1 =0 and α i-1 =0, then δd i-1 and δd i Mutual redundancy, δθ i-1 and δθ i Mutual redundancy requires parameter elimination.

[0199] (4) If θ i =0 and d i ≠0, then δa i-1 and δa i Mutual redundancy requires parameter elimination.

[0200] (5) If θ i =0 and d i =0, then δα i-1 and δα i Mutual redundancy, δa i-1 and δa i Mutual redundancy requires parameter elimination.

[0201] Step S808: obtaining an integrated error model based on the second error parameter, the geometric error model and the gravity deformation error model.

[0202] For example, the nominal parameters and the parameters after driving direction compensation are obtained according to the second error parameter, and the geometric error model and the error model are converted according to the nominal parameters and the parameters after driving direction compensation to obtain an integrated error model, which can be expressed as follows:

[0203]

[0204] Among them, e′ is the integrated error model, J′ is the error transfer matrix (i.e. error model) of the robot end under the influence of gravity deformation, e is the geometric error model, iJ7 is the error transfer matrix from the joint i coordinate system to the end coordinate system, J * is the error Jacobian matrix after considering gravity deformation.

[0205] Step S809: Obtaining geometric error parameters based on the pose data and the integrated error model.

[0206] In the embodiment of the present application, step S809 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0207] Step S810: performing error compensation on the robot based on the geometric error parameters and the gravity deformation error model.

[0208] In the embodiment of the present application, step S810 can be implemented in any of the ways in the embodiments of the present application. The embodiment of the present application does not limit this and will not be described in detail.

[0209] By implementing the embodiments of the present application, an integrated error model for the robot's rigid-flexible coupling can be obtained based on the kinematic model, geometric error model, and gravity deformation error model. Geometric error parameters can then be obtained based on the pose data and the integrated error model, allowing for error compensation of the robot based on the geometric error parameters. This effectively improves the calibration accuracy and motion precision of large-scale seven-degree-of-freedom robots. Furthermore, error parameters are classified, screened, and eliminated when establishing the geometric error model, effectively improving the identifiability of such robot errors.

[0210] It is understandable that for a large 7-DOF robot, since the inverse kinematics including errors cannot be directly solved using analytical expressions, the Jacobian matrix iteration method can be used to solve the inverse kinematics including errors. However, this robot contains 7 joints, which means that the 6×7 Jacobian matrix has no inverse, and only 6 joints are needed to compensate for the calibration and identification errors. In one implementation, a fixed joint can be determined from multiple joints to compensate for the calibration and identification errors based on the fixed joint. As an example, see Figure 9 , Figure 9 Schematic diagram of a robot error compensation method provided by an embodiment of the present application. Figure 9 As shown, the method may include but is not limited to the following steps:

[0211] S1, obtain the ideal inverse kinematic solution of the robot.

[0212] For example, the ideal kinematic inverse solution of the robot without errors is obtained through the inverse solution article.

[0213] S2, based on the inverse solution of ideal kinematics, obtains the theoretical end position of the robot.

[0214] For example, based on the inverse solution of ideal kinematics, the theoretical end position of the robot is obtained.

[0215] S3, based on the gravity deformation error model, obtains the end gravity deformation of the robot.

[0216] S4, based on the geometric error parameters, obtain the positive kinematic solution of the terminal error.

[0217] For example, based on the geometric error parameters, the end error kinematics solution corresponding to the current posture of the robot is calculated.

[0218] S5, based on the theoretical end-point posture, end-point gravity deformation and end-point error kinematics forward solution, obtain the posture error.

[0219] For example, based on the theoretical end-point posture, end-point gravity deformation, and end-point error kinematics, the posture error is calculated using the following formula.

[0220] e k =pf k -g k (53)

[0221] Among them, e k is the posture error, p is the ideal kinematic inverse solution, f k is the positive solution of the terminal error kinematics, g k It is the terminal gravity deformation.

[0222] S6, determining a fixed joint from a plurality of joints.

[0223] For example, the joint that has the smallest impact on the robot's posture error is determined from multiple joints of the robot and used as the fixed joint.

[0224] In an optional implementation, determining a fixed joint from a plurality of joints includes: acquiring a plurality of evaluation values of the plurality of joints; and determining the fixed joint from the plurality of joints based on the plurality of evaluation values.

[0225] For example, an evaluation value corresponding to each joint is obtained, thereby obtaining multiple evaluation values of multiple joints; a target evaluation value is determined from the multiple evaluation values according to a preset rule, and the joint corresponding to the target evaluation value is used as a fixed joint.

[0226] Optionally, the above evaluation value is the sensitivity of the joint to the influence of inertia, and the above determination of the fixed joint from multiple joints based on multiple evaluation values includes: comparing the sensitivities corresponding to multiple joints to obtain the maximum sensitivity; and determining the joint corresponding to the maximum sensitivity as the fixed joint.

[0227] For example, the sensitivities corresponding to each joint are compared to determine the maximum sensitivity, and the joint corresponding to the maximum sensitivity is determined as the fixed joint.

[0228] It should be noted that when solving the inertia load sensitivity, in order to consider the overall impact of a certain joint on the inertia load, it is necessary to calculate the average inertia load of the remaining joints in the entire workspace when the joints of the mechanism take different values. For example, given the coordinates of a certain joint, after calculating the inertia load of the remaining 6 joints, its joint coordinates are integrated and divided by the length of the integration interval of the remaining 6 joint coordinates to obtain the average inertia matrix in the entire workspace. The inertia matrix is only related to the posture of the robot and has nothing to do with the translational motion of the base. Therefore, only joints 2, 3, 4, 5, and 7 need to be calculated. Taking joint 6 as an example, the change in the inertia load of joint 6 when it is extended is as follows:

[0229]

[0230] Among them, M m (q) is the inertia matrix of the motor speed at the current joint coordinates, θ iu is the upper bound of the joint, θ il is the lower bound of the joint. Its slope is the sensitivity of the inertia. As an example, see Figure 10 , Figure 10 This is an illustration of joint inertia sensitivity provided in an embodiment of the present application.

[0231] S7, obtaining parameter compensation based on the fixed joint and posture errors.

[0232] For example, taking a seven-degree-of-freedom robot as an example, the six-axis drive parameter compensation amount excluding the fixed joints is calculated according to the following formula.

[0233]

[0234] Among them, dq k is the parameter compensation amount, is the inverse matrix of the Jacobian matrix of the remaining 6 joints, e k is the posture error.

[0235] The joint coordinates at this time are:

[0236] q k+1 =[q k1 ,q k2 ,q k3 ...q k7 ]+[dq k1 , dq k2 , dq k3 ...dq k7 ] (56)

[0237] Among them, q k+1 is the current joint coordinate of the robot, q k1 is the joint coordinate of the robot at the last iteration, dq k1 The joint coordinates of the compensation error obtained in the last iteration.

[0238] S8, based on the parameter compensation amount, the robot is compensated for the error.

[0239] For example, multiple coordinates corresponding to each joint of the robot are obtained based on the parameter compensation amount, and corresponding instructions are directly input into the robot based on the multiple coordinates for compensation.

[0240] S9 , in response to the parameter compensation amount being greater than or equal to the preset threshold, returning to step S1 ; or, in response to the parameter compensation amount being less than the preset threshold, completing the error compensation.

[0241] As an example, in response to the parameter compensation amount being greater than or equal to a preset threshold, the process returns to and re-executes step S1 .

[0242] As another example, in response to the parameter compensation amount being less than a preset threshold, the error compensation is completed.

[0243] By implementing the embodiments of the present application, it is possible to obtain posture errors based on geometric error parameters, identify fixed joints from among the robot's multiple joints, and thereby obtain parameter compensation amounts based on the fixed joints and posture errors. Error compensation for the robot can then be performed based on the parameter compensation amounts. This solves the problem of difficulty in error compensation due to the existence of multiple solutions for inverse kinematics in multi-degree-of-freedom robots.

[0244] Based on the embodiments of the present application, the present application also provides a computer-readable storage medium, wherein computer instructions are used to enable a computer to execute the robot kinematic parameter and gravity integrated calibration and compensation method according to any of the aforementioned embodiments provided in the embodiments of the present application.

[0245] See Figure 11 , Figure 11 This is a comparison chart of the robot accuracy test results before and after an integrated calibration provided by an embodiment of the present application. Figure 11 As shown, the robot kinematic parameters and gravity integrated calibration and compensation method of the present application can effectively improve the accuracy of the rear robot end in all directions.

[0246] See Figure 12 This is a comparison chart of the robot accuracy test results after traditional calibration and integrated calibration provided by the embodiment of this application. Figure 12As shown, the robot kinematic parameters and gravity integrated calibration and compensation method of the present application effectively improves the robot's accuracy in the x-axis and y-axis directions through gravity compensation.

[0247] See Figure 13 , Figure 13 This is a flow chart of a robot kinematic parameters and gravity integrated calibration and compensation method provided in an embodiment of the present application. Figure 13 As shown, the method provided by the embodiment of the present application first establishes the robot's operational error model and geometric error model, and extracts the stiffness matrix of each component of the robot through simulation software, thereby establishing the robot's error model caused by the gravity deformation of each beam unit; then, the geometric error model and the gravity error model are combined into an integrated error model with rigid-flexible coupling. This error modeling method effectively improves the calibration accuracy of multi-degree-of-freedom robots and greatly improves the motion accuracy of such robots. During implementation, due to the problem of error parameter redundancy in multi-degree-of-freedom robots with greater than or equal to seven degrees of freedom, the errors are classified, screened, and eliminated during geometric error modeling, effectively improving the identifiability of the geometric error model. Based on the measured and robot end-position, the minimum regularized least squares method is used to identify the integrated error, and the geometric error parameters of the multi-degree-of-freedom spray robot under the influence of gravity deformation error are obtained. Finally, due to the multi-solution problem of inverse kinematics of multi-degree-of-freedom robots during error compensation, a comprehensive error compensation scheme particularly suitable for such robots is proposed. This scheme combines the good dynamic optimizability of multi-degree-of-freedom robots and effectively solves the problem of difficult error compensation for such robots.

[0248] As an example, see Figure 14 , Figure 14 is a schematic diagram of an error compensation solution provided by an embodiment of the present application, such as Figure 14 As shown, the error compensation scheme provided by the embodiment of the present application first obtains the ideal kinematic inverse solution of the robot without error by inverse solving the article, thereby determining the terminal posture of the robot. Then, the terminal gravity deformation corresponding to the current parameters of the robot is calculated, and the corresponding terminal error kinematic forward solution is calculated based on the geometric error parameters and the current parameters; to obtain the posture error that needs to be compensated for the terminal of the robot; then, the fixed joint of the compensation error is determined according to the preset judgment criteria; thereby, the six-axis drive parameter compensation amount of the robot is determined according to the fixed joint, and the robot is error compensated based on the parameter compensation amount, and the joint coordinates after the step length are measured, and the difference between the joint coordinates after the step length and the joint coordinates before compensation is compared with a preset threshold value. In response to the difference being greater than or equal to the threshold value, the above steps are re-executed; or, in response to the difference being less than the threshold value, the error compensation is completed.

[0249] As an example, see Figure 15 , Figure 15 Schematic diagram of a robot kinematic parameters and gravity integrated calibration and compensation device provided in an embodiment of the present application, such as Figure 15 As shown, the device includes: a first processing module 1501, used to establish a kinematic model of the robot; an acquisition module 1502, used to acquire the posture data of the robot; a second processing module 1503, used to acquire the geometric error model of the robot based on the kinematic model; a third processing module 1504, used to establish a gravity deformation error model of the robot caused by gravity deformation; a fourth processing module 1505, used to acquire an integrated error model of rigid-flexible coupling of the robot based on the geometric error model and the gravity deformation error model; a fifth processing module 1506, used to acquire geometric error parameters based on the posture data and the integrated error model; and a compensation module 1507, used to perform error compensation on the robot based on the geometric error parameters.

[0250] In one implementation, the robot includes multiple nodes and multiple beam units, and the third processing module 1504 is specifically used to: obtain multiple stiffness matrices of the multiple beam units; obtain the overall stiffness matrix of the robot based on the multiple stiffness matrices; obtain multiple displacements and multiple angles of rotation of multiple nodes based on the overall stiffness matrix; and obtain a gravity deformation error model based on the multiple displacements and multiple angles of rotation.

[0251] In one implementation, the fourth processing module 1505 is specifically used to: obtain a first error parameter based on a geometric error model; perform parameter classification on the first error parameter to obtain a classification result; process the first error parameter based on the classification result to obtain a second error parameter; and obtain an integrated error model based on the second error parameter, the geometric error model and the error model.

[0252] In an optional implementation, the classification result includes at least one of an independent error parameter, a redundant error parameter and an ineffective error parameter, and the fourth processing module 1505 is specifically used to: in response to the first error parameter being an independent error parameter, use the first error parameter as the second error parameter; or, in response to the first error parameter being a redundant error parameter, select one from the first error parameters as the second error parameter; or, in response to the first error parameter being an ineffective error parameter, eliminate the first error parameter.

[0253] In one implementation, the robot includes multiple joints, and the compensation module 1507 is specifically used to: S1, obtain the ideal kinematic inverse solution of the robot; S2, obtain the theoretical end position and posture of the robot based on the ideal kinematic inverse solution; S3, obtain the end gravity deformation of the robot based on the gravity deformation error model; S4, obtain the end error kinematic forward solution based on the geometric error parameter; S5, obtain the posture error based on the theoretical end posture, end gravity deformation and end error kinematic forward solution; S6, determine the fixed joint from the multiple joints; S7, obtain the parameter compensation amount based on the fixed joint and the posture error; S8, perform error compensation on the robot based on the parameter compensation amount; S9, in response to the parameter compensation amount being greater than or equal to a preset threshold, return to executing step S1; or, in response to the parameter compensation amount being less than the preset threshold, complete the error compensation.

[0254] In an optional implementation, the compensation module 1506 is specifically configured to: obtain multiple evaluation values of multiple joints; and determine a fixed joint from the multiple joints based on the multiple evaluation values.

[0255] Optionally, the evaluation value is joint sensitivity, and the compensation module 1507 is specifically used to: compare the sensitivities of multiple joints to obtain the maximum joint sensitivity; and determine the joint corresponding to the maximum joint sensitivity as the fixed joint.

[0256] See Figure 16 ,like Figure 16 , which is a schematic block diagram of an example electronic device that can be used to implement embodiments of the present application. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The components shown herein, their connections and relationships, and their functions are provided for example only and are not intended to limit the implementation of the present application as described and / or claimed herein.

[0257] like Figure 16 As shown, device 1600 includes a computing unit 1601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1602 or a computer program loaded from a storage unit 1608 into a random access memory (RAM) 1603. Various programs and data required for the operation of device 1600 can also be stored in RAM 1603. Computing unit 1601, ROM 1602, and RAM 1603 are connected to each other via a bus 1604. An input / output (I / O) interface 1605 is also connected to bus 1604.

[0258] Various components in device 1600 are connected to I / O interface 1605, including an input unit 1606, such as a keyboard and mouse; an output unit 1607, such as various types of displays and speakers; a storage unit 1608, such as a magnetic disk and optical disk; and a communication unit 1609, such as a network card, a modem, a wireless communication transceiver, etc. Communication unit 1609 allows device 1600 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0259] The computing unit 1601 can be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 1601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 1601 performs the various methods and processes described above, such as the robot kinematic parameters and gravity integration calibration and compensation method. For example, in some embodiments, the robot kinematic parameters and gravity integration calibration and compensation method can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 1608. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 1600 via the ROM 1602 and / or the communication unit 1609. When the computer program is loaded into RAM 1603 and executed by the computing unit 1601, one or more steps of the robot kinematic parameter and gravity integrated calibration and compensation method described above may be performed. Alternatively, in other embodiments, the computing unit 1601 may be configured to execute the robot kinematic parameter and gravity integrated calibration and compensation method in any other appropriate manner (e.g., via firmware).

[0260] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard parts (ASSPs), system on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0261] The program code for implementing the methods of the present application can be written in any combination of one or more programming languages. Such program code can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the program code is executed by the processor or controller, the functions / operations specified in the flow charts and / or block diagrams are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0262] In the context of the present application, a machine-readable medium can be a tangible medium that can contain or store a program for use by an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM) or a flash memory, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0263] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a cathode ray tube (CRT) or an LCD (Liquid Crystal Display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0264] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.

[0265] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, establishing a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host, a host product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS (Virtual Private Server) services. The server may also be a server in a distributed system or a server integrated with blockchain.

[0266] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this application can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of this application can be achieved. This is not limited herein.

[0267] The above specific embodiments do not constitute a limitation on the scope of protection of this application. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application shall be included within the scope of protection of this application.

Claims

1. A robot kinematic parameters and gravity integrated calibration and compensation method, characterized in that: include: Establishing a kinematic model of the robot; obtaining position and posture data of the robot; Acquire a geometric error model of the robot based on the kinematic model; Establishing a gravity deformation error model of the robot; Based on the geometric error model and the gravity deformation error model, an integrated error model of the rigid-flexible coupling of the robot is obtained; Acquire geometric error parameters based on the pose data and the integrated error model; Based on the geometric error parameters and the gravity deformation error model, error compensation is performed on the robot; wherein, The robot includes a plurality of joints, and performing error compensation on the robot based on the geometric error parameter and the gravity deformation error model includes: S1, obtaining the ideal inverse kinematic solution of the robot; S2, obtaining the theoretical end position of the robot based on the ideal kinematic inverse solution; S3, obtaining the gravity deformation of the end of the robot based on the gravity deformation error model; S4, obtaining a positive kinematic solution of the terminal error based on the geometric error parameters; S5, obtaining a posture error based on the theoretical terminal posture, the terminal gravity deformation, and the terminal error kinematics forward solution; S6, determining a fixed joint from the plurality of joints; S7, obtaining a parameter compensation amount based on the fixed joint and the posture error; S8, performing error compensation on the robot based on the parameter compensation amount; S9, in response to the parameter compensation amount being greater than or equal to the preset threshold, returning to step S1; or, in response to the parameter compensation amount being less than the preset threshold, completing error compensation; Determining a fixed joint from the multiple joints includes: obtaining a plurality of evaluation values of the plurality of joints; determining the fixed joint from the plurality of joints based on the plurality of evaluation values; The evaluation value is the sensitivity of the joint to the influence of inertia, and determining the fixed joint from the multiple joints based on the multiple evaluation values includes: Comparing the sensitivities of the multiple joints to obtain the maximum sensitivity; The joint corresponding to the maximum sensitivity is determined as the fixed joint.

2. The method according to claim 1, wherein The robot includes a plurality of nodes and a plurality of beam units, and establishing a gravity deformation error model of the robot includes: Obtaining a plurality of stiffness matrices of the plurality of beam elements; Obtaining an overall stiffness matrix of the robot based on the multiple stiffness matrices; Acquire multiple displacements and multiple rotation angles of the multiple nodes based on the global stiffness matrix; The gravity deformation error model is obtained based on the multiple displacements and the multiple rotation angles.

3. The method according to claim 1, wherein The step of obtaining an integrated error model of rigid-flexible coupling of the robot based on the geometric error model and the gravity deformation error model includes: obtaining a first error parameter based on the geometric error model; Performing parameter classification on the first error parameter to obtain a classification result; Processing the first error parameter based on the classification result to obtain a second error parameter; The integrated error model is acquired based on the second error parameter, the geometric error model and the gravity deformation error model.

4. The method according to claim 3, wherein The classification result includes at least one of an independent error parameter, a redundant error parameter, and an ineffective error parameter, and the processing of the first error parameter based on the classification result includes: In response to the first error parameter being the independent error parameter, using the first error parameter as the second error parameter; or, In response to the first error parameter being the redundant error parameter, selecting one of the first error parameters as the second error parameter; or, In response to the first error parameter being the ineffective error parameter, the first error parameter is eliminated.

5. A robot kinematic parameters and gravity integrated calibration and compensation device, characterized in that: include: A first processing module is used to establish a kinematic model of the robot; An acquisition module, used to acquire the posture data of the robot; A second processing module is used to obtain a geometric error model of the robot based on the kinematic model; A third processing module is used to establish a gravity deformation error model of the robot; a fourth processing module, configured to obtain an integrated error model of rigid-flexible coupling of the robot based on the geometric error model and the gravity deformation error model; a fifth processing module, configured to obtain geometric error parameters based on the pose data and the integrated error model; A compensation module is used to perform error compensation on the robot based on the geometric error parameter and the gravity deformation error model; wherein, The robot includes a plurality of joints, and the compensation module is used for: S1, obtaining the ideal inverse kinematic solution of the robot; S2, obtaining the theoretical end position of the robot based on the ideal kinematic inverse solution; S3, obtaining the gravity deformation of the end of the robot based on the gravity deformation error model; S4, obtaining a positive kinematic solution of the terminal error based on the geometric error parameters; S5, obtaining a posture error based on the theoretical terminal posture, the terminal gravity deformation, and the terminal error kinematics forward solution; S6, determining a fixed joint from the plurality of joints; S7, obtaining a parameter compensation amount based on the fixed joint and the posture error; S8, performing error compensation on the robot based on the parameter compensation amount; S9, in response to the parameter compensation amount being greater than or equal to the preset threshold, returning to step S1; or, in response to the parameter compensation amount being less than the preset threshold, completing error compensation; The compensation module is specifically used for: obtaining a plurality of evaluation values of the plurality of joints; determining the fixed joint from the plurality of joints based on the plurality of evaluation values; The evaluation value is the sensitivity of the joint to the inertia, and the compensation module is used to: Comparing the sensitivities of the multiple joints to obtain the maximum sensitivity; The joint corresponding to the maximum sensitivity is determined as the fixed joint.

6. An electronic device, characterized in that: include: at least one processor; and a memory communicatively coupled to the at least one processor; In which, the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the robot kinematic parameter and gravity integrated calibration and compensation method described in any one of claims 1 to 4.

7. A computer-readable storage medium for storing instructions, characterized in that: When the instructions are executed, the method according to any one of claims 1 to 4 is implemented.

Citation Information

Patent Citations

  • Method for analyzing and removing redundant parameters in parameter calibration of multi-degree of freedom robots

    CN108638060A

  • Kinematic method for improving absolute positioning precision of industrial robot

    CN109746915A