A robot registration method, device, system and storage medium

By setting verification points and establishing a local coordinate system on the robotic arm flange, and combining optical probes and positioning cameras, the transformation matrix of multiple coordinate systems was calculated, which solved the problem of registration between the optical reference array coordinate system and the TCP coordinate system at the end of the robotic arm, improved the surgical positioning accuracy and reduced the dependence on the motion space.

CN116509546BActive Publication Date: 2026-04-24LANCET ROBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LANCET ROBOTICS CO LTD
Filing Date
2023-04-07
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

In the operating room, the movement space of the robotic arm is limited, and existing technology makes it difficult to effectively align the transformation relationship between the optical reference array coordinate system at the end of the robotic arm and the TCP coordinate system at the end of the robotic arm, which affects the accuracy of surgical positioning.

Method used

By setting three verification points on the flange of the robotic arm, a local coordinate system is established, and the transformation matrices of multiple coordinate systems are collected by optical probes and positioning cameras. The transformation matrix from the base coordinate system to the base end reference array is calculated to form a closed-loop registration system, reducing the dependence on the free movement space of the robotic arm.

Benefits of technology

This enables registration to be completed without moving the robotic arm, improving the positioning accuracy of the robotic arm and reducing its dependence on the motion space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116509546B_ABST
    Figure CN116509546B_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of mechanical arm control, and particularly provides a mechanical arm registration method, device, system and storage medium, the method is applied to the controller in the mechanical arm registration system, the controller is connected with the mechanical arm, the free end of the mechanical arm is connected with the flange, the flange is connected with the connecting block, three verification points are arranged on the connecting block, the connecting line of the three verification points is in triangular structure, the verification points are matched with the optical probe tip; the optical probe tip is defined with a probe coordinate system, the probe coordinate system can be recognized by a positioning camera, and one side of the end of the mechanical arm is provided with a mechanical arm end reference array which can be recognized by the positioning camera. The three verification points arranged on the connecting block are matched with the optical probe to collect the position of the verification point, the conversion matrix under multiple coordinate systems is transformed, so that the mechanical arm registration can be completed when the mechanical arm maintains the same pose, and the dependence of the mechanical arm registration on the free space is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotic arm control technology, and in particular to a robotic arm registration method, apparatus, system 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 an optical reference array mounted at the end effector of the robotic arm. By transforming the coordinate system of the optical reference array with the TCP coordinate system of the robotic arm's end effector, the actual spatial pose of the end effector is obtained, thereby guiding the robotic arm to the planned target pose.

[0003] The pose of the robotic arm's end effector TCP relative to the robotic arm base coordinate system can be directly obtained from the robotic arm's control system. However, the transformation relationship between the robotic arm's end effector optical reference array coordinate system and the robotic arm's end effector TCP coordinate system needs to be obtained through registration. The correctness of the registration result directly affects the positioning accuracy of the robotic arm-assisted surgery.

[0004] However, in related technologies, in order to calibrate the transformation relationship between the optical reference array coordinate system and the TCP coordinate system at the end of the robotic arm, the solution adopted is to control the end of the robotic arm to move the reference array to several postures, and collect the pose of the optical reference array under the positioning camera and the pose of the TCP at the end of the robotic arm under the robotic arm base. However, in the actual operating room scenario, the movement space of the robotic arm is very limited, and the above-mentioned calibration method is inconvenient to implement. Summary of the Invention

[0005] In view of this, the purpose of the present invention is to provide a robotic arm registration method, apparatus, system and storage medium.

[0006] In a first aspect, embodiments of the present invention provide a robotic arm registration method, applied to a controller within a robotic arm registration system. The controller is connected to the robotic arm, the free end of which is connected to a flange, which is connected to a connecting block. The connecting block has three verification points, the lines connecting the three verification points forming a triangular structure, and the verification points are adapted to the tip of an optical probe. The optical probe tip defines a probe coordinate system, which can be recognized by a positioning camera. A flange coordinate system is defined on the flange. A robotic arm end-effector reference array, which can be recognized by the positioning camera, is installed on one side of the end of the robotic arm. The fixed end of the robotic arm is mounted on a base, on which a base coordinate system is defined. A base end-effector reference array is provided on one side of the base. The base coordinate system and the base end-effector reference array can be recognized by the positioning camera, which is connected to the controller. The method includes:

[0007] A local coordinate system is established based on three verification points. For each verification point, the design value of the verification point in the flange coordinate system is obtained. The transformation matrix from the flange coordinate system to the local coordinate system is calculated based on the design value. For each verification point, the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end-effector reference array are collected when the optical probe is at the verification point in the field of view of the positioning camera. Based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end-effector reference array, the transformation matrix from the robotic arm end-effector reference array to the flange coordinate system is calculated. The transformation matrix from the positioning camera coordinate system to the base end-effector reference array and the transformation matrix from the base coordinate system to the flange coordinate system are collected. Based on the transformation matrix from the positioning camera coordinate system to the base end-effector reference array, the transformation matrix from the positioning camera coordinate system to the robotic arm end-effector reference array, the transformation matrix from the base coordinate system to the flange coordinate system, and the transformation matrix from the robotic arm end-effector reference array to the flange coordinate system, the transformation matrix from the base coordinate system to the base end-effector reference array is calculated to complete the registration of the robotic arm.

