Zero position calibration method, device and electronic equipment for robot joint

By obtaining the robot's joint angle group and solving the mathematical model, the problem of reduced task accuracy caused by the robot's zero position offset is solved, high-precision zero position calibration is achieved, and the accuracy of the robot's task execution is improved.

CN119974020BActive Publication Date: 2025-09-09HANGZHOU HIKROBOT TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510458804.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-14
Publication Date
2025-09-09
Estimated Expiration
2045-04-14

AI Technical Summary

Technical Problem

When the robot is performing a task, the actual zero position may change from the factory zero position due to collision or other reasons, resulting in a decrease in the accuracy of task execution. It is necessary to calibrate the zero position of each joint of the robot.

Method used

By obtaining the first joint angle group and the second joint angle group of the robot to be calibrated, substituting them into the preset zero-position error mathematical model, the least squares method is used to iteratively solve the final zero-position angle error of each joint, and then adjusting them to complete the zero-position calibration.

Benefits of technology

It improves the accuracy of robots in performing tasks, does not require reliance on high-precision measuring equipment, is lower in cost, and has universal applicability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119974020B_ABST
    Figure CN119974020B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a method, device, and electronic device for zero-position calibration of robot joints, relating to the field of robot control technology. The method comprises: obtaining a first joint angle group and a second joint angle group of a robot to be calibrated; each first joint angle group comprises: the deflection angle of each joint of the robot to be calibrated relative to the initial position of the joint when the end tool of the robot to be calibrated is located in a first spatial position; each second joint angle group comprises: the deflection angle of each joint of the robot to be calibrated relative to the initial position of the joint when the end tool of the robot to be calibrated is located in a second spatial position; substituting the obtained first joint angle group and second joint angle group into a preset zero-position error mathematical model to solve and obtain the final zero-position angle error of each joint; and adjusting the initial position of each joint using the final zero-position angle error of each joint. This solution enables accurate calibration of the zero position of each joint of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot control technology, and in particular to a method, device and electronic equipment for zero-position calibration of robot joints. Background Art

[0002] A robot usually has multiple joints. By controlling the rotation of each joint from an initial state, the movement of the robot's end can be controlled.

[0003] Zero position calibration refers to determining the error between the theoretical zero position in the robot's controller and the actual zero position of the robot, so that the theoretical zero position coincides with the actual zero position, so that the robot's controller can accurately control the position and speed of the robot's end as required.

[0004] When a robot leaves the factory, its theoretical zero position and actual zero position usually coincide. However, during the robot's execution, collisions or other factors may cause its actual zero position to change compared to the factory zero position, which may lead to errors in the execution of the task. In this case, to improve the accuracy of the robot's execution, the zero position of each robot joint needs to be calibrated. Summary of the Invention

[0005] The purpose of the embodiments of the present application is to provide a method, device, and electronic device for calibrating the zero position of a robot joint, so as to accurately calibrate the zero position of each robot joint. The specific technical solution is as follows:

[0006] The present invention provides a method for zero-position calibration of a robot joint. The method includes:

[0007] Obtain a first joint angle group and a second joint angle group of the robot to be calibrated; wherein each first joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when an end tool connected to an end flange of the robot to be calibrated is located in a first spatial position; and each second joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when the end tool is located in a second spatial position;

[0008] Substituting the obtained first joint angle group and second joint angle group into a preset zero-position error mathematical model and solving the model to obtain the final zero-position angle error of each joint; wherein the zero-position error mathematical model represents: when the end tool position is respectively at the first spatial position and the second spatial position, the mapping relationship between the true angle of each joint of the robot to be calibrated and the position of the end tool; in the zero-position error mathematical model, the true angle of each joint represents: the sum of the zero-position angle error of the joint and the deflection angle;

[0009] The final zero-position angle error of each joint is used to adjust the initial position of each joint to complete the zero-position calibration of each joint.

[0010] In one implementation, the zero-error mathematical model is:

[0011] ;

[0012] in, Indicates the true angle of each joint; The transformation relationship between the coordinate system of the end flange represented by the true angle of each joint and the robot base coordinate system is represented; Indicates the position offset of the end tool relative to the end flange; represents a position offset of the first spatial position relative to the robot base coordinate system; represents a position offset of the second spatial position relative to the robot base coordinate system;

[0013] Substituting the obtained first joint angle group and second joint angle group into a preset zero position error mathematical model and solving the model to obtain the final zero position angle error of each joint includes:

[0014] Substitute the obtained first joint angle group and second joint angle group into the preset zero-error mathematical model to obtain the equation group to be solved:

[0015] ;

[0016] in, ; (i=1,…, ,…, ); Respectively represent the 1st to the First joint angle group; Respectively represent the 1st to the Second joint angle group; Indicates the zero angle error of each joint;

[0017] Solve the set of equations to be solved to obtain the final zero-position angle error of each joint.

[0018] In one implementation, solving the set of equations to be solved to obtain the final zero-position angle error of each joint includes:

[0019] Based on the equations to be solved, construct the function :

[0020] ;

[0021] calculate About independent variables The derivative of , we get the first matrix:

[0022] ;

[0023] in, is the three-dimensional identity matrix, is a three-dimensional zero matrix, Indicates about The robot Jacobian matrix; =1,…, , ,…, , Indicates about The robot rotation matrix;

[0024] Based on the first matrix, the least squares method is used to iteratively solve the set of equations to be solved to obtain the final zero-position angle error of each joint.

[0025] In one implementation, based on the first matrix, the least squares method is used to iteratively solve the set of equations to be solved to obtain the final zero angle error of each joint, including:

[0026] Deleting redundant columns from the error derivative columns corresponding to each joint contained in the first matrix to obtain a second matrix; wherein the error derivative column corresponding to each joint represents the derivative of the zero-position angle error of the joint; the redundant columns include: first-class columns that can be linearly represented by columns other than the error derivative columns in the first matrix;

[0027] Based on the second matrix, the least squares method is used to iteratively solve the set of equations to be solved to obtain the final zero-position angle error of each joint.

[0028] In one implementation, when the total number of joints of the robot to be calibrated is greater than or equal to 3, the joints corresponding to the first category are: the end joints of the robot to be calibrated, and the first joint connected to the base.

[0029] In one implementation, based on the second matrix, the least squares method is used to iteratively solve the set of equations to be solved to obtain the final zero angle error of each joint, including:

[0030] Based on the third matrix, the least squares method is used to iteratively solve the set of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the third matrix is ​​obtained as the first angle error to be determined of the joint; wherein the third matrix is ​​a matrix obtained by deleting the first type of columns from the first matrix; relative to the first matrix, the first angle error to be determined of the joint corresponding to the error derivative column not contained in the third matrix is ​​0;

