Osteotomy plane boundary control method, electronic equipment and storage medium

By using a stepwise search algorithm to determine the safe position of the osteotomy pendulum saw in knee arthroplasty surgery, the problems of soft tissue and ligament injuries and reduced surgical accuracy caused by excessive motion range of the osteotomy pendulum saw are solved, and higher accuracy and safety are achieved.

CN119818146AActive Publication Date: 2025-04-15BEIJING TINAVI MEDICAL TECH

Patent Information

Application Number
CN202311329849.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-13
Publication Date
2025-04-15
Estimated Expiration
2043-10-13

AI Technical Summary

Technical Problem

In knee arthroplasty, the range of motion of the osteotomy pendulum saw is too large, resulting in damage to soft tissue and ligaments, and the surgical accuracy is reduced.

Method used

By calculating the distance between the center point of the osteotomy pendulum saw and the boundary line between the osteotomy plane, select the inward vector weighted sum of the two sides with the shortest distance, as the search direction, perform a step-by-step search to quickly find the safe position closest to the boundary of the plane position, and send it to the robotic arm to drive the surgical tool to move.

Benefits of technology

It improves the accuracy and safety of osteotomy operations, reduces the physical exhaustion of doctors, reduces pain and complications after surgery, and extends the service life of joint prosthesis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119818146A_ABST
    Figure CN119818146A_ABST
Patent Text Reader

Abstract

The invention discloses an osteotomy plane boundary control method, electronic equipment and a storage medium, and the method comprises the steps: calculating the distance from the center point of an osteotomy pendulum saw to a boundary connecting line of an osteotomy plane, selecting the inward vectors of two edges with the shortest distance, carrying out the weighted summation, taking the weighted summation as a search direction, and carrying out the step-by-step search; the method comprises the following steps of: quickly searching a safe position which is closest to the boundary of a plane position (conforming to the expected movement direction and posture) and is positioned in the boundary of the plane position, and subsequently issuing the safe position to a mechanical arm to drive a surgical tool to move so as to accurately and safely help a doctor to realize osteotomy operation on a thighbone and a tibia. The technical problems that in the prior art, due to the fact that the motion range of an osteotomy swing saw is too large, soft tissue and ligament injuries are caused, and operation precision is reduced are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of artificial intelligence technology, and in particular to an osteotomy plane boundary control method, electronic equipment and storage medium. Background Art

[0002] The human knee joint is composed of the articular surfaces between the femur, tibia and patella. It is the joint connecting the femur and tibia, and is also one of the joints that bear the heaviest force in the body. When there are knee joint diseases such as severe osteoarthritis, rheumatoid arthritis, traumatic arthritis, etc., the knee joint cannot perform normal functions, and knee replacement is required to replace the diseased part (including the femur, tibia and meniscus, etc.) with an artificial prosthesis to relieve joint pain, correct deformities, restore and improve the movement function of the joint, and improve the patient's quality of life.

[0003] The surface of the human knee joint is covered by cartilage. As people age, the cartilage gradually wears away, and the bones and ligaments around the knee joint also degenerate, eventually causing knee pain, deformity, and movement disorders. Many people have a misunderstanding that knee replacement surgery is to replace the entire knee, but this is not the case. Knee replacement surgery mainly replaces the cartilage on the surface of the knee joint that has been worn into pits and pits with a metal prosthesis and a wear-resistant gasket made of high-molecular polyethylene.

[0004] Types of knee replacements include total knee arthroplasty (TKA) and unicompartmental knee arthroplasty (UKA).

