A knee replacement surgery auxiliary positioning method, electronic equipment and storage medium

By calculating the distance, angle, and serration direction between the robotic arm's end effector and the surgical planning plane, the robotic arm's pose is adjusted, solving the problem of limited applicability of existing positioning methods. This achieves precise positioning in any pose, improving the safety and success rate of knee replacement surgery.

CN116687560BActive Publication Date: 2026-05-19BEIJING TINAVI MEDICAL TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING TINAVI MEDICAL TECH
Filing Date
2023-06-06
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

The positioning methods used in existing knee replacement surgery are limited in their applicability and can only meet the positioning of surgical entry points under specific postures of medical robots. They cannot guarantee that the surgeon will always be within the pre-planned surgical plane during the osteotomy process.

Method used

By calculating the distance, angle, and sawtooth direction of the surgical tool at the end of the robotic arm to the surgical planning plane, the accuracy of the robotic arm's pose is determined. If the conditions are not met, the pose is adjusted to ensure that the surgical tool at the end of the robotic arm arrives at, is parallel to, and that the sawtooth is oriented toward the surgical planning plane, thus achieving assisted positioning in any pose.

Benefits of technology

This ensures that the surgeon remains within the pre-planned surgical plane during the osteotomy process, improving the safety and reliability of the surgery and expanding the applicable scenarios for the positioning method.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116687560B_ABST
    Figure CN116687560B_ABST
Patent Text Reader

Abstract

The application discloses a knee joint replacement surgery auxiliary positioning method, electronic equipment and a storage medium. The method calculates the distance between the end tool of the mechanical arm and the surgery planning plane, the first included angle between the end tool plane of the mechanical arm and the surgery planning plane, and the second included angle between the sawtooth of the end tool of the mechanical arm and the cutting direction of the surgery planning plane at the current time, respectively. When the end tool of the mechanical arm reaches the surgery planning plane, the end tool plane of the mechanical arm is parallel to the surgery planning plane, and the sawtooth of the end tool of the mechanical arm is directed to the cutting direction of the surgery planning plane, it is determined that the positioning of the mechanical arm at the current time is accurate, the movement of the mechanical arm is controlled to stop, and when the condition is not met, the pose of the mechanical arm at the next time is calculated, the movement of the mechanical arm is controlled according to the pose at the next time, the auxiliary positioning under any pose is realized, and the application scenarios are wider than those of the prior art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of artificial intelligence technology, specifically to an auxiliary positioning method, electronic device, and storage medium for knee replacement surgery. Background Technology

[0002] Robot-assisted orthopedic navigation systems often include optical tracking cameras and tracking elements. The tracking elements are mounted on surgical instruments and patients, and the optical tracking camera receives signals from the tracking elements to determine the positional relationship between the surgical instruments and patients.

[0003] In knee replacement surgery, it is typically necessary to remove the arthritic area of ​​the knee and cover it with a combination of plastic and metal parts. Robot-assisted orthopedic navigation systems use robotic arms to position and navigate surgical instruments. During knee replacement surgery, the robotic arm needs to be quickly positioned on the planned plane so that the surgeon can continue the procedure using the end effector.