[0031] Based on a fourth matrix, the system of equations to be solved is iteratively solved using a least squares method to obtain a zero-position angle error of the joint corresponding to each error derivative column contained in the fourth matrix, as a second angle error to be determined for the joint; the fourth matrix is ​​a matrix obtained by deleting a specified second-category column from the second matrix; relative to the first matrix, the second angle error to be determined for the joint corresponding to the error derivative column not contained in the fourth matrix is ​​0;

[0032] Combining the obtained first joint angle group and second joint angle group, calculating the residual corresponding to the first angle error to be determined of each joint as the first calibration residual;

[0033] Combining the obtained first joint angle group and second joint angle group, calculating the residual corresponding to the second angle error to be determined of each joint as the second calibration residual;

[0034] If the difference between the first calibration residual and the second calibration residual is greater than a preset threshold, the first angle error to be determined for each joint is determined as the final zero angle error of the joint;

[0035] If the difference between the first calibration residual and the second calibration residual is not greater than a preset threshold, the second angle error to be determined for each joint is determined as the final zero-position angle error of the joint.

[0036] In one implementation, when the total number of joints of the robot to be calibrated is 6, the joints corresponding to the second category are: a second joint adjacent to a first joint; and the first joint is connected to the base of the robot to be calibrated.

[0037] In one implementation, the total number of the first joint angle group and the second joint angle group is not less than (dof / 3+3); wherein dof is the total number of joints of the robot to be calibrated.

[0038] The present application also provides a zero position calibration device for a robot joint, the device comprising:

[0039] A joint angle acquisition module is configured to acquire a first joint angle group and a second joint angle group of the robot to be calibrated; wherein each first joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when an end tool connected to an end flange of the robot to be calibrated is located in a first spatial position; and each second joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when the end tool is located in a second spatial position.

[0040] an error calculation module, configured to substitute the obtained first joint angle group and second joint angle group into a preset zero-position error mathematical model and solve the model to obtain a final zero-position angle error of each joint; wherein the zero-position error mathematical model represents a mapping relationship between the true angle of each joint of the robot to be calibrated and the position of the end tool when the end tool is located at the first spatial position and the second spatial position, respectively; and in the zero-position error mathematical model, the true angle of each joint represents the sum of the zero-position angle error and the deflection angle of the joint;

[0041] The position adjustment module is used to adjust the initial position of each joint using the final zero position angle error of each joint to complete the zero position calibration of each joint.

[0042] In one implementation, the zero-error mathematical model is:

[0043] ;

[0044] in, Indicates the true angle of each joint; The transformation relationship between the coordinate system of the end flange represented by the true angle of each joint and the robot base coordinate system is represented; Indicates the position offset of the end tool relative to the end flange; represents a position offset of the first spatial position relative to the robot base coordinate system; represents a position offset of the second spatial position relative to the robot base coordinate system;

[0045] The error calculation module includes:

[0046] The equation group generation submodule is used to substitute the obtained first joint angle group and second joint angle group into the preset zero-error mathematical model to obtain the equation group to be solved:

[0047] ;

[0048] in, ; (i=1,…, ,…, ); Respectively represent the 1st to the First joint angle group; Respectively represent the 1st to the Second joint angle group; Indicates the zero angle error of each joint;

[0049] The solving submodule is used to solve the set of equations to be solved and obtain the final zero-position angle error of each joint.

[0050] In one implementation, the solution submodule includes:

[0051] A function construction unit is used to construct a function based on the set of equations to be solved. :

[0052] ;

[0053] Derivative calculation unit, used to calculate About independent variables The derivative of , we get the first matrix:

[0054] ;

[0055] in, is the three-dimensional identity matrix, is a three-dimensional zero matrix, Indicates about The robot Jacobian matrix; =1,…, , ,…, , Indicates about The robot rotation matrix;

[0056] The error calculation unit is used to iteratively solve the set of equations to be solved based on the first matrix using the least squares method to obtain the final zero-position angle error of each joint.

[0057] In one implementation, the error calculation unit includes:

[0058] a redundant column deletion subunit, configured to delete redundant columns from the error derivative columns corresponding to each joint contained in the first matrix to obtain a second matrix; wherein the error derivative column corresponding to each joint represents the derivative of the zero-position angle error of the joint; and the redundant columns include: first-category columns that can be linearly represented by columns other than the error derivative columns in the first matrix;

[0059] The iterative solution subunit is used to iteratively solve the set of equations to be solved based on the second matrix using the least squares method to obtain the final zero-position angle error of each joint.

[0060] In one implementation, when the total number of joints of the robot to be calibrated is greater than or equal to 3, the joints corresponding to the first category are: the end joints of the robot to be calibrated, and the first joint connected to the base.

[0061] In one implementation, the iterative solution subunit is specifically used to:

[0062] Based on the third matrix, the least squares method is used to iteratively solve the set of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the third matrix is ​​obtained as the first angle error to be determined of the joint; wherein, the third matrix is: a matrix obtained by deleting the first type of column from the first matrix; relative to the first matrix, the first angle error to be determined of the joint corresponding to the error derivative column not contained in the third matrix is ​​0; based on the fourth matrix, the least squares method is used to iteratively solve the set of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the fourth matrix is ​​obtained as the second angle error to be determined of the joint; the fourth matrix is: a matrix obtained by deleting the specified second type of column from the second matrix; relative to the The first matrix, the second angle error of the joint corresponding to the error derivative column not included in the fourth matrix is ​​0; in combination with the obtained first joint angle group and the second joint angle group, the residual corresponding to the first angle error to be determined of each joint is calculated as the first calibration residual; in combination with the obtained first joint angle group and the second joint angle group, the residual corresponding to the second angle error to be determined of each joint is calculated as the second calibration residual; if the difference between the first calibration residual and the second calibration residual is greater than the preset threshold, the first angle error to be determined of each joint is determined as the final zero-position angle error of the joint; if the difference between the first calibration residual and the second calibration residual is not greater than the preset threshold, the second angle error to be determined of each joint is determined as the final zero-position angle error of the joint.

[0063] In one implementation, when the total number of joints of the robot to be calibrated is 6, the joints corresponding to the second category are: a second joint adjacent to a first joint; and the first joint is connected to the base of the robot to be calibrated.

[0064] In one implementation, the total number of the first joint angle group and the second joint angle group is not less than (dof / 3+3); wherein dof is the total number of joints of the robot to be calibrated.

[0065] An embodiment of the present application further provides an electronic device, including:

[0066] Memory for storing computer programs;

[0067] The processor is configured to implement any of the above-mentioned methods for zero-position calibration of robot joints when executing a program stored in the memory.

[0068] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any of the above-mentioned methods for zero-position calibration of a robot joint is implemented.