[0005] Total knee arthroplasty (TKA) is a procedure that replaces a deformed knee joint caused by osteoarthritis or rheumatoid arthritis with artificial materials (such as Figure 1 It is an effective surgical method for treating end-stage knee osteoarthritis caused by various reasons.

[0006] The steps of knee arthroplasty (TKA) usually include patient positioning, skin incision, knee joint exposure, tibia pulling forward to remove dislocation, soft tissue release, removal of surrounding osteophytes, osteotomy of five femoral planes (anterior condyle, anterior oblique, distal, posterior oblique, posterior condyle), tibial plane osteotomy, installation of femoral prosthesis, implantation of tibial prosthesis, installation of tibial spacer, adjustment and suturing, etc. Among the above steps, osteotomy of femur and tibial planes has relatively high technical requirements for doctors, requiring doctors to perform osteotomy operations more accurately according to the established position and posture to ensure that the cut joint section conforms to the surgical plan, has a good balance of flexion and extension gaps, and restores the precise force line of the lower limbs. Perfect osteotomy can not only relieve the patient's postoperative pain and improve the patient's knee joint function, but also prevent the dislocation of the placed joint prosthesis, reduce Notching (femoral anterior cortical notching, a common complication after TKA, refers to the defect of the anterior cortical bone of the femur caused by poor anterior condylar osteotomy during TKA, and the vertical distance between the most distal tangent of the anterior cortex of the femur and the tangent of the femoral prosthesis contacting the femur>1mm) phenomenon, and prolong the service life of the prosthesis. Therefore, the two important links of osteotomy at the femoral and tibial planes are directly related to the success or failure of the entire operation.

[0007] In traditional knee replacement surgery, osteotomy of the femur and tibia is done manually by the doctor using a handheld osteotomy saw. On the one hand, manual hand-held operation reduces the plane accuracy of osteotomy, which may damage the patient's soft tissue and ligaments, reducing the therapeutic effect of the entire operation; on the other hand, the large cutting reaction force also brings a greater burden to the doctor.

[0008] There are also some methods to ensure the accuracy and boundary constraints of planar osteotomy, such as using osteotomy guides or four-in-one guides. After the knee joint is exposed, the osteotomy guides or guides are fixed to the femur or tibia with Kirschner wires, and the osteotomy operation is completed using a handheld osteotomy oscillating saw. This method requires additional nailing operations on the patient's bones, making the surgical process more cumbersome. In addition, the osteotomy oscillating saw manually controlled by the doctor cannot completely guarantee that the patient's soft tissues and ligaments will not be injured.

[0009] In robot-assisted knee replacement surgery, the robot arm can assist the doctor in interactive osteotomy of the femur and tibia. The robot arm drives the osteotomy oscillating saw, and the doctor triggers the tool power to complete the osteotomy process in a controlled manner. It can not only improve the accuracy of plane osteotomy, but also greatly reduce the physical exertion of the doctor while improving the surgical effect. However, in the process of osteotomy of the femur and tibia in knee replacement surgery using robot assistance, the position of the osteotomy oscillating saw in the osteotomy plane needs to be subject to certain boundary restrictions to prevent soft tissue and ligament damage and reduced surgical accuracy caused by excessive range of motion. In the prior art, since the robot's osteotomy oscillating saw cannot be limited to the osteotomy plane, soft tissue and ligament damage and reduced surgical accuracy are often caused due to the excessive range of motion of the osteotomy oscillating saw. Summary of the invention

[0010] The purpose of the present invention is to overcome the above-mentioned technical deficiencies and provide an osteotomy plane boundary control method, an electronic device and a storage medium to solve the technical problems in the related art of soft tissue and ligament damage and reduced surgical accuracy caused by the excessive motion range of the osteotomy oscillating saw.

[0011] In order to achieve the above technical objectives, the present invention adopts the following technical solutions:

[0012] According to a first aspect of the present invention, there is provided a method for controlling an osteotomy plane boundary, comprising:

[0013] Step S1, calculating the distance from the center point of the osteotomy oscillating saw to the boundary line of the osteotomy plane, selecting the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and performing a step-by-step search;

[0014] Step S2, after each step search is completed, the search point coordinates are updated, and the arc trajectory when the end of the osteotomy oscillating saw is within the boundary line of the osteotomy plane is determined according to the updated search coordinate points;

[0015] Step S3, determine whether the arc trajectory intersects with the boundary line of the osteotomy plane. If not, complete the search, output the current search coordinate point as the safe coordinate of the center point of the osteotomy saw, and jump to step S4; if yes, return to step S1 to recalculate the search direction and perform step-by-step search;

[0016] Step S4, calculating the arc trajectory planned in this cycle according to the safety coordinates and the planned direction vector of the osteotomy oscillating saw;

[0017] Step S5, determine whether the arc trajectory planned in the previous cycle will intersect with the boundary line of the osteotomy plane when it is translated to the arc trajectory position planned in this cycle. If it intersects, calculate the movement vector of the arc trajectory planned in the previous cycle when it is translated to the intersection position, and output the safety coordinates of the center point of the osteotomy oscillating saw planned in the previous cycle and the sum of the movement vector as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle; if it does not intersect, output the current search coordinate point as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle.

[0018] According to a second aspect of the present invention, there is provided an osteotomy plane boundary control device, comprising:

[0019] A search module is used to calculate the distance from the center point of the osteotomy saw to the boundary line of the osteotomy plane, select the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and perform a step-by-step search;

[0020] A determination module is used to update the search point coordinates after each step search is completed, and determine the arc trajectory when the end of the osteotomy oscillating saw is within the boundary line of the osteotomy plane according to the updated search coordinate points;

[0021] A judgment module is used to judge whether the arc trajectory intersects with the boundary line of the osteotomy plane. If not, the search is completed and the current search coordinate point is output as the safe coordinate of the center point of the osteotomy oscillating saw to the calculation module; if so, the search direction is recalculated by the search module to perform a step-by-step search;

[0022] A calculation module, used to calculate the arc trajectory planned in this cycle according to the safety coordinates and the planned direction vector of the osteotomy oscillating saw;

[0023] The output module is used to determine whether the arc trajectory planned in the previous cycle will intersect with the boundary line of the osteotomy plane when it is translated to the arc trajectory position planned in this cycle. If it intersects, the movement vector of the arc trajectory planned in the previous cycle when it is translated to the intersection position is calculated, and the safety coordinates of the center point of the osteotomy oscillating saw planned in the previous cycle and the sum of the movement vector are output as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle; if they do not intersect, the current search coordinate point is output as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle.

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

[0025] A processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus;

[0026] Memory, used to store computer programs;

[0027] The processor is used to implement the above method when executing the program stored in the memory.

[0028] According to a fourth aspect of the present invention, there is provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the above method.

[0029] The technical solution provided by the embodiments of the present invention may have the following beneficial effects:

[0030] By calculating the distance from the center point of the osteotomy oscillating saw to the boundary line of the osteotomy plane, the weighted sum of the inward vectors of the two sides with the shortest distance is selected as the search direction, and a step-by-step search is performed to quickly find a safe position that is closest to the plane position boundary (i.e., in line with the expected movement direction and posture) and is within the plane boundary. The safe position is then sent to the robotic arm to drive the surgical tool to move, thereby accurately and safely helping doctors to perform osteotomy operations on the femur and tibia. The technical problem of soft tissue and ligament damage and reduced surgical accuracy caused by the excessive movement range of the osteotomy oscillating saw in the prior art is solved.

[0031] When the technical solution provided by the present invention is applied to a knee replacement surgical robot, it can accurately and easily assist doctors in performing osteotomy operations in knee replacement surgery, while ensuring the boundary safety of the oscillating saw, improving the accuracy and success rate of knee replacement surgery, and reducing the burden on doctors.

[0032] By applying the technical solution provided by the present invention, when a doctor performs a planar osteotomy on a patient's femur or tibia, and when the doctor needs to dynamically adjust the position of the osteotomy oscillating saw within the plane, the robotic arm can limit the doctor's dynamic adjustment safety area, thereby protecting the patient's posterior cruciate ligament and the medial and lateral collateral ligaments from injury, thereby ensuring the safety of the planar osteotomy operation.

[0033] Furthermore, when the osteotomy plane is a concave-convex plane or other irregular plane, the boundary control method provided by the present invention takes into account the physical model of the actual end translation during the osteotomy operation, thereby minimizing the error of the algorithm. Not only does it control the position of the surgical tool from the planning level so that it does not exceed the plane boundary, but it also takes into account the trajectory during the actual execution process, further corrects the planning, and ensures that the surgical tool is always within the irregular plane boundary during the control process.

[0034] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 is a flow chart of total knee arthroplasty (TKA) according to the background art;

[0036] Figure 2 is a flow chart of a method for controlling an osteotomy plane boundary according to an exemplary embodiment;

[0037] Figure 3 is a schematic diagram of a partial system structure of a knee replacement surgical robot according to an exemplary embodiment;

[0038] Figure 4 is a schematic diagram of a control model of an end of an osteotomy oscillating saw according to an exemplary embodiment;

[0039] Figure 5 is a schematic diagram of an osteotomy plane boundary according to an exemplary embodiment;

[0040] Figure 6 is a schematic diagram of osteotomy plane boundary control according to an exemplary embodiment;

[0041] Figure 7 is a schematic diagram of a search process in a screenshot plane boundary control method according to another exemplary embodiment;

[0042] Figure 8 is a schematic diagram showing the calculation of the distance from the center point of an osteotomy oscillating saw to any boundary line and the coordinates of the nearest point according to an exemplary embodiment;

[0043] Fig. 9 is a calculation schematic diagram for determining whether the center point of an osteotomy oscillating saw is located within a boundary line set according to an exemplary embodiment;

[0044] Fig.10 is a schematic diagram of a vector rotation direction calculation algorithm according to an exemplary embodiment;

[0045] Fig.11 is a schematic diagram of an algorithm for intersection of a line segment and a circular arc trajectory according to an exemplary embodiment;

[0046] Fig.12 is a schematic diagram of an algorithm for translating a circular arc trajectory within a boundary according to an exemplary embodiment;

[0047] Fig.13 is a schematic block diagram of an osteotomy plane boundary control device according to an exemplary embodiment;

[0048] Fig.14 It is a schematic block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION

[0049] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0050] As described in the previous background technology, the related art has the technical problems of soft tissue and ligament damage and reduced surgical accuracy due to the excessive motion range of the osteotomy oscillating saw.

[0051] In order to effectively solve the problems in the related art, the present invention provides an osteotomy plane boundary control method, an electronic device and a storage medium, which are described in detail below.

[0052] It should be noted that the “connection lines” mentioned in the following embodiments (such as boundary lines, lines between left endpoints and right endpoints) include but are not limited to: line segments, broken lines, curves, etc.

[0053] Embodiment 1

[0054] Figure 2 is a flow chart of a method for controlling osteotomy plane boundaries according to an exemplary embodiment. Figure 2 , the method comprising:

[0055] Step S1, calculating the distance from the center point of the osteotomy oscillating saw to the boundary line of the osteotomy plane, selecting the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and performing a step-by-step search;

[0056] Step S2, after each step search is completed, the search point coordinates are updated, and the arc trajectory when the end of the osteotomy oscillating saw is within the boundary line of the osteotomy plane is determined according to the updated search coordinate points;

[0057] Step S3, determine whether the arc trajectory intersects with the boundary line of the osteotomy plane. If not, complete the search, output the current search coordinate point as the safe coordinate of the center point of the osteotomy saw, and jump to step S4; if yes, return to step S1 to recalculate the search direction and perform step-by-step search;

[0058] Step S4, calculating the arc trajectory planned in this cycle according to the safety coordinates and the planned direction vector of the osteotomy oscillating saw;

[0059] Step S5, determine whether the arc trajectory planned in the previous cycle will intersect with the boundary line of the osteotomy plane when it is translated to the arc trajectory position planned in this cycle. If it intersects, calculate the movement vector of the arc trajectory planned in the previous cycle when it is translated to the intersection position, and output the safety coordinates of the center point of the osteotomy oscillating saw planned in the previous cycle and the sum of the movement vector as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle; if it does not intersect, output the current search coordinate point as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle.