[0004] An end effector is a tool installed at the end of a robotic arm to assist surgeons during operations. The end effector is sequentially connected to a six-dimensional force sensor, a robotic arm tracking element, a power tool, and a saw blade. The tracking element, power tool, and saw blade are collectively referred to as the end effector. Tracking elements are installed on both the patient and the end effector. These tracking elements are installed to ensure that the patient and the robotic arm are identifiable under an optical tracking camera (the optical tracking camera is mounted on an extendable control unit; the surgical planning and control software is housed in the control unit's industrial computer). The optical or infrared tracking element is used to detect the patient's emission and allow it to be identified by the optical tracking camera. In knee replacement surgery, after the power tool is activated, the saw blade swings left and right to cut the knee joint.

[0005] Related technologies have proposed a virtual wall-guided positioning system for knee replacement surgery. However, this technology only considers locating the specific surgical position based on the virtual wall. Since knee replacement surgery requires osteotomy on a planned plane, not at a specific location, the positioning method can only ensure the surgeon finds the surgical incision point, not that the surgeon remains within the pre-planned surgical plane throughout the osteotomy process. Furthermore, the technology only considers the robot's position, not its posture. Different robot postures can prevent the optical positioning system from locating the robot's end effector target, thus limiting the applicability of this positioning method to surgical incision point location only under specific robot postures. Summary of the Invention

[0006] The purpose of this invention is to overcome the above-mentioned technical deficiencies and provide an auxiliary positioning method, electronic device and storage medium for knee replacement surgery, so as to solve the technical problem that the positioning method in the related technology is limited to the applicable scenarios and can only meet the positioning of the surgical entry point under the specific posture of the medical robot.

[0007] To achieve the above-mentioned technical objectives, the present invention adopts the following technical solution:

[0008] According to a first aspect of the present invention, a method for assisting in positioning during knee replacement surgery is provided, comprising:

[0009] Calculate the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment, the first angle between the surgical tool plane and the surgical planning plane, and the second angle between the saw teeth of the surgical tool and the infeed direction of the surgical planning plane.

[0010] Based on the distance, determine whether the surgical tool at the end of the robotic arm has reached the surgical planning plane;

[0011] Based on the first included angle, determine whether the surgical tool plane at the end of the robotic arm is parallel to the surgical planning plane;

[0012] Based on the second included angle, determine whether the saw teeth of the surgical tool at the end of the robotic arm are oriented toward the infeed direction of the surgical planning plane;

[0013] If all three judgment conditions are met when executed sequentially, it is determined that the robot arm is accurately positioned at the current moment, the robot arm is controlled to stop moving, and the process ends. Otherwise, the pose of the robot arm at the next moment is calculated, the robot arm is controlled to move according to the pose at the next moment, and the process returns to the starting step.

[0014] According to a second aspect of the present invention, a method for assisting in positioning during knee replacement surgery is provided, comprising:

[0015] Step S1: Calculate the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment;

[0016] Step S2: Based on the distance, determine whether the surgical tool at the end of the robotic arm has reached the surgical planning plane. If yes, proceed to step S3; otherwise, calculate the pose of the robotic arm at the next moment, control the movement of the robotic arm based on the pose at the next moment, and return to step S1.

[0017] Step S3: Calculate the first angle between the surgical tool at the end of the robotic arm and the surgical planning plane;

[0018] Step S4: Based on the first included angle, determine whether the surgical tool at the end of the robotic arm is parallel to the surgical planning plane. If yes, proceed to step S5; otherwise, calculate the pose of the end of the robotic arm at the next moment, control the movement of the robotic arm based on the pose at the next moment, and return to step S1.

[0019] Step S5: Calculate the second angle between the saw teeth of the surgical tool at the end of the robotic arm and the infeed direction of the surgical planning plane;

[0020] Step S6: Based on the second included angle, determine whether the saw teeth of the surgical tool at the end of the robotic arm are facing the infeed direction of the surgical planning plane. If yes, determine that the robotic arm is accurately positioned at the current moment, control the robotic arm to stop moving, and the process ends; if no, calculate the pose of the robotic arm at the next moment, control the movement of the robotic arm based on the pose at the next moment, and return to step S1.

[0021] Preferably, step S1 includes:

[0022] Calculate the first pose matrix of the surgical planning plane in the robot arm base coordinate system at the current moment, and the second pose matrix of the surgical tool at the end of the robot arm in the robot arm base coordinate system at the current moment.

[0023] Calculate the distance from the origin of the coordinate system of the second pose matrix to the surgical planning plane, and determine the distance as the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment;

[0024] Wherein, the origin of the coordinate system of the second pose matrix is ​​the midpoint of the line connecting the edge points of the saw teeth of the end-of-arm saw blade; the cutting direction of the surgical planning plane is the Y-axis, the plane normal is the Z-axis away from the bone surface, and any point in the region formed by the intersection of the surgical planning plane and the patient's femur or tibia is the origin.

[0025] Preferably, the step of calculating the first pose matrix of the surgical planning plane in the robot arm base coordinate system and the second pose matrix of the surgical tool at the end of the robot arm in the robot arm base coordinate system includes:

[0026] Read the first sub-pose matrix and the second sub-pose matrix output by the optical tracking camera. The first sub-pose matrix is ​​the pose matrix of the robotic arm tracer element in the optical tracking camera coordinate system, and the second sub-pose matrix is ​​the pose matrix of the patient tracer element in the optical tracking camera coordinate system.

[0027] Calculate the pose matrix of the surgical planning plane in the patient tracer coordinate system, and denote it as the third sub-pose matrix;

[0028] The fourth and sixth sub-pose matrices, measured and output by a coordinate measuring machine, are read. The fourth sub-pose matrix is ​​the pose matrix of the surgical tool at the end of the robotic arm in the coordinate system of the robotic arm tracer element, and the sixth sub-pose matrix is ​​the pose matrix of the robotic arm tracer element in the coordinate system of the robotic arm end.

[0029] Read the pose matrix of the robotic arm end effector in the coordinate system of the robotic arm base, and record it as the fifth sub-pose matrix;

[0030] The first pose matrix is ​​determined by multiplying the inverse of the first sub-pose matrix, the second sub-pose matrix, the third sub-pose matrix, the fifth sub-pose matrix, and the sixth sub-pose matrix.

[0031] The product of the fourth, fifth, and sixth sub-pose matrices is used to determine the second pose matrix.

[0032] Preferably, in step S2, determining whether the surgical tool at the end of the robotic arm has reached the surgical planning plane based on the distance specifically involves:

[0033] If the distance is greater than or equal to the first threshold, it is determined that the surgical tool at the end of the robotic arm has not reached the surgical planning plane;

[0034] If the distance is less than the first threshold, it is determined that the surgical tool at the end of the robotic arm has reached the surgical planning plane.

[0035] Preferably, between step S1 and step S2, the following step is further included:

[0036] Step S01: Calculate the six-dimensional external force vector exerted by the operator on the six-dimensional force sensor;

[0037] Based on the six-dimensional external force vector and admittance control algorithm, calculate the linear velocity vector of the robotic arm at the next moment. and angular velocity vector

[0038] The calculation of the robot arm's pose at the next moment in step S2 is specifically as follows:

[0039] According to the linear velocity vector at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment.

[0040] Preferably, the first angle between the surgical tool at the end of the computational robotic arm and the surgical planning plane includes:

[0041] Calculate the angle between the unit vector of the Z-axis of the second pose matrix and the unit vector of the Z-axis of the first pose matrix at the current moment, and determine the angle as the first angle.

[0042] Preferably, in step S4, determining whether the surgical tool at the end of the robotic arm is parallel to the surgical planning plane based on the first included angle specifically involves:

[0043] If the absolute value of the first included angle is greater than or equal to the second threshold, it is determined that the surgical tool at the end of the robotic arm is not parallel to the surgical planning plane.

[0044] If the absolute value of the first included angle is less than the second threshold, then the surgical tool at the end of the robotic arm is determined to be parallel to the surgical planning plane.

[0045] Preferably, the step between step S3 and step S4 further includes:

[0046] Step S02: Calculate the linear velocity vector The projection onto the surgical planning plane, and the projection is defined as a linear velocity vector.

[0047] The calculation of the robot arm's pose at the next moment in step S4 is specifically as follows:

[0048] According to the linear velocity vector at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment.

[0049] Preferably, step S5 includes:

[0050] Calculate the angular velocity vector The projection onto the normal direction of the surgical planning plane, and the projection is determined as the angular velocity vector.

[0051] Using the Y-axis vector of the first pose matrix as a reference, the rotation vector obtained by cross-multiplying the Y-axis vector of the first pose matrix by the Y-axis vector of the second pose matrix is...

[0052] Calculate the rotation vector and angular velocity vector The absolute value of the angle between them;

[0053] If the absolute value of the included angle is less than 90°, then the angular velocity vector will be... Each component is set to 0; otherwise, the angle between the Y-axis vector of the first attitude matrix and the Y-axis vector of the second attitude matrix is ​​calculated and denoted as the second angle.

[0054] Preferably, in step S6, determining whether the serrations of the surgical tool at the end of the robotic arm are oriented towards the infeed direction of the surgical planning plane based on the second included angle specifically involves:

[0055] If the absolute value of the second included angle is greater than or equal to the third threshold, it is determined that the serrations of the surgical tool at the end of the robotic arm are not facing the surgical planning plane.

[0056] If the absolute value of the second included angle is less than the third threshold, it is determined that the serrations of the surgical tool at the end of the robotic arm are facing the surgical planning plane;

[0057] The calculation of the robot arm's pose at the next moment in step S6 is specifically as follows:

[0058] According to the linear velocity vector at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment.

[0059] According to a third aspect of the present invention, an electronic device is provided, comprising:

[0060] A processor, and a memory connected to the processor;

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

[0062] The processor is used to call and execute the computer program in the memory to perform the above-described method.

[0063] According to a fourth aspect of the present invention, a non-transitory computer-readable storage medium is provided storing computer instructions for causing a computer to perform the methods described above.

[0064] The technical solutions provided by the embodiments of the present invention may include the following beneficial effects:

[0065] By calculating the distance from the end effector of the robotic arm to the surgical planning plane at the current moment, the first angle between the end effector and the surgical planning plane, and the second angle between the serrations of the end effector and the surgical planning plane, it is ensured that the end effector reaches the surgical planning plane, is parallel to the surgical planning plane, and has its serrations pointing towards the surgical planning plane. If these conditions are not met, the robotic arm is determined to be accurately positioned at the current moment, and its movement is stopped. If the conditions are not met, the pose of the robotic arm at the next moment is calculated, and its movement is controlled based on the pose at the next moment. This achieves assisted positioning in any pose, and compared to existing technologies, it has a wider range of applicable scenarios.

[0066] Furthermore, the technical solution provided by this invention is based on surgical planning plane for assisted positioning. Compared with the existing technology of assisted positioning for a specific location, it can ensure that the surgeon is always within the pre-planned surgical plane during the osteotomy process, thus ensuring the safety of the entire operation and improving the reliability and success rate of the operation.

[0067] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit the invention. Attached Figure Description

[0068] Figure 1 This is a flowchart illustrating an auxiliary positioning method for knee replacement surgery according to an exemplary embodiment;

[0069] Figure 2 This is a flowchart illustrating an auxiliary positioning method for knee replacement surgery according to another exemplary embodiment;

[0070] Figure 3 This is a flowchart illustrating an auxiliary positioning method for knee replacement surgery according to another exemplary embodiment;

[0071] Figure 4 This is a schematic block diagram illustrating an auxiliary positioning system for knee replacement surgery according to an exemplary embodiment. Detailed Implementation

[0072] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0073] As mentioned in the background section, the relevant technologies suffer from limitations in the applicable scenarios of the positioning methods, which can only meet the technical problem of surgical incision point positioning under specific medical robot postures.

