Surgical robot TCP calibration method and device, surgical robot and storage medium
By determining the error values of reference coordinates and measurement coordinates under the base coordinate system of the robot arm, the problem in the prior art that the coordinates of the tool center point under the end flange coordinate system of the surgical robot are not accurately obtained, and a higher accuracy test result is achieved.
Patent Information
- Application Number
- CN202311784440.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-21
- Publication Date
- 2025-06-24
AI Technical Summary
The prior art cannot accurately obtain the coordinates of the tool center point under the flange coordinate system of the end of the surgical robot, resulting in the robotic arm accuracy test results that cannot fully reflect the true accuracy.
By determining the reference coordinates of the tool center point under the mechanical arm base coordinate system at multiple groups of reference joint angles, and calculating the coordinate error value based on the measured coordinates, the coordinates of the tool center point under the flange coordinate system are accurately obtained.
The accuracy of the coordinates of the tool center point under the flange coordinate system is achieved, and the accuracy of the robotic arm accuracy is improved, so that the test results can better reflect the real robotic arm accuracy.
Smart Images

Figure CN120189229A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of robots, and particularly to a TCP calibration method and device for a surgical robot, a surgical robot, and a storage medium. Background Art
[0002] The accuracy of a robotic arm is one of the most important indicators for measuring the performance of the robotic arm. Accurately obtaining the coordinates of the Tool Center Point (TCP) in the end flange coordinate system of the robotic arm is a prerequisite for the accuracy measurement of the robotic arm, which is of great significance for the accuracy measurement of the robotic arm.
[0003] In related technologies, mainly the four-point calibration method or the method of drawing two circles to find the intersection points is used to analyze the motion process of the robotic arm to determine the coordinate position of the tool center point of the robotic arm in the flange coordinate system.
[0004] However, the methods in related technologies cannot accurately obtain the coordinate position of the tool center point in the flange coordinate system, resulting in the subsequent accuracy test results of the robotic arm being unable to fully reflect the true accuracy of the robotic arm. Summary of the Invention
[0005] Based on this, in view of the above technical problems, it is necessary to provide a TCP calibration method and device for a surgical robot, a surgical robot, and a storage medium, which can accurately obtain the coordinate position of the tool center point in the flange coordinate system.
[0006] In a first aspect, the present application provides a TCP calibration method for a surgical robot, the method comprising:
[0007] In the robotic arm base coordinate system, according to the initial coordinates of the tool center point of the robotic arm in the initial joint angles in the robotic arm base coordinate system, determine the reference coordinates of the tool center point in multiple groups of reference joint angles;
[0008] According to each reference coordinate and the measured coordinate of the tool center point, determine the coordinate error value of the tool center point in the robotic arm base coordinate system;
[0009] According to the initial coordinates and the coordinate error value, determine the coordinates of the tool center point in the flange coordinate system.
[0010] In one embodiment, determining the coordinates of the tool center point in the flange coordinate system according to the initial coordinates and the coordinate error value includes:
[0011] If the coordinate error value is less than the preset error threshold, then determine the sum of the initial coordinates and the coordinate error value as the coordinates of the tool center point in the robotic arm base coordinate system;
[0012] If the coordinate error value is greater than or equal to the preset error threshold, re-execute the step of determining the reference coordinates of the tool center point in the robot base coordinate system under multiple sets of reference joint angles according to the initial coordinates of the tool center point of the robot in the robot base coordinate system under the initial joint angles.
[0013] In one embodiment, determining the coordinates of the tool center point in the flange coordinate system includes:
[0014] Determine the coordinates of the tool center point in the flange coordinate system according to the coordinate transformation relationship between the robot base coordinate system and the flange coordinate system under the initial joint angles and the coordinates of the tool center point in the robot base coordinate system.
[0015] In one embodiment, determining the reference coordinates of the tool center point in multiple sets of reference joint angles according to the initial coordinates of the tool center point of the robot in the robot base coordinate system under the initial joint angles includes:
[0016] Determine the reference coordinates of the reference joint angles according to the calibration screw matrix, reference joint angles and initial coordinates of the robot.
[0017] In one embodiment, determining the coordinate error value of the tool center point in the robot base coordinate system according to each reference coordinate and the measured coordinate of the tool center point includes:
[0018] Determine the coordinate error value under the reference joint angle as the difference between the reference coordinate of the tool center point under any set of reference joint angles and the measured coordinate;
[0019] Determine the coordinate error value according to each coordinate error value and the error coefficient matrix corresponding to any set of reference joint angles.
[0020] In one embodiment, the obtaining process of the error coefficient matrix corresponding to any set of reference joint angles includes:
[0021] Obtain a reference matrix according to the reference joint angle matrix corresponding to the reference joint angle and the calibration screw matrix of the robot;
[0022] Determine the error coefficient matrix corresponding to any set of reference joint angles according to the reference matrix and the initial coordinates.
[0023] In one embodiment, determining the error coefficient matrix corresponding to the reference joint angle matrix according to the reference matrix and the initial coordinates includes:
[0024] Based on the reference matrix and the initial coordinates, determine the inverse error coefficient matrix and the transposed error coefficient matrix under any set of reference joint angles;
[0025] The product of the inverse matrix of the error coefficient and the transposed matrix of the error coefficient at each set of reference joint angles is determined as the error coefficient matrix.
[0026] In a second aspect, the present application further provides a TCP calibration device for a surgical robot. The device includes:
[0027] A first determination module, configured to determine the reference coordinates of the tool center point at multiple sets of reference joint angles according to the initial coordinates of the tool center point of the robotic arm in the initial joint angles in the robotic arm base coordinate system in the robotic arm base coordinate system;
[0028] A second determination module, configured to determine the coordinate error value of the tool center point in the robotic arm base coordinate system according to each reference coordinate and the measured coordinate of the tool center point;
[0029] A third determination module, configured to determine the coordinates of the tool center point in the flange coordinate system according to the initial coordinates and the coordinate error value.
[0030] In a third aspect, the present application further provides a surgical robot. The surgical robot includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the content of any one of the embodiments of the surgical robot TCP calibration method in the first aspect above.
[0031] In a fourth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the content of any one of the embodiments of the surgical robot TCP calibration method in the first aspect above.
[0032] In a fifth aspect, the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, it implements the content of any one of the embodiments of the surgical robot TCP calibration method in the first aspect above.
[0033] The above surgical robot TCP calibration method, device, surgical robot and storage medium determine the reference coordinates of the tool center point at multiple sets of reference joint angles according to the initial coordinates of the tool center point of the robotic arm in the robotic arm base coordinate system at the initial joint angles; determine the coordinate error value of the tool center point in the robotic arm base coordinate system according to each reference coordinate and the measured coordinate of the tool center point; and determine the coordinates of the tool center point in the flange coordinate system according to the initial coordinates and the coordinate error value. Through the set multiple reference coordinates and multiple measured coordinates, this method can accurately obtain the coordinate error value between the set value and the true value. And based on this coordinate error value, the initial coordinates are recalibrated, making the initial coordinate value closer to the true measured value, so that the coordinates of the tool center point in the flange coordinate system can be accurately obtained, and further the accuracy test result of the subsequent robotic arm can fully reflect the true robotic arm accuracy. Description of the Drawings
[0034] Figure 1 Schematic diagram of the tool center point of the robotic arm in an embodiment;
[0035] Figure 2 Application environment diagram of the surgical robot TCP calibration method in an embodiment;
[0036] Figure 3 Flow schematic diagram of the surgical robot TCP calibration method in an embodiment;
[0037] Figure 4 Flow schematic diagram of the surgical robot TCP calibration method in an embodiment;
[0038] Figure 5 Flow schematic diagram of the surgical robot TCP calibration method in an embodiment;
[0039] Figure 6 Flow schematic diagram of the surgical robot TCP calibration method in an embodiment;
[0040] Figure 7 Flow schematic diagram of the surgical robot TCP calibration method in an embodiment;
[0041] Figure 8 Flow schematic diagram of the surgical robot TCP calibration method in an embodiment;
[0042] Figure 9 Structural block diagram of the surgical robot TCP calibration device in an embodiment;
[0043] Figure 10 Internal structure diagram of the surgical robot in an embodiment. Detailed Description of the Invention
[0044] In order to make the objectives, technical solutions and advantages of the present application more clear and understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0045] Before introducing the technical solution of the present application in detail, the background technology of the present application will be briefly introduced.
[0046] Figure 1 It is a schematic diagram of the tool center point of the robotic arm. It can be seen from the figure the relative relationship between the robotic arm base coordinate system and the flange coordinate system. The flange coordinate system is located at the end of the robotic arm. During the movement of the robotic arm, the robotic arm base coordinate system remains unchanged, while the flange coordinate system changes as the robotic arm moves. The tool center point is constantly changing under the robotic arm base coordinate system, while the tool center point is fixed under the flange coordinate system. The robotic arm accuracy is one of the most important indicators to measure the performance of the robotic arm. Accurately obtaining the coordinates of the tool center point under the flange coordinate system is the prerequisite for the robotic arm accuracy measurement, which has very important significance for the robotic arm accuracy measurement.
[0047] In the related technology, mainly through the four-point calibration method or the method of drawing two circles to find the intersection point to obtain the coordinates of the tool center point under the flange coordinate system. However, both of these two methods need to use the theoretical design values of the robotic arm during the solution process, and cannot take into account the error between the real flange coordinate system and the theoretical flange coordinate system caused by the robotic arm screw calibration. As a result, the coordinate position of the tool center point under the flange coordinate system cannot be accurately obtained, leading to the subsequent robotic arm accuracy test results being unable to fully reflect the real robotic arm accuracy.
[0048] In view of the above problems, the present application provides a TCP calibration method for a surgical robot, which takes into account the error between the real flange coordinate system and the theoretical flange coordinate system caused by the robotic arm screw calibration and compensates for this error, so that the coordinate position of the tool center point under the obtained flange coordinate system is more accurate.
[0049] The TCP calibration method for a surgical robot provided by the embodiments of the present application can be applied to, for example Figure 2In the application environment shown. Among them, the surgical robot 101 includes a robotic arm 102, and the surgical robot 101 communicates with a coordinate measuring device 103. The surgical robot 101 determines the reference coordinates of the tool center point at multiple reference joint angles by assuming an initial coordinate of the tool center point and based on this initial coordinate. The coordinate measuring device 103 is used to measure the coordinates of the tool center point of the robotic arm 102 and send the measured coordinates of the tool center point to the surgical robot 101. The surgical robot 101 determines the coordinate error based on the multiple reference coordinates and the measured coordinates, and determines the coordinates of the tool center point in the flange coordinate system based on the coordinate error and the initial coordinate. Among them, the coordinate measuring device 103 can be a three-dimensional measuring instrument.
[0050] In one embodiment, as shown in FIG. 3, a method for calibrating the TCP of a surgical robot is provided. Taking the surgical robot in Figure 1 as an example for illustration, the method includes the following steps:
[0051] S201, in the robotic arm base coordinate system, determine the reference coordinates of the tool center point at multiple sets of reference joint angles according to the initial coordinates of the tool center point of the robotic arm at the initial joint angle in the robotic arm base coordinate system.
[0052] Among them, the robotic arm base coordinate system is usually a Cartesian coordinate system, and its origin is usually located at the installation position of the robotic arm, and can be referred to Figure 1 . The initial joint angle refers to the set angles of multiple joints of the robotic arm. For example, the set angles of multiple joints can all be 0°.
[0053] In the embodiment of the present application, the surgical robot can give an initial joint angle of a robotic arm and determine the initial coordinates of the tool center point in the robotic arm base coordinate system according to historical experience. For example, when the initial joint angles are all 0°, the initial coordinates of the tool center point can be expressed as P0 = (x0, y0, z0), where (x0, y0, z0) are arbitrary real numbers.
[0054] After obtaining the initial coordinates of the tool center point at the initial joint angle, the surgical robot can also determine the reference coordinates of the tool center point at multiple sets of reference joint angles according to the mapping relationship between the angle and the coordinates. Or, for any set of reference joint angles, the surgical robot can also determine the angle difference between the reference joint angle and the initial joint angle, and determine the coordinate movement value of the tool center point according to this angle difference. And take the sum of the initial coordinates and the coordinate movement value as the reference coordinates at this set of reference joint angles. The embodiment does not limit the method for obtaining the reference coordinates of the tool center point at multiple sets of reference joint angles. Among them, multiple sets of reference joint angles can be expressed as Theta = [θ m×n, the reference joint angles include N groups, and M represents the number of reference joint angles in each group, that is, the number of joints of the robotic arm.
[0055] When the number of joints of the robotic arm is 7 and the reference joint angles include 19 groups, then, the multiple groups of reference joint angles can be represented by Table 1.
[0056] The reference coordinates of the tool center point under 19 groups of reference joint angles can be represented by Table 2.
[0057] S202. According to each reference coordinate and the measured coordinate of the tool center point, determine the coordinate error value of the tool center point in the base coordinate system of the robotic arm.
[0058] Among them, the coordinate error refers to the difference between the reference coordinate and the measured coordinate. For example, if the reference coordinate is (0, 10, 2) and the measured coordinate is (0, 9, 2), then the coordinate error value is (0, 1, 0).
[0059] In the embodiment of the present application, the surgical robot can measure the measured coordinates of the tool center point under each group of reference joint angles through a coordinate measuring device. And for any group of reference joint angles, calculate the error value between the measured coordinate and the reference coordinate under this reference joint angle. And according to the multiple groups of error values obtained, determine the coordinate error value of the tool center point in the polar coordinate system of the robotic arm. For example, the average value of the multiple groups of error values can be used as the coordinate error value of the tool center point in the polar coordinate system of the robotic arm, or, the maximum error value among the multiple groups of error values can also be used as the coordinate error value of the tool center point in the polar coordinate system of the robotic arm.
[0060] It should be noted that for any group of reference joint angles, during the process of measuring the coordinates of the tool center point by the coordinate measuring device, the coordinates of the tool center point in the measurement coordinate system and the coordinates of the robotic arm base in the measurement coordinate system can be obtained. The surgical robot can calculate the difference between the coordinates of the tool center point in the measurement coordinate system and the coordinates of the robotic arm base in the measurement coordinate system to obtain the measured coordinate of the tool center point in the robotic arm coordinate system. For example, if the coordinates of the tool center point in the measurement coordinate system are (5, 6, 1) and the coordinates of the robotic arm base in the measurement coordinate system are (2, 3, 1), then, the measured coordinate of the tool center point in the robotic arm coordinate system is (3, 3, 0).
[0061] Table 1
[0062]
[0063] S203. According to the initial coordinates and the coordinate error value, determine the coordinates of the tool center point in the flange coordinate system.
[0064] In the embodiments of the present application, the surgical robot may use the sum of the initial coordinates and the coordinate error value as the measured coordinates of the tool center point at the initial joint angle, that is, the coordinates of the tool center point in the flange coordinate system. Alternatively, the surgical robot may also verify the coordinate error value to determine whether the coordinate error value meets a preset condition. If it meets the condition, the sum of the initial coordinates and the coordinate error value is used as the measured coordinates of the tool center point at the initial joint angle. If it does not meet the condition, the coordinate error value is re-acquired until the coordinate error value meets the preset condition.
[0065] Table 2
[0066]
[0067] In the above TCP calibration method of the surgical robot, in the base coordinate system of the robotic arm, according to the initial coordinates of the tool center point of the robotic arm in the base coordinate system of the robotic arm at the initial joint angle, the reference coordinates of the tool center point at multiple sets of reference joint angles are determined; according to each reference coordinate and the measured coordinates of the tool center point, the coordinate error value of the tool center point in the base coordinate system of the robotic arm is determined; according to the initial coordinates and the coordinate error value, the coordinates of the tool center point in the flange coordinate system are determined. Through the set multiple reference coordinates and multiple measured coordinates, this method can accurately obtain the coordinate error value between the set value and the true value. And based on this coordinate error value, the initial coordinates are recalibrated, making the initial coordinate value closer to the true measured value, so that the coordinates of the tool center point in the flange coordinate system can be accurately obtained, and further, the accuracy test results of the subsequent robotic arm can fully reflect the true accuracy of the robotic arm.
[0068] Based on the above embodiments, this embodiment introduces and explains the relevant content of Figure 2 step S203 "According to the initial coordinates and the coordinate error value, determine the coordinates of the tool center point in the flange coordinate system". As Figure 4 shown, as a non-limiting example, the above step S203 may include the following content:
[0069] S301, if the coordinate error value is less than the preset error threshold, then the sum of the initial coordinates and the coordinate error value is determined as the coordinates of the tool center point in the base coordinate system of the robotic arm.
[0070] Among them, the preset error threshold can be selected according to the accuracy requirements. For example, the preset error threshold with higher accuracy requirements can be 10 -12 .
[0071] In an embodiment of the present application, after obtaining the coordinate error value, the coordinate error value is first evaluated. If the coordinate error value is small, the initial coordinate can be directly corrected by the coordinate error value. The surgical robot can compare the coordinate error value with a preset error threshold. If the coordinate error value is less than the preset error threshold, it is determined that the coordinate error value is small. The surgical robot calculates the sum of the initial coordinate and the coordinate error value, and uses the obtained sum result as the coordinate of the tool center point in the base coordinate system of the robotic arm.
[0072] S302, if the coordinate error value is greater than or equal to the preset error threshold, then re - execute the step of determining the reference coordinates of the tool center point in the base coordinate system of the robotic arm at multiple sets of reference joint angles according to the initial coordinates of the tool center point of the robotic arm in the base coordinate system of the robotic arm at the initial joint angles.
[0073] In an embodiment of the present application, when the surgical robot determines that the coordinate error value is greater than or equal to the preset error threshold, it indicates that the coordinate error value is large. At this time, the initial coordinate and multiple reference coordinates need to be reset in the manner in step S201. Until the coordinate error value obtained after the reset is less than the preset error threshold, at this time, the error value solving process ends, and the sum of the coordinate error value less than the preset error threshold and the initial coordinate is used as the coordinate of the tool center point in the base coordinate system of the robotic arm.
[0074] In the above - mentioned surgical robot TCP calibration method, if the coordinate error value is less than the preset error threshold, the sum of the initial coordinate and the coordinate error value is determined as the coordinate of the tool center point in the base coordinate system of the robotic arm; if the coordinate error value is greater than or equal to the preset error threshold, then re - execute the step of determining the reference coordinates of the tool center point in the base coordinate system of the robotic arm at multiple sets of reference joint angles according to the initial coordinates of the tool center point of the robotic arm in the base coordinate system of the robotic arm at the initial joint angles. This method uses the preset error threshold to accurately evaluate the coordinate error value. For different evaluation results, different methods are used to solve the coordinates of the tool center point, and the coordinates of the tool center point in the base coordinate system of the robotic arm can be accurately obtained.
[0075] Based on the above - mentioned embodiment, this embodiment introduces and explains the relevant content of Figure 2 step S203 "the coordinates of the tool center point in the flange coordinate system". As a non - restrictive example, the above - mentioned step S203 may include the following content:
[0076] Determine the coordinates of the tool center point in the flange coordinate system according to the coordinate transformation relationship between the base coordinate system of the robotic arm and the flange coordinate system at the initial joint angles and the coordinates of the tool center point in the base coordinate system of the robotic arm.
[0077] In an embodiment of the present application, the surgical robot can measure the coordinates of the robotic arm base in the measurement coordinate system through a coordinate measurement device, and, at the initial joint angles, measure the coordinates of the end flange of the robotic arm in the measurement coordinate system. Then, calculate the difference between the coordinates of the robotic arm base in the measurement coordinate system and the coordinates of the end flange of the robotic arm in the measurement coordinate system, and use this difference as the coordinate transformation relationship between the robotic arm base coordinate system and the flange coordinate system.
[0078] Alternatively, the surgical robot can also obtain the length of the robotic arm and determine the coordinate transformation relationship between the robotic arm base coordinate system and the flange coordinate system based on the length of the robotic arm. Subsequently, the computer device can, based on this coordinate transformation relationship, transform the coordinates of the tool center point in the robotic arm base coordinate system to the flange coordinate system to obtain the coordinates of the tool center point in the flange coordinate system. For example, when all the joint angles of the robotic arm are 0°, the length of the robotic arm is L. Then, the coordinates of the tool center point in the flange coordinate system can be expressed as:
[0079] PL = P0 + [0, 0, –L, 0]
[0080] where, P0 is the coordinates of the tool center point in the robotic arm base coordinate system; [0, 0, –L, 0] represents the coordinate transformation relationship between the robotic arm base coordinate system and the flange coordinate system.
[0081] In the above TCP calibration method of the surgical robot, based on the coordinate transformation relationship between the robotic arm base coordinate system and the flange coordinate system at the initial joint angles and the coordinates of the tool center point in the robotic arm base coordinate system, determine the coordinates of the tool center point in the flange coordinate system. This method can accurately transform the coordinates in the robotic arm coordinate system to the flange coordinate system through the transformation relationship between the two coordinate systems, so as to accurately obtain the coordinates of the tool center point in the flange coordinate system.
[0082] Based on the above embodiments, this embodiment introduces and explains the relevant content of Figure 2 step S201 in "determine the reference coordinates of the tool center point at multiple sets of reference joint angles according to the initial coordinates of the tool center point of the robotic arm in the robotic arm base coordinate system at the initial joint angles". As a non-limiting example, the above step S201 may include the following content:
[0083] Determine the reference coordinates of the reference joint angles according to the calibration screw matrix of the robotic arm, the reference joint angles, and the initial coordinates.
[0084] where, the calibration screw matrix of the robotic arm is obtained through pre-calibration. The calibration screw matrix can be expressed as: kesi = [ζ 6×7, where 7 indicates that the robotic arm includes 7 joints, i.e., the robotic arm is a 7-axis robotic arm; 6 indicates that each joint requires 6 parameters, 3 of which are the coordinates of a point on the joint, which can be expressed as (x, y, z), and the other three parameters are the unit direction vectors of the joint, which can be expressed as (i, j, k). In one embodiment, taking a certain 7-axis robotic arm as an example, the calibration screw matrix of the robotic arm is represented by Table 3.
[0085] Table 3
[0086]
[0087] In the embodiment of the present application, the surgical robot can substitute the calibration screw matrix of the robotic arm, the reference joint angles, and the initial coordinate reference coordinates into the reference coordinate calculation formula, and determine the reference coordinates of the reference joint angles through calculation. The reference coordinates can be expressed as:
[0088] P = e G * P0
[0089] G = kesi * Theta
[0090] where kesi refers to the calibration screw matrix of the robotic arm; Theta refers to the reference joint angles.
[0091] In the above surgical robot TCP calibration method, the reference coordinates of the reference joint angles are determined according to the calibration screw matrix of the robotic arm, the reference joint angles, and the initial coordinates. In the process of calculating the reference coordinates, this method is solved through three pieces of information: the calibration screw matrix of the robotic arm, the reference joint angles, and the initial coordinates, and the accuracy of the reference coordinates of the obtained reference joint angles is higher.
[0092] On the basis of the above embodiment, this embodiment introduces and explains the relevant content of step S202 in Figure 2 "Determine the coordinate error value of the tool center point in the base coordinate system of the robotic arm according to each reference coordinate and the measured coordinate of the tool center point". As Figure 5 shown, as a non-limiting example, the above step S202 may include the following content:
[0093] S401, determine the coordinate error value at the reference joint angles by taking the difference between the reference coordinates and the measured coordinates of the tool center point at any set of reference joint angles.
[0094] In the embodiments of the present application, for any set of reference joint angles, the surgical robot can subtract the reference coordinates at the reference joint angles from the measured coordinates, and use the obtained difference as the coordinate error value at the reference joint angles. In the above manner, the coordinate error values at all reference joint angles can be obtained. The coordinate error values at all reference joint angles can be expressed as:
[0095] eror_Pe=[error_Pe1, error_Pe2,..., error_Pe n
[0096] error_Pe i =P i T P i -POS i T POS i
[0097] Wherein, P i represents the reference coordinates at the i-th reference joint angle; POS i represents the measured coordinates at the i-th reference joint angle; the value range of i is an integer between 1 and n; error_Pe i represents the coordinate error value at the i-th reference joint angle.
[0098] After partitioning the matrix P and the matrix POS, the matrix P can be expressed as: P = [P1, P2,..., P n , P i represents the reference coordinates corresponding to the i-th set of reference joint angles. The matrix POS can be expressed as: POS = [pos1, pos2,..., pos n , POS i represents the measured coordinates corresponding to the i-th set of reference joint angles.
[0099] S402. Determine the coordinate error value according to each coordinate error value and the error coefficient matrix corresponding to any set of reference joint angles.
[0100] In the embodiments of the present application, the surgical robot can multiply the coordinate error value at each set of reference joint angles by the error coefficient matrix to obtain the actual coordinate error value at the set of reference joint angles. And add up the actual coordinate error values at all reference joint angles, and use the added result as the coordinate error value. The coordinate error value can be expressed as:
[0101] inc_Pe0 = A * eror_Pe
[0102] Among them, A represents the error coefficient matrix corresponding to all reference joint angles. The matrix A is partitioned, and the matrix A can be expressed as [A1, A2, ……, A n , A i represents the error coefficient matrix corresponding to the i-th group of reference joint angles.
[0103] In the above surgical robot TCP calibration method, the difference between the reference coordinate and the measured coordinate of the tool center point under any group of reference joint angles is determined as the coordinate error value under the reference joint angles; according to each coordinate error value and the error coefficient matrix corresponding to any group of reference joint angles, the coordinate error value is determined. Through the error coefficient matrix of each group of reference joint angles, this method can accurately calculate the coordinate error corresponding to each group of reference joint angles, so as to accurately obtain the difference between the true coordinate value and the estimated coordinate value, that is, the coordinate error value.
[0104] Based on the above embodiments, this embodiment introduces and explains the relevant content of the acquisition process of the error coefficient matrix corresponding to any group of reference joint angles in Figure 5 step S402. As Figure 6 shown, as a non-limiting example, the above method may further include the following content:
[0105] S501, obtain a reference matrix according to the reference joint angle matrix corresponding to the reference joint angles and the calibration screw matrix of the robotic arm.
[0106] In the embodiments of the present application, after obtaining the reference joint angle matrix and the calibration screw matrix, the surgical robot can multiply each element in the two matrices to obtain a new matrix, and use the new matrix as the reference matrix. The reference matrix can be expressed as:
[0107] G = kesi * Theta
[0108] After partitioning the matrix G, the matrix G can be expressed as: G = [g1, g2, ……, g n
[0109] Among them, kesi represents the calibration screw matrix of the robotic arm; Theta represents the reference joint angle matrix. g i represents the reference matrix corresponding to the i-th group of reference joint angles.
[0110] S502, determine the error coefficient matrix corresponding to any group of reference joint angles according to the reference matrix and the initial coordinates.
[0111] In the embodiment of the present application, the surgical robot can obtain the reference coordinates at each set of reference joint angles according to the reference matrix and the initial coordinates. And calculate the error between each reference coordinate and the measured coordinate, and determine the error coefficient matrix corresponding to each set of reference joint angles according to the error.
[0112] In the above TCP calibration method of the surgical robot, the reference matrix is obtained according to the reference joint angle matrix corresponding to the reference joint angle and the calibration screw matrix of the robotic arm; according to the reference matrix and the initial coordinates, the error coefficient matrix corresponding to any set of reference joint angles is determined. Through the reference joint angle matrix and the calibration screw matrix, this method can accurately obtain the reference matrix, so that based on the reference matrix and the initial coordinates, the error coefficient matrix corresponding to each set of reference joint angles can be accurately calculated.
[0113] On the basis of the above embodiment, this embodiment introduces and explains the relevant content of "determining the error coefficient matrix corresponding to any set of reference joint angles according to the reference matrix and the initial coordinates" in step S502 in Figure 6 As shown, as a non-limiting example, the above step S502 may include the following content: Figure 7 As shown in
[0114] S601, based on the reference matrix and the initial coordinates, determine the inverse error coefficient matrix and the transposed error coefficient matrix at any set of reference joint angles.
[0115] In the embodiment of the present application, the surgical robot can obtain the reference matrix error value corresponding to two adjacent reference joint angles, and calculate the transposed error coefficient matrix and the inverse error coefficient matrix based on the reference matrix error value and the initial coordinates. Among them, the inverse error coefficient matrix at all reference joint angles can be expressed as:
[0116] B = ((J_Pe0) T * J_Pe0) -1
[0117] J_Pe0 i = (2 * (g i - g i-1 ) T P0(g i - g i-1 ))
[0118] where, gi represents the reference matrix at the i-th set of reference joint angles; g i-1 represents the reference matrix at the (i - 1)-th set of reference joint angles; g i - g i-1 represents the reference matrix error value between the i-th and the (i - 1)-th sets of reference joint angles.
[0119] Block the transposed matrix of error coefficients for all reference joint angles. The transposed matrix of error coefficients can be expressed as: (J_Pe0) T =[J_Pe01, J_Pe02, ……, J_Pe0 n T .
[0120] S602. Determine the product of the inverse matrix of error coefficients and the transposed matrix of error coefficients for each set of reference joint angles as the error coefficient matrix.
[0121] In the embodiment of the present application, for any set of joint angles, the surgical robot can multiply the inverse matrix of error coefficients and the transposed matrix of error coefficients at this joint angle to obtain the error coefficients at this set of joint angles. Exemplarily, the error coefficients at all joint angles can be expressed as:
[0122] A = B * (J_Pe0) T = ((J_Pe0) T * J_Pe0) -1 * (J_Pe0) T
[0123] Block matrix A. Matrix A can be expressed as [A1, A2, ……, An], and Ai represents the error coefficient matrix corresponding to the i-th set of reference joint angles.
[0124] In the above TCP calibration method of the surgical robot, based on the reference matrix and the initial coordinates, determine the inverse matrix of error coefficients and the transposed matrix of error coefficients at any set of reference joint angles; determine the product of the inverse matrix of error coefficients and the transposed matrix of error coefficients at each set of reference joint angles as the error coefficient matrix. This method analyzes each set of reference joint angles according to the reference matrix and the initial coordinates, can accurately obtain multiple inverse matrices of error coefficients and transposed matrices of error coefficients, and then multiply the inverse matrix of error coefficients and the transposed matrix of error coefficients to accurately obtain the error coefficient matrix at each set of reference joint angles.
[0125] As a specific embodiment of the present application, as Figure 8 shown, the TCP calibration method of the surgical robot includes:
[0126] S701. In the base coordinate system of the robotic arm, determine the reference coordinates of the reference joint angles according to the calibration screw matrix, reference joint angles and initial coordinates of the robotic arm;
[0127] S702. Determine the difference between the reference coordinates and the measured coordinates of the tool center point at any set of reference joint angles as the coordinate error value at the reference joint angles;
[0128] S703. Determine the coordinate error value according to each coordinate error value and the error coefficient matrix corresponding to any set of reference joint angles.
[0129] S704. If the coordinate error value is less than the preset error threshold, then determine the sum of the initial coordinate and the coordinate error value as the coordinate of the tool center point in the base coordinate system of the robotic arm.
[0130] S705. Determine the coordinate of the tool center point in the flange coordinate system according to the coordinate transformation relationship between the base coordinate system and the flange coordinate system of the robotic arm at the initial joint angle and the coordinate of the tool center point in the base coordinate system of the robotic arm.
[0131] S706. If the coordinate error value is greater than or equal to the preset error threshold, then re - execute the step of determining the reference coordinates of the tool center point in the base coordinate system of the robotic arm at multiple sets of reference joint angles according to the initial coordinate of the tool center point of the robotic arm in the base coordinate system at the initial joint angle.
[0132] In the method of the present application, assume that the initial coordinate of the 7 - axis robotic arm P0 = [0, 0, 1500, 1] T , the coordinate transformation relationship between the base coordinate system and the flange coordinate system of the robotic arm is [0, 0, -L, 0]=[0, 0, -1306, 0]. The coordinate of the tool center point in the flange coordinate system obtained can be expressed as PL = [-284.13120, 11.16220, 191.65150]. The coordinate of the tool center point in the flange coordinate system obtained by the traditional circle - drawing method can be expressed as PL1 = [-284.19, 11.45, 191.577]. The error between this solution and the traditional circle - drawing method ||PL - PL1|| = 0.3. Thus, it can be seen that considering the error between the real flange coordinate system and the theoretical flange coordinate system, the coordinate accuracy of the tool center point in the flange coordinate system is improved by 0.3 millimeters (mm).
[0133] It should be understood that although the steps in the flowcharts involved in the above - mentioned embodiments are shown in sequence according to the arrows, these steps do not necessarily execute in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above - mentioned embodiments may include multiple steps or multiple stages. These steps or stages do not necessarily execute at the same moment, but can execute at different moments. The execution order of these steps or stages is not necessarily sequential either, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.
[0134] Based on the same inventive concept, an embodiment of the present application further provides a TCP calibration device for a surgical robot for implementing the above-mentioned surgical robot TCP calibration method. The solution provided by this device for solving problems is similar to the solution described in the above method. Therefore, the specific limitations in one or more embodiments of the TCP calibration device for a surgical robot provided below can refer to the limitations on the TCP calibration method for a surgical robot in the above text, and will not be elaborated here.
[0135] In one embodiment, as Figure 9 shown, a TCP calibration device for a surgical robot is provided, including: a first determination module 11, a second determination module 12, and a third determination module 13, where:
[0136] The first determination module 11 is configured to determine the reference coordinates of the tool center point at multiple sets of reference joint angles based on the initial coordinates of the tool center point of the robotic arm in the robotic arm base coordinate system at the initial joint angles in the robotic arm base coordinate system;
[0137] The second determination module 12 is configured to determine the coordinate error value of the tool center point in the robotic arm base coordinate system according to each reference coordinate and the measured coordinate of the tool center point;
[0138] The third determination module 13 is configured to determine the coordinates of the tool center point in the flange coordinate system according to the initial coordinates and the coordinate error value.
[0139] In one embodiment, the above-mentioned third determination module 13 includes: a first determination unit and a second determination unit, where:
[0140] The first determination unit is further configured to, when the coordinate error value is less than the preset error threshold, determine the sum of the initial coordinates and the coordinate error value as the coordinates of the tool center point in the robotic arm base coordinate system;
[0141] The second determination unit is further configured to, when the coordinate error value is greater than or equal to the preset error threshold, re-execute the step of determining the reference coordinates of the tool center point in the robotic arm base coordinate system at multiple sets of reference joint angles according to the initial coordinates of the tool center point of the robotic arm in the robotic arm base coordinate system at the initial joint angles.
[0142] In one embodiment, the above-mentioned third determination module further includes a third determination unit, where:
[0143] The third determination unit is configured to determine the coordinates of the tool center point in the flange coordinate system according to the coordinate transformation relationship between the robotic arm base coordinate system and the flange coordinate system at the initial joint angles and the coordinates of the tool center point in the robotic arm base coordinate system.
[0144] In one embodiment, the above-mentioned first determination module includes: a fourth determination unit, where:
[0145] The fourth determination unit is configured to determine the reference coordinates of the reference joint angles according to the calibrated screw matrix of the robotic arm, the reference joint angles, and the initial coordinates.
[0146] In one embodiment, the above-mentioned second determination module includes: a fifth determination unit and a sixth determination unit, where:
[0147] The fifth determination unit is configured to determine the coordinate error value at the reference joint angles by taking the difference between the reference coordinates of the tool center point at any set of reference joint angles and the measured coordinates;
[0148] The sixth determination unit is configured to determine the coordinate error value according to each coordinate error value and the error coefficient matrix corresponding to any set of reference joint angles.
[0149] In one embodiment, the above-mentioned second determination module is further configured to obtain a reference matrix according to the reference joint angle matrix corresponding to the reference joint angles and the calibrated screw matrix of the robotic arm; and determine the error coefficient matrix corresponding to any set of reference joint angles according to the reference matrix and the initial coordinates.
[0150] In one embodiment, the above-mentioned second determination module is further configured to determine the inverse error coefficient matrix and the transposed error coefficient matrix at any set of reference joint angles based on the reference matrix and the initial coordinates; and determine the product of the inverse error coefficient matrix and the transposed error coefficient matrix at each set of reference joint angles as the error coefficient matrix.
[0151] Each module in the above-mentioned TCP calibration device of the surgical robot can be implemented in whole or in part by software, hardware, and their combination. Each of the above-mentioned modules can be embedded in the processor of the computer device in the form of hardware or be independent of it, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above-mentioned modules.
[0152] In one embodiment, a surgical robot is provided. The surgical robot can be a server, and its internal structure diagram can be as Figure 10As shown. The surgical robot includes a processor, a memory, and a network interface connected via a system bus. Among them, the processor of the surgical robot is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store the TCP calibration data of the surgical robot. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, it implements a method for calibrating the TCP of a surgical robot.
[0153] Those skilled in the art can understand that Figure 10 the structure shown in
[0154] is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.
[0155] In one embodiment, a surgical robot is provided, including a memory and a processor. A computer program is stored in the memory. When the processor executes the computer program, it implements the content of any one of the above embodiments of the method for calibrating the TCP of a surgical robot.
[0156] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by the processor, it implements the content of any one of the above embodiments of the method for calibrating the TCP of a surgical robot.
[0157] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0158] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memories. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in the present application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in the present application can be general-purpose processors, central processors, graphics processors, digital signal processors, programmable logic devices, data processing logics based on quantum computing, etc., without limitation.
[0159] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as within the scope described in this specification.
[0160] The above embodiments only represent several implementation manners of the present application. The description is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A TCP calibration method for a surgical robot, characterized in that, The method includes: In the base coordinate system of the robotic arm, based on the initial coordinates of the tool center point of the robotic arm in the base coordinate system at the initial joint angles, determine the reference coordinates of the tool center point at multiple sets of reference joint angles; Based on each of the reference coordinates and the measured coordinates of the tool center point, determine the coordinate error value of the tool center point in the base coordinate system of the robotic arm; Based on the initial coordinates and the coordinate error value, determine the coordinates of the tool center point in the flange coordinate system.
2. The method according to claim 1, wherein The determining the coordinates of the tool center point in the flange coordinate system based on the initial coordinates and the coordinate error value includes: If the coordinate error value is less than the preset error threshold, then determine the sum of the initial coordinates and the coordinate error value as the coordinates of the tool center point in the base coordinate system of the robotic arm; If the coordinate error value is greater than or equal to the preset error threshold, then re - execute the step of determining the reference coordinates of the tool center point in the base coordinate system of the robotic arm at multiple sets of reference joint angles based on the initial coordinates of the tool center point of the robotic arm in the base coordinate system at the initial joint angles.
3. The method according to claim 1, characterized in that, The determining the coordinates of the tool center point in the flange coordinate system includes: Based on the coordinate transformation relationship between the base coordinate system and the flange coordinate system of the robotic arm at the initial joint angles and the coordinates of the tool center point in the base coordinate system of the robotic arm, determine the coordinates of the tool center point in the flange coordinate system.
4. The method according to any one of claims 1 to 3, characterized in that, The determining the reference coordinates of the tool center point at multiple sets of reference joint angles based on the initial coordinates of the tool center point of the robotic arm in the base coordinate system at the initial joint angles includes: Based on the calibration screw matrix of the robotic arm, the reference joint angles, and the initial coordinates, determine the reference coordinates of the reference joint angles.
5. The method according to any one of claims 1-3, characterized in that, The determining the coordinate error value of the tool center point in the base coordinate system of the robotic arm based on each of the reference coordinates and the measured coordinates of the tool center point includes: Determine the difference between the reference coordinates of the tool center point at any set of reference joint angles and the measured coordinates as the coordinate error value at the reference joint angles; Based on each of the coordinate error values and the error coefficient matrix corresponding to any set of reference joint angles, determine the coordinate error value.
6. The method according to claim 5, wherein The obtaining process of the error coefficient matrix corresponding to any set of reference joint angles includes: Based on the reference joint angle matrix corresponding to the reference joint angles and the calibration screw matrix of the robotic arm, obtain a reference matrix; Based on the reference matrix and the initial coordinates, determine the error coefficient matrix corresponding to any set of reference joint angles.
7. The method according to claim 6, wherein The determining the error coefficient matrix corresponding to any set of reference joint angles based on the reference matrix and the initial coordinates includes: Based on the reference matrix and the initial coordinates, determine the inverse error coefficient matrix and the transposed error coefficient matrix at any set of reference joint angles; Determine the product of the inverse error coefficient matrix and the transposed error coefficient matrix at each set of reference joint angles as the error coefficient matrix.
8. A TCP calibration device for a surgical robot, characterized in that, The device includes: The first determination module is configured to determine the reference coordinates of the tool center point at multiple groups of reference joint angles according to the initial coordinates of the tool center point of the robotic arm in the initial joint angles in the robotic arm base coordinate system in the robotic arm base coordinate system; The second determination module is configured to determine the coordinate error value of the tool center point in the robotic arm base coordinate system according to each of the reference coordinates and the measured coordinates of the tool center point; The third determination module is configured to determine the coordinates of the tool center point in the flange coordinate system according to the initial coordinates and the coordinate error value; 9. A surgical robot, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 7 are implemented.