[0008] In conjunction with the first aspect, the step of establishing a local coordinate system based on the three verification points includes: establishing a local coordinate system with the first verification point as the origin of the coordinate system, the direction vector of the line connecting the first verification point and the second verification point as the x-axis, and the cross product of the x-axis direction vector with the direction vector of the line connecting the first verification point and the third verification point as the z-axis.

[0009] In conjunction with the first aspect, the step of calculating the transformation matrix from the flange coordinate system to the local coordinate system based on the design value includes: for each coordinate axis of the local coordinate system, determining a first expression for the direction vector of the coordinate axis in the flange coordinate system based on the design value; and calculating the transformation matrix from the flange coordinate system to the local coordinate system according to the first expression.

[0010] In conjunction with the first aspect, the step of determining the first expression of the direction vector of each coordinate axis in the local coordinate system under the flange coordinate system, based on the design values, includes: determining the expression of the direction vector of each coordinate axis in the flange coordinate system according to the following formula:

[0011]

[0012]

[0013]

[0014] Where a1 is the first design value of the first verification point in the flange coordinate system, a2 is the second design value of the second verification point in the flange coordinate system, and a3 is the third design value of the third verification point in the flange coordinate system. The x-axis is the direction vector of the local coordinate system. y is the direction vector of the local coordinate system's y-axis; Let z be the direction vector of the z-axis in the local coordinate system.

[0015] In conjunction with the first aspect, the steps of calculating the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end-effector reference array to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end-effector reference array include: calculating the transformation matrix from the robotic arm end-effector to the probe coordinate system based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end-effector reference array; for each verification point, determining the point coordinates of the verification point under the robotic arm end-effector reference array based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end-effector reference array; for each coordinate axis in the local coordinate system, calculating a second expression for the direction vector of the coordinate axis under the robotic arm end-effector reference array based on the point coordinates; and determining the transformation matrix from the robotic arm end-effector reference array to the local coordinate system based on the second expression.

[0016] In conjunction with the first aspect, the second expression for calculating the direction vector of the coordinate axis under the reference array at the end effector of the robotic arm based on the point coordinates includes:

[0017]

[0018]

[0019]

[0020] Where b1 is the coordinate of the first verification point under the reference array at the end of the robotic arm, b2 is the coordinate of the second verification point under the reference array at the end of the robotic arm, and b3 is the coordinate of the third verification point under the reference array at the end of the robotic arm. This is the second expression for the direction vector of the x-axis in the local coordinate system under the reference array at the end of the robotic arm. This is the second expression for the direction vector of the y-axis in the local coordinate system under the reference array at the end of the robotic arm. This is the second expression for the direction vector of the z-axis in the local coordinate system under the reference array at the end of the robotic arm.

[0021] In conjunction with the first aspect, the steps for calculating the transformation matrix from the base coordinate system to the base end reference array, based on the transformation matrices from the positioning camera coordinate system to the base end reference array, the positioning camera coordinate system to the robotic arm end reference array, the base coordinate system to the flange coordinate system, and the robotic arm end reference array to the flange coordinate system, include:

[0022] T baseRFToBase =(TcameraToBaseRF ) -1 ×T cameraToRobotEndRF ×T robotEndRFToFlange ×(T baseToFlange ) -1 ;

[0023] Among them, T baseRFtoBase T is the transformation matrix from the reference array at the base end to the base. cameraToBaseRF The transformation matrix T is used to locate the camera coordinate system to the reference array at the end of the base. robotEndRFToFlange T is the transformation matrix from the robotic arm end effector reference array to the flange coordinate system. cameratoRobotEndRF The transformation matrix T is used to locate the camera coordinate system to the reference array at the end of the robotic arm. baseToFlange This is the transformation matrix from the base coordinate system to the flange coordinate system.

[0024] Secondly, this application provides a robotic arm registration device, applied to a controller within a robotic arm registration system. The controller is connected to the robotic arm, and a flange is connected to the free end of the robotic arm. The flange is connected to a connecting block, and the connecting block has three verification points. The lines connecting the three verification points form a triangular structure, and the verification points are adapted to the tip of an optical probe. The tip of the optical probe defines a probe coordinate system, which can be recognized by a positioning camera. A flange coordinate system is defined on the flange. A robotic arm end reference array, which can be recognized by the positioning camera, is installed at the end of the robotic arm. The fixed end of the robotic arm is mounted on a base, and a base coordinate system is defined on the base. A base end reference array is provided on one side of the base. The base coordinate system and the base end reference array can be recognized by the positioning camera, which is connected to the controller. The device includes:

[0025] The coordinate system establishment module is used to establish a local coordinate system based on the three verification points.

[0026] The design value acquisition module is used to acquire the design value of each verification point in the flange coordinate system.

[0027] The first calculation module is used to calculate the transformation matrix from the flange coordinate system to the local coordinate system based on the design values;

[0028] The first acquisition module is used to acquire, for each verification point, the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array when the optical probe is at the verification point in the field of view of the positioning camera.

[0029] The second calculation module is used to calculate the transformation matrix from the end-of-arm reference array to the flange coordinate system based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the end-of-arm reference array.

[0030] The second acquisition module is used to acquire the transformation matrix from the positioning camera coordinate system to the base end reference array and the transformation matrix from the base coordinate system to the flange coordinate system;

[0031] The registration calculation module is used to calculate the transformation matrix from the base coordinate system to the base end reference array based on the transformation matrix from the positioning camera coordinate system to the base end reference array, the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array, the transformation matrix from the base coordinate system to the flange coordinate system, and the transformation matrix from the robotic arm end reference array to the flange coordinate system, so as to complete the registration of the robotic arm.

[0032] A third aspect of this application provides a robotic arm registration system, including the aforementioned apparatus.

[0033] A fourth aspect of this application provides a storage medium storing a computer-readable program, which a processor executes to implement the above-described method.

[0034] The embodiments of the present invention bring the following beneficial effects: The present invention provides a robotic arm registration method, which sets three verification points on the connecting block, and uses an optical probe to collect the position of the verification points. By transforming the transformation matrix in multiple coordinate systems, the robotic arm can be registered while maintaining the same pose, thus reducing the dependence of robotic arm registration on free movement space.

[0035] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained in accordance with the structures particularly pointed out in the description, claims and drawings.

[0036] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0037] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0038] Figure 1 This is a schematic diagram illustrating the connection relationship between the end effector of the robotic arm and the flange and connecting block in the robotic arm registration system provided in an embodiment of the present invention.

[0039] Figure 2 This is a schematic diagram of the probe coordinate system in the robotic arm registration system provided in an embodiment of the present invention;

[0040] Figure 3 This is a partial connection diagram of the robotic arm registration system provided in an embodiment of the present invention;

[0041] Figure 4 This is a schematic diagram of the connection of the robotic arm registration system provided in an embodiment of the present invention;

[0042] Figure 5 This is a flowchart of the robotic arm registration method provided in an embodiment of the present invention;

[0043] Figure 6 This is a schematic diagram of the robotic arm registration device provided in an embodiment of the present invention.

[0044] Figure label:

[0045] Robotic arm-100, flange-200, connecting block-300, robotic arm end reference array-400, verification point-500, positioning camera-600, base-700, base end reference array-800, coordinate system establishment module-10, design value acquisition module-20, first calculation module-30, first acquisition module-40, second calculation module-50, second acquisition module-60, and calculation registration module-70. Detailed Implementation

[0046] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0047] To facilitate understanding of this embodiment, the technical terms used in this application will be briefly introduced below.

[0048] Surgical robots have the advantages of high positioning accuracy and good repeatability, and are widely used in image-guided clinical surgery. The degree of registration of the robotic arms used to perform operations in a surgical robot determines the accuracy of the surgical operation.

[0049] The principle of surgical robot navigation and positioning is briefly described as follows: The positioning camera tracks the optical reference array mounted on the end effector of the robotic arm. By transforming the coordinate system of the optical reference array with the TCP coordinate system of the robotic arm's end effector, the actual spatial pose of the end effector is obtained, thereby guiding the robotic arm to move to the planned target pose. The pose of the TCP relative to the robotic arm base coordinate system can be directly obtained from the robotic arm's control system. However, the transformation relationship between the optical reference array coordinate system and the TCP coordinate system requires registration, and the accuracy of this registration directly affects the positioning accuracy of the robotic arm-assisted surgery.

[0050] After introducing the technical terms used in this application, the application scenarios and design concepts of the embodiments of this application will be briefly described below.

[0051] In related technologies, to align the transformation between the optical reference array coordinate system and the TCP coordinate system at the end effector of the robotic arm, a large class of methods currently requires the robotic arm's end effector to move the reference array to several poses, acquiring the poses of the optical reference array under the positioning camera and the TCP poses under the robotic arm's base in different poses. However, in actual operating room scenarios, the robotic arm's motion space is very limited, making the alignment methods in these technologies inconvenient to implement.

[0052] Based on this, embodiments of this application provide a robotic arm registration method, which is used in a controller within a robotic arm registration system, the controller being connected to the robotic arm. Combined with... Figures 1-4 As shown, the robotic arm registration system includes: robotic arm 100, flange 200, connecting block 300, robotic arm end reference array 400, verification point 500, positioning camera 600, base 700, and base end reference array 800.

