Surgical robot slave arm vibration suppression method and device, medium and product

By updating the filter combination, filtering the position error of the surgical robot from the arm is solved, the problem of vibration of the arm is improved, the quality and efficiency of the surgery are improved, and the hardware cost is avoided.

CN119184868AActive Publication Date: 2024-12-27HARBIN SIZHERUI INTELLIGENT MEDICAL EQUIP CO LTD

Patent Information

Application Number
CN202411235365.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2024-12-27
Estimated Expiration
2044-09-04

AI Technical Summary

Technical Problem

The existing surgical robots are prone to structural tremors from the arm, resulting in deviations in command signals and affecting the quality of the surgery.

Method used

By determining the position error combination generated by each position joint from the arm in the current reference period combination, the set filter combination is updated, and the position command signals in the command period are filtered in turn to control joint movement to reduce the influence of the undesired signal.

Benefits of technology

It effectively reduces slave arm vibration, improves the purity of the command signal, ensures accurate movement of position joints, and uses software-level digital filters to not increase hardware cost and complexity, avoid master-slave delays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119184868A_ABST
    Figure CN119184868A_ABST
Patent Text Reader

Abstract

The invention discloses a surgical robot slave arm vibration suppression method and device, a medium and a product, and belongs to the technical field of medical equipment. The method comprises the steps that a position error combination generated by all position joints of a slave arm in a current reference period combination is determined, the position error combination comprises position errors corresponding to all reference periods, and the position errors are differences between instruction positions and actual positions of the position joints; updating the set filter combination according to the frequency spectrum data corresponding to the position error combination; using the updated set filter combination to sequentially filter the position instruction signals corresponding to the instruction periods in the current instruction period combination, and sequentially updating the position instruction signals corresponding to the instruction periods in the current instruction period combination; and for each position joint, controlling each position joint to move according to the sequentially updated position command signals. According to the technical scheme, vibration of the slave arm of the surgical robot can be restrained.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of medical equipment, and in particular to a method, equipment, medium and product for suppressing vibration of a surgical robot slave arm. Background Art

[0002] The slave arm of the existing surgical robot is prone to structural vibration. Specifically, when the doctor's master hand remotely operates the slave arm, there is often a deviation between the actual signal collected by the master hand and the expected signal. This deviation is mostly caused by physiological tremors generated unconsciously by people and high-frequency noise caused by sensors, which makes the command signal executed by the slave arm include unexpected signals. The unexpected signal will cause vibration at the end of the robot's slave arm, which will affect the quality of surgery. Summary of the invention

[0003] The present invention provides a method, device, medium and product for suppressing vibration of a slave arm of a surgical robot, so as to solve the problem of slave arm vibration of the existing surgical robot.

[0004] According to one aspect of the present invention, a method for suppressing vibration of a surgical robot slave arm is provided, comprising:

[0005] Determine a position error combination generated by each position joint of the slave arm within a current reference cycle combination, wherein the current reference cycle combination includes at least two reference cycles, the position error combination includes a position error corresponding to each of the reference cycles, and the position error is a difference between a command position and an actual position of the position joint;

[0006] Update and set the filter combination according to the frequency spectrum data corresponding to the position error combination;

[0007] Using the updated set filter combination, sequentially filtering the position command signals corresponding to the instruction cycles in the current instruction cycle combination, and sequentially updating the position command signals corresponding to the instruction cycles in the current instruction cycle combination, wherein the current instruction cycle combination is adjacent to the current reference cycle combination and is located after the current reference cycle combination, and the current instruction cycle combination includes at least one instruction cycle;

[0008] For each of the position joints, the movement of each of the position joints is controlled according to the position instruction signals that are updated in sequence.

[0009] According to another aspect of the present invention, a surgical robot is provided, the surgical robot comprising:

[0010] at least one processor; and

[0011] a memory communicatively connected to the at least one processor; wherein,

[0012] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute a method for suppressing vibration of a surgical robot slave arm as described in any embodiment.

[0013] According to another aspect of the present invention, there is provided a surgical robot, comprising:

[0014] A master hand and at least one slave arm;

