Mechanical arm end power tool force control method, device, equipment and medium

CN117414197BActive Publication Date: 2026-08-28BEIJING TINAVI MEDICAL TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210813464.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-11
Publication Date
2026-08-28
Estimated Expiration
2042-07-11

AI Technical Summary

Technical Problem

[0004]有鉴于此,本公开实施例提供了一种机械臂末端动力工具的力控制方法、装置、设备及介质,以解决现有技术存在的无法满足骨科手术对于精准操作的要求,导致手术操作的准确性降低,手术时间延长,增加手术风险的问题

Benefits of technology

[0010] By using visual signal information acquired from a vision sensor and the current pose information of the robotic arm, the relative position of the end effector coordinate system of the powered tool within the surgical planning plane coordinate system at the current moment is determined. When the powered tool is subjected to an external force, a force signal is acquired and converted into an end effector force signal in the end effector coordinate system. Based on the end effector force signal and the relative position relationship, a position control quantity corresponding to the end effector is determined. This position control quantity represents the relative position of the end effector in the initial position coordinate system of the surgical planning plane region at the next moment. According to the position control quantity and the virtual boundary corresponding to the surgical planning plane region, boundary judgment is performed on the position coordinates of the end effector at the next moment. The position control quantity is adjusted according to the judgment result. A control command is generated based on the adjusted position control quantity and sent to the robotic arm. The control command is used to control the robotic arm to adjust the pose of the powered tool at the next moment, so that the position of the end effector is always within the surgical planning plane region. This disclosure can assist doctors in completing long-term precise operations, meet the requirements of orthopedic surgery for precise operation, improve the accuracy of surgical operations, shorten operation time, and reduce surgical risks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117414197B_ABST
    Figure CN117414197B_ABST
Patent Text Reader

Abstract

The present disclosure provides a force control method, device, equipment and medium of a mechanical arm end power tool. The method comprises: determining the relative position relationship of the power tool end coordinate system in the surgical planning plane area coordinate system at the current moment based on the visual signal information and the current moment mechanical arm pose information; acquiring the force signal when the power tool is subjected to external force, and converting the force signal into the end force signal in the power tool end coordinate system; determining the position control amount corresponding to the power tool end based on the end force signal and the relative position relationship; judging the boundary of the position coordinate of the power tool end at the next moment according to the position control amount and the virtual boundary corresponding to the surgical planning plane area, and adjusting the position control amount according to the judgment result. The present disclosure improves the accuracy of surgical operation, shortens the operation time and reduces the operation risk.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of robot-assisted orthopedic surgery systems, and in particular to a force control method, device, equipment and medium for a robotic arm end-effector power tool. Background Technology

[0002] The introduction of surgical robots into minimally invasive surgery provides surgeons with crucial support in terms of accuracy and comfort, not only improving surgical quality but also shortening patient recovery time. The human-machine collaborative control of robot-assisted orthopedic surgical systems relies on the perception of the size and orientation of the surgeon's movements. The following section uses spinal decompression surgery as an example to illustrate the human-machine collaborative control process of existing robot-assisted orthopedic surgical systems.

[0003] Because spinal decompression surgery often takes place near the spinal cord, it carries a high surgical risk and demands extremely high precision in the incision. Currently, spinal decompression surgery is typically performed by experienced surgeons using hand-held cutting instruments, thus requiring a high level of experience and intraoperative precision. However, the hand-held cutting instruments and the unstable reaction forces generated during operation make it difficult for surgeons to maintain a constant force and precise cutting position. Existing robot-assisted orthopedic surgical systems are mostly used for intraoperative planning, navigation, and positioning, but they cannot solve the force control problem in the human-machine collaborative control process. Therefore, they cannot meet the precision requirements of orthopedic surgery, leading to reduced surgical accuracy, prolonged operation time, and increased surgical risks. Summary of the Invention

[0004] In view of this, the present disclosure provides a force control method, device, equipment and medium for a robotic arm end-effector power tool to solve the problem that the prior art cannot meet the requirements of orthopedic surgery for precise operation, resulting in reduced accuracy of surgical operation, prolonged operation time and increased surgical risk.

[0005] A first aspect of this disclosure provides a force control method for a robotic arm end effector, comprising: determining the relative positional relationship of the end effector coordinate system at the current moment in the surgical planning plane coordinate system based on visual signal information collected by a vision sensor and the current pose information of the robotic arm; acquiring a force signal when the end effector is subjected to an external force, and converting the force signal into an end effector force signal in the end effector coordinate system; determining a position control quantity corresponding to the end effector based on the end effector force signal and the relative positional relationship, the position control quantity representing the relative position of the end effector at the next moment in the surgical planning plane coordinate system; performing boundary judgment on the position coordinates of the end effector at the next moment according to the position control quantity and the virtual boundary corresponding to the surgical planning plane region, adjusting the position control quantity according to the judgment result, generating a control command based on the adjusted position control quantity and sending it to the robotic arm, the control command controlling the robotic arm to adjust the pose of the end effector at the next moment so that the position of the end effector is always within the surgical planning plane region.

[0006] A second aspect of this disclosure provides a force control device for a robotic arm end effector, comprising: a determination module configured to determine the relative positional relationship of the end effector coordinate system at the current moment in the surgical planning plane region coordinate system based on visual signal information collected by a vision sensor and the current robotic arm pose information; a conversion module configured to acquire a force signal when the end effector is subjected to an external force, and convert the force signal into an end effector force signal in the end effector coordinate system; a calculation module configured to determine a position control quantity corresponding to the end effector based on the end effector force signal and the relative positional relationship, the position control quantity representing the relative position of the end effector at the next moment in the initial position coordinate system of the surgical planning plane region; and an adjustment module configured to perform boundary judgment on the position coordinates of the end effector at the next moment according to the position control quantity and the virtual boundary corresponding to the surgical planning plane region, adjust the position control quantity according to the judgment result, generate a control command according to the adjusted position control quantity and send it to the robotic arm, the control command being used to control the robotic arm to adjust the pose of the end effector at the next moment so that the position of the end effector is always within the surgical planning plane region.

[0007] A third aspect of this disclosure provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described above.

[0008] A fourth aspect of this disclosure provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described method.

[0009] The above-described at least one technical solution adopted in the embodiments of this disclosure can achieve the following beneficial effects:

[0010] By using visual signal information acquired from a vision sensor and the current pose information of the robotic arm, the relative position of the end effector coordinate system of the powered tool within the surgical planning plane coordinate system at the current moment is determined. When the powered tool is subjected to an external force, a force signal is acquired and converted into an end effector force signal in the end effector coordinate system. Based on the end effector force signal and the relative position relationship, a position control quantity corresponding to the end effector is determined. This position control quantity represents the relative position of the end effector in the initial position coordinate system of the surgical planning plane region at the next moment. According to the position control quantity and the virtual boundary corresponding to the surgical planning plane region, boundary judgment is performed on the position coordinates of the end effector at the next moment. The position control quantity is adjusted according to the judgment result. A control command is generated based on the adjusted position control quantity and sent to the robotic arm. The control command is used to control the robotic arm to adjust the pose of the powered tool at the next moment, so that the position of the end effector is always within the surgical planning plane region. This disclosure can assist doctors in completing long-term precise operations, meet the requirements of orthopedic surgery for precise operation, improve the accuracy of surgical operations, shorten operation time, and reduce surgical risks. Attached Figure Description

