Feed-forward control method and device of medical robot, medical robot and medium

By predicting the error at a future moment and determining the feedforward control amount based on the error, the problems of low accuracy and high delay in the existing medical robot feedforward control methods are solved, and higher control accuracy and lower delay are achieved.

CN119606539APending Publication Date: 2025-03-14WUHAN UNITED IMAGING HEALTHCARE SURGICAL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311189481.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-14
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The feedforward control method of existing medical robots has low accuracy due to the influence of noise, and due to the lag problem caused by differential processing, there is a significant delay in the master-slave control process of medical robots.

Method used

By obtaining the first error timing sequence sequence at the current time, predicting the second error at the future time, and determining the predicted feedforward control amount based on the second error, avoiding differentiation directly based on the actual control amount at the current time, thereby improving control accuracy and eliminating delay.

Benefits of technology

The control accuracy of medical robots is improved, the obvious delay in the master-slave control process is eliminated, and the application capabilities of medical robots in the field of precision CNC is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119606539A_ABST
    Figure CN119606539A_ABST
Patent Text Reader

Abstract

The embodiment of the invention is suitable for the technical field of medical robots, and provides a feedforward control method and device of a medical robot, the medical robot and a medium, and the method comprises the steps: obtaining a first error time sequence sequence at a current moment; the first error time sequence sequence comprises a first error between an actual control quantity and an expected control quantity of the medical robot at each moment; predicting a second error between an actual controller quantity and an expected control quantity of the medical robot at a future moment according to the first error time sequence; determining a predicted feedforward control quantity of the medical robot at a future moment based on the second error; and controlling the movement of the medical robot by adopting the predicted feedforward control quantity. By adopting the method, the control precision of the medical robot can be improved, and the time delay of the medical robot in the master-slave control process is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the technical field of medical robots, and in particular, relates to a feedforward control method and device for a medical robot, a medical robot and a medium. Background Art

[0002] With the rapid development of medical robot technology, this technology is increasingly widely used in the field of medical precision numerical control. Therefore, the requirements for the control performance of medical robots are also increasing. For example, in the medical field, in order to facilitate the operation of doctors, master-slave control is usually added to the control system of medical robots to improve the doctor's sense of presence. Therefore, the requirements for the positioning accuracy and master-slave delay of medical robots are extremely strict.

[0003] At present, in order to improve the control performance of medical robots, feedforward control is usually added to the control system to improve system response. The feedforward control is usually obtained by taking the command information output in the previous cycle as the input of the current cycle and performing first-order differential processing.

[0004] However, when differentiating the command information, there is usually a huge noise effect, resulting in low accuracy of the feedforward control amount. Moreover, the feedforward control amount obtained by the above differentiation method will always lag behind by one cycle. As a result, not only the control accuracy of the medical robot is reduced, but also there is a significant delay in the master-slave control process of the medical robot. Summary of the invention

[0005] The embodiments of the present application provide a feedforward control method, device, medical robot and medium for a medical robot, which can solve the problem that the accuracy of the feedforward control amount is low, resulting in reduced control accuracy of the medical robot, and the problem of delay in the master-slave control process of the medical robot.

[0006] In a first aspect, an embodiment of the present application provides a feedforward control method for a medical robot, the method comprising:

[0007] Obtaining a first error time series at the current moment; the first error time series includes a first error between an actual control amount and an expected control amount of the medical robot at each moment;

[0008] Predicting a second error between an actual controller amount and an expected control amount of the medical robot at a future moment according to the first error time series;

[0009] Determine a predicted feedforward control amount of the medical robot at a future moment based on the second error;

[0010] The motion of the medical robot is controlled using predictive feedforward control.

[0011] In a second aspect, an embodiment of the present application provides a feedforward control device for a medical robot, the device comprising:

[0012] An acquisition module, used to acquire a first error time series at a current moment; the first error time series includes a first error between an actual control amount and an expected control amount of the medical robot at each moment;

[0013] A prediction module, configured to predict a second error between an actual control amount and an expected control amount of the medical robot at a future moment according to the first error time series;

[0014] A determination module, configured to determine a predicted feedforward control amount of the medical robot at the future moment based on the second error;

[0015] A control module is used to control the movement of the medical robot using the predicted feedforward control amount.

[0016] In a third aspect, an embodiment of the present application provides a medical robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method of the first aspect described above when executing the computer program.

[0017] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the method of the first aspect described above is implemented.

[0018] In a fifth aspect, an embodiment of the present application provides a computer program product, which, when running on a medical robot, enables the medical robot to execute the method of the first aspect.

[0019] Compared with the prior art, the beneficial effect of the embodiment of the present application is that the medical robot can predict the second error between the actual control amount and the expected control amount of the medical robot at the future moment by obtaining the first error time series at the current moment. Among them, because the first error time series includes the first error between the actual control amount and the expected control amount of the medical robot at each moment, when the first error time series is used as input instead of directly differentiating the actual control amount at the current moment to obtain the predicted feedforward control amount, the noise influence caused by the differentiation can be avoided. Furthermore, the accuracy of the subsequent predicted feedforward control amount obtained based on the first error time series is improved. Then, when determining the predicted feedforward control amount of the medical robot at the future moment based on the second error, because the second error is the error of the predicted future moment, and the predicted feedforward control amount to be calculated is also the feedforward control amount at the future moment. Therefore, when the predicted feedforward control amount is obtained based on the second error, there will be no delay problem. In addition, the first error time series can be used to describe the error relationship between the actual control amount and the expected control amount of the medical robot at each historical moment. Therefore, it can be considered that predicting the second error based on the first error time series can improve the accuracy of the predicted second error. Furthermore, the accuracy of the predicted feedforward control quantity based on the second error is further improved. Based on this, in the process of controlling the movement of the medical robot, not only the control accuracy of the medical robot is improved, but also there is no obvious delay in the master-slave control process of the medical robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0021] Figure 1 It is a schematic diagram of the servo control architecture of the feedforward control quantity in the prior art;

[0022] Figure 2 Schematic diagram of the servo control architecture of the feedforward control quantity in the embodiment of the present application;

[0023] Figure 3 This is a flow chart of a feedforward control method for a medical robot provided in one embodiment of the present application;

[0024] Figure 4 This is a flow chart of an implementation method for generating a first error time series in a feedforward control method for a medical robot provided in one embodiment of the present application;