[0015] at least one processor connecting the master hand and the at least one slave arm; and

[0016] a memory communicatively connected to the at least one processor; wherein,

[0017] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute a method for suppressing vibration of a surgical robot slave arm as described in any embodiment.

[0018] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method for suppressing vibration of a surgical robot slave arm as described in any embodiment of the present invention when executed.

[0019] The technical solution of the embodiment of the present invention determines the parameter data of each filter in the set filter combination based on the position error combination corresponding to the current reference cycle combination to update the set filter combination. Since the position error combination can accurately reflect the influence of the noise signal on the position joint motion control, the set filter combination is updated based on the position error combination to ensure the accuracy of the update of the set filter combination; the updated set filter combination is used to filter the position instruction signals corresponding to each instruction cycle in the current instruction cycle in sequence, and the corresponding position joint motion is controlled based on the sequentially updated position instruction signals. Since the updated position instruction signal is purer than the position instruction signal before the update, the error between the actual position of the position joint and the instruction position is smaller when the corresponding position joint motion is controlled based on the updated position instruction signal; and the digital filter at the software level is used without increasing the hardware cost and complexity; the filter delay time of this embodiment is short, so the doctor will not feel the master-slave delay in the process of operating the master hand end; further, the filter calculation amount is small, and the filter filtering processing of the filter is performed only when the device is in the master-slave state, so the surgical robot will not be significantly reduced.

[0020] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0022] Figure 1 It is a schematic diagram of the slave arm structure of an existing surgical robot;

[0023] Figure 2 This is a schematic diagram of the distribution of slave arm joints of an existing surgical robot;

[0024] Figure 3 is a flow chart of a method for suppressing vibration of a surgical robot slave arm provided according to an embodiment of the present invention;

[0025] Figure 4 is a flow chart of a notch filter updating method provided according to an embodiment of the present invention;

[0026] Figure 5 is a schematic structural diagram of a surgical robot slave arm vibration suppression device provided according to an embodiment of the present invention;

[0027] Figure 6 is another structural schematic diagram of a surgical robot slave arm vibration suppression device provided according to an embodiment of the present invention;

[0028] Figure 7 It is a schematic diagram of the structure of a surgical robot implementing an embodiment of the present invention. DETAILED DESCRIPTION

[0029] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0030] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0031] The master-slave surgical robot includes a master hand and at least one slave arm connected to the master hand, such as three slave arms or four slave arms (see Figure 1 ). The operator issues an operation command, such as a position command signal, to the master hand. The master hand collects the position command signal issued by the operator and controls the corresponding slave arm to move to the corresponding position according to the position command signal. The slave arm usually includes a position joint and a posture joint. Figure 2 As shown in FIG. 1 , the surgical robot includes 7 active joints, namely, a rotary joint (J1), a parallelogram joint (J2), a slide joint (J3), an instrument slew joint (J4), an instrument pitch joint (J5), an instrument right swing joint, and an instrument left swing joint (J7). Among the seven active joints, the first three joints are position joints, and the last four joints are posture joints. The vibration of the slave arm is mainly generated by the position joints.

[0032] Figure 3 A flowchart of a method for suppressing vibration of a surgical robot slave arm provided in an embodiment of the present invention. This embodiment is applicable to the case where a set filter combination corresponding to each position joint is updated based on a position error combination of each position joint, wherein the set filter combination is used to filter the position command signal of the corresponding position joint to ensure the accuracy of the position command signal. This method can be performed by a surgical robot slave arm vibration suppression device, which can be implemented in the form of hardware and / or software, and can be configured in the processor of the surgical robot. Figure 3 As shown, the method includes:

[0033] S110. Determine the position error combination generated by each position joint of the slave arm within the current reference cycle combination, where the current reference cycle combination includes at least two reference cycles, and the position error combination includes the position error corresponding to each reference cycle, and the position error is the difference between the command position and the actual position of the position joint.

