A tool center point pose calibration method, system and related devices

CN122590710APending Publication Date: 2026-08-18MIND ELECTRONICS APPLIANCE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610962520.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-30
Publication Date
2026-08-18

AI Technical Summary

Technical Problem

现有技术通常利用标准球进行TCP位姿标定,该方案要求光束严格穿过球心,但该条件在工程应用中难以满足,导致标定出的位姿参数准确度不足

Benefits of technology

[0022] The fifth aspect of this application provides a computer program product including computer-readable instructions that, when executed on an electronic device, enable the electronic device to implement the tool center point pose calibration method described in the first aspect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122590710A_ABST
    Figure CN122590710A_ABST
Patent Text Reader

Abstract

The application discloses a tool center point pose calibration method and system and related devices, and relates to the field of precise scanning measurement, which comprises the following steps: collecting a ball calibration data set, constructing a first NLSP corresponding to a ball calibration constraint equation, solving a TCP position parameter, and collecting a plane calibration data set and constructing a second NLSP corresponding to a plane calibration constraint equation. The TCP position parameter is solved on the basis of sharing the TCP position parameter in the previous stage, so as to avoid the pollution of the pose calibration result caused by the position error. The application solves the problem of inaccurate calibration caused by the coupling of the position and the pose in the traditional scheme by decoupling calibration of the TCP position parameter and the pose parameter, and improves the overall accuracy and reliability of the TCP pose calibration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of precision scanning measurement technology, and in particular to a tool center point pose calibration method, system and related device. Background Technology

[0002] In industries such as automotive manufacturing, 3C electronics (a collective term for computer, communication, and consumer electronics products), and semiconductors, there is a demand for precision scanning and measurement, including defect detection and contour measurement. Using industrial robots equipped with sensors for scanning and measurement is the mainstream solution in the field of precision scanning and measurement. The sensors used as end-effectors are typically directional non-contact ranging sensors, such as spectral confocal sensors, laser displacement sensors, eddy current sensors, and position-sensitive detectors (PSDs). Here, directionality refers to the correlation between the measurement result and the installation posture.

[0003] To enable the robot to correctly plan its measurement trajectory, the precise installation pose of the sensors at the robot's end effector is required, which necessitates calibrating the pose parameters of the Tool Center Point (TCP). Existing technologies typically use a standard sphere for TCP pose calibration. This approach requires the light beam to pass precisely through the center of the sphere, but this condition is difficult to meet in engineering applications, resulting in insufficient accuracy of the calibrated pose parameters. Summary of the Invention

[0004] In view of the above problems, this application provides a tool center point pose calibration method, system and related apparatus to improve the accuracy of TCP calibration.

[0005] The specific plan is as follows:

[0006] The first aspect of this application provides a method for calibrating the pose of a tool center point, applied to a robot using a directional non-contact ranging sensor as its end effector. The method includes:

[0007] Using a standard sphere and a standard plane as measurement objects, a sphere calibration dataset and a plane calibration dataset were collected. The sphere calibration dataset includes multiple sets of measurement data corresponding to different measurement positions, and the plane calibration dataset includes multiple sets of measurement data corresponding to different measurement postures.

[0008] Construct a first NLSP. The residual function of the first NLSP is a function corresponding to the ball calibration constraint equation constructed based on the measured variable and the first unknown variable. The ball calibration constraint equation is: the distance between the tool center point TCP and the center of the standard ball is equal to the sum of the actual distance between TCP and the corresponding measurement point and the radius of the standard ball. The first unknown variable includes the TCP position parameter to be calibrated.

[0009] The first NLSP is solved iteratively based on the sphere calibration dataset;

[0010] Based on the optimal solution of the first NLSP obtained, the location calibration value of the TCP is determined;

[0011] A second NLSP is constructed. The residual function of the second NLSP is a function corresponding to the plane calibration constraint equation constructed based on the measured variable, the TCP position calibration value, and the second unknown variable. The plane calibration constraint equation is used to characterize that each measurement point is coplanar when measuring the standard plane. The second unknown variable includes the TCP attitude parameters to be calibrated.

[0012] The second NLSP is solved iteratively based on the aforementioned planar calibration dataset;

[0013] Based on the obtained optimal solution of the second NLSP, the attitude calibration value of the TCP is determined.

[0014] A second aspect of this application provides a tool center point pose calibration device, applied to a robot using a directional non-contact ranging sensor as its end effector. The device includes:

[0015] The data acquisition unit is used to acquire a ball calibration dataset and a plane calibration dataset by taking a standard ball and a standard plane as measurement objects respectively. The ball calibration dataset includes multiple sets of measurement data corresponding to different measurement positions, and the plane calibration dataset includes multiple sets of measurement data corresponding to different measurement postures.

[0016] A position calibration unit is used to construct a first NLSP, the residual function of which is a function corresponding to the sphere calibration constraint equation constructed based on the measured variables and a first unknown variable. The sphere calibration constraint equation is: the distance between the tool center point TCP and the center of the standard sphere is equal to the sum of the actual distance between the TCP and the corresponding measurement point and the radius of the standard sphere. The first unknown variable includes the TCP position parameters to be calibrated. The first NLSP is iteratively solved based on the sphere calibration dataset. And, based on the optimal solution of the first NLSP, the position calibration value of the TCP is determined.

[0017] An attitude calibration unit is used to construct a second NLSP, the residual function of which is a function corresponding to the plane calibration constraint equation constructed based on the measured variables, the TCP position calibration value, and a second unknown variable. The plane calibration constraint equation is used to characterize that all measurement points are coplanar when measuring the standard plane. The second unknown variable includes the TCP attitude parameters to be calibrated. The second NLSP is iteratively solved based on the plane calibration dataset. And, based on the optimal solution of the obtained second NLSP, the attitude calibration value of the TCP is determined.

[0018] A third aspect of this application provides a tool center point pose calibration system, comprising a robot using a directional non-contact ranging sensor as its end effector, a standard sphere and a standard plane fixedly disposed within the robot's workspace, and a tool center point pose calibration device communicatively connected to the robot. The device includes at least one processor and a memory connected to the processor, wherein:

[0019] The memory is used to store computer programs;

[0020] The processor is used to execute the computer program to implement the tool center point pose calibration method described in the first aspect above.

[0021] A fourth aspect of this application provides a storage medium carrying one or more computer programs that, when executed by an electronic device, enable the electronic device to implement the tool center point pose calibration method described in the first aspect.

[0022] The fifth aspect of this application provides a computer program product including computer-readable instructions that, when executed on an electronic device, enable the electronic device to implement the tool center point pose calibration method described in the first aspect.

[0023] By employing the above technical solution, this application first collects a sphere calibration dataset and constructs a first NLSP corresponding to the sphere calibration constraint equations. Based on this, the TCP position parameters are solved. Then, planar calibration data is collected, a second NLSP corresponding to the planar calibration constraint equations is constructed, and the TCP attitude parameters are solved. The sphere calibration constraint equations reflect the geometric constraint relationship between the standard sphere and the measurement position, without involving the beam direction. This makes the solution process of the first NLSP insensitive to the TCP attitude parameters. In other words, this application does not require the beam to pass through the center of the sphere when performing TCP position calibration, thereby avoiding TCP position calibration errors caused by beam direction and improving the accuracy of TCP position calibration. The TCP attitude calibration steps of this application share the TCP position parameters from the previous stage, allowing this stage to focus on solving the TCP attitude parameters and avoiding contamination of the attitude calibration results by position errors. This application solves the problem of inaccurate calibration caused by the coupling of pose solving in traditional schemes by decoupling the TCP position parameters and attitude parameters step by step, improving the overall accuracy and reliability of TCP pose calibration. Attached Figure Description

[0024] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:

[0025] Figure 1 A schematic diagram of an implementation system architecture for the tool center point pose calibration method provided in this application embodiment;

[0026] Figure 2 A flowchart illustrating a tool center point pose calibration method provided in an embodiment of this application;

[0027] Figure 3 A schematic diagram of the structure of a tool center point pose calibration device provided in an embodiment of this application;

[0028] Figure 4 This is a schematic diagram of the structure of a tool center point pose calibration device provided in an embodiment of this application. Detailed Implementation

[0029] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is only for explaining specific embodiments and is not intended to limit the application. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0030] This application provides a tool center point pose calibration method, system, and related apparatus, which can be applied to the TCP calibration task of robots using directional non-contact ranging sensors (hereinafter referred to as sensors) as end tools, thereby improving the accuracy of TCP pose calibration.

[0031] The tool center point pose calibration method provided in this application can be applied to, for example... Figure 1 The system architecture shown may include a terminal 100 and a server 200. The server 200 may include one or more servers (…). Figure 1 (This example uses a server as an illustration).

[0032] Either terminal 100 or server 200 can be used independently to execute the tool center point pose calibration method provided in this application embodiment. Alternatively, terminal 100 and server 200 can also be used collaboratively to execute the tool center point pose calibration method provided in this application embodiment. Terminal 100 in this application embodiment can be a computer, robot controller, etc., and this application embodiment does not impose any limitations on it.

[0033] This application provides a method for calibrating the pose of a tool center point. Taking the application of this method to a computer device as an example, the computer device can specifically be... Figure 1 The system consists of terminal 100 or a system composed of terminal 100 and server 200.

[0034] Reference Figure 2 The tool center point pose calibration method specifically includes the following steps:

[0035] Step S101: Using the standard sphere and the standard plane as measurement objects respectively, collect the sphere calibration dataset and the plane calibration dataset.

[0036] The standard sphere and the standard plane (also known as the precision plane) are fixedly set within the robot's workspace.

[0037] When using a standard sphere as the measurement object, a robot can be controlled to have its end effector sensors measure the sphere from multiple different positions, collecting sensor measurement data (i.e., sensor readings) and the robot's flange pose parameters to obtain a sphere calibration dataset. That is, the sphere calibration dataset can include multiple sets of measurement data corresponding to different measurement positions. Optionally, the sphere calibration dataset can include at least 10 sets of measurement data corresponding to different measurement positions, for example, 13 sets of measurement data.

[0038] In one possible implementation, to ensure the quality of the ball calibration data, ball calibration data acquisition can be performed when the following conditions are met: the sensor reading is within the range and avoids the edge of the range; and the data acquisition is performed only after the robot has come to a complete stop. For example, assuming the sensor range is 10 millimeters (mm), the sensor reading (denoted as d) can be controlled to be within the range of 1mm to 9mm; for the data acquisition timing, the data can be read after the robot has reached its position for 2 seconds (s).

[0039] When a standard plane is used as the measurement object, the robot can be controlled to have its end effector sensors measure the standard plane from multiple different postures, collecting sensor measurement data (i.e., sensor readings) and the robot's flange pose parameters to obtain a plane calibration dataset. That is, the plane calibration dataset can include multiple sets of measurement data corresponding to different measurement postures. Optionally, the plane calibration dataset can include 15 sets of measurement data corresponding to different measurement postures.

[0040] Optionally, a circular scanning strategy can be applied when constructing the planar calibration dataset. This involves collecting several sets of measurement data along a circular path while maintaining a preset angle between the beam direction and the normal direction of the standard plane. For example, the preset angle can be 0°, 5°, or 10°. Specifically: when the preset angle is 0° (corresponding to a vertical measurement scenario, i.e., the beam direction is perpendicular to the standard plane), one set of measurement data is collected; when the preset angle is 5° (corresponding to an inner-circle tilt scenario), six sets of measurement data are collected evenly along the circular path, i.e., the azimuth angle interval between each set of measurement data is 60°; when the preset angle is 10° (corresponding to an outer-circle tilt scenario), eight sets of measurement data are collected evenly along the circular path, i.e., the azimuth angle interval between each set of measurement data is 45°, and these sets are offset from the inner-circle tilt scenario by a certain angle, such as 22.5°.