[0060] It should be noted that the technical solution provided in this embodiment, in specific practice, runs in the controller of the medical device, or is loaded into an electronic device connected to the controller and runs. The controller of the medical device executes the corresponding method by calling the program stored in the electronic device.

[0061] Specifically, the medical device may be an orthopedic surgical robot, which may be applicable to, including but not limited to, knee replacement surgery. The method may be applicable to osteotomy plane boundary control in total knee arthroplasty (TKA), osteotomy plane boundary control in unicompartmental knee arthroplasty (UKA), or may be extended to the boundary control of the plane position of any surgical procedure.

[0062] It can be understood that the technical solution provided by this embodiment calculates the distance from the center point of the osteotomy oscillating saw to the boundary line of the osteotomy plane, selects the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and performs a step-by-step search to quickly find a safe position that is closest to the plane position boundary (i.e., meets the expected movement direction and posture) and is within the plane boundary. The safe position is then sent to the robot arm to drive the surgical tool to move, thereby accurately and safely helping the doctor to perform osteotomy operations on the femur and tibia. The technical problem of soft tissue and ligament damage and reduced surgical accuracy caused by the excessive movement range of the osteotomy oscillating saw in the prior art is solved.

[0063] When the technical solution provided in this embodiment is applied to a knee replacement surgical robot, it can accurately and easily assist doctors in performing osteotomy operations in knee replacement surgery, while ensuring the boundary safety of the oscillating saw, improving the accuracy and success rate of knee replacement surgery, and reducing the burden on doctors.

[0064] In order to further solve the possible jump in the safety position inside the osteotomy plane during the continuous control cycle, the end model of the swing is crossed during the actual execution. Figure 6 As shown in the case of the top concave boundary, the algorithm further performs boundary judgment based on the safe position planned in the previous cycle and the safe position obtained in this step search, ensuring that the safe position finally output by the algorithm controls the pendulum end model to always be within the safe boundary of the osteotomy plane during actual execution.

[0065] Furthermore, when the osteotomy plane is a concave-convex plane or other irregular plane, the boundary control method provided by the present invention takes into account the physical model of the actual end translation during the osteotomy operation, thereby minimizing the error of the algorithm. Not only does it control the position of the surgical tool from the planning level so that it does not exceed the plane boundary, but it also takes into account the trajectory during the actual execution process, further corrects the planning, and ensures that the surgical tool is always within the irregular plane boundary during the control process.

[0066] See also Figure 3 , a knee replacement surgical robot may include: a motion control PC, a robotic arm, a six-dimensional force sensor, a tool (osteotomy oscillating saw) and an optical positioning sensor.

[0067] See also Figure 3A six-dimensional force sensor is installed at the end of the robot arm, and the sensor sensing end is fixedly connected to the osteotomy oscillating saw. The doctor directly interacts with the osteotomy oscillating saw during the operation, and then the motion control PC can sense the doctor's interactive force based on the six-dimensional force sensor, and control the robot arm to perform power control based on the specific size of the interactive force, so that the osteotomy oscillating saw can interactively move in a controlled manner in the osteotomy plane. The optical positioning sensor is responsible for real-time perception of the relative position relationship between the patient and the tool, so that the motion control PC can calculate and update the plane posture information in real time.

[0068] It can be understood that, by applying the technical solution provided in this embodiment, when the doctor performs a planar osteotomy on the patient's femur or tibia, when the doctor needs to dynamically adjust the position of the osteotomy oscillating saw within the plane, the robotic arm can limit the doctor's dynamic adjustment safety area, protect the patient's posterior cruciate ligament and medial and lateral collateral ligaments from injury, and ensure the safety of the planar osteotomy operation.

[0069] Figure 4 This is a schematic diagram of the end control model of the osteotomy oscillating saw, see Figure 4 , v saw is the direction vector of the saw, p center is the coordinate of the end point when the saw is in the neutral position. The end control model of the saw can be regarded as an arc, and its parameter r is the arc radius, and its parameter p is centrr_arc is the center of the arc, and its parameter A left , A right are the angles between the left and right extreme endpoints of the arc and the X axis. center 、Direction vector v saw When determining, the arc Arc and its parameters can be uniquely determined according to the mechanical structure of the oscillating saw.

[0070] Figure 5 Schematic diagram of the osteotomy plane boundary, see Figure 5 , in the osteotomy plane, p boundarys is the boundary point, S boundarys is the polyline segment between the boundary points. The starting and ending boundary points extend infinitely backward along the starting and ending polyline segments and connect at infinity to form a plane position boundary. The polygon formed by the boundary polyline segments can be any concave or convex shape, and the method proposed in this embodiment does not impose any restrictions on the concave and convexity of the boundary.

[0071] Figure 6 This is a schematic diagram of osteotomy plane boundary control, see Figure 6 , in the osteotomy plane, p center_plan is the position of the osteotomy saw planned by the surgeon’s operating force (may exceed the boundary), p center_safeIt is the safe position of the osteotomy oscillating saw (ensuring it is within the boundary). This safe position can control the end of the oscillating saw to move within the plane position boundary in the osteotomy plane, ensuring that the patient's posterior cruciate ligament and medial and lateral collateral ligaments are not injured while the osteotomy task is completed, thereby improving the safety of the operation and the patient's postoperative recovery effect.

[0072] In practice, see Figure 7 , the step S1 comprises:

[0073] Step S11, obtain the planned coordinates p of the center point of the osteotomy oscillating saw center_plan (x,y), the planned direction vector v of the osteotomy saw saw (x,y), the boundary point set p of the osteotomy plane boundarys , the boundary line set S composed of the boundary point set boundarys , single stepping amount inch dist ;

[0074] Step S12: traverse the boundary link set S boundarys For each boundary line in Calculate the center point p of the osteotomy saw center_plan To each boundary line The distance dist i , and the coordinates of the nearest point p_closest i ;

[0075] Step S13: Calculate the center point p of the osteotomy saw center_plan To the border line Distance, find the index number of the two boundary lines with the shortest distance

[0076] Step S14: Determine the center point p of the osteotomy oscillating saw center_plan Is it located in the boundary line set S boundarys If yes, then the initial search coordinate point is equal to the planning coordinate p of the center point of the osteotomy saw iter =p cenier_plan Otherwise, the initial search coordinate point is equal to the coordinate of the nearest point on the boundary line with the shortest distance

[0077] Step S15: Calculate search direction in Represented by the boundary line set The direction vector (unit vector) pointing to the boundary; for inch dir Perform normalization operation to normalize it to a unit vector.

[0078] In specific practice, step S2 includes:

[0079] Step S21: perform step search along the search direction, and after each step search is completed, update the search coordinate point to the sum of the original search coordinate point and the step amount in the search direction. iter =p iter +inch dir *inch dist ;

[0080] Step S22: search for the updated coordinate point p iter , the planned direction vector v of the osteotomy oscillating saw saw , determine the arc trajectory when the end of the osteotomy oscillating saw is within the boundary line of the osteotomy plane.

[0081] In specific practice, step S3 includes:

[0082] Step S31, traverse the boundary connection set S boundarys For each boundary line in Calculate the arc trajectory and each boundary line Do they intersect? If not, the search is completed and the current search coordinate point is output as the safe coordinate p of the center point of the osteotomy saw. center_safe =p iter ; If they intersect, proceed to the next step;

[0083] Step S32: traverse the boundary link set S boundarys For each boundary line in Calculate the current search coordinate point p iter To each boundary line The distance dist i , and the coordinates of the nearest point p_closest i ;