[0034] The processor parses the position command signal of each position joint of the slave arm to obtain the command position, and controls each position joint of the slave arm to move to the corresponding command position. Ideally, each position joint of the slave arm should be moved to the corresponding command position. But in reality, since the position command signal includes undesirable signals such as physiological tremor and high-frequency noise caused by the sensor, these undesirable signals cause the corresponding position joint to produce movement deviation, and this movement deviation causes the actual position of the slave arm to have a position difference with the command position.

[0035] The actual position includes the actual angle. The encoder output signal of the surgical robot is a pulse signal, and its frequency is proportional to the rotation angle of the corresponding joint. Therefore, the actual angle of each joint of the arm can be obtained through the number of encoder output signal pulses and the resolution of the encoder.

[0036] S120, updating and setting the filter combination according to the frequency spectrum data corresponding to the position error combination.

[0037] In one embodiment, the set filter combination includes at least two notch filters connected in series, and a low-pass filter arranged after the at least two notch filters. This embodiment can specifically filter out noise in the target frequency band from the position instruction signal.

[0038] On the basis of the above-mentioned embodiment, the filter combination is set to further include a mean filter connected in series after the low-pass filter. This embodiment can improve the smoothness of the position command signal acting on the slave arm.

[0039] Setting the update of the filter combination refers to the update of the notch filter included therein. For the specific update steps of the notch filter, refer to the following embodiments.

[0040] The low-pass filter is used to filter high-frequency interference signals. Since the frequency of autonomous hand movement does not exceed 2Hz, the low-pass filter cannot filter out effective signals of manual operation. In this embodiment, the cutoff frequency of the low-pass filter can be selected as 3.5Hz, 3Hz, etc. When the cutoff frequency is less than or equal to 3.5 and greater than or equal to 3, the delay time of the low-pass filter is greater than or equal to 80ms and less than or equal to 100ms, and at the same time, it will not reduce its filtering effect on high-frequency interference signals.

[0041] In one embodiment, a mean filter with S cycles is connected in series after the low-pass filter to smooth the position command signal output by the low-pass filter. The mean filter can be expressed as:

[0042]

[0043] Wherein, S is the number of cycles, and S can be selected as 5. Since the sampling period of the controller of the slave arm is 1 ms, the smoothing process of the position command signal of 5 cycles output by the low-pass filter will introduce a delay of 5 ms.

[0044] S130. Use the updated set filter combination to filter the position instruction signals corresponding to each instruction cycle in the current instruction cycle combination in turn, and update the position instruction signals corresponding to each instruction cycle in the current instruction cycle combination in turn. The current instruction cycle combination is adjacent to the current reference cycle combination and is located after the current reference cycle combination. The current instruction cycle combination includes at least one instruction cycle.

[0045] For each position joint of each slave arm, after the filter combination is set to be updated, the position command signal of each position joint in the current command cycle combination is filtered using the updated filter combination to filter out the undesired signal in the position command signal to update the position command signal. It can be understood that the updated position command signal is purer than the position command signal before the update.

[0046] In one embodiment, the current instruction cycle combination includes at least two instruction cycles. Exemplarily, for each position joint, the first 10 instruction cycles of the position joint (the instruction cycle marked as 0 to the instruction cycle marked as 9) are set as the reference cycle combination. After the position errors of the 10 instruction cycles are determined, the spectrum data corresponding to the 10 position errors are determined, and the filter combination is updated based on the spectrum data; when the position instruction signal of the instruction cycle marked as 10 is detected, it is determined that the corresponding position joint enters the first instruction cycle period, and the updated setting filter combination is used to filter the position instruction signals of the instruction cycle marked as 10 to the instruction cycle marked as 19 in sequence, and at the same time, the position error corresponding to the instruction cycle marked as 10 to the position error corresponding to the instruction cycle marked as 19 is determined in real time, and a reference cycle combination including the instruction cycle marked as 10 to the instruction cycle marked as 19 and a position error combination corresponding to the reference cycle combination are obtained, and the setting filter combination is updated based on the position error combination; when the position instruction signal of the instruction cycle marked as 20 is detected, it is determined that the position joint enters the second instruction cycle period, and the above steps are repeated.