[0041] Based on the above, to ensure the quality of planar calibration data, planar calibration data acquisition can be performed under the following conditions: the sensor readings are within the range and avoid the edges of the range; and data acquisition is performed only after the robot has come to a complete stop. This data acquisition scheme allows calibration to be completed within the sensor's allowable ±11° incident angle range, eliminating the need for tool Z-axis angles greater than 20° between any two points, thus overcoming the sensor's incident angle limitation.

[0042] Any set of measurement data in the ball calibration dataset and the plane calibration dataset can be represented as: [Rx,Ry, Rz, Tx, Ty, Tz, d], where Rx, Ry, Rz, Tx, Ty and Tz are the flange pose parameters of the robot, and d is the sensor reading.

[0043] Step S102: Construct the first NLSP and iteratively solve the first NLSP based on the ball calibration dataset.

[0044] The NLSP described in this application represents a nonlinear least squares problem. The objective function of the NLSP is to minimize the sum of squares of the residual function values. Therefore, the first NLSP in this application is an NLSP for solving TCP position parameters, and the second NLSP is an NLSP for solving TCP attitude parameters.

[0045] The residual function of the first NLSP is a function corresponding to the sphere calibration constraint equation constructed based on the measured variable and the first unknown variable. The sphere calibration constraint equation is: the distance between the TCP and the center of the standard sphere is equal to the sum of the actual distance between the TCP and the corresponding measurement point and the radius of the standard sphere. Based on this, the residual function of the first NLSP (referred to as the first residual function) can be expressed as: f = ||PB|| 2 -(r+d') 2 Where P and B represent the position vectors of the TCP and standard sphere centers in the base coordinate system, respectively, ||PB|| 2 Let represent the distance between the TCP and the center of the standard sphere, r represent the radius of the standard sphere, and d' represent the actual distance between the TCP and the corresponding measurement point, which is related to the sensor reading d. Based on this, the variables in the residual function of the first NLSP are represented using the measured variables and the first unknown variable. Specifically, the position vector of the TCP in the base coordinate system is represented using the measured variables and the TCP position parameters to be calibrated, i.e., P=R. i ·p+t i R i Let p represent the flange attitude vector in the i-th set of measurement data, p represent the TCP position vector, and t represent the flange attitude vector. i Let d represent the flange position vector in the i-th set of measurement data, and let d represent the actual distance d between TCP and the measurement point corresponding to the i-th set of measurement data. i ',d i The value of ' is related to the sensor reading d in the i-th set of measurement data. i Related; then the residual function value of the first NLSP corresponding to the i-th group of measurement data can be expressed as f i (x)=||R i · p + t i - B|| 2 - (r + d i ') 2Let i = 1, 2, ..., N, where N represents the number of measurement data sets in the corresponding dataset. The unknown variable x can be represented as x = [px, py, pz, Bx, By, Bz]. T Where px, py, and pz are TCP position parameters, and Bx, By, and Bz represent the coordinates of the sphere center, meaning that the first unknown variable contains the TCP position parameters to be calibrated.

[0046] In one possible implementation, the sensor readings can be used as the actual distance between the TCP and the corresponding measurement point.

[0047] In another possible implementation, the actual distance between the TCP and the corresponding measurement point is the difference between a preset sensor offset value and a sensor reading.

[0048] The sensor offset value (denoted as C, with the same unit as d) is related to the establishment position of the TCP on the sensor's physical structure, representing the distance from the TCP to the corresponding measurement point when the sensor reading is zero. For example, when the TCP is established at the end of the sensor's range, C=0; when the TCP is established at the center of the sensor's range, C=0.5 * range (assuming the sensor range is 10mm, then C=5mm); when the TCP is established on the end face of the sensor housing, C=working distance + range (assuming the sensor range is 10mm and the working distance is 40mm, then C=50mm).

[0049] Based on the above, the actual distance between TCP and the measurement point corresponding to the i-th set of measurement data can be represented as d. i '=Cd i Where C represents the sensor offset value.

[0050] By using the sensor offset value C, TCP can be flexibly established at any position on the sensor structure, which facilitates subsequent path planning without adding extra computational overhead.

[0051] Based on the aforementioned residual function expression, the object to be solved can be represented as follows: .

[0052] In one possible implementation, the nonlinear least squares algorithm used for iteratively solving nonlinear least squares problems can be the Levenberg-Marquardt (LM) method.

[0053] Furthermore, to avoid local optima, a multi-starting-point strategy can be used for iterative solutions. This involves triggering the LM calculation from several (e.g., nine) different initial values, and using the solution corresponding to the minimum sum of squared residuals as the final solution, which can be represented as TCP position parameters. and the coordinates of the center of the sphere For example, an initial value can be represented as follows: with [0,0,0] as the TCP position parameter and [-20,-150,160] as the center coordinates of the sphere.

[0054] Step S103: Determine the TCP location calibration value based on the obtained optimal solution of the first NLSP.

[0055] Specifically, it can be equivalent to starting from the optimal solution. Extracting TCP position parameters , as the TCP location marker value.

[0056] Step S104: Construct a second NLSP and iteratively solve the second NLSP based on the plane calibration dataset.

[0057] The residual function of the second NLSP is a function corresponding to the plane calibration constraint equation, constructed based on the measured variable, the TCP position calibration value, and the second unknown variable. The plane calibration constraint equation characterizes the coplanarity of all measurement points when measuring the standard plane. The second unknown variable includes the TCP attitude parameters to be calibrated. In one possible implementation, the residual function expression of the second NLSP can be determined by referring to the residual function expression of the first NLSP provided above.

[0058] Optionally, when solving the second NLSP, a multi-starting-point LM method can also be used, that is, the object to be solved can be represented as , where g i (x) represents the residual function value corresponding to the i-th set of measurement data when solving the second NLSP.

[0059] Step S105: Determine the attitude calibration value of the TCP based on the obtained optimal solution of the second NLSP.

[0060] In this application, a spherical calibration data set is first collected, and a first NLSP corresponding to the spherical calibration constraint equation is constructed. Based on this, the TCP position parameters are solved. On this basis, planar calibration data is collected, a second NLSP corresponding to the planar calibration constraint equation is constructed, and the TCP attitude parameters are solved. Among them, the spherical calibration constraint equation reflects the geometric constraint relationship between the standard sphere and the measurement position and does not involve the beam direction, making the solution process of the first NLSP insensitive to the TCP attitude parameters. That is, in this application, when calibrating the TCP position, it is not necessary to limit the beam to pass through the center of the sphere, thereby avoiding the TCP position calibration error caused by the beam direction and improving the accuracy of TCP position calibration. The TCP attitude calibration step of this application shares the TCP position parameters of the previous stage, enabling this stage to focus on solving the TCP attitude parameters to avoid contaminating the attitude calibration result due to position errors. Through the step-by-step decoupled calibration of the TCP position parameters and attitude parameters, this application solves the problem of inaccurate calibration caused by the coupling of pose solutions in the traditional scheme and improves the overall accuracy and reliability of TCP pose calibration.

[0061] In addition, this embodiment can be widely applied to the robot TCP calibration tasks of various directional non-contact ranging sensors (such as spectral confocal sensors, laser displacement sensors, etc.) and has broad industrial application prospects.

[0062] In one or more embodiments provided by this application, the iterative solution of the first NLSP based on the spherical calibration data set may include the following steps:

[0063] Step S201: Perform an iterative solution of the first NLSP based on all the measurement data in the spherical calibration data set.

[0064] Step S202: Calculate a first eigenvalue characterizing the iteration quality based on the obtained minimum value of the sum of squared residuals.

[0065] Exemplarily, the root mean square residual can be used to characterize the iteration quality. The smaller the root mean square residual, the higher the quality. Among them, the root mean square residual can be expressed as , where in the formula, represents the first residual function value corresponding to the i-th group of measurement data in the current iterative solution process, i = 1, 2,..., N, and N is the number of groups of measurement data used in the current iterative solution. Based on this, the spherical calibration quality can be graded according to RMS to determine whether the current optimal solution can be used as the TCP position parameter. For example, if RMS ≤ 100 μm is set to excellent, 100 μm < RMS ≤ 300 μm is set to good, 300 μm < RMS ≤ 800 μm is set to qualified, and RMS > 800 μm is set to poor, then when the spherical calibration quality rating is not poor, it can be determined whether the current optimal solution can be used as the TCP position parameter. When the spherical calibration quality rating is poor, the TCP position calibration is performed again.

[0066] Step S203: If the first feature value is not lower than the preset first quality threshold, then the solution corresponding to the minimum value of the obtained residual sum of squares is determined as the optimal solution of the first NLSP.

[0067] The first feature value not being lower than the preset first quality threshold can be equivalent to RMS not being higher than the RMS threshold. The RMS threshold corresponds to the first quality threshold. Combining the above example, assuming the first feature value is 1 / RMS, then the first quality threshold can be 1 / (800 μm).

[0068] Step S204: If the first feature value is lower than the first quality threshold, outliers are removed from the ball calibration dataset based on the corresponding residual function value. The first NLSP is iteratively solved based on the new ball calibration dataset, and the solution corresponding to the minimum value of the newly obtained residual sum of squares is determined as the optimal solution of the first NLSP.

[0069] Outliers can refer to the points with the largest values ​​of the first residual function. The number of outliers to be removed can be a preset number, which can be determined according to pre-set outlier rules.

[0070] In this embodiment, during the TCP location calibration stage, the first eigenvalue representing the iteration quality is used for quality judgment. If the quality is poor, outliers are removed and the solution is recalculated, which reduces the possibility of TCP location calibration results being affected by abnormal measurement data and improves the robustness of TCP location calibration. If the quality is good, the current solution is taken as the optimal solution, thereby ensuring the efficiency of TCP location calibration under high-quality measurement datasets.

[0071] In one possible implementation, removing outliers from the sphere calibration dataset based on the corresponding residual function value may include:

[0072] Step S301: Using the 3σ principle, the measurement data in the ball calibration dataset with residual function values ​​greater than μ+3σ are identified as the first outlier.

[0073] Where μ and σ represent the mean and standard deviation of the residual values ​​corresponding to each group of data in the first current dataset, respectively.

[0074] Step S302: Remove the first outlier from the ball calibration dataset.

[0075] This embodiment utilizes the normal distribution characteristic of residuals during the TCP calibration phase to identify and remove outliers from the ball calibration dataset using the 3σ principle. The outlier removal scheme used in this embodiment can achieve adaptive outlier removal without manually setting thresholds, and has advantages such as simple computation and high real-time performance.

[0076] In one or more embodiments provided in this application, the plane calibration constraint equation is: in the base coordinate system, the absolute value of the inner product of the coordinate vector of the measurement point when measuring the standard plane and the unit normal vector of the standard plane is equal to the distance from the origin of the base coordinate system to the standard plane.

[0077] The planar calibration constraint equation can be expressed as: n·M=D, where n represents the unit normal vector of the standard plane, M represents the coordinate vector of the measurement point when measuring the standard plane, and D represents the distance from the origin of the base coordinate system to the standard plane. The coordinate vector of the measurement point when measuring the standard plane can be determined based on the TCP's position calibration value, the actual distance from the TCP to the corresponding measurement point, and the attitude parameters of the TCP to be calibrated. Specifically, it can be based on the TCP's position calibration value, the actual distance from the TCP to the corresponding measurement point, and the beam direction (related to the TCP attitude parameters). For example, it can be expressed as: ,in, Indicates the direction of the light beam.

[0078] The residual function of the second NLSP can then be expressed as: The unknown variables include: the unit normal vector n of the standard plane, and the beam direction. And the distance D from the origin of the base coordinate system to the standard plane. Specifically, representing the beam direction in spherical coordinates (α, β), we can obtain... .

[0079] Based on the above, in one possible implementation, the second unknown variable includes: the TCP attitude parameters to be calibrated expressed in spherical coordinates, the unit normal vector of the standard plane, and the distance from the origin of the base coordinate system to the standard plane.

[0080] Furthermore, in one possible implementation, [nx, ny, sqrt(1 – nx)] can be used. 2 – ny 2 )] represents the unit normal vector n of the standard plane.

