Calibration method, calibration device, and computer-readable storage medium

CN117283558BActive Publication Date: 2026-09-22BEIJING A&E TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311424412.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2023-09-28
Filing Date
2023-10-30
Publication Date
2026-09-22
Estimated Expiration
2043-10-30

AI Technical Summary

Technical Problem

[0002]目前工业机器人的工具坐标系TCP的标定通常采用四点法实现,具体操作为:在机器人工作空间内固定一个尖端点,在机器人工具末端确定一个工作点,操作机器人以四个不同的位姿使得工作点与尖端点进行接触,完成TCP的标定,然而此方法需要操作人员保证点与点的精准对齐,但是从空间中的单一方向上无法观察到点与点是否对齐,此时需要操作人员在标定过程中从不同的方向来观察工作点与尖端点,导致标定的效率较低,并且在这一过程中一旦有一个点未对齐,会造成标定的精度较差

Benefits of technology

[0007]本申请的有益效果是:本申请中通过球面的约束,将点与点的对齐过程优化为点与面的对齐过程,不需要从各个角度进行观察,只需要观察出点与面接触即可,相较于现有技术的其他标定方法,本申请所提供的方案能够快速精确地对第一TCP进行标定。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117283558B_ABST
    Figure CN117283558B_ABST
Patent Text Reader

Abstract

The application discloses a calibration method, a calibration device and a computer readable storage medium, comprising: obtaining the position of the center of a target sphere in a base coordinate system; obtaining a first initial position of a first TCP in a flange coordinate system; determining a pose transformation matrix of a tool coordinate system of a first calibration tool and the flange coordinate system according to the first initial position; controlling the first TCP to contact the surface of the sphere in multiple poses, and recording the poses of each joint of the robot; obtaining multiple positions of the first TCP in the base coordinate system according to the recorded poses of each joint of the robot and the pose transformation matrix; fitting a position error according to the multiple positions of the first TCP in the base coordinate system, the position of the center of the sphere in the base coordinate system and the radius of the sphere; and determining the first initial position as a target position of the first TCP in the flange coordinate system in response to the position error meeting preset requirements. In the foregoing manner, the first TCP can be calibrated quickly and accurately.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robot end-effector calibration technology, and in particular to a calibration method, calibration device, and computer-readable storage medium. Background Technology

[0002] Currently, the tool coordinate system (TCP) calibration of industrial robots typically employs a four-point method. This involves fixing a tip point within the robot's workspace and defining a working point at the end effector. The robot is then operated in four different poses to bring the working point into contact with the tip point, thus completing the TCP calibration. However, this method requires the operator to ensure precise alignment between the points. Since alignment cannot be observed from a single direction in space, the operator must observe the working point and tip point from different directions during calibration, resulting in low efficiency. Furthermore, misalignment of even one point leads to poor calibration accuracy. Therefore, how to quickly and accurately calibrate the tool's TCP has become a pressing issue. Summary of the Invention

[0003] The main problem addressed by this application is to provide a calibration method, calibration device, and computer-readable storage medium that can quickly and accurately calibrate a first TCP.

[0004] To address the aforementioned technical problems, this application provides a calibration method, comprising: obtaining the position of the center of a target sphere in a robot base coordinate system, wherein the target sphere is located in the robot's workspace and its position is fixed and its radius is known; obtaining a first initial position of a first calibration tool (TCP) in a robot flange coordinate system, wherein the first TCP is a calibration point to be calibrated by a first calibration tool on the robot's end effector; determining a pose transformation matrix between the tool coordinate system of the first calibration tool and the robot flange coordinate system based on the first initial position; controlling the first TCP to successively contact the surface of the target sphere in multiple different postures, and recording the pose of each joint coordinate system of the robot in the base coordinate system at each contact; and respectively determining the pose transformation matrix based on the recorded pose of each joint coordinate system of the robot in the base coordinate system and the pose transformation matrix. The matrix is ​​used to obtain multiple positions where the first TCP contacts the surface of the target sphere in the base coordinate system. Based on the multiple positions of the first TCP in the base coordinate system, the position of the sphere's center in the base coordinate system, and the radius of the target sphere, the position error between the first initial position and the target position of the first TCP in the robot flange coordinate system is fitted. In response to the position error meeting a preset requirement, the first initial position is determined as the target position of the first TCP in the robot flange coordinate system. In response to the position error not meeting the preset requirement, the first initial position is updated based on the first initial position and the position error, and the process returns to the step of determining the pose transformation matrix between the tool coordinate system and the robot flange coordinate system of the first calibration tool based on the first initial position.