[0053] The fixed end of the robotic arm 100 is mounted on the base 700, and the free end is connected to the flange 200. A robotic arm end effector reference array (F-array) that can be detected by the positioning camera 600 is mounted on one side of the robotic arm 100. robotEndRFThe robotic arm end effector reference array 400 is defined by reflective spheres on it. For example, the center of the first reflective sphere is taken as the origin of the robotic arm end effector reference array 400, the line connecting the second and third reflective spheres is the x-axis direction of the robotic arm end effector reference array 400, and the cross product of the x-axis direction vector with the line connecting the third and fourth reflective spheres is the z-axis direction vector of the robotic arm end effector reference array 400. The transformation matrix from the robotic arm end effector reference array to the flange coordinate system in robotic arm registration describes the spatial positional relationship between the reflective spheres on the robotic arm end effector reference array 400 and the flange. Because the robotic arm end effector reference array 400 itself is relatively large, there is a significant installation error when it is installed on the connecting block 300, and there is also an installation error when the reflective spheres are installed at the joint position of the robotic arm end effector reference array 400. Therefore, the transformation matrix from the robotic arm end effector reference array to the flange coordinate system in robotic arm registration needs to be obtained through mechanical registration, and cannot be directly obtained using the positional parameters of the reflective spheres and the flange from the design drawings.

[0054] like Figure 1 As shown, the robotic arm end effector reference array 400 is connected to the flange 200 via a connecting block 300, and the flange coordinate system (F) is defined on the flange. flange The flange coordinate system is determined by the fixing element (the fixing pin in this embodiment) and the end plane of the robotic arm. For example, the center point of the fixing element on the end plane of the robotic arm is the flange coordinate system F. flange The origin of the flange coordinate system is defined by the normal to the end face of the robotic arm, which is along the z-axis. The line connecting the first and second fixing members is along the x-axis. The connecting block 300 and the flange 200 are fixedly connected by a fixing member, which, as one feasible method, is a locating pin. Figure 1 As shown, the connecting block has three verification points, and the lines connecting the three verification points form a triangular structure. The coordinates of the three verification points in the flange coordinate system must be highly consistent with the data in the relevant drawings. Grooves are made at the three verification points, and the machining accuracy of the grooves is relatively easy to ensure.