[0081] The unknowns in the iterative solution process of the second NLSP, i.e., the second unknowns, can be expressed as: .

[0082] This embodiment uses spherical coordinates to represent TCP attitude parameters, reducing the redundancy of the degrees of freedom of attitude parameters.

[0083] Correspondingly, after determining the beam direction, the TCP attitude parameters can be obtained as follows:

[0084] Step 1: Direct the beam (or- Set the Z-axis of the tool to the Z-axis, and set the ref × tool Z-axis to the X-axis of the tool. Here, ref takes the values ​​[0,0,1] or [1,0,0] to avoid being parallel to the Z-axis of the tool. While ensuring the right-hand rule, set the Z-axis of the tool × tool X-axis to the Y-axis of the tool.

[0085] The second step is to construct the complete rotation matrix R, R = [X|Y|Z];

[0086] Step 3: Extract ZYX Euler angles.

[0087] Specifically, Ry = arcsin(-R[2,0]), Rx = arctan2(R[2,1] / cosRy,R[2,2] / cosRy); Rz = arctan2(R[1,0] / cosRy,R[0,0] / cosRy).

[0088] The final TCP pose calibration result [Tx, Ty, Tz, Rx, Ry, Rz] is obtained, which can be directly written into the robot teach pendant for use.

[0089] In one or more embodiments provided in this application, iteratively solving the second NLSP based on the plane calibration dataset may include:

[0090] Step S401: Iteratively solve the second NLSP based on all the measurement data in the plane calibration dataset.

[0091] Step S402: Remove outliers from the plane calibration dataset based on the corresponding residual function values, iteratively solve the second NLSP based on the new plane calibration dataset, and determine the solution corresponding to the minimum value of the newly obtained residual sum of squares as the optimal solution of the second NLSP.

[0092] In this embodiment, outliers are removed by iterative optimization during the TCP attitude calibration stage, and the solution is recalculated. This reduces the possibility that the TCP attitude calibration results will be affected by abnormal measurement data, which helps to improve the accuracy of TCP attitude calibration.

[0093] In one possible implementation, removing outliers from the plane calibration dataset based on the corresponding residual function value may include the following steps:

[0094] Step S501: Use the plane calibration dataset as the current dataset.

[0095] Step S502: Determine the current outlier conditions using the robust estimation principle of median absolute deviation, identify each set of measurement data in the current dataset that satisfies the outlier conditions as the second outlier, and remove the second outlier from the current dataset.

[0096] The current outlier condition includes: |g i - median_r| >K·σ_robust, where g i Let r represent the residual function value of the i-th group of measurement data in the current dataset, and median_r represent the median of the current residual vector. The current residual vector is composed of the residual function values ​​corresponding to each group of measurement data in the current dataset, and can be represented as r = [g1, g2, ..., g...]. N ] T That is, median_r = median(r). Based on this, the current absolute residual deviation vector absDev = |r - median_r|, then the median absolute deviation MAD = median(absDev), where K is a preset multiple, K>1, and σ_robust is the robust standard deviation of the median absolute deviation of the current residual vector, σ_robust=1.4826×MAD. Optionally, K=2.5.