[0074] In order to effectively solve the problems in related technologies, the present invention provides a method for assisting in positioning during knee replacement surgery, an electronic device, and a storage medium, which are described in detail below.

[0075] To facilitate understanding of the technical solution provided by this invention, the relevant structure of the medical robot used in knee replacement surgery is described below:

[0076] An end effector is a tool installed at the end of a robotic arm to assist surgeons in operations. The end effector is sequentially connected to a six-dimensional force sensor, an end effector tracer, a power tool, and a saw blade. A patient tracer is installed on the patient. The saw blade is the end effector surgical tool. The end effector tracer, power tool, and saw blade (the saw blade is the end effector surgical tool) are collectively referred to as the end effector. The patient tracer and end effector tracer are installed on the patient and end effector, respectively. The tracer is installed to allow the patient and the robotic arm to be identifiable under an optical tracking camera (the optical tracking camera is mounted on the control unit and is extendable; the surgical planning and control software is installed in the industrial computer on the control unit). The tracer is an optical or infrared tracer that is identified by its emission. In knee replacement surgery, after the power tool is activated, the saw blade swings left and right to cut the knee joint.

[0077] Example 1

[0078] Figure 1 This is a flowchart illustrating an auxiliary positioning method for knee replacement surgery according to an exemplary embodiment, such as... Figure 1 As shown, the method includes:

[0079] Step S11: Calculate the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment, the first angle between the surgical tool plane and the surgical planning plane, and the second angle between the saw teeth of the surgical tool and the cutting direction of the surgical planning plane.

[0080] Step S12: Based on the distance, determine whether the surgical tool at the end of the robotic arm has reached the surgical planning plane;

[0081] Step S13: Based on the first included angle, determine whether the surgical tool plane at the end of the robotic arm is parallel to the surgical planning plane;

[0082] Step S14: Based on the second included angle, determine whether the saw teeth of the surgical tool at the end of the robotic arm are facing the infeed direction of the surgical planning plane;

[0083] Step S15: If all three judgment conditions are met when executed in sequence, it is determined that the robot arm is accurately positioned at the current moment, the robot arm is controlled to stop moving, and the process ends. Otherwise, the pose of the robot arm at the next moment is calculated, the robot arm is controlled to move according to the pose at the next moment, and the process returns to the initial step.

[0084] It should be noted that, in practice, the technical solution provided in this embodiment is loaded into the controller of the medical robot (i.e., the industrial control computer of the main control vehicle mentioned above), or loaded into an electronic device connected to the medical robot. The controller of the medical robot executes the corresponding method by calling the program stored in the electronic device.

[0085] It is understood that the technical solution provided in this embodiment, by calculating the distance from the end-effector of the robotic arm to the surgical planning plane at the current moment, the first angle between the end-effector of the robotic arm and the surgical planning plane, and the second angle between the saw teeth of the end-effector of the robotic arm and the surgical planning plane, ensures that the end-effector of the robotic arm reaches the surgical planning plane, and the end-effector of the robotic arm is parallel to the surgical planning plane, and the saw teeth of the end-effector of the robotic arm are facing the infeeding direction of the surgical planning plane. When this condition is not met, it is determined that the robotic arm is accurately positioned at the current moment, and the robotic arm is controlled to stop moving. If the condition is not met, the pose of the robotic arm at the next moment is calculated, and the movement of the robotic arm is controlled according to the pose at the next moment. This achieves assisted positioning in any pose and has a wide range of applications compared to the prior art.

[0086] Furthermore, the technical solution provided in this embodiment is based on the surgical planning plane for assisted positioning. Compared with the existing method of assisted positioning for a specific location, it can ensure that the surgeon always operates within the pre-planned surgical plane during the osteotomy process, thus ensuring the safety of the entire operation and improving the reliability and success rate of the operation.

[0087] Example 2

[0088] Figure 2 This is a flowchart illustrating an auxiliary positioning method for knee replacement surgery according to an exemplary embodiment, such as... Figure 2 As shown, the method includes:

[0089] Step S1: Calculate the distance D1 from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment;

[0090] Step S2: Based on the distance, determine whether the surgical tool at the end of the robotic arm has reached the surgical planning plane (i.e., determine whether D1 < Dt). If yes, proceed to step S3; if no, calculate the pose of the robotic arm at the next moment, control the movement of the robotic arm based on the pose at the next moment, and return to step S1.

[0091] Step S3: Calculate the first angle between the surgical tool at the end of the robotic arm and the surgical planning plane;

[0092] Step S4: Based on the first included angle, determine whether the surgical tool at the end of the robotic arm is parallel to the surgical planning plane (i.e., determine whether the absolute value of the first included angle is less than the second threshold). If yes, jump to step S5; if no, calculate the pose of the end of the robotic arm at the next moment, control the movement of the robotic arm based on the pose at the next moment, and return to step S1.

[0093] Step S5: Calculate the second angle between the saw teeth of the surgical tool at the end of the robotic arm and the infeed direction of the surgical planning plane;

[0094] Step S6: Based on the second included angle, determine whether the saw teeth of the surgical tool at the end of the robotic arm are facing the infeed direction of the surgical planning plane (i.e., determine whether the absolute value of the second included angle is less than the third threshold). If yes, determine that the robotic arm is accurately positioned at the current moment, control the robotic arm to stop moving, and the process ends; if no, calculate the pose of the robotic arm at the next moment, control the movement of the robotic arm based on the pose at the next moment, and return to step S1.

[0095] It is understandable that the technical solution provided in Embodiment 2 differs from Embodiment 1 in that it uses judgment conditions for filtering. Only data streams that meet the judgment conditions can proceed to the next calculation, which can reduce the computational load of the system and improve the system response speed. In addition, if any judgment condition is not met, the pose of the robotic arm can be adjusted in a timely manner to ensure accurate positioning in any pose, thereby improving the applicability of the product.

[0096] In practice, step S1, calculating the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment, may include:

[0097] 1. Calculate the first pose matrix of the surgical planning plane in the robot arm base coordinate system at the current moment, and the second pose matrix of the surgical tool at the end of the robot arm in the robot arm base coordinate system at the current moment;