[0084] Step S33, traverse the current search coordinate point p iter The distance to the boundary line, find the index number of the two boundary lines with the shortest distance Return to step S15.

[0085] In practice, the maximum number of step searches can be controlled by adjusting the step size (usually controlling the step size to be greater than 1 / 20 and less than 1 / 10 of the width between the left and right limits of the osteotomy saw) to constrain the search time and ensure the execution time of the algorithm.

[0086] The above-mentioned position boundary control method can ensure that when the position of the surgical tool planned by the doctor's operating force exceeds the boundary, the position is corrected within the boundary range and conforms to the position in the desired direction to control the movement of the robotic arm and adapt to the doctor's operation.

[0087] In practice, see Figure 8 The step S12 calculates the distance from the center point of the osteotomy saw to each boundary line, and the coordinates of the nearest point, including:

[0088] For any boundary line, determine the positional relationship between the center point of the osteotomy oscillating saw and the boundary line;

[0089] If the projection of the center point of the osteotomy saw on the boundary line falls on the left extension line of the boundary line (in this case, the position of the center point of the osteotomy saw is as follows Figure 8 The coordinates of the left end point Pa of the boundary line are determined as the closest point coordinates, and the distance between the center point P1 of the osteotomy oscillating saw and the left end point Pa is the distance from the center point of the osteotomy oscillating saw to the boundary line;

[0090] If the projection of the center point of the osteotomy saw on the boundary line falls on the right extension line of the boundary line (in this case, the position of the center point of the osteotomy saw is as follows Figure 8 The coordinates of the right end point Pb of the boundary line are determined as the closest point coordinates, and the distance between the center point P3 of the osteotomy oscillating saw and the right end point Pb is the distance from the center point of the osteotomy oscillating saw to the boundary line;

[0091] If the projection of the center point of the osteotomy saw on the boundary line falls on the boundary line (in this case, the position of the center point of the osteotomy saw is as follows Figure 8 The projection point is determined as the nearest point coordinate, and the distance between the center point P2 of the osteotomy oscillating saw and the projection point is the distance from the center point of the osteotomy oscillating saw to the boundary line.

[0092] See also Figure 8 , for any boundary line, determining the positional relationship between the center point of the osteotomy oscillating saw and the boundary line includes:

[0093] The left end point Pa of the boundary line is determined as the vector starting point, and the vector direction of the boundary line is from the left end point Pa to the right end point Pb;

[0094] Calculate the projection of the line vector between the left end point Pa and the center point P of the osteotomy oscillating saw (P may be one of p1, p2, and p3) in the vector direction of the boundary line;

[0095] If the length of the projection is less than or equal to 0, it is determined that the projection of the center point P of the osteotomy oscillating saw on the boundary line falls on the right extension line of the boundary line;

[0096] If the length of the projection is greater than 0 and less than or equal to the vector length d of the boundary line, it is determined that the projection of the center point P of the osteotomy oscillating saw on the boundary line falls on the boundary line;

[0097] If the length of the projection is greater than the vector length d of the boundary line, it is determined that the projection of the center point P of the osteotomy oscillating saw on the boundary line falls on the right extension line of the boundary line.

[0098] The above can be expressed as follows: Assume that the center point of the osteotomy saw is P (p1, p2, p3), and the boundary line is from point p a 、p b The line segment composed of the point p closest to point p min , calculated using the following formula:

[0099]

[0100] in,

[0101]

[0102]

[0103] d=‖p b -p a ‖

[0104] Then point p to point p a 、p b The shortest distance of the composed line segments is calculated using the following formula:

[0105] D min =‖pp min ‖

[0106] In practice, see Fig. 9 In step S14, determining whether the center point of the osteotomy oscillating saw is located within the boundary line set includes:

[0107] Step S141, taking the center point P of the osteotomy saw as the starting point, and generating a ray half_line along any direction to infinity;

[0108] Step S142: traverse the boundary point set p boundarys For each boundary point in Determine whether the ray half_line passes through the boundary point If yes, return to step S141, otherwise, proceed to the next step;

[0109] Step S143: traverse the boundary link set S boundarys For each boundary line in Determine whether the ray half_line is connected to the boundary line If yes, return to step S141, otherwise, proceed to the next step;

[0110] Step S144: traverse the boundary link set S boundarys For each boundary line in the calculation, calculate the half_line of the ray and the boundary line The number of intersection points n;

[0111] Step S145, if the number of intersections n is an odd number, it is determined that the center point P of the osteotomy oscillating saw is located within the boundary line set flag = true; if the number of intersections n is an even number, it is determined that the center point P of the osteotomy oscillating saw is located outside the boundary line set flag = false.

[0112] It should be noted that, in practical applications, a ray can be equivalent to a line segment between the ray starting point and a point at infinity in the ray direction, and the ray-line segment intersection calculation in S14 can be converted into line segment intersection detection.

[0113] In specific practice, the step S31 traverses each boundary line in the boundary line set and calculates whether the arc trajectory intersects each boundary line, including:

[0114] For any boundary line, determine whether the radius of the circle where the arc track is located is greater than the straight-line distance from the center of the circle to the boundary line. If so, determine that the circle where the arc track is located has no intersection with the boundary line. Otherwise, determine that the circle where the arc track is located has an intersection with the boundary line.

[0115] If it is determined that the circle where the arc trajectory is located has an intersection with the boundary connection line, determining whether the intersection is on the boundary connection line;

[0116] If both intersection points are outside the boundary connection line, it is determined that the arc track has no intersection with the boundary connection line; if one intersection point is on the boundary connection line and the other is outside the boundary connection line, it is determined that the circle where the arc track is located has one intersection with the boundary connection line; if both intersection points are on the boundary connection line, it is determined that the circle where the arc track is located has two intersections with the boundary connection line;

[0117] If it is determined that the circle where the arc trajectory is located has one intersection with the boundary connecting line, or the circle where the arc trajectory is located has two intersections with the boundary connecting line, for each intersection, a four-quadrant inverse tangent function of the direction vector from the center of the circle to the intersection is calculated;

[0118] If the value of the four-quadrant inverse tangent function is between the left limit angle and the right limit angle of the arc trajectory, it is determined that the arc trajectory intersects the boundary line; otherwise, it is determined that the arc trajectory does not intersect the boundary line.

[0119] See also Fig.11, assuming that the current boundary line is line segment ab, calculating whether the arc trajectory intersects each boundary line includes:

[0120] 1) Use the following formula to determine whether the radius r of the circle is greater than the distance from the center of the circle to the straight line ‖v ch ‖:

[0121] The direction vector of the line segment ab is: v ab =P b -P a

[0122] The direction vector from the endpoint a of line segment ab to the center c is: v ac =P c -P a

[0123] The unit vector of line segment ab is:

[0124] The direction vector from the endpoint a of the line segment ab to the foot of the perpendicular h is: v ah =v ac ·e ab

[0125] The distance between the center c and the foot h is:

[0126] If ‖v ch ‖ is greater than the arc radius r, then the arc Arc has no intersection with the line segment ab;

[0127] If ‖v ch ‖ is smaller than the arc radius r, then perform calculation 2).

[0128] 2) Use the following formula to determine whether there is an intersection point f (f represents Fig.11 Any intersection point f1 or f2):

[0129] The distance between the foot of the perpendicular h and any intersection point f is:

[0130] The direction vector from the endpoint a of line segment ab to the intersection point f1 is: v af1 =v ah +e ab *‖v hf ‖

[0131] The direction vector from the endpoint a of line segment ab to the intersection point f2 is: v af2 =v ah -e ab *‖v hf ‖

[0132] Points f1 and f2 are two intersection points of the straight line and the circle. For each intersection point f

[0133]

[0134] If the two points f1 and f2 are both outside the line segment ab, then the arc Arc has no intersection with the line segment ab;