[0011] To more clearly illustrate the technical solutions in the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 This is a schematic diagram of the overall algorithm flow of the controller provided in the embodiments of this disclosure;

[0013] Figure 2 This is a flowchart illustrating the force control method for the end-effector power tool provided in this embodiment of the present disclosure;

[0014] Figure 3 This is a schematic diagram of the algorithm flow for force control of a power tool based on a controller, provided in an embodiment of this disclosure;

[0015] Figure 4 This is a schematic diagram of the force control device for the end-effector power tool provided in the embodiments of this disclosure;

[0016] Figure 5 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this disclosure. Detailed Implementation

[0017] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, so as to provide a thorough understanding of the embodiments of this disclosure. However, those skilled in the art will understand that this disclosure may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this disclosure with unnecessary detail.

[0018] As described in the background section, existing robot-assisted orthopedic surgical systems are mostly used for intraoperative planning, navigation, and positioning. While these systems can help surgeons plan and navigate precisely, they cannot solve the force control problem in the human-robot collaborative control process. Specifically, they cannot limit the surgical cutting plane area through force interaction between the surgeon and the robot, thus failing to meet the precision requirements of spinal decompression surgery.

[0019] Taking thoracic and lumbar laminectomy decompression surgery as an example, thoracic and lumbar laminectomy decompression surgery is a method of relieving spinal cord and nerve compression caused by spinal canal stenosis through surgery. Decompression surgery can be performed on spinal canal stenosis in any part of the spine, but the location and nature of the compression are different, and the decompression path and method are also different.

[0020] Clinically, due to the high surgical risk associated with the area near the spinal cord, the precision required for surgical incision is extremely high. Currently, most thoracic and lumbar laminectomy decompression surgeries are performed by experienced surgeons using hand-held cutting instruments, demanding a high level of experience and intraoperative precision. While surgical robots do not inherently suffer from hand tremors or fatigue, the surgeon's use of hand-held cutting instruments, coupled with the unstable reaction forces generated during cutting, makes it difficult to maintain a constant force and precise cutting position, leading to reduced accuracy and prolonged surgical time.

[0021] In view of this, this disclosure provides a force control method for a robotic arm end effector. The method uses visual signal information collected by a visual sensor and the current robotic arm pose information to calculate the relative position of the end effector coordinate system within the surgical planning plane coordinate system at the current moment. When the surgeon drags the end effector to perform surgical operations, the force sensor signal sensed by the force sensor is preprocessed to obtain a force signal, which is then converted into an end effector force signal within the end effector coordinate system. Based on the end effector force signal and the relative position relationship, a force control algorithm is used to determine the corresponding position control quantity of the end effector. Then, based on the position control quantity and the planned virtual boundary, boundary judgment is performed on the position coordinates of the end effector at the next moment. Based on the judgment result, the pose of the end effector at the next moment is adjusted to ensure that the position of the end effector is always within the surgical planning plane area. This disclosure implements a force control method for human-computer interaction in a robot-assisted orthopedic surgery system, which limits the area of ​​the power tool dragging operation during surgery. By automatically adjusting the position and posture of the power tool through the robotic arm, the end of the power tool will not exceed the planned limited area when the doctor drags the power tool, thereby assisting the doctor to complete long-term precise operations and meeting the requirements of orthopedic surgery for precise operation.

[0022] It should be noted that the following embodiments of this disclosure are illustrated using the force control process in robot-assisted spinal laminectomy as an example. However, it should be understood that the force control method of the robotic arm end-effector provided in the embodiments of this disclosure is not limited to orthopedic surgery, let alone spinal laminectomy. Any other surgical scenario based on a robot-assisted surgical system is applicable to this solution, and the application scenarios in the following embodiments do not constitute a limitation on the technical solution of this disclosure.

[0023] The following section uses robot-assisted spinal laminectomy as an example to explain the overall architecture of the spinal robot system disclosed herein and the overall operation process of robot-assisted spinal laminectomy.

[0024] The spinal robot system disclosed in this disclosure, in a practical scenario, comprises the following components: a main control carriage, a main unit carriage, and a toolbox. The main control carriage may include a main control computer and a binocular camera. The main unit carriage may include a robotic arm, a head tracker, and an end-effector tool (i.e., a power tool). The toolbox may include a patient tracker. In practical applications, the end-effector of the main unit carriage may consist of the following hardware structures: an end-effector joint, an end-effector flange, a six-dimensional force sensor, a power tool, and a head tracker. This disclosure does not limit the specific structure of the spinal robot system or the end-effector. Any surgical robot system including a force sensor structure is applicable to the technical solution of this disclosure, and the aforementioned spinal robot system and end-effector structure do not constitute a limitation on the technical solution of this disclosure.

[0025] The overall operation procedure for robot-assisted spinal laminectomy in a real-world scenario, as disclosed in this paper, may specifically include the following steps:

[0026] Step 1: Register the patient's affected area based on CT images or intraoperative 3D images;

[0027] Step 2: The doctor plans the planar area to be cut on the software of the robot-assisted surgery system, including its size, shape and depth;

[0028] Step 3: Connect the six-dimensional force sensor at the end of the robotic arm, and perform tool gravity calibration and zero drift calibration of the six-dimensional force according to the process and algorithm of six-dimensional force signal calibration;

[0029] Step 4: Based on the doctor's planning of the cutting plane area in the software, the robotic arm will automatically move the cutting tool to the initial position of the cutting plane;

[0030] Step 5: During the cutting process, the power tool is activated, and the doctor drags the power cutting tool. The robotic arm provides feedback based on the magnitude of the doctor's dragging force. The end of the power tool moves within the planned plane in the direction of the doctor's applied force to achieve the cutting purpose. At the same time, the system calculates the position of the end of the power cutting tool in the planned cutting plane area in real time based on the positions of the head tracker and the patient tracker, and performs boundary control to ensure that the end of the power cutting tool does not exceed the planned cutting plane area.

[0031] Step 6: After the cutting is completed, the doctor moves the power tool away from the cutting area and performs subsequent surgical procedures.

[0032] Furthermore, the force control algorithm involved in the Step 5 cutting process is implemented by a controller installed in the system. The controller includes a tracking control module, a force control module, and a virtual boundary determination module. The structure and function of the controller will be described in detail below with reference to the accompanying drawings and specific embodiments. Figure 1 This is a schematic diagram of the overall algorithm flow of the controller provided in the embodiments of this disclosure. Figure 1 As shown, the controller may specifically include:

[0033] The tracking and control module is used to calculate in real time the relative positional relationship of the surgical planning plane area in the robotic arm coordinate system and the relative positional relationship of the current power tool end in the surgical planning plane area coordinate system, based on the positional information of the head tracker and patient tracker obtained by the binocular vision camera and the pose information of the robotic arm obtained from the robotic arm. The relative positional relationship is used for tracking and force control quantity calculation.

[0034] The force control module is used to calculate the position control quantity of the power tool end based on the force sensor information obtained by the force sensor and the relative position relationship output by the tracking control module, through a force control algorithm.

[0035] The virtual boundary determination module is used to combine the relative position relationship output by the tracking control module and the position control quantity of the power tool end effector output by the force control module with the planned cutting plane area information input by the surgeon during operation to determine whether the power tool end effector will exceed the planned cutting plane area and modify the control pose to achieve the goal of always keeping the power cutting tool end effector within the planned cutting plane area, and output the final control command.

[0036] Figure 2 This is a flowchart illustrating the force control method for the end-effector power tool provided in this embodiment of the present disclosure. Figure 2 The force control method for the end effector of the robotic arm can be executed by the aforementioned controller. For example... Figure 2 As shown, the force control method for the end effector of the robotic arm may specifically include:

[0037] S201, Based on the visual signal information collected by the visual sensor and the current pose information of the robotic arm, determine the relative positional relationship of the power tool end coordinate system in the surgical planning plane area coordinate system at the current moment;

[0038] S202: When the power tool is subjected to an external force, the force signal is acquired and converted into an end force signal in the end coordinate system of the power tool.

[0039] S203, based on the end force signal and the relative position relationship, determine the position control quantity corresponding to the end of the power tool. The position control quantity is used to represent the relative position of the end of the power tool in the surgical planning plane coordinate system at the next moment.

[0040] S204, based on the position control quantity and the virtual boundary corresponding to the surgical planning plane area, the position coordinates of the power tool end effector at the next moment are determined, and the position control quantity is adjusted according to the determination result. The adjusted position control quantity is used to generate control commands and send them to the robotic arm. The control commands are used to control the robotic arm to adjust the pose of the power tool at the next moment so that the position of the power tool end effector is always within the surgical planning plane area.

[0041] Specifically, the powered tools in this disclosure include surgical tools such as ultrasonic bone scalpels and drills. In practical applications, powered tools are also referred to as robotic arm end-effectors, end-effectors, cutting tools, powered cutting tools, etc. The surgical planning plane area is the surgical cutting area planned by the surgeon on the software of the robot-assisted surgical system. The surgical planning plane area is also referred to as the surgical cutting plane area, planning plane area, planned cutting plane area, cutting area, planning area, etc. It should be understood that the differences between the above terms are merely different ways of expressing the same thing, and the substantive content referred to by different terms is the same. The substitution of terms does not constitute a limitation on the technical solution of this disclosure.

[0042] Furthermore, during the surgical procedure where the surgeon drags the power tool, the force control method for the power tool based on a controller provided in this embodiment iterates over a certain time period. Specifically, within each time period, visual sensor information (i.e., visual signal information), robotic arm pose information, and force sensor information (i.e., force sensor signal) need to be read; the cutting plan information does not need to be read repeatedly. Within each time period, calculations are performed by the tracking control module, force control module, and virtual boundary determination module. Each cycle ultimately outputs control commands to the robotic arm to adjust the pose of the power tool, ensuring that the end effector of the power tool remains within the planned cutting plane throughout the entire surgical operation.

[0043] The process and principle of force control of power tools based on a controller, as described below with reference to specific accompanying drawings and embodiments, will be explained in detail. Figure 3 This is a schematic diagram of the algorithm flow for force control of power tools based on a controller, provided in an embodiment of this disclosure. Figure 3 As shown, the algorithm for force control of a power tool based on a controller may specifically include the following:

[0044] The controller consists of three virtual modules: a tracking control module, a force control module, and a virtual boundary determination module. Each virtual module is used to perform corresponding operations and output corresponding results. The following describes in detail the processing procedures involved in each virtual module with reference to specific embodiments.

[0045] In some embodiments, the tracking control module is used to determine the relative positional relationship of the end effector coordinate system of the power tool in the surgical planning plane coordinate system based on visual signal information acquired by the visual sensor and the current pose information of the robotic arm, including:

[0046] Acquire visual signal information collected by a visual sensor, and calculate the relative positional relationship between the patient tracer coordinate system and the head-mounted tracer coordinate system based on the visual signal information;

[0047] Based on the pre-acquired registration results, the current robotic arm pose information, and the relative position of the patient tracer coordinate system in the head tracer coordinate system, the relative position of the surgical planning plane area coordinate system in the robotic arm base coordinate system is updated.

[0048] Based on the current pose information of the robotic arm and the pre-calibrated tool matrix, calculate the relative positional relationship between the end-effector coordinate system and the base coordinate system of the robotic arm;

[0049] Based on the relative positional relationship between the updated surgical planning plane coordinate system and the robot arm base coordinate system, and the relative positional relationship between the power tool end effector coordinate system and the robot arm base coordinate system, calculate the relative positional relationship between the power tool end effector coordinate system and the surgical planning plane coordinate system.

[0050] The visual signal information includes the position information of the patient tracker and the head tracker. The registration result includes the registration result between the image of the affected area and the patient's affected area. In practical applications, since the patient's affected area is located based on the position of the patient tracker during the operation, the registration can also be understood as the registration between the image of the affected area and the patient tracker. The registration process can be understood as the process of establishing the transformation relationship between the image coordinate system and the patient tracker coordinate system.

[0051] Specifically, the tracking control module first calculates the relative position of the patient tracker coordinate system in the head tracker coordinate system (Tpatient2robot) based on the acquired visual signal information; then, based on the registration result (Torigin2patient, i.e., the transformation matrix obtained after registration), the current robotic arm pose (Ttcp2base), and the relative position of the patient tracker coordinate system in the head tracker coordinate system (Tpatient2robot), it updates the initial position of the surgical planning plane region in the relative pose (Torigin2base) of the robotic arm base coordinate system.

[0052] Furthermore, based on the current robotic arm pose Ttcp2base and the pre-calibrated tool matrix Ttool2robot, the pose Ttool2base of the power tool end effector in the robot base coordinate system is calculated. The pre-calibrated tool matrix refers to the pre-calibrated mounting matrix between the power tool end effector and the robotic arm end effector flange. The tool matrix contains tool parameter information (such as the three-dimensional coordinate parameters corresponding to the length between the power tool end effector and the robotic arm end effector flange). Finally, based on the calculated pose Ttool2base and the relative pose Torigin2base, the relative pose Ttool2origin of the power tool end effector moving in the surgical planning plane region is calculated. This relative pose Ttool2origin is used for subsequent force control and boundary judgment.