[0098] 2. Calculate the distance from the origin of the coordinate system of the second pose matrix to the surgical planning plane, and determine the distance as the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment;

[0099] Wherein, the origin of the coordinate system of the second pose matrix is ​​the midpoint of the line connecting the edge points of the saw teeth of the end-of-arm saw blade; the cutting direction of the surgical planning plane is the Y-axis, the plane normal is the Z-axis away from the bone surface, and any point in the region formed by the intersection of the surgical planning plane and the patient's femur or tibia is the origin.

[0100] Specifically, step 1 involves calculating the first pose matrix of the surgical planning plane in the robot arm base coordinate system, and the second pose matrix of the surgical tool at the end of the robot arm in the robot arm base coordinate system.

[0101] Read the first sub-pose matrix T1 and the second sub-pose matrix T2 output by the optical tracking camera. The first sub-pose matrix T1 is the pose matrix of the robotic arm tracer element in the coordinate system of the optical tracking camera, and the second sub-pose matrix T2 is the pose matrix of the patient tracer element in the coordinate system of the optical tracking camera.

[0102] Calculate the pose matrix of the position of the surgical planning plane in the patient tracer element coordinate system, and denot it as the third sub-pose matrix T3 (T3 can be obtained by multiplying the registration matrix and the planning matrix. The relevant calculation method is well known to those skilled in the art and will not be described here).

[0103] The fourth sub-pose matrix T4 and the sixth sub-pose matrix T6 are read from the measurement output by the coordinate measuring machine (the coordinate measuring machine is an auxiliary measuring tool and is not part of the medical robot). The fourth sub-pose matrix T4 is the pose matrix of the surgical tool at the end of the robotic arm in the coordinate system of the robotic arm tracer element, and the sixth sub-pose matrix T6 is the pose matrix of the robotic arm tracer element in the coordinate system of the end of the robotic arm.

[0104] Read the pose matrix of the robotic arm end effector in the coordinate system of the robotic arm base, and denote it as the fifth sub-pose matrix T5;

[0105] The inverse matrix T1 of the first sub-pose matrix -1 The matrix product of the second sub-pose matrix T2, the third sub-pose matrix T3, the fifth sub-pose matrix T5, ​​and the sixth sub-pose matrix T6 is determined as the first pose matrix T7, i.e., T7 = T5·T6·T1 -1 ·T2·T3;

[0106] The product of the fourth sub-pose matrix T4, the fifth sub-pose matrix T5, ​​and the sixth sub-pose matrix T6 is determined as the second pose matrix T8, i.e., T8 = T5·T6·T4.

[0107] In practice, step S2, which determines whether the surgical tool at the end of the robotic arm has reached the surgical planning plane based on the distance, specifically involves:

[0108] If the distance is greater than or equal to the first threshold, it is determined that the surgical tool at the end of the robotic arm has not reached the surgical planning plane;

[0109] If the distance is less than the first threshold, it is determined that the surgical tool at the end of the robotic arm has reached the surgical planning plane.

[0110] In practice, the step between S1 and S2 also includes:

[0111] Step S01: Calculate the six-dimensional external force vector exerted by the operator on the six-dimensional force sensor;

[0112] Based on the six-dimensional external force vector and admittance control algorithm, calculate the linear velocity vector of the robotic arm at the next moment. and angular velocity vector

[0113] The calculation of the robot arm's pose at the next moment in step S2 is specifically as follows:

[0114] According to the linear velocity vector at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment.

[0115] In step S01, the six-dimensional external force vector exerted by the operator on the six-dimensional force sensor is calculated as follows:

[0116] Read the current output data from the six-dimensional force sensor: force and torque, and combine the force and torque to form a six-dimensional force vector. The six-dimensional force vector It is composed of a six-dimensional force sensor and a zero-point six-dimensional force vector. The robotic arm end effector mounted on a six-dimensional force sensor acts on the six-dimensional force vector of the six-dimensional force sensor. And the six-dimensional external force vector exerted by the operator on the six-dimensional force sensor The system is composed of components, and the six-dimensional external force vector exerted by the operator on the six-dimensional force sensor is calculated through load compensation and zero-point compensation. The calculation formula is:

[0117]

[0118] in, The zero-point six-dimensional force vector of the six-dimensional force sensor. The six-dimensional force vector is the force exerted on the six-dimensional force sensor by the surgical tool at the end of the robotic arm, which is mounted on the six-dimensional force sensor.

[0119] In step S01, based on the six-dimensional external force vector Using admittance control algorithms, calculate the linear velocity vector of the robotic arm at the next moment. and angular velocity vector Specifically:

[0120]

[0121]

[0122] Where M is the diagonal matrix of inertia coefficients and B is the diagonal matrix of damping coefficients. Let the velocity of the surgical tool at the end of the robotic arm at the current moment be a six-dimensional vector. The velocity vector of the surgical tool at the end of the robotic arm at the next moment is a six-dimensional vector. Let dt be the six-dimensional vector of acceleration of the surgical tool at the end of the robotic arm at the current moment, and M and B be constants. and It can be read directly from the controller of the medical robot (i.e., from the industrial control computer of the main control vehicle mentioned above). and The initial values ​​are all 0, indicating that the robotic arm is initially stationary with no velocity or acceleration. The values ​​at the next moment are calculated using the formula above.

[0123] In practice, step S3, calculating the first angle between the surgical tool at the end of the robotic arm and the surgical planning plane, includes:

[0124] Calculate the unit vector of the Z-axis in the coordinate system of the second pose matrix T8 at the current time. The unit vector of the Z-axis of the coordinate system of the first pose matrix The included angle is determined as the first included angle; the absolute value of the first included angle is A1.

[0125] In practice, step S4, based on the first included angle, determines whether the surgical tool at the end of the robotic arm is parallel to the surgical planning plane, specifically as follows:

[0126] If the absolute value of the first included angle is greater than or equal to the second threshold, it is determined that the surgical tool at the end of the robotic arm is not parallel to the surgical planning plane.

[0127] If the absolute value of the first included angle is less than the second threshold, then the surgical tool at the end of the robotic arm is determined to be parallel to the surgical planning plane.

[0128] In practice, the steps between S3 and S4 also include:

[0129] Step S02: Calculate the linear velocity vector The projection onto the surgical planning plane, and the projection is defined as a linear velocity vector.

[0130] The calculation of the robot arm's pose at the next moment in step S4 is specifically as follows:

[0131] According to the linear velocity vector at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment.

[0132] In step S02, the linear velocity vector is calculated. The projection onto the surgical planning plane, and the projection is defined as a linear velocity vector. Specifically:

[0133] In practice, step S5, calculating the second angle between the saw teeth of the surgical tool at the end of the robotic arm and the infeed direction of the surgical planning plane, includes:

[0134] 1. Calculate the angular velocity vector In the surgical planning plane normal direction The projection onto the surface is then defined as the angular velocity vector. Right now