[0135] If one of f1 and f2 is on line segment ab and the other is outside line segment ab, then the circle and line segment ab have an intersection point, and calculation 3) is performed;

[0136] If f1 and f2 are both on line segment ab, then the circle and line segment ab have two intersection points, and calculation 3) is performed.

[0137] 3) Use the following formula to determine whether the intersection point f is on the arc Arc:

[0138] No matter how many intersections the line segment ab has with the circle, for each intersection point f is calculated in the following calculation:

[0139] The direction vector from the center c to the intersection point f is: v cf =v af -v ac

[0140] The four-quadrant inverse tangent function of the intersection point f: A f =atan2(v cf )

[0141] Among them, atan2() represents the four-quadrant inverse tangent function.

[0142]

[0143] See also Fig.12 In specific practice, step S5 includes:

[0144] Step S51: the arc trajectory Arc_prev and its parameters (r, p center_arc , A left , A right ) to perform uniform n-point interpolation (n ≥ 1) to obtain a uniform point set distributed sequentially on the arc trajectory planned in the previous cycle storing the uniform point set as a first uniform point set;

[0145] Step S52: Perform uniform n-point interpolation (n≥1) on the arc trajectory Arc_iter and its parameters of the current cycle planning to obtain a uniform point set distributed sequentially on the arc trajectory of the current cycle planning. storing the uniform point set as a second uniform point set;

[0146] Step S53: according to the first uniform point set and the second uniform point set Get the line segment set S when the arc trajectory planned in the previous cycle is translated to the arc trajectory position planned in this cycle arc ;

[0147] Step S54: traverse the boundary link set S boundarys Each boundary line in ) and the line segment set S arc Each line segment in ), calculate whether the boundary line and the line segment intersect, if they intersect, mark the intersection and calculate the intersection coordinates, and calculate the movement vector of each point in the first uniform point set to the intersection position according to the intersection coordinates and the point coordinates in the first uniform point set, and generate a movement vector set (i.e., judge one by one and Do they intersect? If they do, set the intersection flag to true and find the intersection point. Calculate the motion vector Get a set of moving vectors D);

[0148] Step S55: If there is an intersection mark, traverse the motion vector set, and determine the motion vector corresponding to the minimum vector module length in the motion vector set as the motion vector when the arc trajectory planned in the previous cycle is translated to the intersection position (i.e., traverse the vector set D, take D k=1~end , find the minimum vector modulus ||D k ||Corresponding serial number k min , the moving vector to the nearest intersection boundary Return flag = true, return D intersection );

[0149] Step S56, if there is no intersection mark, it is determined that the arc trajectory planned in the previous cycle will not intersect with the boundary line of the osteotomy plane when it is translated to the arc trajectory position planned in this cycle (that is, if the flag is not set to true, the arc trajectory does not intersect with the boundary line during movement, and output flag = false).

[0150] In specific practice, the calculating whether the boundary line and the line segment intersect includes:

[0151] For any boundary line and any line segment, calculate the first rotation direction between the line vector between the right endpoint of the boundary line and the left endpoint of the line segment and the line vector between the right endpoint and the left endpoint of the boundary line;

[0152] Calculate the second rotation direction between the line vector between the right end point of the boundary line and the right end point of the line segment, and the line vector between the right end point and the left end point of the boundary line;

[0153] If the product of the first rotation direction and the second rotation direction is greater than 0, it is determined that the boundary line does not intersect the line segment.

[0154] For any boundary line and any line segment, calculate the third rotation direction between the line vector between the right endpoint of the line segment and the left endpoint of the boundary line and the line segment vector;

[0155] Calculate the fourth rotation direction between the line vector between the right endpoint of the line segment and the right endpoint of the boundary line and the line segment vector;

[0156] If the product of the third rotation direction and the fourth rotation direction is greater than 0, it is determined that the boundary line does not intersect the line segment.

[0157] Further, the calculating the intersection coordinates includes:

[0158] For any boundary line and any line segment, calculate the relative distance between the intersection point on the boundary line and any endpoint according to the first rotation direction, the third rotation direction and the fourth rotation direction;

[0159] The sum of the endpoint coordinates and the relative distance is determined as the intersection coordinates.

[0160] In order to facilitate understanding of the process of calculating whether the boundary line and the line segment intersect, and the calculation process of the intersection coordinates, now take the left endpoint of any line segment as p c The right endpoint of the line segment is p d , the left end point of any boundary line is p a , the right endpoint is p b For example, see Fig. 9 , the explanation is as follows:

[0161] Let kross(v1,v2) be the function that represents the direction of rotation of the vector, point p a 、p b The line segment, point p c 、p d To form line segments, the following algorithm can be used to quickly determine whether two line segments intersect:

[0162]

[0163] in,

[0164] v da =p a -p d

[0165] v db =p b -p d

[0166] v dc =p c -p d

[0167] v ba =p a -p b

[0168] v bc =p c -p b

[0169] See also Fig.10 , the kross(v1,v2) function is defined as:

[0170] The rotation direction between two vectors v1(x1,y1) and v2(x2,y2) is calculated as follows:

[0171]

[0172] in,

[0173] kross(v1,v2)=x1*y2-x2*y1

[0174] eps is a floating point number, usually 0.000001.

[0175] When two line segments intersect, the intersection point p can be calculated f coordinate:

[0176] scale=|kross(v da ,v dc ) / (kross(v bc ,v ba )-kross(-v db ,v ba ))|

[0177] p f =p a +scale*(-v ba ).

[0178] It can be understood that the technical solution provided in this embodiment can ensure that when the position of the surgical tool planned by the doctor's operating force exceeds the boundary through the boundary control of the osteotomy plane, the position is corrected to be within the specified boundary range and in line with the expected direction, thereby improving the success rate of the operation.

[0179] In addition, the boundary control method of the osteotomy plane provided in this embodiment does not impose any restrictions on the concavity and convexity of the boundary, supports customizing the boundary type according to the patient's anatomical structure, can protect the patient's posterior cruciate ligament and medial and lateral collateral ligaments from injury, and avoids unnecessary excessive cutting of soft tissues and ligaments.

[0180] Furthermore, the technical solution provided in this embodiment calculates the safe position of the surgical tool according to the surgical tool position and the surgical safety zone boundary planned by the doctor's operating force, and sends it to the robot arm to drive the surgical tool to move, thereby accurately and safely performing osteotomy operations on the femur and tibia. Moreover, only the expected position, expected direction and safety boundary of the osteotomy saw are required, and the current position and current direction of the osteotomy saw do not need to be obtained, which reduces the impact of system time lag on control and can ensure that the given safety direction of the osteotomy saw is consistent with the expected direction.

[0181] Embodiment 2

[0182] According to another exemplary embodiment, a method for controlling an osteotomy plane boundary is shown, the method comprising:

[0183] Step S11, obtain the planned coordinates p of the center point of the osteotomy oscillating saw center_plan (x,y), the planned direction vector v of the osteotomy saw saw (x,y), the boundary point set p of the osteotomy plane boundarys , the boundary line set S composed of the boundary point set boundarys , single stepping amount inch dist ;

[0184] Step S12: traverse the boundary link set S boundarts For each boundary line in Calculate the center point p of the osteotomy saw center_plan To each boundary line The distance dist i , and the coordinates of the nearest point p_closest i ;

[0185] Step S13: Calculate the center point p of the osteotomy saw center_plan To the border line Distance, find the index number of the two boundary lines with the shortest distance

[0186] Step S14: Determine the center point p of the osteotomy oscillating saw center_plan Is it located in the boundary line set S boundarys If yes, then the initial search coordinate point is equal to the planning coordinate p of the center point of the osteotomy saw iter =p center_planOtherwise, the initial search coordinate point is equal to the coordinate of the nearest point on the boundary line with the shortest distance

