Error diagnosis method, device and electronic equipment

CN118990616BActive Publication Date: 2026-10-09HANGZHOU HIKROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411127632.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-15
Publication Date
2026-10-09
Estimated Expiration
2044-08-15

AI Technical Summary

Technical Problem

[0004]本申请实施例的目的在于提供一种误差诊断方法、装置及电子设备,用以解决采用DH运动学误差模型难以使机器人精度收敛至有效阈值的问题

Benefits of technology

[0079]In the technical solution provided by this application embodiment, the coordinates of the calibration component fixed to the robot end are obtained when the robot is at different first preset joint angles, and are respectively used as the first coordinates corresponding to each first preset joint angle. The original full-parameter error model is fitted based on the obtained multiple first preset joint angles and first coordinates to obtain a target full-parameter error model. The model parameters of the target full-parameter model are used as the robot's first error and displayed, thereby facilitating user adjustments to the robot based on the first error to improve the robot's absolute positioning accuracy. Since the original full-parameter error model uses full-parameter error as the model parameter, robot joint angles as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable, and since the full-parameter error includes offset errors, deflection errors, joint rotation angle errors, joint flexibility errors, and link flexibility errors—errors not considered when constructing the DH kinematic error model—the technical solution provided by this application embodiment can effectively improve the robot's accuracy when the DH kinematic error model cannot converge the robot's accuracy to an effective threshold.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118990616B_ABST
    Figure CN118990616B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a kind of error diagnosis method, device and electronic equipment, the method comprises: obtaining the coordinate of the calibration component fixed to the end of robot when robot is in different first preset joint angle, as the first coordinate corresponding to each first preset joint angle respectively;The corresponding relationship between the first preset joint angle and the first coordinate is fitted by original full parameter error model, and the model parameter in target full parameter error model is obtained as the first error of robot and the first error is shown;Full parameter error includes the bias error between each two adjacent joints, deflection error, joint rotation angle error, joint flexibility error, link flexibility error.The technical scheme provided by the embodiment of the application can solve the problem that it is difficult to make robot precision converge to effective threshold by using DH kinematics error model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of system modeling and parameter identification technology for industrial robots, and in particular to an error diagnosis method, device and electronic equipment. Background Technology

[0002] Positioning accuracy is an important indicator for evaluating robot performance and a crucial guarantee for robots to complete operational tasks. As the application environment of robots becomes increasingly complex, people have placed higher demands on the motion accuracy of robots.

[0003] In related technologies, the Denavit-Hartenberg (DH) kinematic error model is commonly used for robot parameter calibration. However, the DH kinematic error model is established under the condition that the robot's joint axes are horizontal or vertical relative to the base, and does not consider possible parallelism or perpendicularity errors. In actual production processes, due to assembly errors, the robot's joint axes may not be horizontal or vertical relative to the base in the robot's zero-position state. Therefore, when such assembly errors exist, it is difficult to use the DH kinematic error model for robot parameter calibration to bring the robot's accuracy to an effective threshold, i.e., the robot's absolute positioning accuracy is low. Summary of the Invention

[0004] The purpose of this application is to provide an error diagnosis method, apparatus, and electronic device to solve the problem that it is difficult to converge the robot's accuracy to an effective threshold using the DH kinematic error model. The specific technical solution is as follows:

[0005] In a first aspect, embodiments of this application provide an error diagnosis method, the method comprising:

[0006] The coordinates of the calibration component fixed to the end of the robot are obtained when the robot is at different first preset joint angles, and are used as the first coordinates corresponding to each first preset joint angle.

[0007] The target full-parameter error model is obtained by fitting the correspondence between the first preset joint angle and the first coordinate through the original full-parameter error model, and the model parameters in the target full-parameter error model are used as the first error of the robot and the first error is displayed.

[0008] The original full-parameter error model is a model with full-parameter error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable. The full-parameter error includes offset error, deflection error, joint rotation angle error, joint flexibility error, and link flexibility error between every two adjacent joints.

[0009] In some embodiments, the method further includes:

[0010] By fitting the correspondence between the first preset joint angle and the first coordinate using the original DH kinematic error model, a target DH kinematic error model is obtained. The model parameters in the target DH kinematic error model are then used as the second error of the robot, and the second error is displayed.

[0011] The original DH kinematic error model is a model with DH kinematic error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable. The DH kinematic error includes the offset error of each link length of the robot, the zero position error of each joint of the robot, and the stiffness error of each joint of the robot.

[0012] The step of fitting the correspondence between the first pre-joint angle and the first coordinate using the original full-parameter error model to obtain the target full-parameter error model includes:

[0013] In response to the diagnostic command for the second error, the target full-parameter error model is obtained by fitting the correspondence between the first preset joint angle and the first coordinate through the original full-parameter error model.

[0014] In some embodiments, the calibration component is a target ball, and the first coordinate is the coordinate of the target ball in the laser follower coordinate system obtained after the target ball is captured by a laser follower. The method further includes:

[0015] For each of the first preset joint angles, the robot is controlled to move to the first preset joint angle with the target ball fixed at its end, and the laser follower is controlled to capture the target ball;

[0016] If the coordinates returned by the laser follower are not received within a preset time, the transformation relationship between the robot flange coordinate system and the base coordinate system is determined according to the first preset joint angle.

[0017] Based on the transformation relationship between the base coordinate system and the laser follower coordinate system, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the flange coordinate system and the base coordinate system, the coordinates of the target ball in the laser follower coordinate system are determined as the second coordinates;

[0018] Adjust the orientation of the laser follower so that its field of view covers the second coordinate.

[0019] The coordinates obtained by the laser follower capturing the target ball are used as the first coordinates corresponding to the first preset joint angle.

[0020] In some embodiments, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system, are obtained in advance by the following method:

[0021] The coordinates of the target ball fixed at the end of the robot in the coordinate system of the laser follower are obtained when the robot is at different second preset joint angles, and are respectively used as the third coordinates corresponding to each second preset joint angle; and, for each second preset joint angle, the transformation relationship between the flange coordinate system and the base coordinate system is obtained, and is used as the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle.

[0022] Based on the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each of the second preset joint angles, and the third coordinate corresponding to each of the second preset joint angles, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system are fitted to obtain the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system.

[0023] In some embodiments, the method further includes:

[0024] For each of the first errors, the highest accuracy that the robot can achieve by adjusting only the first errors is determined as the calibration residual corresponding to each of the first errors;

[0025] The first error that satisfies the preset condition is determined as the third error;

[0026] The demonstration of the first error includes:

[0027] The third error is displayed in a first display mode, and the fourth error is displayed in a second display mode. The fourth error is any error other than the third error in the first error.

[0028] In some embodiments, error diagrams for each error configuration are obtained in advance;

[0029] The display of the third error in the first display method includes:

[0030] For each of the third errors, an error diagram configured for the third error is obtained as a target error diagram for the third error;

[0031] The diagram shows the third error, the target error of each third error, and the calibration residual corresponding to each third error.

[0032] In some embodiments, the method includes:

[0033] Displays the first interface used to indicate the progress of error diagnosis;

[0034] In response to a first instruction for the first interface, the step of fitting the correspondence between the first preset joint angle and the first coordinate through the original DH kinematic error model to obtain the target DH kinematic error model is executed.

[0035] In response to a second instruction for the first interface, the step of fitting the correspondence between the first preset joint angle and the first coordinate using the original full-parameter error model to obtain the target full-parameter error model is executed.

[0036] In some embodiments, the method further includes:

[0037] In response to a third command directed to the first interface, the robot and the laser follower are initialized;

[0038] In response to the fourth instruction for the first interface, the robot's current accuracy is determined and displayed.

[0039] Secondly, embodiments of this application also provide a calibration error diagnosis device, the device comprising:

[0040] The coordinate acquisition module is used to acquire the coordinates of the calibration component fixed at the end of the robot when the robot is at different first preset joint angles, and use them as the first coordinates corresponding to each first preset joint angle.

[0041] The first error determination module is used to fit the correspondence between the first preset joint angle and the first coordinate through the original full-parameter error model to obtain the target full-parameter error model, and to use the model parameters in the target full-parameter error model as the first error of the robot and display the first error.

[0042] The original full-parameter error model is a model with full-parameter error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable. The full-parameter error includes offset error, deflection error, joint rotation angle error, joint flexibility error, and link flexibility error between every two adjacent joints.

[0043] In some embodiments, the apparatus further includes:

[0044] The second error determination module is used to fit the correspondence between the first preset joint angle and the first coordinate through the original DH kinematic error model to obtain the target DH kinematic error model, and to use the model parameters in the target DH kinematic error model as the second error of the robot and display the second error.

[0045] The original DH kinematic error model is a model with DH kinematic error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable. The DH kinematic error includes the offset error of each link length of the robot, the zero position error of each joint of the robot, and the stiffness error of each joint of the robot.

[0046] The first error determination module is specifically used for:

[0047] In response to the diagnostic command for the second error, the target full-parameter error model is obtained by fitting the correspondence between the first preset joint angle and the first coordinate through the original full-parameter error model.

[0048] In some embodiments, the calibration component is a target ball, and the first coordinate is the coordinate of the target ball in the laser follower coordinate system obtained after the target ball is captured by a laser follower. The device further includes:

[0049] The control module is used to control the robot to move to the first preset joint angle when the target ball is fixed at the end, and to control the laser follower to capture the target ball;

[0050] The first determining module is used to determine the transformation relationship between the robot flange coordinate system and the base coordinate system based on the first preset joint angle if the coordinates returned by the laser follower are not received within a preset time.

[0051] The transformation module is used to determine the coordinates of the target ball in the laser follower coordinate system based on the transformation relationship between the base coordinate system and the laser follower coordinate system, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the flange coordinate system and the base coordinate system, and to use these coordinates as the second coordinates.

[0052] An adjustment module is used to adjust the orientation of the laser follower so that the field of view of the laser follower covers the second coordinate.

[0053] The coordinate acquisition module is also used to acquire the coordinates obtained by the laser follower capturing the target ball, and use them as the first coordinates corresponding to the first preset joint angle.

[0054] In some embodiments, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system, are obtained in advance by the following method:

[0055] The coordinates of the target ball fixed at the end of the robot in the coordinate system of the laser follower are obtained when the robot is at different second preset joint angles, and are respectively used as the third coordinates corresponding to each second preset joint angle; and, for each second preset joint angle, the transformation relationship between the flange coordinate system and the base coordinate system is obtained, and is used as the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle.

[0056] Based on the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each of the second preset joint angles, and the third coordinate corresponding to each of the second preset joint angles, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system are fitted to obtain the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system.

[0057] In some embodiments, the apparatus further includes:

[0058] The second determining module is used to determine, for each of the first errors, the highest accuracy that the robot can achieve by adjusting only the first errors, as the calibration residual corresponding to each of the first errors;

[0059] The third determination module is used to determine the first error that the corresponding calibration residual meets the preset conditions, and use it as the third error.

[0060] The first error determination module is specifically used for:

[0061] The third error is displayed in a first display mode, and the fourth error is displayed in a second display mode. The fourth error is any error other than the third error in the first error.

[0062] In some embodiments, error diagrams for each error configuration are obtained in advance;

[0063] The first error determination module is specifically used for:

[0064] For each of the third errors, an error diagram configured for the third error is obtained as a target error diagram for the third error;

[0065] The diagram shows the third error, the target error of each third error, and the calibration residual corresponding to each third error.

[0066] In some embodiments, the device includes:

[0067] The interface display module is used to display the first interface that shows the progress of error diagnosis.

[0068] The instruction execution module is used to respond to a first instruction for the first interface and execute the step of fitting the correspondence between the first preset joint angle and the first coordinate through the original DH kinematic error model to obtain the target DH kinematic error model.

[0069] In response to a second instruction for the first interface, the step of fitting the correspondence between the first preset joint angle and the first coordinate using the original full-parameter error model to obtain the target full-parameter error model is executed.

[0070] In some embodiments, the instruction execution module is further configured to:

[0071] In response to a third command directed to the first interface, the robot and the laser follower are initialized;

[0072] In response to the fourth instruction for the first interface, the robot's current accuracy is determined and displayed.

[0073] Thirdly, embodiments of this application also provide an electronic device, including:

[0074] Memory, used to store computer programs;

[0075] When a processor executes a program stored in memory, it implements any of the error diagnosis methods described above.

[0076] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements any of the aforementioned error diagnosis methods.

[0077] Fifthly, embodiments of this application also provide a computer program product containing instructions that, when run on a computer, cause the computer to perform any of the error diagnosis methods described above.

[0078] Beneficial effects of the embodiments in this application:

[0079] In the technical solution provided by this application embodiment, the coordinates of the calibration component fixed to the robot end are obtained when the robot is at different first preset joint angles, and are respectively used as the first coordinates corresponding to each first preset joint angle. The original full-parameter error model is fitted based on the obtained multiple first preset joint angles and first coordinates to obtain a target full-parameter error model. The model parameters of the target full-parameter model are used as the robot's first error and displayed, thereby facilitating user adjustments to the robot based on the first error to improve the robot's absolute positioning accuracy. Since the original full-parameter error model uses full-parameter error as the model parameter, robot joint angles as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable, and since the full-parameter error includes offset errors, deflection errors, joint rotation angle errors, joint flexibility errors, and link flexibility errors—errors not considered when constructing the DH kinematic error model—the technical solution provided by this application embodiment can effectively improve the robot's accuracy when the DH kinematic error model cannot converge the robot's accuracy to an effective threshold.

[0080] Of course, implementing any product or method of this application does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description

[0081] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.

[0082] Figure 1 A schematic diagram of a robot provided in an embodiment of this application;

[0083] Figure 2 This is a schematic diagram of a first flowchart of an error diagnosis method provided in an embodiment of this application;

[0084] Figure 3 A schematic diagram illustrating the definition of the joint coordinate systems in the DH kinematic error model provided in this application embodiment;

[0085] Figure 4 A schematic diagram illustrating error transmission between adjacent joints of a robot provided in an embodiment of this application;

[0086] Figure 5 A schematic diagram illustrating the definition of the joint coordinate systems in the full-parameter error model provided in this application embodiment;

[0087] Figure 6 This is a second flowchart illustrating the error diagnosis method provided in the embodiments of this application;

[0088] Figure 7 This is a schematic diagram of a process for obtaining the first coordinates provided in an embodiment of this application;

[0089] Figure 8 Another flowchart for obtaining the first coordinates provided in an embodiment of this application;

[0090] Figure 9 This is a schematic diagram illustrating the transformation relationship between the coordinate system of the determination tool and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system, provided in the embodiments of this application.

[0091] Figure 10 Another schematic diagram illustrating the transformation relationship between the coordinate system of the determination tool and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system, provided for embodiments of this application;

[0092] Figure 11 A first schematic diagram of a first interface provided in an embodiment of this application;

[0093] Figure 12 A second schematic diagram of the first interface provided in the embodiments of this application;

[0094] Figure 13 A third schematic diagram of the first interface provided in the embodiments of this application;

[0095] Figure 14 A schematic diagram of an error diagnosis system provided in an embodiment of this application;

[0096] Figure 15 A schematic diagram of the structure of the error diagnosis device provided in the embodiments of this application;

[0097] Figure 16 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0098] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.

[0099] To improve the absolute positioning accuracy of robots and expand their application scenarios in high-precision fields, robots need to be calibrated after production before they can be put into use. Robot calibration refers to establishing a kinematic model that matches the robot by identifying its actual structural parameters. Robot calibration mainly includes three stages: model building, error measurement, and parameter identification. Among them, model building can be understood as constructing a kinematic model that reflects the mapping relationship between the robot's joint angles (i.e., joint space coordinates) and the coordinates of the calibration components at the robot's end effector (i.e., end effector Cartesian space coordinates).

[0100] In related technologies, robot accuracy is typically calibrated by constructing a DH kinematic error model. However, the DH kinematic error model is based on the DH parameter method and only considers 12 types of errors, such as link length offset, joint zero position, and joint stiffness. As the requirements for absolute positioning accuracy of robots increase, adjusting the robot's accuracy solely based on the DH kinematic error model may not achieve the user's expected absolute positioning accuracy. Therefore, those skilled in the art have also considered introducing errors other than DH parameters to improve the robot's absolute positioning accuracy. For example, a generalized kinematic error calibration method for industrial robots considers gear position-related errors, pitch errors, harmonic rotation errors, out-of-plane errors, and backlash errors. Based on the DH model of the robot to be identified, a geometric error model is constructed using differential kinematics, and a joint error model is constructed using polynomial fitting based on the DH model of the robot to be identified. Based on the joint error model and the geometric error model, the generalized kinematic error model is determined. Then, the implicit loop method is used to identify the parameters of the generalized kinematic error model to obtain the identified generalized kinematic error model. However, since this method uses Chebyshev functions to represent the joint error model and the identification parameters are Chebyshev coefficients, the identification results have no clear physical meaning. Therefore, the identification results obtained by this method cannot clearly identify the specific cause of the error and are difficult to use as a basis for error diagnosis to adjust and repair the robot.

[0101] Furthermore, the DH kinematic error model is based on the theoretical assumption that the robot's axes are "straight." That is, when calibrating robot parameters using the DH kinematic error model, it is assumed that the axes of each joint are horizontal or vertical relative to the base, without considering potential parallelism or perpendicularity errors. However, in actual production, due to assembly errors, the axes of each joint may not be horizontal or vertical relative to the base. Therefore, when such assembly errors exist, it is difficult to bring the robot's accuracy to an effective threshold when calibrating robot parameters using the DH kinematic error model.

[0102] For example, such as Figure 1 As shown, Figure 1 This is a schematic diagram of a robot provided in an embodiment of this application. Theoretically, Figure 1 Central axis 2 is parallel to axis 3. That is, if dashed line 1 represents axis 2, theoretically, axis 3 should be parallel to axis 2 after assembly. In other words, if represented by lines, axis 3 should be as shown by dashed line 2, which is parallel to dashed line 1. However, due to assembly errors, axis 3 is actually in the form shown by dashed line 3, with an angle θ between dashed line 3 and dashed line 2. That is, after assembly, axis 2 and axis 3 are not parallel and have an angle θ between them. In this case, if the DH kinematic error model is used... Figure 1 The parameters of the robot shown are calibrated, but it is difficult to bring the robot's accuracy to an effective threshold.

[0103] To address the aforementioned issues, this application provides an error diagnosis method that fully considers errors such as offset errors, deflection errors, and joint angle errors of each robot joint, constructing a full-parameter error model. Based on this model, various kinematic errors can be effectively decoupled, enabling rapid diagnosis of calibration problems and precise analysis of error sources. Furthermore, the error diagnosis method provided in this application can analyze the magnitude of each identified error term and assess its impact on the robot's absolute positioning accuracy, achieving precise calibration error analysis and providing valuable reference for robot fault repair. Applying the technical solution provided in this application can offer targeted problem-solving and design optimization methods for robot structural design, production, and installation, improving the quality and efficiency of design and production.

[0104] The error diagnosis method provided in this application embodiment is applied to a host computer, which can be a desktop computer, a portable computer, a smart mobile terminal, etc. The error diagnosis method provided in this application embodiment is described below.

[0105] See Figure 2 , Figure 2 A first flowchart illustrating the error diagnosis method provided in this application embodiment includes the following steps:

[0106] Step S21: Obtain the coordinates of the calibration component fixed to the end of the robot when the robot is at different first preset joint angles, and use them as the first coordinates corresponding to each first preset joint angle;

[0107] Step S22: Fit the correspondence between the first preset joint angle and the first coordinate by the original full-parameter error model to obtain the target full-parameter error model, and use the model parameters in the target full-parameter error model as the robot's first error and display the first error.

[0108] In the technical solution provided by this application embodiment, the coordinates of the calibration component fixed to the robot end are obtained when the robot is at different first preset joint angles, and are respectively used as the first coordinates corresponding to each first preset joint angle. The original full-parameter error model is fitted based on the obtained multiple first preset joint angles and first coordinates to obtain a target full-parameter error model. The model parameters of the target full-parameter model are used as the robot's first error and displayed, thereby facilitating user adjustments to the robot based on the first error to improve the robot's absolute positioning accuracy. Since the original full-parameter error model uses full-parameter error as the model parameter, robot joint angles as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable, and since the full-parameter error includes offset errors, deflection errors, joint rotation angle errors, joint flexibility errors, and link flexibility errors—errors not considered when constructing the DH kinematic error model—the technical solution provided by this application embodiment can effectively improve the robot's accuracy when the DH kinematic error model cannot converge the robot's accuracy to an effective threshold.

[0109] In step S21 above, the joint angle is a parameter used to describe the robot's motion state. The user can control the robot to move to the motion state described by the specified joint angle by inputting the specified joint angle. The first coordinate is the coordinate of the robot end-effector calibration component in the Cartesian coordinate system when the robot moves to the first preset joint angle. The calibration component fixed to the robot end can be a target ball. When the calibration component is a target ball, the first coordinate can be the coordinate of the target ball captured by the laser follower in the coordinate system of the laser follower.