[0069] An embodiment of the present application also provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any of the above-described methods for zero-position calibration of a robot joint.

[0070] Beneficial effects of the embodiments of the present application:

[0071] The present invention provides a method for calibrating the zero position of a robot joint by obtaining a first joint angle group and a second joint angle group, and applying a preset zero position error mathematical model to solve the problem. The zero position error mathematical model represents the mapping relationship between the true angle of each joint of the robot to be calibrated and the position of the end tool when the end tool is located at a first spatial position and a second spatial position, respectively. In the zero position error mathematical model, the true angle of each joint is represented by the sum of the zero position angle error and the deflection angle of the joint. In this way, the zero position angle of each joint can be solved based on the zero position error mathematical model. The first joint angle group and the second joint angle group are obtained when the end tool is located at different spatial positions, which can expand the range of motion of the robot to be calibrated in space. In this way, the calculated zero position angle error is more likely to have full-space convergence, thereby improving the accuracy of the obtained zero position angle error. Finally, the calculated zero position angle error is used to adjust the initial position of each joint, so that the zero position of each joint of the robot can be accurately calibrated, thereby improving the accuracy of the robot's task execution.

[0072] Of course, it is not necessary to achieve all the advantages described above at the same time when implementing any product or method of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0073] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other embodiments can also be obtained based on these drawings.

[0074] Figure 1 A schematic diagram of the structure of the robot provided in an embodiment of the present application;

[0075] Figure 2 A schematic flow chart of a method for calibrating the zero-position error of a robot joint provided in an embodiment of the present application;

[0076] Figure 3 A schematic diagram of the tip alignment method of the zero position error calibration method of the robot joint provided in an embodiment of the present application;

[0077] Figure 4A schematic diagram of the coordinate transformation relationship in the zero-position error calibration method of the robot joint provided in an embodiment of the present application;

[0078] Figure 5 A logical diagram of a method for calibrating the zero-position error of a robot joint provided in an embodiment of the present application;

[0079] Figure 6 A schematic diagram of a processing module of a zero-position error calibration device for a robot joint provided in an embodiment of the present application;

[0080] Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0081] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field based on this application are within the scope of protection of this application.