[0187] Step S15: Calculate search direction in Represented by the boundary line set The direction vector (unit vector) pointing to the boundary; for inch dir Perform unitization operation to normalize it to a unit vector;

[0188] Step S21: perform step search along the search direction, and after each step search is completed, update the search coordinate point to the sum of the original search coordinate point and the step amount in the search direction. iter =p iter +inch dir *inch dist ;

[0189] Step S22: search for the updated coordinate point p iter , the planned direction vector v of the osteotomy oscillating saw saw , determine the arc trajectory when the end of the osteotomy oscillating saw is within the boundary line of the osteotomy plane;

[0190] Step S31, traverse the boundary connection set S boundarys For each boundary line in Calculate the arc trajectory and each boundary line Do they intersect? If not, the search is completed and the current search coordinate point is output as the safe coordinate p of the center point of the osteotomy saw. center_safe =p iter ; If they intersect, proceed to the next step;

[0191] Step S32: traverse the boundary link set S boundarys For each boundary line in Calculate the current search coordinate point p iter To each boundary line The distance dist i , and the coordinates of the nearest point p_closest i ;

[0192] Step S33, traverse the current search coordinate point p iter The distance to the boundary line, find the index number of the two boundary lines with the shortest distance Return to step S15;

[0193] Step S4: According to the safety coordinate p center_safe and the planned direction vector v of the osteotomy saw saw, calculate the arc trajectory Arc_iter planned for this cycle;

[0194] Step S51: the arc trajectory Arc_prev and its parameters (r, p center_arc , A left , A right ) to perform uniform n-point interpolation (n ≥ 1) to obtain a uniform point set distributed sequentially on the arc trajectory planned in the previous cycle storing the uniform point set as a first uniform point set;

[0195] Step S52: Perform uniform n-point interpolation (n≥1) on the arc trajectory Arc_iter and its parameters of the current cycle planning to obtain a uniform point set distributed sequentially on the arc trajectory of the current cycle planning. storing the uniform point set as a second uniform point set;

[0196] Step S53: according to the first uniform point set and the second uniform point set Get the line segment set S when the arc trajectory planned in the previous cycle is translated to the arc trajectory position planned in this cycle arc ;

[0197] Step S54: traverse the boundary link set S boundarys Each boundary line in ) and the line segment set S arc Each line segment in ), calculate whether the boundary line and the line segment intersect, if they intersect, mark the intersection and calculate the intersection coordinates, and calculate the movement vector of each point in the first uniform point set to the intersection position according to the intersection coordinates and the point coordinates in the first uniform point set, and generate a movement vector set (i.e., judge one by one and Do they intersect? If they do, set the intersection flag to true and find the intersection point. Calculate the motion vector Get a set of moving vectors D);

[0198] Step S55: If there is an intersection mark, the minimum value in the motion vector set is determined as the motion vector when the arc trajectory planned in the previous cycle is translated to the intersection position (i.e., the shortest distance D between the arc trajectory planned in the previous cycle and the intersection is calculated). intersection =min(D); output flag = true, D intersection );

[0199] Step S56, if there is no intersection mark, it is determined that the arc trajectory planned in the previous cycle will not intersect with the boundary line of the osteotomy plane when it is translated to the arc trajectory position planned in this cycle (that is, if the flag is not set to true, the arc trajectory does not intersect with the boundary line during movement, and output flag = false).

[0200] It should be noted that the technical solution provided in this embodiment, in specific practice, runs in the controller of the medical device, or is loaded into an electronic device connected to the controller and runs. The controller of the medical device executes the corresponding method by calling the program stored in the electronic device.

[0201] Specifically, the medical device may be an orthopedic surgical robot, which may be applicable to, including but not limited to, knee replacement surgery. The method may be applicable to osteotomy plane boundary control in total knee arthroplasty (TKA), osteotomy plane boundary control in unicompartmental knee arthroplasty (UKA), or may be extended to the boundary control of the plane position of any surgical procedure.

[0202] It can be understood that the technical solution provided by this embodiment calculates the distance from the center point of the osteotomy oscillating saw to the boundary line of the osteotomy plane, selects the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and performs a step-by-step search to quickly find a safe position that is closest to the plane position boundary (i.e., meets the expected movement direction and posture) and is within the plane boundary. The safe position is then sent to the robot arm to drive the surgical tool to move, thereby accurately and safely helping the doctor to perform osteotomy operations on the femur and tibia. The technical problem of soft tissue and ligament damage and reduced surgical accuracy caused by the excessive movement range of the osteotomy oscillating saw in the prior art is solved.

[0203] When the technical solution provided in this embodiment is applied to a knee replacement surgical robot, it can accurately and easily assist doctors in performing osteotomy operations in knee replacement surgery, while ensuring the boundary safety of the oscillating saw, improving the accuracy and success rate of knee replacement surgery, and reducing the burden on doctors.

[0204] In addition, the boundary control method of the osteotomy plane provided in this embodiment does not impose any restrictions on the concavity and convexity of the boundary, supports customizing the boundary type according to the patient's anatomical structure, can protect the patient's posterior cruciate ligament and medial and lateral collateral ligaments from injury, and avoids unnecessary excessive cutting of soft tissues and ligaments.

[0205] Furthermore, the technical solution provided in this embodiment calculates the safe position of the surgical tool according to the surgical tool position and the surgical safety zone boundary planned by the doctor's operating force, and sends it to the robot arm to drive the surgical tool to move, thereby accurately and safely performing osteotomy operations on the femur and tibia. Moreover, only the expected position, expected direction and safety boundary of the osteotomy saw are required, and the current position and current direction of the osteotomy saw do not need to be obtained, which reduces the impact of system time lag on control and can ensure that the given safety direction of the osteotomy saw is consistent with the expected direction.

[0206] In order to further solve the possible jump in the safety position inside the osteotomy plane during the continuous control cycle, the end model of the swing is crossed during the actual execution. Figure 6 As shown in the case of the top concave boundary, the algorithm further performs boundary judgment based on the safe position planned in the previous cycle and the safe position obtained in this step search, ensuring that the safe position finally output by the algorithm controls the pendulum end model to always be within the safe boundary of the osteotomy plane during actual execution.

[0207] Furthermore, when the osteotomy plane is a concave-convex plane or other irregular plane, the boundary control method provided in this embodiment takes into account the physical model of the actual end translation during the osteotomy operation, thereby minimizing the error of the algorithm. Not only does it control the position of the surgical tool from the planning level so that it does not exceed the plane boundary, but it also takes into account the trajectory during the actual execution process, further corrects the planning, and ensures that the surgical tool is always within the irregular plane boundary during the control process.

[0208] Embodiment 3

[0209] Based on the same idea, see Fig.13 According to an exemplary embodiment, an osteotomy plane boundary control device 100 includes:

[0210] Search module 101, used to calculate the distance from the center point of the osteotomy saw to the boundary line of the osteotomy plane, select the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and perform step-by-step search;

[0211] The determination module 102 is used to update the search point coordinates after each step search is completed, and determine the arc trajectory when the end of the osteotomy oscillating saw is within the boundary line of the osteotomy plane according to the updated search coordinate points;

[0212] The judgment module 103 is used to judge whether the arc trajectory intersects with the boundary line of the osteotomy plane. If not, the search is completed and the current search coordinate point is output as the safe coordinate of the center point of the osteotomy saw to the calculation module; if so, the search direction is recalculated in the search module to perform a step-by-step search;

[0213] A calculation module 104, used to calculate the arc trajectory planned in this cycle according to the safety coordinates and the planned direction vector of the osteotomy oscillating saw;