[0025] Figure 5It is a flow chart of an implementation method for generating a predicted second error in a feedforward control method of a medical robot provided in one embodiment of the present application;

[0026] Figure 6 It is a flow chart of an implementation method for determining a target state transition probability and a target state transition interval in a feedforward control method of a medical robot provided in one embodiment of the present application;

[0027] Figure 7 It is a flow chart of an implementation method for determining a predicted feedforward control amount in a feedforward control method for a medical robot provided in one embodiment of the present application;

[0028] Figure 8 It is a structural schematic diagram of a feedforward control device of a medical robot provided in one embodiment of the present application;

[0029] Fig. 9 It is a structural schematic diagram of a medical robot provided in one embodiment of the present application. DETAILED DESCRIPTION

[0030] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0031] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof.

[0032] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0033] With the rapid development of medical robot technology, this technology is increasingly widely used in the field of medical precision numerical control. Therefore, the requirements for the control performance of medical robots are also increasing. For example, in the medical field, in order to facilitate the operation of doctors, master-slave control is usually added to the control system of medical robots to improve the doctor's sense of presence. Therefore, the requirements for the positioning accuracy and master-slave delay of medical robots are extremely strict.

[0034] At present, in order to improve the control performance of medical robots, feedforward control is usually added to the control system to improve system response. The feedforward control is usually obtained by taking the command information output in the previous cycle as the input of the current cycle and performing first-order differential processing.

[0035] Specifically, refer to Figure 1 , Figure 1 Schematic diagram of the servo control architecture of the feedforward control quantity in the prior art. Wherein, R(s) is the input of the system, E(s) is the following error of the system (i.e., the difference between the output of the system and the input of the system), Gr(s) is the feedforward control quantity, C(s) is the output of the system, G1(s) is the controller of the system, and G2(s) is the controlled object of the system (e.g., a medical robot).

[0036] It should be noted that the feedforward control quantity Gr(s) in the above method is obtained by directly differentiating the input of the system. However, in the actual process, when differentiating the input of the system, there is usually a huge noise influence. Specifically, since simple differentiation will cause the output of the system to be superimposed with a noise signal of one-tenth of the time constant, the smaller the time constant will lead to more obvious noise. In turn, it affects the stability of the system control. At this time, if the result of the differentiation is filtered, the controlled object will have a follow-up error, resulting in obvious master-slave delay. Specifically, refer to the following formula:

[0037]

[0038] From the above formula, we can see that since the feedforward control quantity is the differential of the input, even if the input noise is very small, the noise is still obvious after differential amplification, which can easily cause the system control to be unsmooth.

[0039] In addition, the feedforward control quantity is usually obtained by taking the command information output in the previous cycle as the input of the current cycle and performing first-order differential processing, so that the feedforward control quantity will always lag behind one cycle, which will cause a delay when the system intervenes in the master-slave control. In the medical field, when the controlled object is a puncture robot, there is a delay in the master-slave operation of the puncture robot, and the delay when the doctor operates (about 200ms). Therefore, on the basis of the system realizing master-slave control, there will be additional displacement, resulting in lower puncture accuracy.

[0040] Furthermore, according to the feedforward control theory, for the correction link of input compensation, in order to make the control of the system error-free, the transfer function of the feedforward device needs to be the inverse of the transfer function of the controlled object. Specifically, refer to the following formula:

[0041]

[0042] However, since the transfer function of the controlled object cannot be accurately obtained, the transfer function of the feedforward device is usually only the first-order derivative of the system input. As a result, the feedforward correction link cannot achieve full compensation adjustment, reducing the compensation accuracy.

[0043] Based on this, in order to improve the control accuracy of the medical robot and reduce the obvious delay in the master-slave control process of the medical robot, the embodiment of the present application provides a feedforward control method for the medical robot, which can be applied to the controller of the controlled object. For example, when the controlled object is a puncture robot, its controller can be the controller of the puncture robot.

[0044] It should be noted that the controlled objects include, but are not limited to, robot types such as puncture robots, laparoscopic robots, and orthopedic robots in the medical field. In this embodiment, the types of the controlled objects are not limited.

[0045] In a specific embodiment, referring to Figure 2 , Figure 2 Schematic diagram of the servo control architecture of the feedforward control quantity in the embodiment of the present application. Wherein, (1-1) R(s) is the input of the system, (1-2) E(s) is the following error of the system, (1-3) is the prediction model for predicting the feedforward control quantity, (1-4) is the controlled object of the system, (1-5) is the output of the system, and (1-6) is the controller of the system.

[0046] It should be noted that, unlike the method of directly differentiating the input of the system to obtain the feedforward control amount, in this embodiment, a prediction model is used to process the real-time following error to obtain the feedforward control amount. The specific processing process of the prediction model processing the following error data is shown in the explanation of each embodiment below.

[0047] See also Figure 3 , Figure 3 The following is a flow chart of a feedforward control method for a medical robot provided in an embodiment of the present application. The method comprises the following steps:

[0048] S301, obtaining a first error time series at the current moment; the first error time series includes a first error between an actual control amount and an expected control amount of the medical robot at each moment.

[0049] In one embodiment, the actual control amount is the actual output information of the medical robot after being controlled, and the expected control amount is the expected output information of the medical robot after being controlled. The expected control amount at each moment is pre-set known information.

[0050] Among them, each moment is a moment before the current moment, and the controller can output the actual control amount of the medical robot every preset period, and then determine the first error at each moment according to the expected control amount corresponding to each moment.

[0051] It should be added that the above control amount includes but is not limited to speed, angle and position, and is not limited to this. In this embodiment, the feedforward control amount to be calculated can be used to adjust the speed, angle and position of the medical robot. For ease of explanation, the feedforward control amount is a control amount that can be used to adjust the speed of the medical robot.

[0052] It should be noted that, when the feedforward control amount is the control amount for adjusting the speed of the medical robot, the first error may be the position error between the actual position and the desired position of the medical robot. It is understandable that, since the position error (distance) can be characterized by the speed error (speed) and time, the first error (position error) at each moment can reflect the change in the speed of the medical robot during the adjustment process.

[0053] Among them, the above-mentioned moments can be all moments between the initial moment and the current moment when the medical robot is running, or can be all moments within the current moment and a preset time period before the current moment, and there is no limitation on this.

[0054] Exemplarily, the first error time series may be as follows:

[0055] x (1) =[x (1) (1), x (1) (2), ..., x (1) (n)];

[0056] Among them, x (1) is the first error time series, x (1) (n) is the first error obtained at the nth moment, or is considered to be the first error obtained at the current moment. Wherein, (t) represents the tth moment, where 1≤t≤n.

[0057] It should be noted that since all variables in the system control process cannot be observed, the errors generated in the system control process are usually random. However, the accuracy of the feedforward control quantity obtained by processing the random errors may also be relatively low.

[0058] Based on this, in order to improve the accuracy of the subsequent feedforward control quantity, the third error between the actual control quantity and the expected control quantity of the medical robot at each original moment can also be processed to obtain a first error time series with a linear relationship.

[0059] Exemplarily, the controller can use time as an independent variable, perform data fitting processing on each original third error, and generate a data fitting curve. Then, the time is input into the data fitting curve to obtain the first error at each moment. At this time, each first error obtained will conform to the mathematical relationship of the data fitting curve. In this embodiment, the method of processing each original third error to obtain the first error time series is not limited.

[0060] S302. Predicting a second error between an actual control quantity and an expected control quantity of the medical robot at a future moment according to the first error time series.

[0061] In one embodiment, the future moment may be any moment after the current moment, for example, the next moment after the current moment, or the second moment after the current moment, without limitation.

[0062] In one embodiment, the controller can input the first error time series into a preset error prediction model to obtain a second error between the actual control amount and the expected control amount of the medical robot at a future moment, or can process the first error time series according to the state matrix to obtain the second error, without limitation.

[0063] It should be noted that, since the first error time series can be used to describe the error relationship between the actual control amount and the expected control amount of the medical robot at each historical moment, it can be considered that predicting the second error based on the first error time series can improve the accuracy of the predicted second error.

[0064] S303. Determine the predicted feedforward control amount of the medical robot at a future moment based on the second error.

[0065] In one embodiment, the controller may input the second error into a preset prediction model to obtain a predicted feedforward control amount. At this time, the output of the prediction model is the predicted feedforward control amount, however, the input may be only the second error, or may be the first error at each moment and the predicted second error, which is not limited. Among them, using a preset prediction model to determine the predicted feedforward control amount can improve the prediction accuracy of the predicted feedforward control amount.

[0066] Exemplarily, the prediction model may be a time series model, for example, a long short-term memory network model (LSTM). It is understandable that the LSTM model can have better prediction capabilities in longer time series, thereby improving the prediction accuracy of the predicted feedforward control amount.

[0067] In another embodiment, when the second error is greater than a preset value, the controller may consider that the error between the actual control amount of the system and the expected control amount at the future moment is large. That is, there is a hysteresis effect in the actual control amount of the medical robot. At this time, the controller may determine the sum of the feedforward control amount and the preset control amount at the current moment as the predicted feedforward control amount to increase the adjustment range of the actual control amount of the medical robot. Moreover, by determining the feedforward control amount in the form of a preset control amount, the adjustment range of the actual control amount of the medical robot can be controlled to avoid overshoot.

[0068] And, when the second error is less than or equal to the preset value, the controller can assume that the error between the actual control amount of the system and the expected control amount at the future moment is small. That is, there is no hysteresis effect in the actual control amount of the medical robot. At this time, the controller can determine the difference between the feedforward control amount at the current moment and the preset control amount as the predicted feedforward control amount to control the adjustment amplitude of the actual control amount of the medical robot to avoid overshoot.

[0069] It should be noted that, since the second error is the error predicted at a future time, and the predicted feedforward control amount to be calculated is also the feedforward control amount at a future time, there will be no delay problem when the predicted feedforward control amount is obtained based on the second error.

[0070] S304, using the predicted feedforward control quantity to control the movement of the medical robot.

[0071] In one embodiment, a predictive feedforward control amount is used to control the movement of the medical robot, that is, to adjust the actual control amount of the medical robot at a future moment to be consistent with the expected control amount, which will not be described in detail.

[0072] In one embodiment, the medical robot can predict the second error between the actual control amount and the expected control amount of the medical robot at the future moment by obtaining the first error time series at the current moment. Among them, because the first error time series includes the first error between the actual control amount and the expected control amount of the medical robot at each moment, when the first error time series is used as input instead of directly differentiating the actual control amount at the current moment to obtain the predicted feedforward control amount, the noise effect caused by the differentiation can be avoided. Furthermore, the accuracy of the subsequent predicted feedforward control amount obtained based on the first error time series is improved. Then, when determining the predicted feedforward control amount of the medical robot at the future moment based on the second error, because the second error is the error of the predicted future moment, and the predicted feedforward control amount to be calculated is also the feedforward control amount at the future moment. Therefore, when the predicted feedforward control amount is obtained based on the second error, there will be no delay problem. In addition, the first error time series can be used to describe the error relationship between the actual control amount and the expected control amount of the medical robot at each historical moment. Therefore, it can be considered that predicting the second error based on the first error time series can improve the accuracy of the predicted second error. Thus, the accuracy of the predicted feedforward control quantity based on the second error is further improved. Based on this, in the process of controlling the movement of the medical robot, not only the control accuracy of the medical robot is improved, but also the medical robot does not have obvious delay in the master-slave control process.

[0073] As an example, in order to improve the accuracy of the subsequent feedforward control quantity, the controller can be configured as follows: Figure 4 The steps S401-S403 shown process the original third error to generate a first error time series with a linear relationship. The details are as follows:

[0074] S401, obtaining a second error time series; the second error time series includes a third error between the actual control amount and the expected control amount at each moment.

[0075] In one embodiment, the third error is an initial error between the actual control amount and the expected control amount at each initial moment, and the initial error is usually a random error.

[0076] Each third error corresponds to the first error one by one. That is, in this embodiment, the controller can process the third error at each moment to obtain the first error at the corresponding moment.

[0077] Exemplarily, the second error time series may be as follows:

[0078] x (2) =[x (2) (1), x (2) (2), ..., x (2)(n)];

[0079] Among them, x (2) is the second error time series, x (2) (n) is the third error obtained at the nth moment, or is considered to be the third error obtained at the current moment. (t) represents the tth moment, where 1≤t≤n.

[0080] It should be noted that, in order to make the obtained first error time series closer to the actual situation, after obtaining the second error time series, each third error in the second error time series can be tested. If any third error fails the test, the third error can be deleted and the third error at that moment can be filled in by a preset filling method.