[0047] In one embodiment, the current instruction cycle combination includes one instruction cycle, and the current reference cycle combination includes 10 instruction cycles before the current instruction cycle. Exemplarily, when an instruction cycle identified as 10 is detected, the instruction cycle identified as 10 is used as the current instruction cycle combination, and the instruction cycle identified as 0 to the instruction cycle identified as 9 are used as the current reference cycle combination; when an instruction cycle identified as 11 is detected, the instruction cycle identified as 11 is used as the current instruction cycle combination, and the instruction cycles identified as 1 to 10 are used as the current reference cycle combination, and so on, when an instruction cycle identified as S is detected, the instruction cycle identified as S is used as the current instruction cycle combination, and the instruction cycle identified as S-10 to the instruction cycle identified as S-1 are used as the current reference cycle combination.

[0048] S140. For each position joint, control the movement of each position joint according to the position instruction signal that is updated in sequence.

[0049] For each position joint, the movement of the current position joint is controlled according to the position command signal that is updated in sequence.

[0050] Exemplarily, for the position joint identified as 1, the current instruction cycle includes the instruction cycle identified as 10 to the instruction cycle identified as 19. When the instruction position signal corresponding to the updated instruction cycle identified as 10 is detected, the position joint identified as 1 is controlled to move; when the instruction position signal corresponding to the updated instruction cycle identified as 11 is detected, the position joint identified as 1 is controlled to move; and so on, when the instruction position signal corresponding to the updated instruction cycle identified as 19 is detected, the position joint identified as 1 is controlled to move.

[0051] In one embodiment, if the set filter combination is in a non-initial state and has not been updated within a set time, the set filter combination is restored to an initial state; if the set filter combination is in the initial state, each filter in the set filter combination is set to initial parameter data. In other words, if the updated set filter combination is not updated again within a set time, it is restored to its initial state. The set filter combination in the initial state filters the received position command signal based on the initial parameter data, so that the introduction of the set filter combination will not bring any hidden dangers to the surgical robot system.

[0052] The technical solution provided by the embodiment of the present invention determines the parameter data of each filter in the set filter combination based on the position error combination corresponding to the current reference cycle combination to update the set filter combination. Since the position error combination can accurately reflect the influence of the undesired signal on the position joint motion control, the set filter combination is updated based on the position error combination, so that the accuracy of the update of the set filter combination can be guaranteed; the updated set filter combination is used to filter the position instruction signals corresponding to each instruction cycle in the current instruction cycle in sequence, and the corresponding position joint motion is controlled based on the position instruction signals updated in sequence; since the updated position instruction signal is purer than the position instruction signal before the update, the error between the actual position of the position joint and the instruction position is smaller when the corresponding position joint motion is controlled based on the updated position instruction signal; and the digital filter at the software level is used, which does not increase the hardware cost and complexity; the filter delay time of this embodiment is short, so the doctor will not feel the master-slave delay in the process of operating the master hand end; further, the filter operation amount is small, and the filter filtering processing of the filter is performed only when the device is in the master-slave state, so the working efficiency of the surgical robot will not be greatly reduced.

[0053] Figure 4 This is another flow chart of a method for suppressing vibration of a surgical robot slave arm provided by an embodiment of the present invention. This embodiment is used to refine the update process of the notch filter in the above-mentioned setting filter combination. Figure 4 As shown, the method includes:

[0054] S2201. Determine frequency spectrum data corresponding to a position error combination.

[0055] Fourier transform (FT) is an important signal processing method that can transform a signal from the time domain to the frequency domain, thereby obtaining the spectrum data of the signal. Based on the spectrum data, the intensity of each frequency component in the signal can be analyzed.

[0056] For the time domain continuous function f(t), its Fourier transform can be expressed as:

[0057]

[0058] Among them, F(f) represents the signal in the frequency domain, f(t) is the signal in the time domain, f is the frequency, and i is the imaginary unit.

[0059] Since the position error in the position error combination is a discrete signal, discrete Fourier transform (DFT) is used to determine its spectrum data. ’ time domain signal, integer k (0≤K <N ’ ), the corresponding discrete Fourier transform formula is:

[0060]