[0053] In another embodiment of this application, the relative position Ttool2origin of the power tool end effector in the surgical planning plane region can be calculated based on the relative position Tpatient2robot of the patient tracer coordinate system in the head tracer coordinate system at the current moment and the pre-calibrated tool matrix Ttool2robot, and by combining the planning information (i.e. the registration result Torigin2patient).

[0054] It should be noted that the relative pose in the embodiments of this disclosure refers to the relative positional relationship between coordinate systems (since the position and posture of the robotic arm may change, the expression of relative pose is sometimes used). Therefore, the relative pose Ttool2origin of the end effector moving in the surgical planning plane area is the relative positional relationship of the end effector coordinate system in the surgical planning plane area coordinate system.

[0055] In practical applications, the tracking control module involves coordinate transformations between multiple coordinate systems, such as the camera coordinate system, the head tracker coordinate system, the patient tracker coordinate system, the robotic arm base coordinate system, the robotic arm end-effector coordinate system, and the cutting plane area coordinate system. The tracking control module calculates the relative position information of the planned cutting area in the robotic arm coordinate system (i.e., the relative pose of the end-effector movement in the surgical planning plane area) based on the above coordinate systems. This relative position information is then sent as a tracking command to the virtual boundary determination module for boundary determination. This relative position information is also used as input to the force control module for calculating the position control quantity.

[0056] In some embodiments, acquiring a force signal when the power tool is subjected to an external force includes: when a doctor drags the power tool to perform a surgical operation, a force sensor installed at the end of a robotic arm senses the dragging force applied to the power tool, generates a force sensor signal based on the direction and torque of the sensed dragging force, and performs a preprocessing operation on the force sensor signal to obtain a force signal, wherein the force sensor includes a six-dimensional force sensor.

[0057] Specifically, during surgical incisions by a surgeon dragging a powered tool, when the tool is subjected to the surgeon's dragging force, a force sensor installed at the end of the robotic arm senses the dragging force and generates a force sensor signal. In practical applications, a six-dimensional force sensor can be used. The force sensor signal generated by a six-dimensional force sensor includes six-dimensional data consisting of force in three directions and torque in three directions.

[0058] In some embodiments, performing preprocessing operations on the force sensor signal to obtain a force signal and converting the force signal into an end-effector force signal in the power tool end-effector coordinate system includes: filtering the force sensor signal, calibrating the filtered force sensor signal for tool gravity and sensor zero drift, compensating for tool gravity and zero drift in the force sensor coordinate system based on the calibration results, and obtaining a compensated force signal; mapping the force signal in the force sensor coordinate system to the power tool end-effector coordinate system to obtain an end-effector force signal in the power tool end-effector coordinate system.

[0059] Specifically, the force sensor signal generated by the force sensor is sent to the force control module for processing. The force control module first preprocesses the force sensor signal to obtain a preprocessed force signal, and then converts the force signal to the coordinate system of the power tool end effector to obtain the end effector force signal. The preprocessing process of the force sensor signal is described in detail below with reference to a specific embodiment, and may include the following:

[0060] In practical applications, the six-dimensional force sensor signal acquired by the six-dimensional force sensor contains noise and is accompanied by issues such as tool gravity and zero drift, making it unsuitable for direct use in force control algorithms. Therefore, preprocessing is required. The preprocessing process for the six-dimensional force sensor signal includes filtering, tool gravity calibration, sensor zero drift calibration, and final compensation.

[0061] The filtering process can use a Butterworth filter to filter the six-dimensional force sensor signal to eliminate noise in the signal. The tool gravity calibration process is used to collect the end-effector posture information and force sensor information in at least three different postures, and calculate the load gravity and center of mass mounted on the six-dimensional force sensor. The sensor zero-drift calibration process is used to perform load gravity compensation and zero-drift compensation in the force sensor coordinate system based on the load gravity and center of mass calculated by the tool gravity calibration, as well as the six-dimensional force signal data at a single or multiple points, so that the compensated data is basically zero when there is no external force.

[0062] It should be noted that the tool gravity calibration in the six-dimensional force sensor signal processing of this embodiment can directly use the data calibrated initially, without needing to recalibrate during each timed cycle operation, i.e., there is no need to perform tool gravity calibration in each time period.

[0063] Furthermore, after performing preprocessing on the force sensor signal, the force control module uses the compensated force signal to perform coordinate system transformation. Since the obtained force signal is the value corresponding to the force in the force sensor coordinate system, it is necessary to map the force signal to the power tool end effector coordinate system. This means that the value corresponding to the force in the force sensor coordinate system is mapped to the value corresponding to the force in the power tool end effector coordinate system. In other words, the end effector force signal in the power tool end effector coordinate system is obtained through coordinate system transformation, and the end effector force signal is denoted as F_tool.

[0064] In some embodiments, determining the position control quantity corresponding to the end effector of a power tool based on the end effector force signal and the relative position relationship includes: comparing the value of the end effector force signal with a preset minimum threshold; when the value of the end effector force signal is greater than the minimum threshold, triggering a predetermined force control algorithm to calculate the position control quantity; wherein, the calculation of the position control quantity includes calculating the speed control quantity of the end effector of the power tool based on the end effector force signal, and calculating the position control quantity of the end effector of the power tool at the next moment based on the relative position relationship, speed control quantity, and time period at the current moment; when the value of the end effector force signal is less than or equal to the minimum threshold, using the position control quantity calculated in the previous time period as the position control quantity of the end effector of the power tool at the next moment.

[0065] Specifically, after calculating the end force signal, the force control module uses a force control algorithm to determine the position control quantity corresponding to the end of the power tool. The force control algorithm includes determining the force threshold based on the end force signal and determining the position control quantity. Of course, in practical applications, the process of processing the force sensor signal to obtain the end force signal can also be considered as part of the force control algorithm.

[0066] Furthermore, the force control module compares the value of the end force signal with a preset minimum threshold in the program. The operation of the force control algorithm varies depending on the comparison result. The following details the operations corresponding to different comparison results, which may include the following:

[0067] If the comparison result is that the end force signal exceeds the minimum threshold for calculating the trigger position control amount, then the position control amount Ttoolcontrol2origin of the power tool end at the next moment is calculated based on the end force signal F_tool. The specific calculation method is as follows: multiply the end force signal F_tool with the preset coefficient K to obtain the moving speed V_control of the power tool end coordinate system, and use V_control as the speed control amount of the power tool end in the current time period.

[0068] Based on the relative position relationship at the current moment (i.e., the relative pose Ttool2origin of the power tool end effector moving in the surgical planning plane area), the speed control amount of the power tool end effector in the current time cycle, and the length of the time cycle, the position control amount Ttoolcontrol2origin of the power tool end effector in the next moment is calculated. For example: the position control amount Ttoolcontrol2origin of the power tool end effector in the next moment = relative position relationship Ttool2origin + speed control amount V_control * length of time cycle / ms, where the length of time cycle refers to the time span or time length corresponding to the time cycle, and the length of one time cycle is usually a few milliseconds.