[0055] Verification point 500 is adapted to the tip of the optical probe, and the tip of the optical probe is defined by the probe coordinate system F. probe (like Figure 2 As shown in the figure, the probe coordinate system can be recognized by the positioning camera 600.

[0056] Combination Figure 4 As shown, the fixed end of the robotic arm 100 is mounted on the base 700, and a base coordinate system F is defined on the base 700. base A base end reference array (F) is provided on one side of the base 700. baseRF 800, base coordinate system F base and base end reference array (F baseRF)800 can be recognized by positioning camera 600, and positioning camera 600 has a positioning camera coordinate system F defined on it. camera The positioning camera 600 is connected to the controller.

[0057] The controller includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program in the memory to implement the method provided in the embodiments of this application.

[0058] Example 1

[0059] Combination Figure 2 , Figure 5 As shown, the robotic arm registration method provided in this application includes the following steps:

[0060] S110, the processor establishes a local coordinate system based on three verification points.

[0061] As an implementable approach, in this embodiment, step S110, which involves establishing a local coordinate system based on three verification points 500, includes:

[0062] Establish a local coordinate system with the first verification point as the origin, the direction vector of the line connecting the first and second verification points as the X-axis, and the cross product of the X-axis direction vector with the direction vector of the line connecting the first and third verification points as the Z-axis.

[0063] Specifically, any one of the three verification points 500 is selected as the first verification point and used as the origin of the coordinate system. Then, any one of the remaining two verification points 500 is selected as the second verification point, and the direction vector of the line connecting the selected first and second verification points is used as the x-axis. Finally, the direction vector of the line connecting the first verification point and the unmarked third verification point is determined, and the cross product of this direction vector and the x-axis direction vector is calculated to obtain the z-axis, thus completing the establishment of the local coordinate system.

[0064] For example, the three verification points 500 on the connection block can be labeled as p1, p2, and p3. One possible implementation is to set p3 as the first verification point, p1 as the second verification point, and p2 as the third verification point. Another possible implementation is to set p2 as the first verification point, p1 as the second verification point, and p3 as the third verification point.

[0065] In this embodiment, p1 is the first verification point, p2 is the second verification point, and p3 is the third verification point. p1 is the origin of the coordinate system, the direction vector of the line connecting p1 and p2 is the X-axis, and the cross product of the X-axis direction vector and the direction vector of the line connecting p1 and p3 is the Z-axis, to establish a local coordinate system F. checkpoints .

[0066] S120: For each verification point, the processor obtains the design value of the verification point in the flange coordinate system.

[0067] In step S120, the processor collects the positions of the three verification points and obtains the value of each verification point in the flange coordinate system as the design value. Referring to the example in step S110, the design values ​​of verification points p1, p2, and p3 in the flange coordinate system are obtained as a1, a2, and a3, respectively.

[0068] S130, the processor calculates the transformation matrix from the flange coordinate system to the local coordinate system based on the design values.

[0069] In step S130, the first expression of the direction vector of each coordinate axis in the flange coordinate system is calculated using the design values, and the transformation matrix T from the flange coordinate system to the local coordinate system is calculated. flangeToCheckpoints .

[0070] S140, for each verification point, the processor acquires the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array when the optical probe is at the verification point in the field of view of the positioning camera.

[0071] Within the 600° field of view of the positioning camera, the probe coordinate system F probe The origin is located at the tip of the probe (e.g., Figure 4 As shown), in step S140, the tip of the optical probe is placed sequentially at three verification points (p1, p2, p3), and the transformation matrix T from the positioning camera coordinate system to the probe coordinate system is acquired when the optical probe is at each verification point under the 600-degree field of view of the positioning camera. cameraToProbe The transformation matrix T from the positioning camera coordinate system to the robotic arm's end effector reference array. cameraToRobotEndRF .

[0072] S150, the processor calculates the transformation matrix from the end-of-arm reference array to the flange coordinate system based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the end-of-arm reference array.

[0073] S160, the processor acquires the transformation matrix from the positioning camera coordinate system to the base end reference array and the transformation matrix from the base coordinate system to the flange coordinate system.

[0074] A closed-loop registration system is established, consisting of the base end-effector reference array 800, the base coordinate system, the flange reference system, the local reference system, the robotic arm end-effector reference array 400, the probe coordinate system, and the positioning camera coordinate system. The transformation matrix T from the positioning camera coordinate system to the base end-effector reference array is acquired under the field of view of the positioning camera 600. cameraToBaseRF Transformation matrix T from base coordinate system to flange coordinate system baseToFlange .

[0075] S170, the processor calculates the transformation matrix from the base coordinate system to the base end reference array based on the transformation matrix from the positioning camera coordinate system to the base end reference array, the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array, the transformation matrix from the base coordinate system to the flange coordinate system, and the transformation matrix from the robotic arm end reference array to the flange coordinate system, so as to complete the registration of the robotic arm.

[0076] Based on the closed-loop registration system established in step S160, solve for the unique unknown: the transformation matrix T from the base end reference array 800 to the base coordinate system. baseRFToBase Thus, the transformation matrix required for registration is obtained without the robotic arm making any movement, thereby enabling the robotic arm to perform registration.

[0077] As an feasible approach, the steps for calculating the transformation matrix from the flange coordinate system to the local coordinate system based on design values ​​include the following:

[0078] S131, for each coordinate axis of the local coordinate system, the processor determines a first expression for the direction vector of the coordinate axis in the flange coordinate system based on the design values.

[0079] In step S131, the expression for the direction vector of each coordinate axis in the flange coordinate system is determined according to the following formula:

[0080]

[0081]

[0082]

[0083] Where a1 is the first design value of the first verification point in the flange coordinate system, a2 is the second design value of the second verification point in the flange coordinate system, and a3 is the third design value of the third verification point in the flange coordinate system. The x-axis is the direction vector of the local coordinate system. y is the direction vector of the local coordinate system's y-axis; Let z be the direction vector of the z-axis in the local coordinate system.

[0084] S132, According to the first expression, the processor calculates the transformation matrix from the flange coordinate system to the local coordinate system.

[0085]

[0086] Among them, T flangeToCheckpoints is the transformation matrix from the flange coordinate system to the local coordinate system; [n] represents the nth element of a vector or point coordinate, such as a1[1] representing the first element of point coordinate a1.

[0087] In this embodiment, three verification points 500 are set on the connecting block. The positions of the verification points are collected with the optical probe. By transforming the transformation matrix in multiple coordinate systems, the registration of the robotic arm 100 can be completed while maintaining the same pose, which reduces the dependence of the robotic arm 100 registration on the free movement space.

[0088] As one feasible approach, step S150, which involves calculating the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end effector reference array to the probe coordinate system, and the transformation matrix from the positioning camera coordinate system to the robotic arm end effector reference array, includes:

[0089] S151, based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end effector reference array, calculate the transformation matrix from the robotic arm end effector to the probe coordinate system.

[0090] Calculate the transformation matrix (T) from the robotic arm's end effector to the probe coordinate system according to the formula. robotEndRFToProbe ):T robotEndRFToProbe =(T cameraToRobotEndRF ) -1 ×T cameraToProbe Among them, T cameraToRobotEndRF T is the transformation matrix from the acquired positioning camera coordinate system to the robotic arm end effector reference array 400; cameraToProbe This is the transformation matrix from the acquired positioning camera coordinate system to the probe coordinate system.

[0091] S152, for each verification point, the processor determines the point coordinates of the verification point under the robotic arm end reference array based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the positioning camera coordinate system to the robotic arm end reference array.

[0092] Specifically, when the optical probe tip is located at p1, the transformation matrix T from the positioning camera coordinate system to the probe coordinate system acquired by the positioning camera 600 is... cameraToProbe_1 The transformation matrix from the positioning camera coordinate system to the robotic arm's end effector reference array is T. cameraToRobotEndRF_1 Calculate the transformation matrix T from the robotic arm end effector reference array to the probe coordinate system using the above formula. robotEndRFToProbe_1 Then, the data from verification point 500 is substituted into the transformation matrix to calculate p1 at the reference array 400 (F) at the end of the robotic arm. robotEndRF) The coordinates of the point below are denoted as b1:

[0093]

[0094] Among them, T robotEndRFToProbe_1 (a, b) represents the element located in the a-th row and b-th column of the matrix; for example: T robotEndRFToProbe_1(1, 4) represents the element located in the 1st row and 4th column of the matrix.

[0095] Calculate p2 and p3 in F using the same method. robotEndRF The coordinates of the points below are b2 and b3.

[0096] S153, for each coordinate axis in the local coordinate system, calculate a second expression for the direction vector of the coordinate axis under the reference array at the end of the robotic arm based on the point coordinates.

[0097]

[0098]

[0099]

[0100] Wherein, b1 is the coordinate of the first verification point under column 400 of the reference array at the end of the robotic arm, b2 is the coordinate of the second verification point under column 400 of the reference array at the end of the robotic arm, and b3 is the coordinate of the third verification point under column 400 of the reference array at the end of the robotic arm. This is the second expression for the direction vector of the x-axis in the local coordinate system under the reference array 400 at the end of the robotic arm. This is the second expression for the direction vector of the y-axis in the local coordinate system under the reference array 400 at the end of the robotic arm. This is the second expression for the direction vector of the z-axis in the local coordinate system under the reference array 400 at the end of the robotic arm.

[0101] S154, based on the second expression, determine the transformation matrix from the robotic arm end effector reference array to the local coordinate system.

[0102] Based on the second expression obtained in step S153, the transformation matrix T from the robotic arm end effector reference array 400 to the local coordinate system is determined. robotEndRFToCheckpoints :

[0103]

[0104] Based on this, the closed-loop system formed by the robotic arm end-effector reference array 400, the local coordinate system, and the flange coordinate system has been fully established. The transformation array from the robotic arm end-effector reference array to the flange coordinate system is calculated using the following formula:

[0105] T robotEndRFtoFlange =T robotEndRFtoCheckpoints ·(T flangeToCheckpoints ) -1 ;

[0106] Among them, T robotEndRFToFlange This is a transformation array from the robotic arm end effector reference array to the flange coordinate system; T robotEndRFToCheckpointsT is the transformation matrix from the robotic arm end effector reference array to the local coordinate system calculated in step S153. flangeToCheckpoints This is the transformation matrix from the flange coordinate system to the local coordinate system calculated in step S132.

[0107] As an implementable method, the step of calculating the transformation matrix from the base coordinate system to the base end reference array, based on the transformation matrix from the positioning camera coordinate system to the base coordinate system, the transformation matrix from the base coordinate system to the flange coordinate system, and the transformation matrix from the robotic arm end reference array to the flange coordinate system, includes:

[0108] T baseRFToBase =(T cameratToBaseRF ) -1 ×T cameraToRobotEndRF ×T robotEndRFToFlange ×(T baseToFlange ) -1 ;

[0109] Among them, T baseRFToBase T is the transformation matrix from the base end reference array to the base coordinate system. cameraToBaseRF The transformation matrix T is used to locate the camera coordinate system to the reference array at the end of the base. robotEndRFToFlange T is the transformation matrix from the robotic arm end effector reference array to the flange coordinate system. cameraToBase To determine the transformation matrix from the camera coordinate system to the base coordinate system, T baseToFlange This is the transformation matrix from the base coordinate system to the flange coordinate system.

[0110] In the closed-loop registration system established in step S160, each known quantity is substituted into the formula to solve for the unique unknown quantity: the transformation matrix T from the base end reference array to the base coordinate system. baseRFToBase Thus, by calculating the transformation matrix T from the reference array at the base end to the base. baseRFToBase Thus, the transformation matrix required for registration is obtained without the robotic arm moving, so as to realize the registration of the robotic arm and reduce the dependence on free space during the mechanical registration process.

[0111] Secondly, this application provides a robotic arm registration device, applied to a controller within a robotic arm registration system. The controller is connected to a robotic arm 100. A flange 200 is connected to the free end of the robotic arm 100, and the flange 200 is connected to a connecting block 300. The connecting block 300 has three verification points 500, and the lines connecting the three verification points 500 form a triangular structure. The verification points 500 are adapted to the tips of optical probes. The tips of the optical probes define a probe coordinate system, which can be recognized by a positioning camera 600. A robotic arm end reference array 400, which can be recognized by the positioning camera 600, is installed at the end of the robotic arm 100 (in conjunction with...). Figure 3 As shown, the fixed end of the robotic arm 100 is set on the base 700. A base coordinate system is defined on the base 700. A base end reference array 800 is set on one side of the base 700. The base coordinate system and the base end reference array 800 can be recognized by the positioning camera 600. The positioning camera 600 is connected to the controller.

[0112] like Figure 6 As shown, the robotic arm registration device provided in this application embodiment includes: a coordinate system establishment module 10, a design value acquisition module 20, a first calculation module 30, a first acquisition module 40, a second calculation module 50, a second acquisition module 60, and a calculation registration module 70.

[0113] Coordinate system establishment module 10 is used to establish a local coordinate system based on three verification points;

[0114] The design value acquisition module 20 is used to acquire the design value of each verification point in the flange coordinate system.

[0115] The first calculation module 30 is used to calculate the transformation matrix from the flange coordinate system to the local coordinate system based on the design values;

[0116] The first acquisition module 40 is used to acquire, for each verification point, the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array when the optical probe is at the verification point under the field of view of the positioning camera.

[0117] The second calculation module 50 is used to calculate the transformation matrix from the end-of-arm reference array to the flange coordinate system based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the end-of-arm reference array.

[0118] The second acquisition module 60 is used to acquire the transformation matrix from the positioning camera coordinate system to the base end reference array and the transformation matrix from the base coordinate system to the flange coordinate system;

[0119] The registration calculation module 70 is used to calculate the transformation matrix from the base coordinate system to the base end reference array based on the transformation matrix from the positioning camera coordinate system to the base end reference array, the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array, the transformation matrix from the base coordinate system to the flange coordinate system, and the transformation matrix from the robotic arm end reference array to the flange coordinate system, so as to complete the registration of the robotic arm.

[0120] Thirdly, embodiments of this application provide a storage medium storing a computer-readable program, which a processor executes to implement the method described above.

[0121] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system and apparatus described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0122] Furthermore, in the description of the embodiments of the present invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in the present invention based on the specific circumstances.