[0110] Understandably, the purpose of setting the first preset joint angle is to control the robot end effector to move to different motion states to obtain multiple sets of first preset joint angles and first coordinates. Then, based on these multiple sets of first preset joint angles and first coordinates, the target full parameter error model is fitted (see the description in step S22 below), thereby determining the first error existing in the robot. Therefore, in order to ensure the accuracy and completeness of the determined first error as much as possible, a large number of first preset joint angles and first coordinates should be used, and the first preset joint angles and first coordinates used should be universal. Therefore, when configuring the first preset joint angle, a large number of first preset joint angles can be set, such as 50 sets, 60 sets, 70 sets, etc., and the first preset joint angles should cover the entire workspace of the robot as much as possible, that is, all joint angles that the robot may move to.

[0111] In this embodiment, the fitting method for the target full-parameter error model based on multiple sets of first preset joint angles and first coordinates can be as follows: Based on multiple sets of first preset joint angles and first coordinates, establish multiple nonlinear equations containing full-parameter errors, and calculate the optimal solution using the least squares error method. That is, use the Gauss-Newton method to solve the nonlinear least squares problem and identify the robot's full-parameter errors. For example, the constructed full-parameter error model can be expressed as F = f(q, x1, x2, ..., xn), where F represents the first coordinate, q represents the first preset joint angle, and x1, x2, ..., xn represent the full-parameter errors of each item. Then, the multiple nonlinear equations containing full-parameter errors can be F1 = f(q1, x1, x2, ..., xn); F2 = f(q2, x1, x2, ..., xn); ...; F m =f(q) m ,x1,x2,…,xn), where m is the number of the first preset joint angles configured; q1,q2,…,q m Indicates the first preset joint angle for each group; F1, F2, ..., F m This represents the first coordinate corresponding to the first preset joint angle of each group.

[0112] In some embodiments, the robot consists of a robot body and a controller. A host computer can establish communication with both the laser follower and the robot controller, thereby controlling the laser follower to adjust its orientation to capture the target ball, and controlling the controller to move the robot to different first preset joint angles. The specific method for establishing communication is described below. Figure 11 and Figure 12 The descriptions in the document will not be repeated here. It is understood that the robot mentioned in this application may include not only the robot body and controller, but also components such as actuators and sensors. This embodiment is only used as an example to illustrate that the robot consists of a robot body and a controller, and is not intended to be limiting.

[0113] In some embodiments, the robot in this application can be understood as a six-DOF serial robot conforming to the Pieper criterion. According to the Pieper criterion, when a robot's configuration satisfies that "the axes of three consecutive rotational joints intersect at the same point," it indicates that the robot has a closed-form inverse kinematic solution. For example, as... Figure 3 As shown, Figure 3 The robot shown is a six-DOF serial robot that conforms to the Pieper criterion. It can be seen that... Figure 3 The robot shown has six links, L1-L6, and six joints, where the axes of joints 4, 5, and 6 intersect at a single point. Figure 3 The coordinate systems shown are used to represent the positions of the robot's joints.

[0114] In step S22 above, the full-parameter error model can be a model with full-parameter error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end effector as the dependent variable. The full-parameter error includes the offset error, deflection error, joint angle error, joint flexibility error, and link flexibility error between every two adjacent joints of the robot.

[0115] The original full-parameter error model is a full-parameter error model where the full-parameter error is an unknown quantity. By fitting the original full-parameter error model with the first preset joint angles and first coordinates obtained in step S21, the correspondence between the robot joint angles and the coordinates of the robot end-effector calibration component can be obtained. In this case, the full-parameter error in the fitted correspondence is a known quantity, and the fitted correspondence between the robot joint angles and the coordinates of the robot end-effector calibration component can be considered as the target full-parameter error model. Therefore, the model parameters (i.e., the full-parameter error) in the target full-parameter model can be used as the robot's first error and displayed.

[0116] The following sections will explain how to construct a full-parameter error model and how to display the first error.

[0117] Understandably, the full-parameter error model is achieved by constructing a transformation relationship between the coordinate systems of adjacent joints. That is, a transformation relationship between the coordinate systems of adjacent joints of the robot is pre-constructed under the condition of introducing full-parameter error. For a robot, given the coordinates of a certain joint, the coordinates of its adjacent joints are determined based on the pre-constructed transformation relationship between the coordinate systems of adjacent joints. Then, based on the determined coordinates of the adjacent joints and the pre-constructed transformation relationship between the coordinate systems of adjacent joints, the coordinates of the adjacent joints of that adjacent joint are determined. In this way, the coordinates of each joint of the robot can be obtained, and then the correspondence between the robot joint angle and the coordinates of the calibration component at the end of the robot can be obtained. However, the full-parameter error is an unknown quantity in this correspondence. At this time, this correspondence can be regarded as the full-parameter error model.

[0118] The following explains how to construct the coordinate system transformation relationship between adjacent joints of a robot when introducing full-parameter errors. It is understood that full-parameter errors include offset error, deflection error, joint angle error, joint flexibility error, and link flexibility error. In the process of reasoning the coordinates of the next joint (i.e., the joint adjacent to the previous joint) from the coordinates of the previous joint, the order in which offset error, deflection error, joint angle error, joint flexibility error, and link flexibility error are introduced is not limited. The following only illustrates the method of constructing a full-parameter error model by taking the example of first introducing offset error, then deflection error, then joint angle error, then joint flexibility error, and finally link flexibility error.

[0119] Without considering errors and only taking into account the theoretical link length between adjacent joints, the relationship between the coordinates of the current joint (i.e., the joint adjacent to the previous joint) and the coordinates of the previous joint can be constructed as shown in the following formula (1).

[0120] p i =p i-1 +R i-1 l i-1 ,i (1)

[0121] Where, p i Indicates the coordinates of the current joint; p i-1 R represents the coordinates of the previous joint. i-1 For rotation matrix; l i-1,i This indicates the position offset. Where p i and R i-1 It can be obtained based on the DH parameters and the coordinate transformation principle of a rigid body in space.

[0122] Introduce the offset error x of the current joint relative to the previous joint in the x, y, and z directions. i y i z i Then, the relationship between the coordinates of the current joint and the coordinates of the previous joint can be constructed as shown in the following formula (2).

[0123]

[0124] Where, p i Indicates the coordinates of the current joint; p i,x This indicates the direction of the current joint's x-axis after introducing an offset error along the x-direction; p i,y This indicates the direction of the y-axis of the current joint after introducing an offset error along the y-direction; p i,z This indicates the direction of the current joint's z-axis after introducing an offset error along the z-direction; x i y i z i These represent the offset errors of the current joint relative to the previous joint in the x, y, and z directions, respectively.

[0125] When deflection error is introduced, the relationship between the coordinates of the current joint and the coordinates of the previous joint can be constructed as shown in the following formula (3).

[0126]

[0127] in,

[0128]

[0129] Among them, rolli This indicates the deflection error of the current joint relative to the previous joint in the x-direction; pitch i This represents the deflection error of the current joint relative to the previous joint around the y-axis; yaw i R represents the deflection error of the current joint relative to the previous joint around the z-direction. i,roll R i,pitch R i,yaw This represents the rotation matrix after introducing deflection error.

[0130] When joint rotation error is introduced, the relationship between the coordinates of the current joint and the coordinates of the previous joint can be constructed as shown in the following formula (4).

[0131]

[0132] Among them, R i,jnt θ represents the coordinates of the current joint after the joint rotation is introduced; i This indicates the joint rotation angle of the current joint relative to the previous joint; w i This represents the unit vector along the axis of the current joint.

[0133] When joint flexibility error (i.e., rotational deviation caused by joint flexibility) is introduced, the relationship between the coordinates of the current joint and the coordinates of the previous joint can be constructed as shown in the following formula (5).

[0134]

[0135] Among them, c i,jnt c represents the joint flexibility coefficient. i,jnt =c i,jnt ω i ·τ i ;τ i R represents the force matrix of the current joint; i,comp,jnt This indicates the coordinates of the current joint after introducing rotational deviations caused by joint flexibility.

[0136] When the link flexibility error (i.e., the rotational deviation caused by the link flexibility) is introduced, the relationship between the coordinates of the current joint and the coordinates of the previous joint can be constructed as shown in the following formula (6).

[0137]

[0138] in,

[0139]

[0140] Among them, c i,x c i,y c i,z This represents the linkage flexibility coefficient.

[0141] Understandably, based on the above formulas (1)-(6), the transformation relationship between the coordinates of each joint of the robot can be fitted, and then a full-parameter error model (T) can be constructed. all-error For example, such as Figure 4 As shown, T i-1 and T i Let T be the coordinate system of adjacent joints of the robot. i-1 Let T be the coordinate system of the previous joint. i Let T be the coordinate system for the next joint. i,2 ... T i,6 T represents the result after introducing the corresponding error. i The changes, Figure 4 (a) indicates that in T i-1 Based on this, without considering errors, T i (Right now Figure 4 T in i,1 ) and T i-1 A diagram illustrating the conversion relationship between them, i.e., using T i-1 With T i The length of the connecting rod is l i The diagram illustrates the original coordinate transformation for example. Figure 4 In (b), it indicates the introduction of a bias error (i.e., the introduction of a displacement bias) Δl. i In the case of T i (Right now Figure 4 T in i,2 ) and T i-1 A diagram illustrating the conversion relationship between them. Figure 4 (c) indicates the introduction of bias error Δl i With respect to deflection errors ΔRx, ΔRy, and ΔRz, T i (Right now Figure 4 T in i,3 The coordinates of ) and T i-1 A diagram illustrating the conversion relationship between them; Figure 4 In the middle (d), it indicates the introduction of joint rotation angle error (such as R). θi In the case of T, i (Right now Figure 4 T in i,4 The coordinates of ) and T i-1 A diagram illustrating the conversion relationship between them; Figure 4 In the middle (e), it indicates that the torque is Torq x When considering the introduction of rotational deviation caused by joint flexibility (i.e., joint flexibility error), T i (Right now Figure 4 T in i,5 ) and T i-1 A diagram illustrating the conversion relationship between them; Figure 4In the case of introducing rotational deviation (i.e., link flexibility error) caused by link flexibility, T represents... i (Right now Figure 4 T in i,6 ) and T i-1 A schematic diagram of the conversion relationship between them, where the rotational deviation θ x It can be done through the formula θ x =K x Torq x Calculations show that K x Torq is the flexibility coefficient. x It represents torque.

[0142] The definition of the joint coordinate system in the full-parameter error model differs from that in the DH kinematic error model. In some embodiments, the joint coordinate system in the full-parameter error model can be defined as follows: Figure 5 The form shown, Figure 5 The coordinate systems shown are used to represent the positions of the robot's joints. For example, the coordinate system shown as x1, y1, z1 is used to represent the position of robot joint 1.