[0061] Among them, N ’ is the number of points of the time-domain discrete signal, n is the number of the time-domain discrete signal, and 0≤n <N ’ -1, k is the number of the frequency domain signal, and 0≤n <N ’ -1, the number of points of the frequency domain signal is also N ’ . Therefore, the input of the discrete Fourier transform is N ’ discrete points (time domain signal), the output is N ’ discrete points (frequency domain signal, each point of the frequency domain signal is represented by a complex number).

[0062] In one embodiment, fast Fourier transform is used to determine the frequency spectrum data of the position error combination to increase the speed of determining the frequency spectrum data.

[0063] Since the sampling period of the slave arm controller is 1ms, that is, the sampling frequency is 1000Hz, the frequency interval of the spectrum data is 0.1Hz in an ideal case. Since the position error combination is less than 512Hz, the sampling frequency of the Fourier transform can be set to be greater than 1500Hz, such as 5120Hz, so that the sampling frequency of the Fourier transform is more than twice the sampling frequency of the slave arm controller, and the undistorted Fourier transform of the position error combination can be achieved.

[0064] S2202: Determine P frequency points from the spectrum data based on the set frequency selection condition.

[0065] In one embodiment, P frequency points are determined from the spectrum data by the following steps:

[0066] Step a1: determine the Q maximum frequency points included in the spectrum data.

[0067] Determine all frequency points included in the spectrum data, sort all frequency points, and determine Q largest frequency points. In one embodiment, Q is greater than 8 and less than 18, and preferably, Q is 10 or 12.

[0068] Step a2, selecting P frequency points that meet the set frequency selection conditions from the Q maximum frequency points, wherein the amplitude difference between any two frequency points in the P frequency points is greater than 100 / M%, and the frequency difference between any two frequency points in the P frequency points is greater than the set frequency band threshold.

[0069] The frequency band threshold is set to be smaller than the set bandwidth of the corresponding notch filter. In one embodiment, the frequency band threshold can be set to 0.5 Hz, 0.6 Hz, 0.7 Hz or 0.8 Hz.

[0070] Specifically, for each frequency point among the Q maximum frequency points, determine whether the amplitude difference between the current frequency point and each frequency point is greater than 100 / M%, if yes, the current frequency point is used as the first alternative frequency point, otherwise, the current frequency point is marked as an invalid frequency point; for each first alternative frequency point among all first alternative frequency points, if the frequency difference between the current first alternative frequency point and other first alternative frequency points is greater than the set frequency band threshold, the current first alternative frequency point is used as the second alternative frequency point, otherwise the current first alternative frequency point is marked as an invalid frequency point. After all second alternative frequency points are determined, all second alternative frequency points are used as an alternative frequency point set. If the number of second alternative frequency points in the alternative frequency point set is P, the P second alternative frequency points in the alternative frequency point set are used as P frequency points that meet the set frequency amplitude selection condition; if the number of second alternative frequency points in the alternative frequency point set is greater than P, the largest P frequency points in the alternative frequency point set are used as P frequency points that meet the set frequency amplitude selection condition.

[0071] In one embodiment, P is less than or equal to Q / 2, and the closer P is to Q / 2, the better the filtering effect of the notch filter. Therefore, when Q is 10, P is preferably 5 to ensure that the series notch filter has a higher filtering effect.

[0072] S2203. Update parameter data of a notch filter corresponding to each frequency point according to the spectrum data of each frequency point among the P frequency points.

[0073] After determining the P frequency points, determine the parameter data of the notch filter corresponding to each frequency point. A notch filter is a special band-stop filter that is used to suppress frequency components in a very narrow frequency band, while showing lower attenuation or even passing in other frequency bands. A typical notch filter has two important parameters: the center frequency fc and the bandwidth B. It has the largest attenuation at fc and shows significant attenuation in the range of -2fc-B / 2 to 2fc+B / 2.

[0074] The notch filter is an infinite impulse response (IIR) digital filter that can be represented by the following linear difference equation with constant coefficients:

[0075]

[0076] Among them, x(n) and y(n) are the input signal sequence and output signal sequence respectively, a i With b i are filter coefficients.