[0097] Step S503: Based on the new current dataset, return to the execution of robust estimation using the median absolute bias principle to determine the current outlier conditions and subsequent steps until the preset outlier removal termination condition is met.

[0098] The outlier removal termination conditions include: the number of second outliers identified in this study is zero, or the number of measurement data sets in the current dataset is less than a preset threshold. Optionally, the threshold can be set to 5 to meet the requirements of solving for 5 unknown variables.

[0099] In this embodiment, when calibrating TCP attitude parameters, a solution is first performed. Based on the solution result, the MAD (Modulation Average Depth) is calculated and outliers are removed. Then, the remaining data is used to return and repeat the solution-MAD-outlier removal steps until no new outliers are added or the remaining data is insufficient. This embodiment leverages the advantages of the median being insensitive to extreme values, the MAD being unaffected by outlier contamination, and its ability to reflect the true fluctuation range of good data. This ensures that the removal threshold is not affected by bad data, enabling outlier removal even with a high outlier ratio. It solves the problem of traditional 3σ-based schemes failing under high outlier ratios, providing a foundation for improving the robustness of TCP attitude calibration.

[0100] In one or more embodiments provided in this application, after determining the optimal solution of the second NLSP, the method may further include:

[0101] The TCP attitude calibration quality is evaluated based on at least one quality evaluation parameter corresponding to the optimal solution of the second NLSP, and an alarm signal is output when the evaluation result exceeds a preset threshold.

[0102] The quality assessment parameters may include: root mean square residual (RMS) characterizing the iteration quality, maximum value of the residual function, observability condition number, and the number of remaining measurement data sets in the plane calibration dataset; the observability condition number is expressed as: condition_number = σ_max(beam_world_matrix) / σ_min(beam_world_matrix), where beam_world_matrix is ​​a matrix composed of beam direction vectors corresponding to each set of measurement data, and σ_max() and σ_min() represent the maximum and minimum singular values ​​of the matrix, respectively.

[0103] For example, the quality can be graded according to the quality assessment parameters, specifically into four levels: excellent, good, acceptable, and poor. The quality assessment parameters for each level are as follows:

[0104] Excellent: RMS < 50 μm, maximum residual function < 150 μm, number of observability conditions < 5, number of remaining measurement data sets ≥ 10;

[0105] Good: RMS < 150 μm, maximum residual function < 400 μm, observability condition number < 8;

[0106] Acceptable: RMS < 500 μm, maximum residual function < 1500 μm, observability condition number < 20;