[0082] The robot referred to in this embodiment may refer to an industrial robot with multiple joints. The zero-angle error of the joint is the primary factor affecting the robot's kinematic error and has a significant impact on the robot's absolute positioning accuracy. In order to ensure the accuracy and performance of the robot, the robot must be kinematically calibrated before leaving the factory, that is, the structural parameters (such as the zero-angle error of the joint, the rod length offset, etc.) that conform to the actual kinematic model of the robot must be calibrated. The structure of a robot can be as follows: Figure 1 As shown, For robot joints (joints in the figure and The origin of the coordinate system coincides with the origin of the joint Connected to the base, is the robot's rod length offset, where (n=2,3,4) represents joints Center to joint The length of the center, Can represent joints and joints The distance in the vertical direction, Can represent joints and joints Distance in the horizontal direction; Indicates joints The distance from the center of the end flange to the center of the end flange, which can be used to connect the tool.

[0083] When the robot collides or experiences other abnormalities, its actual zero position may change compared to the factory zero position or be lost. In this case, the zero position needs to be recalibrated.

[0084] The present invention provides a method, device, and electronic device for zero-position calibration of robot joints. This method can be applied to electronic devices with data processing capabilities, such as computers and servers. In a specific scenario, this method can be applied to a robot controller (such as a PLC (Programmable Logic Controller), an embedded controller, etc.). The method may include the following steps:

[0085] Obtain a first joint angle group and a second joint angle group of the robot to be calibrated; wherein each first joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when an end tool connected to an end flange of the robot to be calibrated is located in a first spatial position; and each second joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when the end tool is located in a second spatial position;

[0086] Substituting the obtained first and second joint angle groups into a preset zero-position error mathematical model and solving it, the final zero-position angle error of each joint is obtained. The zero-position error mathematical model represents the mapping relationship between the true angle of each joint of the robot to be calibrated and the position of the end tool when the end tool is located at the first spatial position and the second spatial position, respectively. In the zero-position error mathematical model, the true angle of each joint is represented by the sum of the zero-position angle error and the deflection angle of the joint.

[0087] The final zero-position angle error of each joint is used to adjust the initial position of each joint to complete the zero-position calibration of each joint.

[0088] In this embodiment, a first joint angle group and a second joint angle group are obtained and incorporated into a preset zero-position error mathematical model for solution. The zero-position error mathematical model represents the mapping relationship between the true angles of each joint of the robot to be calibrated and the position of the end-tool when the end-tool is located at a first spatial position and a second spatial position, respectively. In the zero-position error mathematical model, the true angle of each joint is represented by the sum of the zero-position angle error and the deflection angle of that joint. Thus, the zero-position angle of each joint can be solved based on the zero-position error mathematical model. Furthermore, the first and second joint angle groups are obtained when the end-tool is located at different spatial positions, which allows the robot to have a wider range of motion in space. This makes it easier for the calculated zero-position angle error to converge across all spatial locations, thereby improving the accuracy of the zero-position angle error. Finally, the calculated zero-position angle error is used to adjust the initial position of each joint, thereby accurately calibrating the zero position of each joint of the robot, thereby improving the accuracy of the robot's task execution.

[0089] The following is an exemplary introduction to the zero position calibration method of the robot joint provided in the embodiment of the present application with reference to the accompanying drawings. Figure 2 As shown, the method includes the following steps:

[0090] S201, obtaining a first joint angle group and a second joint angle group of the robot to be calibrated;

[0091] Among them, each group of first joint angle groups includes: when the end tool connected to the end flange of the robot to be calibrated is in the first spatial position, the deflection angle of each joint of the robot to be calibrated relative to the initial position of the joint; each group of second joint angle groups includes: when the end tool is in the second spatial position, the deflection angle of each joint of the robot to be calibrated relative to the initial position of the joint.

[0092] In a specific implementation, Figure 3 As shown, a tool (i.e., an end tool) can be installed at the end flange of the robot to be calibrated. At the same time, two fixed tools (i.e., fixed tool 1 and fixed tool 2 in the figure) with different positions are placed in the activity space of the robot to be calibrated. The end tool and the two fixed tools can be any objects with sharp points, such as conical objects. In this case, the position of the end tool of the robot to be calibrated can refer to the position of the sharp point of the end tool. The first spatial position is the position of the sharp point of fixed tool 1, and the second spatial position is the position of the sharp point of fixed tool 2. The position of the end flange can also be regarded as the position of the end joint.

[0093] Afterwards, the robot to be calibrated can be manually taught to rotate each joint so that the tip of the end tool is located at the first spatial position. This process can be called tip alignment, thereby obtaining the deflection angle of each joint of the robot to be calibrated relative to the initial position of the joint. After that, the end tool of the robot to be calibrated is controlled to move away from the first spatial position, and the posture of the robot to be calibrated is changed. The joints of the robot to be calibrated are then taught to rotate again so that the tip of the end tool is located at the first spatial position again. This process is repeated multiple times to obtain multiple first joint angle groups. The second joint angle group can also be obtained in a similar manner.

[0094] In order to ensure the accuracy of calibration, the first spatial position and the second spatial position can be located in areas that the robot to be calibrated frequently passes through when working, and the distance between the first spatial position and the second spatial position can be greater than a certain distance threshold, which can be set according to actual conditions.

[0095] S202, substituting the obtained first joint angle group and second joint angle group into a preset zero-position error mathematical model and solving the model to obtain the final zero-position angle error of each joint;

[0096] Among them, the zero-position error mathematical model represents: when the end tool is located at the first spatial position and the second spatial position respectively, the mapping relationship between the true angles of each joint of the robot to be calibrated and the position of the end tool; in the zero-position error mathematical model, the true angle of each joint is represented by: the sum of the zero-position angle error and the deflection angle of the joint.

[0097] It is understandable that the kinematic chain between the end of the robot (in the case of the end tooling described above, the end of the robot is the tip of the end tooling) and any spatial position can be expressed by the following formula:

[0098] ;

[0099] like Figure 4 As shown, is the transformation relationship between the coordinate system of the end flange and the base coordinate system of the robot. This transformation relationship can be solved based on the robot's forward kinematics and the offset of each rod length. It is a function with the true angle of each joint as the independent variable. is the transformation relationship of the spatial position relative to the robot base coordinate system, which is an unknown fixed value. When the spatial position is the tip of the fixed tool, then is the transformation relationship between the fixed tool coordinate system and the robot base coordinate system; is the position offset of the end tool relative to the end flange, specifically, the position offset of the tip of the end tool relative to the center of the end flange, which is an unknown fixed value; Indicates the position offset of the end tool relative to the spatial position, specifically, the position offset of the tip of the end tool relative to the spatial position; The robot base coordinate system is a coordinate system based on the robot mounting base.

[0100] The coordinate system of each joint of the robot may be a coordinate system with the center of the joint as the origin, and the coordinate system of the fixed tool may be a coordinate system with the tip of the fixed tool as the origin.

[0101] When the end of the robot coincides with this spatial position, it can be deduced that:

[0102] ;

[0103] in, is the position offset of the spatial position relative to the robot base coordinate system.

[0104] Since this embodiment requires moving the robot's end tool to the first spatial position and the second spatial position respectively, the mathematical model of the zero position error can be obtained as follows:

[0105] ;

[0106] in, represents the position offset of the first spatial position relative to the robot base coordinate system; Indicates the position offset of the second spatial position relative to the robot base coordinate system.

[0107] By substituting the obtained first joint angle group and the second joint angle group into the preset zero-error mathematical model, the equation group to be solved can be obtained:

[0108] ;

[0109] in, ; (i=1,…, ,…, ); Respectively represent the 1st to the First joint angle group; Respectively represent the 1st to the Second joint angle group; Indicates the zero angle error of each joint.

[0110] By solving the equations to be solved , the zero-position angle error of each joint can be obtained. The solution process provided by this application will be introduced below.

[0111] In addition, in the set of equations to be solved, the zero angle error of each joint angle of the robot to be calibrated is an unknown number, and 、 、 They all represent position offsets, each of which contains unknowns in three directions (x, y, and z) in space. Therefore, there are (dof+9) unknowns in the set of equations to be solved, where dof is the total number of joints of the robot to be calibrated, and each equation , which can actually contain equations about these three directions.

[0112] As can be seen, in order to find a solution to the set of equations to be solved, the total number of first and second joint angle groups obtained, multiplied by 3, must be greater than or equal to the number of unknowns in the set of equations to be solved. That is, the total number of first and second joint angle groups must be no less than (dof / 3+3). For example, if the robot to be calibrated has a total of 6 joints, the total number of first and second joint angle groups must be at least 5. Of course, in actual execution, the total number of first and second joint angle groups can be greater than (dof / 3+3).

[0113] S203 , adjusting the initial position of each joint using the final zero position angle error of each joint to complete the zero position calibration of each joint.

[0114] After obtaining the final zero-position angle error of each joint, the initial position of each joint can be adjusted. For example, the final zero-position angle error of each joint is obtained by solving the above-mentioned set of equations to be solved. Then, the initial position of each joint can be added with the final zero-position angle error of the joint to obtain the corrected initial position to complete the zero-position calibration of each joint.

[0115] During the actual execution process, the acquired zero-position angle error can be converted into encoder pulses and then written into the robot controller. The robot controller can then automatically adjust the initial position of each joint based on the zero-position angle error.

[0116] In this embodiment, a first joint angle group and a second joint angle group are obtained and incorporated into a preset zero-position error mathematical model for solution. The zero-position error mathematical model represents the mapping relationship between the true angles of each joint of the robot to be calibrated and the position of the end-tool when the end-tool is located at a first spatial position and a second spatial position, respectively. In the zero-position error mathematical model, the true angle of each joint is represented by the sum of the zero-position angle error and the deflection angle of that joint. Thus, the zero-position angle of each joint can be solved based on the zero-position error mathematical model. Furthermore, the first and second joint angle groups are obtained when the end-tool is located at different spatial positions, which allows the robot to have a wider range of motion in space. This makes it easier for the calculated zero-position angle error to converge across all spatial locations, thereby improving the accuracy of the zero-position angle error. Finally, the calculated zero-position angle error is used to adjust the initial position of each joint, thereby accurately calibrating the zero position of each joint of the robot, thereby improving the accuracy of the robot's task execution.

[0117] In addition, this solution does not need to rely on high-precision measurement equipment or measurement systems (such as laser trackers, vision systems, etc.) to measure zero-position angle errors, which is lower in cost. Considering the application site conditions, the calibration scheme of high-precision measurement equipment is often difficult to apply. Therefore, this solution is more universal in comparison.

[0118] In one embodiment of the present application, the following steps can be used to solve the equations to obtain the final zero angle error of each joint:

[0119] Step A1: Construct a function based on the set of equations to be solved :

[0120] ;

[0121] That is, this step converts the left side of the equation to be solved into a matrix form.

[0122] Step A2, calculate About independent variables The derivative of , we get the first matrix:

[0123] ;

[0124] in, is the three-dimensional identity matrix, is a three-dimensional zero matrix, Indicates about The robot Jacobian matrix; =1,…, , ,…, , Indicates about The robot rotation matrix;

[0125] Understandably, the robot Jacobian matrix Specifically, when the angles of the robot are The relationship between the robot's terminal velocity vector and the angular velocity of each joint; the robot rotation matrix Specifically, it means that when the angles of the robot are The posture of the robot's end when .

[0126] In step A3, based on the first matrix, the least square method is used to iteratively solve the equations to be solved to obtain the final zero angle error of each joint. The iterative solution process can be represented by the following solution equation:

[0127] ;

[0128] in, represents the transpose of matrix A, is the number of iterations.

[0129] In this embodiment, a basis for solving the set of equations to be solved is provided, and the zero-position angle error of each joint can be accurately solved. Finally, the calculated zero-position angle error is used to adjust the initial position of each joint, so that the zero position of each joint of the robot can be accurately calibrated, thereby improving the accuracy of the robot's task execution.

[0130] In one embodiment of the present application, the least squares method is used to iteratively solve the set of equations to be solved based on the first matrix to obtain the final zero angle error of each joint, which may include:

[0131] Step A31, deleting redundant columns from the error derivative columns corresponding to each joint contained in the first matrix to obtain a second matrix; wherein the error derivative column corresponding to each joint represents the derivative of the zero-position angle error of the joint; the redundant columns include: first-class columns that can be linearly represented by columns other than the error derivative columns in the first matrix;

[0132] Let's first introduce the first type of columns:

[0133] It can be understood that the first matrix contains a total of (dof+9) columns. The first dof columns represent the derivatives of the zero absolute error of each joint of the robot to be calibrated, and the remaining columns represent the derivatives of the following parameters:

[0134] The position offset of the end tool relative to the end flange in the x-direction, y-direction and z-direction; the position offset of the first spatial position relative to the robot base coordinate system in the x-direction, y-direction and z-direction; the position offset of the second spatial position relative to the robot base coordinate system in the x-direction, y-direction and z-direction.

[0135] When the error derivative columns contained in the first matrix contain first-class columns that can be linearly represented by columns other than the error derivative columns, it indicates that the first matrix contains redundant parameters. By analyzing the first matrix, when the total number of joints of the robot to be calibrated is greater than or equal to 3, the joints corresponding to the first-class columns are: the end joints of the robot to be calibrated, and the first joint connected to the base. For example, when the total number of joints of the robot to be calibrated is 6, by analyzing the first matrix, the first column in the first matrix can be represented by a linear combination of the 10th, 11th, and 12th columns, and the 6th column can be represented by a linear combination of the 7th, 8th, and 9th columns. The first matrix is ​​a column-deficient rank matrix, that is:

[0136] ;

[0137] in, 、 、 、 、 、 is the coefficient, The first type of column corresponds to the following joints: the first joint connected to the base of the robot to be calibrated (i.e. Figure 1 Joints in ) and terminal joints (i.e. Figure 1 Joints in ). This way, we can determine that the joint that actually needs to be calibrated is the joint ,joint and joints The zero angle error of the joint can be regarded as 0. The zero angle error of the joint is coupled with the position offset of the first spatial position relative to the robot base coordinate system; The zero angle error is coupled with the position offset of the robot's tool relative to the end flange. In addition, by analyzing the first matrix, the first column in the first matrix can also be represented by the linear combination of the 13th, 14th, and 15th columns, that is, the joint The zero-position angle error is also coupled with the position offset of the second spatial position relative to the robot base coordinate system.

[0138] The presence of redundant parameters can lead to potential singularities in the solution of the system of equations, making the solution extremely sensitive to the sample (i.e., the first and second joint angle groups obtained). This can reduce the stability of the mathematical model for the zero-error error and even render the solution meaningless. To improve the accuracy of the zero-absolute error, the redundant parameters can be removed from the first matrix. Specifically, the first-class columns in the first matrix are deleted to obtain a second matrix, which can then be used for calculations.

[0139] In step A32, based on the second matrix, the least square method is used to iteratively solve the equation group to obtain the final zero-position angle error of each joint.

[0140] In one implementation, when the redundant columns only contain the first type of columns, the second matrix can be directly used as , and then perform iterative solution based on the above least squares method solution equation.

[0141] The second type of columns is introduced below:

[0142] In the actual calibration process, due to the limitation of the robot joint motion range, some joints in the robot to be calibrated may be prone to overfitting, which will affect the accuracy of the zero angle error in the global space. The second type of columns in this embodiment are the columns corresponding to such joints. For example, when the total number of joints of the robot to be calibrated is 6, such joints may be: the second joint, that is, the joint adjacent to the first joint, that is, Figure 1 Joints in . The specific joints corresponding to the second type of columns can be specified according to the actual situation. When there are joints that are prone to overfitting in the robot to be calibrated, the columns corresponding to these joints can also be deleted from the first matrix. In this case, the above-mentioned least squares method is used to iteratively solve the set of equations to be solved based on the second matrix to obtain the final zero-position angle error of each joint, which can include the following steps:

[0143] Step A321: Based on the third matrix, the least squares method is used to iteratively solve the system of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the third matrix is ​​obtained as the first angle error to be determined for the joint; wherein the third matrix is: a matrix obtained by deleting the first type of column from the first matrix; relative to the first matrix, the first angle error to be determined for the joint corresponding to the error derivative column not contained in the third matrix is ​​0;

[0144] The third matrix can be used as , and then iteratively solve the equation based on the above least squares method.

[0145] Step A322: Based on the fourth matrix, the least squares method is used to iteratively solve the system of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the fourth matrix is ​​obtained as the second angle error to be determined for the joint; the fourth matrix is: a matrix obtained by deleting the specified second-category column from the second matrix; relative to the first matrix, the second angle error to be determined for the joint corresponding to the error derivative column not contained in the fourth matrix is ​​0;

[0146] That is, the fourth matrix is , and then iteratively solve the equation based on the above least squares method.

[0147] Step A323, combining the obtained first joint angle group and second joint angle group, calculating the residual corresponding to the first angle error to be determined of each joint as the first calibration residual;

[0148] For example, when solving, the first angle error to be determined for each joint can be used as , and combine the obtained first joint angle group and second joint angle group into the formula Calculation is performed. Since this solution obtains an approximate solution using the least squares method, the result obtained by the above formula is not necessarily 0, so the obtained result can be used as the residual. Furthermore, since there are first joint angle combinations and second joint angle groups, substituting the above formula into the calculation will produce multiple results. The statistical value such as the average or maximum value of these multiple results can be used as the first calibration residual.

[0149] Step A324, combining the obtained first joint angle group and second joint angle group, calculating the residual corresponding to the second angle error to be determined of each joint as the second calibration residual;

[0150] Similarly, the second angle error to be determined for each joint can also be used as , and combine the obtained first joint angle group and second joint angle group into the formula Calculate and obtain the corresponding residual as the second calibration residual.

[0151] Step A325: If the difference between the first calibration residual and the second calibration residual is greater than a preset threshold, the first angle error to be determined for each joint is determined as the final zero angle error of the joint;

[0152] In step A326 , if the difference between the first calibration residual and the second calibration residual is not greater than the preset threshold, the second angle error to be determined for each joint is determined as the final zero-position angle error of the joint.

[0153] In this embodiment, the second type of columns are used to solve the zero-position angle error, and the second type of columns are not used to solve the zero-position angle error, respectively, to obtain the first calibration residual and the second calibration residual. If the difference between the two calibration residuals exceeds the set threshold, it indicates that there is a deviation in the zero position of the joint and the joint needs to be zero-position calibrated. Otherwise, it indicates that there is no significant deviation in the zero position of the joint and zero-position calibration is not required. In this way, the calibration state of the error-sensitive joint is adaptively determined, which can effectively reduce the impact of overfitting of the calibration results on the robot accuracy.

[0154] For ease of understanding, the following is an exemplary introduction to the zero position calibration method of the robot joint provided in the embodiment of the present application in conjunction with the accompanying drawings. The logical diagram of the method is as follows: Figure 5 As shown:

[0155] S501, two aligning tools are fixed in the robot workspace, and the aligning tools are installed at the end of the robot; the two aligning tools fixed in the workspace are called fixed tools, and the tool installed at the end of the robot is called the end tool;

[0156] S502, setting the number of times the two fixed tools are aligned and , let i=0, j=0;

[0157] S503, determine whether i≤ ; If not, execute S505; If yes, execute S510;

[0158] S510, changing the robot posture;

[0159] S511, manually teaching so that the end tool is opposite to the sharp point of the fixed tool 1;

[0160] That is, at this time, the tip of the robot's end tool is located at the first spatial position;

[0161] S512, recording the joint angles of the robot during the tip-to-point confrontation;

[0162] That is, the first joint angle group is obtained;

[0163] S513, i=i+1;

[0164] S504, determine whether j≤ ; If not, execute S505; If yes, execute S514;

[0165] S514, changing the robot posture;

[0166] S515, manually teaching so that the end tool is aligned with the sharp point of the fixed tool 2;

[0167] That is, at this time, the tip of the robot's end tool is located at the second spatial position;

[0168] S516, recording the joint angles of the robot during the tip-to-point confrontation;

[0169] That is, the second joint angle group is obtained;

[0170] S517, j=j+1;

[0171] S505, establishing a robot double-point alignment zero-position error model, that is, a preset zero-position error mathematical model;

[0172] S506, substituting the recorded joint angle into the model to solve the zero-position angle error;

[0173] S507, calibration parameter coupling analysis to determine the actual calibration joint;

[0174] That is, the first category columns are deleted from the first matrix, and the joints corresponding to the remaining error derivative columns are the joints that actually need to be calibrated.

[0175] S508, adaptive determination of error-sensitive joint calibration state;

[0176] That is, execute the above steps A321-A326.

[0177] S509: Convert the zero-position angle error into encoder pulses and write them into the controller.

[0178] In this embodiment, a first joint angle group and a second joint angle group are obtained and incorporated into a preset zero-position error mathematical model for solution. The zero-position error mathematical model represents the mapping relationship between the true angles of each joint of the robot to be calibrated and the position of the end-tool when the end-tool is located at a first spatial position and a second spatial position, respectively. In the zero-position error mathematical model, the true angle of each joint is represented by the sum of the zero-position angle error and the deflection angle of that joint. Thus, the zero-position angle of each joint can be solved based on the zero-position error mathematical model. Furthermore, the first and second joint angle groups are obtained when the end-tool is located at different spatial positions, which allows the robot to have a wider range of motion in space. This makes it easier for the calculated zero-position angle error to converge across all spatial locations, thereby improving the accuracy of the zero-position angle error. Finally, the calculated zero-position angle error is used to adjust the initial position of each joint, thereby accurately calibrating the zero position of each joint of the robot, thereby improving the accuracy of the robot's task execution.

[0179] The present application also provides a zero position calibration device for a robot joint, such as Figure 6 As shown, the device includes:

[0180] The joint angle acquisition module 601 is configured to acquire a first joint angle group and a second joint angle group of the robot to be calibrated; wherein each first joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when an end tool connected to an end flange of the robot to be calibrated is located in a first spatial position; and each second joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when the end tool is located in a second spatial position.

[0181] The error calculation module 602 is configured to substitute the obtained first joint angle group and second joint angle group into a preset zero-position error mathematical model and solve the model to obtain the final zero-position angle error of each joint; wherein the zero-position error mathematical model represents the mapping relationship between the true angle of each joint of the robot to be calibrated and the position of the end tool when the end tool is located at the first spatial position and the second spatial position, respectively; in the zero-position error mathematical model, the true angle of each joint represents the sum of the zero-position angle error and the deflection angle of the joint;

[0182] The position adjustment module 603 is used to adjust the initial position of each joint using the final zero position angle error of each joint to complete the zero position calibration of each joint.

[0183] In one implementation, the zero-error mathematical model is:

[0184] ;

[0185] in, Indicates the true angle of each joint; The transformation relationship between the coordinate system of the end flange represented by the true angle of each joint and the robot base coordinate system is represented; Indicates the position offset of the end tool relative to the end flange; represents a position offset of the first spatial position relative to the robot base coordinate system; represents a position offset of the second spatial position relative to the robot base coordinate system;

[0186] The error calculation module 602 includes:

[0187] The equation group generation submodule is used to substitute the obtained first joint angle group and second joint angle group into the preset zero-error mathematical model to obtain the equation group to be solved:

[0188] ;

[0189] in, ; (i=1,…, ,…, ); Respectively represent the 1st to the First joint angle group; Respectively represent the 1st to the Second joint angle group; Indicates the zero angle error of each joint;

[0190] The solving submodule is used to solve the set of equations to be solved and obtain the final zero-position angle error of each joint.

[0191] In one implementation, the solution submodule includes:

[0192] A function construction unit is used to construct a function based on the set of equations to be solved. :

[0193] ;

[0194] Derivative calculation unit, used to calculate About independent variables The derivative of , we get the first matrix:

[0195] ;

[0196] in, is the three-dimensional identity matrix, is a three-dimensional zero matrix, Indicates about The robot Jacobian matrix; =1,…, , ,…, , Indicates about The robot rotation matrix;

[0197] The error calculation unit is used to iteratively solve the set of equations to be solved based on the first matrix using the least squares method to obtain the final zero-position angle error of each joint.

[0198] In one implementation, the error calculation unit includes:

[0199] a redundant column deletion subunit, configured to delete redundant columns from the error derivative columns corresponding to each joint contained in the first matrix to obtain a second matrix; wherein the error derivative column corresponding to each joint represents the derivative of the zero-position angle error of the joint; and the redundant columns include: first-category columns that can be linearly represented by columns other than the error derivative columns in the first matrix;

[0200] The iterative solution subunit is used to iteratively solve the set of equations to be solved based on the second matrix using the least squares method to obtain the final zero-position angle error of each joint.

[0201] In one implementation, when the total number of joints of the robot to be calibrated is greater than or equal to 3, the joints corresponding to the first category are: the end joints of the robot to be calibrated, and the first joint connected to the base.

[0202] In one implementation, the iterative solution subunit is specifically configured to:

[0203] Based on the third matrix, the least square method is used to iteratively solve the set of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the third matrix is ​​obtained as the first angle error to be determined of the joint; wherein, the third matrix is: a matrix obtained by deleting the first type of column from the first matrix; relative to the first matrix, the first angle error to be determined of the joint corresponding to the error derivative column not contained in the third matrix is ​​0; based on the fourth matrix, the least square method is used to iteratively solve the set of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the fourth matrix is ​​obtained as the second angle error to be determined of the joint; the fourth matrix is: a matrix obtained by deleting the specified second type of column from the second matrix; relative to the first matrix The second angle error of the joint to be determined corresponding to the error derivative column not included in the first matrix and the fourth matrix is ​​0; the residual corresponding to the first angle error to be determined of each joint is calculated in combination with the obtained first joint angle group and the second joint angle group, as the first calibration residual; the residual corresponding to the second angle error to be determined of each joint is calculated in combination with the obtained first joint angle group and the second joint angle group, as the second calibration residual; if the difference between the first calibration residual and the second calibration residual is greater than the preset threshold, the first angle error to be determined of each joint is determined as the final zero-position angle error of the joint; if the difference between the first calibration residual and the second calibration residual is not greater than the preset threshold, the second angle error to be determined of each joint is determined as the final zero-position angle error of the joint.

[0204] In one implementation, when the total number of joints of the robot to be calibrated is 6, the joints corresponding to the second category are: a second joint adjacent to a first joint; and the first joint is connected to the base of the robot to be calibrated.

[0205] In one implementation, the total number of the first joint angle group and the second joint angle group is not less than (dof / 3+3); wherein dof is the total number of joints of the robot to be calibrated.

[0206] The present application also provides an electronic device, such as Figure 7 Shown, including:

[0207] Memory 701, used for storing computer programs;

[0208] The processor 702 is configured to implement any of the steps of the above-mentioned method for zero position calibration of a robot joint when executing the program stored in the memory 701 .

[0209] Furthermore, the electronic device may further include a communication bus and / or a communication interface, and the processor 702, the communication interface, and the memory 701 communicate with each other via the communication bus.

[0210] The communication bus mentioned in the electronic devices mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into address buses, data buses, control buses, etc. For ease of illustration, only a single thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.

[0211] The communication interface is used for communication between the above electronic device and other devices.

[0212] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.

[0213] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.

[0214] In another embodiment provided in the present application, a computer-readable storage medium is further provided, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned methods for zero-position calibration of a robot joint are implemented.

[0215] In another embodiment provided by the present application, a computer program product containing instructions is also provided, which, when executed on a computer, enables the computer to execute the zero-position calibration method of the robot joint described in any one of the above embodiments.

[0216] In the above embodiments, all or part of the embodiments can be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disk, hard disk, tape), optical media (e.g., DVD), or solid-state drive (SSD).