[0135] 2. Taking the Y-axis vector of the first pose matrix as a reference, the Y-axis vector of the first pose matrix... The cross product of the second pose matrix and the Y-axis vector of the coordinate system The obtained rotation vector Right now: Rotation vector The first pose matrix T7 represents the coordinate system Y-axis vector around the rotation vector. Switch to the Y-axis vector of the second pose matrix T8 of the current robotic arm end effector. The rotation axis vector.

[0136] 3. Calculate the rotation vector and angular velocity vector The absolute value of the angle between them, A2, is as follows:

[0137]

[0138] 4. If the absolute value of the included angle A2 is less than 90°, then the angular velocity vector... All components are set to 0; otherwise, the Y-axis vector of the first attitude matrix T7 is calculated. and the Y-axis vector of the coordinate system of the second attitude matrix T8 The angle between the two is denoted as the second included angle; the absolute value of the second included angle is A3.

[0139] In practice, step S6, based on the second included angle, determines whether the serrations of the surgical tool at the end of the robotic arm are oriented towards the infeed direction of the surgical planning plane. Specifically:

[0140] If the absolute value of the second included angle is greater than or equal to the third threshold, it is determined that the serrations of the surgical tool at the end of the robotic arm are not facing the surgical planning plane.

[0141] If the absolute value of the second included angle is less than the third threshold, it is determined that the serrations of the surgical tool at the end of the robotic arm are facing the surgical planning plane;

[0142] The calculation of the robot arm's pose at the next moment in step S6 is specifically as follows:

[0143] According to the linear velocity vector at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment.

[0144] It should be noted that the first, second, and third thresholds mentioned above can be determined based on historical experience or experimental data. For example, they can be set according to the required osteotomy surface deviation accuracy in actual knee replacement surgery. Generally, the osteotomy surface deviation accuracy is below 1.0 mm, so the first threshold can be set to 1.0 mm. In practice, the operator can slowly drag the surgical tool at the end of the robotic arm closer to the osteotomy surface according to the current distance displayed on the medical robot software UI to ensure that the distance between the surgical tool and the surgical planning surface is less than the first threshold of 1.0 mm.

[0145] The second threshold can be set based on the angular deviation between the osteotomy surface and the saw blade plane in the actual knee replacement surgery. Generally, the angular deviation is within 1.0°, so the second threshold can be set to 1.0°. In practice, the operator can slowly rotate the surgical tool at the end of the robotic arm according to the current angle displayed in the medical robot software UI to ensure that the angle between the surgical tool at the end of the robotic arm and the surgical planning surface is less than the second threshold of 1.0°.

[0146] The third threshold can be set according to the actual knee replacement surgery requirements and the deviation of the incision direction angle on the osteotomy surface. Generally, the deviation of the incision direction angle is within 30°, so the third threshold can be set to 30°.

[0147] In practice, controlling the movement of the robotic arm based on its pose at the next moment includes:

[0148] 1. Based on the second pose matrix T8, and the linear velocity vector at the next moment. and angular velocity vector Calculate the pose matrix of the surgical tool at the end effector of the robotic arm at the next moment, and denote it as the third pose matrix T9; where m=1 and n=1 (i.e., the matrix used when the first distance determination is negative). and (Calculation); When m=2, n=1 (that is, when judging whether the first included angle is negative for the second time, the value used is...). and (Calculation), or, when m=2, n=2 (that is, when the third judgment of the second included angle is negative, the value used is...). and calculate).

[0149] 2. Convert the inverse matrix T4 of the third pose matrix T9 and the fourth sub-pose matrix T4. -1 The sixth sub-pose matrix T6 -1 The matrix product of the inverse matrix, the three inverse matrices, is used to determine the pose matrix T10 of the surgical tool at the end of the robotic arm in the next moment, i.e.: T10 = T9·T4 -1 ·T6 -1 .

[0150] 3. Control the movement of the robotic arm according to the pose matrix of the surgical tool at the end of the robotic arm at the next moment. Wherein, 1. According to the second pose matrix T8, and the linear velocity vector at the next moment... and angular velocity vector Calculate the pose matrix of the surgical tool at the end effector of the robotic arm at the next moment, and denote it as the third pose matrix T9, including:

[0151] 1) First, convert the rotation matrix in the pose matrix T8 of the robotic arm's end-effector into a quaternion. Then, convert the quaternion into a rotation vector. Finally, combine the rotation vector and the position vector in the pose matrix T8 to form a six-dimensional vector of the robotic arm's end-effector pose.

[0152] 2) Calculate the six-dimensional vector of the surgical tool pose at the end of the robotic arm at the next moment. The calculation formula is:

[0153]

[0154] in, The velocity vector of the surgical tool at the end of the robotic arm at the next moment is a six-dimensional vector. The pose of the surgical tool at the end of the robotic arm at the next moment is represented by a six-dimensional vector.

[0155] 3) Based on the Rodriguez rotation formula, the six-dimensional vector of the pose of the surgical tool at the end of the robotic arm at the next moment is calculated. The rotation vector in the image is converted into a rotation matrix, which represents the six-dimensional vector of the pose of the surgical tool at the end of the robotic arm at the next moment. The position vector and rotation matrix in the matrix form the pose matrix T9 of the surgical tool at the end of the robotic arm at the next moment.

[0156] In summary, the technical solution provided in this embodiment, by setting the surgical planning plane, ensures that the operator can drag the surgical tools at the end of the robotic arm onto the surgical planning plane, reducing the complexity of the robotic arm's movement, increasing the robotic arm's movement speed, and thus improving surgical efficiency.

[0157] Furthermore, the technical solution provided in this embodiment allows the operator to drag the robotic arm to avoid obstacles through an admittance control algorithm, preventing the robotic arm from colliding with surrounding objects during automatic movement (by calculating the unit vector of the Z-axis of the coordinate system of the second pose matrix T8 at the current moment in the above solution). The unit vector of the Z-axis of the coordinate system of the first pose matrix The angle between the two points is determined, and the robot arm's pose is adjusted according to the absolute value of the angle.

[0158] Furthermore, after the robotic arm is dragged to the surgical planning plane by the operator, the operator is restricted from dragging the robotic arm to rotate the tool (by ensuring that the absolute value of the included angle A2 in the above scheme is less than 90°, the angular velocity vector is...). (Each component is set to 0), making it easier for the operator to align the osteotomy incision direction, thus improving the accuracy and reliability of auxiliary positioning.

[0159] Example 3

[0160] Figure 3 This is a flowchart illustrating an auxiliary positioning method for knee replacement surgery according to another exemplary embodiment, such as... Figure 3 As shown, the method includes:

[0161] Step S21: Calculate the first pose matrix T7 of the surgical planning plane in the coordinate system of the robotic arm base, and the second pose matrix T8 of the robotic arm end effector in the coordinate system of the robotic arm base.

[0162] Step S22: Calculate the distance from the origin of the coordinate system of the second pose matrix T8 to the surgical planning plane, and denote it as D1;

[0163] Step S23: Calculate the linear velocity vector of the robotic arm at the next moment. and angular velocity vector