[0069] It should be noted that the position control quantity at the next moment is obtained by integrating the velocity control quantity within a time period. Since the generation of control commands is iterated according to a fixed period, the position control quantity at the next moment needs to be combined with the time length of the period when calculating the velocity control quantity at the current period. The position control quantity at the next moment is a pose matrix obtained by integrating the relative position relationship, velocity control quantity and the length of the time period.

[0070] In some embodiments, calculating the speed control quantity of the power tool end based on the end force signal includes: multiplying the value of the end force signal by a preset coefficient to obtain the moving speed of the power tool end, and using the moving speed as the speed control quantity of the power tool end in the current time period; or, calculating the acceleration control quantity based on the value of the end force signal using a preset admittance formula, and calculating the speed control quantity based on the speed of the power tool end at the current moment, the acceleration control quantity, and the time period.

[0071] Specifically, the speed control quantity is an intermediate result in the calculation of the position control quantity. The force control module of this embodiment can use two different calculation methods when calculating the speed control quantity. The first calculation method is to multiply the end force signal with a coefficient and use the product of the two as the speed control quantity of the power tool end in the current time period. The second calculation method is to calculate the acceleration control quantity based on the value of the end force signal using a preset admittance formula, calculate the product of the acceleration control quantity and the time period length, add the product to the speed of the power tool end at the current moment, and use the calculation result as the speed control quantity of the power tool end in the current time period.

[0072] If the comparison result shows that the end force signal does not exceed the minimum threshold calculated by the trigger position control quantity, the position control quantity of the power tool end in the next moment remains unchanged. At this time, the position control quantity calculated in the previous cycle is used as the position control quantity of the power tool end in the next moment.

[0073] In some embodiments, based on the position control quantity and the virtual boundary corresponding to the surgical planning plane area, the position coordinates of the power tool end effector at the next moment are determined by boundary judgment, and the position control quantity is adjusted according to the judgment result. This includes: determining the vertical and horizontal coordinates corresponding to the position control quantity based on the coordinate matrix corresponding to the position control quantity; using the virtual boundary to determine the boundaries of the vertical and horizontal coordinates respectively, so as to determine whether the position coordinates of the power tool end effector at the next moment are within the range of the virtual boundary; when the position coordinates are outside the range of the virtual boundary, adjusting the position coordinates of the power tool end effector at the next moment to the coordinates corresponding to the boundary point on the virtual boundary, the boundary point being the boundary point on the virtual boundary closest to the power tool end effector, and adjusting the target attitude of the power tool at the next moment to the initially planned attitude; when the position coordinates are within the range of the virtual boundary, keeping the position coordinates of the power tool end effector at the next moment unchanged, and adjusting the target attitude of the power tool at the next moment to the initially planned attitude.

[0074] Specifically, after the force control module determines the position control quantity of the power tool end in the next moment, the virtual boundary judgment module performs boundary judgment on the position coordinates (i.e., position control quantity) of the power tool end in the next moment based on the results output by the tracking control module and the force control module, and adjusts the pose of the power tool in the next moment based on the judgment result.

[0075] Furthermore, the virtual boundary determination module first obtains the position control quantity Ttoolcontrol2origin, output by the force control module, which represents the relative position of the power tool end effector in the initial position coordinate system of the surgical planning plane region at the next moment. Based on the position control quantity Ttoolcontrol2origin, it determines whether the position of the power tool end effector at the next moment exceeds the planned cutting plane region. If it exceeds the planned cutting plane region (i.e., outside the virtual boundary range), the position coordinates of the position control quantity Ttoolcontrol2origin are adjusted to the nearest cutting plane region boundary point; if it does not exceed the planned cutting plane region (i.e., within the virtual boundary range), the position coordinates of the position control quantity Ttoolcontrol2origin are not adjusted, and the position coordinates of the power tool end effector at the next moment will not change. It should be noted that regardless of whether the position coordinates of the position control quantity exceed the planned cutting plane region, the target attitude of the power tool at the next moment is always adjusted to the initially planned attitude.

[0076] In some embodiments, the method further includes using a preset virtual boundary judgment algorithm to perform virtual boundary judgment on the position control quantity corresponding to the end of the power tool at the next moment, including: taking the plane formed by any two coordinate axes in the power tool coordinate system as the cutting plane, taking the coordinate axis corresponding to the tool cutting direction in the cutting plane as the first coordinate axis, taking the coordinate axis corresponding to the tool translation direction as the second coordinate axis, and taking the coordinate axis outside the cutting plane as the third coordinate axis; performing equidistant interpolation on the boundary points of the virtual boundary along the direction of the second coordinate axis to obtain a boundary point set, the boundary point set containing multiple interpolated boundary points; determining the sequence number corresponding to the nearest interpolated boundary point to the current point based on the coordinate value of the second coordinate axis corresponding to the current point; judging whether the current point exceeds the boundary in the tool translation direction corresponding to the virtual boundary based on the sequence number, if it exceeds, setting the coordinate of the second coordinate axis of the output point to the nearest... The coordinates of the second coordinate axis corresponding to the interpolation boundary point are determined. If the value is not exceeded, the coordinates of the second coordinate axis of the output point are set to the coordinates of the second coordinate axis corresponding to the current point. The current point is determined based on its sequence number to see if it exceeds the boundary of the tool cutting direction corresponding to the virtual boundary. If it does, the coordinates of the first coordinate axis of the output point are set to the coordinates of the first coordinate axis corresponding to the nearest interpolation boundary point. If the value is not exceeded, the coordinates of the first coordinate axis of the output point are set to the coordinates of the first coordinate axis corresponding to the current point. The coordinates of the third coordinate axis of the output point are set to the coordinates of the third coordinate axis corresponding to the nearest interpolation boundary point. Based on the coordinates of the first, second, and third coordinate axes corresponding to the output point, the position control quantity of the power tool end effector at the next moment is determined. Here, the current point represents the position of the power tool end effector at the current moment, and the output point represents the position of the power tool end effector at the next moment.

[0077] Furthermore, the boundary determination of the position control quantity in this embodiment is based on a pre-set virtual boundary determination algorithm in the program. The specific implementation of the virtual boundary determination algorithm will be described in detail below with reference to specific embodiments, which may include the following:

[0078] Taking the YZ plane in the power tool coordinate system as the cutting plane for virtual boundary judgment as an example, where the Z-axis represents the vertical direction (i.e., the tool cutting direction) and the Y-axis represents the horizontal direction (i.e., the tool translation direction), the virtual boundary judgment algorithm can include the following processing flow:

[0079] 1) Interpolate the boundary points of the input virtual boundary at equal distances according to the Y-coordinate axis to obtain the boundary point set;