[0107] Difference: RMS > 500 μm, or, maximum residual function value ≥ 1500 μm, or, observability condition number ≥ 20.

[0108] In this case, if the quality assessment is poor, an alarm message can be output to instruct the user to recollect the dataset and recalibrate the TCP.

[0109] Experimental verification shows that the solution provided in this application can control the residual RMS to the sub-millimeter level, reduce the measured attitude deviation of the end effector from more than 10° in traditional coupling methods to within 2°, and achieve the measured position accuracy of the end effector to the 0.5 mm level. Combined with simple end effector compensation, it can meet industrial-grade measurement requirements. Here, residual RMS is an indicator at the mathematical model level, while the measured accuracy of the end effector is the actual performance of TCP applied to the robot in the workpiece coordinate system, encompassing the accumulation of multiple error sources such as robot body geometric errors, sensor nonlinearity, and reference body shape and position errors. Furthermore, this method significantly reduces the amount of data acquisition required for calibration, requiring only 15 sets of measurement data to complete the calibration task.

[0110] The tool center point pose calibration device provided in the embodiments of this application is described below. The tool center point pose calibration device described below and the tool center point pose calibration method described above can be referred to in correspondence.

[0111] Figure 3 This is a schematic diagram of a tool center point pose calibration device disclosed in an embodiment of this application. This device can be applied to robots that use directional non-contact ranging sensors as end-effectors. Figure 3 As shown, the device may include:

[0112] The data acquisition unit 11 is used to acquire a ball calibration dataset and a plane calibration dataset by taking a standard ball and a standard plane as measurement objects respectively. The ball calibration dataset includes multiple sets of measurement data corresponding to different measurement positions, and the plane calibration dataset includes multiple sets of measurement data corresponding to different measurement postures.

[0113] The position calibration unit 12 is used to construct a first NLSP, the residual function of which is a function corresponding to the sphere calibration constraint equation constructed based on the measured variables and a first unknown variable. The sphere calibration constraint equation is: the distance between the tool center point TCP and the center of the standard sphere is equal to the sum of the actual distance between TCP and the corresponding measurement point and the radius of the standard sphere. The first unknown variable includes the TCP position parameters to be calibrated. The first NLSP is iteratively solved based on the sphere calibration dataset. And, based on the optimal solution of the first NLSP, the position calibration value of the TCP is determined.

[0114] The attitude calibration unit 13 is used to construct a second NLSP, the residual function of which is a function corresponding to the plane calibration constraint equation constructed based on the measured variable, the TCP position calibration value, and the second unknown variable. The plane calibration constraint equation is used to characterize that all measurement points are coplanar when measuring the standard plane. The second unknown variable includes the TCP attitude parameters to be calibrated. The second NLSP is iteratively solved based on the plane calibration dataset. And, based on the optimal solution of the obtained second NLSP, the attitude calibration value of the TCP is determined.

[0115] In one or more embodiments provided in this application, the process of the position calibration unit 12 iteratively solving the first NLSP based on the sphere calibration dataset may include:

[0116] Based on all the measurement data in the ball calibration dataset, the first NLSP is solved iteratively;

[0117] The first eigenvalue characterizing the iteration quality is calculated based on the minimum value of the sum of squared residuals.

[0118] If the first feature value is not lower than the preset first quality threshold, then the solution corresponding to the minimum value of the obtained residual sum of squares is determined as the optimal solution of the first NLSP.

[0119] If the first feature value is lower than the first quality threshold, outliers are removed from the ball calibration dataset based on the corresponding residual function value. The first NLSP is then iteratively solved based on the new ball calibration dataset, and the solution corresponding to the minimum value of the newly obtained residual sum of squares is determined as the optimal solution of the first NLSP.

[0120] In one or more embodiments provided in this application, the location calibration unit 12 removes outliers from the sphere calibration dataset based on the corresponding residual function value, including:

[0121] Using the 3σ principle, the measurement data in the ball calibration dataset whose residual function value is greater than μ+3σ are identified as the first outlier; μ and σ represent the mean and standard deviation of the residual values ​​corresponding to each group of data in the first current dataset, respectively;

[0122] Remove the first outlier from the ball calibration dataset.

[0123] In one or more embodiments provided in this application, the plane calibration constraint equation is: in the base coordinate system, the absolute value of the inner product of the unit normal vector of the standard plane and the coordinate vector of the measurement point when measuring the standard plane is equal to the distance from the origin of the base coordinate system to the standard plane; wherein, the coordinate vector of the measurement point when measuring the standard plane is determined based on the position calibration value of the TCP, the actual distance of the TCP to the corresponding measurement point, and the attitude parameters of the TCP to be calibrated.

[0124] In one or more embodiments provided in this application, the second unknown variable includes: the TCP attitude parameters to be calibrated expressed in spherical coordinates, the unit normal vector of the standard plane, and the distance from the origin of the base coordinate system to the standard plane.

[0125] In one or more embodiments provided in this application, the actual distance between the TCP and the corresponding measurement point is the difference between a preset sensor offset value and a sensor reading. The sensor offset value is related to the establishment position of the TCP on the sensor's physical structure and represents the distance between the TCP and the corresponding measurement point when the sensor reading is zero.

[0126] In one or more embodiments provided in this application, the process of the attitude calibration unit 13 iteratively solving the second NLSP based on the plane calibration dataset may include:

[0127] The second NLSP is solved iteratively based on all the measurement data in the plane calibration dataset;

[0128] Outliers are removed from the plane calibration dataset based on the corresponding residual function values. The second NLSP is then iteratively solved based on the new plane calibration dataset. The solution corresponding to the minimum value of the newly obtained residual sum of squares is determined as the optimal solution of the second NLSP.

[0129] In one or more embodiments provided in this application, the process by which the attitude calibration unit 13 removes outliers from the planar calibration dataset based on the corresponding residual function value may include:

[0130] Use the plane calibration dataset as the current dataset;