[0164] Step S24: Determine if D1 is less than the first threshold Dt. If yes, determine that the robotic arm end effector has reached the surgical planning plane and proceed to step S25. Otherwise, determine the next moment's linear velocity vector of the robotic arm. Calculate the pose of the robotic arm at the next moment using the angular velocity vector, and jump to step S31;

[0165] Step S25: Calculate the first angle between the robotic arm end effector and the surgical planning plane;

[0166] Step S26: Calculate the linear velocity vector of the robotic arm at the next moment. and angular velocity vector

[0167] Step S27: Determine whether the absolute value of the first included angle is less than the second threshold. If yes, determine that the surgical tool plane at the end of the robotic arm is parallel to the surgical planning plane, and proceed to step S28. Otherwise, determine the next moment's linear velocity vector of the robotic arm. and angular velocity vector Calculate the pose of the robotic arm at the next moment and jump to step S31;

[0168] Step S28: Calculate the second angle between the saw teeth of the robotic arm end effector and the surgical planning plane;

[0169] Step S29: Determine whether the absolute value of the second included angle is less than the third threshold. If yes, determine that the saw teeth of the surgical tool at the end of the robotic arm are pointing in the infeed direction toward the surgical planning plane, and proceed to step S30. Otherwise, calculate the linear velocity vector of the robotic arm at the next moment. and angular velocity vector Based on the linear velocity vector of the robotic arm at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment and proceed to step S31;

[0170] Step S30: Determine that the robotic arm is accurately positioned at the current moment, control the robotic arm to stop moving, and the program execution ends;

[0171] Step S31: Based on the pose of the robotic arm at the next moment, control the movement of the robotic arm and return to step S21.

[0172] It should be noted that, in practice, the technical solution provided in this embodiment is loaded into the controller of the medical robot (i.e., the industrial control computer of the main control vehicle mentioned above), or loaded into an electronic device connected to the medical robot. The controller of the medical robot executes the corresponding method by calling the program stored in the electronic device.

[0173] It is understood that the technical solution provided in this embodiment, by calculating the distance from the end effector of the robotic arm to the surgical planning plane at the current moment, the first angle between the end effector of the robotic arm and the surgical planning plane, and the second angle between the saw teeth of the end effector of the robotic arm and the surgical planning plane, ensures that the end effector of the robotic arm reaches the surgical planning plane, is parallel to the surgical planning plane, and has its saw teeth facing the surgical planning plane. When this condition is not met, it is determined that the robotic arm is accurately positioned at the current moment, and the robotic arm is controlled to stop moving. If the condition is not met, the pose of the robotic arm at the next moment is calculated, and the movement of the robotic arm is controlled according to the pose at the next moment. This achieves assisted positioning in any pose and has a wider range of applications compared to the prior art.

[0174] Furthermore, the technical solution provided in this embodiment is based on the surgical planning plane for assisted positioning. Compared with the existing method of assisted positioning for a specific location, it can ensure that the surgeon always operates within the pre-planned surgical plane during the osteotomy process, thus ensuring the safety of the entire operation and improving the reliability and success rate of the operation.

[0175] Example 4

[0176] Figure 3 This is a schematic block diagram illustrating a knee replacement surgery auxiliary positioning system 100 according to an exemplary embodiment, such as... Figure 3 As shown, the system 100 includes:

[0177] The calculation module 101 is used to calculate the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment, the first angle between the surgical tool plane and the surgical planning plane, and the second angle between the saw teeth of the surgical tool at the end of the robotic arm and the cutting direction of the surgical planning plane.

[0178] The judgment module 102 is used to determine whether the surgical tool at the end of the robotic arm has reached the surgical planning plane based on the distance.

[0179] It is also used to determine whether the surgical tool plane at the end of the robotic arm is parallel to the surgical planning plane based on the first included angle;

[0180] It is also used to determine, based on the second included angle, whether the saw teeth of the surgical tool at the end of the robotic arm are oriented toward the infeeding direction of the surgical planning plane;

[0181] When all three judgment conditions are satisfied in sequence, the control module 103 determines that the robot arm is accurately positioned at the current moment and controls the robot arm to stop moving. Otherwise, it controls the calculation module 101 to calculate the pose of the robot arm at the next moment, obtains the pose of the robot arm at the next moment based on the calculation module 101, and controls the robot arm to move based on the pose at the next moment.

[0182] It should be noted that, in practice, the technical solution provided in this embodiment is loaded into the controller of the medical robot (i.e., the industrial control computer of the main control vehicle mentioned above), or loaded into an electronic device connected to the medical robot. The controller of the medical robot executes the corresponding method by calling the program stored in the electronic device.

[0183] The implementation methods and beneficial effects of each module in this embodiment can be found in the description of the relevant steps in the above embodiments, and will not be repeated in this embodiment.

[0184] In practice, the calculation module 101 calculates the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment, including:

[0185] Calculate the first pose matrix of the surgical planning plane in the robot arm base coordinate system at the current moment, and the second pose matrix of the surgical tool at the end of the robot arm in the robot arm base coordinate system at the current moment.

[0186] Calculate the distance from the origin of the coordinate system of the second pose matrix to the surgical planning plane, and determine the distance as the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment;

[0187] Wherein, the origin of the coordinate system of the second pose matrix is ​​the midpoint of the line connecting the edge points of the saw teeth of the end-of-arm saw blade; the cutting direction of the surgical planning plane is the Y-axis, the plane normal is the Z-axis away from the bone surface, and any point in the region formed by the intersection of the surgical planning plane and the patient's femur or tibia is the origin.

[0188] Specifically, the calculation of the first pose matrix of the surgical planning plane in the robot arm base coordinate system and the second pose matrix of the surgical tool at the end of the robot arm in the robot arm base coordinate system includes:

[0189] Read the first sub-pose matrix and the second sub-pose matrix output by the optical tracking camera. The first sub-pose matrix is ​​the pose matrix of the robotic arm tracer element in the optical tracking camera coordinate system, and the second sub-pose matrix is ​​the pose matrix of the patient tracer element in the optical tracking camera coordinate system.

[0190] Calculate the pose matrix of the surgical planning plane in the patient tracer coordinate system, and denote it as the third sub-pose matrix;

[0191] The fourth and sixth sub-pose matrices, measured and output by a coordinate measuring machine, are read. The fourth sub-pose matrix is ​​the pose matrix of the surgical tool at the end of the robotic arm in the coordinate system of the robotic arm tracer element, and the sixth sub-pose matrix is ​​the pose matrix of the robotic arm tracer element in the coordinate system of the robotic arm end.

[0192] Read the pose matrix of the robotic arm end effector in the coordinate system of the robotic arm base, and record it as the fifth sub-pose matrix;

[0193] The first pose matrix is ​​determined by multiplying the inverse of the first sub-pose matrix, the second sub-pose matrix, the third sub-pose matrix, the fifth sub-pose matrix, and the sixth sub-pose matrix.

[0194] The product of the fourth, fifth, and sixth sub-pose matrices is used to determine the second pose matrix.