[0081] Exemplarily, the inspection method may be that the third error is not within a preset error range. In this embodiment, the inspection method for the third error is not limited.

[0082] Exemplarily, the preset filling method may be to determine the preset error as the third error, or to determine the target moment corresponding to the third error that failed the inspection, and to fill the third error corresponding to the target moment with the average value of the third error corresponding to the previous moment of the target moment and the third error corresponding to the next moment of the target moment. In this embodiment, the preset filling method of the third error is not limited.

[0083] S402, accumulating each third error in time sequence to obtain an accumulated error time series; each accumulated error in the accumulated error time series corresponds to a third error.

[0084] In one embodiment, the time sequence may be the order in which each third error is obtained. In the second error time series, the time corresponding to time (1) may be considered to be the earliest time. Therefore, the third error corresponding to time (1) may be processed first to obtain the accumulated error at time (1). And, finally, the third error corresponding to time (n) may be processed to obtain the accumulated error at time (n).

[0085] In one embodiment, the third error at each moment may be added to the third error at the previous moment to obtain the accumulated error corresponding to each moment. Alternatively, the third error at each moment may be added to all third errors at the previous moment to obtain the accumulated error corresponding to each moment. In this embodiment, the method for generating the accumulated error is not limited.

[0086] In a specific embodiment, in order to generate a first error time series with a more linear relationship (e.g., linearly increasing), for the third error to be accumulated at any time, the controller may first determine all third errors located before the time corresponding to the third error to be accumulated, and then determine the sum of all third errors and the third error to be accumulated as the accumulated error corresponding to the third error to be accumulated.

[0087] Exemplarily, for the accumulated error corresponding to the t-th moment, all the third errors before the t-th moment (i.e., from the 1st moment to the t-1th moment) can be added to the third error corresponding to the t-th moment to obtain the accumulated error corresponding to the t-th moment. Since the sum of all the third errors before the t-th moment is the accumulated error at the t-1th moment, the accumulated error corresponding to the t-th moment can also be considered as the sum of the accumulated error at the t-1th moment and the third error at the t-th moment.

[0088] It can be understood that, since the third error does not exist before the first moment, the accumulated error at the first moment is the third error at the first moment.

[0089] Exemplarily, the above-mentioned accumulated error time series may be as follows:

[0090] x (3) =[x (3) (1), x (3) (2), ..., x (3) (n)];

[0091] Among them, x (3) is the cumulative error time series, x (3) (n) is the accumulated error obtained at the nth moment, or is considered to be the accumulated error at the current moment. (t) represents the tth moment, where 1≤t≤n.

[0092] S403, correct each third error according to the accumulated error time series to obtain a first error time series.

[0093] In one embodiment, since each third error is random, the corresponding linear relationship of each accumulated error obtained by simply accumulating each third error is usually not obvious. That is, it is difficult to directly establish a function that can characterize the change law between the accumulated error and the time according to each accumulated error. However, the differential equation can characterize the functional relationship between the accumulated error and the derivative of the accumulated error.

[0094] Based on this, in order to obtain a first error time series with a linear relationship, the controller can first establish a differential equation corresponding to the cumulative error time series. Then, each cumulative error is corrected according to the parameter solution of the differential equation to obtain a corrected cumulative error corresponding to each cumulative error, and each corrected cumulative error is subtracted in time sequence to obtain the first error time series.

[0095] The differential equation can be shown as follows:

[0096]

[0097] in, is the derivative of the accumulated error in the accumulated error time series, and a and u are the parameter solutions to be calculated. Assume that, is the vector to be confirmed, and the least square method can be obtained:

[0098]

[0099] in,

[0100]

[0101] Y N =[x (2) (2), x (2) (3), ..., x (2) (n)] T ;

[0102] Where T is the preset transposed matrix. N Substituting into the above formula, we can get the parameter solutions a and u of the differential equation. Then, based on the parameter solutions a and u, we can get the above corrected cumulative error as:

[0103]

[0104] in, is the corrected accumulated error corresponding to the t-th moment, t is a value from 1 to n above, and e is a constant.

[0105] Then, each corrected accumulated error is subtracted to obtain a first error time series consisting of first errors at each moment, wherein the subtraction method is similar to the above-mentioned accumulation method.

[0106] Specifically, it has been explained above that the sum of all third errors before the t-th moment is the accumulated error at the t-1th moment. Therefore, the accumulated error corresponding to the t-th moment is the sum of the accumulated error at the t-1th moment and the third error at the t-th moment. Based on this, similarly, the first error corresponding to the t-th moment is the difference between the corrected accumulated error at the t-th moment and the corrected accumulated error at the t-1th moment. The details are as follows:

[0107]

[0108] Finally, Substituting into the above formula, the first errors are as follows:

[0109]

[0110] Among them, due to the corrected cumulative error x corresponding to the first moment (3) (1) No cumulative reduction is performed, so x (3) (1) is the first error at the first moment.

[0111] In summary, S401 - S403 is a method of processing the original second errors to obtain a first error time series having a linear relationship.

[0112] As an example, in order to further improve the prediction accuracy of the second error, the controller can be configured as follows: Figure 5 The steps S501-S503 shown determine the second error. The details are as follows:

[0113] S501 . Determine a state vector corresponding to each first error in a first error time series.

[0114] In one embodiment, the state vector is used to characterize the system state corresponding to the first error at each moment. The controller may pre-store multiple state intervals and the state vector corresponding to each state interval. Then, for any first error, the state vector may be determined according to the state interval to which the first error corresponds.

[0115] It should be noted that, since all variables in the system control process cannot be observed, the errors generated in the system control process and the corresponding system states are usually random. Based on this, in order to characterize the relationship between the errors generated in the system control process and the system states as accurately as possible, for any first error, the controller can first calculate the difference between the first error and the corresponding third error. Then, the residual ratio between the difference and the third error is calculated, and finally, the state vector corresponding to the first error is determined according to the residual ratio.

[0116] Among them, the residual is the difference between the actual observation value (original third error) and the estimated value (first error). The residual ratio is the percentage between the residual and the original third error. It can be considered that the smaller the residual ratio is, the closer the first error is to the original third error. Therefore, the residual ratio can be used to analyze the relationship between the system state, the actual control amount and the expected control amount at each moment.

