Robot calibration method and device, electronic equipment and storage medium
The docking error matrix is calculated through the pose transformation matrix and joint angle information of the dual robot equipment, and the pose transformation matrix is iteratively adjusted, which solves the cost and space problems of relying on external equipment for robot calibration in the existing technology, and realizes an efficient and accurate robot. Calibration.
Patent Information
- Application Number
- CN202411557726.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-04
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2044-11-04
AI Technical Summary
Existing robot calibration methods require the use of additional measuring equipment, resulting in increased calibration costs and space occupancy.
By obtaining the pose transformation matrix and joint angle information of the dual robot equipment, the docking error matrix is calculated, and the pose transformation matrix is iteratively adjusted until the docking error converges, thereby achieving robot calibration while reducing costs.
No external measurement equipment is required for calibration, significantly reducing equipment costs, reducing space occupation, and achieving accurate robot calibration.
Smart Images

Figure CN119328755A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot calibration, and in particular to a robot calibration method, device, electronic equipment and storage medium. Background Art
[0002] Existing conventional robot calibration methods usually require the use of a series of non-robot measuring equipment such as laser trackers, wire encoders, and micrometers to obtain the position information of the robot end, and thereby obtain sample targets for robot kinematic parameter identification.
[0003] The above robot calibration method will use additional devices for calibration, thereby increasing the calibration cost. Summary of the invention
[0004] The object of the present invention is to provide a robot calibration method, device, electronic device and storage medium, which do not require the use of additional devices for calibration, thereby achieving robot calibration while reducing calibration costs.
[0005] In order to achieve the above purpose, the technical solution adopted in the embodiment of the present application is as follows:
[0006] In a first aspect, an embodiment of the present application provides a robot calibration method, the method comprising:
[0007] Obtaining the first position transformation matrix of the first robot and the second robot in the dual robot device;
[0008] Determine a second pose transformation matrix from a base coordinate system to a terminal center associated with a joint angle of the first robot;
[0009] Determine a third pose transformation matrix from a base coordinate system to a terminal center associated with a joint angle of the second robot;
[0010] Acquire a docking tool size information matrix of the first robot and the second robot;
[0011] Calculate a docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix, and the docking tool size information matrix;
[0012] Based on the second posture conversion matrix, the third posture conversion matrix and the docking error matrix, a new second posture conversion matrix and a new third posture conversion matrix are obtained;
[0013] Return to the step of calculating the docking error matrix between the first robot and the second robot based on the first pose conversion matrix, the second pose conversion matrix, the third pose conversion matrix and the docking tool size information matrix to the step of obtaining a new second pose conversion matrix and a new third pose conversion matrix based on the second pose conversion matrix, the third pose conversion matrix and the docking error matrix, until the docking error matrix converges to obtain a target docking error matrix;
[0014] Determine a target second posture conversion matrix and a target third posture conversion matrix corresponding to the target docking target matrix;
[0015] The dual robot device is calibrated based on the target second posture conversion matrix and the target third posture conversion matrix.
[0016] In an optional embodiment, the step of determining a second pose transformation matrix from a base coordinate system to a terminal center associated with a joint angle of the first robot comprises:
[0017] Determine a first joint angle set of the first robot at a calibration position, wherein the first robot includes a plurality of joints, and the first joint angle set includes joint angles corresponding to each joint at different calibration positions;
[0018] Obtaining a first DH parameter corresponding to the first joint angle set;
[0019] Based on the first DH parameters, obtaining a first Jacobian matrix of the first robot;
[0020] Based on the first Jacobian matrix, the second pose transformation matrix is determined.
[0021] In an optional embodiment, the step of calculating the docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix and the docking tool size information matrix includes:
[0022] Determine a first inverse matrix of the second posture transformation matrix;
[0023] The product of the first posture conversion matrix, the first inverse matrix, the third posture conversion matrix and the docking tool size information matrix is calculated as a docking error matrix between the first robot and the second robot.
[0024] In an optional embodiment, the step of obtaining a new second pose conversion matrix based on the second pose conversion matrix and the docking error matrix includes:
[0025] Determine the partial derivative matrix of the second posture transformation matrix to obtain a first Jacobian matrix;
[0026] determining a transposed matrix of the first Jacobian matrix;
[0027] Calculate a first product of the first Jacobian matrix and a transposed matrix of the first Jacobian matrix;
[0028] Calculating the inverse matrix of the first product;
[0029] An inverse matrix of the first product, a transposed matrix of the first Jacobian matrix, and a second product of the docking error matrix are calculated as a new second posture transformation matrix.
[0030] In an optional embodiment, the step of obtaining a new third pose conversion matrix based on the third pose conversion matrix and the docking error matrix includes:
[0031] Determine the partial derivative matrix of the third posture transformation matrix to obtain a second Jacobian matrix;
[0032] determining a transposed matrix of the second Jacobian matrix;
[0033] Calculate a second product of the second Jacobian matrix and a transposed matrix of the second Jacobian matrix;
[0034] Calculating the inverse matrix of the second product;
[0035] An inverse matrix of the second product, a transposed matrix of the second Jacobian matrix, and a third product of the docking error matrix are calculated as a new third posture transformation matrix.
[0036] In an optional embodiment, the method, the step of obtaining a new second pose conversion matrix and a new third pose conversion matrix based on the second pose conversion matrix, the third pose conversion matrix and the docking error matrix, comprises:
[0037] Using a least square method, based on the second posture transformation matrix and the docking error matrix, a new second posture transformation matrix is obtained;
[0038] A new third posture transformation matrix is obtained based on the third posture transformation matrix and the docking error matrix by adopting the least square method.
[0039] In an optional embodiment, the first DH parameters include, for each joint and for each calibrated position, the angle of rotation around the Z axis, the displacement along the Z axis, the angle of rotation around the X axis, and the displacement along the X axis.
[0040] In a second aspect, an embodiment of the present application provides a robot calibration device, the device comprising:
[0041] An acquisition module, used to acquire the first position conversion matrix of the first robot and the second robot in the dual robot device; and acquire the docking tool size information matrix of the first robot and the second robot;
[0042] A determination module, configured to determine a second posture conversion matrix from a base coordinate system associated with a joint angle of the first robot to a terminal center; and determine a third posture conversion matrix from a base coordinate system associated with a joint angle of the second robot to a terminal center;
[0043] a calculation module, configured to calculate a docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix, and the docking tool size information matrix; and obtain a new second posture conversion matrix and a new third posture conversion matrix based on the second posture conversion matrix, the third posture conversion matrix, and the docking error matrix;
[0044] Returning to the execution module, used for returning to the step of calculating the docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix and the docking tool size information matrix to obtaining a new second posture conversion matrix and a new third posture conversion matrix based on the second posture conversion matrix, the third posture conversion matrix and the docking error matrix, until the docking error matrix converges to obtain a target docking error matrix;
[0045] The determination module is further used to determine a target second posture conversion matrix and a target third posture conversion matrix corresponding to the target docking target matrix;
[0046] A calibration module is used to calibrate the dual robot device based on the target second posture conversion matrix and the target third posture conversion matrix.
[0047] In a third aspect, an embodiment of the present application provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the robot calibration method when executing the computer program.
[0048] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which implements the steps of the robot calibration method when executed by a processor.
[0049] This application has the following beneficial effects:
[0050] The present application obtains the first posture conversion matrix of the first robot and the second robot in the dual robot device, determines the second posture conversion matrix from the base coordinate system associated with the joint angle of the first robot to the end center, determines the third posture conversion matrix from the base coordinate system associated with the joint angle of the second robot to the end center, obtains the docking tool size information matrix of the first robot and the second robot, calculates the docking error matrix of the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix and the docking tool size information matrix, and obtains a new second posture conversion matrix based on the second posture conversion matrix, the third posture conversion matrix and the docking error matrix. The conversion matrix and the new third posture conversion matrix are returned to execute the steps of calculating the docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix and the docking tool size information matrix to obtain the new second posture conversion matrix and the new third posture conversion matrix based on the second posture conversion matrix, the third posture conversion matrix and the docking error matrix, until the docking error matrix converges, and the target docking error matrix is obtained, and the target second posture conversion matrix and the target third posture conversion matrix corresponding to the target docking target matrix are determined, and the dual robot device is calibrated based on the target second posture conversion matrix and the target third posture conversion matrix. The robot calibration method provided in the present application does not rely on external measurement equipment. The method relies on the robot's own joint angle encoder for calibration, which can greatly reduce the equipment cost, and there is no space occupied by external equipment. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments are briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.
[0052] Figure 1 A block diagram of an electronic device provided by an embodiment of the present invention;
[0053] Figure 2 One of the flowcharts of a robot calibration method provided by an embodiment of the present invention;
[0054] Figure 3 A schematic diagram of a dimension chain formed by various matrices provided in an embodiment of the present invention;
[0055] Figure 4 A second flowchart of a robot calibration method provided by an embodiment of the present invention;
[0056] Figure 5A third flowchart of a robot calibration method provided by an embodiment of the present invention;
[0057] Figure 6 A fourth flowchart of a robot calibration method provided by an embodiment of the present invention;
[0058] Figure 7 A structural block diagram of a robot calibration device provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0059] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings here can be arranged and designed in various different configurations.
[0060] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0061] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, further definition and explanation thereof is not required in subsequent drawings.
[0062] In the description of the present invention, it should be noted that if the terms "upper", "lower", "inside", "outside", etc. appear to indicate an orientation or position relationship, they are based on the orientation or position relationship shown in the accompanying drawings, or are the orientation or position relationship in which the product of the invention is usually placed when used. They are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present invention.
[0063] In addition, the terms “first”, “second”, etc., if used, are merely used to distinguish between the descriptions and should not be understood as indicating or implying relative importance.
[0064] In the description of this application, it should also be noted that, unless otherwise clearly specified and limited, the terms "set", "install", "connect", and "connect" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two elements. For ordinary technicians in this field, the specific meanings of the above terms in this application can be understood according to specific circumstances.
[0065] After extensive research, the inventors found that the existing conventional robot calibration method usually requires the use of a series of non-robot measuring equipment such as laser trackers, wire encoders, micrometers, etc. to obtain the position information of the robot end, and thereby obtain sample targets for robot kinematic parameter identification.
[0066] The above robot calibration method will use additional devices for calibration, thereby increasing the calibration cost.
[0067] In view of the discovery of the above problems, the present embodiment provides a robot calibration method, device, electronic device and storage medium, which can be independent of external measuring equipment. The method relies on the robot's own joint angle encoder for calibration, which can greatly reduce the equipment cost and eliminate the space occupied by external equipment. The solution provided in this embodiment is described in detail below.
[0068] This embodiment provides an electronic device that can calibrate a robot. In a possible implementation, the electronic device can be a user terminal, for example, the electronic device can be, but is not limited to, a server, a smart phone, a personal computer (PC), a tablet computer, a personal digital assistant (PDA), a mobile Internet device (MID), etc.
[0069] Please refer to Figure 1 , Figure 1 1 is a schematic diagram of the structure of the electronic device 100 provided in the embodiment of the present application. The electronic device 100 may also include Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown. Figure 1 Each component shown in the figure can be implemented by hardware, software or a combination thereof.
[0070] The electronic device 100 includes a robot calibration device 110 , a memory 120 and a processor 130 .
[0071] The memory 120 and the processor 130 are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these elements can be electrically connected to each other through one or more communication buses or signal lines. The robot calibration device 110 includes at least one software function module that can be stored in the memory 120 in the form of software or firmware or solidified in the operating system (OS) of the electronic device 100. The processor 130 is used to execute the executable modules stored in the memory 120, such as the software function modules and computer programs included in the robot calibration device 110.
[0072] The memory 120 may be, but is not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable read-only memory (EEPROM), etc. The memory 120 is used to store a program, and the processor 130 executes the program after receiving an execution instruction.
[0073] Please refer to Figure 2 , Figure 2 For application Figure 1 A flowchart of a robot calibration method for an electronic device 100 is provided, and the method including each step is described in detail below.
[0074] S201: Obtain the first position conversion matrix of the first robot and the second robot in the dual robot device.
[0075] S202: Determine a second posture transformation matrix from a base coordinate system to a terminal center associated with a joint angle of the first robot.
[0076] S203: Determine a third posture transformation matrix from the base coordinate system associated with the joint angle of the second robot to the end center.
[0077] S204: Acquire a docking tool size information matrix between the first robot and the second robot.
[0078] S205: Calculating a docking error matrix between the first robot and the second robot based on the first pose conversion matrix, the second pose conversion matrix, the third pose conversion matrix, and the docking tool size information matrix.
[0079] S206: Based on the second posture conversion matrix, the third posture conversion matrix and the docking error matrix, a new second posture conversion matrix and a new third posture conversion matrix are obtained.
[0080] The method of obtaining a new second posture conversion matrix based on the second posture conversion matrix and the docking error matrix can be: using the least squares method to obtain a new second posture conversion matrix based on the second posture conversion matrix and the docking error matrix.
[0081] The method of obtaining a new third pose conversion matrix based on the third pose conversion matrix and the docking error matrix can be: using the least squares method to obtain a new second pose conversion matrix based on the third pose conversion matrix and the docking error matrix.
[0082] In addition to obtaining the new second posture transformation matrix and the new third posture transformation matrix based on the least squares method, the new second posture transformation matrix and the new third posture transformation matrix can also be obtained by using the regular least squares method, the new second posture transformation matrix and the new third posture transformation matrix can be obtained based on the orthogonal polynomial method, and the new second posture transformation matrix and the new third posture transformation matrix can be obtained based on Newton's method. This application does not make any specific restrictions on this.
[0083] S207: Return to the step of calculating the docking error matrix between the first robot and the second robot based on the first pose conversion matrix, the second pose conversion matrix, the third pose conversion matrix and the docking tool size information matrix, and obtaining a new second pose conversion matrix and a new third pose conversion matrix based on the second pose conversion matrix, the third pose conversion matrix and the docking error matrix, until the docking error matrix converges to obtain the target docking error matrix.
[0084] S208: Determine a target second posture conversion matrix and a target third posture conversion matrix corresponding to the target docking target matrix.
[0085] S209: Calibrate the dual robot device based on the target second posture transformation matrix and the target third posture transformation matrix.
[0086] The first pose conversion matrix of the first robot and the second robot indicates the pose conversion relationship between the base coordinate systems of the first robot and the second robot, that is, the transformation matrix from the base coordinate system of the first robot to the base coordinate system of the second robot is the first pose conversion matrix.
[0087] The second posture transformation matrix from the base coordinate system to the end center associated with the joint angle of the first robot depends on the joint angle value of the first robot and the kinematic parameters of the first robot, and is derived through forward kinematics.
[0088] The third posture transformation matrix from the base coordinate system associated with the joint angle of the second robot to the end center depends on the joint angle value of the second robot and the kinematic parameters of the second robot, and is derived through forward kinematics.
[0089] Forward kinematics is a fundamental concept in robotics. It studies how to calculate the position and attitude of the robot's end effector in Cartesian space from the robot's joint variables (usually joint angles or joint displacements). In other words, forward kinematics is used to solve the problem of "where is the end effector given the joint angles". This process involves gradually compounding the rotation or translation transformations of each joint to obtain the overall transformation matrix from the robot base (fixed reference coordinate system) to the end effector (usually the hand or tool center point TCP). This transformation matrix contains rotation (represented by rotation matrix) and translation (position vector) information, which can fully describe the position and attitude of the end effector relative to the base. The solution of forward kinematics usually requires specific parameters of the robot model, such as link length, angular relationship between joints, etc. These parameters are often described by Denavit-Hartenberg (DH) parameters. Once the DH parameters and the current joint angles are obtained, the position and attitude of the end effector can be calculated through a series of matrix operations.
[0090] The first posture conversion matrix of the first robot and the second robot, the second posture conversion matrix from the base coordinate system to the end center associated with the joint angle of the first robot, the third posture conversion matrix from the base coordinate system to the end center associated with the joint angle of the second robot, and the docking tool size information matrix of the first robot and the second robot constitute a dimension chain diagram, such as Figure 3 As shown in the figure, it is a schematic diagram of the dimension chain composed of each matrix. base is the first position transformation matrix between the first robot and the second robot, T robort1 is the second pose transformation matrix from the base coordinate system to the end center associated with the joint angle of the first robot, T robort2 The third pose transformation matrix from the base coordinate system to the end center associated with the joint angle of the second robot, T tool is the docking tool size information matrix between the first robot and the second robot, T error is the docking error matrix between the first robot and the second robot, and the theoretical closed dimension chain docking error matrix T error is zero.
[0091] Based on the second pose conversion matrix, the third pose conversion matrix and the docking error matrix, a new second pose conversion matrix and a new third pose conversion matrix are obtained. Based on the first pose conversion matrix, the new second pose conversion matrix, the new third pose conversion matrix and the docking tool size information matrix, a new docking error matrix between the first robot and the second robot is calculated. Then, the process returns to execute based on the second pose conversion matrix, the third pose conversion matrix and the docking error matrix, a new second pose conversion matrix and a new third pose conversion matrix are obtained, and the docking error matrix is recalculated based on the updated second pose conversion matrix, the updated third pose conversion matrix, the first pose conversion matrix and the docking tool size information until the calculated docking error matrix converges or the number of iterations is reached.
[0092] Exemplarily, the convergence of the docking error matrix indicates that the docking error matrix is less than or equal to a preset value, wherein the preset value may be a position error of 0.1 mm, an attitude error of 0.01°, etc., and the embodiments of the present application do not impose any specific limitation on this.
[0093] The number of iterations can be set to 500, 600, 700, etc., and the embodiments of the present application do not impose any specific restrictions on this.
[0094] There are many implementations for determining the second posture transformation matrix from the base coordinate system associated with the joint angle of the first robot to the end center. In one implementation, for example, Figure 4 As shown, the following steps are included:
[0095] S301: Determine a first joint angle set of a first robot at a calibrated position.
[0096] The first robot includes a plurality of joints, and the first joint angle set includes joint angles corresponding to each joint at different calibration positions.
[0097] Exemplarily, when the first robot is a 6-axis robot, that is, the first robot includes 6 joints, the determined first joint angle set may be: Q1 = {q1, q2, q3, q4, q5, q6}, where, when there are 24 calibration positions, q1 is the angle of the first joint in the first robot at each calibration position, and q1 is a 24*1 matrix. The same is true for q2, q3, q4, q5, and q6.
[0098] S302: Obtain a first DH parameter corresponding to a first joint angle set.
[0099] DH parameters are a standardized method used in robotics to describe the robot link structure. It simplifies the transformation relationship between joint coordinate systems by defining a series of parameters, making kinematic analysis easier to handle.
[0100] Each link-joint pair is typically described by four parameters: 1. Link length, which represents the distance from the (i)th joint axis to the (i+1)th joint axis along the x-axis. 2. Link torsion angle, which represents the angle of rotation from the (i)th joint axis to the (i+1)th joint axis around the x-axis. 3. Joint offset, which represents the distance from the (i)th joint axis to the (i+1)th joint axis along the z-axis. 4. Joint angle, which represents the angle of rotation from the (i)th joint axis to the (i+1)th joint axis around the z-axis. The DH parameters are used to construct a homogeneous transformation matrix, which describes the transformation from one joint coordinate system to the next.
[0101] Exemplarily, the first DH parameters corresponding to the first joint angle set Q1 include:
[0102] {{θ1,θ2,θ3,θ4,θ5,θ6},{d1,d2,d3,d4,d5,d6},{α1,α2,α3,α4,α5,α6},
[0103] {a1,a2,a3,a4,a5,α6}}, where θ is the angle of rotation around the z-axis, d is the displacement along the z-axis, α is the angle around the x-axis, and a is the displacement along the x-axis.
[0104] S303: Based on the first DH parameter, obtain a first Jacobian matrix of the first robot.
[0105] The Jacobian matrix describes the relationship between the velocity of the end effector and the velocity of the joints. Specifically, the Jacobian matrix is a (6\times n) matrix, where (n) is the number of degrees of freedom of the robot. Each row of the matrix corresponds to a linear or angular velocity component of the end effector, and each column corresponds to the velocity of a joint.
[0106] The method of deducing the first Jacobian matrix based on the first DH parameter is as follows: according to the definition of the first DH parameter and the coordinate system, a transformation matrix from the first robot joint space to the motion space is constructed, and the derivative of the transformation matrix is obtained through the chain derivation rule. According to the derivative of the transformation matrix, the first Jacobian matrix is obtained.
[0107] S304: Determine a second posture transformation matrix based on the first Jacobian matrix.
[0108] Since the first Jacobian matrix is the partial derivative matrix of the second pose transformation matrix with respect to θ, the second pose transformation matrix can be obtained based on the first Jacobian matrix.
[0109] The implementation method of determining the third posture transformation matrix from the base coordinate system associated with the joint angle of the second robot to the end center can be:
[0110] Determine a second joint angle set of the second robot at the calibrated position, wherein the second robot includes multiple joints, and the second joint angle set includes joint angles corresponding to each joint at different calibrated positions, obtain second DH parameters corresponding to the second joint angle set, obtain a second Jacobian matrix of the second robot based on the second DH parameters, and determine a third posture transformation matrix based on the second Jacobian matrix.
[0111] There are many implementations for calculating the docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix and the docking tool size information matrix. In one implementation, Figure 5 As shown, the following steps are included:
[0112] S401: Determine a first inverse matrix of a second posture transformation matrix.
[0113] S402: Calculate the product of the first pose conversion matrix, the first inverse matrix, the third pose conversion matrix and the docking tool size information matrix as the docking error matrix between the first robot and the second robot.
[0114] Exemplarily, the docking error matrix between the first robot and the second robot can be calculated based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix, and the docking tool size information matrix by the following formula:
[0115] Among them, T error is the docking error matrix, is the first inverse matrix of the second pose transformation matrix, T base is the first pose transformation matrix, T robot2 is the third pose transformation matrix, T tool is the docking tool size information matrix.
[0116] There are many ways to obtain a new second pose transformation matrix based on the second pose transformation matrix and the docking error matrix. In one implementation, Figure 6 As shown, the following steps are included:
[0117] S501: Determine the partial derivative matrix of the second posture transformation matrix to obtain the first Jacobian matrix.
[0118] S502: Determine a transposed matrix of the first Jacobian matrix.
[0119] S503: Calculate a first product of a first Jacobian matrix and a transposed matrix of the first Jacobian matrix.
[0120] S504: Calculate the inverse matrix of the first product.
[0121] S505: Calculate the inverse matrix of the first product, the transposed matrix of the first Jacobian matrix, and the second product of the docking error matrix as a new second posture conversion matrix.
[0122] When calculating the new second posture transformation matrix, it is necessary to obtain the first Jacobian matrix. When determining the first Jacobian matrix, the partial derivative matrix of the second transformation inverse matrix can be directly calculated as the first Jacobian matrix. The first joint angle set of the first robot at the calibration position can also be determined, and the first DH parameters corresponding to the first joint angle set are obtained. Based on the first DH parameters, the first Jacobian matrix of the first robot is obtained.
[0123] Based on the second pose transformation matrix and the docking error matrix, the new second pose transformation matrix can be calculated by the following formula:
[0124] β=(X T X) -1 X T Y, where β is the new second pose transformation matrix, X is the first Jacobian matrix, and Y is the docking error matrix.
[0125] Based on the third pose transformation matrix and the docking error matrix, a new third pose transformation matrix can be obtained by: determining the partial derivative matrix of the third pose transformation matrix, obtaining the second Jacobian matrix, determining the transposed matrix of the second Jacobian matrix, calculating the second product of the second Jacobian matrix and the transposed matrix of the second Jacobian matrix, calculating the inverse matrix of the second product, and calculating the third product of the inverse matrix of the second product, the transposed matrix of the second Jacobian matrix, and the docking error matrix as the new third pose transformation matrix.
[0126] For example, the first Jacobian matrix and the second Jacobian matrix can be fused and then based on β1=(X1 T X1) -1 X1 T The Y formula calculates the new fusion matrix after the new second pose conversion matrix is fused with the new third pose conversion matrix, where β1 is the new fusion matrix after the new second pose conversion matrix is fused with the new third pose conversion matrix, X1 is the matrix after the first Jacobian matrix and the second Jacobian matrix are fused, and Y is the docking error matrix. When the error docking matrix is recalculated based on β1, the second pose conversion matrix and the third pose conversion matrix are fused, and the matrix after the second pose conversion matrix and the third pose conversion matrix are fused is replaced based on β1, and the new docking error matrix is recalculated.
[0127] Please refer to Figure 7 The present application embodiment also provides an application Figure 1The robot calibration device 110 of the electronic device 100 includes:
[0128] The acquisition module 111 is used to acquire the first position conversion matrix of the first robot and the second robot in the dual robot device; and acquire the docking tool size information matrix of the first robot and the second robot;
[0129] A determination module 112 is used to determine a second posture transformation matrix from a base coordinate system associated with a joint angle of the first robot to a terminal center; and to determine a third posture transformation matrix from a base coordinate system associated with a joint angle of the second robot to a terminal center;
[0130] A calculation module 113 is used to calculate a docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix and the docking tool size information matrix; and obtain a new second posture conversion matrix and a new third posture conversion matrix based on the second posture conversion matrix, the third posture conversion matrix and the docking error matrix;
[0131] Return to the execution module 114, which is used to return to the step of calculating the docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix and the docking tool size information matrix to obtaining a new second posture conversion matrix and a new third posture conversion matrix based on the second posture conversion matrix, the third posture conversion matrix and the docking error matrix, until the docking error matrix converges to obtain a target docking error matrix;
[0132] The determination module 112 is further used to determine a target second posture conversion matrix and a target third posture conversion matrix corresponding to the target docking target matrix;
[0133] The calibration module 115 is used to calibrate the dual robot device based on the target second posture conversion matrix and the target third posture conversion matrix.
[0134] The present application also provides an electronic device 100, which includes a processor 130 and a memory 120. The memory 120 stores computer executable instructions, and when the computer executable instructions are executed by the processor 130, the robot calibration method is implemented.
[0135] The embodiment of the present application further provides a storage medium, which stores a computer program. When the computer program is executed by the processor 130, the robot calibration method is implemented.
[0136] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, a program segment or a part of a code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or the flowchart, and the combination of boxes in the block diagram and / or the flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
[0137] In addition, each functional module in each embodiment of the present application can be integrated together to form an independent part, or each module can exist separately, or two or more modules can be integrated to form an independent part. If the function is implemented in the form of a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a disk or an optical disk.
[0138] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0139] The above are only various implementations of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A robot calibration method, characterized in that: The method comprises: Obtaining the first position transformation matrix of the first robot and the second robot in the dual robot device; Determine a second pose transformation matrix from a base coordinate system to a terminal center associated with a joint angle of the first robot; Determine a third pose transformation matrix from a base coordinate system to a terminal center associated with a joint angle of the second robot; Acquire a docking tool size information matrix of the first robot and the second robot; Calculate a docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix, and the docking tool size information matrix; Based on the second posture conversion matrix, the third posture conversion matrix and the docking error matrix, a new second posture conversion matrix and a new third posture conversion matrix are obtained; Return to the step of calculating the docking error matrix between the first robot and the second robot based on the first pose conversion matrix, the second pose conversion matrix, the third pose conversion matrix and the docking tool size information matrix to the step of obtaining a new second pose conversion matrix and a new third pose conversion matrix based on the second pose conversion matrix, the third pose conversion matrix and the docking error matrix, until the docking error matrix converges to obtain a target docking error matrix; Determine a target second posture conversion matrix and a target third posture conversion matrix corresponding to the target docking target matrix; The dual robot device is calibrated based on the target second posture conversion matrix and the target third posture conversion matrix.
2. The method according to claim 1, characterized in that The step of determining a second posture transformation matrix from a base coordinate system to a terminal center associated with a joint angle of the first robot comprises: Determine a first joint angle set of the first robot at a calibration position, wherein the first robot includes a plurality of joints, and the first joint angle set includes joint angles corresponding to each joint at different calibration positions; Obtaining a first DH parameter corresponding to the first joint angle set; Based on the first DH parameters, obtaining a first Jacobian matrix of the first robot; Based on the first Jacobian matrix, the second pose transformation matrix is determined.
3. The method according to claim 1, characterized in that The step of calculating the docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix and the docking tool size information matrix comprises: Determine a first inverse matrix of the second posture transformation matrix; The product of the first posture conversion matrix, the first inverse matrix, the third posture conversion matrix and the docking tool size information matrix is calculated as a docking error matrix between the first robot and the second robot.
4. The method according to claim 1, characterized in that: The step of obtaining a new second posture conversion matrix based on the second posture conversion matrix and the docking error matrix includes: Determine the partial derivative matrix of the second posture transformation matrix to obtain a first Jacobian matrix; determining a transposed matrix of the first Jacobian matrix; Calculate a first product of the first Jacobian matrix and a transposed matrix of the first Jacobian matrix; Calculating the inverse matrix of the first product; An inverse matrix of the first product, a transposed matrix of the first Jacobian matrix, and a second product of the docking error matrix are calculated as a new second posture transformation matrix.
5. The method according to claim 1, characterized in that The step of obtaining a new third posture conversion matrix based on the third posture conversion matrix and the docking error matrix comprises: Determine the partial derivative matrix of the third posture transformation matrix to obtain a second Jacobian matrix; determining a transposed matrix of the second Jacobian matrix; Calculate a second product of the second Jacobian matrix and a transposed matrix of the second Jacobian matrix; Calculating the inverse matrix of the second product; The inverse matrix of the second product, the transposed matrix of the second Jacobian matrix, and the third product of the docking error matrix are calculated as a new third posture transformation matrix.
6. The method according to claim 1, characterized in that The method is characterized in that the step of obtaining a new second pose conversion matrix and a new third pose conversion matrix based on the second pose conversion matrix, the third pose conversion matrix and the docking error matrix comprises: Using a least square method, based on the second posture transformation matrix and the docking error matrix, a new second posture transformation matrix is obtained; A new third posture transformation matrix is obtained based on the third posture transformation matrix and the docking error matrix by adopting the least square method.
7. The method according to claim 2, characterized in that in, The first DH parameters include, for each joint and for each calibrated position, the angle of rotation around the Z axis, the displacement along the Z axis, the angle of rotation around the X axis, and the displacement along the X axis.
8. A robot calibration device, characterized in that: The device comprises: An acquisition module, used to acquire the first position conversion matrix of the first robot and the second robot in the dual robot device; and acquire the docking tool size information matrix of the first robot and the second robot; A determination module, configured to determine a second posture conversion matrix from a base coordinate system associated with a joint angle of the first robot to a terminal center; and determine a third posture conversion matrix from a base coordinate system associated with a joint angle of the second robot to a terminal center; a calculation module, configured to calculate a docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix, and the docking tool size information matrix; and obtain a new second posture conversion matrix and a new third posture conversion matrix based on the second posture conversion matrix, the third posture conversion matrix, and the docking error matrix; Returning to the execution module, used for returning to the step of calculating the docking error matrix between the first robot and the second robot based on the first posture conversion matrix, the second posture conversion matrix, the third posture conversion matrix and the docking tool size information matrix to obtaining a new second posture conversion matrix and a new third posture conversion matrix based on the second posture conversion matrix, the third posture conversion matrix and the docking error matrix, until the docking error matrix converges to obtain a target docking error matrix; The determination module is further used to determine a target second posture conversion matrix and a target third posture conversion matrix corresponding to the target docking target matrix; A calibration module is used to calibrate the dual robot device based on the target second posture conversion matrix and the target third posture conversion matrix.
9. An electronic device, characterized in that: The method comprises a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method according to any one of claims 1 to 7 when executing the computer program.
10. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Calibration method and calibration system for robot
CN103302657A
Position calibration method and device, dual arm robot and storage medium
CN107901038A
Interprobot coordinate transformation matrix setting system and correction system
JP1997207088A
Relative position calculating method between plurality of robots
JP2008254097A