[0195] The determination module 102 determines, based on the distance, whether the surgical tool at the end of the robotic arm has reached the surgical planning plane, specifically:

[0196] If the distance is greater than or equal to the first threshold, it is determined that the surgical tool at the end of the robotic arm has not reached the surgical planning plane;

[0197] If the distance is less than the first threshold, it is determined that the surgical tool at the end of the robotic arm has reached the surgical planning plane.

[0198] The calculation module 101 is also used for:

[0199] Calculate the six-dimensional external force vector exerted by the operator on the six-dimensional force sensor;

[0200] Based on the six-dimensional external force vector and admittance control algorithm, calculate the linear velocity vector of the robotic arm at the next moment. and angular velocity vector

[0201] Calculation module 101 calculates the pose of the robotic arm at the next moment, specifically:

[0202] According to the linear velocity vector at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment.

[0203] Calculation module 101 calculates the first angle between the surgical tool at the end of the robotic arm and the surgical planning plane, including:

[0204] Calculate the angle between the unit vector of the Z-axis of the second pose matrix and the unit vector of the Z-axis of the first pose matrix at the current moment, and determine the angle as the first angle.

[0205] The judgment module 102 determines, based on the first included angle, whether the surgical tool at the end of the robotic arm is parallel to the surgical planning plane, specifically:

[0206] If the absolute value of the first included angle is greater than or equal to the second threshold, it is determined that the surgical tool at the end of the robotic arm is not parallel to the surgical planning plane.

[0207] If the absolute value of the first included angle is less than the second threshold, then the surgical tool at the end of the robotic arm is determined to be parallel to the surgical planning plane.

[0208] The calculation module 101 is also used for:

[0209] Calculate the linear velocity vector The projection onto the surgical planning plane, and the projection is defined as a linear velocity vector.

[0210] Calculation module 101 calculates the pose of the robotic arm at the next moment, specifically:

[0211] According to the linear velocity vector at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment.

[0212] Calculation module 101 calculates the second angle between the saw teeth of the surgical tool at the end of the robotic arm and the infeed direction of the surgical planning plane, including:

[0213] Calculate the angular velocity vector The projection onto the normal direction of the surgical planning plane, and the projection is determined as the angular velocity vector.

[0214] Using the Y-axis vector of the first pose matrix as a reference, the rotation vector obtained by cross-multiplying the Y-axis vector of the first pose matrix by the Y-axis vector of the second pose matrix is...

[0215] Calculate the rotation vector and angular velocity vector The absolute value of the angle between them;

[0216] If the absolute value of the included angle is less than 90°, then the angular velocity vector will be... Each component is set to 0; otherwise, the angle between the Y-axis vector of the first attitude matrix and the Y-axis vector of the second attitude matrix is ​​calculated and denoted as the second angle.

[0217] The judgment module 102 determines, based on the second included angle, whether the serrations of the surgical tool at the end of the robotic arm are oriented towards the infeed direction of the surgical planning plane, specifically:

[0218] If the absolute value of the second included angle is greater than or equal to the third threshold, it is determined that the serrations of the surgical tool at the end of the robotic arm are not facing the surgical planning plane.

[0219] If the absolute value of the second included angle is less than the third threshold, it is determined that the serrations of the surgical tool at the end of the robotic arm are facing the surgical planning plane;

[0220] Calculation module 101 calculates the pose of the robotic arm at the next moment, specifically:

[0221] According to the linear velocity vector at the next moment and angular velocity vector Calculate the pose of the robotic arm at the next moment.

[0222] It is understood that the technical solution provided in this embodiment, by calculating the distance from the end effector of the robotic arm to the surgical planning plane at the current moment, the first angle between the end effector of the robotic arm and the surgical planning plane, and the second angle between the serration of the end effector of the robotic arm and the surgical planning plane, ensures that the end effector of the robotic arm reaches the surgical planning plane, is parallel to the surgical planning plane, and has its serration facing the surgical planning plane. When this condition is not met, it determines that the robotic arm is accurately positioned at the current moment, controls the robotic arm to stop moving, and if the condition is not met, it calculates the pose of the robotic arm at the next moment, controls the movement of the robotic arm according to the pose at the next moment, and achieves assisted positioning in any pose. Compared with the prior art, it has a wide range of applicable scenarios.

[0223] Furthermore, the technical solution provided in this embodiment is based on the surgical planning plane for assisted positioning. Compared with the existing method of assisted positioning for a specific location, it can ensure that the surgeon always operates within the pre-planned surgical plane during the osteotomy process, thus ensuring the safety of the entire operation and improving the reliability and success rate of the operation.

[0224] Example 5

[0225] An electronic device according to an exemplary embodiment includes:

[0226] A processor, and a memory connected to the processor;

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

[0228] The processor is used to call and execute the computer program in the memory to perform the above-described method.

[0229] It is understood that the technical solution provided in this embodiment, by calculating the distance from the end effector of the robotic arm to the surgical planning plane at the current moment, the first angle between the end effector of the robotic arm and the surgical planning plane, and the second angle between the serration of the end effector of the robotic arm and the surgical planning plane, ensures that the end effector of the robotic arm reaches the surgical planning plane, is parallel to the surgical planning plane, and has its serration facing the surgical planning plane. When this condition is not met, it determines that the robotic arm is accurately positioned at the current moment, controls the robotic arm to stop moving, and if the condition is not met, it calculates the pose of the robotic arm at the next moment, controls the movement of the robotic arm according to the pose at the next moment, and achieves assisted positioning in any pose. Compared with the prior art, it has a wide range of applicable scenarios.

[0230] Furthermore, the technical solution provided in this embodiment is based on the surgical planning plane for assisted positioning. Compared with the existing method of assisted positioning for a specific location, it can ensure that the surgeon always operates within the pre-planned surgical plane during the osteotomy process, thus ensuring the safety of the entire operation and improving the reliability and success rate of the operation.

[0231] Example 6

[0232] An exemplary embodiment illustrates a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the methods described above.

[0233] It is understood that the technical solution provided in this embodiment, by calculating the distance from the end effector of the robotic arm to the surgical planning plane at the current moment, the first angle between the end effector of the robotic arm and the surgical planning plane, and the second angle between the serration of the end effector of the robotic arm and the surgical planning plane, ensures that the end effector of the robotic arm reaches the surgical planning plane, is parallel to the surgical planning plane, and has its serration facing the surgical planning plane. When this condition is not met, it determines that the robotic arm is accurately positioned at the current moment, controls the robotic arm to stop moving, and if the condition is not met, it calculates the pose of the robotic arm at the next moment, controls the movement of the robotic arm according to the pose at the next moment, and achieves assisted positioning in any pose. Compared with the prior art, it has a wide range of applicable scenarios.

[0234] Furthermore, the technical solution provided in this embodiment is based on the surgical planning plane for assisted positioning. Compared with the existing method of assisted positioning for a specific location, it can ensure that the surgeon always operates within the pre-planned surgical plane during the osteotomy process, thus ensuring the safety of the entire operation and improving the reliability and success rate of the operation.