[0077] Performing z-transform on both sides of formula (4) yields the transfer function of the notch filter, as follows:

[0078]

[0079] Among them, zi and P i are the zeros and poles of the transfer function, i is the corresponding zero or pole identifier, M is the maximum number of zeros, and N is the maximum number of poles.

[0080] The frequency response graph can be roughly drawn from the zeros and poles of the transfer function. At the zeros, the frequency response reaches a minimum; at the poles, the frequency response reaches a maximum. Therefore, the zeros and poles can be configured according to the required frequency response, and then the notch filter can be designed in reverse. Consider a special case where the zero is on the unit circle in the first quadrant and the pole is in the radial direction close to the zero in the unit circle. In order to prevent the notch filter coefficients from having complex numbers, the corresponding conjugate zeros and conjugate poles must be configured at symmetrical positions in the fourth quadrant of the z plane, so that the notch filter only has a depression at a single frequency. The transfer function of the notch filter with the poles set in the radial direction close to the zero and at a distance of l-μ from the circle is:

[0081]

[0082] The smaller μ is, the closer the pole is to the unit circle, the deeper the depression of the frequency response curve is, and the narrower the width of the depression is. When narrowband interference needs to be eliminated and other frequencies cannot be attenuated, the notch filter is an ideal digital filter to remove narrowband interference. When P frequencies need to be notched at the same time, P single frequency notch filters can be connected in series.

[0083] The sampling frequency corresponding to the first frequency point is the sampling frequency of the slave arm controller, and the sampling frequency of the slave arm controller is 1000 Hz. Since the design principles of the band notch filters corresponding to the P frequency points are the same, this embodiment only introduces the parameter data determination method of the band notch filter corresponding to the first frequency point, which is as follows:

[0084] The zero frequency of the notch filter can be expressed as:

[0085] ω1=2πf P1 / 1000(5)

[0086] The zero point on the Z plane can be set to:

[0087]

[0088] If the attenuation ratio u is set to 0.001, the pole can be set to:

[0089]

[0090] Expand formula (6) and formula (7) respectively:

[0091]

[0092] p1=0.999*(cos(πf P1 / 1000)±jsin(πf P1 / 1000))(9)

[0093] The transfer function is:

[0094]

[0095] in, and are the conjugate complex numbers of z1 and p1 respectively. Combining formula (8), formula (9) and formula (10) yields formula (11), which is as follows:

[0096]

[0097] in,

[0098] Factoring formula (11) yields:

[0099]

[0100] Therefore, the numerator coefficient is [a1, a2, a3], the denominator coefficient is [a1, a2, a3], and the difference equation corresponding to the numerator coefficient and denominator coefficient is:

[0101] a(1)y(n)+a(2)y(n-1)+a(3)y(n-2)

[0102] =b(1)x(n)+b(2)x(n-1)+b(3)x(n-2)(14)

[0103] The difference equation can be transformed into:

[0104]

[0105] It can be understood that the above numerator coefficient and denominator coefficient are parameter data of the band notch filter corresponding to the first frequency point.

[0106] The technical solution provided by the embodiment of the present invention first determines the frequency spectrum data corresponding to the position error combination; then selects P frequency points to be filtered from the frequency spectrum data, and then updates the parameter data of the notch filter corresponding to each frequency point according to the frequency spectrum data of each frequency point in the P frequency points, thereby achieving the technical effect of timely updating the parameter data of each notch filter in the filter combination based on the position error combination corresponding to the current reference period combination, and improving the dynamic filtering effect of the position command signal of each position joint.

[0107] Figure 5This is a schematic diagram of the structure of a surgical robot slave arm vibration suppression device provided by an embodiment of the present invention. Figure 5 As shown, the device comprises:

[0108] A position error module 31 is used to determine a position error combination generated by each position joint of the slave arm within a current reference cycle combination, wherein the current reference cycle combination includes at least two reference cycles, and the position error combination includes a position error corresponding to each reference cycle, wherein the position error is a difference between a command position and an actual position of the position joint;

[0109] A filter updating module 32, used for updating and setting the filter combination according to the spectrum data corresponding to the position error combination;