[0143] by Figure 5 Taking the definition of the joint coordinate systems shown as an example, when using a full-parameter error model to diagnose errors in the robot, in addition to the error types that the DH kinematic error model can identify (i.e., the contents shown in Table 2 below), the error types that can also be identified are shown in Table 1 below:

[0144] Table 1. Additional error types identified by the full-parameter error model compared to the DH kinematic error model

[0145]

[0146] In Table 1 above, the first column represents the mathematical description of the full-parameter error identified using the full-parameter error model, and the second column represents the description of the physical meaning of the full-parameter error identified using the full-parameter error model. From the content of the first row of Table 1, we can see that the mathematical description of the full-parameter error as "the rotation angle of axis 2 relative to axis 1 around the x-direction" means, physically, that "axis 2 has a perpendicularity error with axis 1." From the content of the second row of Table 1, we can see that the mathematical description as "the rotation angle of axis 3 relative to axis 2 around the x-direction" means, physically, "axis 3 has a parallelism error with axis 2." The meanings of the other rows in Table 1 are similar and will not be repeated here.

[0147] Understandably, since the full-parameter error model is constructed based on full-parameter errors such as bias error and joint angle error, the model parameters of the target full-parameter model should also indicate the existing bias error, angle error, etc., as shown in Table 1. However, as can be seen from the mathematical description in Table 1, the mathematical description cannot intuitively represent the specific error, especially when the user is not clear about the x, y, and z axis orientations of the coordinate system established by each axis. It cannot provide guidance on how to adjust the robot to eliminate the error. Therefore, for each identifiable full-parameter error, a corresponding physical meaning is given. Based on the physical meaning, the user can be intuitively informed of the specific error, so that the user can eliminate the corresponding error.

[0148] The following explains how the first error is displayed.

[0149] In some embodiments, for each first error, the host computer can determine the highest accuracy that the robot can achieve by adjusting only the first error, as the calibration residual corresponding to each first error. For example, if there are two first errors, namely error 1 and error 2, then for error 1, the host computer can determine the highest accuracy that the robot can achieve by adjusting only error 1 without adjusting error 2, as the calibration residual 1 corresponding to error 1; for error 2, the host computer can determine the highest accuracy that the robot can achieve by adjusting only error 2 without adjusting error 1, as the calibration residual 2 corresponding to error 2.

[0150] Understandably, robot precision typically refers to the accuracy with which the robot performs its tasks. Numerically, the smaller the precision value, the higher the robot's precision. For example, a robot with a precision of 0.1mm is more precise than one with a precision of only 0.2mm. Therefore, in this embodiment, the smaller the calibration residual value, the higher the robot's precision. Thus, the calibration residual calculated in this embodiment represents the highest precision achievable by adjusting only a specific first error. This distinguishes the impact of each first error on the robot's precision and provides a clear indication to the user of the precision achievable after adjusting the corresponding first error.

[0151] For example, regarding errors 1 and 2 in the above example, adjusting only error 1 can improve the robot's accuracy to 0.1mm, while adjusting only error 2 can improve it to 0.2mm. That is, error 1 has a greater impact on the robot's accuracy than error 2. Therefore, if, when determining the calibration residual, the calibration residual 1 corresponding to error 1 is recorded as 0.3mm (understandably, if adjusting error 1 can achieve an accuracy of 0.1mm, it can also achieve 0.3mm, such as if error 1 is not fully adjusted), and the calibration residual 2 corresponding to error 2 is recorded as 0.2mm, then the error with a greater impact on the robot's accuracy, determined from the value of the calibration residual, is error 2. It is evident that this method of determining the calibration residual may lead users to incorrectly determine the impact of each first error on the robot's accuracy. The magnitude of the impact on robot accuracy complicates the user's robot calibration process. For example, if the user expects the robot to achieve an accuracy of 0.1mm, then using the highest achievable accuracy as the calibration residual corresponding to the first error—that is, setting the calibration residual 1 for error 1 to 0.1mm and the calibration residual 2 for error 2 to 0.2mm—the user can directly adjust error 1 to achieve the desired accuracy. However, if the calibration residual 1 is set to 0.3mm and the calibration residual 2 to 0.2mm, the user will find that adjusting only error 2 will not achieve the expected accuracy, requiring simultaneous adjustment of both errors to see if the desired accuracy is achieved. Therefore, using the highest achievable accuracy as the calibration residual for each first error not only reflects the magnitude of each error's impact on robot accuracy but also intuitively informs the user of the achievable accuracy after adjusting the corresponding first error, providing guidance for the user in determining the first error to be adjusted.

[0152] Furthermore, in some embodiments, the highest accuracy may not be used as the calibration residual corresponding to the first error. Instead, it is sufficient that the obtained calibration residual can distinguish the magnitude of the impact of the first error on the robot's accuracy. For example, in the example above, calibration residual 1 can be recorded as 0.2mm and calibration residual 2 can be recorded as 0.2mm. In this way, the magnitude of the impact of each first error on the robot's accuracy can still be determined by the calibration residual. However, the calibration residual determined in this way cannot intuitively let the user understand the highest accuracy that can be achieved after adjusting each first error. For example, when the user expects the robot to achieve an accuracy of 0.1mm, the value of the calibration error determined by this method may not intuitively let the user understand that the user only needs to adjust error 1 to achieve the expected accuracy.

[0153] After determining the calibration residuals corresponding to each first error, the host computer can identify the first error whose calibration residuals satisfy a preset condition as the third error. That is, for each first error, if one or more first errors have calibration residuals that satisfy a preset condition, then these one or more first errors are identified as the third error. Here, the preset condition can be that the value of the calibration residual is less than a preset value, which can be set according to actual needs, such as 0.2mm, 0.5mm, etc. Alternatively, the preset condition can be that the calibration residuals corresponding to each first error are sorted in ascending order and the first m values ​​in the sequence are the first m values, where m can be 1, 2, 3, etc.

[0154] In some embodiments, during the process of determining errors using a full-parameter error model, the sequence number of each error term, the parameter value corresponding to the error term, and the calibration residual corresponding to the error term can be recorded. This information is then output as a structure, resulting in multiple structures. These structures are then sorted in ascending order according to the magnitude of the calibration residual, resulting in a sequence of structures. The parameter in the nth structure of the sequence represents: the error term ranking nth in terms of its impact on calibration accuracy, the parameter value corresponding to that error term, and the calibration residual corresponding to that error term. Based on the sorted sequence of structures, the primary error term (i.e., the third error) and its corresponding parameter value can be located, and the maximum accuracy achievable after repair can be quantitatively analyzed. This enables rapid location of factors affecting calibration accuracy, error diagnosis, and accuracy analysis. See below for details. Figure 13 Examples are shown in the text.

[0155] The first error corresponding to the calibration residual that meets the preset conditions is taken as the third error, and the errors other than the third error among the first errors are taken as the fourth error. It can be understood that the value of the calibration residual can represent the magnitude of the impact of the first error on the robot's accuracy. Therefore, for the set preset conditions, the first error (i.e., the third error) corresponding to the calibration residual that meets the preset conditions has a greater impact on the robot's accuracy than the fourth error. Therefore, to allow users to intuitively understand which errors have a greater impact on the robot's accuracy and which have a smaller impact, so that users can determine the errors that need adjustment, the third error can be displayed in a first display method, and the fourth error in a second display method; that is, different display methods can be used to display the third and fourth errors. Here, different display methods could include displaying the third and fourth errors with different colors, displaying the third and fourth errors with different font sizes, etc.

[0156] In some embodiments, for each error that the full-parameter error model can identify, a corresponding error diagram can be pre-configured in the host computer. After determining the third error, for each third error, the host computer can obtain the error diagram configured for each third error as the target error diagram. In this way, when displaying each third error, the host computer can display the target error diagram, the third error (such as the mathematical description and physical meaning of the third error), and the calibration residual corresponding to the third error, so as to more intuitively inform the user of the location and cause of the third error.

[0157] See Figure 6 , Figure 6 This is a schematic diagram of a second flowchart of the error diagnosis method provided in the embodiments of this application.

[0158] In some embodiments, before determining the first error using the full-parameter error model, the second error of the robot can be determined in advance using the DH kinematic error model. That is, the robot is first adjusted based on the second error determined by the DH kinematic error model. If the robot's accuracy cannot reach the preset threshold after adjustment or if it is still desired to further improve the robot's accuracy, the first error is then determined using the full-parameter error model, and the robot is adjusted based on the first error. Figure 6 The method shown may include the following steps:

[0159] Step S61: Obtain the coordinates of the calibration component fixed to the end of the robot when the robot is at different first preset joint angles, and use them as the first coordinates corresponding to each first preset joint angle;

[0160] Step S62: Fit the correspondence between the first preset joint angle and the first coordinate by the original DH kinematic error model to obtain the target DH kinematic error model, and use the model parameters in the target DH kinematic error model as the robot's second error and display the second error;

[0161] Step S63: In response to the diagnostic command for the second error, fit the correspondence between the first preset joint angle and the first coordinate by the original full-parameter error model to obtain the target full-parameter error model.

[0162] The technical solution provided in this application embodiment constructs a DH kinematic error model that includes the offset error of each link length of the robot, the zero position error of each joint of the robot, and the stiffness error of each joint of the robot. After obtaining each first preset joint angle and the first coordinate corresponding to each first preset joint angle, the DH kinematic error model is first used to determine the second error of the robot. When adjusting the second error cannot make the robot's accuracy reach the expected accuracy, the full parameter error model is then used to determine the first error, and the robot's accuracy is improved by adjusting the first error. When adjusting the second error can make the robot's accuracy reach the expected accuracy, the full parameter error model is no longer needed to determine the first error. In this way, the amount of calculation can be reduced and the efficiency of calibrating the robot parameters can be improved.

[0163] The above steps S61 and Figure 2 The same applies to step S21, so it will not be repeated here.

[0164] In step S62 above, the DH kinematic error model can be a model with DH kinematic error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end effector as the dependent variable. The DH kinematic error includes the offset error of each link length of the robot, the zero-position error of each joint of the robot, and the stiffness error of each joint of the robot.

[0165] The original DH kinematic error model is a DH kinematic error model where the DH kinematic error is an unknown quantity. Based on the first preset joint angles and first coordinates obtained in step S61 above, the original DH kinematic error model is fitted to obtain the correspondence between the robot joint angles and the coordinates of the robot end effector calibration component. In this case, the DH kinematic error is a known quantity in the fitted correspondence, and the fitted correspondence between the robot joint angles and the coordinates of the robot end effector calibration component can be considered as the target DH kinematic error model. Therefore, the model parameters (i.e., DH kinematic error) in the target DH kinematic error model can be used as the robot's second error and displayed. The coordinate system of each joint in the DH kinematic error model can be defined as described above. Figure 3 The aforementioned form.