[0235] Of course, those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware (such as a processor, controller, etc.). The program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The storage medium can be a memory, magnetic disk, optical disk, etc.

[0236] The specific embodiments of the present invention described above do not constitute a limitation on the scope of protection of the present invention. Any other corresponding changes and modifications made in accordance with the technical concept of the present invention should be included within the scope of protection of the claims of the present invention.

Claims

1. A method for assisting in positioning during knee replacement surgery, characterized in that, include: Step S1: Calculate the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment; Step S01: Calculate the six-dimensional external force vector exerted by the operator on the six-dimensional force sensor; Based on the aforementioned six-dimensional external force vector and admittance control algorithm, calculate the linear velocity vector of the robotic arm at the next moment. and angular velocity vector ; Step S2: Based on the distance, determine whether the surgical tool at the end of the robotic arm has reached the surgical planning plane. If yes, proceed to step S3; otherwise, based on the linear velocity vector at the next moment... and angular velocity vector Calculate the pose of the robotic arm at the next moment, control the movement of the robotic arm based on the pose at the next moment, and return to step S1; Step S3: Calculate the first angle between the surgical tool at the end of the robotic arm and the surgical planning plane; Calculate the linear velocity vector The projection onto the surgical planning plane, and the projection is defined as a linear velocity vector. ; Step S4: Based on the first included angle, determine whether the surgical tool at the end of the robotic arm is parallel to the surgical planning plane. If yes, proceed to step S5; otherwise, based on the linear velocity vector at the next moment... and angular velocity vector Calculate the pose of the robotic arm's end effector at the next moment, control the movement of the robotic arm based on the pose at the next moment, and return to step S1; Step S5: Calculate the second angle between the saw teeth of the surgical tool at the end of the robotic arm and the infeed direction of the surgical planning plane; Calculate the angular velocity vector The projection onto the normal direction of the surgical planning plane, and the projection is determined as the angular velocity vector. ; Step S6: Based on the second included angle, determine whether the serrations of the surgical tool at the end of the robotic arm are oriented towards the infeed direction of the surgical planning plane. If yes, determine that the robotic arm is accurately positioned at the current moment, control the robotic arm to stop moving, and the process ends; if not, based on the linear velocity vector at the next moment... and angular velocity vector Calculate the pose of the robotic arm at the next moment, control the movement of the robotic arm based on the pose at the next moment, and return to step S1.

2. The method according to claim 1, characterized in that, Step S1 includes: Calculate the first pose matrix of the surgical planning plane in the robot arm base coordinate system at the current moment, and the second pose matrix of the surgical tool at the end of the robot arm in the robot arm base coordinate system at the current moment. Calculate the distance from the origin of the coordinate system of the second pose matrix to the surgical planning plane, and determine the distance as the distance from the surgical tool at the end of the robotic arm to the surgical planning plane at the current moment; Wherein, the origin of the coordinate system of the second pose matrix is ​​the midpoint of the line connecting the edge points of the saw teeth of the end-of-arm saw blade; the cutting direction of the surgical planning plane is the Y-axis, the plane normal is the Z-axis away from the bone surface, and any point in the region formed by the intersection of the surgical planning plane and the patient's femur or tibia is the origin.

3. The method according to claim 2, characterized in that, The calculation of the first pose matrix of the surgical planning plane in the robot arm base coordinate system and the second pose matrix of the surgical tool at the end of the robot arm in the robot arm base coordinate system includes: Read the first sub-pose matrix and the second sub-pose matrix output by the optical tracking camera. The first sub-pose matrix is ​​the pose matrix of the robotic arm tracer element in the optical tracking camera coordinate system, and the second sub-pose matrix is ​​the pose matrix of the patient tracer element in the optical tracking camera coordinate system. Calculate the pose matrix of the surgical planning plane in the patient tracer coordinate system, and denote it as the third sub-pose matrix; The fourth and sixth sub-pose matrices, measured and output by a coordinate measuring machine, are read. The fourth sub-pose matrix is ​​the pose matrix of the surgical tool at the end of the robotic arm in the coordinate system of the robotic arm tracer element, and the sixth sub-pose matrix is ​​the pose matrix of the robotic arm tracer element in the coordinate system of the robotic arm end. Read the pose matrix of the robotic arm end effector in the coordinate system of the robotic arm base, and record it as the fifth sub-pose matrix; The first pose matrix is ​​determined by multiplying the inverse of the first sub-pose matrix, the second sub-pose matrix, the third sub-pose matrix, the fifth sub-pose matrix, and the sixth sub-pose matrix. The product of the fourth, fifth, and sixth sub-pose matrices is used to determine the second pose matrix.

4. The method according to claim 2, characterized in that, In step S2, determining whether the surgical tool at the end of the robotic arm has reached the surgical planning plane based on the distance specifically involves: If the distance is greater than or equal to the first threshold, it is determined that the surgical tool at the end of the robotic arm has not reached the surgical planning plane; If the distance is less than the first threshold, it is determined that the surgical tool at the end of the robotic arm has reached the surgical planning plane.

5. The method according to claim 2, characterized in that, Step S3, calculating the first angle between the surgical tool at the end of the robotic arm and the surgical planning plane, includes: Calculate the angle between the unit vector of the Z-axis of the second pose matrix and the unit vector of the Z-axis of the first pose matrix at the current moment, and determine the angle as the first angle.

6. The method according to claim 5, characterized in that, In step S4, determining whether the surgical tool at the end of the robotic arm is parallel to the surgical planning plane based on the first included angle specifically involves: If the absolute value of the first included angle is greater than or equal to the second threshold, it is determined that the surgical tool at the end of the robotic arm is not parallel to the surgical planning plane. If the absolute value of the first included angle is less than the second threshold, then the surgical tool at the end of the robotic arm is determined to be parallel to the surgical planning plane.

7. The method according to claim 2, characterized in that, Step S5 includes: Using the Y-axis vector of the first pose matrix as a reference, the rotation vector obtained by cross-multiplying the Y-axis vector of the first pose matrix by the Y-axis vector of the second pose matrix is... ; Calculate the rotation vector and angular velocity vector The absolute value of the angle between them; If the absolute value of the included angle is less than 90°, then the angular velocity vector... Each component is set to 0; otherwise, the angle between the Y-axis vector of the first pose matrix and the Y-axis vector of the second pose matrix is ​​calculated and denoted as the second angle.

8. The method according to claim 7, characterized in that, In step S6, based on the second included angle, it is determined whether the serrations of the surgical tool at the end of the robotic arm are oriented towards the infeed direction of the surgical planning plane. Specifically: If the absolute value of the second included angle is greater than or equal to the third threshold, it is determined that the serrations of the surgical tool at the end of the robotic arm are not facing the surgical planning plane. If the absolute value of the second included angle is less than the third threshold, then it is determined that the serrations of the surgical tool at the end of the robotic arm are facing the surgical planning plane.

9. An electronic device, characterized in that, include: A processor, and a memory connected to the processor; The memory is used to store computer programs; The processor is used to call and execute the computer program in the memory to perform the method according to any one of claims 1 to 8.

10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-8.