[0123] If the aforementioned functions are implemented as software functional units 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, essentially, 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 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.

[0124] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.

[0125] Finally, it should be noted that the above embodiments are merely specific implementations of the present invention, used to illustrate the technical solutions of the present invention, and not to limit it. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed in the present invention, or make equivalent substitutions for some of the technical features; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A robotic arm registration method, characterized in that, A controller is used in a robotic arm registration system. The controller is connected to the robotic arm. A flange is connected to the free end of the robotic arm. The flange is connected to a connecting block. The connecting block has three verification points. The lines connecting the three verification points form a triangular structure. The verification points are adapted to the tip of an optical probe. The tip of the optical probe defines a probe coordinate system, which can be recognized by a positioning camera. A flange coordinate system is defined on the flange. A robotic arm end-effector reference array, which can be recognized by the positioning camera, is installed at the end of the robotic arm. The fixed end of the robotic arm is set on a base. A base coordinate system is defined on the base. A base end-effector reference array is set on one side of the base. The base coordinate system and the base end-effector reference array can be recognized by the positioning camera. The positioning camera is connected to the controller. The method includes: Establish a local coordinate system based on the three verification points; For each verification point, obtain the design value of the verification point in the flange coordinate system; Calculate the transformation matrix from the flange coordinate system to the local coordinate system based on the design values; For each verification point, the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array are collected when the optical probe is located at the verification point in the field of view of the positioning camera. Based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end effector reference array, calculate the transformation matrix from the robotic arm end effector reference array to the flange coordinate system. The transformation matrix from the positioning camera coordinate system to the base end reference array and the transformation matrix from the base coordinate system to the flange coordinate system are acquired. Based on the transformation matrix from the positioning camera coordinate system to the base end reference array, the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array, the transformation matrix from the base coordinate system to the flange coordinate system, and the transformation matrix from the robotic arm end reference array to the flange coordinate system, the transformation matrix from the base coordinate system to the base end reference array is calculated to complete the registration of the robotic arm.