[0217] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0218] Each embodiment in this specification is described in a related manner. Similar portions between the various embodiments can be referenced to each other. Each embodiment focuses on the differences from other embodiments. In particular, the device, electronic device, and storage medium embodiments are generally similar to the method embodiments, so their descriptions are relatively simple. For related portions, reference can be made to the descriptions of the method embodiments.

[0219] The above description is only a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the scope of protection of the present application.

Claims

1. A method for zero position calibration of a robot joint, characterized in that: The method comprises: Obtain a first joint angle group and a second joint angle group of the robot to be calibrated; wherein each first joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when an end tool connected to an end flange of the robot to be calibrated is located in a first spatial position; and each second joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when the end tool is located in a second spatial position; Substitute the obtained first joint angle group and second joint angle group into the preset zero-error mathematical model to obtain the equation group to be solved: ; in, ; (i=1,…, ,…, ); Respectively represent the 1st to the First joint angle group; Respectively represent the 1st to the Second joint angle group; Indicates the zero angle error of each joint; 、 and is an unknown number; the zero-position error mathematical model represents: when the end tool is located at the first spatial position and the second spatial position, respectively, the mapping relationship between the true angle of each joint of the robot to be calibrated and the position of the end tool; in the zero-position error mathematical model, the true angle of each joint represents: the sum of the zero-position angle error and the deflection angle of the joint; the zero-position error mathematical model is: ; in, Indicates the true angle of each joint; The transformation relationship between the coordinate system of the end flange represented by the true angle of each joint and the robot base coordinate system is represented; Indicates the position offset of the end tool relative to the end flange; represents a position offset of the first spatial position relative to the robot base coordinate system; represents a position offset of the second spatial position relative to the robot base coordinate system; Based on the equations to be solved, construct the function : ; calculate About independent variables The derivative of , we get the first matrix: ; in, is the three-dimensional identity matrix, is a three-dimensional zero matrix, Indicates about The robot Jacobian matrix; =1,…, , ,…, , Indicates about The robot rotation matrix; Based on the first matrix, the least square method is used to iteratively solve the set of equations to be solved to obtain the final zero angle error of each joint; The final zero position angle error of each joint is used to adjust the initial position of each joint to complete the zero position calibration of each joint.