[0166] by Figure 3 Taking the definition of the joint coordinate systems shown below as an example, when using the DH kinematic error model to diagnose errors in the robot, the types of errors that can be identified are shown in Table 2 below:

[0167] Table 2. Error types identified by the DH kinematic error model

[0168]

[0169] In Table 2 above, the first column represents the error types that can be identified using the DH kinematic error model, and the second column represents the error types for the above-mentioned... Figure 3 The robot shown is illustrated using the DH kinematic error model, which identifies the specific errors. Table 2's first row shows that when the error type is link length offset, the identifiable error terms are the offset errors of robot links L2, L3, L4, and L6. Table 2's second row shows that when the error type is joint zero position, the identifiable error terms are θ2, θ3, θ4, and θ5. Table 2's third row shows that when the error type is joint stiffness, the identifiable error terms are k2, k3, k4, and k5. It is understandable that although Table 2 categorizes error terms into multiple error types, the DH kinematic error model identifies all error terms in Table 2 simultaneously, rather than only identifying error terms of a single error type.

[0170] In step S63 above, after adjusting the robot's accuracy based on the second error, if the user still needs to determine the first error using a full-parameter error model, the host computer, in response to the diagnostic command for the second error, can execute the content shown in step S22 above. For details regarding the diagnostic command, please refer to the following text. Figure 13 The description in the text.

[0171] See Figure 7 , Figure 7 This is a schematic diagram of a process for obtaining the first coordinates provided in an embodiment of this application.

[0172] In some embodiments, considering factors such as measurement accuracy, measurement range, and stability, the calibration component fixed to the robot's end effector can be a target ball, and a laser follower is used to obtain the first coordinates. Figure 7 The method for obtaining the first coordinate shown may include the following steps:

[0173] Step S71: For each first preset joint angle, control the robot to move to the first preset joint angle with the target ball fixed at the end, and control the laser follower to capture the target ball;

[0174] Step S72: If no coordinates are received from the laser follower within a preset time, the transformation relationship between the robot flange coordinate system and the base coordinate system is determined according to the first preset joint angle.

[0175] Step S73: Based on the transformation relationship between the base coordinate system and the laser follower coordinate system, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the flange coordinate system and the base coordinate system, determine the coordinates of the target ball in the laser follower coordinate system, and use them as the second coordinates;

[0176] Step S74: Adjust the orientation of the laser follower so that its field of view covers the second coordinate.

[0177] Step S75: Obtain the coordinates of the target ball captured by the laser follower, and use them as the first coordinates corresponding to the first preset joint angle.

[0178] In the technical solution provided in this application embodiment, if the coordinates of the target ball returned by the laser follower are not received within a preset time, the host computer can determine the transformation relationship between the robot's current flange coordinate system and the base coordinate system based on the current first preset joint angle. Then, based on the transformation relationships between the tool coordinate system and the flange coordinate system, the flange coordinate system and the base coordinate system, and the base coordinate system and the laser follower coordinate system, the coordinates of the target ball in the laser follower coordinate system (i.e., the second coordinates) can be calculated. Afterward, the host computer adjusts the orientation of the laser follower so that its field of view covers the second coordinates, thereby enabling the laser follower to capture the target ball and obtain the first coordinates. In this way, even if there is a large difference between adjacent first preset joint angles causing the laser follower to lose light, the host computer can promptly adjust the orientation of the laser follower to recapture the target ball.

[0179] In step S71 above, a target ball is fixed at the end of the robot. For each first preset joint angle, the host computer controls the robot to move to the first preset joint angle and then controls the laser follower to capture the target ball located at the end of the robot; or, during the process of the robot moving to each first preset joint angle, the laser follower automatically follows the movement of the target ball and captures the coordinates of the target ball in the coordinate system of the laser follower when the robot reaches the first preset joint angle.

[0180] In step S72 above, if the host computer does not receive the coordinates returned by the laser follower within a preset time, it can determine the transformation relationship between the robot flange coordinate system and the base coordinate system based on the current first preset joint angle. The determined transformation relationship between the robot flange coordinate system and the base coordinate system is determined directly based on the current first preset joint angle without considering errors.

[0181] The specific value of the preset time can be set according to the actual situation. The host computer can start calculating whether it has received the coordinates returned by the laser follower within the preset time from when the host computer controls the robot to adjust to the first preset joint angle; or, after the host computer controls the robot to adjust to the first preset joint angle, it controls the laser follower to capture the target ball, and calculates whether it has received the coordinates returned by the laser follower within the preset time from when the laser follower captures the target ball; or, after the host computer controls the robot to adjust to the first preset joint angle, it controls the laser follower to capture the target ball through control commands, and receives the information returned by the laser follower indicating that the control command has been received, and calculates whether it has received the coordinates returned by the laser follower within the preset time from when the information returned by the laser follower is received. In addition, the node at which the host computer starts calculating whether it is within the preset time can also be other time nodes, depending on the user's needs, and there is no limitation on this.

[0182] In step S73 above, the host computer can determine the coordinates of the target ball in the laser follower coordinate system, i.e., the second coordinates, based on the transformation relationships between the tool coordinate system and the flange coordinate system, the flange coordinate system and the base coordinate system, and the base coordinate system and the laser follower coordinate system. The second coordinates obtained here are actually the theoretical position of the target ball in the laser follower coordinate system, derived from the current first preset joint angle and the transformation relationships between each coordinate system. The transformation relationships between the base coordinate system and the laser follower coordinate system, and between the tool coordinate system and the flange coordinate system, can be predetermined using the following methods: Figure 9 The method shown is used to determine this, and will not be elaborated further here.

[0183] In step S74 above, after the host computer obtains the second coordinates, it can adjust the orientation of the laser follower to make its field of view cover the second coordinates. For example, the host computer can send an orientation adjustment command to the laser follower to control it to adjust its orientation, thereby making its field of view cover the second coordinates. It is understandable that the second coordinates are the theoretically derived position of the target ball in the laser follower's coordinate system. Therefore, the second coordinates are not necessarily the exact coordinates of the target ball in the laser follower's coordinate system at the first preset joint angle. However, the second coordinates can be approximated as the target ball's coordinates in the laser follower's coordinate system. For the laser follower, even with millimeter-level deviations, autonomous capture can be achieved. Therefore, once the laser follower's field of view covers the second coordinates, it can capture the target ball and obtain its true coordinates in the laser follower's coordinate system, which are then used as the first coordinates corresponding to the current first preset joint angle.

[0184] In step S75 above, after the laser follower captures the target ball, it can obtain the coordinates of the target ball in the laser follower coordinate system (i.e., the first coordinates) and return the first coordinates to the host computer as the first coordinates corresponding to the current first preset joint angle.

[0185] Figure 8 This is another flowchart illustrating the process of obtaining the first coordinates provided in an embodiment of this application. Figure 8 The process of obtaining the first coordinates by re-capturing the target ball after the laser follower loses light, as shown in the embodiments of this application, will be explained using an example. Figure 8 As shown, the host computer controls the robot's motion state transformation through the controller (i.e., ①). When the robot changes from the previous first preset joint angle to the current first preset joint angle, the laser follower loses light, that is, the host computer detects that it has not received the coordinates returned by the laser follower within a preset time. At this time, the host computer can determine the transformation relationship between the current robot flange coordinate system and the base coordinate system based on the current first preset joint angle. Then, based on the transformation relationship between the current robot flange coordinate system and the base coordinate system, as well as the predetermined transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system, the second coordinate (also called the preset point) is calculated (i.e., ②). After that, the host computer can send an orientation adjustment command to the laser follower based on the second coordinate, so that after the laser follower adjusts its orientation (i.e., ③), the second coordinate can be within the field of view of the laser follower. Then, the laser follower captures the target ball and obtains the current coordinates of the target ball in the laser follower coordinate system (i.e., the first coordinate).

[0186] In some embodiments, the following may be adopted Figure 9 The method shown predetermines the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system. Figure 9 The method shown may include the following steps:

[0187] Step S91: Obtain the coordinates of the target ball fixed at the end of the robot in the coordinate system of the laser follower when the robot is at different second preset joint angles, and use them as the third coordinates corresponding to each second preset joint angle; and, for each second preset joint angle, obtain the transformation relationship between the flange coordinate system and the base coordinate system, and use it as the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle.

[0188] Step S92: Based on the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle, and the third coordinate corresponding to each second preset joint angle, fit the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system.

[0189] In the technical solution provided in this application embodiment, a plurality of second preset joint angles are pre-configured, and for each second preset joint angle, the transformation relationship between the flange coordinate system and the base coordinate system and the third coordinate are obtained; based on the correspondence between the third coordinate and the second preset joint angle, and the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle, the host computer can fit the transformation relationship between the tool coordinate system of the robot and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system.

[0190] In step S91 above, the second preset joint angle is used to describe the motion state that the robot's end effector needs to reach. The host computer can control the robot to move to the corresponding motion state through each second preset joint angle and obtain the third coordinate corresponding to each second preset joint angle. The third coordinate has the same meaning as the first coordinate, as described in step S21 above. Furthermore, for each second preset joint angle, the host computer can solve for the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle.

[0191] Understandably, the purpose of determining the transformation relationship between the flange coordinate system and the base coordinate system, the tool coordinate system and the flange coordinate system, and the base coordinate system and the laser follower coordinate system is to determine the second coordinate corresponding to the current joint angle. That is, to determine the theoretical position of the target ball at the end of the robot in the laser follower coordinate system at the current joint angle, so that the laser follower can automatically capture the target ball when its field of view covers the second coordinate. Therefore, when determining the transformation relationship between the flange coordinate system and the base coordinate system, the existing error can be ignored, and the corresponding transformation relationship between the flange coordinate system and the base coordinate system can be obtained directly from the joint angle.

[0192] Furthermore, the purpose of setting the second preset joint angle is to obtain multiple sets of second preset joint angles and third coordinates by controlling the robot's end effector to move to different motion states. Then, based on these multiple sets of second preset joint angles and third coordinates, the transformation relationship between the tool coordinate system and the laser follower coordinate system is determined. Therefore, when configuring the second preset joint angles, the movement amplitude between adjacent second preset joint angles should be small to minimize light loss during the acquisition of the third coordinates. The number of second preset joint angles can be set to 10, 20, 30, etc., depending on the user's actual needs.