[0131] The robust estimation principle of median absolute deviation is used to determine the current outlier conditions. Each set of measurement data in the current dataset that satisfies the outlier conditions is identified as a second outlier, and these second outliers are removed from the current dataset. The current outlier conditions include: |g i - median_r| >K·σ_robust, where g iThe residual function value represents the i-th group of measurement data in the current dataset, median_r represents the median of the current residual vector, the current residual vector is composed of the residual function values ​​corresponding to each group of measurement data in the current dataset, K is a preset multiple, K>1, and σ_robust is the robust standard deviation of the median absolute deviation of the current residual vector.

[0132] Based on the new current dataset, the execution returns to determine the current outlier conditions and subsequent steps using the robust estimation principle of median absolute deviation, until a preset outlier removal termination condition is met. The outlier removal termination condition includes: the number of second outliers determined in this instance is zero, or the number of measurement data groups in the current dataset is less than a preset threshold.

[0133] In one or more embodiments provided in this application, the attitude calibration unit 13 can also be used to evaluate the TCP attitude calibration quality based on at least one quality evaluation parameter corresponding to the optimal solution of the second NLSP after determining the optimal solution of the second NLSP; the quality evaluation parameter includes: root mean square residual characterizing the iteration quality, maximum value of the residual function, observability condition number and the number of remaining measurement data sets in the plane calibration dataset; the observability condition number is expressed as: condition_number = σ_max(beam_world_matrix) / σ_min(beam_world_matrix), beam_world_matrix is ​​a matrix composed of beam direction vectors corresponding to each set of measurement data, σ_max() and σ_min() represent the maximum and minimum singular values ​​of the matrix, respectively; and, when the evaluation result exceeds a preset bottom line, an alarm signal is output.

[0134] Each unit in the tool center point pose calibration device can be implemented entirely or partially through software, hardware, or a combination thereof. These units can be embedded in the processor of a computer device in hardware form or stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each unit.

[0135] The tool center point pose calibration device provided in this application embodiment can be applied to tool center point pose calibration equipment, such as terminals with data processing capabilities: computers, robot controllers, etc. Optionally, Figure 4 The hardware structure block diagram of the tool center point pose calibration device is shown. (Refer to...) Figure 4 The hardware structure of the tool center point pose calibration device may include: at least one processor 1, at least one communication interface 2, at least one memory 3 and at least one communication bus 4;

[0136] In this embodiment of the application, the number of processor 1, communication interface 2, memory 3, and communication bus 4 is at least one, and processor 1, communication interface 2, and memory 3 communicate with each other through communication bus 4;

[0137] Processor 1 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.

[0138] Memory 3 may include high-speed RAM, and may also include non-volatile memory, such as at least one disk storage device;

[0139] The memory is used to store computer programs, and the processor is used to execute the computer programs so that the tool center point pose calibration device can implement any of the above-mentioned tool center point pose calibration methods.

[0140] This application embodiment also provides a tool center point pose calibration system, including: a robot with a directional non-contact ranging sensor as the end tool, a standard sphere and a standard plane fixedly set in the robot's workspace, and a tool center point pose calibration device communicatively connected to the robot.

[0141] The description of the tool center point pose calibration device can be found above and will not be repeated here.

[0142] This application also provides a storage medium that carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement any of the tool center point pose calibration methods provided in this application.

[0143] This application also provides a computer program product including computer-readable instructions, which, when executed on an electronic device, enable the electronic device to implement any of the tool center point pose calibration methods provided in this application.

[0144] Finally, 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.

[0145] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can be referred to each other.

[0146] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for calibrating the pose of a tool's center point, characterized in that, The method, applied to robots using directional non-contact ranging sensors as end-effectors, includes: Using a standard sphere and a standard plane as measurement objects, a sphere calibration dataset and a plane calibration dataset were collected. The sphere calibration dataset includes multiple sets of measurement data corresponding to different measurement positions, and the plane calibration dataset includes multiple sets of measurement data corresponding to different measurement postures. Construct a first NLSP. The residual function of the first NLSP is a function corresponding to the ball calibration constraint equation constructed based on the measured variable and the first unknown variable. The ball calibration constraint equation is: the distance between the tool center point TCP and the center of the standard ball is equal to the sum of the actual distance between TCP and the corresponding measurement point and the radius of the standard ball. The first unknown variable includes the TCP position parameter to be calibrated. The first NLSP is solved iteratively based on the sphere calibration dataset; Based on the optimal solution of the first NLSP obtained, the location calibration value of the TCP is determined; A second NLSP is constructed. The residual function of the second NLSP is a function corresponding to the plane calibration constraint equation constructed based on the measured variable, the TCP position calibration value, and the second unknown variable. The plane calibration constraint equation is used to characterize that each measurement point is coplanar when measuring the standard plane. The second unknown variable includes the TCP attitude parameters to be calibrated. The second NLSP is solved iteratively based on the aforementioned planar calibration dataset; Based on the obtained optimal solution of the second NLSP, the attitude calibration value of the TCP is determined.

2. The tool center point pose calibration method according to claim 1, characterized in that, The first NLSP is iteratively solved based on the sphere calibration dataset, including: Based on all the measurement data in the ball calibration dataset, the first NLSP is solved iteratively; The first eigenvalue characterizing the iteration quality is calculated based on the minimum value of the sum of squared residuals. If the first feature value is not lower than the preset first quality threshold, then the solution corresponding to the minimum value of the obtained residual sum of squares is determined as the optimal solution of the first NLSP. If the first feature value is lower than the first quality threshold, outliers are removed from the ball calibration dataset based on the corresponding residual function value. The first NLSP is then iteratively solved based on the new ball calibration dataset, and the solution corresponding to the minimum value of the newly obtained residual sum of squares is determined as the optimal solution of the first NLSP.

3. The tool center point pose calibration method according to claim 2, characterized in that, Removing outliers from the sphere calibration dataset based on the corresponding residual function values ​​includes: Using the 3σ principle, the measurement data in the ball calibration dataset whose residual function value is greater than μ+3σ are identified as the first outlier; μ and σ represent the mean and standard deviation of the residual values ​​corresponding to each group of data in the first current dataset, respectively; Remove the first outlier from the ball calibration dataset.