2. The method according to claim 1, characterized in that Based on the first matrix, the least squares method is used to iteratively solve the set of equations to be solved to obtain the final zero angle error of each joint, including: Deleting redundant columns from the error derivative columns corresponding to each joint contained in the first matrix to obtain a second matrix; wherein the error derivative column corresponding to each joint represents the derivative of the zero-position angle error of the joint; the redundant columns include: first-class columns that can be linearly represented by columns other than the error derivative columns in the first matrix; Based on the second matrix, the least squares method is used to iteratively solve the set of equations to be solved to obtain the final zero-position angle error of each joint.

3. The method according to claim 2, characterized in that When the total number of joints of the robot to be calibrated is greater than or equal to 3, the joints corresponding to the first category are: the end joints of the robot to be calibrated, and the first joint connected to the base.

4. The method according to claim 2 or 3, characterized in that Based on the second matrix, the least squares method is used to iteratively solve the set of equations to be solved to obtain the final zero angle error of each joint, including: Based on the third matrix, the least squares method is used to iteratively solve the set of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the third matrix is ​​obtained as the first angle error to be determined of the joint; wherein the third matrix is: a matrix obtained by deleting the first type of columns from the first matrix; relative to the first matrix, the first angle error to be determined of the joint corresponding to the error derivative columns not contained in the third matrix is ​​0; Based on a fourth matrix, the system of equations to be solved is iteratively solved using a least squares method to obtain a zero-position angle error of the joint corresponding to each error derivative column contained in the fourth matrix, as a second angle error to be determined for the joint; the fourth matrix is ​​a matrix obtained by deleting a specified second-category column from the second matrix; relative to the first matrix, the second angle error to be determined for the joint corresponding to the error derivative column not contained in the fourth matrix is ​​0; Combining the obtained first joint angle group and second joint angle group, calculating the residual corresponding to the first angle error to be determined of each joint as the first calibration residual; Combining the obtained first joint angle group and second joint angle group, calculating the residual corresponding to the second angle error to be determined of each joint as the second calibration residual; If the difference between the first calibration residual and the second calibration residual is greater than a preset threshold, the first angle error to be determined for each joint is determined as the final zero angle error of the joint; If the difference between the first calibration residual and the second calibration residual is not greater than a preset threshold, the second angle error to be determined for each joint is determined as the final zero-position angle error of the joint.