[0117] In one embodiment, the controller may pre-store multiple membership functions, and determine the residual ratio in the target function interval corresponding to each membership function according to the membership function. Finally, based on the state value corresponding to each target function interval, a state vector corresponding to the first error is generated.

[0118] Specifically, multiple membership functions are as follows:

[0119]

[0120]

[0121]

[0122] There may be m membership functions, each of which has multiple function intervals and an objective function corresponding to each function interval. The objective function includes a constant function 0 or 1, and also includes a function that needs to be substituted with a residual ratio δ for calculation, which is not limited.

[0123] It should be noted that among the m membership functions above, δ h is a known quantity set in advance. That is, the range of the function interval corresponding to each membership function is a known quantity. Among them, h is greater than or equal to 1 and less than or equal to m.

[0124] Based on this, for each first error, after determining the residual ratio δ corresponding to the first error, the objective function interval of δ in each membership function can be determined respectively. Then, the state value is determined based on the objective function corresponding to the objective function interval. Then, a state vector is generated. Among them, using multiple state values ​​to generate a state vector can characterize the system state of the system at each moment in detail.

[0125] It is understandable that when there are m membership functions, there will also be multiple corresponding state values. Specifically, the state vector can be as follows:

[0126] U k =u1(δ),u2(δ),...,u m (δ);

[0127] Among them, U k is the state vector corresponding to the kth first error.

[0128] S502: Determine, according to all state vectors, a target state transition probability and a target state interval corresponding to each first error.

[0129] In one embodiment, since there may be multiple situations for the system state of the medical robot at a future moment, in order to accurately predict the system state of the medical robot at a future moment, it is necessary to determine the system state with the highest probability from the multiple system states. That is, determine the target state interval in which the system state at a future moment may be located.

[0130] Specifically, the controller can Figure 6 The steps S601-S603 shown determine the initial state transition probability and the target state interval corresponding to each first error. The details are as follows:

[0131] S601. Generate a state matrix according to state values ​​respectively included in all state vectors.

[0132] In one embodiment, the state matrix may be an n*m matrix constructed according to the state values ​​of all state vectors. Since the number of first errors is n, the matrix has n rows, and the state value of each row represents a state vector. Also, each state vector has m state values. Therefore, the matrix has m columns, and the state value of each column represents a state of each state vector.

[0133] Exemplarily, the state matrix U may be as follows:

[0134]

[0135] Among them, u ij Represents the state value of the i-th row and j-th column.

[0136] S602: Based on the state matrix, determine the initial state transition probability of each state value.

[0137] In one embodiment, since each state value represents a system state, and the state matrix contains the state values ​​at each moment, the controller can predict the probability (initial state transition probability) of each system state that the system may be in at a future moment after k steps of processing based on the state values ​​that have already appeared.

[0138] In a specific embodiment, the controller may use a Markov process to determine the initial state transition probability of each state value. Exemplarily, the system states corresponding to each state value that has appeared may be counted in advance. At this time, the set of system states Q = {Q1, Q2, ..., Qm}, where m is the number of system states that have appeared. For the system state corresponding to any state value, all possible probabilities of the system state corresponding to the state value transforming into the system state at the next moment may be calculated based on the number of system states that have appeared. Specifically, the initial state transition probability may be calculated by the following formula, which is as follows:

[0139]

[0140] Among them, Q ij is the state value u ij The corresponding system state, y1 is the system state Q ij The total number of occurrences, Q l (k) is the system state after the system undergoes k-step state transition, and y2 is the system state from system state Q ij After k steps of state transition, the system becomes state Q l (k) number, p k ij Indicates that in a random process, the system changes from state value u ij The corresponding system state Q ij After k steps of processing, it transfers to another system state Q l (k). k can be set in advance.

[0141] S603: For any state vector, determine the target state transition probability and the target state interval corresponding to the first error according to the state matrix and the initial state transition probability.

[0142] In one embodiment, it can be known from the above step S602 that each state vector includes multiple state values, and one state value corresponds to one system state. However, in the actual processing process, there is usually only one system state at each moment. Therefore, the controller also needs to determine the target state interval corresponding to the target state value and the target state transition probability corresponding to the target state value from the multiple state values.

[0143] In a specific embodiment, the controller may first generate a state probability transfer matrix according to the initial state transition probability, and multiply the state vector by the state probability transfer matrix to obtain the predicted state transition probability corresponding to each state value in the state vector. Then, the maximum value of the predicted state transition probability corresponding to all state values ​​in the state vector is determined as the target state transition probability, and the state interval in which the state value corresponding to the target state transition probability is located is determined as the target state interval.

[0144] After obtaining the initial state transition probability corresponding to each state value, the controller can generate a state probability transfer matrix P corresponding to the state matrix U. Exemplarily, the state probability transfer matrix P can be as follows:

[0145]

[0146] Based on this, since the state probability transfer matrix can describe the change law of each system state corresponding to each state vector after each transfer, the controller can accurately determine the system state at the future moment according to the above change law.

[0147] In one embodiment, multiplying the state vector and the state probability transfer matrix is ​​a multiplication operation in a matrix, which will not be described in detail.

[0148] It should be noted that after multiplying the state vector by the state probability transfer matrix, the predicted state transition probability corresponding to each state value in the state vector can be obtained. In other words, the predicted state transition probability can be considered to represent the probability that the system state will be the system state corresponding to the state value at a future time.

[0149] At this time, for any state vector, the controller can determine the maximum probability from the predicted state transition probabilities corresponding to all state values ​​(m state values) included in the state vector. Then, the maximum probability is determined as the target state transition probability, and the state interval where the state vector corresponding to the maximum probability is located is determined as the target state interval. That is, since there are n state vectors (the first error at each moment corresponds to a state vector), the target state transition probabilities and the corresponding target state intervals corresponding to the system states at n moments will be obtained.

[0150] S503: predicting a second error based on all first errors, target state transition probabilities, and target state intervals.

[0151] In one embodiment, after obtaining the system state at each moment, it can be considered that the system state at the future moment will be one of the system states at the above-mentioned moments. At this time, in order to accurately predict the system state at the future moment, the controller can comprehensively determine the target state transition probability and the corresponding target state interval corresponding to the system state at each moment.

[0152] The above S501 has explained that the state vector is used to characterize the system state corresponding to the first error at each moment. Therefore, it can be considered that predicting the system state at a future moment is to predict the second error corresponding to the system state at a future moment.