[0193] In step S92 above, it is understood that if q represents the second preset joint angle, and... base T flange This indicates the transformation relationship between the flange and the base coordinate system. flange Ttool This indicates the relative relationship between the tool coordinate system and the flange coordinate system. laser T base Let F represent the transformation relationship between the base coordinate system and the laser follower coordinate system, and let F represent the third coordinate. Then, the relationship between q and F can be expressed as F = g(q, flange T tool , laser T base At the same time, due to the formula F=g(q, flange T tool , laser T base In this context, q represents the transformation relationship between the flange and the base coordinate system. base T flange Therefore, the formula F = g(q, flange T tool , laser T base It can also be rewritten as... base T flange , flange T tool , laser T base Formulas with variables, such as F = h( base T flange , flange T tool , laser T base ).

[0194] Therefore, in this embodiment of the application, based on the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle, and the third coordinate corresponding to each second preset joint angle, the host computer can fit the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system.

[0195] To illustrate with an example, suppose 10 sets of second preset joint angles are preset, and these 10 sets of second preset joint angles are q1, q2, ..., q 10 The transformation relationships between the flange coordinate system and the base coordinate system corresponding to these 10 sets of second preset joint angles are as follows: base T flange1 , base T flange2 , ..., base T flange10 The third coordinates corresponding to these 10 sets of second preset joint angles are F1, F2, ..., F 10 ;in, base T flange1This indicates the correspondence between the flange coordinate system and the base coordinate system corresponding to q1, and F1 represents the third coordinate corresponding to q1; base T flange2 This indicates the correspondence between the flange coordinate system and the base coordinate system corresponding to q2, and F2 indicates the third coordinate corresponding to q2; the meanings of other characters are deduced accordingly, and will not be elaborated here.

[0196] Therefore, 10 nonlinear equations can be established, namely F1=g(q1, flange T tool , laser T base F2 = g(q2, flange T tool , laser T base );…;F 10 =g(q) 10 , flange T tool , laser T base Based on these 10 nonlinear equations, the host computer can fit the transformation relationship between the tool coordinate system and the flange coordinate system, as well as the transformation relationship between the base coordinate system and the laser follower coordinate system.

[0197] Figure 10 This is a schematic diagram illustrating the transformation relationship between the coordinate system of the determining tool and the coordinate system of the laser follower provided in an embodiment of this application. Figure 10 As shown, the host computer uses the second preset joint angles, the third coordinates, and the transformation relationship between the flange coordinate system and the base coordinate system. base T flange The transformation relationship between the tool coordinate system and the flange coordinate system is obtained by fitting. flange T tool Transformation relationship between the base coordinate system and the laser follower coordinate system laser T base Based on the transformation relationship between the tool coordinate system and the flange coordinate system flange T tool The transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle. base T flange And the transformation relationship between the base coordinate system and the laser follower coordinate system. laser T base It can also obtain the transformation relationship between the tool coordinate system and the laser follower coordinate system corresponding to each second preset joint angle. laser T tool .

[0198] In some embodiments, to provide visual information and facilitate user understanding of the execution progress and selection of desired execution steps, a first interface for displaying the error diagnosis progress is pre-configured. In response to a first instruction on the first interface, the host computer executes the step of fitting the correspondence between the first preset joint angle and the first coordinate using the DH kinematic error model to obtain the DH kinematic error model. In response to a second instruction on the first interface, the host computer executes the step of fitting the correspondence between the first preset joint angle and the first coordinate using the original full-parameter error model to obtain the target full-parameter error model. The second instruction can also be understood as the diagnostic instruction in step S63 above. In response to a third instruction on the first interface, the host computer initializes the robot and the laser follower, such as enabling communication between the host computer and the robot controller and the laser follower, zero-position alignment of each axis structure, load installation, and load information configuration. In response to a fourth instruction on the first interface, the host computer can execute pre-configured steps for detecting robot performance to determine and display the robot's current performance. The pre-configured steps for detecting robot performance may include point accuracy testing and straightness testing.

[0199] The first interface described above will be illustrated below with a specific example. See [link to example]. Figure 11 , Figure 11 This is a first schematic diagram of a first interface provided in an embodiment of this application. Figure 11 The first interface shown includes seven items: Sequence Number, Enable, Step, Content, Status, Progress, and Test. The Sequence Number represents the sequence number of each step in the first interface; Enable indicates the execution status of each step. In this example, when the execution status of a step is "Untested," the corresponding enable icon is light-colored; when the status of a step is "Test Passed," the corresponding enable icon is dark-colored; Step represents the individual steps to be executed in the first interface; Content represents the specific content of each step in the first interface; Status represents the execution status of each step in the first interface; and Progress represents the execution progress of each step in the first interface. It is understood that the representation of Sequence Number, Enable, Status, etc., provided in this example is merely an example and does not constitute any limitation.

[0200] Figure 11 The process can be divided into three stages: initialization, calibration and diagnostics, and performance testing. The first stage corresponds to the initialization of the robot and laser follower in response to the third command on the first interface, as described in the example above. Figure 11In the example shown, the third instruction for the first interface can be a click on the "Test" button after steps 1-10, or a user-input operation to execute all steps in the first interface. For example, if a "Start" button exists in the first interface, clicking the "Start" button will execute all steps in the first interface. The second stage corresponds to the first and second instructions for the first interface in the above example, obtaining the relevant content of the target DH kinematic error model and the target full-parameter error model. Figure 11 In the example shown, the first instruction for the first interface can be understood as clicking the "Test" button after steps 11-13, or the user-input operation to execute all steps in the first interface; for a description of the second instruction, please refer to the following. Figure 13 The description in the example above is omitted here. The third stage corresponds to responding to the fourth instruction, determining the robot's current progress, and displaying the corresponding content. Figure 11 In the example shown, the fourth instruction for the first interface can be a click on the "Test" button after steps 14-18, or a user-input operation to execute all steps in the first interface.

[0201] Below, in conjunction with Figure 12 Each of the steps included in the above three stages will be explained.

[0202] The first stage includes steps 1-10, used to achieve communication between the host computer and the robot controller, communication between the host computer and the laser follower, zero-position alignment of each axis structure, and load installation and load information configuration. Specifically, step 1, "Initialize Controller," is used to connect the host computer and the robot controller; steps 2, "Upload CAPA File," and 3, "Upload Model File," are used to upload basic files to the robot controller; step 4, "Synchronize Controller Time," is used to synchronize the robot controller time with the host computer time; each axis of the robot has a corresponding zero-position groove designed in its structure, and step 5, "Structural Calibration," is used to coarsely calibrate the robot's zero position by manually aligning the grooves of each axis; step 6, "Set Tool Configuration," is used to send commands to configure the mass and centroid of the robot's end effector load into the robot controller; step 7, "Move to Load Installation Point," is used to... The process involves sending commands to move the robot to the load installation position, facilitating load installation by the operator; step 8, "Move to Target Ball Finding Point," sends commands to move the robot to the target ball finding position, enabling the laser follower to capture the target ball; step 9, "Initialize Laser Follower," establishes communication between the host computer and the laser follower; step 10, "Target Ball Finding" (automatic target ball finding by the laser follower, manual adjustment if unsuccessful), enables the laser follower to capture the target ball installed on the robot's end-effector load; step 5 also includes one-key zeroing, zero-point calibration, factory reset, waiting for restart, verifying zero-point calibration results, setting installation method, and advanced option settings (i.e., disabling singularity detection).

[0203] The second stage includes steps 11-13. Step 11, "Coordinate System Calibration," is used for pre-calibration to obtain the transformation relationship between the base coordinate system and the laser follower coordinate system, and the transformation relationship between the tool coordinate system and the flange coordinate system. See the above for details. Figure 8 The description in section 11 is as follows; step 11 specifically includes the calibration of the tool coordinate system and the world coordinate system, and the calculation of the coordinate system calibration results. Step 12, "Kinematic Calibration," is used to control the robot to adjust to different preset motion states, thereby acquiring collected data to enable subsequent calls to the kinematic model and the full-parameter model. For example, step 12 pre-configures 50 sets of first preset joint angles. The laser follower can collect the corresponding 50 sets of first coordinates. At the same time, the host computer acquires the robot's 50 sets of joint angles, calibrates the robot's DH kinematic parameters, the tool coordinate system, and the laser follower coordinate system. For details, please refer to the above. Figure 6The description in section 12 is as follows: Step 12 specifically includes advanced option settings (i.e., enabling joint deformation and vibration suppression), kinematic calibration sampling, kinematic calibration calculation, writing calibration results to the controller, restoring factory settings, waiting for restart, and setting the installation method. "Kinematic calibration calculation" is used to calculate the calibration results and calibration residuals. When the calibration residuals meet the expected requirements (e.g., less than 1mm), the calibration results can be written to the robot's controller. The parameters just written to the robot controller are updated by restoring factory settings and restarting. Step 13, "Configuration tools and advanced option settings," is used to reconfigure the tools and advanced options after the robot controller restarts. Step 13 specifically includes setting tool configuration, advanced option settings - enabling joint deformation correction and vibration suppression, and advanced option settings - disabling singularity detection. It should be noted that for step 12.3, "Kinematic calibration calculation," regardless of whether calling the DH kinematic error model can make the robot's accuracy meet the expected requirements, the user can use the second command on the first interface to call the full-parameter error model to determine the first error.

[0204] The third stage includes steps 14-18. Step 14, "Cube Accuracy Verification," includes cube accuracy sampling and cube accuracy calculation, used to test the robot's absolute positioning accuracy in local space. For example, the host computer controls the robot to traverse the eight vertices of the local space cube in a linear motion, and uses a laser follower to collect the coordinates of the target ball in the laser follower coordinate system to verify the robot's absolute positioning accuracy in local space. Step 15, "Point-to-Point Accuracy Verification," includes point-to-point accuracy sampling and point-to-point accuracy calculation, used to test the robot's absolute positioning accuracy and repeatability accuracy. For example, the host computer can control the robot to traverse five national standard test points in a linear motion, and use a laser follower to collect the test point positions to verify the robot's absolute positioning accuracy and repeatability accuracy. Steps 16 ("X-axis linear accuracy verification"), 17 ("Y-axis linear accuracy verification"), and 18 ("Z-axis linear accuracy verification") are used to verify the robot's distance and trajectory accuracy in the X, Y, and Z directions, respectively. For example, the host computer can control the robot to move at full speed along a straight line of 300mm in the X, Y, and Z directions, respectively, and use a laser follower to continuously collect the coordinates of the target ball in the laser follower coordinate system to verify the robot's distance and trajectory accuracy in the X, Y, and Z directions.

[0205] In addition to the three stages mentioned above, Figure 12The process also includes steps 19-22. Step 19 corresponds to "Move to the load unloading point"; step 20 corresponds to "Dynamic Calibration", which is the main step of dynamic calibration, including switching to automatic mode and powering on, dynamic calibration, and downloading the controller parameter file; step 21 corresponds to "Restore Factory Settings", which includes resetting the operation and maintenance time, restoring factory settings, and waiting for restart; and step 22 corresponds to "Advanced Option Settings", which is to disable singularity detection.

[0206] In some embodiments, a "Start" button is present on the first interface. The user can click the "Start" button on the first interface. In response to the user's click operation, the host computer can sequentially execute each step in the software interface (i.e., the first interface). It is understood that when both the DH kinematic error model and the full parameter error model are configured, during the sequential execution of each step in the software interface, the host computer can first call the DH kinematic model to determine the second error. When the DH kinematic error model cannot achieve the convergence of the robot's accuracy to the effective threshold, a reminder can be issued to the user in the form of a pop-up window to instruct the user to perform the next operation, such as calling the full parameter error model to determine the first error.

[0207] In other embodiments, the user can also click the test button corresponding to each step. In response to the user's click, the host computer can execute the steps specified by the user. For example, if the user only wants to test the robot's accuracy, the user can click... Figure 11 The test buttons following steps 14-18 respond to user clicks, allowing the host computer to execute the corresponding steps. Understandably, communication between the host computer and the robot and laser follower is only possible after establishing connections, enabling the exchange of commands and data. Therefore, when manually selecting the desired steps, the corresponding initialization steps must be performed beforehand.

[0208] Below, in conjunction with Figure 13 The first interface shown describes the second instruction (equivalent to the diagnostic instruction in step S63 above) in the example above.

[0209] See Figure 13 , Figure 13 This is a schematic diagram of an interface for calling a full-parameter model provided in an embodiment of this application. The user clicks... Figure 13 After step "Kinematic Calibration" (i.e., ① performing the kinematic calibration step) corresponding to number 12 in the first interface shown, the system responds to the user's click operation. Figure 13A second interface is added to the right of the first interface shown. In response to the user clicking the "Debug" option in the lower left corner of the second interface (i.e., ② selecting the debug interface), the user is redirected to the debug interface. The debug interface has a "Parameter Diagnosis" button in the upper left corner (i.e., ③ one-click error diagnosis). In response to the user clicking the "Parameter Diagnosis" button, the host computer uses a full-parameter error model to determine the first error, as detailed above. Figure 2 The description in the document is as follows. Afterwards, the determined first error and calibration error can be displayed in the debugging interface (i.e., ④ Diagnostic Result Display). Simultaneously, to allow users to more intuitively understand the magnitude of the impact of the existing first error on the robot's accuracy and the location of the first error, error diagrams are also configured for the two first errors with the smallest calibration residuals when displayed in the debugging interface.

[0210] like Figure 13 As shown, five primary errors were identified based on the full-parameter error model, and these five primary errors were displayed in the debugging interface. The parameter numbers (i.e., key parameter numbers) corresponding to these five primary errors are 29 (rotation angle of axis 4 relative to axis 3 in the z-direction), 25 (offset of axis 4 relative to axis 3 in the y-direction), 23 (rotation angle of axis 3 relative to axis 2 in the z-direction), 50 (torsional compliance of axis 3 in the z-direction), and 15 (rotation angle of axis 2 relative to axis 1 in the x-direction). It can be understood that in this example, corresponding parameter numbers are pre-assigned to each error item that may be determined by the full-parameter error model. When an error item is identified, the parameter number corresponding to that error item can be displayed in the debugging interface to inform the user of the currently existing error item. For each first error, the debugging interface also displays its corresponding parameter value (i.e., the size of the critical parameter) and calibration residual (rated accuracy after compensation). For example, the rated accuracy after compensation for critical parameter number 29 (rotation angle of axis 4 relative to axis 3 around the z direction) is 0.387470 mm, and the critical parameter size is 0.009948 degrees (°); the rated accuracy after compensation for critical parameter number 25 (offset of axis 4 relative to axis 3 along the y direction) is 0.398398 mm, and the critical parameter size is 0.082109 mm. The rated accuracy after compensation for key parameter number 23 (rotation angle of shaft 3 relative to shaft 2 in the z direction) is 0.402648 mm, and the key parameter value is 0.006918°; the rated accuracy after compensation for key parameter number 50 (torsional compliance of shaft 3 in the z direction) is 0.408028 mm, and the key parameter value is 0.000004; the rated accuracy after compensation for key parameter number 15 (rotation angle of shaft 2 relative to shaft 1 in the x direction) is 0.416715 mm, and the key parameter value is -0.004440°.

[0211] Depend on Figure 13 visible, Figure 13The debugging interface is divided into two parts. One part displays the five identified first errors, along with their corresponding compensated rated accuracy and calibration residual, in text form. The five first errors are arranged in ascending order of their compensated rated accuracy values, allowing users to determine the magnitude of each first error's impact on the robot's absolute positioning accuracy. The other part displays the two first errors with the lowest corresponding calibrated rated accuracy among the five identified first errors, and provides corresponding error diagrams for these two errors. The first error with the lowest corresponding calibrated rated accuracy is considered the primary influencing factor, thus allowing users to intuitively understand the first error that has the greatest impact on the robot's absolute positioning accuracy, as well as its location and cause.

[0212] Based on the above example, the second instruction can be the user's click operation on the "Parameter Diagnosis" button in the debugging interface, or the second instruction can be the series of operations of the user clicking "Kinematic Calibration", clicking the "Debugging" option, and clicking "Parameter Diagnosis".

[0213] To facilitate understanding of the relationship between the first interface, the robot, the laser follower, etc., embodiments of this application provide an error diagnosis system, such as... Figure 14 As shown, the interface includes a software layer, a hardware layer, and an algorithm layer. The software layer (i.e., the first interface mentioned above) is configured in the host computer and responds to user function selections. The host computer can call the hardware layer and the algorithm layer to execute corresponding tasks. For example, the software layer can control the robot (i.e., the industrial robot) in the hardware layer to adjust to different motion states, and can also call the DH kinematic error model (i.e., kinematic model) or the full-parameter error model (i.e., full-parameter model) in the algorithm layer to diagnose robot errors and display the task execution results. The hardware layer includes the robot (i.e., the industrial robot) and a laser follower; it is used to respond to... The software layer's acquisition commands enable data acquisition, obtain the acquired data, and send the acquired data back to the software layer. The acquired data can be the first coordinate or the third coordinate, etc. The algorithm layer includes the DH kinematic error model (i.e., the kinematic model) and the full-parameter error model (i.e., the full-parameter model). The software layer can input data (such as the acquired first coordinate, third coordinate, etc.) into the algorithm layer and issue a call command to the algorithm layer. The algorithm layer responds to the call command from the software layer and can use the DH kinematic error model or the full-parameter error model indicated by the call command to determine the existing errors and obtain calibration results and diagnostic results.

[0214] In summary, users can interact with both the short-term and hardware layers by selecting corresponding functions through the software interface (i.e., the first interface mentioned above). The error diagnosis system integrates calibration tools, enabling automated calibration processes: data acquisition, parameter identification, and result display. For products that fail calibration, the error diagnosis system integrates diagnostic tools to quickly pinpoint the main factors affecting calibration accuracy, achieving error diagnosis and accuracy analysis.

[0215] The following beneficial effects can be achieved by applying the technical solutions provided in the embodiments of this application:

[0216] (1) This application establishes a robot calibration error diagnosis system involving multiple levels of software, algorithms and hardware;

[0217] (2) This application establishes a full-parameter error model including robot joint offset error, joint deflection error, joint flexibility error and link flexibility error, and proposes a calibration error diagnosis method based on the full-parameter error model;

[0218] (3) This application proposes a calibration preset point mode, which uses a few preset calibration points (i.e., the second preset joint angle) to avoid the problem of laser follower losing light when the robot moves in the whole space;

[0219] (4) This application can solve the problem that the robot calibration progress based on the DH kinematic error model cannot converge to the effective threshold in the related technology, and can realize the rapid positioning of calibration error, accurate analysis of error magnitude, and pre-evaluation of repair accuracy (i.e., calibration residual).

[0220] (5) The robot calibration error diagnosis method based on the full parameter model provided in this application can be used as an auxiliary tool for robot production to check assembly accuracy and troubleshoot assembly problems.

[0221] (6) The technical solution provided in this application embodiment can provide tools (i.e. the first interface mentioned above) for robot structure repair and locate damaged components.

[0222] Corresponding to the above error diagnosis method, this application also provides an error diagnosis device, such as... Figure 15 As shown, the device includes:

[0223] Coordinate acquisition module 151: used to acquire the coordinates of the calibration component fixed to the end of the robot when the robot is at different first preset joint angles, and use them as the first coordinates corresponding to each first preset joint angle;

[0224] First error determination module 152: used to fit the correspondence between the first preset joint angle and the first coordinate through the original full-parameter error model to obtain the target full-parameter error model, and use the model parameters in the target full-parameter error model as the first error of the robot and display the first error;

[0225] The original full-parameter error model is a model with full-parameter error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable. The full-parameter error includes offset error, deflection error, joint rotation angle error, joint flexibility error, and link flexibility error between every two adjacent joints.

[0226] In the technical solution provided by this application embodiment, the coordinates of the calibration component fixed to the robot end are obtained when the robot is at different first preset joint angles, and are respectively used as the first coordinates corresponding to each first preset joint angle. The original full-parameter error model is fitted based on the obtained multiple first preset joint angles and first coordinates to obtain a target full-parameter error model. The model parameters of the target full-parameter model are used as the robot's first error and displayed, thereby facilitating user adjustments to the robot based on the first error to improve the robot's absolute positioning accuracy. Since the original full-parameter error model uses full-parameter error as the model parameter, robot joint angles as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable, and since the full-parameter error includes offset errors, deflection errors, joint rotation angle errors, joint flexibility errors, and link flexibility errors—errors not considered when constructing the DH kinematic error model—the technical solution provided by this application embodiment can effectively improve the robot's accuracy when the DH kinematic error model cannot converge the robot's accuracy to an effective threshold.

[0227] In some embodiments, the apparatus further includes:

[0228] The second error determination module is used to fit the correspondence between the first preset joint angle and the first coordinate through the original DH kinematic error model to obtain the target DH kinematic error model, and to use the model parameters in the target DH kinematic error model as the robot's second error and display the second error.

[0229] The original DH kinematic error model is a model with DH kinematic error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable. The DH kinematic error includes the offset error of each link length of the robot, the zero position error of each joint of the robot, and the stiffness error of each joint of the robot.

[0230] The first error determination module 152 is specifically used for:

[0231] In response to the diagnostic command for the second error, the target full-parameter error model is obtained by fitting the correspondence between the first preset joint angle and the first coordinate through the original full-parameter error model.

[0232] In some embodiments, the calibration component is a target ball, and the first coordinate is the coordinate of the target ball in the laser follower coordinate system obtained after the target ball is captured by the laser follower. The device further includes:

[0233] Control module: Used to control the robot to move to the first preset joint angle with a target ball fixed at the end, and to control the laser follower to capture the target ball;

[0234] First determining module: If no coordinates are received from the laser follower within a preset time, then the transformation relationship between the robot flange coordinate system and the base coordinate system is determined based on the first preset joint angle.

[0235] Transformation module: Used to determine the coordinates of the target ball in the laser follower coordinate system based on the transformation relationship between the base coordinate system and the laser follower coordinate system, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the flange coordinate system and the base coordinate system, and use these coordinates as the second coordinates;

[0236] Adjustment module: Used to adjust the joint angle of the laser follower so that the field of view of the laser follower covers the second coordinate.

[0237] Coordinate acquisition module 151: It is also used to acquire the coordinates of the target ball captured by the laser follower, and use them as the first coordinates corresponding to the first preset joint angle.

[0238] In some embodiments, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system, are obtained in advance by the following method:

[0239] The coordinates of the target ball fixed at the end of the robot in the coordinate system of the laser follower are obtained when the robot is at different second preset joint angles, and are respectively used as the third coordinates corresponding to each second preset joint angle; and, for each second preset joint angle, the transformation relationship between the flange coordinate system and the base coordinate system is obtained, and is used as the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle.

[0240] Based on the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each of the second preset joint angles, and the third coordinate corresponding to each of the second preset joint angles, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system are fitted to obtain the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system.

[0241] In some embodiments, the apparatus further includes:

[0242] The second determining module is used to determine, for each first error, the highest accuracy that the robot can achieve by adjusting only the first error, as the calibration residual corresponding to each first error;

[0243] The third determination module is used to determine the first error that the corresponding calibration residual meets the preset conditions, and use it as the third error.

[0244] The first error determination module 152 is specifically used for:

[0245] The third error is displayed in the first display method, and the fourth error is displayed in the second display method. The fourth error is the error other than the third error in the first error.

[0246] In some embodiments, error diagrams for each error configuration are obtained in advance;

[0247] The first error determination module 152 is specifically used for:

[0248] For each third error, obtain an error diagram configured for the third error, which serves as the target error diagram for the third error;

[0249] The diagram shows the third error, the target error of each third error, and the calibration residual corresponding to each third error.

[0250] In some embodiments, the device includes:

[0251] Interface display module: Used to display the first interface indicating the progress of error diagnosis;

[0252] Instruction execution module: In response to a first instruction for the first interface, executes the step of fitting the correspondence between the first preset joint angle and the first coordinate through the original DH kinematic error model to obtain the target DH kinematic error model; In response to a second instruction for the first interface, executes the step of fitting the correspondence between the first preset joint angle and the first coordinate through the original full-parameter error model to obtain the target full-parameter error model.

[0253] In some embodiments, the instruction execution module is further configured to:

[0254] In response to the third command directed to the first interface, initialize the robot and the laser follower;

[0255] In response to the fourth command directed to the first interface, determine and display the robot's current accuracy.

[0256] Corresponding to the above error diagnosis method, embodiments of this application also provide an electronic device, such as a host computer, such as... Figure 16 As shown, it includes:

[0257] Memory 161 is used to store computer programs;

[0258] When the processor 162 executes the program stored in the memory 161, it implements any of the error diagnosis methods described above.

[0259] Furthermore, the aforementioned electronic device may also include a communication bus and / or a communication interface, with the processor 162, communication interface, and memory 161 communicating with each other via the communication bus.

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

[0261] The communication interface is used for communication between the aforementioned electronic devices and other devices.

[0262] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0263] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0264] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above-described error diagnosis methods.

[0265] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to perform any of the error diagnosis methods described in the above embodiments.

[0266] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially 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, all or part of the processes or functions described in the embodiments of this application are generated. 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, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a solid-state drive (SSD), etc.

[0267] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0268] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, the embodiments for apparatus, electronic devices, and storage media are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0269] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.

