Master-slave type surgical robot tremor filtering method and system
Through the adaptive low-pass filtering method, especially the Euro filtering method, the average value of the position data of the master-slave surgical robot is calculated and filtered, which solves the motion delay problem in the tremor filtering of the master-slave surgical robot, and achieves faster response and smoother operation.
Patent Information
- Application Number
- CN202510769699.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-10
- Publication Date
- 2025-07-08
AI Technical Summary
The existing master-slave surgical robots have a problem of motion control delay during tremor filtration, especially the post-filter motion control delay caused by Kalman filtering.
Adaptive low-pass filtering method is used to calculate the average value by obtaining the position data of the current main controller of the master-slave surgical robot and a certain number of pose data of the previous master controller, and performing adaptive low-pass filtering, including processing using the Euro filtering method, setting the speed filtering factor and data scale factor to calculate the output target control data.
Effectively suppress tremor, reduce motion delay, achieve timeliness and sensitivity of movement, and improve the smoothness and response speed of surgical robot operations.
Smart Images

Figure CN120267416A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of medical devices, and particularly relates to a tremor filtering method and system for a master-slave surgical robot. Background Art
[0002] Surgical robots are an evolving field with a relatively short history. The first recorded medical application occurred in 1985, where a brain biopsy was performed. Surgical robots are an interdisciplinary field in which many components communicate with each other. These include electromechanical devices such as motors, gears, and various sensors.
[0003] The master-slave minimally invasive surgery (MIS) robot system is a typical product of the combination of minimally invasive surgery technology and robotics in medicine. During surgery, the surgical robot can assist the doctor in performing various surgical operations and precise positioning, and provide a stable operating platform. The master-slave surgical robot is controlled by a surgeon on one side of the doctor's operating console to complete the surgery by the distal robotic arm, and it is necessary to transmit the doctor's hand movements to the distal robotic arm side. Therefore, the physiological tremors of the doctor's hand are inevitably transmitted to the tip of the instrument, and may even be amplified.
[0004] In order to reduce the tremors at the tip of the instrument caused by this reason and make the movement of the instrument smoother, it is necessary to adopt a certain hand jitter elimination algorithm on the doctor's operating console side to achieve the purpose of smooth movement. Existing literature [e.g., Research on Tremor Filtering and Vibration Suppression Methods for Master-Slave Surgical Robots] describes how to use the Kalman filtering method to suppress the tremors in the signal, but it also causes the problem of delay in motion control after filtering. Summary of the Invention
[0005] Aiming at the problem in the prior art that the master-slave surgical robot usually uses the Kalman filtering method to suppress the tremors in the signal, but it causes the problem of delay in motion control after filtering, this application provides a tremor filtering method and system for a master-slave surgical robot to achieve the purpose of suppressing tremors and reducing motion delay, and realizing the timeliness and sensitivity of motion.
[0006] To solve the above problems, in the first aspect, this application provides a tremor filtering method for a master-slave surgical robot, including the following steps:
[0007] Obtain the pose data of the current master controller of the master-slave surgical robot, and calculate the average value according to the pose data of the current master controller and the pose data of a certain number of prior master controllers;
[0008] Use the average value as the control data at the current data moment, perform adaptive low-pass filtering processing, and obtain the output target control data at the current data moment for controlling the slave hand of the surgical robot.
[0009] In some embodiments, obtaining the pose data of the current master controller of the master-slave surgical robot, and calculating the average value according to the pose data of the current master controller and the pose data of a certain number of previous master controllers includes:
[0010] Presetting a pose data pool for storing the pose data of the master controller of the master-slave surgical robot, where the capacity of the pose data pool is the pose data of a certain number of master controllers;
[0011] Obtaining the pose data of the current master controller of the master-slave surgical robot, detecting whether the pose data pool is full, if so, deleting the group of pose data of the master controller with the earliest storage time in the pose data pool, and calculating the average value of the pose data pool after storing the pose data of the current master controller into the pose data pool; otherwise, calculating the average value of the pose data pool after storing the pose data of the current master controller into the pose data pool.
[0012] In some embodiments, the pose data pool also deletes the pose data of the previous master controller that has been stored outside a certain time according to the current time at all times.
[0013] In some embodiments, the pose data of a certain number of previous master controllers includes:
[0014] In the obtaining of the pose data of the current master controller of the master-slave surgical robot, the pose data of the master controller within a certain previous time of the current obtaining moment.
[0015] In some embodiments, the adaptive low-pass filtering process is performed using the OneEuro filtering method.
[0016] In some embodiments, the processing method of the OneEuro filtering method includes the following steps:
[0017] A: Set the speed filtering factor;
[0018] B: Calculate the current data frequency;
[0019] C: Calculate the current motion speed according to the current data frequency and the corresponding control data;
[0020] D: Calculate the current speed scale factor based on the speed filtering factor and the current motion speed;
[0021] E: Calculate the current data scale factor based on the current speed scale factor;
[0022] F: Calculate the filtered data according to the current data scale factor to obtain the output target control data.
[0023] In some embodiments, in step B, calculating the current data frequency includes:
[0024] Obtaining the current data time and the previous data time, and calculating the current data frequency.
[0025] In some embodiments, in step C, calculating the current movement speed according to the current data frequency and the corresponding control data includes:
[0026] Obtaining the control data at the current data time and the control data at the previous data time, and calculating the current movement speed in combination with the current data frequency.
[0027] To solve the above problems, in a second aspect, the present application provides a master-slave surgical robot tremor filtering system, including a robot master hand control system, a tremor filter, and a robot slave hand control system; the robot master hand control system is sequentially connected to the tremor filter and the robot slave hand control system; the tremor filter obtains the output target control data at the current data time according to the above master-slave surgical robot tremor filtering method and transmits it to the robot slave hand control system.
[0028] To solve the above problems, in a third aspect, the present application provides a computer-readable storage medium, on which a program is stored, and when the program is executed by a processor, the steps in the above master-slave surgical robot tremor filtering method are implemented.
[0029] To solve the above problems, in a fourth aspect, the present application provides an electronic device, including a memory, a processor, and a program stored on the memory and executable on the processor. When the processor executes the program, the steps in the above master-slave surgical robot tremor filtering method are implemented.
[0030] The beneficial effect of the present application is as follows: The master-slave surgical robot tremor filtering method of the present application adopts an average value filtering superposition adaptive low-pass filtering method for the current main controller control data to achieve the purpose of suppressing tremors and reducing motion delay, and realizing the timeliness and sensitivity of motion. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the description of the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0032] Figure 1 A schematic flowchart of the master-slave surgical robot tremor filtering method provided in the first aspect of the embodiments of the present application.
[0033] Figure 2 1. Schematic structural block diagram of the master-slave surgical robot tremor filtering system provided in the second aspect of the embodiments of the present application.
[0034] Figure 3 2. Schematic flowchart when the master-slave surgical robot tremor filtering method in the embodiments of the present application is used. Detailed implementation manners
[0035] In order to make the technical problems, technical solutions and beneficial effects to be solved by the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0036] In the following description, specific details such as specific system structures and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits and methods are omitted to avoid unnecessary details from interfering with the description of the present application.
[0037] It should be understood that when used in the specification of the present application and the appended claims, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or their combinations.
[0038] It should also be understood that the term "and / or" used in the specification of the present application and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0039] As used in the specification of the present application and the appended claims, the term "if" can be interpreted as "when", "once", "in response to determining" or "in response to detecting" according to the context. Similarly, the phrase "if determined" or "if [the described condition or event] is detected" can be interpreted as meaning "once determined", "in response to determining", "once [the described condition or event] is detected" or "in response to detecting [the described condition or event]" according to the context.
[0040] In addition, in the description of the specification of the present application and the appended claims, the terms "first", "second", "third", etc. are only used for differential description and cannot be understood as indicating or implying relative importance.
[0041] Reference to "one embodiment" or "some embodiments" etc. described in the specification of this application means that a specific feature, structure, or characteristic described in connection with that embodiment is included in one or more embodiments of this application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "comprising", "including", "having" and their variants all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0042] Figure 1 FIG. shows a schematic flowchart of a master-slave surgical robot tremor filtering method provided in the first aspect of an embodiment of this application. By way of example and not limitation, the method includes:
[0043] Obtain the pose data of the current master controller of the master-slave surgical robot, and calculate the average value according to the pose data of the current master controller and the pose data of a certain number of prior master controllers;
[0044] Use the average value as the control data at the current data moment, perform adaptive low-pass filtering processing, and obtain the output target control data at the current data moment for controlling the slave hand of the surgical robot.
[0045] It can be understood that in the above embodiment, the average value filtering and superposition of adaptive low-pass filtering method are adopted for the control data of the current master controller to achieve the purpose of suppressing tremors and reducing motion delay.
[0046] In some embodiments, in obtaining the pose data of the current master controller of the master-slave surgical robot and calculating the average value according to the pose data of the current master controller and the pose data of a certain number of prior master controllers, it may include:
[0047] Preset a pose data pool for storing the pose data of the master controller of the master-slave surgical robot, and the capacity of this pose data pool is the pose data of a certain number of master controllers;
[0048] Obtain the pose data of the current master controller of the master-slave surgical robot, detect whether the pose data pool is full. If it is full, delete the set of pose data of the master controller with the earliest storage time in the pose data pool, and calculate the average value of the pose data pool after storing the pose data of the current master controller into the pose data pool; otherwise, calculate the average value of the pose data pool after storing the pose data of the current master controller into the pose data pool.
[0049] It is understandable that the certain number here can be set according to actual conditions, such as being set to 300 groups, etc., and can also be variable. Therefore, a posture data pool can be set. When it is full, the earliest set of posture data stored is deleted to store new posture data. Therefore, after the posture data pool is full, the average value of the posture data pool calculated each time is the average value calculated based on the posture data capacity (i.e. a certain number) of the posture data pool capacity. And the above scheme also proposes a specific scheme for how to deal with the situation when there is no posture data of the previous main controller. In addition, when the above-mentioned posture data pool is not full, the "certain number" when calculating the average value is not the capacity of the posture data pool. At this time, the "certain number" has changed.
[0050] In some embodiments, in the posture data pool, the posture data of the main controller stored outside a certain period of time can be deleted at any time according to the current time.
[0051] It is understandable that, since the operation time may be too long, and in some cases, the posture data of a master controller may not change for a long time, if it is suddenly needed to be applied at this time, causing the posture data of the master controller to change dramatically, the operation of the master-slave surgical robot tremor filtering method may cause large errors, and the system response will also appear to be slow, affecting the user experience. Therefore, in this embodiment, it is set to delete the posture data of the master controller stored in the posture data pool outside a certain time according to the current time, so as to avoid the above problems as much as possible. Here, a certain time can be set according to the actual situation, and it will not be described in detail here.
[0052] In some embodiments, a certain amount of posture data of the previous master controller may also include:
[0053] In acquiring the current posture data of the master controller of the master-slave surgical robot, the posture data of the master controller within a certain period of time before the current acquisition moment is acquired.
[0054] It is understandable that, because the operation time may be too long, and in some cases, the posture data of a master controller may not change for a long time, if it is suddenly needed to be applied at this time, causing the posture data of the master controller to change dramatically, then due to the operation of the above-mentioned master-slave surgical robot tremor filtering method, it may cause large errors and the system response will also appear to be slow, affecting the user experience. Therefore, in this embodiment, a certain number of posture data of the previous master controller are explained, and the posture data of the master controller within a certain time before the current acquisition moment are selected to avoid the above problems as much as possible. Here, a certain time can be set according to actual conditions, and will not be described in detail here.
[0055] In some embodiments, the adaptive low-pass filtering process can be performed using the OneEuro filtering method.
[0056] It can be understood that the OneEuro filtering method is a relatively typical adaptive low-pass filtering method at present, and will not be elaborated here.
[0057] In some embodiments, in specific use, the processing method of the OneEuro filtering method may include the following steps:
[0058] A: Set the speed filtering factor;
[0059] B: Calculate the current data frequency;
[0060] C: Calculate the current movement speed according to the current data frequency and the corresponding control data;
[0061] D: Calculate the current speed scale factor based on the speed filtering factor and the current movement speed;
[0062] E: Calculate the current data scale factor based on the current speed scale factor;
[0063] F: Calculate the filtered data according to the current data scale factor to obtain the output target control data.
[0064] It can be understood that the above embodiments propose a feasible processing method for the OneEuro filtering method. By setting the speed filtering factor, calculating the current data frequency, calculating the current movement speed, then calculating the current speed scale factor, and finally calculating the current data scale factor according to the current speed scale factor, and calculating the filtered data according to the current data scale factor to obtain the output target control data.
[0065] In some embodiments, in step B, calculating the current data frequency may include:
[0066] Obtain the current data time and the previous data time, and calculate the current data frequency.
[0067] It can be understood that the above embodiments propose a feasible solution for calculating the current data frequency.
[0068] In some embodiments, in step C, calculating the current movement speed according to the current data frequency and the corresponding control data may include:
[0069] Obtain the control data at the current data time and the control data at the previous data time, and calculate the current movement speed in combination with the current data frequency.
[0070] It can be understood that the above embodiments propose a feasible solution for calculating the current movement speed according to the current data frequency and the corresponding control data.
[0071] In some embodiments, the calculation formula for the current data frequency is as follows:
[0072] freg = 1 / (t1 - t0);
[0073] where freg is the current data frequency, t1 is the current data time, and t0 is the previous data time, that is, t1 when the filtered data was last calculated to obtain the output target control data.
[0074] In some embodiments, the calculation formula for the current movement speed is as follows:
[0075] v1 = (x1 - x0) * freg
[0076] where v1 is the current movement speed, x1 is the control data at time t1, and x0 is the control data at time t0.
[0077] In some embodiments, the calculation formula for the current speed scale factor is as follows:
[0078] evaleu = α * v1 + (1 - α) * v0
[0079] where evaleu is the current speed scale factor, α is the speed filtering factor, v0 is the movement speed calculated at the previous data time t0, and v1 is the current movement speed.
[0080] In some embodiments, the calculation formula for the current data scale factor is as follows:
[0081] β = minimum ratio + ratio * evaleu.
[0082] where β is the current data scale factor.
[0083] Here, the minimum ratio and the ratio can be set according to the actual situation. For example, the minimum ratio can be set to 1.0 (i.e., 1:1), and the ratio can be set to 0.01 (i.e., 1:100). The defibrillation effect can be improved by adjusting the minimum ratio and the ratio.
[0084] In some embodiments, the filtered data is calculated based on the current data scale factor to obtain the output target control data. The calculation formula is as follows:
[0085] final_val = β * x1 + (1 - β) * x0
[0086] where final_val is the output target control data.
[0087] In some embodiments, when any robot is just started, there may be a situation where there is no control data at the previous data moment. Therefore, during the above adaptive low-pass filtering process, it can be set that when there is only control data at the current data moment and no control data at the previous data moment, no adaptive low-pass filtering process is performed. At the same time, it can be set that the current data moment corresponding to the control data at the current data moment is used as t0 for the next adaptive low-pass filtering process, the control data at the current data moment is used as x0 for the next adaptive low-pass filtering process, and the current movement speed is obtained as v0 for the next adaptive low-pass filtering process.
[0088] Therefore, during the above adaptive low-pass filtering process, it can also be set that when there is only control data at the current data moment and no control data at the previous data moment, t0 is set to 0, x0 is set to 0, and v0 is set to 0.
[0089] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0090] Figure 2 Fig. shows a schematic structural block diagram of a master-slave surgical robot tremor filtering system provided in the second aspect of the embodiments of the present application. For the sake of convenience of description, only the parts related to the embodiments of the present application are shown.
[0091] See Figure 2 , a master-slave surgical robot tremor filtering system includes a robot master hand control system, a tremor filter, and a robot slave hand control system; the robot master hand control system is sequentially connected to the tremor filter and the robot slave hand control system; the tremor filter obtains the output target control data at the current data moment according to the above master-slave surgical robot tremor filtering method and transmits it to the robot slave hand control system.
[0092] The third aspect of the embodiments of the present application provides a computer-readable storage medium, on which a program is stored, and when the program is executed by a processor, the steps in the above master-slave surgical robot tremor filtering method are implemented.
[0093] The fourth aspect of the embodiments of the present application provides an electronic device, including a memory, a processor, and a program stored on the memory and executable on the processor. When the processor executes the program, the steps in the above master-slave surgical robot tremor filtering method are implemented.
[0094] The above solutions are described in detail below by way of specific examples:
[0095] Such as Figure 2As shown in the figure, the master-slave surgical robot tremor filtering system according to the embodiment of the present application includes a robot master hand control system, a tremor filter, and a robot slave hand control system. Among them, the tremor filter includes an average value filter and an adaptive low-pass filter.
[0096] In the specific use of this example, the schematic flowchart of the master-slave surgical robot tremor filtering method is as Figure 3 shown.
[0097] When the system works, first, it judges whether the operation is over. If so, it ends the work; otherwise, it enters the next judgment process. That is, it judges whether the system switches the working state. If so, it resets the tremor filter and the system starts to work again. Otherwise, it starts to enter the master-slave surgical robot tremor filtering process.
[0098] First, perform average value filtering: Use the data within a certain window range to smoothly filter the motion data. Specifically as follows:
[0099] Obtain the pose data of the current master controller of the master-slave surgical robot, that is, the position data (x, y, z) and the attitude data (rx, ry, rz). Preset a pose data pool for storing the pose data of the master controller of the master-slave surgical robot.
[0100] The system detects whether the pose data pool is full. If so, it deletes the group of pose data of the master controller with the earliest storage time in the pose data pool, and calculates the average value of the pose data pool after storing the pose data of the current master controller into the pose data pool; otherwise, it calculates the average value of the pose data pool after storing the pose data of the current master controller into the pose data pool.
[0101] Secondly, perform adaptive low-pass filtering: Consider the speed and control frequency of the previous and current data to quickly respond to the doctor's hand movement. Specifically as follows:
[0102] Use the average value as the control data at the current data moment and perform adaptive low-pass filtering. The adaptive low-pass filtering process includes the following steps:
[0103] A: Set the speed filtering factor α;
[0104] B: Obtain the current data moment t1 and the previous data moment t0, and calculate the current data frequency freg;
[0105] freg = 1 / (t1 - t0);
[0106] Among them, freg is the current data frequency, t1 is the current data moment, and t0 is the previous data moment.
[0107] C: Obtain the control data x0 at time t0 and the control data x1 at time t1, and calculate the current motion speed v1 by combining the current data frequency freg;
[0108] v1 = (x1 - x0) * freg
[0109] where v1 is the current motion speed, x1 is the control data at time t1, and x0 is the control data at time t0;
[0110] D: Calculate the current speed scale factor based on the speed filtering factor α and the current motion speed v1; The calculation formula for the current speed scale factor is as follows:
[0111] evaleu = α * v1 + (1 - α) * v0
[0112] where evaleu is the current speed scale factor, α is the speed filtering factor, v0 is the motion speed at the previous data time t0, and v1 is the current motion speed.
[0113] E: Calculate the current data scale factor β based on the current speed scale factor;
[0114] β = minimum ratio + ratio * evaleu.
[0115] F: Calculate the filtered data based on the current data scale factor β to obtain the output target control data. The calculation formula is as follows:
[0116] final_val = β * x1 + (1 - β) * x0
[0117] where final_val is the output target control data.
[0118] At the same time, use the current output target control data as the previous data x0 at the next moment, and enter the calculation of the output target control data at the next moment. Thus, real-time tremor filtering is achieved.
[0119] It should be noted that for the information interaction, execution process, etc. between the above-mentioned devices / units / modules, since they are based on the same concept as the method embodiment of the present application, for their specific functions and the technical effects brought, please refer to the method embodiment part for details, and will not be elaborated here.
[0120] Those skilled in the art can clearly understand that, for the convenience and conciseness of description, only the division of the above functional units and modules is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of the functional units and modules are only for the convenience of mutual distinction and do not limit the protection scope of this application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated here.
[0121] If the above integrated unit is implemented in the form of 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, to implement all or part of the processes in the above method embodiments of this application, a computer program can be used to instruct the relevant hardware to complete. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the photographing device / terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), electrical carrier signal, telecommunication signal, and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk, or an optical disc, etc. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.
[0122] In the above embodiments, the descriptions of the respective embodiments have their own emphases. For the parts not detailed or recorded in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0123] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in connection with the embodiments disclosed herein can be implemented in electronic hardware, or in a combination of computer software and electronic hardware. Whether these functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. A person skilled in the art can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of this application.
[0124] In the embodiments provided in this application, it should be understood that the disclosed apparatus / network device and method can be implemented in other ways. For example, the apparatus / network device embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in electrical, mechanical or other forms.
[0125] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0126] The above-described embodiments are only used to illustrate the technical solutions of this application, rather than to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features. And these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included in the protection scope of this application.
[0127] The above-described embodiments are only used to illustrate the technical solutions of this application, rather than to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features. And these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included in the protection scope of this application.
Claims
1. Master-slave surgical robot tremor filtering method, characterized in that: Including the following steps: Obtain the pose data of the current master controller of the master-slave surgical robot, and calculate the average value according to the pose data of the current master controller and the pose data of a certain number of previous master controllers; Take the average value as the control data at the current data moment, perform adaptive low-pass filtering processing, and obtain the output target control data at the current data moment for controlling the slave hand of the surgical robot.
2. The master-slave surgical robot tremor filtering method according to claim 1, wherein: The obtaining of the pose data of the current master controller of the master-slave surgical robot and calculating the average value according to the pose data of the current master controller and the pose data of a certain number of previous master controllers includes: Preset a pose data pool for storing the pose data of the master controller of the master-slave surgical robot, and the capacity of the pose data pool is the pose data of a certain number of master controllers; Obtain the pose data of the current master controller of the master-slave surgical robot, detect whether the pose data pool is full. If it is full, delete the group of pose data of the master controller with the earliest storage time in the pose data pool, and calculate the average value of the pose data pool after storing the pose data of the current master controller; otherwise, calculate the average value of the pose data pool after storing the pose data of the current master controller.
3. The master-slave surgical robot tremor filtering method according to claim 2, characterized in that: The pose data pool also deletes the pose data of the previous master controller outside a certain time according to the current time at all times.
4. The master-slave surgical robot tremor filtering method according to claim 1, characterized in that: The pose data of a certain number of previous master controllers includes: In the obtaining of the pose data of the current master controller of the master-slave surgical robot, the pose data of the master controller within a certain previous time of the current acquisition moment.
5. The master-slave surgical robot tremor filtering method according to claim 1, wherein: The adaptive low-pass filtering processing is performed using the One Euro Filter method.
6. The master-slave surgical robot tremor filtering method according to claim 5, wherein: The processing method of the One Euro Filter method includes the following steps: A: Set the speed filtering factor; B: Calculate the current data frequency; C: Calculate the current movement speed according to the current data frequency and the corresponding control data; D: Calculate the current speed ratio factor based on the speed filtering factor and the current movement speed; E: Calculate the current data ratio factor based on the current speed ratio factor; F: Calculate the filtered data based on the current data ratio factor to obtain the output target control data.
7. The master-slave surgical robot tremor filtering method according to claim 6, wherein: In step B, the calculating of the current data frequency includes: Obtain the current data moment and the previous data moment, and calculate the current data frequency.
8. The master-slave surgical robot tremor filtering method according to claim 7, characterized in that: In step C, the calculating of the current movement speed according to the current data frequency and the corresponding control data includes: Obtain the control data at the current data moment and the control data at the previous data moment, and calculate the current movement speed in combination with the current data frequency.
9. The master-slave surgical robot tremor filtering system is characterized in that: Including a robot master hand control system, a tremor filter, and a robot slave hand control system; the robot master hand control system is sequentially connected to the tremor filter and the robot slave hand control system; the tremor filter obtains the output target control data at the current data moment according to the master-slave surgical robot tremor filtering method described in any one of claims 1-8 and transmits it to the robot slave hand control system.
10. A computer-readable storage medium having a program stored thereon, characterized in that: When the program is executed by a processor, it implements the steps in the master-slave surgical robot tremor filtering method described in any one of claims 1-8.
Citation Information
Patent Citations
Self-adaptive filtering device of master-slave minimally-invasive surgery robot system
CN101785704A
Control method and system for suppressing vibration of tail end of mechanical arm of master-slave robot
CN113103205A
Active motion extraction method for tremor patient based on adaptive filtering and electronic equipment
CN115470814A
Master-slave surgical robot control system and method capable of suppressing tremor
CN115607297A
Surgical robot slave arm vibration suppression method and device, medium and product
CN119184868A
Cited By
Laparoscopic surgical instrument with intelligent regulation and control function and intelligent regulation and control method thereof
CN121971161A