Surgical robot control method and apparatus, storage medium and electronic device
By preoperative planning and spatial ensemble computation, the target workspace of the surgical robot is determined, which solves the problem that the surgical robot with low degrees of freedom cannot be adjusted to all necessary operating postures, and improves the accuracy of surgical robot control.
Patent Information
- Application Number
- CN202511183220.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-22
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2045-08-22
AI Technical Summary
Due to kinematic constraints, surgical robots with low degrees of freedom cannot be adjusted to all necessary operating postures, resulting in relatively low accuracy in controlling the surgical robot.
By determining multiple simulated osteotomy surfaces of the target object through preoperative planning, the first workspace of the surgical robot is calculated, and the target workspace is determined through spatial set operations. This ensures that the surgical robot can cover the positioning requirements of all simulated osteotomy surfaces and avoids kinematic limitations during posture adjustment.
This improves the accuracy of surgical robot control, ensuring that the robotic arm can accurately reach and manipulate each osteotomy surface during surgery, and reduces kinematic limitations during posture adjustment.
Smart Images

Figure CN120713650B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of medical treatment, in particular to a control method and device of a surgical robot, a storage medium and an electronic device. BACKGROUND
[0002] In the field of total knee arthroplasty surgery, the traditional surgical method faces significant challenges, relying too much on the manual skills and experience of surgeons, often leading to limited surgical precision, increasing the risk of operation and the possibility of complications. In recent years, the introduction of robot-assisted surgery has significantly improved accuracy and repeatability, but in the under-actuated robot system, the limitation of its workspace is still a difficult problem to be solved. In knee surgery, precise positioning and operation of the six key osteotomy planes of the femur and tibia are the key to the success of the operation. However, although the robot can reach the osteotomy plane, the kinematic constraint limits its ability to adjust the attitude.
[0003] At present, the under-actuated surgical robot system is limited by its mechanical structure and kinematic model, and its attitude adjustment flexibility is insufficient, making it difficult to cover all necessary operating attitudes, resulting in challenges in the precise control of robot-assisted surgery.
[0004] In view of the problem that the under-actuated surgical robot in the related art cannot be adjusted to all necessary operating attitudes due to kinematic constraints, resulting in low accuracy of surgical robot control, no effective solution has been proposed so far. SUMMARY
[0005] The main purpose of the present application is to provide a control method and device of a surgical robot, a storage medium and an electronic device, to solve the problem that the under-actuated surgical robot in the related art cannot be adjusted to all necessary operating attitudes due to kinematic constraints, resulting in low accuracy of surgical robot control.
[0006] In order to achieve the above-mentioned purpose, according to one aspect of the present application, a control method of a surgical robot is provided. The method comprises: determining a plurality of simulated osteotomy planes of a target object according to a preoperative plan of knee replacement; calculating the working space of the surgical robot under each simulated osteotomy plane to obtain a plurality of first working spaces; determining the target working space of the surgical robot according to the plurality of first working spaces, and controlling the surgical robot to perform an action based on the target working space.
[0007] Further, the plurality of simulated bone cutting surfaces at least includes a femur bone cutting surface and a tibia bone cutting surface, and determining the target workspace of the surgical robot according to the plurality of first workspaces includes: judging whether an overlapping region of the plurality of first workspaces satisfies a preset condition; if the overlapping region does not satisfy the preset condition, determining an overlapping workspace according to a first workspace corresponding to the femur bone cutting surface; and determining the target workspace according to the overlapping workspace and a first workspace corresponding to the tibia bone cutting surface.
[0008] Further, after judging whether the overlapping region of the plurality of first workspaces satisfies the preset condition, the method further includes: if the overlapping region satisfies the preset condition, performing fitting calculation on the overlapping region by dichotomy to obtain the target workspace.
[0009] Further, the calculation of the workspace of the surgical robot under each simulated bone cutting surface to obtain a plurality of first workspaces includes: for a target simulated bone cutting surface, determining attitude information of the target simulated bone cutting surface in a base coordinate system of a mechanical arm of the surgical robot; obtaining a working subspace corresponding to the target simulated bone cutting surface by fitting the mechanical arm of the surgical robot to rotate around a first axis in the attitude information; calculating a first offset in a first axis direction and a second offset in a third axis direction of the surgical robot according to a target vector corresponding to the first axis direction in the attitude information; obtaining a first workspace corresponding to the target simulated bone cutting surface according to the working subspace, the first offset and the second offset; and obtaining the plurality of first workspaces according to the first workspace corresponding to the target simulated bone cutting surface.
[0010] Further, the calculation of the working subspace corresponding to the target simulated bone cutting surface by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information includes: obtaining a target angle range by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information; calculating a first movement angle range of a first joint of the mechanical arm of the surgical robot and a second running angle range of a third joint of the mechanical arm in a plane formed by the first axis and the third axis based on the target angle range; and obtaining the working subspace according to the first movement angle range and the second running angle range.
[0011] Further, the calculating, according to the target vector corresponding to the first-axis direction in the posture information, of the first offset along the first-axis direction and the second offset along the third-axis direction of the surgical robot comprises: calculating, according to the target vector, of a first angle value and a second angle value, wherein the first angle value is an offset angle of the mechanical arm rotating around the second axis in the posture information, and the second angle value is a pitch angle of the mechanical arm rotating around the third axis in the posture information; calculating, according to the first angle value and a first fitting function, of the first offset, wherein the first fitting function is fitted based on the mechanical arm rotating around the second axis in the posture information; and calculating, according to the second angle value and a second fitting function, of the second offset, wherein the second fitting function is fitted based on the mechanical arm rotating around the third axis in the posture information.
[0012] Further, the calculating, according to the target vector, of the first angle value and the second angle value comprises: calculating a first projection value of the target vector in a plane constituted by the first axis and the second axis in the mechanical arm base coordinate system; calculating, according to the first projection value and a first normal vector corresponding to the first axis in the mechanical arm base coordinate system, of the first angle value; calculating a second projection value of the target vector in a plane constituted by the second axis and the third axis in the mechanical arm base coordinate system; and calculating, according to the second projection value and a second normal vector corresponding to the third axis in the mechanical arm base coordinate system, of the second angle value.
[0013] Further, before the fitting and calculating, by the dichotomy search method, of the overlapping region to obtain the target working space, the method further comprises: discretely sampling each first working space to obtain a discrete point set; performing geometric approximation processing on the discrete point set by a polygon fitting algorithm to obtain a polygon point set corresponding to each first working space; and calculating, according to the polygon point set corresponding to each first working space, of an intersection region of the polygon point sets by a clipping method to obtain the overlapping region.
[0014] To achieve the above object, according to another aspect of the present application, a control device of a surgical robot is provided. The device comprises: a first determination unit configured to determine a plurality of simulated bone cutting planes of a target object according to a preoperative plan of knee joint replacement; a first calculation unit configured to calculate, under each simulated bone cutting plane, a working space of the surgical robot to obtain a plurality of first working spaces; and a second determination unit configured to determine a target working space of the surgical robot according to the plurality of first working spaces, and control the surgical robot to perform an action based on the target working space.
[0015] Further, the plurality of simulated bone cutting surfaces at least include a femur bone cutting surface and a tibia bone cutting surface, the second determining unit includes: a judging sub-unit, configured to judge whether an overlapping region of the plurality of first working spaces satisfies a preset condition; a first determining sub-unit, configured to, if the overlapping region does not satisfy the preset condition, determine an overlapping working space according to a first working space corresponding to the femur bone cutting surface; and a second determining sub-unit, configured to determine the target working space according to the overlapping working space and a first working space corresponding to the tibia bone cutting surface.
[0016] Further, the device further includes: a second calculating unit, configured to, after judging whether an overlapping region of the plurality of first working spaces satisfies a preset condition, if the overlapping region satisfies the preset condition, perform fitting calculation on the overlapping region by dichotomy to obtain the target working space.
[0017] Further, the calculating unit includes: a third determining sub-unit, configured to, for a target simulated bone cutting surface, determine attitude information of the target simulated bone cutting surface in a mechanical arm base coordinate system of the surgical robot; a rotating sub-unit, configured to obtain a working subspace corresponding to the target simulated bone cutting surface by fitting the mechanical arm of the surgical robot to rotate around a first axis in the attitude information; a calculating sub-unit, configured to perform calculation according to a target vector corresponding to a first axis direction in the attitude information to obtain a first offset of the surgical robot in the first axis direction and a second offset of the surgical robot in a third axis direction; a fourth determining sub-unit, configured to obtain a first working space corresponding to the target simulated bone cutting surface according to the working subspace, the first offset and the second offset; and a fifth determining sub-unit, configured to obtain the plurality of first working spaces according to the first working space corresponding to the target simulated bone cutting surface.
[0018] Further, the rotating sub-unit includes: a rotating module, configured to obtain a target angle range by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information; a calculating module, configured to perform calculation in a plane formed by the first axis and the third axis based on the target angle range to obtain a first motion angle range of a first joint of the mechanical arm of the surgical robot and a second running angle range of a third joint of the mechanical arm; and a determining module, configured to obtain the working subspace according to the first motion angle range and the second running angle range.
[0019] Further, the calculating subunit comprises: a first calculating module, configured to calculate according to the target vector to obtain a first angle value and a second angle value, wherein the first angle value is an offset angle of the mechanical arm rotating around a second axis in the attitude information, and the second angle value is a pitch angle of the mechanical arm rotating around a third axis in the attitude information; a second calculating module, configured to calculate according to the first angle value and a first fitting function to obtain the first offset amount, wherein the first fitting function is obtained based on fitting of the mechanical arm rotating around the second axis in the attitude information; and a third calculating module, configured to calculate according to the second angle value and a second fitting function to obtain the second offset amount, wherein the second fitting function is obtained based on fitting of the mechanical arm rotating around the third axis in the attitude information.
[0020] Further, the first calculating module comprises: a first calculating sub-module, configured to calculate a first projection value of the target vector in a plane constituted by a first axis and a second axis in the mechanical arm base coordinate system; a second calculating sub-module, configured to calculate according to the first projection value and a first normal vector corresponding to the first axis in the mechanical arm base coordinate system to obtain the first angle value; a third calculating sub-module, configured to calculate a second projection value of the target vector in a plane constituted by the second axis and a third axis in the mechanical arm base coordinate system; and a fourth calculating sub-module, configured to calculate according to the second projection value and a second normal vector corresponding to the third axis in the mechanical arm base coordinate system to obtain the second angle value.
[0021] Further, the device further comprises: a first processing unit, configured to perform discrete sampling processing on each first working space to obtain a discrete point set before fitting calculation of the overlapping region is performed through dichotomy search method to obtain the target working space; a second processing unit, configured to perform geometric approximation processing on the discrete point set through a polygon fitting algorithm to obtain a polygon point set corresponding to each first working space; and a third calculating unit, configured to calculate an intersection region of the polygon point sets through clipping method according to the polygon point set corresponding to each first working space to obtain the overlapping region.
[0022] According to another aspect of the embodiment of the present application, an electronic device is further provided, comprising: a memory storing an executable program; and a processor configured to run the program, wherein the program is configured to perform the control method of the surgical robot according to any one of the above aspects when running.
[0023] According to another aspect of the embodiment of the present application, a computer readable storage medium is further provided, wherein the storage medium stores a program, and the program is configured to control a device where the storage medium is located to perform the control method of the surgical robot according to any one of the above aspects when running.
[0024] In the embodiment of the present application, the following steps are adopted: according to the preoperative planning of knee replacement, a plurality of simulated bone cutting surfaces of the target object are determined; under each simulated bone cutting surface, the workspace of the surgical robot is calculated to obtain a plurality of first workspaces; according to the plurality of first workspaces, the target workspace of the surgical robot is determined, and based on the target workspace, the surgical robot is controlled to perform an action, solving the technical problem in the related art that the underactuated surgical robot cannot be adjusted to all necessary operating postures due to kinematic constraints, resulting in relatively low accuracy of surgical robot control.
[0025] In the present scheme, a plurality of simulated bone cutting surfaces of the target object are determined by preoperative planning, and for each simulated bone cutting surface, the first workspace of the surgical robot, i.e., the reachable region of the end effector of the robot in a specific posture, is calculated. Through this calculation, the operating range of the robot without self-collision constraints can be intuitively observed. After obtaining a plurality of first workspaces, the target workspace is determined through spatial set operation, ensuring that the surgical robot can cover the positioning requirements of all simulated bone cutting surfaces in a single positioning, and the optimal workspace that can meet all bone cutting operation requirements at the same time. Through this target workspace, the surgical robot can effectively avoid kinematic limitations in the posture adjustment process, thereby achieving the technical effect of improving the accuracy of controlling the surgical robot. BRIEF DESCRIPTION OF DRAWINGS
[0026] The accompanying drawings, which form a part of this application, are included to provide a further understanding of the application and are incorporated in and constitute a part of this application. The embodiments of the present application illustrated in the drawings and their descriptions are used to explain the present application and are not intended to limit the present application. In the drawings:
[0027] Figure 1 Fig. 1 shows a hardware structure block diagram of a computer terminal for implementing a control method of a surgical robot;
[0028] Figure 2 Fig. 2 is a flowchart of a control method of a surgical robot provided according to an embodiment of the present application;
[0029] Figure 3 Fig. 3 is a schematic diagram of a control method of a surgical robot provided according to an embodiment of the present application; Figure 1
[0030] Figure 4 Fig. 4 is a schematic diagram of a control method of a surgical robot provided according to an embodiment of the present application; Figure 2
[0031] Figure 5 Fig. 5 is a schematic diagram of a control method of a surgical robot provided according to an embodiment of the present application; Figure 3
[0032] Figure 6 is a schematic diagram of a control method of a surgical robot provided according to an embodiment of the present application Figure 4 ;
[0033] Figure 7 is a schematic diagram of a control method of a surgical robot provided according to an embodiment of the present application Figure 5 ;
[0034] Figure 8 is a schematic diagram of a control method of a surgical robot provided according to an embodiment of the present application Figure 6 ;
[0035] Figure 9 is a schematic diagram of a control method of a surgical robot provided according to an embodiment of the present application Figure 7 ;
[0036] Figure 10 is a schematic diagram of a control method of a surgical robot provided according to an embodiment of the present application Figure 8 ;
[0037] Figure 11 is a schematic diagram of a control method of a surgical robot provided according to an embodiment of the present application
[0038] Figure 12 is a schematic diagram of a control device of a surgical robot provided according to an embodiment of the present application
[0039] Figure 13 is a structural block diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0040] In order to enable persons skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by persons skilled in the art without creative labor should belong to the scope of protection of the present application.
[0041] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0042] It should be noted that the collected information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for display, analyzed data, etc.) involved in the present application are information and data authorized by the user or authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of related data comply with relevant laws, regulations and standards, necessary security measures are taken, do not violate public order and good customs, and provide corresponding operation portal for user to choose authorization or refusal. For example, the system and related users or institutions are provided with an interface to provide the user with a corresponding operation portal for the user to choose to agree or refuse the automatic decision result; if the user chooses to refuse, the expert decision process is entered.
[0043] Embodiment 1
[0044] According to the embodiments of the present application, a method for controlling a surgical robot is also provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described herein can be executed in an order different from that shown herein.
[0045] The method embodiment provided by the embodiment of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Figure 1 A hardware structure block diagram of a computer terminal (or mobile device) for implementing the control method of the surgical robot is shown. As Figure 1As shown, the computer terminal 10 (or mobile device) can include one or more processors 102 (the processor 102 can include, but not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it can also include a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which can be included as one of the ports of the BUS bus), a network interface, a power supply and / or a camera. Those skilled in the art can understand that Figure 1 The structure shown is only schematic, which does not limit the structure of the above-mentioned electronic device. For example, the computer terminal 10 can include more or fewer components than those shown in Figure 1 or have a different configuration than that shown in Figure 1 .
[0046] It should be noted that the one or more processors 102 and / or other data processing circuits described above can be referred to herein as "data processing circuits" in general. The data processing circuit can be embodied in whole or in part as software, hardware, firmware or any other combination. In addition, the data processing circuit can be a single independent processing module, or any one of the other elements incorporated into the computer terminal 10 (or mobile device) in whole or in part. As referred to in the embodiments of the present application, the data processing circuit serves as a processor control (for example, selection of a variable resistance terminal path connected to an interface).
[0047] The memory 104 can be used to store software programs and modules of application software, such as program instructions / data storage devices corresponding to the control method of the surgical robot in the embodiments of the present application. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, implements the above-mentioned control method of the surgical robot. The memory 104 can include a high-speed random access memory, and can also include a non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 can further include a memory remotely disposed with respect to the processor 102, which can be connected to the computer terminal 10 through a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.
[0048] The transmission device 106 is configured to receive or send data via a network. The network can include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission device 106 includes a network interface controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module that is configured to communicate with the Internet wirelessly.
[0049] The display can be a liquid crystal display (LCD) that is touch screen type, for example, which can enable a user to interact with a user interface of the computer terminal 10 (or a mobile device).
[0050] In the above operating environment, the present application provides a control method of a surgical robot as shown in Figure 2 Figure 2 is a flowchart of the control method of the surgical robot according to an embodiment of the present application. The control method of the surgical robot includes the following steps.
[0051] In step S201, a plurality of simulated bone cutting planes of a target object are determined according to a preoperative plan of knee replacement.
[0052] Optionally, a high-resolution medical image of a knee joint of a patient (i.e., the target object) is obtained by an imaging technology such as computed tomography (CT) or magnetic resonance imaging (MRI). The medical image provides three-dimensional anatomical structure information of the knee joint. The image is analyzed to identify anatomical features of the femur and tibia. According to specific anatomical landmarks of the knee joint, such as the intercondylar fossa, the medial and lateral condylar ridges, etc., a preoperative plan is made to plan a plurality of simulated bone cutting planes. For example, in a knee bone cutting surgery, single-plane bone cutting of the tibia is required, and five-plane bone cutting of the femur is implemented, for example, as shown in the post-surgery effect diagram of the knee joint. Figure 3
[0053] In step S202, a workspace of the surgical robot is calculated under each simulated bone cutting plane to obtain a plurality of first workspaces.
[0054] Optionally, the workspace refers to a set of all points that the robot manipulator end effector can reach without self-collision or collision with external obstacles. For knee replacement surgery, the calculation of the workspace is particularly important because it is directly related to whether the manipulator can operate at the desired bone cutting position and pose. Therefore, according to each simulated bone cutting surface, the target position and pose that the robot manipulator needs to reach when performing the bone cutting operation are analyzed, that is, the workspace of the surgical robot is calculated, and the physical limitations of the manipulator must be considered during the calculation, including the range of motion of the joints and the self-collision avoidance of the robot body. By calculating the first workspace, the motion path of the manipulator can be accurately planned to ensure that each bone cutting surface can be accurately reached and operated during the surgery.
[0055] In step S203, the target workspace of the surgical robot is determined according to the plurality of first workspaces, and the surgical robot is controlled to perform an action based on the target workspace.
[0056] Optionally, the plurality of first workspaces obtained in step S202 are subjected to a spatial set operation, specifically, an intersection operation is performed to find the common region of all first workspaces, and the target workspace of the surgical robot is obtained. This region is a point set that the manipulator can reach all simulated bone cutting surfaces at the same time, and is the feasible space for the manipulator to operate during the surgery. In the target workspace, the path planning of the surgical robot manipulator needs to consider the continuity and obstacle-free nature of the surgical operation. The movement path of the manipulator should ensure that all bone cutting surfaces can be covered while avoiding collision with the patient's anatomical structure or other objects in the surgical environment.
[0057] In summary, a plurality of simulated bone cutting surfaces for the target object's anatomical structure are determined through preoperative planning, and for each simulated bone cutting surface, the first workspace of the surgical robot is calculated, that is, the reachable region of the manipulator end effector at a specific pose. Through this calculation, the operation range of the robot without self-collision constraints can be intuitively seen. After obtaining a plurality of first workspaces, the target workspace is determined through a spatial set operation, ensuring that the surgical robot can cover the positioning requirements of all simulated bone cutting surfaces in a single positioning, and can meet the optimal workspace of all bone cutting operation requirements. Through this target workspace, the surgical robot can effectively avoid the kinematic limitations during the pose adjustment process, thereby achieving the technical effect of improving the accuracy of controlling the surgical robot.
[0058] Optionally, in the control method of the surgical robot provided in the embodiments of the present application, the plurality of simulated bone cutting surfaces at least include a femur bone cutting surface and a tibia bone cutting surface, and the determining of the target working space of the surgical robot according to the plurality of first working spaces includes: judging whether an overlapping region of the plurality of first working spaces meets a preset condition; if the overlapping region does not meet the preset condition, determining an overlapping working space according to the first working space corresponding to the femur bone cutting surface; and determining the target working space according to the overlapping working space and the first working space corresponding to the tibia bone cutting surface.
[0059] In an optional embodiment, first, it is judged whether an overlapping region of all first working spaces (i.e. the reachable working area of the mechanical arm under each bone cutting surface) meets a preset condition. The preset condition can be the size of the overlapping region, to ensure that the region is large enough and suitable to meet the needs of all bone cutting operations. It should be noted that the simulated bone cutting surfaces at least include a femur bone cutting surface and a tibia bone cutting surface, and generally there are 5 femur bone cutting surfaces and 1 tibia bone cutting surface.
[0060] If the initial overlapping region does not meet the preset condition, the bone cutting process is divided into femur bone cutting and tibia bone cutting, and the femur bone cutting surface generally involves more bone cutting operations, therefore, an overlapping working space is first determined according to the first working space of the femur bone cutting surface, and then the target working space is determined according to the overlapping working space and the first working space corresponding to the tibia bone cutting surface.
[0061] In an optional embodiment, the determination of the working space can be realized through a schematic diagram as shown in Figure 4 Adjusting the mechanical arm of the surgical robot to a preset distance in the horizontal direction of the knee joint, and obtaining the pose of the required knee joint bone cutting plane in the mechanical arm base coordinate system. For example, positioning the position relationship of the target plane (i.e. the plurality of simulated bone cutting surfaces) in the optical positioning system coordinate system, and obtaining the representation of the target plane in the three-degree-of-freedom mechanical arm base coordinate system through the conversion relationship of the matrix. The position and direction of the mechanical arm trolley are tracked by the optical positioning system (NDI) to determine the relative relationship thereof in space relative to the knee joint of the patient, as shown in Figure 5 The pose of the mechanical arm base coordinate system in the optical navigation coordinate system is obtained in real time by using the tracer device installed at the end of the mechanical arm in combination with the kinematic model of the mechanical arm, and the position relationship of the knee joint in the NDI is obtained through the tracer device on the femur and tibia of the patient, and the relationship of the knee joint in the mechanical arm base coordinate system is obtained through coordinate system conversion , as shown in Figure 5 {Base} is the mechanical arm base coordinate system, {Body} is the knee joint bone cutting plane coordinate system, {NDI} is the optical positioning system coordinate system, and d is the distance between the knee joint bone cutting plane and the mechanical arm base coordinate system in the Y direction. A conversion relationship between the knee osteotomy plane and the coordinate system of the optical positioning system, A conversion relationship between the base coordinate system of the mechanical arm and the coordinate system of the optical positioning system.
[0062] After obtaining the pose of the knee osteotomy plane in the base coordinate system of the mechanical arm, it is determined whether there is an optimal workspace for the six osteotomy planes, as shown in Figure 4 If there is, the mechanical arm is moved so that the osteotomy plane is in the plane space and the osteotomy operation is performed. If there is not, the pose of the five osteotomy planes of the femur in the base coordinate system of the mechanical arm is obtained, and the optimal workspace of the five osteotomy planes of the femur is obtained. The pose of the tibial osteotomy plane in the base coordinate system of the mechanical arm is obtained, and the optimal workspace of the tibial osteotomy plane is obtained, thereby realizing accurate control of the surgical robot.
[0063] By dividing the osteotomy process into femoral osteotomy and tibial osteotomy, the operation of the surgical robot can be more precisely controlled, the number of repositioning of the mechanical arm during the operation is reduced, and the accuracy of the control of the surgical robot is improved.
[0064] Optionally, in the control method of the surgical robot provided in the embodiments of the present application, after it is determined whether the overlapping region of the plurality of first workspaces satisfies the preset condition, the method further includes: if the overlapping region satisfies the preset condition, performing fitting calculation on the overlapping region by using a binary search method to obtain a target workspace.
[0065] In an optional embodiment, if the preliminary evaluation finds that the overlapping region of the first workspace (i.e., the reachable working area of the mechanical arm) under all simulated osteotomy planes satisfies the preset condition, a binary search method is used to perform fitting calculation on the overlapping region, and then an optimized target workspace is obtained. The binary search method is a high-efficiency search algorithm used to find the position of a target value in an ordered list. In this scenario, it is used to find the optimal circular workspace, i.e., the target workspace, in the overlapping region. By continuously narrowing the search range, the algorithm gradually approaches the optimal solution until the center coordinates and the radius that satisfy the preset condition are found, thereby determining the target workspace. The target of the fitting calculation is to find a circular workspace that can completely contain all key osteotomy positions in the overlapping region, while ensuring the maximum radius or minimum constraint of the circle to meet the requirements of surgical accuracy and efficiency.
[0066] By using the binary search method to perform fitting calculation on the overlapping region, the target workspace obtained not only covers all necessary osteotomy positions, but also optimizes the operation range of the mechanical arm, ensuring maximum freedom of movement and minimum physical constraints.
[0067] Optionally, in the control method of the surgical robot provided in the embodiments of the present application, the workspace of the surgical robot is calculated under each simulated osteotomy surface to obtain a plurality of first workspaces, including: for a target simulated osteotomy surface, determining the attitude information of the target simulated osteotomy surface in the base coordinate system of the mechanical arm of the surgical robot; obtaining a working subspace corresponding to the target simulated osteotomy surface by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information; obtaining a first offset along the first axis direction and a second offset along the third axis direction of the surgical robot according to the target vector corresponding to the first axis direction in the attitude information; obtaining the first workspace corresponding to the target simulated osteotomy surface according to the working subspace, the first offset and the second offset; and obtaining the plurality of first workspaces according to the first workspace corresponding to the target simulated osteotomy surface.
[0068] In an optional embodiment, for a target simulated osteotomy surface, i.e., any one of the simulated osteotomy surfaces, the attitude information of the osteotomy surface is determined in the base coordinate system of the mechanical arm of the surgical robot, including the position and orientation of the osteotomy surface in space. As shown in Figure 6 , xyz is the base coordinate system of the mechanical arm of the surgical robot, and x1y1z1 is the target simulated osteotomy surface.
[0069] It should be noted that the surgical robot in the embodiments of the present application is a three-joint robot, and the physical limit of each joint of the mechanical arm in the normal state is . Based on the Monte Carlo method and the forward solution, the workspace of the mechanical arm is , which is the workspace of the three-degree-of-freedom mechanical arm joint physical limit.
[0070] To ensure the safety of the mechanical arm operation and meet the workspace constraint requirements, the motion range of each joint needs to be reasonably limited, including the following two constraint conditions: mechanical arm self-collision avoidance and working environment adaptability constraint. The settings are , , and respectively represent the upper and lower limits of the joint, wherein , , .
[0071] In the control method of the surgical robot provided in the embodiments of the present application, the working subspace corresponding to the target simulated osteotomy surface is obtained by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information, comprising: obtaining a target angle range by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information; obtaining a first movement angle range of the first joint of the mechanical arm of the surgical robot and a second running angle range of the third joint of the mechanical arm based on the target angle range in the plane formed by the first axis and the third axis; obtaining the working subspace according to the first movement angle range and the second running angle range.
[0072] According to the geometric topology structure of the mechanical arm, rotating around the target simulated osteotomy surface x1 axis, i.e. rotating the mechanical arm of the surgical robot around the first axis in the attitude information, the corresponding obtained plane range angle (i.e. the target angle range described above) is α, The range of and is determined by the angle size range of , , as shown in Figure 7 .
[0073] By , , the working space plan view (i.e. the target angle range in the plane formed by the first axis and the third axis) is as shown in Figure 8 , Figure 8 The semicircle in (i.e. the first movement angle range) and (i.e. the second running angle range) is the working subspace composed of the reachable positions, and the attitude is limited to the subspace formed by In the position subspace formed by the lower semicircle, the attitude plane of any position point in the subspace rotating around the x1 axis can be reached. In Figure 8 , take any one of the left and down direction vectors (in the range of ), intersect the semicircle at point b through the reverse extension line of the direction vector, and connect the point b and the center o of the circle. Then, through the geometric relationship, the value of is , , the value of , and satisfies , . That is, the semicircular working space (i.e. the working subspace described above) of the mechanical arm rotating around the x1 axis in the plane is .
[0074] After obtaining the working subspace, the working space of the robot arm when rotating around the y1 (i.e., the second axis mentioned above) and the z1 axis (i.e., the third axis mentioned above) also needs to be determined. It should be noted that the angle of rotation around the z1 axis is the pitch angle, denoted as , and the angle of rotation around the y1 axis is the yaw angle, denoted as . When the yaw angle changes, the working space moves left and right relative to the base coordinate system, i.e., moves along the first axis (x1) direction. When the pitch angle changes, the working space moves up and down relative to the base coordinate system, i.e., moves along the third axis (z1) direction. Therefore, according to the target vector corresponding to the first axis (x1) direction in the pose information, the first offset of the surgical robot along the first axis (x1) direction and the second offset along the third axis (z1) direction are calculated.
[0075] Finally, the working subspace, the first offset, and the second offset are used to obtain the first working space corresponding to the target simulated osteotomy surface, for example, the first working space is .
[0076] By calculating the first working space under each osteotomy surface, the surgical planning can be more accurate, ensuring that the robot arm can accurately reach each osteotomy position during the surgery.
[0077] Optionally, in the control method of the surgical robot provided in the embodiments of the present application, the first offset of the surgical robot along the first axis direction and the second offset along the third axis direction are calculated according to the target vector corresponding to the first axis direction in the pose information, including: calculating the first angle value and the second angle value according to the target vector, wherein the first angle value is the offset angle of the robot arm rotating around the second axis in the pose information, and the second angle value is the pitch angle of the robot arm rotating around the third axis in the pose information; calculating the first offset according to the first angle value and the first fitting function, wherein the first fitting function is fitted based on the robot arm rotating around the second axis in the pose information; calculating the second offset according to the second angle value and the second fitting function, wherein the second fitting function is fitted based on the robot arm rotating around the third axis in the pose information.
[0078] In an optional embodiment, according to the x1 vector (i.e., the target vector mentioned above), the offset angle of the robot arm rotating around the y1 in the pose information (i.e., the first angle value mentioned above) and the pitch angle of the robot arm rotating around the z1 in the pose information (i.e., the second angle value mentioned above) are calculated.
[0079] For example, the calculating the first angle value and the second angle value according to the target vector comprises: calculating a first projection value of the target vector in a plane constituted by the first axis and the second axis in the base coordinate system; calculating the first angle value according to the first projection value and a first normal vector corresponding to the first axis in the base coordinate system; calculating a second projection value of the target vector in a plane constituted by the second axis and the third axis in the base coordinate system; and calculating the second angle value according to the second projection value and a second normal vector corresponding to the third axis in the base coordinate system.
[0080] In an optional embodiment, the base coordinate system is (i.e. the first normal vector mentioned above), (i.e. the second normal vector mentioned above), the projection value of the x1 vector in the base coordinate XOY plane (i.e. the plane constituted by the first axis and the second axis mentioned above) is , and the projection value of the x1 vector in the base coordinate YOZ plane (i.e. the plane constituted by the second axis and the third axis mentioned above) is The corresponding first angle value and the second angle value are calculated by using the following formulas:
[0081]
[0082]
[0083] When the deflection angle changes, the working space moves left and right relative to the base coordinate system, and when the pitch angle changes, the working space moves up and down relative to the base coordinate system. In order to quantify the relationship between the first angle value and the second angle value and the offset, a first fitting function and a second fitting function are used for calculation respectively. The first fitting function can be fitted based on experimental data or theoretical model of the robot rotating around the second axis, which describes the functional relationship between the deflection angle and the first offset in the horizontal direction. Through this function, the horizontal displacement value of the robot base at a certain deflection angle can be accurately predicted. The second fitting function is also fitted based on the data of the robot rotating around the third axis, which reveals the functional relationship between the pitch angle and the second offset in the vertical direction. By using this function, the vertical displacement of the robot base can be calculated given the pitch angle.
[0084] In an optional embodiment, the determination of the working space can be realized by a schematic diagram as shown in FIG. 1, which specifically comprises: obtaining a semi-arc working space by Figure 9 , , , and then obtaining the deflection angle of the plane posture and the base coordinate system., the deflection angle corresponding to the reachable workspace (i.e. up and down translation amount) is obtained; the pitch angle of the plane posture and the base coordinate system is obtained , the pitch angle corresponding to the reachable workspace (i.e. left and right translation amount) is obtained to obtain the final workspace.
[0085] By establishing a mathematical model of the angle value and the offset (the first fitting function and the second fitting function), the change of the workspace can be accurately evaluated, and the accuracy of determining the first workspace is improved.
[0086] Optionally, in the control method of the surgical robot provided in the embodiments of the present application, before the target workspace is obtained by fitting calculation on the overlapping region through the dichotomy search method, the method further includes: discretely sampling each first workspace to obtain a discrete point set; performing geometric approximation processing on the discrete point set through a polygon fitting algorithm to obtain a polygon point set corresponding to each first workspace; and calculating the intersection region of the polygon point set according to the polygon point set corresponding to each first workspace through the clipping method to obtain the overlapping region.
[0087] In an optional embodiment, the target arc-shaped workspace (i.e. the first workspace described above) is discretely sampled, and then a polygon fitting algorithm is used to perform geometric approximation on the discrete point set. By increasing the number of sides of the polygon, the fitting accuracy can be significantly improved, and the approximation error decreases exponentially with the increase of the number of sides.
[0088] The half-arc-shaped subspace is parameterized as a continuous curve , where is the polar angle parameter, and the discrete sampling is performed at equal angle intervals to generate a point set, and N is the number of points:
[0089]
[0090] The discrete point set is approximated by an n-sided polygon by minimizing the Hausdorff distance:
[0091]
[0092] where is the polygon vertex coordinate, and the error is minimized. The Hausdorff distance is a method for measuring the distance between two non-empty subsets, commonly used in image processing, shape analysis, pattern recognition and other fields, and can also be applied to computational geometry and robot workspace optimization.
[0093] The optimal workspace determination method based on polygon space intersection is denoted as , is the first The intersection region (the above-mentioned overlapping region) is calculated by clipping. In the obtained intersection region, a mathematical programming model with a circular radius as an optimization target is established, and a maximum feasible radius is solved by using a bisection search method combined with linear programming, so that the coordinates of the center of the circle completely contained in the intersection region are finally determined, as shown in Figure 10 .
[0094] In an optional embodiment, a schematic diagram of the optimal region (i.e., the target workspace) is shown in Figure 11 , which includes: obtaining a workspace corresponding to a bone cutting plane, fitting the workspace with a polygon, calculating the variability of the workspace fitting of multiple bone cutting planes, calculating the corresponding intersection region, and finally fitting the intersection region with a circle to obtain the final target workspace.
[0095] In the embodiments of the present application, the reachable workspace of the mechanical arm under six specific bone cutting planes is calculated to form a pose-related workspace set; a space set operation method is used to perform intersection operation on the workspace subsets corresponding to the six bone cutting planes; finally, the optimal positioning region of the mechanical arm is determined based on the intersection operation result, so that the positioning requirements of all six bone cutting planes can be completely covered without the need for multiple adjustments of the position of the mechanical arm.
[0096] The control method of the surgical robot provided in the embodiments of the present application determines a plurality of simulated bone cutting planes of a target object according to preoperative planning of knee replacement; calculates the workspace of the surgical robot under each simulated bone cutting plane to obtain a plurality of first workspaces; determines a target workspace of the surgical robot according to the plurality of first workspaces, and controls the surgical robot to perform an action based on the target workspace, thereby solving the technical problem in the related art that an underactuated surgical robot cannot be adjusted to all necessary operating poses due to kinematic constraints, resulting in relatively low accuracy of control of the surgical robot.
[0097] In the present solution, a plurality of simulated bone cutting planes of the target object are determined according to preoperative planning, and the first workspace of the surgical robot, i.e., the reachable region of the end effector of the mechanical arm under a specific pose, is calculated for each simulated bone cutting plane. Through this calculation, the operating range of the robot without self-collision constraints can be intuitively observed. After obtaining the plurality of first workspaces, the target workspace is determined through space set operation, so as to ensure that the surgical robot can cover the positioning requirements of all simulated bone cutting planes in a single positioning, and the optimal workspace that can simultaneously meet all bone cutting operation requirements is obtained. Through this target workspace, the surgical robot can effectively avoid kinematic limitations in the pose adjustment process, thereby achieving the technical effect of improving the accuracy of control of the surgical robot.
[0098] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that here.
[0099] Embodiment 2
[0100] The embodiment of the present application also provides a surgical robot control device. It should be noted that the surgical robot control device of the embodiment of the present application can be used to execute the control method for the surgical robot provided by the embodiment of the present application. The surgical robot control device provided by the embodiment of the present application is introduced as follows.
[0101] According to the embodiment of the present application, a device for implementing the above-mentioned control method of the surgical robot is also provided, as shown in Figure 12 The device includes a first determination unit 1201, a first calculation unit 1202, and a second determination unit 1203.
[0102] The first determination unit 1201 is configured to determine a plurality of simulated bone cutting surfaces of a target object according to a preoperative plan of knee replacement.
[0103] The first calculation unit 1202 is configured to calculate a working space of the surgical robot under each simulated bone cutting surface to obtain a plurality of first working spaces.
[0104] The second determination unit 1203 is configured to determine a target working space of the surgical robot according to the plurality of first working spaces, and control the surgical robot to perform an action based on the target working space.
[0105] The surgical robot control device provided by the embodiment of the present application determines a plurality of simulated bone cutting surfaces of a target object according to a preoperative plan of knee replacement through the first determination unit 1201, calculates a working space of the surgical robot under each simulated bone cutting surface to obtain a plurality of first working spaces through the first calculation unit 1202, and determines a target working space of the surgical robot according to the plurality of first working spaces through the second determination unit 1203, and controls the surgical robot to perform an action based on the target working space, thereby solving the technical problem that the surgical robot with less freedom degree cannot be adjusted to all necessary operating postures due to kinematic constraints in the related art, resulting in relatively low accuracy of the surgical robot control.
[0106] In the scheme, a plurality of simulated bone cutting surfaces for the target object's anatomy are determined by preoperative planning, and a first workspace of the surgical robot, i.e., the reachable region of the end effector of the robot in a specific pose, is calculated for each simulated bone cutting surface. Through this calculation, the operating range of the robot without self-collision constraints can be intuitively seen. After obtaining a plurality of first workspaces, the target workspace is determined by spatial set operation, ensuring that the surgical robot can cover the positioning requirements of all simulated bone cutting surfaces in a single positioning, and the optimal workspace that can simultaneously meet all bone cutting operation requirements. Through this target workspace, the surgical robot can effectively avoid the kinematic limitations in the pose adjustment process, thereby achieving the technical effect of improving the accuracy of controlling the surgical robot.
[0107] Optionally, in the control device of the surgical robot provided in the embodiments of the present application, the plurality of simulated bone cutting surfaces at least include a femur bone cutting surface and a tibia bone cutting surface, and the second determining unit includes: a judging subunit, configured to judge whether an overlapping region of the plurality of first workspaces meets a preset condition; a first determining subunit, configured to determine an overlapping workspace according to the first workspace corresponding to the femur bone cutting surface if the overlapping region does not meet the preset condition; and a second determining subunit, configured to determine the target workspace according to the overlapping workspace and the first workspace corresponding to the tibia bone cutting surface.
[0108] Optionally, in the control device of the surgical robot provided in the embodiments of the present application, the device further includes: a second calculating unit, configured to, after judging whether the overlapping region of the plurality of first workspaces meets the preset condition, perform fitting calculation on the overlapping region by dichotomy to obtain the target workspace if the overlapping region meets the preset condition.
[0109] Optionally, in the control device of the surgical robot provided in the embodiments of the present application, the calculating unit includes: a third determining subunit, configured to, for a target simulated bone cutting surface, determine pose information of the target simulated bone cutting surface in a base coordinate system of the mechanical arm of the surgical robot; a rotating subunit, configured to obtain a working subspace corresponding to the target simulated bone cutting surface by fitting the mechanical arm of the surgical robot to rotate around a first axis in the pose information; a calculating subunit, configured to perform calculation according to a target vector corresponding to a first axis direction in the pose information to obtain a first offset of the surgical robot along the first axis direction and a second offset along a third axis direction; a fourth determining subunit, configured to obtain the first workspace corresponding to the target simulated bone cutting surface according to the working subspace, the first offset and the second offset; and a fifth determining subunit, configured to obtain the plurality of first workspaces according to the first workspace corresponding to the target simulated bone cutting surface.
[0110] Optionally, in the surgical robot control device provided in the embodiments of the present application, the rotating subunit comprises: a rotating module, configured to obtain a target angle range by fitting the rotation of the mechanical arm of the surgical robot around the first axis in the posture information; a calculation module, configured to obtain a first movement angle range of the first joint of the mechanical arm of the surgical robot and a second running angle range of the third joint of the mechanical arm based on the target angle range in the plane formed by the first axis and the third axis; and a determination module, configured to obtain a working subspace according to the first movement angle range and the second running angle range.
[0111] Optionally, in the surgical robot control device provided in the embodiments of the present application, the calculation subunit comprises: a first calculation module, configured to obtain a first angle value and a second angle value by calculation according to the target vector, wherein the first angle value is an offset angle of the rotation of the mechanical arm around the second axis in the posture information, and the second angle value is a pitch angle of the rotation of the mechanical arm around the third axis in the posture information; a second calculation module, configured to obtain a first offset amount by calculation according to the first angle value and a first fitting function, wherein the first fitting function is obtained based on the fitting of the rotation of the mechanical arm around the second axis in the posture information; and a second calculation module, configured to obtain a second offset amount by calculation according to the second angle value and a second fitting function, wherein the second fitting function is obtained based on the fitting of the rotation of the mechanical arm around the third axis in the posture information.
[0112] Optionally, in the surgical robot control device provided in the embodiments of the present application, the first calculation module comprises: a first calculation submodule, configured to calculate a first projection value of the target vector in the plane formed by the first axis and the second axis in the base coordinate system of the mechanical arm; a second calculation submodule, configured to obtain the first angle value by calculation according to the first projection value and a first normal vector corresponding to the first axis in the base coordinate system of the mechanical arm; a third calculation submodule, configured to calculate a second projection value of the target vector in the plane formed by the second axis and the third axis in the base coordinate system of the mechanical arm; and a fourth calculation submodule, configured to obtain the second angle value by calculation according to the second projection value and a second normal vector corresponding to the third axis in the base coordinate system of the mechanical arm.
[0113] Optionally, in the surgical robot control device provided in the embodiments of the present application, the device further comprises: a first processing unit, configured to perform discrete sampling processing on each first working space to obtain a discrete point set before fitting calculation on the overlapping region by dichotomy to obtain a target working space; a second processing unit, configured to perform geometric approximation processing on the discrete point set by a polygon fitting algorithm to obtain a polygon point set corresponding to each first working space; and a third calculation unit, configured to obtain the overlapping region by calculating the intersection region of the polygon point sets by clipping method according to the polygon point set corresponding to each first working space.
[0114] It should be noted that the first determining unit 1201, the first calculating unit 1202, and the second determining unit 1203 mentioned above correspond to steps S201 to S203 in Embodiment 1. The three units and the corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should be noted that the above modules or units can be hardware or software components stored in memory (e.g., memory 104) and processed by one or more processors (e.g., processors 102a, 102b, ..., 102n). The above units can also be part of a device and run in the computer terminal 10 provided in Embodiment 1.
[0115] Example 3
[0116] Embodiments of this application may provide an electronic device. Figure 13 This is a structural block diagram of an electronic device according to an embodiment of this application. Figure 13 As shown, the electronic device may include: one or more ( Figure 13 (Only one is shown) Processor 1302, memory 1304, memory controller, and peripheral interface, wherein the peripheral interface is connected to the radio frequency module, audio module and display.
[0117] The memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the methods and apparatus in the embodiments of this application. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, thereby implementing the above-described methods. The memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0118] The processor can access the information and application programs stored in the memory via the transmission device to perform the following steps: determining multiple simulated osteotomy surfaces of the target object based on the preoperative planning of knee replacement; calculating the workspace of the surgical robot under each simulated osteotomy surface to obtain multiple first workspaces; determining the target workspace of the surgical robot based on the multiple first workspaces, and controlling the surgical robot to perform actions based on the target workspace.
[0119] The processor can call information and application programs stored in the memory through the transmission device to perform the following steps: the plurality of simulated bone cutting surfaces at least include a femur bone cutting surface and a tibia bone cutting surface, and the target working space of the surgical robot is determined according to the plurality of first working spaces, including: judging whether the overlapping area of the plurality of first working spaces meets a preset condition; if the overlapping area does not meet the preset condition, determining an overlapping working space according to the first working space corresponding to the femur bone cutting surface; and determining the target working space according to the overlapping working space and the first working space corresponding to the tibia bone cutting surface.
[0120] The processor can call information and application programs stored in the memory through the transmission device to perform the following steps: after judging whether the overlapping area of the plurality of first working spaces meets a preset condition, the method further includes: if the overlapping area meets the preset condition, fitting calculation is performed on the overlapping area by a binary search method to obtain the target working space.
[0121] The processor can call information and application programs stored in the memory through the transmission device to perform the following steps: under each simulated bone cutting surface, the working space of the surgical robot is calculated to obtain a plurality of first working spaces, including: for a target simulated bone cutting surface, the attitude information of the target simulated bone cutting surface is determined in the base coordinate system of the mechanical arm of the surgical robot; the working subspace corresponding to the target simulated bone cutting surface is obtained by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information; the first offset along the first axis direction and the second offset along the third axis direction of the surgical robot are obtained by calculating the target vector corresponding to the first axis direction in the attitude information; the first working space corresponding to the target simulated bone cutting surface is obtained according to the working subspace, the first offset and the second offset; and the plurality of first working spaces are obtained according to the first working space corresponding to the target simulated bone cutting surface.
[0122] The processor can call information and application programs stored in the memory through the transmission device to perform the following steps: the working subspace corresponding to the target simulated bone cutting surface is obtained by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information, including: the target angle range is obtained by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information; the first movement angle range of the first joint of the mechanical arm of the surgical robot and the second running angle range of the third joint of the mechanical arm are obtained by calculating in the plane formed by the first axis and the third axis based on the target angle range; and the working subspace is obtained according to the first movement angle range and the second running angle range.
[0123] The processor can call information and application programs stored in the memory through the transmission device to perform the following steps: calculating, according to the target vector corresponding to the first-axis direction in the posture information, a first offset of the surgical robot along the first-axis direction and a second offset of the surgical robot along the third-axis direction, including: calculating, according to the target vector, a first angle value and a second angle value, wherein the first angle value is an offset angle of the mechanical arm rotating around the second axis in the posture information, and the second angle value is a pitch angle of the mechanical arm rotating around the third axis in the posture information; calculating, according to the first angle value and a first fitting function, the first offset, wherein the first fitting function is fitted based on the mechanical arm rotating around the second axis in the posture information; and calculating, according to the second angle value and a second fitting function, the second offset, wherein the second fitting function is fitted based on the mechanical arm rotating around the third axis in the posture information.
[0124] The processor can call information and application programs stored in the memory through the transmission device to perform the following steps: calculating, according to the target vector, a first angle value and a second angle value, including: calculating a first projection value of the target vector in a plane constituted by the first axis and the second axis in the mechanical arm base coordinate system; calculating, according to the first projection value and a first normal vector corresponding to the first axis in the mechanical arm base coordinate system, the first angle value; calculating a second projection value of the target vector in a plane constituted by the second axis and the third axis in the mechanical arm base coordinate system; and calculating, according to the second projection value and a second normal vector corresponding to the third axis in the mechanical arm base coordinate system, the second angle value.
[0125] The processor can call information and application programs stored in the memory through the transmission device to perform the following steps: before fitting and calculating the overlapping region by the dichotomy search method to obtain the target working space, the method further includes: discretely sampling each first working space to obtain a discrete point set; performing geometric approximation processing on the discrete point set by a polygon fitting algorithm to obtain a polygon point set corresponding to each first working space; and calculating, according to the polygon point set corresponding to each first working space, an intersection region of the polygon point sets by a clipping method to obtain the overlapping region.
[0126] Those skilled in the art can understand that, Figure 13 The structure shown is only schematic, and the electronic device can also be a terminal device such as a smart phone, a tablet computer, a palm computer, a Mobile Internet Device (MID), a PAD, and the like. Figure 13 It does not limit the structure of the electronic device. For example, the electronic device can include more or fewer components (such as a network interface, a display device, and the like) than those shown in the figure, or have a different configuration from that shown in the figure. Figure 13 For example, the electronic device can include more or fewer components (such as a network interface, a display device, and the like) than those shown in the figure, or have a different configuration from that shown in the figure. Figure 13 For example, the electronic device can include more or fewer components (such as a network interface, a display device, and the like) than those shown in the figure, or have a different configuration from that shown in the figure.
[0127] Those skilled in the art can understand that all or part of the steps of various methods in the above embodiments can be completed by instructing the terminal device related hardware through a program, and the program can be stored in a computer readable storage medium, which can include a flash disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0128] Embodiment 4
[0129] The embodiments of the present application also provide a computer readable storage medium. Optionally, in the embodiments, the above storage medium can be used to save the program code executed by the control method of the surgical robot provided in Embodiment 1.
[0130] Optionally, in the embodiments, the above storage medium can be located in any one of the computer terminals in the computer terminal group in the computer network, or in any one of the mobile terminals in the mobile terminal group.
[0131] The present application also provides a computer program product adapted to execute the steps of the control method of the surgical robot when executed on a data processing device.
[0132] The above embodiment numbers of the present application are only for description, and do not represent the advantages and disadvantages of the embodiments.
[0133] In the above embodiments of the present application, the description of each embodiment has its own focus, and the parts not described in detail in a certain embodiment can be referred to the related description of other embodiments.
[0134] In the several embodiments provided by the present application, it should be understood that the disclosed technology can be implemented in other ways. Of course, the unit embodiment described above is only schematic. For example, the division of the units is only a logical function division. There can be another division for actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between the units can be indirect couplings or communication connections through some interfaces, units or modules, and can be electrical or other forms.
[0135] The units described as separate components can or can not be physically separate, and the components displayed as units can or can not be physical units, i.e. they can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.
[0136] In addition, each function unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software function unit.
[0137] When the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application, essentially or in the form of a contribution to the prior art, or all or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of the present application. The foregoing storage medium includes various media that can store program codes, such as a U disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a mobile hard disk, a magnetic disk or an optical disk, etc.
[0138] The above is only the preferred embodiment of the present application, and it should be pointed out that, for those skilled in the art, without departing from the principles of the present application, a number of improvements and refinements can be made, and these improvements and refinements should be considered as the protection scope of the present application.
Claims
1. A control device of a surgical robot characterized by comprising: The device comprises: A first determining unit configured to determine a plurality of simulated bone cutting surfaces of a target object according to a preoperative plan of knee replacement; A first calculating unit configured to calculate a working space of a surgical robot at each simulated bone cutting surface to obtain a plurality of first working spaces; A second determining unit configured to determine a target working space of the surgical robot according to the plurality of first working spaces, and control the surgical robot to perform an action based on the target working space; The calculating unit comprises: a third determining subunit configured to determine pose information of a target simulated bone cutting surface in a base coordinate system of a mechanical arm of the surgical robot; a rotating subunit configured to obtain a working subspace corresponding to the target simulated bone cutting surface by fitting the mechanical arm of the surgical robot to rotate around a first axis in the pose information; a calculating subunit configured to calculate a first offset in a first axis direction and a second offset in a third axis direction of the surgical robot according to a target vector corresponding to the first axis direction in the pose information; a fourth determining subunit configured to obtain a first working space corresponding to the target simulated bone cutting surface according to the working subspace, the first offset, and the second offset; and a fifth determining subunit configured to obtain the plurality of first working spaces according to the first working space corresponding to the target simulated bone cutting surface.
2. The apparatus of claim 1, wherein, The plurality of simulated bone cutting surfaces at least comprises a femur bone cutting surface and a tibia bone cutting surface, and the second determining unit comprises: A judging subunit configured to judge whether an overlapping region of the plurality of first working spaces satisfies a preset condition; A first determining subunit configured to determine an overlapping working space according to the first working space corresponding to the femur bone cutting surface if the overlapping region does not satisfy the preset condition; A second determining subunit configured to determine the target working space according to the overlapping working space and the first working space corresponding to the tibia bone cutting surface.
3. The apparatus of claim 2, wherein, The device further comprises: A second calculating unit configured to perform fitting calculation on the overlapping region by a binary search method to obtain the target working space if the overlapping region satisfies the preset condition after judging whether the overlapping region of the plurality of first working spaces satisfies the preset condition.
4. The apparatus of claim 1, wherein, The rotating subunit comprises: A rotating module configured to obtain a target angle range by fitting the mechanical arm of the surgical robot to rotate around the first axis in the pose information; A calculating module configured to calculate a first movement angle range of a first joint of the mechanical arm of the surgical robot and a second running angle range of a third joint of the mechanical arm in a plane formed by the first axis and the third axis based on the target angle range; A determining module configured to obtain the working subspace according to the first movement angle range and the second running angle range.
5. The apparatus of claim 1, wherein, The calculating subunit comprises: The first computing module is configured to perform calculation according to the target vector to obtain a first angle value and a second angle value, wherein the first angle value is an offset angle of the mechanical arm rotating around a second axis in the attitude information, and the second angle value is a pitch angle of the mechanical arm rotating around a third axis in the attitude information. The second computing module is configured to perform calculation according to the first angle value and a first fitting function to obtain the first offset amount, wherein the first fitting function is obtained based on fitting of the mechanical arm rotating around the second axis in the attitude information. The third computing module is configured to perform calculation according to the second angle value and a second fitting function to obtain the second offset amount, wherein the second fitting function is obtained based on fitting of the mechanical arm rotating around the third axis in the attitude information.
6. The apparatus of claim 5, wherein, The first computing module comprises: A first computing submodule configured to calculate a first projection value of the target vector in a plane formed by a first axis and a second axis in the mechanical arm base coordinate system; A second computing submodule configured to perform calculation according to the first projection value and a first normal vector corresponding to the first axis in the mechanical arm base coordinate system to obtain the first angle value; A third computing submodule configured to calculate a second projection value of the target vector in a plane formed by a second axis and a third axis in the mechanical arm base coordinate system; A fourth computing submodule configured to perform calculation according to the second projection value and a second normal vector corresponding to the third axis in the mechanical arm base coordinate system to obtain the second angle value.
7. The apparatus of claim 3, wherein, The device further comprises: A first processing unit configured to perform discrete sampling processing on each first working space to obtain a discrete point set before performing fitting calculation on the overlapping region by a dichotomy search method to obtain the target working space; A second processing unit configured to perform geometric approximation processing on the discrete point set by a polygon fitting algorithm to obtain a polygon point set corresponding to each first working space; A third computing unit configured to calculate an intersection region of the polygon point sets by clipping method according to the polygon point set corresponding to each first working space to obtain the overlapping region.
8. A computer-readable storage medium, characterized in that, The computer readable storage medium comprises a stored executable program, wherein when the executable program runs, the device where the computer readable storage medium is located performs the following steps: according to the preoperative planning of knee replacement, a plurality of simulated bone cutting surfaces of a target object are determined; the working space of a surgical robot is calculated under each simulated bone cutting surface to obtain a plurality of first working spaces; according to the plurality of first working spaces, the target working space of the surgical robot is determined, and the surgical robot is controlled to perform an action based on the target working space; calculating the working space of the surgical robot under each simulated bone cutting surface to obtain a plurality of first working spaces comprises: for a target simulated bone cutting surface, the attitude information of the target simulated bone cutting surface is determined in the base coordinate system of the mechanical arm of the surgical robot; by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information, the working subspace corresponding to the target simulated bone cutting surface is obtained; according to the target vector corresponding to the first axis direction in the attitude information, the first offset amount of the surgical robot along the first axis direction and the second offset amount along the third axis direction are calculated; according to the working subspace, the first offset amount and the second offset amount, the first working space corresponding to the target simulated bone cutting surface is obtained; according to the first working space corresponding to the target simulated bone cutting surface, the plurality of first working spaces are obtained.
9. An electronic device, comprising: Comprise: a memory storing an executable program; a processor for running the program, wherein the program performs the following steps when running: according to the preoperative planning of knee replacement, a plurality of simulated bone cutting surfaces of a target object are determined; the working space of a surgical robot is calculated under each simulated bone cutting surface to obtain a plurality of first working spaces; according to the plurality of first working spaces, the target working space of the surgical robot is determined, and the surgical robot is controlled to perform an action based on the target working space; calculating the working space of the surgical robot under each simulated bone cutting surface to obtain a plurality of first working spaces comprises: for a target simulated bone cutting surface, the attitude information of the target simulated bone cutting surface is determined in the base coordinate system of the mechanical arm of the surgical robot; by fitting the mechanical arm of the surgical robot to rotate around the first axis in the attitude information, the working subspace corresponding to the target simulated bone cutting surface is obtained; according to the target vector corresponding to the first axis direction in the attitude information, the first offset amount of the surgical robot along the first axis direction and the second offset amount along the third axis direction are calculated; according to the working subspace, the first offset amount and the second offset amount, the first working space corresponding to the target simulated bone cutting surface is obtained; according to the first working space corresponding to the target simulated bone cutting surface, the plurality of first working spaces are obtained.
Citation Information
Patent Citations
Apparatus for generating operable region of surgical robot and method thereof
CN120475939A