[0153] In a specific embodiment, for any first error, the controller first determines the prediction residual ratio corresponding to the first error according to the critical value of the target state interval, and then calculates the product of the first error, the prediction residual ratio and the target state transition probability, so as to determine the sum of the products corresponding to all the first errors as the second error.

[0154] Exemplarily, the first error, the prediction residual ratio, and the target state transition probability may be input into the following formula to obtain the second error. The formula is as follows:

[0155]

[0156] Among them, the above x k (n+s) is the second error corresponding to the sth future moment after the current moment n predicted in the kth step, x (1)k (i) is the i-th first error in the first error time series of the k-th step prediction, δ (i) is the prediction residual ratio corresponding to the i-th first error, ΔP k (i) is the target state transition probability corresponding to the i-th first error predicted in the k-th step.

[0157] In one embodiment, the above S501 also states that the state vector corresponding to the first error is determined according to the residual ratio, and the state vector determined according to the residual ratio includes multiple state values, and each state value corresponds to a state interval. However, after the above S601-S603 processing, the target state interval can be determined from the state intervals corresponding to the multiple state values. Therefore, it can be considered that the predicted residual ratio corresponding to the target state interval may be the residual ratio corresponding to the system state in the target state interval at a future moment.

[0158] It should be noted that the residual ratio is the percentage between the residual and the original third error. Therefore, it can be considered that the product of the predicted residual ratio and the first error may be the predicted error corresponding to the actual control amount and the expected control amount of the system when the system state is in the target state range at a future moment.

[0159] Furthermore, it should be added that the sum of the target state transition probabilities obtained by the above-mentioned state probability transfer matrix processing should be 1 (which is the property of the state probability transfer matrix itself). Therefore, in order to comprehensively consider the impact of the first error and the predicted residual ratio at each moment on the future moment, it is also necessary to multiply the product of the predicted residual ratio and the first error at each moment by the corresponding target state transition probability, and then determine the sum of all products as the second error corresponding to the final future moment. That is, it is necessary to consider the impact of the first error and the predicted residual ratio at each moment on the second error at the future moment based on the target state transition probability. Thereby, the accuracy of the second error finally determined is improved.

[0160] In one embodiment, the controller may determine the average value, the maximum value, or the minimum value of two critical values ​​of the target state interval as the prediction residual ratio, which is not limited.

[0161] As an example, in order to further improve the prediction accuracy of the predicted feedforward control quantity, the controller can also be configured as follows: Figure 7 The steps S701-S704 shown determine the predicted feedforward control amount. The details are as follows:

[0162] S701. Determine a control amount difference between an actual control amount at a current moment and an expected control amount at a future moment.

[0163] S702: Calculate the average control amount of the control amount difference between the current moment and the future moment.

[0164] In one embodiment, the control amount difference is the difference between the actual control amount at the current moment and the expected control amount at the future moment. At this time, it can be considered that during the time period from the current moment to the future moment, the controller expects the medical robot to additionally move the portion corresponding to the control amount difference when moving based on the predicted control amount, so that the actual control amount of the medical robot at the future moment is the expected control amount. Therefore, the average control amount can be considered as the average control amount that the controller expects the medical robot to move at each moment during the time period from the current moment to the future moment.

[0165] It should be noted that when the control amount is position, the control amount difference is the distance difference between the actual position at the current moment and the expected position at the future moment. At this time, the average control amount can be represented by speed in physical meaning. That is, the average control amount between the current moment and the future moment is the ratio of distance to time (speed).

[0166] It should be added that when the control variable is position, the purpose of the feedforward control variable is to make the actual position of the medical robot consistent with the expected position during the movement. Since there is a functional relationship between distance and speed, the feedforward control variable can be considered as the control variable for adjusting the speed of the medical robot. That is, in the same time period, the adjustment of speed can indirectly adjust the position.

[0167] S703: Determine the product of the second error and a preset control gain coefficient as a gain control amount.

[0168] In one embodiment, the control gain coefficient can be set according to actual conditions, and is not limited thereto. It should be noted that when the second error is the error between the actual position and the expected position, the control gain is the position control gain. Also, when the second error is the error between the actual speed and the expected speed, the control gain is the speed control gain.

[0169] It should be noted that in the servo control system, the following error gain control amount / error control gain coefficient. Specifically, when the error is a position error, the following error (position error) = gain control amount (speed) / position control gain coefficient; and when the error is a speed error, the following error (speed error) = gain control amount (position) * speed control gain coefficient.

[0170] Therefore, when the second error is a position error and the control gain coefficient is a position control gain coefficient, or, when the second error is a speed error and the control gain coefficient is a speed control gain coefficient, the product of the second error and the control gain coefficient will have the same control dimension as the average control amount in the above step S702.

[0171] S704: Determine the difference between the average control amount and the gain control amount as the predicted feedforward control amount.

[0172] It should be noted that the above average control amount can make the actual control amount of the medical robot at a future moment the expected control amount. Therefore, in the control process, the controller only needs to make adjustments based on the average control amount. However, in the actual control process, the system also has gain adjustments of P (proportional), I (differential), and D (integral). That is, the gain control amount in the above step S703. If the controller determines the average control amount as the predicted feedforward control amount, then in the actual control process, because the medical robot will also be affected by the gain control amount, it will cause an error between the actual control amount and the expected control amount at a future moment. Based on this, the controller needs to subtract the gain control amount from the average control amount to obtain the predicted feedforward control amount, thereby improving the control accuracy of the medical robot.

[0173] For example, the actual control amount at the current moment, the expected control amount at the future moment, and the second error can be input into the following formula to obtain the above-mentioned predicted feedforward control amount. The formula is as follows:

[0174]

[0175] Among them, FF k (n+s) is the expected control amount at the sth moment after the current moment n predicted in the kth step, AP(n) is the actual control amount at the current moment n, Ts is the time between the current moment and the sth moment, kp is the control gain coefficient, x k (n+s) is the second error at the sth moment after the current moment n predicted in the kth step.

[0176] See also Figure 8 , Figure 8 1 is a structural block diagram of a feedforward control device for a medical robot provided in an embodiment of the present application. The feedforward control device for a medical robot in this embodiment includes modules for executing Figures 1 to 4 For details, please refer to the steps in the corresponding embodiment. Figures 1 to 4 as well as Figures 1 to 4 For the convenience of explanation, only the parts related to this embodiment are shown. Figure 8 The feedforward control device 800 of the medical robot may include: an acquisition module 810, a prediction module 820, a determination module 830 and a control module 840, wherein:

[0177] The acquisition module 810 is used to acquire a first error time series at the current moment; the first error time series includes a first error between an actual control amount and an expected control amount of the medical robot at each moment.

[0178] The prediction module 820 is used to predict the second error between the actual control amount and the expected control amount of the medical robot at a future moment according to the first error time series.

[0179] The determination module 830 is used to determine the predicted feedforward control amount of the medical robot at a future moment based on the second error.

[0180] The control module 840 is used to control the movement of the medical robot using a predictive feedforward control variable.

[0181] In one embodiment, the acquisition module 810 is further used to:

[0182] Obtain a second error time series; the second error time series includes a third error between the actual control amount and the expected control amount at each moment; accumulate each third error in chronological order to obtain an accumulated error time series; each accumulated error in the accumulated error time series corresponds to the third error respectively; correct each third error according to the accumulated error time series to obtain a first error time series.

[0183] In one embodiment, the acquisition module 810 is further used to:

[0184] For the third error to be accumulated at any moment, all third errors before the moment corresponding to the third error to be accumulated are determined; and the sum of all third errors and the third error to be accumulated is determined as the accumulated error corresponding to the third error to be accumulated.

[0185] In one embodiment, the acquisition module 810 is further used to:

[0186] A differential equation corresponding to the accumulated error time series is established; each accumulated error is corrected according to the parameter solution of the differential equation to obtain a corrected accumulated error corresponding to each accumulated error; each corrected accumulated error is subtracted in chronological order to obtain a first error time series.

[0187] In one embodiment, the prediction module 820 is further configured to:

[0188] Determine the state vector corresponding to each first error in the first error time series respectively; determine the target state transition probability and the target state interval corresponding to each first error respectively according to all the state vectors; and predict the second error based on all the first errors, the target state transition probabilities and the target state intervals.

[0189] In one embodiment, the prediction module 820 is further configured to:

[0190] For any first error, calculate the difference between the first error and the corresponding third error; calculate the residual ratio between the difference and the third error; and determine the state vector corresponding to the first error according to the residual ratio.

[0191] In one embodiment, the prediction module 820 is further configured to:

[0192] According to a plurality of preset membership functions, the residual ratio is determined in the objective function interval corresponding to each membership function; based on the state value corresponding to each objective function interval, a state vector corresponding to the first error is generated.

[0193] In one embodiment, the prediction module 820 is further configured to:

[0194] Generate a state matrix according to the state values ​​respectively included in all state vectors; based on the state matrix, determine the initial state transition probability of each state value respectively; for any state vector, determine the target state transition probability and target state interval corresponding to the first error according to the state matrix and the initial state transition probability.

[0195] In one embodiment, the prediction module 820 is further configured to:

[0196] Generate a state probability transfer matrix based on the initial state transfer probability; multiply the state vector by the state probability transfer matrix to obtain the predicted state transfer probability corresponding to each state value in the state vector; determine the maximum value of the predicted state transfer probability corresponding to all state values ​​in the state vector as the target state transfer probability; determine the state interval in which the state value corresponding to the target state transfer probability is located as the target state interval.

[0197] In one embodiment, the prediction module 820 is further configured to:

[0198] For any first error, determine the prediction residual ratio corresponding to the first error according to the critical value of the target state interval; calculate the product of the first error, the prediction residual ratio and the target state transition probability; and determine the sum of the products corresponding to all the first errors as the second error.

[0199] In one embodiment, the determination module 830 is further configured to:

[0200] The second error is input into a preset prediction model to obtain a predicted feedforward control quantity.

[0201] In one embodiment, the determination module 830 is further configured to:

[0202] If the second error is greater than the preset value, the sum of the feedforward control amount at the current moment and the preset control amount is determined as the predicted feedforward control amount; if the second error is less than or equal to the preset value, the difference between the feedforward control amount at the current moment and the preset control amount is determined as the predicted feedforward control amount.

[0203] In one embodiment, the determination module 830 is further configured to:

[0204] Determine the control quantity difference between the actual control quantity at the current moment and the expected control quantity at the future moment; calculate the average control quantity of the control quantity difference between the current moment and the future moment; determine the product of the second error and the preset control gain coefficient as the gain control quantity; determine the difference between the average control quantity and the gain control quantity as the predicted feedforward control quantity.

[0205] When it is understood that Figure 8 In the structural block diagram of the feedforward control device of the medical robot shown in FIG. 1 , each module is used to execute Figures 1 to 4The steps in the corresponding embodiments, and for Figures 1 to 4 Each step in the corresponding embodiment has been explained in detail in the above embodiment. Figures 1 to 4 as well as Figures 1 to 4 The relevant descriptions in the corresponding embodiments are not repeated here.

[0206] Fig. 9 1 is a block diagram of a medical robot provided by an embodiment of the present application. Fig. 9 As shown, the medical robot 900 of this embodiment includes: a processor 910, a memory 920, and a computer program 930 stored in the memory 920 and executable on the processor 910, such as a program of a feedforward control method for a medical robot. When the processor 910 executes the computer program 930, the steps in each embodiment of the feedforward control method for a medical robot described above are implemented, such as Figure 1 Alternatively, the processor 910 implements the above when executing the computer program 930 Figure 8 The functions of each module in the corresponding embodiment are, for example, Figure 8 For details on the functions of each module shown, please refer to Figure 8 Related description in the corresponding embodiment.

[0207] Exemplarily, the computer program 930 may be divided into one or more modules, one or more modules are stored in the memory 920, and are executed by the processor 910 to implement the feedforward control method of the medical robot provided in the embodiment of the present application. One or more modules may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program 930 in the medical robot 900. For example, the computer program 930 may implement the feedforward control method of the medical robot provided in the embodiment of the present application.

[0208] The medical robot 900 may include, but is not limited to, a processor 910 and a memory 920. Those skilled in the art will appreciate that Fig. 9 It is only an example of the medical robot 900 and does not constitute a limitation of the medical robot 900. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the medical robot may also include input and output devices, network access devices, buses, etc.