5. The method according to claim 4, characterized in that When the total number of joints of the robot to be calibrated is 6, the joints corresponding to the second category are: a second joint adjacent to the first joint; and the first joint is connected to the base of the robot to be calibrated.

6. The method according to claim 1, characterized in that The total number of the first joint angle group and the second joint angle group is not less than (dof / 3+3); where dof is the total number of joints of the robot to be calibrated.

7. A zero position calibration device for a robot joint, characterized in that: The device comprises: A joint angle acquisition module is configured to acquire a first joint angle group and a second joint angle group of the robot to be calibrated; wherein each first joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when an end tool connected to an end flange of the robot to be calibrated is located in a first spatial position; and each second joint angle group includes: a deflection angle of each joint of the robot to be calibrated relative to an initial position of the joint when the end tool is located in a second spatial position. The error calculation module includes: an equation group generation submodule and a solution submodule; the equation group generation submodule is used to substitute the obtained first joint angle group and second joint angle group into a preset zero-position error mathematical model to obtain the equation group to be solved: ; in, ; (i=1,…, ,…, ); Respectively represent the 1st to the First joint angle group; Respectively represent the 1st to the Second joint angle group; Indicates the zero angle error of each joint; 、 and is an unknown number; the zero-position error mathematical model represents: when the end tool is located at the first spatial position and the second spatial position, respectively, the mapping relationship between the true angle of each joint of the robot to be calibrated and the position of the end tool; in the zero-position error mathematical model, the true angle of each joint represents: the sum of the zero-position angle error and the deflection angle of the joint; the zero-position error mathematical model is: ; in, Indicates the true angle of each joint; The transformation relationship between the coordinate system of the end flange represented by the true angle of each joint and the robot base coordinate system is represented; Indicates the position offset of the end tool relative to the end flange; represents a position offset of the first spatial position relative to the robot base coordinate system; represents a position offset of the second spatial position relative to the robot base coordinate system; The solution submodule includes: A function construction unit is used to construct a function based on the set of equations to be solved. : ; Derivative calculation unit, used to calculate About independent variables The derivative of , we get the first matrix: ; in, is the three-dimensional identity matrix, is a three-dimensional zero matrix, Indicates about The robot Jacobian matrix; =1,…, , ,…, , Indicates about The robot rotation matrix; an error calculation unit, configured to iteratively solve the set of equations to be solved using a least squares method based on the first matrix to obtain a final zero-position angle error of each joint; The position adjustment module is used to adjust the initial position of each joint using the final zero position angle error of each joint to complete the zero position calibration of each joint.