[0080] 2) Use the X coordinate of the plane as the X coordinate of the output point;

[0081] 3) Calculate the index i of the nearest boundary point with the corresponding Y coordinate value based on the current point's Y coordinate value;

[0082] 4) Determine whether the Y coordinate of the current point exceeds the left and right boundaries based on i: if it does, set the Y coordinate of the output point to the Y coordinate of the nearest boundary point; if it does not exceed the boundaries, the Y coordinate of the output point remains the Y coordinate of the current point.

[0083] 5) Determine if the Z coordinate of the current point exceeds the depth of the corresponding boundary point: If it does, set the Z coordinate of the output point to the Z coordinate of the nearest boundary point; if it does not exceed the depth, the Z coordinate of the output point remains the Z coordinate of the current point.

[0084] Among them, the boundary points of the virtual boundary are the boundary points determined according to the boundary of the surgical planning plane area, the current point refers to the coordinate point corresponding to the position control quantity, and the output point refers to the coordinate point of the actual position control quantity obtained through the virtual boundary judgment.

[0085] In practical applications, in addition to using the YZ plane in the dynamic tool coordinate system as the cutting plane for virtual boundary judgment, the XY plane or XZ plane in the dynamic tool coordinate system can also be used as the cutting plane for virtual boundary judgment. The choice of different reference planes will not affect the essence of the above virtual boundary judgment algorithm; only the corresponding coordinates need to be adjusted.

[0086] In some embodiments, generating control commands based on the adjusted position control quantities and sending them to the robotic arm includes: performing coordinate system transformation on the position control quantities corresponding to the next moment of the adjusted power tool end effector based on the relative positional relationship between the updated surgical planning plane region coordinate system and the robotic arm base coordinate system and the pre-calibrated tool matrix to obtain the position control quantities in the robotic arm base coordinate system; generating control commands based on the position control quantities in the robotic arm coordinate system; and sending the control commands to the robotic arm.

[0087] Specifically, after determining the final position control quantity, the relative pose Torigin2base of the initial position of the surgical planning plane region updated by the vision tracking module (i.e., the tracking control module) in the robotic arm base coordinate system is transformed into a coordinate system based on some tool constants (i.e., the pre-calibrated tool matrix). The adjusted position control quantity is transformed from the planning coordinate system to the robotic arm coordinate system, and the coordinate-transformed position control quantity is sent to the robotic arm as a robotic arm control command. In other words, the adjusted position control quantity Ttoolcontrol2origin is converted into the final robotic arm control command posecontrol2base output.

[0088] In practical applications, the final output of the robotic arm control command can include pose information or joint angle information. Based on the acquired control command, the robotic arm adjusts the pose of the power tool at the next moment, ensuring that the position coordinates of the power tool's end effector are consistent with the adjusted position control coordinates.

[0089] According to the technical solution provided in this disclosure, a controller installed in the system control program performs visual tracking control quantity calculation, force control quantity calculation, virtual boundary determination, and control quantity calculation using a tracking control module, a force control module, and a virtual boundary determination module, respectively. Through force interaction between the doctor and the power tool, a force control algorithm calculates the position control quantity at the end of the power tool. A virtual boundary determination algorithm is used to determine the position coordinates of the position control quantity, and the position control quantity is adjusted to ensure that the end of the power tool remains within the surgical cutting plane area. This disclosure achieves the limitation of the cutting plane area through force interaction between the doctor and the robot, simultaneously satisfying the needs of robot-assisted doctor operation and providing safety limits based on the doctor's plan, preventing cuts from exceeding the planned plane area and causing injury to the human body, thereby reducing surgical risks.

[0090] The following are embodiments of the apparatus disclosed herein, which can be used to execute embodiments of the method disclosed herein. For details not disclosed in the apparatus embodiments of this disclosure, please refer to the embodiments of the method disclosed herein.

[0091] Figure 4 This is a schematic diagram of the force control device for the end effector of a robotic arm provided in an embodiment of this disclosure. Figure 4 As shown, the force control device for the end effector of the robotic arm includes:

[0092] The determination module 401 is configured to determine the relative positional relationship of the end-effector coordinate system in the surgical planning plane region coordinate system based on the visual signal information collected by the visual sensor and the current pose information of the robotic arm.

[0093] The conversion module 402 is configured to acquire a force signal when the power tool is subjected to an external force, and convert the force signal into an end force signal in the end coordinate system of the power tool.

[0094] The calculation module 403 is configured to determine the position control quantity corresponding to the end of the power tool based on the end force signal and the relative position relationship. The position control quantity is used to represent the relative position of the end of the power tool in the surgical planning plane area coordinate system at the next moment.

[0095] The adjustment module 404 is configured to determine the position coordinates of the power tool end effector at the next moment based on the position control quantity and the virtual boundary corresponding to the surgical planning plane area, adjust the position control quantity according to the determination result, generate control commands based on the adjusted position control quantity and send them to the robotic arm. The control commands are used to control the robotic arm to adjust the pose of the power tool at the next moment so that the position of the power tool end effector is always within the surgical planning plane area.

[0096] In some embodiments, Figure 4 The determination module 401 acquires visual signal information collected by a visual sensor, calculates the relative position of the patient tracer coordinate system in the head-mounted tracer coordinate system based on the visual signal information; updates the relative position of the surgical planning plane region coordinate system in the robotic arm base coordinate system based on the pre-acquired registration results and the current robotic arm pose information; calculates the relative position of the power tool end effector coordinate system in the robotic arm base coordinate system based on the current robotic arm pose information and the pre-calibrated tool matrix; and calculates the relative position of the power tool end effector coordinate system in the surgical planning plane region coordinate system based on the updated relative position of the surgical planning plane region coordinate system in the robotic arm base coordinate system and the relative position of the power tool end effector coordinate system in the robotic arm base coordinate system. The visual signal information includes the position information corresponding to the patient tracer and the head-mounted tracer, and the registration results include the registration results between the affected area image and the patient's affected area.

[0097] In some embodiments, Figure 4 When the doctor drags the power tool to perform surgical operations, the conversion module 402 senses the dragging force applied to the power tool by the force sensor installed at the end of the robotic arm, and generates a force sensor signal based on the direction and torque of the sensed dragging force. The force sensor signal is preprocessed to obtain a force signal. The force sensor includes a six-dimensional force sensor.

[0098] In some embodiments, Figure 4 The conversion module 402 filters the force sensor signal and performs tool gravity calibration and sensor zero drift calibration on the filtered force sensor signal. Based on the calibration results, the tool gravity and zero drift are compensated in the force sensor coordinate system to obtain the compensated force signal. The force signal in the force sensor coordinate system is mapped to the power tool end coordinate system to obtain the end force signal in the power tool end coordinate system.