[0214] The output module 105 is used to determine whether the arc trajectory planned in the previous cycle will intersect with the boundary line of the osteotomy plane when it is translated to the arc trajectory position planned in this cycle. If it intersects, the movement vector of the arc trajectory planned in the previous cycle when it is translated to the intersection position is calculated, and the safety coordinates of the center point of the osteotomy oscillating saw planned in the previous cycle and the sum of the movement vector are output as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle; if it does not intersect, the current search coordinate point is output as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle.

[0215] It should be noted that the implementation methods and beneficial effects of the above modules can be found in the introduction of the relevant steps of the above embodiments, and will not be repeated in this embodiment.

[0216] It can be understood that the technical solution provided by this embodiment calculates the distance from the center point of the osteotomy oscillating saw to the boundary line of the osteotomy plane, selects the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and performs a step-by-step search to quickly find a safe position that is closest to the plane position boundary (i.e., meets the expected movement direction and posture) and is within the plane boundary. The safe position is then sent to the robot arm to drive the surgical tool to move, thereby accurately and safely helping the doctor to perform osteotomy operations on the femur and tibia. The technical problem of soft tissue and ligament damage and reduced surgical accuracy caused by the excessive movement range of the osteotomy oscillating saw in the prior art is solved.

[0217] Embodiment 4

[0218] See also Fig.14 According to an exemplary embodiment, an electronic device includes:

[0219] Processor 701, communication interface 702, memory 703 and communication bus 704, wherein the processor 701, communication interface 702, memory 703 communicate with each other via the communication bus 704;

[0220] Memory 703, used for storing computer programs;

[0221] The processor 701 is used to implement the above method when executing the program stored in the memory.

[0222] It can be understood that the technical solution provided by this embodiment calculates the distance from the center point of the osteotomy oscillating saw to the boundary line of the osteotomy plane, selects the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and performs a step-by-step search to quickly find a safe position that is closest to the plane position boundary (i.e., meets the expected movement direction and posture) and is within the plane boundary. The safe position is then sent to the robot arm to drive the surgical tool to move, thereby accurately and safely helping the doctor to perform osteotomy operations on the femur and tibia. The technical problem of soft tissue and ligament damage and reduced surgical accuracy caused by the excessive movement range of the osteotomy oscillating saw in the prior art is solved.

[0223] Embodiment 5

[0224] According to an exemplary embodiment, a non-transitory computer-readable storage medium storing computer instructions is shown, where the computer instructions are used to enable a computer to execute the above method.

[0225] It can be understood that the technical solution provided by this embodiment calculates the distance from the center point of the osteotomy oscillating saw to the boundary line of the osteotomy plane, selects the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and performs a step-by-step search to quickly find a safe position that is closest to the plane position boundary (i.e., meets the expected movement direction and posture) and is within the plane boundary. The safe position is then sent to the robot arm to drive the surgical tool to move, thereby accurately and safely helping the doctor to perform osteotomy operations on the femur and tibia. The technical problem of soft tissue and ligament damage and reduced surgical accuracy caused by the excessive movement range of the osteotomy oscillating saw in the prior art is solved.

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

[0227] The specific implementation of the present invention described above does not constitute a limitation on the protection scope of the present invention. Any other corresponding changes and modifications made based on the technical concept of the present invention should be included in the protection scope of the claims of the present invention.

Claims

1. A method for controlling the boundary of an osteotomy plane, characterized in that: include: Step S1, calculating the distance from the center point of the osteotomy oscillating saw to the boundary line of the osteotomy plane, selecting the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and performing a step-by-step search; Step S2, after each step search is completed, the search point coordinates are updated, and the arc trajectory when the end of the osteotomy oscillating saw is within the boundary line of the osteotomy plane is determined according to the updated search coordinate points; Step S3, determine whether the arc trajectory intersects with the boundary line of the osteotomy plane. If not, complete the search, output the current search coordinate point as the safe coordinate of the center point of the osteotomy saw, and jump to step S4; if yes, return to step S1 to recalculate the search direction and perform step-by-step search; Step S4, calculating the arc trajectory planned in this cycle according to the safety coordinates and the planned direction vector of the osteotomy oscillating saw; Step S5, determine whether the arc trajectory planned in the previous cycle will intersect with the boundary line of the osteotomy plane when it is translated to the arc trajectory position planned in this cycle. If it intersects, calculate the movement vector of the arc trajectory planned in the previous cycle when it is translated to the intersection position, and output the safety coordinates of the center point of the osteotomy oscillating saw planned in the previous cycle and the sum of the movement vector as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle; if it does not intersect, output the current search coordinate point as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle.

2. The method according to claim 1, characterized in that: The step S1 comprises: Step S11, obtaining the planned coordinates of the center point of the osteotomy oscillating saw, the planned direction vector of the osteotomy oscillating saw, the boundary point set of the osteotomy plane, the boundary line set composed of the boundary point set, and the single step amount; Step S12, traversing each boundary line in the boundary line set, calculating the distance from the center point of the osteotomy oscillating saw to each boundary line, and the coordinates of the closest point; Step S13, traversing the distance from the center point of the osteotomy oscillating saw to the boundary line, and finding the index numbers of the two boundary lines with the shortest distance; Step S14, determining whether the center point of the osteotomy oscillating saw is located within the boundary line set, if so, initializing the search coordinate point to be equal to the planned coordinates of the center point of the osteotomy oscillating saw, otherwise, initializing the search coordinate point to be equal to the coordinates of the nearest point on the boundary line with the shortest distance; Step S15, calculating the search direction, wherein the search direction is the weighted sum of the direction vectors of the two boundary lines with the shortest distance, and the weight value of the direction vector of each boundary line is the distance value between the other boundary line and the center point of the osteotomy oscillating saw.

3. The method according to claim 2, characterized in that The step S2 comprises: Step S21, performing a step search along the search direction, and after each step search is completed, updating the search coordinate point to the sum of the original search coordinate point and the step amount in the search direction; Step S22: determining the arc trajectory of the end of the osteotomy oscillating saw when it is within the boundary line of the osteotomy plane according to the updated search coordinate point and the planned direction vector of the osteotomy oscillating saw.

4. The method according to claim 3, characterized in that The step S3 comprises: Step S31, traverse each boundary line in the boundary line set, calculate whether the arc trajectory intersects with each boundary line, if not, complete the search, output the current search coordinate point as the safety coordinate of the center point of the osteotomy oscillating saw; if intersecting, proceed to the next step; Step S32, traverse each boundary line in the boundary line set, calculate the distance from the current search coordinate point to each boundary line, and the coordinates of the nearest point; Step S33, traverse the distance from the current search coordinate point to the boundary line, find the index numbers of the two boundary lines with the shortest distance, and return to step S15.

5. The method according to claim 2, characterized in that: The step S12 calculates the distance from the center point of the osteotomy saw to each boundary line, and the coordinates of the closest point, including: For any boundary line, determine the positional relationship between the center point of the osteotomy oscillating saw and the boundary line; If the projection of the center point of the osteotomy oscillating saw on the boundary line falls on the left extension line of the boundary line, the coordinates of the left end point of the boundary line are determined as the closest point coordinates, and the distance between the center point of the osteotomy oscillating saw and the left end point is the distance from the center point of the osteotomy oscillating saw to the boundary line; If the projection of the center point of the osteotomy oscillating saw on the boundary line falls on the right extension line of the boundary line, the coordinates of the right end point of the boundary line are determined as the closest point coordinates, and the distance between the center point of the osteotomy oscillating saw and the right end point is the distance from the center point of the osteotomy oscillating saw to the boundary line; If the projection of the center point of the osteotomy saw on the boundary line falls on the boundary line, the projection point is determined as the nearest point coordinate, and the distance between the center point of the osteotomy saw and the projection point is the distance from the center point of the osteotomy saw to the boundary line.