[0209] The processor 910 may be a central processing unit, or other general-purpose processors, digital signal processors, application-specific integrated circuits, off-the-shelf programmable gate arrays or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0210] The memory 920 may be an internal storage unit of the medical robot 900, such as a hard disk or memory of the medical robot 900. The memory 920 may also be an external storage device of the medical robot 900, such as a plug-in hard disk, a smart memory card, a flash memory card, etc. equipped on the medical robot 900. Furthermore, the memory 920 may also include both an internal storage unit of the medical robot 900 and an external storage device.

[0211] An embodiment of the present application provides a computer-readable storage medium, which stores a computer program. The computer program is executed by a processor to execute the feedforward control method of the medical robot in each of the above embodiments.

[0212] An embodiment of the present application provides a computer program product. When the computer program product runs on a medical robot, the medical robot executes the feedforward control method of the medical robot in the above-mentioned embodiments.

[0213] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A feedforward control method for a medical robot, characterized in that: The method comprises: Acquire a first error time series at the current moment; the first error time series includes a first error between an actual control amount and an expected control amount of the medical robot at each moment; Predicting a second error between an actual control amount and an expected control amount of the medical robot at a future moment according to the first error time series; Determining a predicted feedforward control amount of the medical robot at the future moment based on the second error; The predicted feedforward control quantity is used to control the movement of the medical robot.

2. The method according to claim 1, characterized in that The step of obtaining a first error time series at the current moment includes: Acquire a second error time series; the second error time series includes a third error between the actual control amount and the expected control amount at each moment; Accumulating each of the third errors in time sequence to obtain an accumulated error time series; each accumulated error in the accumulated error time series corresponds to the third error; Each of the third errors is corrected according to the accumulated error time series to obtain the first error time series.

3. The method according to claim 2, characterized in that The step of accumulating each of the third errors in time sequence to obtain an accumulated error time series includes: For a third error to be accumulated at any time, determine all third errors located before the time corresponding to the third error to be accumulated; The sum of all the third errors and the third error to be accumulated is determined as the accumulated error corresponding to the third error to be accumulated.

4. The method according to claim 2, characterized in that: The step of correcting each of the third errors according to the accumulated error time series to obtain the first error time series includes: Establishing a differential equation corresponding to the accumulated error time series; Correcting each of the accumulated errors according to the parameter solution of the differential equation to obtain a corrected accumulated error corresponding to each of the accumulated errors; Each of the corrected accumulated errors is cumulatively subtracted according to the time sequence to obtain the first error time series.

5. The method according to any one of claims 2 to 4, characterized in that: The predicting, based on the first error time series, a second error between an actual controller amount and an expected control amount of the medical robot at a future moment includes: respectively determining a state vector corresponding to each of the first errors in the first error time series; According to all the state vectors, respectively determine the target state transition probability and the target state interval corresponding to each of the first errors; The second error is predicted based on all the first errors, the target state transition probability and the target state interval.

6. The method according to claim 5, characterized in that The respectively determining the state vector corresponding to each of the first errors in the first error time series includes: For any of the first errors, calculating a difference between the first error and the corresponding third error; Calculating a residual ratio between the difference and the third error; A state vector corresponding to the first error is determined according to the residual ratio.

7. The method according to claim 6, characterized in that The determining, according to the residual ratio, a state vector corresponding to the first error includes: According to a plurality of preset membership functions, determining the residual ratio in the objective function interval corresponding to each of the membership functions; Based on the state value corresponding to each of the objective function intervals, a state vector corresponding to the first error is generated.

8. The method according to claim 5, characterized in that The state vector includes a plurality of state values; The step of determining, based on all the state vectors, a target state transition probability and a target state interval corresponding to each of the first errors, comprises: Generate a state matrix according to the state values ​​respectively included in all the state vectors; Based on the state matrix, determining the initial state transition probability of each state value respectively; For any of the state vectors, the target state transition probability and the target state interval corresponding to the first error are determined according to the state matrix and the initial state transition probability.

9. The method according to claim 8, characterized in that The determining, according to the state matrix and the initial state transition probability, the target state transition probability and the target state interval corresponding to the first error comprises: Generate a state probability transfer matrix according to the initial state transfer probability; Multiplying the state vector by the state probability transfer matrix to obtain the predicted state transfer probability corresponding to each state value in the state vector; Determine the maximum value of the predicted state transition probabilities corresponding to all state values ​​in the state vector as the target state transition probability; The state interval in which the state value corresponding to the target state transition probability is located is determined as the target state interval.

10. The method according to claim 5, characterized in that The predicting the second error based on all the first errors, the target state transition probability and the target state interval includes: For any of the first errors, determining a prediction residual ratio corresponding to the first error according to a critical value of the target state interval; Calculating the product of the first error, the prediction residual ratio, and the target state transition probability; The sum of the products corresponding to all the first errors is determined as the second error.

11. The method according to any one of claims 1 to 4 or 6 to 10, characterized in that: The step of determining the predicted feedforward control amount of the medical robot at the future moment based on the second error includes: The second error is input into a preset prediction model to obtain the predicted feedforward control amount.

12. The method according to any one of claims 1 to 4 or 6 to 10, characterized in that: The step of determining the predicted feedforward control amount of the medical robot at the future moment based on the second error includes: If the second error is greater than a preset value, the sum of the feedforward control amount at the current moment and the preset control amount is determined as the predicted feedforward control amount; If the second error is less than or equal to the preset value, the difference between the feedforward control amount at the current moment and the preset control amount is determined as the predicted feedforward control amount.

13. The method according to any one of claims 1 to 4 or 6 to 10, characterized in that: The step of determining the predicted feedforward control amount of the medical robot at the future moment based on the second error includes: Determine a control amount difference between the actual control amount at the current moment and the expected control amount at the future moment; Calculate the average control amount of the control amount difference between the current moment and the future moment; Determine the product of the second error and a preset control gain coefficient as a gain control amount; The difference between the average control amount and the gain control amount is determined as the predictive feedforward control amount.

14. A feedforward control device for a medical robot, characterized in that: The device comprises: An acquisition module, used to acquire a first error time series at a current moment; the first error time series includes a first error between an actual control amount and an expected control amount of the medical robot at each moment; A prediction module, configured to predict a second error between an actual control amount and an expected control amount of the medical robot at a future moment according to the first error time series; A determination module, configured to determine a predicted feedforward control amount of the medical robot at the future moment based on the second error; A control module is used to control the movement of the medical robot using the predicted feedforward control amount.

15. A medical robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 13 is implemented.

16. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 13 is implemented.