[0110] A filtering module 33 is used to use the updated set filter combination to filter the position instruction signals corresponding to the instruction cycles in the current instruction cycle combination in sequence, and to update the position instruction signals corresponding to the instruction cycles in the current instruction cycle combination in sequence, wherein the current instruction cycle combination is adjacent to the current reference cycle combination and is located after the current reference cycle combination, and the current instruction cycle combination includes at least one instruction cycle;

[0111] The motion control module 34 is used to control the motion of each position joint according to the position instruction signal that is updated in sequence.

[0112] In one embodiment, the number of reference cycles included in the reference cycle combination is greater than or equal to the number of instruction cycles included in the current instruction cycle combination;

[0113] The current reference cycle combination is adjacent to the current instruction cycle combination.

[0114] In one embodiment, the set filter combination includes at least two notch filters connected in series, and a low-pass filter arranged after the at least two notch filters.

[0115] In one embodiment, the filter combination further comprises a mean filter arranged after the low-pass filter.

[0116] In one embodiment, the parameter data of the notch filter is determined by the following steps:

[0117] Determine frequency spectrum data corresponding to the position error combination;

[0118] Determining P frequency points from the spectrum data based on a set frequency selection condition;

[0119] According to the spectrum data of each of the P frequency points, the parameter data of the notch filter corresponding to each of the P frequency points is updated.

[0120] In one embodiment, determining P frequency points from the spectrum data based on the set frequency amplitude selection condition includes:

[0121] Determine Q maximum frequency points included in the spectrum data;

[0122] Select P frequency points that meet the set frequency selection conditions from the Q maximum frequency points;

[0123] The amplitude difference between any two of the P frequency points is greater than 100 / M%, and the frequency difference between any two of the P frequency points is greater than a set frequency band threshold.

[0124] Based on the above embodiments, Figure 6 As shown, the device further includes a recovery module 35, which is used to:

[0125] If the set filter combination is in a non-initial state and has not been updated within a set time, restoring the set filter combination to an initial state;

[0126] If the set filter combination is in the initial state, each filter in the set filter combination is set to initial parameter data.

[0127] The technical solution provided by the embodiment of the present invention determines the parameter data of each filter in the set filter combination based on the position error combination corresponding to the current reference cycle combination to update the set filter combination. Since the position error combination can accurately reflect the influence of the undesired signal on the position joint motion control, the set filter combination is updated based on the position error combination, so that the accuracy of the update of the set filter combination can be guaranteed; the updated set filter combination is used to filter the position instruction signals corresponding to each instruction cycle in the current instruction cycle in sequence, and the corresponding position joint motion is controlled based on the position instruction signals updated in sequence; since the updated position instruction signal is purer than the position instruction signal before the update, the error between the actual position of the position joint and the instruction position is smaller when the corresponding position joint motion is controlled based on the updated position instruction signal; and the digital filter at the software level is used, which does not increase the hardware cost and complexity; the filter delay time of this embodiment is short, so the doctor will not feel the master-slave delay in the process of operating the master hand end; further, the filter operation amount is small, and the filter filtering processing of the filter is performed only when the device is in the master-slave state, so the working efficiency of the surgical robot will not be greatly reduced.

[0128] A surgical robot slave arm vibration suppression device provided in an embodiment of the present invention can execute a surgical robot slave arm vibration suppression method provided in any embodiment of the present invention, and has corresponding functional modules and beneficial effects for executing the method.

[0129] Figure 7 FIG. 1 is a schematic diagram showing the structure of a surgical robot 10 that can be used to implement an embodiment of the present invention. Figure 7 As shown, the surgical robot 10 includes a master hand 101, at least one slave arm 102, and at least one processor 11 connecting the master hand 101 and the at least one slave arm 102, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the surgical robot 10 can also be stored. The processor 11, ROM 12 and RAM 13 are connected to each other through a bus 14. The input / output (I / O) interface 15 is also connected to the bus 14.

[0130] A number of components in the surgical robot 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the surgical robot 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0131] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a method for suppressing vibration of a surgical robot slave arm.