2. The method according to claim 1, characterized in that, The step of establishing a local coordinate system based on the three verification points includes: Establish a local coordinate system with the first verification point as the origin, the direction vector of the line connecting the first and second verification points as the x-axis, and the cross product of the x-axis direction vector with the direction vector of the line connecting the first and third verification points as the z-axis.

3. The method according to claim 1, characterized in that, The step of calculating the transformation matrix from the flange coordinate system to the local coordinate system based on the design values ​​includes: For each coordinate axis of the local coordinate system, a first expression for the direction vector of the coordinate axis in the flange coordinate system is determined based on the design value; Calculate the transformation matrix from the flange coordinate system to the local coordinate system based on the first expression.

4. The method according to claim 3, characterized in that, Based on the design values, the step of determining the first expression of the direction vector of each coordinate axis in the local coordinate system under the flange coordinate system includes: Determine the expression for the direction vector of each coordinate axis in the flange coordinate system using the following formula: Where a1 is the first design value of the first verification point in the flange coordinate system, a2 is the second design value of the second verification point in the flange coordinate system, and a3 is the third design value of the third verification point in the flange coordinate system. Let x be the direction vector of the x-axis of the local coordinate system; Let y be the direction vector of the local coordinate system. Let z be the direction vector of the z-axis of the local coordinate system.