[0099] In some embodiments, Figure 4The calculation module 403 compares the value of the end force signal with a preset minimum threshold. When the value of the end force signal is greater than the minimum threshold, a predetermined force control algorithm is triggered to calculate the position control quantity. The calculation of the position control quantity includes calculating the speed control quantity of the end of the power tool based on the end force signal, and calculating the position control quantity of the end of the power tool at the next moment based on the relative position relationship, speed control quantity and time period at the current moment. When the value of the end force signal is less than or equal to the minimum threshold, the position control quantity calculated in the previous time period is used as the position control quantity of the end of the power tool at the next moment.

[0100] In some embodiments, Figure 4 The calculation module 403 multiplies the value of the end force signal with a preset coefficient to obtain the moving speed of the power tool end, and uses the moving speed as the speed control quantity of the power tool end in the current time period; or, it calculates the acceleration control quantity based on the value of the end force signal using a preset admittance formula, and calculates the speed control quantity based on the speed of the power tool end at the current moment, the acceleration control quantity, and the time period.

[0101] In some embodiments, Figure 4 The adjustment module 404 determines the vertical and horizontal coordinates corresponding to the position control quantity based on the coordinate matrix corresponding to the position control quantity. It uses virtual boundaries to perform boundary judgments on the vertical and horizontal coordinates to determine whether the position coordinates of the power tool end effector at the next moment are within the virtual boundary range. When the position coordinates are outside the virtual boundary range, the position coordinates of the power tool end effector at the next moment are adjusted to the coordinates corresponding to the boundary point on the virtual boundary. The boundary point is the boundary point on the virtual boundary closest to the power tool end effector, and the target attitude of the power tool at the next moment is adjusted to the initially planned attitude. When the position coordinates are within the virtual boundary range, the position coordinates corresponding to the power tool end effector at the next moment are kept unchanged, and the target attitude of the power tool at the next moment is adjusted to the initially planned attitude.

[0102] In some embodiments, Figure 4The adjustment module 404 uses the plane formed by any two coordinate axes in the power tool coordinate system as the cutting plane, and takes the coordinate axis corresponding to the tool cutting direction in the cutting plane as the first coordinate axis, the coordinate axis corresponding to the tool translation direction as the second coordinate axis, and the coordinate axis outside the cutting plane as the third coordinate axis; it performs equidistant interpolation on the boundary points of the virtual boundary along the direction of the second coordinate axis to obtain a boundary point set, which contains multiple interpolated boundary points; it determines the index of the nearest interpolated boundary point based on the coordinate value of the second coordinate axis corresponding to the current point; it determines whether the current point exceeds the boundary in the tool translation direction corresponding to the virtual boundary based on the index; if it exceeds, it sets the coordinate of the second coordinate axis of the output point to the coordinate of the second coordinate axis corresponding to the nearest interpolated boundary point; if it does not exceed, it sets the coordinate of the second coordinate axis of the output point to the coordinate of the second coordinate axis corresponding to the nearest interpolated boundary point. The coordinates of the second coordinate axis of the output point are set to the coordinates of the second coordinate axis corresponding to the current point. Based on the sequence number, it is determined whether the current point exceeds the boundary of the tool cutting direction corresponding to the virtual boundary. If it does, the coordinates of the first coordinate axis of the output point are set to the coordinates of the first coordinate axis corresponding to the nearest interpolation boundary point. If it does not exceed the boundary, the coordinates of the first coordinate axis of the output point are set to the coordinates of the first coordinate axis corresponding to the current point. The coordinates of the third coordinate axis of the output point are set to the coordinates of the third coordinate axis corresponding to the nearest interpolation boundary point. Based on the coordinates of the first, second, and third coordinate axes corresponding to the output point, the position control quantity of the power tool end effector at the next moment is determined. Here, the current point represents the position of the power tool end effector at the current moment, and the output point represents the position of the power tool end effector at the next moment.

[0103] In some embodiments, Figure 4 The adjustment module 404 performs coordinate system transformation on the position control quantity corresponding to the next moment of the adjusted power tool end based on the relative position relationship between the updated surgical planning plane area coordinate system and the robot arm base coordinate system and the pre-calibrated tool matrix, to obtain the position control quantity in the robot arm base coordinate system. Based on the position control quantity in the robot arm coordinate system, it generates control commands and sends the control commands to the robot arm.

[0104] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this disclosure.

[0105] Figure 5 This is a schematic diagram of the structure of the electronic device 5 provided in an embodiment of this disclosure. For example... Figure 5As shown, the electronic device 5 of this embodiment includes: a processor 501, a memory 502, and a computer program 503 stored in the memory 502 and executable on the processor 501. When the processor 501 executes the computer program 503, it implements the steps in the various method embodiments described above. Alternatively, when the processor 501 executes the computer program 503, it implements the functions of each module / unit in the various device embodiments described above.

[0106] For example, computer program 503 may be divided into one or more modules / units, which are stored in memory 502 and executed by processor 501 to perform the present disclosure. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of computer program 503 in electronic device 5.

[0107] Electronic device 5 can be a desktop computer, laptop, handheld computer, cloud server, or other electronic device. Electronic device 5 may include, but is not limited to, processor 501 and memory 502. Those skilled in the art will understand that... Figure 5 This is merely an example of electronic device 5 and does not constitute a limitation on electronic device 5. It may include more or fewer components than shown, or combine certain components, or different components. For example, electronic device may also include input / output devices, network access devices, buses, etc.

[0108] Processor 501 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0109] The memory 502 can be an internal storage unit of the electronic device 5, such as a hard disk or RAM. The memory 502 can also be an external storage device of the electronic device 5, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Furthermore, the memory 502 can include both internal and external storage units of the electronic device 5. The memory 502 is used to store computer programs and other programs and data required by the electronic device. The memory 502 can also be used to temporarily store data that has been output or will be output.

[0110] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0111] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0112] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.

[0113] In the embodiments provided in this disclosure, it should be understood that the disclosed apparatus / computer devices and methods can be implemented in other ways. For example, the apparatus / computer device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. Multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0114] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0115] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0116] If an integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program may include computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. A computer-readable medium may include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in a computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in a jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0117] The above embodiments are only used to illustrate the technical solutions of this disclosure, and are not intended to limit it. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be included within the protection scope of this disclosure.

Claims

1. A force control device for a robotic arm end effector, characterized in that, include: The determination module is configured to determine the relative positional relationship between the end effector coordinate system of the power tool and the surgical planning plane coordinate system based on the visual signal information collected by the vision sensor and the current pose information of the robotic arm. The conversion module is configured to acquire a force signal when the power tool is subjected to an external force, and convert the force signal into an end force signal in the end coordinate system of the power tool. The calculation module is configured to determine the position control quantity corresponding to the end of the power tool based on the end force signal and the relative position relationship. The position control quantity is used to represent the relative position of the end of the power tool in the surgical planning plane coordinate system at the next moment. The adjustment module is configured to determine the position coordinates of the power tool end effector at the next moment based on the position control quantity and the virtual boundary corresponding to the surgical planning plane area, adjust the position control quantity according to the determination result, generate control commands based on the adjusted position control quantity and send them to the robotic arm. The control commands are used to control the robotic arm to adjust the pose of the power tool at the next moment so that the position of the power tool end effector is always within the surgical planning plane area.