8. The device according to claim 7, characterized in that The error calculation unit includes: a redundant column deletion subunit, configured to delete redundant columns from the error derivative columns corresponding to each joint contained in the first matrix to obtain a second matrix; wherein the error derivative column corresponding to each joint represents the derivative of the zero-position angle error of the joint; and the redundant columns include: first-category columns that can be linearly represented by columns other than the error derivative columns in the first matrix; an iterative solution subunit, configured to iteratively solve the set of equations to be solved using a least squares method based on the second matrix to obtain a final zero-position angle error of each joint; and / or, When the total number of joints of the robot to be calibrated is greater than or equal to 3, the joints corresponding to the first category are: the end joints of the robot to be calibrated, and the first joint connected to the base; and / or, The iterative solution subunit is specifically used for: Based on the third matrix, the least squares method is used to iteratively solve the set of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the third matrix is ​​obtained as the first angle error to be determined of the joint; wherein, the third matrix is: a matrix obtained by deleting the first type of column from the first matrix; relative to the first matrix, the first angle error to be determined of the joint corresponding to the error derivative column not contained in the third matrix is ​​0; based on the fourth matrix, the least squares method is used to iteratively solve the set of equations to be solved, and the zero-position angle error of the joint corresponding to each error derivative column contained in the fourth matrix is ​​obtained as the second angle error to be determined of the joint; the fourth matrix is: a matrix obtained by deleting the specified second type of column from the second matrix; relative to the The first matrix, the second angle error of the joint corresponding to the error derivative column not included in the fourth matrix is ​​0; combining the obtained first joint angle group and the second joint angle group, calculating the residual corresponding to the first angle error to be determined of each joint, as the first calibration residual; combining the obtained first joint angle group and the second joint angle group, calculating the residual corresponding to the second angle error to be determined of each joint, as the second calibration residual; if the difference between the first calibration residual and the second calibration residual is greater than a preset threshold, then the first angle error to be determined of each joint is determined as the final zero-position angle error of the joint; if the difference between the first calibration residual and the second calibration residual is not greater than the preset threshold, then the second angle error to be determined of each joint is determined as the final zero-position angle error of the joint; and / or, When the total number of joints of the robot to be calibrated is 6, the joints corresponding to the second category are: a second joint adjacent to a first joint; the first joint is connected to the base of the robot to be calibrated; and / or, The total number of the first joint angle group and the second joint angle group is not less than (dof / 3+3); where dof is the total number of joints of the robot to be calibrated.

9. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the method according to any one of claims 1 to 6 when executing a program stored in a memory.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

11. A computer program product comprising instructions, characterized in that When the computer program product is run on a computer, the computer is enabled to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Robot calibration method and system based on positioning tool

    CN111168719A

  • Robot repeated positioning precision prediction method based on statistical distance

    CN113967915A

  • Industrial robot calibration and spatial position measurement method based on stay wire type encoder

    CN114406991A