Claims

1. An error diagnosis method, characterized in that, The method includes: The coordinates of the calibration component fixed to the end of the robot are obtained when the robot is at different first preset joint angles, and are used as the first coordinates corresponding to each first preset joint angle. The target full-parameter error model is obtained by fitting the correspondence between the first preset joint angle and the first coordinate through the original full-parameter error model, and the model parameters in the target full-parameter error model are used as the first error of the robot. For each of the first errors, the highest accuracy that the robot can achieve by adjusting only the first errors is determined as the calibration residual corresponding to each of the first errors; The first error that satisfies the preset condition is determined as the third error; the preset condition is that the calibration residuals corresponding to each first error are arranged in ascending order and are located in the first m positions of the sequence. Obtain error diagrams with configurations for each error in advance; For each of the third errors, an error diagram configured for the third error is obtained as a target error diagram for the third error; The diagram shows the location and cause of each of the third errors, the target error of each of the third errors, and the calibration residuals corresponding to each of the third errors. And a fourth error is displayed in a different way than the third error, the fourth error being the error in the first error excluding the third error; The original full-parameter error model is a model with full-parameter error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable. The full-parameter error includes offset error along the three coordinate axes, deflection error around the three coordinate axes, joint rotation angle error, joint flexibility error, and link flexibility error between every two adjacent joints. The deflection error is used to characterize the parallelism error or perpendicularity error between adjacent joint axes.