[0005] To address the aforementioned technical problems, a second aspect of this application provides a calibration device, comprising: a memory and a processor coupled to each other, wherein the memory stores program data, and the processor invokes the program data to execute the method described in the first aspect.

[0006] To address the aforementioned technical problems, a third aspect of this application provides a computer-readable storage medium storing program data thereon, wherein the program data, when executed by a processor, implements the method described in the first aspect.

[0007] The beneficial effects of this application are: by using the constraint of a sphere, the alignment process between points is optimized into the alignment process between points and surfaces. It is not necessary to observe from various angles; it is only necessary to observe the contact between points and surfaces. Compared with other calibration methods in the prior art, the solution provided by this application can quickly and accurately calibrate the first TCP. Attached Figure Description

[0008] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. Wherein:

[0009] Figure 1 This is a flowchart illustrating one embodiment of the calibration method of this application;

[0010] Figure 2 This is a flowchart illustrating step S101 corresponding to one embodiment.

[0011] Figure 3 This is a flowchart illustrating step S106 in one embodiment.

[0012] Figure 4 This is a schematic diagram of one embodiment of the calibration device of this application;

[0013] Figure 5 This is a schematic diagram of one embodiment of the computer-readable storage medium of this application. Detailed Implementation

[0014] 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 of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0015] Please see Figure 1 , Figure 1 This is a flowchart illustrating one embodiment of the calibration method of this application. The method includes:

[0016] S101: Obtain the position of the center of the target sphere in the robot's base coordinate system, where the target sphere is located in the robot's workspace and its position is fixed and its radius is known.

[0017] Specifically, a target sphere with a known radius is prepared. The radius of the target sphere can be between 30mm and 40mm to facilitate subsequent calibration steps. Furthermore, in order to fix the position of the target sphere in the robot's workspace, a suitable base can be designed to place the target sphere and fix this base in a fixed position in the robot's workspace. It is stipulated that this position cannot be changed during the subsequent calibration process, thereby obtaining the position of the center of the target sphere in the robot's base coordinate system.

[0018] S102: Obtain the first initial position of the first TCP in the robot flange coordinate system, wherein the first TCP is the calibration point to be calibrated by the first calibration tool on the robot end effector.

[0019] Specifically, a first calibration tool to be calibrated is installed on the robot's end effector. The purpose of this application's method is to calibrate the first calibration tool and determine the target position of the calibration point (defined as the first TCP) on the first calibration tool in the robot flange coordinate system. The first initial position can be a given approximate position, or it can be the position of the TCP of the previous calibration tool in the robot flange coordinate system; this application does not limit this.

[0020] S103: Based on the first initial position, determine the pose transformation matrix between the tool coordinate system and the robot flange coordinate system of the first calibration tool.

[0021] Specifically, the pose transformation matrix between the tool coordinate system of the first calibration tool and the robot flange coordinate system can be used... In this diagram, n represents the number of axes of the robot, and t represents the first calibration tool. For ease of explanation, the robot described below is a six-axis robot. in The attitude matrix of the tool coordinate system of the first calibration tool in the robot flange coordinate system is known (obtained). The process is existing technology and will not be described in detail here. The expression for the first initial position. Among them, P x For the X component in the first initial position, P y For the Y component at the first initial position, P z This represents the Z component at the first initial position. It is obtained in step S102. After that, it can be based on Determine the pose transformation matrix

[0022] S104: Control the first TCP to contact the surface of the target sphere in multiple different postures, and record the pose of each joint coordinate system of the robot in the base coordinate system at each contact.

[0023] Specifically, the robot is operated so that the first TCP of the first calibration tool makes contact with the surface of the target sphere at multiple different positions, and the pose data of each joint coordinate system of the robot in the base coordinate system is recorded at each contact.

[0024] The number of joints in a robot can be four, six, or other numbers; there is no limitation here. The coordinate systems of each joint are set at the factory. For ease of explanation, the following description assumes the robot has six joints, i.e., it is a six-axis robot. That is, each time the first TCP (Joint Contact Point) contacts the surface of the target sphere, the pose of the robot's six joint coordinate systems in the base coordinate system is recorded.