6. The method according to claim 5, characterized in that The step of determining the positional relationship between the center point of the osteotomy oscillating saw and any boundary line includes: The left end point of the boundary line is determined as the vector starting point, and the vector direction of the boundary line is from the left end point to the right end point; Calculate the projection of the line vector between the left end point and the center point of the osteotomy oscillating saw in the vector direction of the boundary line; If the length of the projection is less than or equal to 0, it is determined that the projection of the center point of the osteotomy oscillating saw on the boundary line falls on the right extension line of the boundary line; If the length of the projection is greater than 0 and less than or equal to the vector length of the boundary line, it is determined that the projection of the center point of the osteotomy oscillating saw on the boundary line falls on the boundary line; If the length of the projection is greater than the vector length of the boundary line, it is determined that the projection of the center point of the osteotomy oscillating saw on the boundary line falls on the right extension line of the boundary line.

7. The method according to claim 2, characterized in that The step S14 of determining whether the center point of the osteotomy oscillating saw is located within the boundary line set includes: Step S141, taking the center point of the osteotomy saw as the starting point, and generating a ray in any direction to infinity; Step S142, traverse each boundary point in the boundary point set to determine whether the ray passes through the boundary point, if so, return to step S141, otherwise, proceed to the next step; Step S143, traverse each boundary line in the boundary line set to determine whether the ray coincides with the boundary line, if so, return to step S141, otherwise, proceed to the next step; Step S144, traversing each boundary line in the boundary line set, and calculating the number of intersection points where the ray intersects with the boundary line; Step S145: if the number of intersections is an odd number, it is determined that the center point of the osteotomy oscillating saw is located within the boundary line set; if the number of intersections is an even number, it is determined that the center point of the osteotomy oscillating saw is located outside the boundary line set.

8. The method according to claim 4, characterized in that The step S31 of traversing each boundary line in the boundary line set and calculating whether the arc trajectory intersects each boundary line includes: For any boundary line, determine whether the radius of the circle where the arc track is located is greater than the straight-line distance from the center of the circle to the boundary line. If so, determine that the circle where the arc track is located has no intersection with the boundary line. Otherwise, determine that the circle where the arc track is located has an intersection with the boundary line. If it is determined that the circle where the arc trajectory is located has an intersection with the boundary connection line, determining whether the intersection is on the boundary connection line; If both intersection points are outside the boundary connection line, it is determined that the arc track has no intersection with the boundary connection line; if one intersection point is on the boundary connection line and the other is outside the boundary connection line, it is determined that the circle where the arc track is located has one intersection with the boundary connection line; if both intersection points are on the boundary connection line, it is determined that the circle where the arc track is located has two intersections with the boundary connection line; If it is determined that the circle where the arc trajectory is located has one intersection with the boundary connecting line, or the circle where the arc trajectory is located has two intersections with the boundary connecting line, for each intersection, a four-quadrant inverse tangent function of the direction vector from the center of the circle to the intersection is calculated; If the value of the four-quadrant inverse tangent function is between the left limit angle and the right limit angle of the arc trajectory, it is determined that the arc trajectory intersects the boundary line; otherwise, it is determined that the arc trajectory does not intersect the boundary line.

9. The method according to claim 1, characterized in that: The step S5 comprises: Performing uniform n-point interpolation on the arc trajectory planned in the previous cycle to obtain a uniform point set distributed sequentially on the arc trajectory planned in the previous cycle, and storing the uniform point set as a first uniform point set; Performing uniform n-point interpolation on the circular arc trajectory planned in the current cycle to obtain a uniform point set distributed sequentially on the circular arc trajectory planned in the current cycle, and storing the uniform point set as a second uniform point set; According to the first uniform point set and the second uniform point set, a line segment set is obtained when the arc trajectory planned in the previous cycle is translated to the position of the arc trajectory planned in the current cycle; Traversing each boundary line in the boundary line set and each line segment in the line segment set, calculating whether the boundary line and the line segment intersect, and if so, marking the intersection and calculating the intersection coordinates, and calculating the motion vector of each point in the first uniform point set translated to the intersection position according to the intersection coordinates and the point coordinates in the first uniform point set, to generate a motion vector set; If there is an intersection mark, traverse the movement vector set, and determine the movement vector corresponding to the minimum vector modulus in the movement vector set as the movement vector when the arc trajectory planned in the previous cycle is translated to the intersection position; If there is no intersection mark, it is determined that the arc trajectory planned in the previous cycle will not intersect with the boundary line of the osteotomy plane when it is translated to the arc trajectory position planned in this cycle.

10. The method according to claim 9, characterized in that The calculating whether the boundary line and the line segment intersect includes: For any boundary line and any line segment, calculate the first rotation direction between the line vector between the right endpoint of the boundary line and the left endpoint of the line segment and the line vector between the right endpoint and the left endpoint of the boundary line; Calculate the second rotation direction between the line vector between the right end point of the boundary line and the right end point of the line segment, and the line vector between the right end point and the left end point of the boundary line; If the product of the first rotation direction and the second rotation direction is greater than 0, it is determined that the boundary line does not intersect the line segment.

11. The method according to claim 10, characterized in that The calculating whether the boundary line and the line segment intersect includes: For any boundary line and any line segment, calculate the third rotation direction between the line vector between the right endpoint of the line segment and the left endpoint of the boundary line and the line segment vector; Calculate the fourth rotation direction between the line vector between the right endpoint of the line segment and the right endpoint of the boundary line and the line segment vector; If the product of the third rotation direction and the fourth rotation direction is greater than 0, it is determined that the boundary line does not intersect the line segment.

12. The method according to claim 11, characterized in that The calculating of the intersection coordinates comprises: For any boundary line and any line segment, calculate the relative distance between the intersection point on the boundary line and any endpoint according to the first rotation direction, the third rotation direction and the fourth rotation direction; The sum of the endpoint coordinates and the relative distance is determined as the intersection coordinates.

13. An osteotomy plane boundary control device, characterized in that: include: A search module is used to calculate the distance from the center point of the osteotomy saw to the boundary line of the osteotomy plane, select the weighted sum of the inward vectors of the two sides with the shortest distance as the search direction, and perform a step-by-step search; A determination module is used to update the search point coordinates after each step search is completed, and determine the arc trajectory when the end of the osteotomy oscillating saw is within the boundary line of the osteotomy plane according to the updated search coordinate points; A judgment module is used to judge whether the arc trajectory intersects with the boundary line of the osteotomy plane. If not, the search is completed and the current search coordinate point is output as the safe coordinate of the center point of the osteotomy oscillating saw to the calculation module; if so, the search direction is recalculated by the search module to perform a step-by-step search; A calculation module, used to calculate the arc trajectory planned in this cycle according to the safety coordinates and the planned direction vector of the osteotomy oscillating saw; The output module is used to determine whether the arc trajectory planned in the previous cycle will intersect with the boundary line of the osteotomy plane when it is translated to the arc trajectory position planned in this cycle. If it intersects, the movement vector of the arc trajectory planned in the previous cycle when it is translated to the intersection position is calculated, and the safety coordinates of the center point of the osteotomy oscillating saw planned in the previous cycle and the sum of the movement vector are output as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle; if they do not intersect, the current search coordinate point is output as the safety coordinates of the center point of the osteotomy oscillating saw planned in this cycle.

14. An electronic device, characterized in that: include: A processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory, used to store computer programs; A processor, for implementing the method according to any one of claims 1 to 12 when executing a program stored in a memory.

15. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to make a computer execute the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • System and method for manipulating an anatomy

    CN107635486A

  • Method and device for generating safe osteotomy prompt information and terminal equipment

    CN111700681A

  • Bone cutter and soft tissue protector

    CN112469344A

  • Path planning system of spinal surgical robot and robot system

    CN113876429A

  • Plane cutting control method and device and storage medium

    CN115153734A

Cited By

  • Osteotomy plane and hinge point linkage optimization method based on bone structure direction field

    CN122244312A