Surgical robot calibration method and device, surgical robot and storage medium

By recording and calculating actual motion data on the surgical robot, avoiding the use of design values, and directly calculating the transformation matrix between the base coordinate system and the flange coordinate system from the measured values, the error problem of the transformation relationship of the end-effector coordinate system of the surgical robot is solved, and the positioning accuracy is improved.

CN115813556BActive Publication Date: 2026-04-17SHENZHEN LIUYEDAO ROBOT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN LIUYEDAO ROBOT CO LTD
Filing Date
2022-12-27
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In the prior art, the calibration results of the coordinate system transformation relationship of the surgical robot end-effector are affected by manufacturing and assembly errors, resulting in inaccurate positioning accuracy, especially when the posture of the robotic arm end-effector changes, the correction is not applicable.

Method used

By controlling the surgical robot to move along a preset route, capturing marker points, recording pose data, and calculating the transformation matrix from the base coordinate system to the camera coordinate system and the flange coordinate system, the design values ​​are avoided, and calculations are performed directly from actual measured values.

Benefits of technology

This improved the accuracy of surgical robot calibration, reduced the impact of design error on calculation results, and ensured precise positioning under different postures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115813556B_ABST
    Figure CN115813556B_ABST
Patent Text Reader

Abstract

The present application relates to the field of robot calibration, and discloses a surgical robot calibration method and device, a surgical robot and a storage medium, the method comprising: controlling the surgical robot to move according to a preset calibration route, so that the surgical robot reaches each calibration pose in turn; the calibration poses include an initial pose, a first translation pose, a second translation pose and at least two rotation poses; a camera device is used to capture a marker point on the surgical robot, and pose data of the surgical robot at each calibration pose is recorded; a first rotation matrix from a base coordinate system to a camera coordinate system is calculated according to the initial pose, the first translation pose and the second translation pose; a first translation matrix from the base coordinate system to the camera coordinate system, a second rotation matrix and a second translation matrix from a flange coordinate system of the surgical robot to a reference coordinate system of the surgical robot are calculated according to the first rotation matrix and the at least two rotation poses.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robot calibration, and more particularly to a surgical robot calibration method, apparatus, surgical robot, and storage medium. Background Technology