[0025] S105: Based on the poses and pose transformation matrices of each joint coordinate system of the robot recorded each time in the base coordinate system, obtain multiple positions where the first TCP contacts the surface of the target sphere in the base coordinate system.

[0026] Specifically, based on the following forward kinematics formula for the robot, the position coordinates of multiple points where the first TCP contacts the surface of the target sphere in the base coordinate system can be obtained:

[0027]

[0028] in, This represents the pose matrix of the tool coordinate system of the first calibration tool in the robot's base coordinate system. This represents the pose matrix of the robot's first joint coordinate system in the robot's base coordinate system. This represents the pose matrix of the robot's second joint in the joint coordinate system of the first joint, and so on. Let R represent the pose matrix of the robot's sixth joint coordinate system in the joint coordinate system of the fifth joint, and let R represent the pose expression of the tool coordinate system of the first calibration tool in the robot's base coordinate system, which is known. Let P represent the position expression of the first TCP at multiple contact points with the surface of the target sphere in the robot's base coordinate system, where P = [f] x f y f z ] T , where f x f is the X component of the position. y For the Y component of the position, f z The Z component represents the location. This is achieved through recording... And obtained from the above formula That is, by obtaining the pose matrix of the robot flange coordinate system in the robot base coordinate system, and then multiplying it with the pose transformation matrix between the tool coordinate system of the first calibration tool and the robot flange coordinate system, we can obtain multiple positions of the first TCP in contact with the surface of the target sphere in the robot base coordinate system.

[0029] In other words, by substituting the recorded poses of each joint of the robot in the base coordinate system into the above formula, we can obtain multiple positions where the first TCP contacts the surface of the target sphere in the base coordinate system. The number of times the first TCP contacts the surface of the target sphere in step S104 corresponds to the number of these contact positions in step S105.

[0030] S106: Based on the multiple positions of the first TCP in the base coordinate system, the position of the sphere center in the base coordinate system, and the radius of the target sphere, fit the position error between the first initial position and the target position of the first TCP in the robot flange coordinate system.

[0031] Specifically, the multiple positions of the first TCP in the base coordinate system are the coordinates of the first TCP in the base coordinate system when the first TCP comes into contact with the surface of the target sphere. In other words, they are the position coordinates of multiple points on the target sphere in the base coordinate system.

[0032] Because the initial position of the first TCP in the robot flange coordinate system may not be the most accurate and may contain errors, the error can be fitted based on the multiple positions of the first TCP in the base coordinate system, the position of the sphere center in the base coordinate system, and the radius of the target sphere. The error between the first initial position and the target position of the first TCP in the robot flange coordinate system is fitted, which is the position error in step S106.

[0033] For ease of explanation, the position error is denoted as δP, where δP = (δP x δP y δP z ), where δP x For the X component, δP y For the Y component, δP z This is the Z component.

[0034] S107: Determine whether the position error meets the preset requirements.

[0035] If the preset requirements are met, proceed to step S108; otherwise, proceed to step S109.

[0036] S108: Determine the first initial position as the target position of the first TCP in the robot flange coordinate system.

[0037] Specifically, if the position error obtained by fitting in step S106 meets the preset requirements, it means that the first initial position of the first TCP in the robot flange coordinate system is accurate or basically accurate. Therefore, the first initial position can be directly determined as the target position of the first TCP in the robot flange coordinate system, that is, the first initial position is considered to be the real position of the first TCP in the robot flange coordinate system, thereby completing the calibration process.

[0038] S109: Update the first initial position based on the first initial position and the position error.

[0039] After executing step S109, return to execute step S103.

[0040] If the position error does not meet the preset requirements, it means that the first initial position of the first TCP in the robot flange coordinate system is inaccurate and there is a certain gap from the accurate position. Then, the first initial position is updated according to the first initial position and the position error, and the execution step S103 is returned.

[0041] In other words, after updating the first initial position, the above process is repeated until the obtained position error meets the requirements.

[0042] Step S109 may specifically include: adding the first initial position and the position error to update the first initial position.

[0043] The initial position can be updated according to the following formula:

[0044] P x =P x +δP x ;P y =P y +δP y ;P z =P z +δP z .

[0045] As can be seen from the above, this application optimizes the alignment process between points into the alignment process between points and surfaces by using the constraint of a sphere. It does not require observation from various angles, but only requires observation of the contact between points and surfaces. Compared with other calibration methods in the prior art, the solution provided by this application can quickly and accurately calibrate the first TCP.

