Surgical robot arm vibration suppression method, apparatus, medium, and product
By determining the combination of arm position errors and updating the filter combination, unwanted signals are filtered out, thus solving the problem of arm vibration in surgical robots and achieving more accurate position control and higher work efficiency.
Patent Information
- Application Number
- CN202411235365.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2044-09-04
AI Technical Summary
The slave arms of existing surgical robots are prone to structural tremors, which can affect the quality of surgery. This is mainly caused by physiological tremors during the operation of the surgeon and unwanted signals caused by sensor noise.
By determining the combination of position errors of each joint in the arm, the filter combination is updated, including notch filters and low-pass filters, to filter out unwanted signals and control the movement of the joints. This software-level digital filter does not increase hardware costs.
It effectively suppresses arm vibration, reduces the error between the actual position and the commanded position of the position joint, avoids master-slave delay, and maintains the working efficiency of the surgical robot.
Smart Images

Figure CN119184868B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of medical equipment, and in particular to a surgical robot slave arm vibration suppression method, device, medium and product. BACKGROUND
[0002] The existing surgical robot slave arm is prone to structural vibration. Specifically, in the process of the master hand remotely operating the slave arm, the actual signal collected by the master hand and the expected signal often have deviations. Most of the deviations are physiological tremors generated in the case of human unconsciousness and high-frequency noise caused by sensors, which makes the instruction signal executed by the slave arm include an unexpected signal. The unexpected signal causes vibration at the end of the slave arm of the robot, which affects the quality of the operation. SUMMARY
[0003] The present application provides a surgical robot slave arm vibration suppression method, device, medium and product to solve the problem of slave arm vibration of the existing surgical robot.
[0004] According to an aspect of the present application, a surgical robot slave arm vibration suppression method is provided, comprising:
[0005] determining a position error combination generated by each position joint of the slave arm in a current reference period combination, the current reference period combination comprising at least two reference periods, the position error combination comprising a position error corresponding to each reference period, the position error being the difference between the instruction position and the actual position of the position joint;
[0006] updating a set of filter combinations according to the frequency spectrum data corresponding to the position error combination;
[0007] using the updated set of filter combinations to filter the position instruction signal corresponding to each instruction period in a current instruction period combination in turn, and updating the position instruction signal corresponding to each instruction period in the current instruction period combination in turn, the current instruction period combination being adjacent to and located after the current reference period combination, and the current instruction period combination comprising at least one instruction period;
[0008] for each position joint, controlling the movement of each position joint according to the position instruction signal updated in turn.
[0009] According to another aspect of the present application, a surgical robot is provided, comprising:
[0010] at least one processor; and
[0011] a memory in communication connection with 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 to enable the at least one processor to perform the surgical robot slave arm vibration suppression method according to any one of the embodiments.
[0013] According to another aspect of the present application, a surgical robot is provided, comprising:
[0014] a master hand and at least one slave arm;
[0015] at least one processor connected between the master hand and the at least one slave arm; and
[0016] a memory in communication connection with 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 to enable the at least one processor to perform the surgical robot slave arm vibration suppression method according to any one of the embodiments.
[0018] According to another aspect of the present application, a computer readable storage medium is provided, the computer readable storage medium stores computer instructions for enabling a processor to implement the surgical robot slave arm vibration suppression method according to any one of the embodiments of the present application when executed.
[0019] The technical scheme of the embodiment of the present application 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, updating the set filter combination based on the position error combination can ensure the accuracy of the updated set filter combination. The updated set filter combination is used to filter the position command signals corresponding to each command cycle in the current command cycle in turn, and the corresponding position joint motion is controlled based on the position command signals updated in turn. Since the updated position command signals are purer than the position command signals before updating, the error between the actual position of the position joint and the command position will be smaller when the corresponding position joint motion is controlled based on the updated position command signals. Moreover, the digital filter at the software level does not increase the hardware cost and complexity. The filter delay time of the embodiment is shorter, so that the doctor will not have the feeling of master-slave delay during the operation of the master hand. Furthermore, the operation amount of the filter is small, and the filter processing is only performed when the device is in the master-slave state, so the surgical robot will not be greatly reduced.
[0020] It is to be understood that the details set forth herein do not limit the scope of the embodiments of the application to the specific embodiments described. Rather, the scope of the embodiments of the application is to be defined by the appended claims. BRIEF DESCRIPTION OF DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments description will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor based on these drawings.
[0022] Figure 1 is a schematic diagram of a slave arm structure of an existing surgical robot;
[0023] Figure 2 is a schematic diagram of joint distribution of a slave arm of an existing surgical robot;
[0024] Figure 3 is a flowchart of a surgical robot slave arm vibration suppression method according to an embodiment of the present application;
[0025] Figure 4 is a flowchart of a notch filter updating method according to an embodiment of the present application;
[0026] Figure 5 is a schematic diagram of a surgical robot slave arm vibration suppression device according to an embodiment of the present application;
[0027] Figure 6 is another schematic diagram of a surgical robot slave arm vibration suppression device according to an embodiment of the present application;
[0028] Figure 7 is a schematic diagram of a surgical robot according to an embodiment of the present application. DETAILED DESCRIPTION
[0029] In order to make the technical personnel in the art better understand the present application scheme, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor should be within the scope of protection of the present application.
[0030] It should be noted that the terms "first", "second", and the like in the description and in the claims of the present application and the above-described accompanying drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product, or device that includes a series of steps or units does not have to be limited to only those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products, or devices.
[0031] Master-slave surgical robots include 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 operation instructions, such as position instruction signals, under the master hand. The master hand collects the position instruction signals issued by the operator, and controls the corresponding slave arm to move to the corresponding position according to the position instruction signals. Among them, the slave arm usually includes a position joint and a posture joint. As Figure 2 shown, the surgical robot includes 7 active joints, which are a rotary joint (J1), a parallelogram joint (J2), a sliding table joint (J3), an instrument rotation joint (J4), an instrument pitch joint (J5), an instrument right yaw joint, and an instrument left yaw 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 surgical robot slave arm vibration suppression method is provided for an embodiment of the present application. The present embodiment can be applied to the case where the set filter combination corresponding to each position joint is updated based on the position error combination generated by each position joint, wherein the set filter combination is used to filter the position instruction signal of the corresponding position joint. The accuracy of the position instruction signal. The method can be performed by a surgical robot slave arm vibration suppression device, which can be realized in the form of hardware and / or software, and can be configured in the processor of the surgical robot. As Figure 3 shown, the method comprises:
[0033] S110, determine the position error combination generated by each position joint of the slave arm in the current reference period combination, the current reference period combination includes at least two reference periods, the position error combination includes the position error corresponding to each reference period, and the position error is the difference between the instruction position and the actual position of the position joint.
[0034] The processor parses the position instruction signals of the joints of the slave arm from each position to obtain instruction positions, and controls each position joint of the slave arm to move to the corresponding instruction position. Ideally, each position joint of the slave arm should be moved to the corresponding instruction position. However, in reality, the position instruction signals include physiological tremor and high-frequency noise caused by sensors and other undesired signals, which cause movement deviation of the corresponding position joint, resulting in a position difference between the actual position and the instruction position of the slave arm.
[0035] The actual position includes an actual angle. The encoder output signal of the surgical robot is a pulse signal, the frequency of which is proportional to the rotation angle of the corresponding joint. Therefore, the actual angle of each joint of the slave arm can be obtained by the number of pulses of the encoder output signal and the resolution of the encoder.
[0036] S120, updating the set filter combination according to the position error combination and the corresponding spectrum data.
[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 selectively filter out noise in the target frequency band from the position instruction signal.
[0038] On the basis of the foregoing embodiment, the set filter combination further includes a mean filter connected in series after the low-pass filter. This embodiment can improve the smoothness of the position instruction signal acting on the slave arm.
[0039] The update of the set filter combination refers to the update of the notch filters included therein. The specific update steps of the notch filter are described in the following embodiments.
[0040] The low-pass filter is used to filter high-frequency interference signals. Since the frequency of the autonomous human hand movement does not exceed 2Hz, the low-pass filter cannot filter out the effective signals of the human hand 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, the filtering effect of the low-pass filter on high-frequency interference signals will not be reduced.
[0041] In one embodiment, a mean filter of S periods is connected in series after the low-pass filter to smooth the position instruction signal output by the low-pass filter. The mean filter can be expressed as:
[0042]
[0043] Wherein, S is the number of periods, S can be selected as 5. Since the controller sampling period of the slave arm is 1ms, the position command signal based on the low-pass filter output is smoothed for 5 periods, which introduces a delay of 5ms.
[0044] S130, using the updated set filter combination, filtering the position command signal corresponding to each command period in the current command period combination in turn, updating the position command signal corresponding to each command period in the current command period combination in turn, the current command period combination is adjacent to the current reference period combination and located after the current reference period combination, and the current command period combination includes at least one command period.
[0045] For each position joint of each slave arm, after the set filter combination is updated, the updated set filter combination is used to filter the position command signal of each position joint in the current command period combination, and the non-desired signal in the position command signal is filtered out to update the position command signal. It can be understood that the updated position command signal is more pure compared to the position command signal before updating.
[0046] In one embodiment, the current command period combination includes at least two command periods. For example, for each position joint, the first 10 command periods (command period identified as 0 to command period identified as 9) of the position joint are set as the reference period combination. After the position errors of the 10 command periods are determined, the frequency spectrum data corresponding to the 10 position errors is determined, and the set filter combination is updated based on the frequency spectrum data; when the position command signal of the command period identified as 10 is detected, it is determined that the corresponding position joint enters the first command period period, and the updated set filter combination is used to filter the position command signal of the command period identified as 10 to the command period identified as 19 in turn. At the same time, the position error corresponding to the command period identified as 10 to the position error corresponding to the command period identified as 19 is determined in real time, to obtain the reference period combination including the command period identified as 10 to the command period identified as 19 and the position error combination corresponding to the reference period combination, and the set filter combination is updated based on the position error combination; when the position command signal of the command period identified as 20 is detected, it is determined that the position joint enters the second command period period, and the above steps can be 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. For example, when the instruction cycle identified as 10 is detected, the instruction cycle identified as 10 is taken as the current instruction cycle combination, and the instruction cycles identified as 0 to 9 are taken as the current reference cycle combination; when the instruction cycle identified as 11 is detected, the instruction cycle identified as 11 is taken as the current instruction cycle combination, and the instruction cycles identified as 1 to 10 are taken as the current reference cycle combination; and so on, when the instruction cycle identified as S is detected, the instruction cycle identified as S is taken as the current instruction cycle combination, and the instruction cycles identified as S-10 to S-1 are taken as the current reference cycle combination.
[0048] S140, for each position joint, controlling the movement of the position joint according to the position instruction signal being sequentially updated.
[0049] For each position joint, the movement of the current position joint is controlled according to the position instruction signal being sequentially updated.
[0050] For example, for the position joint identified as 1, the current instruction cycle combination includes the instruction cycles identified as 10 to 19. When the updated instruction position signal corresponding to the instruction cycle identified as 10 is detected, the movement of the position joint identified as 1 is controlled; when the updated instruction position signal corresponding to the instruction cycle identified as 11 is detected, the movement of the position joint identified as 1 is controlled; and so on, when the updated instruction position signal corresponding to the instruction cycle identified as 19 is detected, the movement of the position joint identified as 1 is controlled.
[0051] In one embodiment, if the set filter combination is in a non-initial state and is not 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. That is, the updated set filter combination is restored to the initial state if it is not updated again within a set time. The set filter combination in the initial state filters the received position instruction signal based on the initial parameter data, so that the introduction of the set filter combination does not bring any hidden risks to the surgical robot system.
[0052] The technical scheme provided by the embodiment of the present application determines the parameter data of each filter in the set filter combination based on the position error combination corresponding to the current reference period 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, and thus updating the set filter combination based on the position error combination can ensure the accuracy of the updated set filter combination; the position command signals corresponding to each command period in the current command period are sequentially filtered by using the updated set filter combination, and the corresponding position joint motion is controlled based on the position command signals sequentially updated; since the updated position command signals are purer than the position command signals before the update, the error between the actual position of the position joint and the command position will be smaller when the corresponding position joint motion is controlled based on the updated position command signals; moreover, the digital filter at the software level is used, without increasing the hardware cost and complexity; the filter delay time of the embodiment is shorter, so that the surgeon will not have the feeling of master-slave delay during the operation of the master end; further, the operation amount of the filter is smaller, and the filter processing is only performed when the device is in the master-slave state, so that the working efficiency of the surgical robot will not be greatly reduced.
[0053] Figure 4 Another flowchart of a surgical robot slave arm vibration suppression method provided by the embodiment of the present application is used to refine the update process of the notch filter in the set filter combination. As shown in Figure 4 the method comprises:
[0054] S2201, determine the frequency spectrum data corresponding to the position error combination.
[0055] Fourier transform (FT) is an important signal processing method, which can convert a signal from time domain to frequency domain, so that the frequency spectrum data of the signal can be obtained. Based on the frequency spectrum data, the intensity of each frequency component in the signal can be analyzed.
[0056] For a time domain continuous function f(t), its Fourier transform can be expressed as:
[0057]
[0058] wherein 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, the discrete Fourier transform (DFT) is used to determine the frequency spectrum data thereof. For N ’ time domain signals sampled at equal time intervals, an integer k (0≤K<N ’ ), the corresponding discrete Fourier transform formula is:
[0060]
[0061] where 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), and 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, the fast Fourier transform is used to determine the frequency spectrum data of the position error combination to improve the speed of determining the frequency spectrum data.
[0063] Since the sampling period of the arm controller is 1 ms, that is, the sampling frequency is 1000 Hz, and the frequency interval of the frequency spectrum data is 0.1 Hz in an ideal case. Since the position error combination is less than 512 Hz, the sampling frequency of the Fourier transform can be set to be greater than 1500 Hz, such as 5120 Hz, so that the sampling frequency of the Fourier transform is more than 2 times the sampling frequency of the arm controller, and the Fourier transform can be realized without distortion of the position error combination.
[0064] S2202, determining P frequency points from the frequency spectrum data based on the set frequency amplitude selection condition.
[0065] In one embodiment, P frequency points are determined from the frequency spectrum data by the following steps:
[0066] Step a1, determining Q maximum frequency points included in the frequency spectrum data.
[0067] All frequency points included in the frequency spectrum data are determined, all frequency points are sorted, and Q maximum frequency points are determined. 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 from the Q maximum frequency points that meet the set frequency amplitude selection condition, wherein the difference between the amplitudes of two frequency points in the P frequency points is greater than 100 / M%, and the difference between the frequencies of two frequency points in the P frequency points is greater than a set frequency band threshold.
[0069] where the set frequency band threshold is less 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, etc.
[0070] Specifically, for each frequency point in the Q maximum frequency points, it is determined 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 taken as a first candidate frequency point, otherwise, the current frequency point is marked as an invalid frequency point; for each first candidate frequency point in all first candidate frequency points, if the frequency difference between the current first candidate frequency point and other first candidate frequency points is greater than a set frequency band threshold, the current first candidate frequency point is taken as a second candidate frequency point, otherwise, the current first candidate frequency point is marked as an invalid frequency point. After all second candidate frequency points are determined, all second candidate frequency points are taken as a candidate frequency point set. If the number of second candidate frequency points in the candidate frequency point set is P, the P second candidate frequency points in the candidate frequency point set are taken as P frequency points meeting the set frequency amplitude selection condition; if the number of second candidate frequency points in the candidate frequency point set is greater than P, the largest P frequency points in the candidate frequency point set are taken as the P frequency points meeting 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, so in the case of Q being 10, P is preferably 5 to ensure that the series notch filter has a high filtering effect.
[0072] S2203, updating the parameter data of the notch filter corresponding to each frequency point according to the spectrum data of each frequency point in the P frequency points.
[0073] After the P frequency points are determined, the parameter data of the notch filter corresponding to each frequency point is determined. The notch filter is a special band-stop filter used to suppress frequency components in a very narrow frequency band, while showing low attenuation or even passing in other frequency bands. A typical notch filter has two important parameters: center frequency fc and bandwidth B, which has the maximum 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, which can be represented by the following constant coefficient linear difference equation:
[0075]
[0076] Where x(n) and y(n) are input signal sequences and output signal sequences respectively, a i and b i are filter coefficients.
[0077] The z-transform is performed on both sides of formula (4) to obtain the transfer function of the notch filter, as follows:
[0078]
[0079] Where zi and P i are zero and pole of transfer function respectively, i is identification of corresponding zero or pole, M is maximum number of zero, N is maximum number of pole.
[0080] The frequency response graph can be roughly drawn by zero and pole of transfer function. At zero, the frequency response appears minimum value; at pole, the frequency response appears maximum value. Therefore, zero and pole can be configured according to required frequency response, and then the notch filter is designed reversely. Considering a special case, if zero is on the first quadrant unit circle, and pole is on the radial close to zero in the unit circle. In order to prevent the complex of notch filter coefficient, the corresponding conjugate zero, conjugate pole must be configured at the fourth quadrant symmetric position of z plane, so that the notch filter only appears concave at single frequency. The transfer function of notch filter with pole set at the radial close to zero and distance l-μ from the circle point is:
[0081]
[0082] The smaller μ is, the closer pole is to unit circle, the deeper concave of frequency response curve is, and the narrower width of concave is. When the 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 frequency needs to be filtered at the same time, the P separate frequency notch filters can be connected together.
[0083] The sampling frequency corresponding to the first frequency is the sampling frequency of the slave arm controller, and the sampling frequency of the slave arm controller is 1000 Hz. Since the design principle of the P frequency notch filter is the same, the embodiment only introduces the parameter data determination method of the first frequency notch filter, 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 as:
[0087]
[0088] The pole can be set as:
[0089]
[0090] The formula (6) and formula (7) are expanded respectively:
[0091]
[0092] p1=0.999*(cos(pi*f P1 / 1000)±jsin(pi*f P1 / 1000))(9)
[0093] The transfer function is:
[0094]
[0095] wherein, and are the conjugate complex of z1 and p1, and formula (8), formula (9), formula (10) are combined to obtain formula (11), as follows:
[0096]
[0097] wherein,
[0098] Factorizing formula (11) can obtain:
[0099]
[0100] Therefore, the numerator coefficients are [a1, a2, a3], the denominator coefficients are [a1, a2, a3], and the difference equation corresponding to the numerator coefficients and the denominator coefficients 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 as:
[0104]
[0105] It can be understood that the numerator coefficients and the denominator coefficients are and the parameter data of the notch filter corresponding to the first frequency point.
[0106] The technical scheme provided by the embodiment of the application 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, so that the parameter data of each notch filter in the filter combination is updated in time based on the position error combination corresponding to the current reference period combination, and the dynamic filtering effect of the position command signal of each position joint is improved.
[0107] Figure 5A structural schematic diagram of a surgical robot slave arm vibration suppression device is provided for an embodiment of the present application. As shown in the figure, the device comprises: Figure 5
[0108] a position error module 31 configured to determine a position error combination generated by each position joint of the slave arm in a current reference period combination, the current reference period combination comprising at least two reference periods, and the position error combination comprising a position error corresponding to each of the reference periods, the position error being a difference between an instructed position and an actual position of the position joint;
[0109] a filter updating module 32 configured to update a set filter combination according to frequency spectrum data corresponding to the position error combination;
[0110] a filter module 33 configured to sequentially filter a position instruction signal corresponding to each of the instructed periods in a current instructed period combination using the updated set filter combination, and sequentially update the position instruction signal corresponding to each of the instructed periods in the current instructed period combination, the current instructed period combination being adjacent to and located after the current reference period combination, and the current instructed period combination comprising at least one instructed period;
[0111] a motion control module 34 configured to control the motion of each of the position joints according to the sequentially updated position instruction signal.
[0112] In one embodiment, the number of reference periods included in the reference period combination is greater than or equal to the number of instructed periods included in the current instructed period combination.
[0113] The current reference period combination is adjacent to the current instructed period combination.
[0114] In one embodiment, the set filter combination comprises 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] determining frequency spectrum data corresponding to the position error combination;
[0118] determining P frequency points from the frequency spectrum data based on a set frequency amplitude selection condition;
[0119] updating the parameter data of the notch filter corresponding to each of the P frequency points according to the frequency spectrum data of each of the P frequency points.
[0120] In one embodiment, the determining the P frequency points from the frequency spectrum data based on the set amplitude selection condition comprises:
[0121] determining Q maximum frequency points included in the frequency spectrum data;
[0122] selecting P frequency points meeting the set amplitude selection condition from the Q maximum frequency points;
[0123] wherein the difference between the amplitudes of any two of the P frequency points is greater than 100 / M%, and the difference between the frequencies of any two of the P frequency points is greater than a set frequency band threshold.
[0124] On the basis of the above-mentioned embodiments, as shown in Figure 6 the device further comprises a recovery module 35 configured to:
[0125] 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 recovered 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 scheme provided by the embodiments of the present application determines the parameter data of each filter in the set filter combination based on the position error combination corresponding to the current reference period 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, updating the set filter combination based on the position error combination can ensure the accuracy of the updated set filter combination. The updated set filter combination is used to sequentially filter the position command signals corresponding to each command period in the current command period, and the corresponding position joint motion is controlled based on the sequentially updated position command signals. Since the updated position command signals are purer than the pre-updated position command signals, the error between the actual position of the position joint and the command position will be smaller when the corresponding position joint motion is controlled based on the updated position command signals. Moreover, the digital filter is at the software level, without increasing the hardware cost and complexity. The filter delay time of the embodiments is short, so that the surgeon will not feel the master-slave delay during the operation of the master end. Furthermore, the operation amount of the filter is small, and the filter processing is only performed when the device is in the master-slave state, so that the working efficiency of the surgical robot will not be greatly reduced.
[0128] The surgical robot slave arm vibration suppression device provided by the embodiment of the present application can perform the surgical robot slave arm vibration suppression method provided by any embodiment of the present application, and has the corresponding function modules and beneficial effects of the execution method.
[0129] Figure 7 A structural schematic diagram of a surgical robot 10 that can be used to implement an embodiment of the present application is shown. As shown in the figure, Figure 7 The surgical robot 10 includes a master hand 101, at least one slave arm 102, at least one processor 11 connecting the master hand 101 and the at least one slave arm 102, and a memory such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc. in communication connection with the at least one processor 11, wherein the memory stores a computer program executable by the at least one processor. 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 into 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, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0130] A plurality 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 magnetic 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 can be various general-purpose and / or special-purpose 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-purpose 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 performs various methods and processes described above, such as a surgical robot slave arm vibration suppression method.
[0132] In some embodiments, a surgical robot master arm vibration suppression method can be implemented as a computer program tangibly embodied in a computer readable storage medium, e.g., storage unit 18. In some embodiments, parts or all of the computer program can be loaded and / or installed onto surgical robot 10 via ROM 12 and / or communication unit 19. When the computer program is loaded onto RAM 13 and executed by processor 11, one or more steps of a surgical robot master arm vibration suppression method described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform a surgical robot master arm vibration suppression method by other any suitable means, e.g., with the aid of firmware.
[0133] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (PLD), a computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0134] Computer programs used to implement the methods of the application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program, when executed by the processor, implements the functions / acts specified in the flowcharts and / or block diagrams. The computer program can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0135] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. A computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of a machine-readable storage medium will include one or more lines of a program of instructions in a transitory signal, a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0136] To provide for interaction with a user, the systems and techniques described here can 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 a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the surgical robot. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0137] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can 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), blockchain network, and the Internet.
[0138] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. Servers can be cloud servers, also known as cloud computing servers or cloud hosts, which are a host product in the cloud computing service system to solve the defects of great management difficulty and weak business scalability in traditional physical hosts and VPS services.
[0139] The embodiment of the present application further provides a computer program product comprising a computer program which, when executed by a processor, implements the surgical robot slave arm vibration suppression method according to any one of the embodiments of the present application.
[0140] The computer program product can be written in one or more programming languages or combinations of languages including object-oriented languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, 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 the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0141] It should be understood that the various forms of flow shown above can be re-ordered, added to, or deleted from without departing from the spirit and scope of the present application. For example, the steps recited in the present application can be performed in parallel, in series, or in a different order, and the present application is not limited in this regard.
[0142] The specific embodiments described above are not intended to limit the scope of the present application. Those skilled in the art will understand that various modifications, combinations, sub-combinations, and alternatives can be made to the specific embodiments without departing from the spirit and principles of the present application. Any further modifications, equivalents, and / or alternatives come within the scope of the present application as recited by the claims.
Claims
1. A surgical robot slave arm vibration suppression method, characterized by, The method comprises: determining a position error combination generated by each position joint of the slave arm in a current reference period combination, the current reference period combination comprising at least two reference periods, the position error combination comprising a position error corresponding to each of the reference periods, the position error being a difference between an instructed position and an actual position of the position joint; updating a set filter combination according to frequency spectrum data corresponding to the position error combination; filtering, in sequence, a position instruction signal corresponding to each of the instructed periods in a current instructed period combination using the updated set filter combination, the current instructed period combination being adjacent to and subsequent to the current reference period combination, and comprising at least one instructed period, and updating, in sequence, the position instruction signal corresponding to each of the instructed periods in the current instructed period combination; controlling each of the position joints according to the position instruction signal updated in sequence.
2. The method according to claim 1, wherein: the number of reference periods in the reference period combination is greater than or equal to the number of instructed periods in the current instructed period combination; and the current reference period combination is adjacent to the current instructed period combination.
3. The method of claim 1, wherein, The set filter combination comprises 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, wherein: the filter combination further comprises a mean filter arranged after the low-pass filter.
5. The method of claim 3, wherein, The updating of the notch filter is completed by the following steps: determining frequency spectrum data corresponding to the position error combination; determining P frequency points from the frequency spectrum data based on a set frequency amplitude selection condition; updating parameter data of a notch filter corresponding to each of the P frequency points according to the frequency spectrum data of each of the P frequency points.
6. The method of claim 5, wherein, The determining of the P frequency points from the frequency spectrum data based on the set frequency amplitude selection condition comprises: determining Q maximum frequency points included in the frequency spectrum data; selecting P frequency points meeting the set frequency amplitude selection condition from the Q maximum frequency points; wherein a difference between amplitudes of two frequency points in the P frequency points is greater than 100 / M%, and a difference between frequencies of two frequency points in the P frequency points is greater than a set frequency band threshold.
7. The method of claim 1, wherein, After the updating of the set filter combination, the method further comprises: 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; and if the set filter combination is in the initial state, setting each filter in the set filter combination to initial parameter data.
8. A surgical robot, characterized by The system comprises: a master hand and at least one slave arm; at least one processor connecting the master hand and the at least one slave arm; and a memory in communication connection with 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 to enable the at least one processor to perform the surgical robot slave arm vibration suppression method of any one of claims 1-7.
9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions for causing a processor to implement the surgical robot slave arm vibration suppression method of any one of claims 1-7 when executed by the processor.
10. A computer program product, characterised in that, The computer program product comprises a computer program which, when executed by a processor, implements the surgical robot slave arm vibration suppression method according to any one of claims 1-7.
Citation Information
Patent Citations
Method, system and device for vibration suppression for robot, and computer readable memory
CN109664297A
Communication system, receiving device, semiconductor device, and jitter correction method in communication system
JP2014216877A