2. The apparatus according to claim 1, characterized in that, The determining module is further used for: The visual signal information collected by the visual sensor is acquired, and the relative positional relationship between the patient tracker coordinate system and the head tracker coordinate system is calculated based on the visual signal information. Based on the pre-acquired registration results, the current robotic arm pose information, and the relative position of the patient tracer coordinate system in the head tracer coordinate system, the relative position of the surgical planning plane area coordinate system in the robotic arm base coordinate system is updated. Based on the current pose information of the robotic arm and the pre-calibrated tool matrix, calculate the relative positional relationship between the end-effector coordinate system of the power tool and the coordinate system of the robotic arm base; Based on the updated relative positional relationship between the surgical planning plane region coordinate system and the robotic arm base coordinate system, and the relative positional relationship between the power tool end effector coordinate system and the robotic arm base coordinate system, the relative positional relationship between the power tool end effector coordinate system and the surgical planning plane region coordinate system is calculated. The visual signal information includes the position information corresponding to the patient tracker and the head tracker, and the registration result includes the registration result between the image of the affected area and the patient's affected area.

3. The apparatus according to claim 1, characterized in that, The conversion module is further used for: When the doctor drags the power tool to perform surgical operations, the force sensor installed at the end of the robotic arm senses the dragging force applied to the power tool and generates a force sensor signal based on the direction and torque of the sensed dragging force. The force sensor signal is then preprocessed to obtain a force signal. The force sensor includes a six-dimensional force sensor.

4. The apparatus according to claim 3, characterized in that, The conversion module is further configured to: The force sensor signal is filtered, and the filtered force sensor signal is calibrated for tool gravity and sensor zero drift. Based on the calibration results, the tool gravity and zero drift are compensated in the force sensor coordinate system to obtain the compensated force signal. The force signal in the force sensor coordinate system is mapped to the end-effector coordinate system of the power tool to obtain the end-effector force signal in the end-effector coordinate system of the power tool.

5. The apparatus according to claim 1, characterized in that, The computing module is further used for: The value of the end-effector force signal is compared with a preset minimum threshold. When the value of the end-effector force signal is greater than the minimum threshold, a predetermined force control algorithm is triggered to calculate the position control amount. The calculation of the position control amount includes calculating the speed control amount of the power tool end based on the end-effector force signal, and calculating the position control amount of the power tool end at the next moment based on the relative position relationship at the current moment, the speed control amount, and the time period. When the value of the end-effector force signal is less than or equal to the minimum threshold, the position control amount calculated in the previous time period is used as the position control amount of the power tool end at the next moment.

6. The apparatus according to claim 5, characterized in that, The computing module is further used for: The value of the end force signal is multiplied by a preset coefficient to obtain the moving speed of the end of the power tool, and the moving speed is used as the speed control quantity of the end of the power tool in the current time period. or, The acceleration control quantity is calculated based on the value of the end force signal using a preset admittance formula. The speed control quantity is calculated based on the speed of the end of the power tool at the current moment, the acceleration control quantity, and the time period.

7. The apparatus according to claim 1, characterized in that, The adjustment module is further used for: Based on the coordinate matrix corresponding to the position control quantity, the vertical and horizontal coordinates corresponding to the position control quantity are determined. The virtual boundary is used to perform boundary judgment on the vertical and horizontal coordinates respectively, so as to determine whether the position coordinates of the power tool end in the next moment are within the virtual boundary range. When the position coordinates are outside the virtual boundary range, the position coordinates of the power tool end in the next moment are adjusted to the coordinates corresponding to the boundary point on the virtual boundary, where the boundary point is the boundary point on the virtual boundary closest to the power tool end, and the target attitude of the power tool in the next moment is adjusted to the initially planned attitude. When the position coordinates are within the virtual boundary range, the position coordinates of the end of the power tool remain unchanged in the next moment, and the target attitude of the power tool in the next moment is adjusted to the initially planned attitude.

8. The apparatus according to claim 7, characterized in that, The adjustment module is further configured to perform virtual boundary judgment on the position control quantity of the power tool end at the next moment using a preset virtual boundary judgment algorithm, including: The plane formed by any two coordinate axes in the power tool coordinate system is taken as the cutting plane, and the coordinate axis corresponding to the tool cutting direction in the cutting plane is taken as the first coordinate axis, the coordinate axis corresponding to the tool translation direction is taken as the second coordinate axis, and the coordinate axis outside the cutting plane is taken as the third coordinate axis. The boundary points of the virtual boundary are interpolated at equal intervals along the direction of the second coordinate axis to obtain a boundary point set, which contains multiple interpolated boundary points. Based on the coordinate value of the second coordinate axis corresponding to the current point, determine the sequence number of the interpolation boundary point closest to the current point; Based on the sequence number, determine whether the current point exceeds the boundary in the tool translation direction corresponding to the virtual boundary. If it exceeds, set the coordinates of the second coordinate axis of the output point to the coordinates of the second coordinate axis corresponding to the nearest interpolation boundary point; if it does not exceed, set the coordinates of the second coordinate axis of the output point to the coordinates of the second coordinate axis corresponding to the current point. Based on the sequence number, determine whether the current point exceeds the boundary of the tool cutting direction corresponding to the virtual boundary. If it exceeds, set the coordinates of the first coordinate axis of the output point to the coordinates of the first coordinate axis corresponding to the nearest interpolation boundary point; if it does not exceed, set the coordinates of the first coordinate axis of the output point to the coordinates of the first coordinate axis corresponding to the current point. The coordinates of the third coordinate axis of the output point are set to the coordinates of the third coordinate axis corresponding to the nearest interpolation boundary point. Based on the coordinates of the first, second, and third coordinate axes corresponding to the output point, the position control quantity of the power tool end at the next moment is determined. Wherein, the current point represents the position of the end effector of the power tool at the current moment, and the output point represents the position of the end effector of the power tool at the next moment.

9. The apparatus according to claim 1, characterized in that, The adjustment module is further used for: Based on the relative positional relationship between the updated surgical planning plane coordinate system and the robotic arm base coordinate system, and the pre-calibrated tool matrix, the position control quantity corresponding to the next moment of the adjusted power tool end is transformed into a coordinate system to obtain the position control quantity in the robotic arm base coordinate system. A control command is generated based on the position control quantity in the robotic arm coordinate system and sent to the robotic arm.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the program, performs the functions of the device according to any one of claims 1 to 9.

11. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it performs the functions of the apparatus as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Remote surgical data fusion interactive display system and method

    CN112618026A

  • Surgical robot tracking and moving method and system

    CN113855236A