4. The tool center point pose calibration method according to any one of claims 1-3, characterized in that, The plane calibration constraint equation is as follows: In the base coordinate system, the absolute value of the inner product of the unit normal vector of the standard plane and the coordinate vector of the measurement point when measuring the standard plane is equal to the distance from the origin of the base coordinate system to the standard plane; wherein, the coordinate vector of the measurement point when measuring the standard plane is determined based on the position calibration value of the TCP, the actual distance of the TCP to the corresponding measurement point, and the attitude parameters of the TCP to be calibrated.

5. The tool center point pose calibration method according to claim 4, characterized in that, The second unknown variable includes: the TCP attitude parameters to be calibrated expressed in spherical coordinates, the unit normal vector of the standard plane, and the distance from the origin of the base coordinate system to the standard plane.

6. The tool center point pose calibration method according to claim 4, characterized in that, The actual distance between the TCP and the corresponding measurement point is the difference between a preset sensor offset value and a sensor reading. The sensor offset value is related to the establishment position of the TCP on the sensor's physical structure and represents the distance between the TCP and the corresponding measurement point when the sensor reading is zero.

7. The tool center point pose calibration method according to claim 4, characterized in that, The second NLSP is iteratively solved based on the plane calibration dataset, including: The second NLSP is solved iteratively based on all the measurement data in the plane calibration dataset; Outliers are removed from the plane calibration dataset based on the corresponding residual function values. The second NLSP is then iteratively solved based on the new plane calibration dataset. The solution corresponding to the minimum value of the newly obtained residual sum of squares is determined as the optimal solution of the second NLSP.

8. The tool center point pose calibration method according to claim 7, characterized in that, Removing outliers from the plane calibration dataset based on the corresponding residual function values ​​includes: Use the plane calibration dataset as the current dataset; The robust estimation principle of median absolute deviation is used to determine the current outlier conditions. Each set of measurement data in the current dataset that satisfies the outlier conditions is identified as a second outlier, and these second outliers are removed from the current dataset. The current outlier conditions include: |g i - median_r| >K·σ_robust, where g i The residual function value represents the i-th group of measurement data in the current dataset, median_r represents the median of the current residual vector, the current residual vector is composed of the residual function values ​​corresponding to each group of measurement data in the current dataset, K is a preset multiple, K>1, and σ_robust is the robust standard deviation of the median absolute deviation of the current residual vector. Based on the new current dataset, the execution returns to determine the current outlier conditions and subsequent steps using the robust estimation principle of median absolute deviation, until a preset outlier removal termination condition is met. The outlier removal termination condition includes: the number of second outliers determined in this instance is zero, or the number of measurement data groups in the current dataset is less than a preset threshold.

9. The tool center point pose calibration method according to claim 8, characterized in that, After determining the optimal solution for the second NLSP, the following steps are also included: The TCP attitude calibration quality is evaluated based on at least one quality evaluation parameter corresponding to the optimal solution of the second NLSP; the quality evaluation parameter includes: root mean square residual, maximum value of residual function, observability condition number, and number of remaining measurement data sets in the plane calibration dataset; the observability condition number is expressed as: condition_number = σ_max(beam_world_matrix) / σ_min(beam_world_matrix), beam_world_matrix is ​​a matrix composed of beam direction vectors corresponding to each set of measurement data, and σ_max() and σ_min() represent the maximum and minimum singular values ​​of the matrix, respectively; An alarm signal is output when the evaluation result exceeds the preset threshold.

10. A tool center point pose calibration device, characterized in that, The device, applicable to robots that use directional non-contact ranging sensors as end-effectors, includes: The data acquisition unit is used to acquire a ball calibration dataset and a plane calibration dataset by taking a standard ball and a standard plane as measurement objects respectively. The ball calibration dataset includes multiple sets of measurement data corresponding to different measurement positions, and the plane calibration dataset includes multiple sets of measurement data corresponding to different measurement postures. A position calibration unit is used to construct a first NLSP, the residual function of which is a function corresponding to the sphere calibration constraint equation constructed based on the measured variables and a first unknown variable. The sphere calibration constraint equation is: the distance between the tool center point TCP and the center of the standard sphere is equal to the sum of the actual distance between TCP and the corresponding measurement point and the radius of the standard sphere. The first unknown variable includes the TCP position parameters to be calibrated. The first NLSP is iteratively solved based on the sphere calibration dataset. And, based on the optimal solution of the first NLSP, the position calibration value of the TCP is determined. An attitude calibration unit is used to construct a second NLSP, the residual function of which is a function corresponding to the plane calibration constraint equation constructed based on the measured variables, the TCP position calibration value, and a second unknown variable. The plane calibration constraint equation is used to characterize that all measurement points are coplanar when measuring the standard plane. The second unknown variable includes the TCP attitude parameters to be calibrated. The second NLSP is iteratively solved based on the plane calibration dataset. And, based on the optimal solution of the obtained second NLSP, the attitude calibration value of the TCP is determined.

11. A tool center point pose calibration system, characterized in that, include: A robot using a directional non-contact ranging sensor as its end effector includes a standard sphere and a standard plane fixedly installed within its workspace, and a tool center point pose calibration device communicatively connected to the robot. The device includes at least one processor and a memory connected to the processor, wherein: The memory is used to store computer programs; The processor is used to execute the computer program to enable the device to implement the tool center point pose calibration method as described in any one of claims 1 to 9.

12. A storage medium, characterized in that, The storage medium carries one or more computer programs that, when executed by an electronic device, enable the electronic device to implement the tool center point pose calibration method as described in any one of claims 1 to 9.

13. A computer program product, characterized in that, It includes computer-readable instructions that, when executed on an electronic device, enable the electronic device to implement the tool center point pose calibration method as described in any one of claims 1 to 9.