[0046] In one implementation, please refer to Figure 2 , Figure 2 This is a flowchart illustrating step S101 in one embodiment. Step S101, obtaining the position of the target sphere's center in the robot's base coordinate system, specifically includes:

[0047] S201: Control the second TCP to contact the surface of the target sphere in multiple different postures, and record the position of the second TCP in the base coordinate system at each contact. The second TCP is the calibration point of the second calibration tool on the robot end effector.

[0048] Specifically, the robot is operated to make the second TCP of the second calibration tool contact the surface of the target sphere at multiple different positions, and the position coordinates of the second TCP in the base coordinate system are recorded at each contact. Since it is a point-to-surface contact, visually, it is only necessary to observe that the two are in contact.

[0049] Understandably, the recorded position at this time is also the position of multiple points on the surface of the target sphere that come into contact with the second TCP in the base coordinate system.

[0050] S202: Determine the position of the sphere's center in the base coordinate system based on the recorded multiple positions of the second TCP in the base coordinate system and the radius of the target sphere.

[0051] Specifically, as can be seen from the above analysis, the multiple positions of the recorded second TCP in the base coordinate system are also the positions of multiple points on the surface of the target sphere in the base coordinate system. Therefore, given the positions of multiple points on the surface of the target sphere in the base coordinate system and the radius of the target sphere, the position of the center of the sphere in the base coordinate system can be obtained.

[0052] In one embodiment, step S203 specifically includes:

[0053] S301: Based on the recorded multiple positions of the second TCP in the base coordinate system and the radius of the target sphere, the position of the sphere's center in the base coordinate system is fitted using the least squares method.

[0054] Specifically, for ease of explanation, assume that the second TCP makes contact with the surface of the target sphere 10 times in succession, and that the coordinates of the second TCP at the 10 positions in the base coordinate system are denoted as (x1y1z1), (x2y2z2), ..., (x... 10 y 10 z 10 ).

[0055] From the formula for the center of the sphere, we know that:

[0056] (xa) 2 +(yb) 2 +(zc) 2 =R 2

[0057] Expanding, we get:

[0058] x 2 +y 2+z 2 -2ax-2by-2cz+a 2 +b 2 +c 2 =R 2

[0059] Let D = a 2 +b 2 +c 2 Given A = 2a, B = 2b, and C = 2c, we can obtain:

[0060] x 2 +y 2 +z 2 -R 2 -Ax-By-Cz+D=0

[0061] Substituting the 10 position coordinates of the recorded second TCP in the robot's base coordinate system into the above formula yields:

[0062]

[0063] Rearranging it into matrix form, we get:

[0064]

[0065] Furthermore, A, B, C, and D are calculated using the least squares method. The specific calculation process is as follows:

[0066] Multiply both sides of the formula by We can obtain:

[0067]

[0068] After finding A, B, C, and D, according to Find the position coordinates (a, b, c) of the sphere's center in the robot's base coordinate system.

[0069] In one embodiment, before controlling the second TCP to contact the surface of the target sphere in multiple different postures in step S201, the following may be included:

[0070] S401: Obtain the second initial position of the second TCP in the robot flange coordinate system.

[0071] Specifically, the second calibration tool is not the same calibration tool as the first calibration tool.

[0072] In this embodiment, the four-point calibration method can be used to determine the second initial position of the second TCP in the robot flange coordinate system. In other embodiments, the method of this application can also be performed on the second calibration tool to obtain the true position of the second TCP in the robot flange coordinate system, and this position can be used as the second initial position.

[0073] S402: Move the first TCP to the second initial position to obtain the first initial position of the first TCP in the robot flange coordinate system, wherein the size difference between the second calibration tool and the first calibration tool is less than the difference threshold.

[0074] Specifically, the first TCP of the first calibration tool is moved to the second initial position to obtain the first initial position of the first TCP in the robot flange coordinate system. The difference between the tool size of the second calibration tool and the first calibration tool is less than the difference threshold, that is, the tool size of the second calibration tool and the first calibration tool to be calibrated does not change much, so as to reduce the subsequent fitting time and improve the fitting accuracy.

[0075] In one implementation, please refer to Figure 3 Step S106 specifically includes:

[0076] S501: Determine multiple estimated radii based on the multiple positions of the first TCP in the base coordinate system and the position of the sphere center in the base coordinate system.

[0077] Specifically, as can be seen from the above analysis, the multiple positions of the first TCP in the base coordinate system are the positions of multiple points on the surface of the target sphere in the base coordinate system. However, since the first initial position is a rough value, the obtained position is not the accurate position of multiple points on the surface of the target sphere in the base coordinate system. Therefore, the obtained radius is a rough radius.

[0078] We continue to assume that the first TCP makes contact with the surface of the target sphere 10 times.

[0079] Using the following distance formula, 10 estimated radii Dis1, Dis2...Dis can be obtained. 10 .

[0080]

[0081] …

[0082]

[0083] Among them, [P x1 P y1 P z1 ]~[P x10 P y10 P z10[] represents the 10 different position coordinates of the first TCP in the robot's base coordinate system, and [abc] represents the position coordinates of the sphere's center.

[0084] S502: Determine multiple radius errors based on multiple estimated radii and the radius of the target sphere.

[0085] Specifically, multiple radius errors are determined based on the calculated estimated radii Dis and the radius R of the sphere.

[0086] If the first initial position of the first TCP in the robot flange coordinate system is accurate, then the calculated Dis should be equal to the radius R of the sphere. However, since the first initial position of the first TCP in the robot flange coordinate system is a rough position given at the beginning or the position of the TCP of the tool before replacement, there is a deviation between it and the actual position. Therefore, the estimated radius Dis is not equal to the radius R of the sphere, and the difference between the two can be regarded as the radius error.

[0087] Due to the position error δP=(δP x δP y δP z The radius error is three-dimensional. Therefore, to correspond with the positional error, the radius error is also set to be three-dimensional. The specific calculation process is as follows:

[0088] D1 = (Dis1 - R)

[0089] Further, calculate vector α1:

[0090]

[0091] The three-dimensional radius error δY1 can be approximately obtained using D1*α1, and then for Dis2...Dis 10 The above process is performed sequentially, and the radius errors δY2……δY, which are all three-dimensional, are obtained respectively. 10 Finally, we can obtain a matrix consisting of 10 radius errors:

[0092] S503: Fit the position error based on the multiple position and radius errors of the first TCP in the base coordinate system.

[0093] Step S503 specifically includes: based on the multiple positions and multiple radius errors of the first TCP in the base coordinate system, using the Jacobian matrix and the least squares method to fit the position error.

[0094] Specifically, based on the recorded first TCP's multiple position coordinates and multiple radius errors in the robot's base coordinate system, the position error δP is calculated using the Jacobian matrix and the least squares method.

[0095] The Jacobian matrix of the first TCP in the base coordinate system is obtained by solving for it.

[0096]

[0097]

[0098]

[0099] After sorting, we can obtain:

[0100]

[0101] in,

[0102] Among them, when the first TCP makes contact with the surface of the target sphere 10 times in succession, 10 results can be obtained. They are respectively denoted as There are 10 δY values, namely δY1, δY2, ..., δY. 10

[0103] Furthermore, the position error δP is calculated using the least squares method. The specific calculation process is as follows:

[0104]

[0105] This forms the equation Ax = B. Specifically, both sides are multiplied by... achievable The final position error is obtained.

[0106] Please see Figure 4 , Figure 4This is a schematic diagram of one embodiment of the calibration device of this application. The calibration device includes a memory 10 and a processor 20 coupled to each other. The memory 10 stores program instructions, and the processor 20 is used to call the program instructions to execute the steps of the calibration method in the above embodiment. Specifically, electronic devices include, but are not limited to, desktop computers, laptops, tablets, servers, etc., and are not limited here. In addition, the processor 20 can also be called a CPU (Center Processing Unit). The processor 20 may be an integrated circuit chip with signal processing capabilities. The processor 20 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor. In addition, the processor 20 can be implemented by integrated circuit chips.

[0107] Please see Figure 5 , Figure 5 This is a schematic diagram of a computer-readable storage medium according to an embodiment of the present application. The computer-readable storage medium 30 stores program instructions 40 that can be executed by a processor. The program instructions 40 are used to implement the calibration method in any of the above embodiments.

[0108] It should be noted that the units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0109] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0110] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods of various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0111] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A calibration method, characterized in that, The method includes: Obtain the position of the center of the target sphere in the robot's base coordinate system, wherein the target sphere is located in the robot's workspace and its position is fixed and its radius is known; Obtain the first initial position of the first TCP in the robot flange coordinate system, wherein the first TCP is the calibration point to be calibrated by the first calibration tool on the robot end effector; Based on the first initial position, determine the pose transformation matrix between the tool coordinate system of the first calibration tool and the robot flange coordinate system; The first TCP is controlled to contact the surface of the target sphere in multiple different postures, and the pose of each joint coordinate system of the robot in the base coordinate system is recorded at each contact. Based on the pose of each joint coordinate system of the robot in the base coordinate system and the pose transformation matrix recorded each time, multiple positions where the first TCP contacts the surface of the target sphere in the base coordinate system are obtained. Based on the multiple positions of the first TCP in the base coordinate system, the position of the sphere center in the base coordinate system, and the radius of the target sphere, the positional error between the first initial position and the target position of the first TCP in the robot flange coordinate system is fitted. In response to the position error meeting the preset requirements, the first initial position is determined as the target position of the first TCP in the robot flange coordinate system; In response to the position error not meeting the preset requirements, the first initial position is updated according to the first initial position and the position error, and the process returns to the step of determining the pose transformation matrix between the tool coordinate system of the first calibration tool and the robot flange coordinate system based on the first initial position. The step of fitting the positional error between the first initial position and the target position of the first TCP in the robot flange coordinate system based on the multiple positions of the first TCP in the base coordinate system, the position of the sphere center in the base coordinate system, and the radius of the target sphere includes: Based on the multiple positions of the first TCP in the base coordinate system and the position of the sphere center in the base coordinate system, multiple estimated radii are determined; Based on the multiple estimated radii and the radius of the target sphere, multiple radius errors are determined; Based on the multiple positions and multiple radius errors of the first TCP in the base coordinate system, the position error is fitted; the specific calculation process of the radius error is as follows: Calculate vector : in, The radius error is... R is the estimated radius, and R is the radius of the target sphere. This represents the position coordinates of the first TCP in the robot's base coordinate system. Indicates the position coordinates of the center of the sphere; The step of fitting the position error based on the multiple positions of the first TCP in the base coordinate system and the multiple radius errors includes: Based on the multiple positions and multiple radius errors of the first TCP in the base coordinate system, the position error is fitted using the Jacobian matrix and the least squares method.