5. The method according to claim 1, characterized in that, The steps of calculating the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end-effector reference array to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end-effector reference array to the local coordinate system include: Based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end effector reference array, calculate the transformation matrix from the robotic arm end effector to the probe coordinate system. For each verification point, the point coordinates of the verification point under the robotic arm end-effector reference array are determined according to the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the positioning camera coordinate system to the robotic arm end-effector reference array. For each coordinate axis in the local coordinate system, a second expression for the direction vector of the coordinate axis under the reference array at the end of the robotic arm is calculated based on the point coordinates; Based on the second expression, the transformation matrix from the robotic arm end effector reference array to the local coordinate system is determined.

6. The method according to claim 5, characterized in that, The step of calculating a second expression for the direction vector of the coordinate axis under the reference array at the end of the robotic arm based on the point coordinates includes: Wherein, b1 is the coordinate of the first verification point under the reference array at the end of the robotic arm, b2 is the coordinate of the second verification point under the reference array at the end of the robotic arm, and b3 is the coordinate of the third verification point under the reference array at the end of the robotic arm. The direction vector of the x-axis of the local coordinate system is expressed as a second expression under the reference array at the end of the robotic arm. The direction vector of the y-axis of the local coordinate system is expressed as a second expression under the reference array at the end of the robotic arm. The direction vector of the z-axis of the local coordinate system is expressed as a second expression under the reference array at the end of the robotic arm.

7. The method according to claim 1, characterized in that, The step of calculating the transformation matrix from the base coordinate system to the base end reference array based on the transformation matrix from the positioning camera coordinate system to the base coordinate system, the transformation matrix from the base coordinate system to the flange coordinate system, and the transformation matrix from the robotic arm end reference array to the flange coordinate system includes: T baseRFToBase =(T cameraToBaseRF ) -1 ×T cameraToRobotEndRF ×T robotEndRFToFlange ×(T baseToFlange ) -1 ; Among them, T baseRFToBase T is the transformation matrix from the reference array at the base end to the base. cameraToBaseRF T is the transformation matrix from the positioning camera coordinate system to the base end reference array. robotEndRFToFlange T is the transformation matrix from the end effector reference array of the robotic arm to the flange coordinate system. cameraToRobotEndRF T is the transformation matrix from the positioning camera coordinate system to the robotic arm reference array. baseToFlange The transformation matrix from the base coordinate system to the flange coordinate system is given.

8. A robotic arm registration device, characterized in that, A controller is used in a robotic arm registration system. The controller is connected to the robotic arm. A flange is connected to the free end of the robotic arm. The flange is connected to a connecting block. The connecting block has three verification points. The lines connecting the three verification points form a triangular structure. The verification points are adapted to the tip of an optical probe. The tip of the optical probe defines a probe coordinate system, which can be recognized by a positioning camera. A flange coordinate system is defined on the flange. The end of the robotic arm is equipped with a robotic arm end-effector reference array that can be recognized by the positioning camera. The fixed end of the robotic arm is set on a base. A base coordinate system is defined on the base. A base end-effector reference array is set on one side of the base. The base coordinate system and the base end-effector reference array can be recognized by the positioning camera. The positioning camera is connected to the controller. The device includes: The coordinate system establishment module is used to establish a local coordinate system based on the three verification points. The design value acquisition module is used to acquire the design value of each verification point in the flange coordinate system for each verification point. The first calculation module is used to calculate the transformation matrix from the flange coordinate system to the local coordinate system based on the design values; The first acquisition module is used to acquire, for each verification point, the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array when the optical probe is at the verification point under the field of view of the positioning camera. The second calculation module is used to calculate the transformation matrix from the robotic arm end reference array to the flange coordinate system based on the transformation matrix from the positioning camera coordinate system to the probe coordinate system and the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array. The second acquisition module is used to acquire the transformation matrix from the positioning camera coordinate system to the base end reference array and the transformation matrix from the base coordinate system to the flange coordinate system; The registration calculation module is used to calculate the transformation matrix from the base coordinate system to the base end reference array based on the transformation matrix from the positioning camera coordinate system to the base end reference array, the transformation matrix from the positioning camera coordinate system to the robotic arm end reference array, the transformation matrix from the base coordinate system to the flange coordinate system, and the transformation matrix from the robotic arm end reference array to the flange coordinate system, so as to complete the registration of the robotic arm.

9. A robotic arm registration system, characterized in that, Includes the apparatus as described in claim 8.

10. A storage medium, characterized in that, The storage medium stores a computer-readable program, which the processor executes to implement the method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Robot calibration method and system based on VTK feature point transformation and storage medium

    CN115431278A

  • Method for calibrating position of surgical navigation reference mark point

    CN115568945A