[0132] In some embodiments, a method for suppressing vibration of a surgical robot slave arm may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the surgical robot 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the method for suppressing vibration of a surgical robot slave arm described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute a method for suppressing vibration of a surgical robot slave arm by any other appropriate means (e.g., by means of firmware).

[0133] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0134] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0135] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0136] To provide interaction with a user, the systems and techniques described herein may be implemented on a surgical robot having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the surgical robot. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0137] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0138] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0139] An embodiment of the present invention further provides a computer program product, including a computer program, which, when executed by a processor, implements a method for suppressing vibration of a surgical robot slave arm as provided in any embodiment of the present application.

[0140] In the process of implementation, the computer program product can be written in one or more programming languages ​​or a combination thereof to perform the computer program code of the present invention, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, using an Internet service provider to connect through the Internet).

[0141] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0142] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for suppressing vibration of a surgical robot slave arm, characterized in that: include: Determine a position error combination generated by each position joint of the slave arm within a current reference cycle combination, wherein the current reference cycle combination includes at least two reference cycles, the position error combination includes a position error corresponding to each of the reference cycles, and the position error is a difference between a command position and an actual position of the position joint; Update and set the filter combination according to the frequency spectrum data corresponding to the position error combination; Using the updated set filter combination, sequentially filtering the position command signals corresponding to the instruction cycles in the current instruction cycle combination, and sequentially updating the position command signals corresponding to the instruction cycles in the current instruction cycle combination, wherein the current instruction cycle combination is adjacent to the current reference cycle combination and is located after the current reference cycle combination, and the current instruction cycle combination includes at least one instruction cycle; For each of the position joints, the movement of each of the position joints is controlled according to the position instruction signals that are updated in sequence.

2. The method according to claim 1, characterized in that The number of reference cycles included in the reference cycle combination is greater than or equal to the number of instruction cycles included in the current instruction cycle combination; The current reference cycle combination is adjacent to the current instruction cycle combination.

3. The method according to claim 1, characterized in that The set filter combination includes at least two notch filters connected in series, and a low-pass filter arranged after the at least two notch filters.

4. The method according to claim 3, characterized in that The filter combination further includes a mean filter arranged after the low-pass filter.

5. The method according to claim 2, characterized in that: To update the notch filter, follow these steps: Determine frequency spectrum data corresponding to the position error combination; Determining P frequency points from the spectrum data based on a set frequency selection condition; According to the spectrum data of each of the P frequency points, the parameter data of the notch filter corresponding to each of the P frequency points is updated.

6. The method according to claim 5, characterized in that The determining P frequency points from the spectrum data based on the set frequency selection condition includes: Determine Q maximum frequency points included in the spectrum data; Select P frequency points that meet the set frequency selection conditions from the Q maximum frequency points; The amplitude difference between any two of the P frequency points is greater than 100 / M%, and the frequency difference between any two of the P frequency points is greater than a set frequency band threshold.

7. The method according to claim 1, characterized in that After updating the setting filter combination, the method further includes: If the set filter combination is in a non-initial state and has not been updated within a set time, restoring the set filter combination to an initial state; If the set filter combination is in the initial state, each filter in the set filter combination is set to initial parameter data.

8. A surgical robot, characterized in that: include: A master arm and at least one slave arm; at least one processor connecting the master arm and the at least one slave arm; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method for suppressing vibration of a surgical robot slave arm as described in any one of claims 1-7.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement a method for suppressing vibration of a surgical robot slave arm as described in any one of claims 1-7 when executed.

10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the computer program implements a method for suppressing vibration of a surgical robot slave arm according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method, system and device for vibration suppression for robot, and computer readable memory

    CN109664297A

  • Method and device for suppressing residual jitter of mechanical arm of flexible joint

    CN111515955A

  • Manipulator device control method, upper computer, electronic equipment and storage medium

    CN111831115A

  • Kinematic calibration method and system for generalized kinematic error of industrial robot

    CN114131607A

  • Residual vibration suppression method and equipment for mechanical arm, mechanical arm and storage medium

    CN115476355A

Cited By

  • Master-slave type surgical robot tremor filtering method and system

    CN120267416A