2. The method according to claim 1, characterized in that, The step of updating the first initial position based on the first initial position and the position error includes: The first initial position and the position error are added together to update the first initial position.

3. The method according to claim 1, characterized in that, The step of obtaining the position of the center of the target sphere in the robot's base coordinate system includes: The second TCP is controlled to contact the surface of the target sphere in multiple different postures, and the position of the second TCP in the base coordinate system is recorded at each contact. The second TCP is the calibration point of the second calibration tool on the end effector of the robot. The position of the center of the sphere in the base coordinate system is determined based on the recorded multiple positions of the second TCP in the base coordinate system and the radius of the target sphere.

4. The method according to claim 3, characterized in that, The step of determining the position of the center of the sphere in the base coordinate system based on the recorded multiple positions of the second TCP in the base coordinate system and the radius of the target sphere includes: Based on the recorded positions of the second TCP in the base coordinate system and the radius of the target sphere, the position of the sphere's center in the base coordinate system is fitted using the least squares method.

5. The method according to claim 3, characterized in that, Before the second TCP is controlled to contact the surface of the target sphere in multiple different postures, the method further includes: Obtain the second initial position of the second TCP in the robot flange coordinate system; The first TCP is moved to the second initial position to obtain the first initial position of the first TCP in the robot flange coordinate system, wherein the size difference between the second calibration tool and the first calibration tool is less than the difference threshold.

6. The method according to claim 5, characterized in that, The step of obtaining the second initial position of the second TCP in the robot flange coordinate system includes: The second initial position of the second TCP in the flange coordinate system is determined by using the four-point calibration method.

7. A calibration device, characterized in that, include: A memory and a processor are coupled to each other, wherein the memory stores program data, and the processor invokes the program data to perform the method as described in any one of claims 1-6.

8. A computer-readable storage medium storing program data thereon, characterized in that, When the program data is executed by the processor, it implements the method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Robot zero point calibration method and calibration equipment thereof

    CN114589692A

  • Robot TCP calibration method using floatable standard sphere

    CN115533893A