[0002] Surgical robots, with their advantages of high positioning accuracy and repeatability, are widely used in image-guided orthopedic surgeries. The navigation and positioning principle of a surgical robot is briefly described as follows: A positioning camera tracks markers mounted on the robotic arm. By transforming the reference coordinate system with the intrinsic TCP coordinate system (the flange coordinate system of the robotic arm's end effector), the actual spatial pose of the robotic arm's end effector is obtained, thus guiding the robotic arm to the planned target pose. The pose of the robotic arm's intrinsic TCP relative to its intrinsic base coordinate system can be directly obtained from the robotic arm's control system. However, the transformation relationship between the reference array coordinate system and the intrinsic TCP coordinate system needs to be obtained through calibration, and the accuracy of this calibration directly affects the positioning accuracy of the robotic arm-assisted surgery.

[0003] The transformation relationship between the end-effector reference array coordinate system and the intrinsic TCP coordinate system of the end-effector (hereinafter referred to as the end-effector coordinate system transformation relationship) can be obtained through the following method: The end-effector reference array and the intrinsic TCP of the end-effector are rigidly connected, and their coordinate system transformation relationship can be measured in the hardware design drawings. This measured value is the design value. This value is used for hand-eye calibration of the end-effector base and the positioning camera. Based on this hand-eye calibration, a probe is used to obtain the coordinates of the verification points on the end-effector reference array, and these coordinates are used to correct the end-effector coordinate system transformation relationship. Disadvantage: There is an error between the design value and the assembled physical object. This error is carried over to the hand-eye calibration of the end-effector base and the positioning camera. Furthermore, the hand-eye calibration result itself is used to correct the end-effector coordinate system transformation relationship, causing this correction to be localized. When the end-effector posture changes significantly, this correction becomes inapplicable. Summary of the Invention

[0004] In a first aspect, this application provides a surgical robot calibration method, including:

[0005] The surgical robot is controlled to move along a preset calibration route, so that the surgical robot sequentially reaches each calibration pose; the calibration pose includes an initial pose, a first translation pose, a second translation pose, and at least two rotation poses;

[0006] The surgical robot's pose data is recorded by capturing images of the marker points on the surgical robot at each of the marker poses using a camera device.

[0007] Based on the initial pose, the first translation pose, and the second translation pose, calculate the first rotation matrix from the base coordinate system of the surgical robot to the camera coordinate system of the camera device;

[0008] Based on the first rotation matrix and the at least two rotation poses, calculate the first translation matrix from the base coordinate system to the camera coordinate system, and the second rotation matrix and second translation matrix from the flange coordinate system of the surgical robot to the reference coordinate system of the surgical robot.

[0009] Furthermore, the controlled surgical robot moves according to a preset calibration route, causing the surgical robot to sequentially reach each calibration pose, including:

[0010] Control the surgical robot to translate along the X-axis of the base coordinate system to the first translation pose;

[0011] Control the surgical robot to translate along the Y-axis of the base coordinate system to the second translation pose;

[0012] The surgical robot is controlled to perform at least two rotational movements in sequence, thereby enabling the surgical robot to form the at least two rotational poses.

[0013] Furthermore, the step of capturing images of the marker points on the surgical robot using a camera device and recording the pose data of the surgical robot at each of the marker poses includes:

[0014] When the surgical robot is in the calibrated pose, the camera device captures the calibrated points on the surgical robot and obtains the translation vector from the camera coordinate system to the reference coordinate system.

[0015] When the surgical robot is in the rotational pose, the rotational change and translation vector from the base coordinate system to the flange coordinate system are also obtained through the control parameters of the surgical robot.

[0016] Furthermore, calculating the first rotation matrix from the base coordinate system to the camera coordinate system based on the initial pose, the first translation pose, and the second translation pose includes:

[0017] A first vector is obtained based on the first translation pose and the initial pose, and a second vector is obtained based on the second translation pose and the initial pose.

[0018] Based on the first vector and the second vector, the coordinate values ​​of the coordinate system vector (x, y, z) of the base coordinate system in the camera coordinate system are calculated, thereby determining the first rotation matrix.

[0019] Furthermore, the expressions for the first vector and the second vector are:

[0020] s1=t c1 -t c0 ;

[0021] s2=t c2 -t c0 ;

[0022] In the formula, s1 is the first vector, s2 is the second vector, and t c0 The pose data for the initial pose, t c1 For the pose data of the first translation pose, t c2 This refers to the pose data for the second translation pose;

[0023] The expression for calculating the coordinate values ​​of the coordinate vector of the flange coordinate system in the camera coordinate system is as follows:

[0024]

[0025] The expression for the first rotation matrix is:

[0026] R = (x', y', z').

[0027] Furthermore, calculating the first translation matrix and the second translation matrix includes:

[0028] Transformation equations are established based on the transformation relationships between the base coordinate system, the optical camera coordinate system, the reference coordinate system, and the flange coordinate system;

[0029] Substitute each rotation pose into the transformation equation to solve for the first translation matrix and the second translation matrix.

[0030] Furthermore, calculating the second rotation matrix includes:

[0031] After calculating the first translation matrix and the second translation matrix, the second rotation matrix is ​​calculated based on the transformation equation and the pose data of any target pose.

[0032] Secondly, this application also provides a surgical robot calibration device, comprising:

[0033] The control module is used to control the surgical robot to move along a preset calibration route, so that the surgical robot sequentially reaches each calibration pose; the calibration pose includes an initial pose, a first translational pose, a second translational pose, and at least two rotational poses;

[0034] The acquisition module is used to capture images of the marker points on the surgical robot using a camera device and record the pose data of the surgical robot in each of the marker poses.

[0035] The first calculation module is used to calculate the first rotation matrix from the base coordinate system of the surgical robot to the camera coordinate system of the camera device based on the initial pose, the first translation pose, and the second translation pose.

[0036] The second calculation module is used to calculate, based on the first rotation matrix and the at least two rotation poses, a first translation matrix from the base coordinate system to the camera coordinate system, and a second rotation matrix and a second translation matrix from the flange coordinate system of the surgical robot to the reference coordinate system of the surgical robot.

[0037] Thirdly, this application also provides a surgical robotic arm, including a processor and a memory, wherein the memory stores a computer program, and the computer program executes the surgical robot calibration method when it is run on the processor.

[0038] Fourthly, this application also provides a readable storage medium storing a computer program that executes the surgical robot calibration method when run on a processor.

[0039] This invention discloses a surgical robot calibration method, apparatus, surgical robot, and storage medium. The method includes: controlling the surgical robot to move along a preset calibration route, causing the surgical robot to sequentially reach various calibration poses; the calibration poses include an initial pose, a first translational pose, a second translational pose, and at least two rotational poses; capturing images of marker points on the surgical robot using a camera device, and recording the pose data of the surgical robot at each calibration pose; calculating a first rotation matrix from the base coordinate system to the camera coordinate system based on the initial pose, the first translational pose, and the second translational pose; and calculating a first translation matrix from the base coordinate system to the camera coordinate system, and a second rotation matrix and a second translation matrix from the flange coordinate system of the surgical robot to the reference coordinate system of the surgical robot based on the first rotation matrix and the at least two rotational poses. This method eliminates the need to use design values ​​during the calculation process, ensuring that the calculation results are obtained from actual measurements and are not affected by errors between design values ​​and the actual values ​​of the surgical robot, thus improving the accuracy of the calibration results. Attached Figure Description

[0040] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the embodiments will be briefly described below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope of protection of the present invention. In the various drawings, similar components are numbered similarly.

[0041] Figure 1 This paper illustrates a flowchart of a surgical robotic arm calibration method according to an embodiment of this application.

[0042] Figure 2 A schematic diagram of a surgical robotic arm calibration scenario according to an embodiment of this application is shown;

[0043] Figure 3 A diagram illustrating coordinate system transformation relationships according to an embodiment of this application is shown;

[0044] Figure 4 A schematic diagram of a surgical robotic arm calibration device according to an embodiment of this application is shown. Detailed Implementation

[0045] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.

[0046] The components of the embodiments of the invention described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the invention without inventive effort are within the scope of protection of the invention.

[0047] In the following, the terms “comprising,” “having,” and their cognates, which may be used in various embodiments of the invention, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as excluding, firstly, the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations thereof.

[0048] Furthermore, the terms "first," "second," and "third" are used only to distinguish descriptions and should not be interpreted as indicating or implying relative importance.

[0049] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of the invention pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be interpreted as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of the invention.

[0050] The technical solution of this application is applied to the calibration of surgical robots, that is, before the actual use of the surgical robot, to calibrate the transformation relationships between the base coordinate system, reference coordinate system, flange coordinate system on the surgical robot, and the external camera coordinate system. By collecting and calculating the pose data of the robotic arm, the transformation matrix from the base coordinate system to the camera coordinate system, and the transformation matrix from the flange coordinate system to the reference coordinate system are obtained.

[0051] The robot is equipped with markers for camera capture. These markers are made using specialized marking equipment, such as a reflective ball or reflector, or other objects easily captured and identified by the camera. The aforementioned reference coordinate system is established based on these markers.

[0052] The base coordinate system is a coordinate system established based on the robot's base, while the flange coordinate system is a coordinate system established based on the robot's end effector. The camera coordinate system is a coordinate system established based on the position of the camera device. Among these, the base coordinate system and the camera coordinate system are stationary due to factors such as the working environment; only the flange coordinate system and the reference coordinate system will move.

[0053] It is understandable that the optical camera directly captures the spatial coordinate data of the marked points, and therefore the transformation matrix from the camera coordinate system to the reference coordinate system can be obtained directly through its own measurements. Similarly, the robot itself knows the robot's motion parameters, so as long as the starting coordinates of the end flange are determined, the transformation matrix from the base coordinate system to the flange coordinate system can be obtained directly from the robot's control parameters. Therefore, the calibration in this application aims to obtain the transformation matrix from the base coordinate system to the camera coordinate system, and the transformation matrix from the flange coordinate system to the reference coordinate system. The transformation matrix consists of a rotation matrix and a translation vector; by obtaining the corresponding rotation matrix and translation vector, the aforementioned transformation matrix can be obtained.

[0054] The technical solution of this application will now be described with reference to specific embodiments.

[0055] Example 1

[0056] like Figure 1 As shown, the surgical robot calibration method of this application includes the following steps:

[0057] Step S100: Control the surgical robot to move along a preset calibration route, so that the surgical robot sequentially reaches each calibration pose.

[0058] In this embodiment, in order to perform calibration, the surgical robot is controlled to move, and stops after moving a certain distance or rotating an angle, so that the pose of the surgical robot is fixed and the pose of the robot when it stops is the calibration pose.

[0059] In this embodiment, the calibration pose includes an initial pose, a first translation pose, a second translation pose, and at least two rotation poses.

[0060] The initial pose is the default position the robot returns to when it is not working; this position is set by the program. For example, in the initial position, the flange of the surgical robot coincides with the origin of the polar coordinate system. The translational pose, on the other hand, is the pose formed after the robot performs simple translational movements. For example, after translating a certain distance along the X-axis, a first translational pose is obtained; then, after translating along the Y-axis, a second translational pose is obtained. It can be understood that the translational pose is obtained first, following the initial pose; the rotational pose is only acquired after the translation is completed.

[0061] At least two rotational poses are required, and these two rotational poses must be completely different. The rotational poses require the surgical robot to perform movements involving rotation, causing the surgical robot's pose to change due to rotation. At least two rotational poses are required, but the number of rotational poses can be increased appropriately for calibration accuracy.

[0062] Step S200: The surgical robot is photographed by a camera device to record the pose data of the surgical robot in each of the marked poses.

[0063] The imaging device can be a camera or other similar device used to film the surgical robot and obtain the coordinates of the marked points. This embodiment uses a camera as an example for illustration.

[0064] like Figure 2 As shown, this is the calibration scenario in this embodiment. In addition to the surgical robot 100 that needs to be calibrated, the calibration also includes a camera 200. The surgical robot 100 forms various poses by translation and rotation. The camera 200 obtains the spatial coordinates of the surgical robot by taking pictures of the marker points 110 on the surgical robot 100.

[0065] The pose data includes translation vectors and rotational changes. This pose data can be represented in the form of a matrix, which can show the posture of the surgical robot in different coordinate systems.

[0066] For ease of explanation, the following definitions are used in this embodiment: the base coordinate system of the surgical robot is denoted as F. base The flange coordinate system is denoted as F. flange The reference coordinate system is denoted as F. endRF The camera coordinate system is denoted as F. camera F base To F flange The rotational change is denoted as R. bi The translation vector is denoted as t. bi F camera To F endRFThe rotational change is denoted as R. ci The translation vector is denoted as t. ci The two pairs of rotational and translational vectors mentioned above can be obtained directly through camera capture or from the motion system of the surgical robot. Once the pose of the surgical robot is determined, the rotational and translational vectors mentioned above are known quantities.

[0067] When the surgical robot is in any calibrated pose, F can be obtained by taking pictures with a camera. camera To F endRF Translation vector t ci Because camera 200 directly photographed marker point 110, therefore t ci These can be directly obtained. The subscript 'i' in the translation vector and rotation matrix above represents the pose number. The number can be generated according to the recording order of the poses; for example, if the initial pose is recorded first, then the obtained translation vector would be 't'. c0 Then, for the first translation pose and the second translation pose, i increases to 1 and 2 respectively. The index i of the rotation poses recorded afterward also increases in this way. For example, if there are two more rotation poses, i is equal to 3 and 4 respectively. If there are more rotation poses, i increases to 5, 6, 7, etc.

[0068] When the surgical robot is in a rotational pose, in addition to the translation vector mentioned above, it will also acquire F. base To F flange Rotational changes R bi Translation vector t bi .

[0069] In other words, in the first and second translation poses mentioned above, only F is recorded. camera To F endRF Translation vector t ci For rotational poses, F will also be recorded additionally. base To F flange rotation matrix R bi Translation vector t bi .

[0070] It is understandable that the rotation matrices and translation vectors obtained above are all real-time measurements and do not require the design values ​​of the robotic arm to be involved, thus avoiding subsequent calculation errors caused by errors in the design values. The aforementioned design values ​​refer to the size parameters of various components at different positions when designing the surgical robot. Examples include the length of the robotic arm or the coordinate positions of marker points on the robot.

[0071] In this embodiment, after obtaining the pose data of the initial pose and two translation poses, the pose data of the four rotation poses will be used as an example for explanation. Then, including the initial pose and the two translation poses, a total of 7 pose data will be obtained.

[0072] Step S300: Calculate the first rotation matrix from the base coordinate system to the camera coordinate system based on the initial pose, the first translation pose, and the second translation pose.

[0073] The first rotation matrix from the base coordinate system to the camera coordinate system can be calculated using the initial pose, the first translation pose, and the second translation pose. The specific calculation process is as follows.

[0074] First, a first vector is obtained based on the first translation pose and the initial pose, and a second vector is obtained based on the second translation pose and the initial position.

[0075] The expressions for the first vector and the second vector are:

[0076] s1=t c1 -t c0 ;

[0077] s2=t c2 -t c0 ;

[0078] In the formula, s1 is the first vector, s2 is the second vector, and t c0 The pose data of the initial pose (i.e., F) camera To F endRF (translation vector), t c1 For the pose data of the first translation pose, t c2 This refers to the pose data for the second translation pose.

[0079] Based on the first and second vectors shown, the coordinate values ​​(x', y', z') of the coordinate system vector (x, y, z) of the base coordinate system in the camera coordinate system are calculated.

[0080] It is understandable that the first and second vectors mentioned above reflect the relative positional relationship between the surgical robot and its initial position after two translations. Since the entire process is a translation operation without any rotation transformation, this data can be used to obtain the first rotation matrix R from the base coordinate system to the camera coordinate system.

[0081] Where (x', y', z') is calculated as follows:

[0082]

[0083] It can be understood that each of the above x', y', and z' can be represented in vector form, that is:

[0084]

[0085] Based on the transformation relationships between spatial coordinate systems, the first rotation matrix R = (x', y', z'), that is:

[0086] Multiplying the spatial coordinates of the base coordinate system by R on the left can verify the first rotation matrix.

[0087] Step S400: Based on the first rotation matrix and the at least two rotation poses, calculate the first translation matrix from the base coordinate system to the camera coordinate system, and the second rotation matrix and second translation matrix from the flange coordinate system of the surgical robot to the reference coordinate system of the surgical robot.

[0088] Having obtained the first rotation matrix, we can use it to further obtain the first translation matrix t and the second rotation matrix R that need to be solved next. e Second translation matrix t e .

[0089] like Figure 3 As shown, F base F flange F endRF F cmnera The coordinate system transformation relationship between the two systems is closed-loop, and based on this closed-loop transformation relationship, the corresponding transformation equation can be obtained:

[0090] [R bi , t bi ]·[R e , t e ] = [R, t] -1 ·[R ci , t ci After simplifying the equation, we get:

[0091] R bi R e =R -1 R ci ……(1),

[0092] R bi t e +t bi =R -1 t ci -R -1 t……(2)

[0093] From equation (2), we can obtain: R bi t e +R-1 t = R -1 t ci -t bi ……(3)

[0094] The first rotation matrix R has already been obtained in step S300, so the only unknown quantity left is the translation vector t. e With t.

[0095] remember:

[0096] t m =R -1 t,

[0097] t i =R - 1t ci -t bi

[0098] Then (3) becomes

[0099] R bi t e +t m =t i ……(4)

[0100] t m Because it contains an unknown quantity t, t m It is itself an unknown constant. t i In each rotation pose, t ci and t bi Since it is known, it can be directly calculated by inputting the pose data of the rotation pose, and R bi These are known quantities in each rotation pose.

[0101] When the subscript i corresponding to the four rotation poses takes values ​​in the range of 3, 4, 5, and 6, then the above t can be... m t i R bi and t e It can be expressed in the following form:

[0102]

[0103] t in the formula ex t ey t ez Flange coordinate system F flange Below, the reference coordinate system F at the end of the robotic arm endRF The coordinates of the origin, t mx t my t mz t ix t iy t izThese are vector values ​​corresponding to the variables, used as formal parameters for the subsequent least squares method. R bi The values ​​in the matrix are known values ​​obtained from the control parameters of the surgical robot at the corresponding rotation pose.

[0104] Then equation (4) can be transformed into

[0105]

[0106] The above formula is equivalent to:

[0107]

[0108] Substituting the pose data of the rotation pose into it, we get:

[0109]

[0110] Let A be the first matrix on the left side of the above equation, x be the second column vector on the left side, and b be the column vector on the right side. Then the equation can be written as Ax = b. Using the least squares method, we can obtain the solution for x as: x = (A... T A) -1 A T b.

[0111] It should be noted that the premise for x to have a solution is that A is a full-rank column matrix. Since A contains data for 4 poses, the number of rows in A exceeds the number of columns. As long as the rotation matrices of any two poses are not equal, A can satisfy the full-rank column matrix. Therefore, as long as we ensure that at least two rotation poses are different, we can guarantee that x has a solution.

[0112] Therefore, the second translation vector t e and t m The value has been solved as:

[0113]

[0114] In the formula, x(0), x(1), x(2), x(3), x(4), and x(5) represent t respectively. ex t 。y t ez ,tmx,t my t mz .

[0115] And because of t m =R -1 t Therefore, the first translation vector t can also be calculated:

[0116] t = Rt m .

[0117] Having obtained the above solution, we can then solve any set of R... bi R ci Substituting the data into equation (1) yields Re. Its calculation expression is as follows:

[0118]

[0119] In this embodiment, there are four rotation poses, so the value of i is 3, 4, 5, or 6. If there are only two rotation poses, the value of i is 3 or 4. If there are more, the values ​​are increased accordingly.

[0120] As can be seen from the above calculation process, the entire process of robotic arm calibration did not use the design values, and the accuracy of the rotation matrix and translation vector obtained by calibration is higher than that obtained by using the design values ​​in the calculation.

[0121] The first rotation matrix R, the first translation vector t, and the second rotation matrix R are obtained as described above. e The second translation vector t e After that, it's equivalent to obtaining F. camera To F base The transformation matrix, and F flange To F endRF The transformation matrix, and F flange To F endRF The transformation matrices are used to complete the calibration. Based on these two transformation matrices, during actual operation, by capturing images of marker points on the surgical robot with a camera, these marker points can be converted into coordinate points of the surgical robot's end flange, thus enabling tracking of the surgical robot's end effector.

[0122] The target method in this embodiment obtains the required data by designing a specific surgical robot movement mode, and then calculates the first rotation matrix R, the first translation vector t, and the second rotation matrix R0 respectively. e The second translation vector t e This allows for the solution of two unknown transformation matrices, thus completing the calibration. The entire calibration process does not require the robot arm's design values; it only needs the data captured by the optical camera during calibration and the robot's motion parameters to calculate the four quantities mentioned above. This avoids the error between the design and actual values ​​and increases the accuracy of the calibration results.

[0123] Example 2

[0124] like Figure 4 As shown, this application also provides a surgical robot calibration device, comprising:

[0125] The control module 10 is used to control the surgical robot to move along a preset calibration route, so that the surgical robot sequentially reaches each calibration pose; the calibration pose includes an initial pose, a first translation pose, a second translation pose, and at least two rotation poses;

[0126] The acquisition module 20 is used to capture images of the marker points on the surgical robot using a camera device and record the pose data of the surgical robot in each of the marker poses;

[0127] The first calculation module 30 is used to calculate the first rotation matrix from the base coordinate system of the surgical robot to the camera coordinate system of the camera device based on the initial pose, the first translation pose, and the second translation pose.

[0128] The second calculation module 40 is used to calculate, based on the first rotation matrix and the at least two rotation poses, a first translation matrix from the base coordinate system to the camera coordinate system, and a second rotation matrix and a second translation matrix from the flange coordinate system of the surgical robot to the reference coordinate system of the surgical robot.

[0129] This application also provides a surgical robotic arm, including a processor and a memory, wherein the memory stores a computer program, and the computer program executes the surgical robot calibration method when it is run on the processor.

[0130] This application also provides a readable storage medium storing a computer program that executes the surgical robot calibration method when run on a processor.

[0131] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that, as an alternative implementation, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0132] In addition, the functional modules or units in the various embodiments of the present invention can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

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

[0134] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.

Claims

1. A surgical robot calibration method characterized by, include: The surgical robot is controlled to move along a preset calibration route, so that the surgical robot sequentially reaches each calibration pose; The calibration pose includes an initial pose, a first translation pose, a second translation pose, and at least two rotation poses; The surgical robot's pose data is recorded by capturing images of the marker points on the surgical robot at each of the marker poses using a camera device. Based on the initial pose, the first translation pose, and the second translation pose, calculate the first rotation matrix from the base coordinate system of the surgical robot to the camera coordinate system of the camera device; Based on the first rotation matrix and the at least two rotation poses, calculate the first translation matrix from the base coordinate system to the camera coordinate system, and the second rotation matrix and second translation matrix from the flange coordinate system of the surgical robot to the reference coordinate system of the surgical robot; The step of calculating the first rotation matrix from the base coordinate system to the camera coordinate system based on the initial pose, the first translation pose, and the second translation pose includes: A first vector is obtained based on the first translation pose and the initial pose, and a second vector is obtained based on the second translation pose and the initial pose. Based on the first vector and the second vector, the coordinate values ​​of the coordinate system vector (x, y, z) of the base coordinate system in the camera coordinate system are calculated, thereby determining the first rotation matrix; The expressions for the first vector and the second vector are: s1= t c1 - t c0 ; s2= t c2 - t c0 ; wherein s1 is the first vector, s2 is the second vector, t c0 is pose data for the initial pose, t c1 is pose data for the first translational pose, t c2 is pose data for the second translational pose; The expression for calculating the coordinate values ​​of the coordinate system vector of the flange coordinate system in the camera coordinate system is as follows: ; The expression for the first rotation matrix is: R = (x', y', z').

2. The surgical robot calibration method of claim 1, wherein, The controlled surgical robot moves along a preset calibration route, causing the surgical robot to sequentially reach each calibration pose, including: Control the surgical robot to translate along the X-axis of the base coordinate system to the first translation pose; Control the surgical robot to translate along the Y-axis of the base coordinate system to the second translation pose; The surgical robot is controlled to perform at least two rotational movements in sequence, thereby enabling the surgical robot to form the at least two rotational poses.

3. The surgical robot calibration method of claim 1, wherein, The step of capturing images of marker points on the surgical robot using a camera device and recording the pose data of the surgical robot at each of the marker poses includes: When the surgical robot is in the calibrated pose, the camera device captures the calibrated points on the surgical robot to obtain the translation vector from the camera coordinate system to the reference coordinate system. When the surgical robot is in the rotational pose, the rotational change and translation vector from the base coordinate system to the flange coordinate system are also obtained through the control parameters of the surgical robot.

4. The surgical robot calibration method of claim 1, wherein, The calculation of the first translation matrix and the second translation matrix includes: Transformation equations are established based on the transformation relationships between the base coordinate system, the camera coordinate system, the reference coordinate system, and the flange coordinate system; Substitute each rotation pose into the transformation equation to solve for the first translation matrix and the second translation matrix.

5. The surgical robot calibration method according to claim 4, characterized in that, The calculation of the second rotation matrix includes: After calculating the first translation matrix and the second translation matrix, the second rotation matrix is ​​calculated based on the transformation equation and the pose data of any target pose.

6. A surgical robot calibration device, characterized by include: The control module is used to control the surgical robot to move along a preset calibration route, so that the surgical robot sequentially reaches each calibration pose; The calibration pose includes an initial pose, a first translation pose, a second translation pose, and at least two rotation poses; The acquisition module is used to capture images of the marker points on the surgical robot using a camera device and record the pose data of the surgical robot in each of the marker poses. The first calculation module is used to calculate the first rotation matrix from the base coordinate system of the surgical robot to the camera coordinate system of the camera device based on the initial pose, the first translation pose, and the second translation pose. The second calculation module is used to calculate, based on the first rotation matrix and the at least two rotation poses, a first translation matrix from the base coordinate system to the camera coordinate system, and a second rotation matrix and a second translation matrix from the flange coordinate system of the surgical robot to the reference coordinate system of the surgical robot; The step of calculating the first rotation matrix from the base coordinate system to the camera coordinate system based on the initial pose, the first translation pose, and the second translation pose includes: A first vector is obtained based on the first translation pose and the initial pose, and a second vector is obtained based on the second translation pose and the initial pose. Based on the first vector and the second vector, the coordinate values ​​of the coordinate system vector (x, y, z) of the base coordinate system in the camera coordinate system are calculated, thereby determining the first rotation matrix; The expressions for the first vector and the second vector are: s1= t c1 - t c0 ; s2= t c2 - t c0 ; In the formula, s1 is the first vector, s2 is the second vector, and t c0 The pose data for the initial pose, t c1 For the pose data of the first translation pose, t c2 This refers to the pose data for the second translation pose; The expression for calculating the coordinate values ​​of the coordinate system vector of the flange coordinate system in the camera coordinate system is as follows: ; The expression for the first rotation matrix is: R = (x', y', z').

7. A surgical robotic arm, characterized by, It includes a processor and a memory, the memory storing a computer program that, when executed on the processor, performs the surgical robot calibration method according to any one of claims 1 to 5.

8. A readable storage medium, characterized by, It stores a computer program that, when run on a processor, executes the surgical robot calibration method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Hand-eye calibration method, robot, medium and electronic equipment

    CN113664836A