2. The method according to claim 1, characterized in that, The method further includes: By fitting the correspondence between the first preset joint angle and the first coordinate using the original DH kinematic error model, a target DH kinematic error model is obtained. The model parameters in the target DH kinematic error model are then used as the second error of the robot, and the second error is displayed. The original DH kinematic error model is a model with DH kinematic error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable. The DH kinematic error includes the offset error of each link length of the robot, the zero position error of each joint of the robot, and the stiffness error of each joint of the robot. The step of fitting the correspondence between the first preset joint angle and the first coordinate using the original full-parameter error model to obtain the target full-parameter error model includes: In response to the diagnostic command for the second error, the target full-parameter error model is obtained by fitting the correspondence between the first preset joint angle and the first coordinate through the original full-parameter error model.

3. The method according to claim 1, characterized in that, The calibration component is a target ball, and the first coordinate is the coordinate of the target ball in the coordinate system of the laser follower after it has been captured by the laser follower. The method further includes: For each of the first preset joint angles, the robot is controlled to move to the first preset joint angle with the target ball fixed at its end, and the laser follower is controlled to capture the target ball; If the coordinates returned by the laser follower are not received within a preset time, the transformation relationship between the robot flange coordinate system and the base coordinate system is determined according to the first preset joint angle. Based on the transformation relationship between the base coordinate system and the laser follower coordinate system, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the flange coordinate system and the base coordinate system, the coordinates of the target ball in the laser follower coordinate system are determined as the second coordinates; Adjust the orientation of the laser follower so that its field of view covers the second coordinate. The coordinates obtained by the laser follower capturing the target ball are used as the first coordinates corresponding to the first preset joint angle.

4. The method according to claim 3, characterized in that, The transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system, are obtained in advance through the following method: The coordinates of the target ball fixed at the end of the robot in the coordinate system of the laser follower are obtained when the robot is at different second preset joint angles, and are respectively used as the third coordinates corresponding to each second preset joint angle; and, for each second preset joint angle, the transformation relationship between the flange coordinate system and the base coordinate system is obtained, and is used as the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each second preset joint angle. Based on the transformation relationship between the flange coordinate system and the base coordinate system corresponding to each of the second preset joint angles, and the third coordinate corresponding to each of the second preset joint angles, the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system are fitted to obtain the transformation relationship between the tool coordinate system and the flange coordinate system, and the transformation relationship between the base coordinate system and the laser follower coordinate system.

5. The method according to claim 2, characterized in that, The method includes: Displays the first interface used to indicate the progress of error diagnosis; In response to a first instruction for the first interface, the step of fitting the correspondence between the first preset joint angle and the first coordinate through the original DH kinematic error model to obtain the target DH kinematic error model is executed. In response to a second instruction for the first interface, the step of fitting the correspondence between the first preset joint angle and the first coordinate using the original full-parameter error model to obtain the target full-parameter error model is executed.

6. The method according to claim 5, characterized in that, The method further includes: In response to a third command directed to the first interface, the robot and the laser follower are initialized; In response to the fourth instruction for the first interface, the robot's current accuracy is determined and displayed.

7. A calibration error diagnostic device, characterized in that, The device includes: Coordinate acquisition module: used to acquire the coordinates of the calibration component fixed at the end of the robot when the robot is at different first preset joint angles, and use them as the first coordinates corresponding to each first preset joint angle; Error determination module: used to determine a first transformation relationship between robot end-effector coordinates and robot joint angles based on multiple first coordinates and the first preset joint angles; Error determination module: used to fit the correspondence between the first preset joint angle and the first coordinate by the original full-parameter error model to obtain the target full-parameter error model, and use the model parameters in the target full-parameter error model as the first error of the robot; Error Display Module: This module is used to determine, for each of the first errors, the highest accuracy the robot can achieve by adjusting only the first errors, as the calibration residual corresponding to each of the first errors; determine the first error whose corresponding calibration residual satisfies a preset condition, as the third error; the preset condition is that the calibration residuals corresponding to each of the first errors are arranged in ascending order and are located in the first m positions of the sequence; pre-obtain error diagrams configured for each error; for each of the third errors, obtain error diagrams configured for the third errors, as the target error diagrams for the third errors; display each of the third errors, the target error diagrams for each of the third errors, and the calibration residuals corresponding to each of the third errors, to show the location and cause of each of the third errors; and display a fourth error in a different display method than the display of the third errors, the fourth error being any error other than the third error among the first errors. The original full-parameter error model is a model with full-parameter error as the model parameter, robot joint angle as the independent variable, and the coordinates of the calibration component at the robot end as the dependent variable. The full-parameter error includes offset error along the three coordinate axes, deflection error around the three coordinate axes, joint rotation angle error, joint flexibility error, and link flexibility error between every two adjacent joints. The deflection error is used to characterize the parallelism error or perpendicularity error between adjacent joint axes.

8. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method of any one of claims 1-6.

Citation Information

Patent Citations

  • Absolute precision compensation method and system, equipment and computer readable storage medium

    CN113927599A

  • Industrial robot precision compensation method based on multi-source error modeling

    CN114833834A