Control device and control method

The control device addresses the computational challenges of MPC by using a predictor and corrector to efficiently align control inputs with command values, reducing calculation while maintaining control accuracy and suppressing overshoot.

JP2025104463APending Publication Date: 2025-07-10KK TOSHIBA +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023222286
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-28
Publication Date
2025-07-10

AI Technical Summary

Technical Problem

The high computational burden of model predictive control (MPC) due to the need for extensive prediction and optimization processing.

Method used

A control device comprising a controller, predictor, and corrector that reduces calculation by predicting output values based on input values and correction models, adjusting control inputs to align with command values and predicted outputs.

Benefits of technology

Reduces computational load while maintaining control accuracy and suppressing overshoot, enabling efficient feedback control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025104463000001_ABST
    Figure 2025104463000001_ABST
Patent Text Reader

Abstract

To provide a control device that can reduce an operation amount compared to an MPC.SOLUTION: A control device of an embodiment has a controller, a prediction device, and a compensator. The controller generates a control value based on a command value and an output value output by a control target. The prediction device predicts the output value based on an input value inputted to the control target and a prediction model of the control target, and generates a prediction value that indicates a prediction result of the output value. The compensator compensates the control value based on the command value, the output value, and the prediction value. The input value inputted to the control target is the control value compensated by the compensator.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to a control device and a control method.

Background Art

[0002] As one method of feedback control, model predictive control (MPC) is generally known. In MPC, based on a command value, an output value of a controlled object, and a prediction model of the controlled object, the behavior of the controlled object in a prediction interval from the current time to a future time is predicted, and the input value to be input to the controlled object at each time included in the prediction interval is calculated. Further, a process of searching for an input value that minimizes the area of the error between the command value and the output value in the prediction interval is performed. In such MPC, since it is necessary to perform prediction processing and processing for solving an optimization problem, the amount of calculation of the control device becomes enormous.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] The problem to be solved by the present invention is to provide a control device and a control method capable of reducing the amount of calculation as compared with MPC.

Means for Solving the Problems

[0005] The control device of the embodiment has a controller, a predictor, and a corrector. The controller generates a control value based on a command value and an output value output from a control target. The predictor predicts an output value based on an input value input to the control target and a prediction model of the control target, and generates a prediction value indicating the prediction result of the output value. The corrector corrects the control value based on the command value, the output value, and the prediction value. The input value input to the control target is the control value corrected by the corrector.

Brief Description of Drawings

[0006]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Modes for Carrying Out the Invention

[0007] Hereinafter, the control device of the embodiment will be described with reference to the drawings.

[0008] (First Embodiment) FIG. 1 is a block diagram schematically showing the configuration of a control device 10A according to the first embodiment. The control device 10A is a device that performs feedback control on a control target 20 in a predetermined control cycle. As will be described later, the control target 20 includes, for example, a DC motor or the like. Hereinafter, first, the basic configuration of the control device 10A will be described without specifying what the control target 20 is.

[0009] The control target 20 outputs a control output value Sy1 in response to a control input value Su input to the control target 20. The control input value Su is an operation amount output from the control device 10A to the control target 20. The control input value Su is an example of an input value input to the control target 20. The control output value Sy1 is an example of an output value output from the control target 20.

[0010] A command value Sr and a control output value Sy1 are input to the control device 10A. For example, the command value Sr is input to the control device 10A from a higher-level control device (not shown). The control device 10A controls the control input value Su so that the control output value Sy1 approaches the command value Sr. The control device 10A includes a controller 11, a predictor 12, and a corrector 13.

[0011] The command value Sr and the control output value Sy1 are input to the controller 11. The controller 11 generates a control value Su1 that makes the control output value Sy1 approach the command value Sr based on the command value Sr and the control output value Sy1. More specifically, the controller 11 generates the control value Su1 in the t-th control cycle based on the command value Sr and the control output value Sy1 obtained at the start timing of the t-th control cycle. t is a symbol indicating the temporal order of the control cycles and is an integer of 1 or more. Hereinafter, for convenience of explanation, the symbol “(t)” may be appended to the signs of each value corresponding to the t-th control cycle.

[0012] For example, the controller 11 may generate the control value Su1 by performing PID control based on the command value Sr and the control output value Sy1. Alternatively, the controller 11 may generate the control value Su1 based on a control model obtained by machine learning such as deep learning. The method for generating the control value Su1 by the controller 11 is not particularly limited.

[0013] The control input value Su is input to the predictor 12. The predictor 12 predicts the control output value Sy1 based on the control input value Su and the prediction model of the controlled object 20, and generates a predicted value Sy2 indicating the prediction result of the control output value Sy1. The predicted value Sy2 is the control output value Sy1 that is predicted to be output from the controlled object 20 in response to the control input value Su. More specifically, the predictor 12 predicts the control output value Sy1 to be output from the controlled object 20 in the future one cycle ahead based on the control input value Su obtained at the start timing of the t-th control cycle.

[0014] As described above, when the start timing of the t-th control cycle arrives, the predictor 12 acquires the control input value Su. At this point, since the control input value Su in the t-th control cycle has not yet been determined, the control input value Su acquired by the predictor 12 is the control input value Su(t - 1) input to the controlled object 20 in the previous cycle, that is, the (t - 1)-th control cycle. That is, when the start timing of the t-th control cycle arrives, the predictor 12 predicts the control output value Sy1(t) to be output from the controlled object 20 in the future one cycle ahead, that is, in the t-th control cycle, based on the control input value Su(t - 1) in the (t - 1)-th control cycle.

[0015] Examples of prediction models include step response models, impulse response models, transfer function models, machine learning models, and state equations. For example, when using a state equation as the prediction model for a DC motor, the state equation of the DC motor is represented by the following equation (1). In the following equation (1), i(t) is the current flowing through the DC motor. ω(t) is the angular velocity of the DC motor. R is the resistance of the DC motor. L is the inductance of the DC motor. J is the moment of inertia of the DC motor. K1 is the back electromotive force constant of the DC motor. K2 is the torque constant of the DC motor. v(t) is the voltage applied to the DC motor, that is, the input value of the DC motor. T j (t) is the external torque applied to the DC motor as a disturbance. y(t) is the output value of the DC motor.

[0016]

Number

[0017] For example, when using a machine learning model as the prediction model, the machine learning model is represented by the following equation (2). In the following equation (2), y(t) is the control output value Sy1 obtained in the t-th control cycle. u(t) is the control input value Su obtained in the t-th control cycle. y(t + 1) is the control output value Sy1 predicted to be output from the control target 20 in the (t + 1)-th control cycle.

[0018]

Number

[0019] For example, by providing AI (Artificial Intelligence) with learning data including a control input value Su and a control output value Sy1 output from a control target 20 in response to the control input value Su, and causing the AI to learn the behavior of the control target 20, a machine learning model as represented by the above formula (2) can be obtained. When using the machine learning model as represented by the above formula (2) as a prediction model, in addition to the control input value Su, the control output value Sy1 may also be input to the predictor 12.

[0020] A command value Sr, a control output value Sy1, and a predicted value Sy2 are input to the corrector 13. The corrector 13 corrects the control value Su1 based on the command value Sr, the control output value Sy1, and the predicted value Sy2. For example, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 13 corrects the control value Su1 so that the control output value Sy1 approaches the command value Sr. Also, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 13 corrects the control value Su1 so that the control output value Sy1 moves away from the command value Sr.

[0021] For example, as a method of correcting the control value Su1, there are a first correction method of adding a correction value to the control value Su1 generated by the controller 11, and a second correction method of changing the control parameter used by the controller 11 to generate the control value Su1. In other words, "correcting the control value Su1" includes directly correcting the control value Su1 by adding a correction value, and indirectly correcting the control value Su1 by changing the control parameter used by the controller 11. In the first embodiment, a configuration in which the corrector 13 corrects the control value Su1 by the first correction method will be described. A configuration in which the corrector 13 corrects the control value Su1 by the second correction method will be described in the second embodiment.

[0022] In the first embodiment, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 13 generates a first correction value Su2 having the same sign as the control value Su1 among the positive and negative signs, and adds the first correction value Su2 to the control value Su1. Further, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 13 generates a second correction value Su3 having a sign different from that of the control value Su1 among the positive and negative signs, and adds the second correction value Su3 to the control value Su1.

[0023] For example, when the command value Sr, the control output value Sy1, and the predicted value Sy2 satisfy the following conditional expression (3), the corrector 13 determines that the control output value Sy1 is farther from the command value Sr than the predicted value Sy2.

[0024]

Equation

[0025] Further, for example, when the command value Sr, the control output value Sy1, and the predicted value Sy2 satisfy the following conditional expression (4), the corrector 13 determines that the control output value Sy1 is closer to the command value Sr than the predicted value Sy2.

[0026]

Equation

[0027] Note that when the start timing of the t-th control cycle arrives, the corrector 13 acquires the command value Sr(t), the control output value Sy1(t), and the predicted value Sy2(t). At this point, since the control input value Su in the t-th control cycle has not yet been determined, the control output value Sy1(t) and the predicted value Sy2(t) acquired by the corrector 13 are values corresponding to the control input value Su(t - 1) input to the controlled object 20 in the previous cycle, that is, the (t - 1)-th control cycle. Therefore, the control output value Sy1(t) and the predicted value Sy2(t) acquired by the corrector 13 include a time delay component corresponding to one cycle with respect to the command value Sr(t).

[0028] In order to reduce the influence of the delay component as described above, the corrector 13 stores the command value Sr(t−1) obtained in the previous control cycle, that is, the (t−1)-th control cycle, and in the t-th control cycle, it is preferable to perform the above determination based on the command value Sr(t−1), the control output value Sy1(t), and the predicted value Sy2(t). Thereby, since the influence of the delay component is reduced, the accuracy of the above determination can be improved. When there is a low possibility that the command value Sr varies greatly between adjacent control cycles, the corrector 13 may perform the above determination based on the command value Sr(t), the control output value Sy1(t), and the predicted value Sy2(t) obtained at the start timing of the t-th control cycle.

[0029] For example, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 13 generates a first correction value Su2 according to the following formula (5). In the following formula (5), α is a constant.

[0030]

Equation

[0031] When the control output value y is farther from the command value r than the predicted value y', the difference D in the above formula (5) is represented by the following formula (6).

[0032]

Equation

[0033] As described above, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, when the control value Su1 is a negative value, the first correction value Su2 becomes “−αD”, and when the control value Su1 is a positive value, the first correction value Su2 becomes “αD”. When the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 13 adds the first correction value Su2 as described above to the control value Su1, whereby the control value Su1 is strengthened.

[0034] For example, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 13 generates a second correction value Su3 according to the following formula (7). In the following formula (7), α is a constant.

[0035]

Equation

[0036] When the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the difference D in the above formula (7) is represented by the following formula (8).

[0037]

Equation

[0038] As described above, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, when the control value Su1 is a positive value, the second correction value Su3 becomes "-αD", and when the control value Su1 is a negative value, the second correction value Su3 becomes "αD". When the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 13 adds the second correction value Su3 as described above to the control value Su1, whereby the control value Su1 is weakened.

[0039] The value obtained by adding the first correction value Su2 or the second correction value Su3 to the control value Su1 by the corrector 13 is input to the control object 20 as the control input value Su in the t-th control cycle. Thus, the control input value Su of the control object 20 is the control value Su1 corrected by the corrector 13.

[0040] When the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the control value Su1 strengthened by the first correction value Su2 is input to the control target 20 as the control input value Su(t) in the t-th control cycle. As a result, in the (t + 1)-th control cycle, as a response to the control input value Su(t), a control output value Sy1(t + 1) closer to the command value Sr(t) is output from the control target 20.

[0041] On the other hand, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the control value Su1 weakened by the second correction value Su3 is input to the control target 20 as the control input value Su(t) in the t-th control cycle. As a result, in the (t + 1)-th control cycle, as a response to the control input value Su(t), a control output value Sy1(t + 1) farther from the command value Sr(t) is output from the control target 20.

[0042] FIG. 2 is a flowchart showing the operation of the control device 10A configured as described above. By operating the control device 10A as follows, the control method of the present embodiment is realized. Note that the control device 10A repeatedly executes the operation shown in the flowchart of FIG. 2 at a predetermined control cycle.

[0043] As shown in FIG. 2, when the start timing of the t-th control cycle arrives, the controller 11 of the control device 10A first generates a control value Su1 based on the command value Sr and the control output value Sy1 obtained at the start timing of the t-th control cycle (step ST1). Since how the controller 11 generates the control value Su1 has already been described, it will not be repeatedly described here.

[0044] Subsequently, the predictor 12 of the control device 10A predicts the control output value Sy1 based on the control input value Su obtained at the start timing of the t-th control cycle and the prediction model of the control target 20, and generates a predicted value Sy2 indicating the prediction result of the control output value Sy1 (step ST2). Since how the predictor 12 generates the predicted value Sy2 has already been described, it will not be repeatedly described here.

[0045] Subsequently, the corrector 13 of the control device 10A corrects the control value Su1 based on the command value Sr, the control output value Sy1, and the predicted value Sy2 (step ST3). For example, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 13 corrects the control value Su1 so that the control output value Sy1 approaches the command value Sr. Also, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 13 corrects the control value Su1 so that the control output value Sy1 moves away from the command value Sr. Since how the corrector 13 corrects the control value Su1 has already been described, it will not be repeatedly described here.

[0046] By feedback - controlling the control target 20 in a predetermined control cycle as described above, the control device 10A controls the control output value Sy1 of the control target 20 to a value close to the command value Sr.

[0047] The control device 10A of this embodiment includes a controller 11 that generates a control value Su1 based on a command value Sr and a control output value Sy1 output from a control target 20, a control input value Su input to the control target 20, and a prediction unit 12 that predicts the control output value Sy1 based on a prediction model of the control target 20 and generates a predicted value Sy2 indicating the prediction result of the control output value Sy1, and a corrector 13 that corrects the control value Su1 based on the command value Sr, the control output value Sy1, and the predicted value Sy2. The control input value Su input to the control target 20 is the control value Su1 corrected by the corrector 13. According to such an embodiment, the predictor 12 only needs to predict the control output value Sy1 output from the control target 20 in response to the control input value Su of the control target 20. For example, as described above, the predictor 12 only needs to predict the control output value Sy1 output from the control target 20 in the future one cycle based on the control input value Su obtained at the start timing of the t-th control cycle. Therefore, according to this embodiment, the amount of calculation for the prediction process can be reduced as compared with the model predictive control (MPC) that predicts the behavior of the control target in the prediction interval from the current time to a future time. Further, according to this embodiment, since the control value Su1 corrected based on the command value Sr, the control output value Sy1, and the predicted value Sy2 is given to the control target 20 as the control input value Su, it is not necessary to perform a process of solving an optimization problem to search for a control input value that minimizes the area of the error between the command value and the control output value in the prediction interval like MPC. As described above, according to this embodiment, a control device 10A capable of reducing the amount of calculation as compared with MPC can be provided.

[0048] In the control device 10A of the present embodiment, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 13 corrects the control value Su1 so that the control output value Sy1 approaches the command value Sr. Further, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 13 corrects the control value Su1 so that the control output value Sy1 moves away from the command value Sr. According to such a present embodiment, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the control target 20 is controlled so that the control output value Sy1 approaches the command value Sr, while when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the control target 20 is controlled so that the control output value Sy1 moves away from the command value Sr. Thereby, it is possible to realize feedback control that maintains the control output value Sy1 at a value close to the command value Sr while suppressing the occurrence of overshoot.

[0049] In the control device 10A of the present embodiment, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 13 generates a first correction value Su2 having the same sign as the control value Su1 among the positive and negative signs, and adds the first correction value Su2 to the control value Su1. Further, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 13 generates a second correction value Su3 having a sign different from that of the control value Su1 among the positive and negative signs, and adds the second correction value Su3 to the control value Su1. According to such a present embodiment, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 13 adds the first correction value Su2 having the same sign as the control value Su1 to the control value Su1, while when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the second correction value Su3 having a sign different from that of the control value Su1 may be added to the control value Su1. Therefore, while realizing feedback control that maintains the control output value Sy1 at a value close to the command value Sr, the amount of calculation for the correction process can be suppressed. Thereby, an increase in the amount of calculation of the control device 10A can be suppressed.

[0050] The control method of this embodiment includes generating a control value Su1 based on a command value Sr and a control output value Sy1 output from a control target 20, predicting a control output value Sy1 based on a control input value Su input to the control target 20 and a prediction model of the control target 20, and generating a predicted value Sy2 indicating the prediction result of the control output value Sy1, and correcting the control value Su1 based on the command value Sr, the control output value Sy1, and the predicted value Sy2. The control input value Su input to the control target 20 is the control value Su1 corrected based on the command value Sr, the control output value Sy1, and the predicted value Sy2. According to such an embodiment, it is only necessary to predict the control output value Sy1 output from the control target 20 in response to the control input value Su of the control target 20. For example, as described above, it is only necessary to predict the control output value Sy1 output from the control target 20 in the future one cycle based on the control input value Su obtained at the start timing of the t-th control cycle. Therefore, according to this embodiment, the calculation amount of the prediction process can be reduced as compared with the MPC that predicts the behavior of the control target in the prediction interval from the current time to the future time. Further, according to this embodiment, since the control value Su1 corrected based on the command value Sr, the control output value Sy1, and the predicted value Sy2 is given to the control target 20 as the control input value Su, there is no need to perform a process of solving an optimization problem to search for a control input value that minimizes the area of the error between the command value and the control output value in the prediction interval like the MPC. As described above, according to this embodiment, a control method capable of reducing the calculation amount as compared with the MPC can be provided.

[0051] FIG. 3 is a block diagram showing a first modification of the control device 10A. As shown in FIG. 3, the control device 10A may further include an abnormality detector 16. The abnormality detector 16 receives the control output value Sy1 and the predicted value Sy2. The abnormality detector 16 detects an abnormality based on the deviation between the control output value Sy1 and the predicted value Sy2.

[0052] For example, when the first condition that the control value Su1 is continuously corrected in the same direction during a period including a plurality of control cycles is satisfied, the abnormality detector 16 determines whether the absolute value of the deviation between the control output value Sy1 and the predicted value Sy2 is greater than or equal to a predetermined value. When the absolute value of the deviation between the control output value Sy1 and the predicted value Sy2 is greater than or equal to the predetermined value, that is, when the control output value Sy1 is not approaching the predicted value Sy2, the abnormality detector 16 determines that an abnormality has occurred.

[0053] Alternatively, for example, when the second condition that the correction value generated in the t-th control cycle is greater than or equal to a threshold value is satisfied, the abnormality detector 16 may determine whether the absolute value of the deviation between the control output value Sy1 and the predicted value Sy2 is greater than or equal to a predetermined value. The correction value generated in the t-th control cycle is the first correction value Su2 or the second correction value Su3 generated by the corrector 13 in the t-th control cycle.

[0054] As described above, when the first condition or the second condition is satisfied and the control output value Sy1 is not approaching the predicted value Sy2, there may be a large disturbance applied to the controlled object 20 or a failure may have occurred in the control device 10A. Therefore, by providing the abnormality detector 16 as described above in the control device 10A, it is possible to detect an abnormality caused by a disturbance or a failure of the control device 10A.

[0055] FIG. 4 is a block diagram showing a second modification of the control device 10A. The corrector 13 in the second modification has a function of correcting a disturbance parameter included in the prediction model used by the predictor 12. The disturbance parameter is a parameter related to a disturbance among the parameters included in the prediction model. The corrector 13 corrects the disturbance parameter included in the prediction model based on the command value Sr, the control output value Sy1, and the predicted value Sy2. The corrector 13 outputs a disturbance correction value Sd for correcting the disturbance parameter to the predictor 12.

[0056] For example, when the command value Sr, the control output value Sy1, and the predicted value Sy2 satisfy the condition Sr > Sy1 > Sy2, a positive disturbance is applied to the control target 20, and it is estimated that the disturbance acts in a direction in which the control output value Sy1 approaches the command value Sr. In this case, the corrector 13 corrects the disturbance parameter in a direction in which the control output value Sy1 approaches the command value Sr.

[0057] For example, when the command value Sr, the control output value Sy1, and the predicted value Sy2 satisfy the condition Sr > Sy2 > Sy1, a negative disturbance is applied to the control target 20, and it is estimated that the disturbance acts in a direction in which the control output value Sy1 moves away from the command value Sr. In this case, the corrector 13 corrects the disturbance parameter in a direction in which the control output value Sy1 moves away from the command value Sr.

[0058] For example, when the command value Sr, the control output value Sy1, and the predicted value Sy2 satisfy the condition Sy1 > Sy2 > Sr, a positive disturbance is applied to the control target 20, and it is estimated that the disturbance acts in a direction in which the control output value Sy1 moves away from the command value Sr. In this case, the corrector 13 corrects the disturbance parameter in a direction in which the control output value Sy1 moves away from the command value Sr.

[0059] For example, when the command value Sr, the control output value Sy1, and the predicted value Sy2 satisfy the condition Sy2 > Sy1 > Sr, a negative disturbance is applied to the control target 20, and it is estimated that the disturbance acts in a direction in which the control output value Sy1 approaches the command value Sr. In this case, the corrector 13 corrects the disturbance parameter in a direction in which the control output value Sy1 approaches the command value Sr.

[0060] For example, when the command value Sr, the control output value Sy1, and the predicted value Sy2 satisfy the condition Sy1 > Sr > Sy2, a large positive disturbance is applied to the control target 20, and it is estimated that the disturbance acts in such a way that the control output value Sy1 overshoots the command value Sr. In this case, the corrector 13 corrects the disturbance parameter in such a way that the control output value Sy1 overshoots the command value Sr.

[0061] For example, when the command value Sr, the control output value Sy1, and the predicted value Sy2 satisfy the condition Sy2 > Sr > Sy1, it is estimated that a large negative disturbance is applied to the control target 20, and the disturbance acts so that the control output value Sy1 overshoots the command value Sr. In this case, the corrector 13 corrects the disturbance parameter so that the control output value Sy1 overshoots the command value Sr.

[0062] As described above, by providing the corrector 13 with the function of correcting the disturbance parameter included in the prediction model based on the command value Sr, the control output value Sy1, and the predicted value Sy2, the prediction accuracy of the control output value Sy1 by the prediction model can be improved.

[0063] FIG. 5 is a block diagram showing a first application example when the control device 10A of the first embodiment is applied as a control device for controlling a control target 20 including a DC motor 201. As shown in FIG. 5, the control target 20 includes a DC motor 201, a position sensor 202, a first coordinate converter 203, a second coordinate converter 204, a PWM (Pulse Width Modulation) modulator 205, an inverter 206, a current sensor 207, an A / D converter 208, and a load torque 209. For example, the DC motor 201 is a three-phase brushless DC motor. A load torque 209 is connected as a load to the rotor shaft of the DC motor 201.

[0064] As control input values Su to the control target 20, a q-axis voltage input value Vq and a d-axis voltage input value Vd are input. That is, the control device 10A outputs the q-axis voltage input value Vq and the d-axis voltage input value Vd to the control target 20.

[0065] The position sensor 202 detects the rotor position θ of the DC motor 201 and outputs the rotor position θ to the first coordinate converter 203 and the second coordinate converter 204. The rotor position θ is the electrical angle of the rotor of the DC motor 201. Further, the position sensor 202 calculates an angular velocity measurement value ω based on the rotor position θ and outputs the angular velocity measurement value ω to the control device 10A.

[0066] The first coordinate converter 203 receives the q-axis voltage input value Vq, the d-axis voltage input value Vd, and the rotor position θ. Based on the q-axis voltage input value Vq, the d-axis voltage input value Vd, and the rotor position θ, the first coordinate converter 203 performs a coordinate conversion from the rotating coordinate system to the three-phase coordinate system to generate a U-phase command value Vu, a V-phase command value Vv, and a W-phase command value Vw. The first coordinate converter 203 outputs the U-phase command value Vu, the V-phase command value Vv, and the W-phase command value Vw to the PWM modulator 205.

[0067] The PWM modulator 205 generates a three-phase PWM signal based on the U-phase command value Vu, the V-phase command value Vv, and the W-phase command value Vw, and outputs the three-phase PWM signal to the inverter 206. The inverter 206 converts the DC voltage into a three-phase AC voltage based on the three-phase PWM signal, and outputs the three-phase AC voltage to the DC motor 201. When the three-phase AC voltage is input to the DC motor 201, the rotor and the rotor shaft of the DC motor 201 rotate.

[0068] The current sensor 207 detects the three-phase current flowing through the DC motor 201, and outputs an analog value indicating the detection result of the three-phase current to the A / D converter 208. The A / D converter 208 converts the analog value indicating the detection result of the three-phase current into a digital value to generate a U-phase current measurement value Iu, a V-phase current measurement value Iv, and a W-phase current measurement value Iw. The A / D converter 208 outputs the U-phase current measurement value Iu, the V-phase current measurement value Iv, and the W-phase current measurement value Iw to the second coordinate converter 204.

[0069] The second coordinate converter 204 receives the U-phase current measurement value Iu, the V-phase current measurement value Iv, the W-phase current measurement value Iw, and the rotor position θ. Based on the U-phase current measurement value Iu, the V-phase current measurement value Iv, the W-phase current measurement value Iw, and the rotor position θ, the second coordinate converter 204 performs a coordinate conversion from the three-phase coordinate system to the rotating coordinate system to generate a q-axis current measurement value Iq and a d-axis current measurement value Id. The second coordinate converter 204 outputs the q-axis current measurement value Iq and the d-axis current measurement value Id to the control device 10A.

[0070] As described above, the angular velocity measurement value ω, the q-axis current measurement value Iq, and the d-axis current measurement value Id are output from the control target 20 to the control device 10A. That is, the control output value Sy1 of the control target 20 includes the angular velocity measurement value ω, the q-axis current measurement value Iq, and the d-axis current measurement value Id.

[0071] The controller 11 of the control device 10A receives the angular velocity command value ωr, the angular velocity measurement value ω, the q-axis current measurement value Iq, and the d-axis current measurement value Id. The angular velocity command value ωr is input from the upper-level control device to the control device 10A. The controller 11 includes a q-axis speed controller 11a, a d-axis speed controller 11b, a q-axis current controller 11c, and a d-axis current controller 11d.

[0072] The q-axis speed controller 11a receives the angular velocity command value ωr, the angular velocity measurement value ω, and the q-axis current measurement value Iq. The q-axis speed controller 11a generates a q-axis current command value Iqr by performing RL (Reinforcement Learning) control based on the angular velocity command value ωr, the angular velocity measurement value ω, and the q-axis current measurement value Iq. The q-axis speed controller 11a outputs the q-axis current command value Iqr to the q-axis current controller 11c. The d-axis speed controller 11b generates a d-axis current command value Idr with a value of zero and outputs the d-axis current command value Idr to the d-axis current controller 11d.

[0073] The q-axis current controller 11c receives the q-axis current command value Iqr and the q-axis current measurement value Iq. The q-axis current controller 11c generates a q-axis voltage command value Vqr by performing PI control based on the q-axis current command value Iqr and the q-axis current measurement value Iq. The d-axis current controller 11d receives the d-axis current command value Idr and the d-axis current measurement value Id. The d-axis current controller 11d generates a d-axis voltage command value Vdr by performing PI control based on the d-axis current command value Idr and the d-axis current measurement value Id. As described above, the controller 11 outputs the q-axis voltage command value Vqr and the d-axis voltage command value Vdr as the control value Su1.

[0074] The predictor 12 of the control device 10A receives the q-axis voltage input value Vq and the d-axis voltage input value Vd. Based on the q-axis voltage input value Vq, the d-axis voltage input value Vd, and the prediction model of the control target 20, the predictor 12 predicts a control output value Sy1 including the angular velocity measurement value ω, the q-axis current measurement value Iq, and the d-axis current measurement value Id, and generates a predicted value Sy2 indicating the prediction result of the control output value Sy1. The predicted value Sy2 includes an angular velocity predicted value ω1, a q-axis current predicted value Iq1, and a d-axis current predicted value Id1. The predictor 12 outputs the predicted value Sy2 to the corrector 13.

[0075] The corrector 13 of the control device 10A receives the angular velocity command value ωr, the angular velocity measurement value ω, the q-axis current measurement value Iq, the d-axis current measurement value Id, and the predicted value Sy2. The corrector 13 corrects the q-axis voltage command value Vqr and the d-axis voltage command value Vdr based on the angular velocity command value ωr, the angular velocity measurement value ω, the q-axis current measurement value Iq, the d-axis current measurement value Id, and the predicted value Sy2. For example, when the angular velocity measurement value ω is farther from the angular velocity command value ωr than the angular velocity predicted value ω1, the corrector 13 corrects the q-axis voltage command value Vqr and the d-axis voltage command value Vdr so that the angular velocity measurement value ω approaches the angular velocity command value ωr. Also, when the angular velocity measurement value ω is closer to the angular velocity command value ωr than the angular velocity predicted value ω1, the corrector 13 corrects the q-axis voltage command value Vqr and the d-axis voltage command value Vdr so that the angular velocity measurement value ω moves away from the angular velocity command value ωr.

[0076] More specifically, when the angular velocity measurement value ω is farther from the angular velocity command value ωr than the angular velocity predicted value ω1, the corrector 13 generates a first correction value Su2 having the same sign as the q-axis voltage command value Vqr and the d-axis voltage command value Vdr, and adds the first correction value Su2 to the q-axis voltage command value Vqr and the d-axis voltage command value Vdr. Also, when the angular velocity measurement value ω is closer to the angular velocity command value ωr than the angular velocity predicted value ω1, the corrector 13 generates a second correction value Su3 having a sign different from that of the q-axis voltage command value Vqr and the d-axis voltage command value Vdr, and adds the second correction value Su3 to the q-axis voltage command value Vqr and the d-axis voltage command value Vdr.

[0077] The value obtained by adding the first correction value Su2 or the second correction value Su3 to the q-axis voltage command value Vqr by the corrector 13 is input to the control target 20 as the q-axis voltage input value Vq. Also, the value obtained by adding the first correction value Su2 or the second correction value Su3 to the d-axis voltage command value Vdr by the corrector 13 is input to the control target 20 as the d-axis voltage input value Vd.

[0078] Figure 6 is a block diagram showing a modified example of the application example shown in Figure 5. In Figure 6, only the controller 11 and the corrector 13 are shown, and the other configurations are the same as those shown in Figure 5. As shown in Figure 6, the corrector 13 may include a first corrector 13a, a second corrector 13b, a third corrector 13c, and a fourth corrector 13d.

[0079] The angular velocity command value ωr, the angular velocity measurement value ω, and the angular velocity prediction value ω1 are input to the first corrector 13a. The first corrector 13a corrects the q-axis current command value Iqr output from the q-axis speed controller 11a based on the angular velocity command value ωr, the angular velocity measurement value ω, and the angular velocity prediction value ω1. In the following description, the q-axis current command value Iqr corrected by the first corrector 13a is referred to as the q-axis current correction command value Iqr1. The second corrector 13b corrects the d-axis current command value Idr output from the d-axis speed controller 11b. In the following description, the d-axis current command value Idr corrected by the second corrector 13b is referred to as the d-axis current correction command value Idr1.

[0080] The q-axis current correction command value Iqr1, the q-axis current measurement value Iq, and the q-axis current prediction value Iq1 are input to the third corrector 13c. The third corrector 13c corrects the q-axis voltage command value Vqr output from the q-axis current controller 11c based on the q-axis current correction command value Iqr1, the q-axis current measurement value Iq, and the q-axis current prediction value Iq1. The d-axis current correction command value Idr1, the d-axis current measurement value Id, and the d-axis current prediction value Id1 are input to the fourth corrector 13d. The fourth corrector 13d corrects the d-axis voltage command value Vdr output from the d-axis current controller 11d based on the d-axis current correction command value Idr1, the d-axis current measurement value Id, and the d-axis current prediction value Id1.

[0081] As described above, by providing the first corrector 13a, the second corrector 13b, the third corrector 13c, and the fourth corrector 13d corresponding to the q-axis speed controller 11a, the d-axis speed controller 11b, the q-axis current controller 11c, and the d-axis current controller 11d, respectively, more accurate feedback control can be realized.

[0082] (Second Embodiment) FIG. 7 is a block diagram schematically showing the configuration of the control device 10B according to the second embodiment. In the following description, components having the same configuration as those in the first embodiment described above are denoted by the same reference numerals, and the description thereof is omitted.

[0083] As shown in FIG. 7, the control device 10B is different from the control device 10A in that it includes a controller 14 and a corrector 15 instead of the controller 11 and the corrector 13 described in the first embodiment. Therefore, in the following, the controller 14 and the corrector 15 will be described in detail. In the second embodiment, the control value Su1 generated by the controller 14 is directly input to the control object 20 as the control input value Su.

[0084] The command value Sr and the control output value Sy1 are input to the controller 14. The controller 14 generates a control value Su1 that brings the control output value Sy1 closer to the command value Sr based on the command value Sr and the control output value Sy1. More specifically, the controller 11 generates the control value Su1 in the t-th control cycle based on the command value Sr and the control output value Sy1 obtained at the start timing of the t-th control cycle.

[0085] The controller 14 generates a control value Su1 based on a command value Sr, a control output value Sy1, and a control parameter P input from the corrector 15. For example, when the controller 14 generates the control value Su1 by PID control, the control parameter P includes gains Gp, Gi, and Gd corresponding to the proportional term, integral term, and derivative term used in the PID control calculation, respectively. Also, for example, when the controller 14 generates the control value Su1 based on a control model obtained by machine learning, the control parameter P includes weighting coefficients that make up the control model, etc.

[0086] The command value Sr, the control output value Sy1, and the predicted value Sy2 are input to the corrector 15. The corrector 15 corrects the control value Su1 based on the command value Sr, the control output value Sy1, and the predicted value Sy2. For example, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 15 corrects the control value Su1 so that the control output value Sy1 approaches the command value Sr. Also, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 15 corrects the control value Su1 so that the control output value Sy1 moves away from the command value Sr.

[0087] The corrector 15 corrects the control value Su1 by the second correction method described above. Specifically, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 15 outputs a first control parameter P1, for which the change amount of the control value Su1 becomes larger from the first change amount toward the second change amount, to the controller 14 as the control parameter P. Also, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 15 outputs a second control parameter P2, for which the change amount of the control value Su1 becomes smaller from the first change amount toward the third change amount, to the controller 14 as the control parameter P.

[0088] The first change amount is the change amount of the control value Su1 generated in the previous control cycle, that is, the t-1th control cycle. The second change amount is a change amount larger than the first change amount. The third change amount is a change amount smaller than the first change amount.

[0089] For example, when the controller 14 generates the control value Su1 by PID control, the corrector 15 outputs the control parameter P to the controller 14 as follows. That is, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 15 outputs, as the control parameter P to the controller 14, a first control parameter P1 including gains Gp, Gi, and Gd that are larger than the gains Gp, Gi, and Gd used for generating the control value Su1 in the (t-1)th control cycle. Also, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 15 outputs, as the control parameter P to the controller 14, a second control parameter P2 including gains Gp, Gi, and Gd that are smaller than the gains Gp, Gi, and Gd used for generating the control value Su1 in the (t-1)th control cycle.

[0090] For example, when the controller 14 generates the control value Su1 based on a control model obtained by machine learning, the corrector 15 outputs the control parameter P to the controller 14 as follows. That is, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 15 outputs, as the control parameter P to the controller 14, a first control parameter P1 including a weighting factor that is larger than the weighting factor used for generating the control value Su1 in the (t-1)th control cycle. Also, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 15 outputs, as the control parameter P to the controller 14, a second control parameter P2 including a weighting factor that is smaller than the weighting factor used for generating the control value Su1 in the (t-1)th control cycle.

[0091] Note that table data showing the correspondence relationship between the value of the difference D described in the first embodiment and the control parameter P may be stored in advance in the memory of the control device 10B, and the corrector 15 may acquire, from the above table data, the control parameter P corresponding to the value of the difference D calculated from the command value Sr, the control output value Sy1, and the predicted value Sy2 as the first control parameter P1 or the second control parameter P2.

[0092] When the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the control value Su1 generated so that the amount of change becomes larger based on the first control parameter P1 is input to the control target 20 as the control input value Su(t) in the t-th control cycle. As a result, in the (t + 1)-th control cycle, as a response to the control input value Su(t), the control output value Sy1(t + 1) closer to the command value Sr(t) is output from the control target 20.

[0093] On the other hand, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the control value Su1 generated so that the amount of change becomes smaller based on the second control parameter P2 is input to the control target 20 as the control input value Su(t) in the t-th control cycle. As a result, in the (t + 1)-th control cycle, as a response to the control input value Su(t), the control output value Sy1(t + 1) farther from the command value Sr(t) is output from the control target 20.

[0094] By the control device 10B performing feedback control on the control target 20 in a predetermined control cycle as described above, the control output value Sy1 of the control target 20 is controlled to a value close to the command value Sr.

[0095] In the control device 10B of the present embodiment, the controller 14 generates a control value Su1 based on a command value Sr, a control output value Sy1, and a control parameter P input from the corrector 15. When the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 15 outputs, as the control parameter P, a first control parameter P1 for which the change amount of the control value Su1 becomes larger from the first change amount toward the second change amount to the controller 14. Further, when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 15 outputs, as the control parameter P, a second control parameter P2 for which the change amount of the control value Su1 becomes smaller from the first change amount toward the third change amount to the controller 14. According to such a present embodiment, when the control output value Sy1 is farther from the command value Sr than the predicted value Sy2, the corrector 15 outputs the first control parameter P1 to the controller 14, while when the control output value Sy1 is closer to the command value Sr than the predicted value Sy2, the corrector 15 may output the second control parameter P2 to the controller 14. Thus, while realizing feedback control for maintaining the control output value Sy1 at a value close to the command value Sr, the amount of calculation for correction processing can be suppressed.

[0096] As described in the first modification example of the control device 10A of the first embodiment, the control device 10B of the second embodiment may further include an abnormality detector 16. Here, the abnormality detector 16 will not be repeatedly described. Further, as described in the second modification example of the control device 10A of the first embodiment, the corrector 15 included in the control device 10B of the second embodiment may also have a function of correcting a disturbance parameter included in the prediction model used by the predictor 12. Here, the function of correcting the disturbance parameter will not be repeatedly described.

[0097] FIG. 8 is a block diagram showing a second application example when the control device 10B of the second embodiment is applied as a control device for controlling a control target 20 including a DC motor 201. In the following description, components having the same aspects as those in the first application example shown in FIG. 5 are denoted by the same reference numerals, and the description thereof is omitted.

[0098] As shown in FIG. 8, the second application example is different from the first application example in that the q-axis voltage command value Vqr and the d-axis voltage command value Vdr output from the controller 14 of the control device 10B are directly input to the control target 20 as the control input value Su.

[0099] The angular velocity command value ωr, the angular velocity measurement value ω, the q-axis current measurement value Iq, and the d-axis current measurement value Id are input to the controller 14 of the control device 10B. The angular velocity command value ωr is input from the upper control device to the control device 10B. The controller 14 includes a q-axis speed controller 14a, a d-axis speed controller 14b, a q-axis current controller 14c, and a d-axis current controller 14d.

[0100] The angular velocity command value ωr, the angular velocity measurement value ω, and the q-axis current measurement value Iq are input to the q-axis speed controller 14a. The q-axis speed controller 14a generates a q-axis current command value Iqr by performing RL control based on the angular velocity command value ωr, the angular velocity measurement value ω, and the q-axis current measurement value Iq. The q-axis speed controller 14a outputs the q-axis current command value Iqr to the q-axis current controller 14c. The d-axis speed controller 14b generates a d-axis current command value Idr whose value is zero, and outputs the d-axis current command value Idr to the d-axis current controller 14d.

[0101] The q-axis current command value Iqr and the q-axis current measurement value Iq are input to the q-axis current controller 14c. The q-axis current controller 14c generates a q-axis voltage command value Vqr by performing PI control based on the q-axis current command value Iqr, the q-axis current measurement value Iq, and the control parameter P input from the corrector 15. The d-axis current command value Idr and the d-axis current measurement value Id are input to the d-axis current controller 14d. The d-axis current controller 14d generates a d-axis voltage command value Vdr by performing PI control based on the d-axis current command value Idr, the d-axis current measurement value Id, and the control parameter P input from the corrector 15. As described above, the controller 14 outputs the q-axis voltage command value Vqr and the d-axis voltage command value Vdr as the control value Su1 (control input value Su).

[0102] The corrector 15 of the control device 10B receives as input the angular velocity command value ωr, the angular velocity measured value ω, the q-axis current measured value Iq, the d-axis current measured value Id, and the predicted value Sy2. The corrector 13 corrects the q-axis voltage command value Vqr and the d-axis voltage command value Vdr based on the angular velocity command value ωr, the angular velocity measured value ω, the q-axis current measured value Iq, the d-axis current measured value Id, and the predicted value Sy2. For example, when the angular velocity measured value ω is farther from the angular velocity command value ωr than the angular velocity predicted value ω1, the corrector 15 corrects the q-axis voltage command value Vqr and the d-axis voltage command value Vdr so that the angular velocity measured value ω approaches the angular velocity command value ωr. Also, when the angular velocity measured value ω is closer to the angular velocity command value ωr than the angular velocity predicted value ω1, the corrector 15 corrects the q-axis voltage command value Vqr and the d-axis voltage command value Vdr so that the angular velocity measured value ω moves away from the angular velocity command value ωr.

[0103] More specifically, when the angular velocity measured value ω is farther from the angular velocity command value ωr than the angular velocity predicted value ω1, the corrector 15 outputs, as the control parameter P, the first control parameter P1 for which the change amounts of the q-axis voltage command value Vqr and the d-axis voltage command value Vdr increase from the first change amount toward the second change amount, to the controller 14. Also, when the angular velocity measured value ω is closer to the angular velocity command value ωr than the angular velocity predicted value ω1, the corrector 15 outputs, as the control parameter P, the second control parameter P2 for which the change amounts of the q-axis voltage command value Vqr and the d-axis voltage command value Vdr decrease from the first change amount toward the third change amount, to the controller 14.

[0104] When the controller 14 and the corrector 15 operate as described above, when the angular velocity measured value ω is farther from the angular velocity command value ωr than the angular velocity predicted value ω1, the q-axis voltage command value Vqr and the d-axis voltage command value Vdr, which are generated so that the change amount becomes larger based on the first control parameter P1, are input to the control target 20 as the control input value Su(t) in the t-th control cycle. On the other hand, when the angular velocity measured value ω is closer to the angular velocity command value ωr than the angular velocity predicted value ω1, the q-axis voltage command value Vqr and the d-axis voltage command value Vdr, which are generated so that the change amount becomes smaller based on the second control parameter P2, are input to the control target 20 as the control input value Su(t) in the t-th control cycle.

[0105] All or part of each function of the control devices 10A and 10B described above may be implemented by hardware such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array), or may be implemented by software such as a program. The program may be recorded on a computer-readable recording medium. A computer-readable recording medium is, for example, a storage device such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or other portable medium, or a hard disk built into a computer system. The program may be transmitted via a telecommunication line.

[0106] According to at least one embodiment described above, a control device having a controller that generates a control value based on a command value and an output value of a controlled object, a predictor that predicts an output value based on an input value of the controlled object and a prediction model of the controlled object, and generates a prediction value indicating a prediction result of the output value, and a corrector that corrects the control value based on the command value, the output value, and the prediction value can be provided, which can reduce the amount of calculation compared to MPC.

[0107] The control device of the embodiment includes the following appended aspects. (Appended Note 1) A controller that generates a control value based on a command value and an output value output from a controlled object, A predictor that predicts the output value based on an input value input to the controlled object and a prediction model of the controlled object, and generates a prediction value indicating a prediction result of the output value, A corrector that corrects the control value based on the command value, the output value, and the prediction value, Comprising, The control device, wherein the input value input to the controlled object is the control value corrected by the corrector. (Appended Note 2) The corrector is When the output value is farther from the command value than the predicted value, correct the control value so that the output value approaches the command value. The control device according to Supplementary Note 1, wherein when the output value is closer to the command value than the predicted value, the control value is corrected so that the output value moves away from the command value. (Supplementary Note 3) The corrector When the output value is farther from the command value than the predicted value, generate a first correction value having the same sign as the control value among the positive and negative signs, and add the first correction value to the control value. The control device according to Supplementary Note 2, wherein when the output value is closer to the command value than the predicted value, generate a second correction value having a sign different from the control value among the positive and negative signs, and add the second correction value to the control value. (Supplementary Note 4) The controller generates the control value based on the command value, the output value, and control parameters input from the corrector. The corrector When the output value is farther from the command value than the predicted value, output, as the control parameter to the controller, a first control parameter for which the change amount of the control value increases from a first change amount toward a second change amount. The control device according to Supplementary Note 2, wherein when the output value is closer to the command value than the predicted value, output, as the control parameter to the controller, a second control parameter for which the change amount of the control value decreases from the first change amount toward a third change amount. (Supplementary Note 5) The corrector determines that the output value is farther from the command value than the predicted value when the command value, the output value, and the predicted value satisfy conditional expression (3). In conditional expression (3), Sr is the command value, Sy1 is the output value, and Sy2 is the predicted value. The control device according to any one of Supplementary Notes 2 to 4.

Equation

Equation

[0108] Although some embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and their modifications are included in the scope and gist of the invention, as well as in the invention described in the claims and the equivalent scope thereof.

Description of Reference Numerals

[0109] 10A, 10B... control devices, 11, 14... controllers, 12... predictors, 13, 15... correctors, 16... abnormality detectors, 20... controlled object, 201... DC motor, 202... position sensor, 203... first coordinate converter, 204... second coordinate converter, 205... PWM modulator, 206... inverter, 207... current sensor, 208... A / D converter, 209... load torque

Claims

1. A controller that generates a control value based on a command value and an output value output from a control target; A predictor that predicts the output value based on an input value input to the control target and a prediction model of the control target, and generates a predicted value indicating a prediction result of the output value; A corrector that corrects the control value based on the command value, the output value, and the predicted value; Comprising: The input value input to the control target is the control value corrected by the corrector, a control device.

2. The corrector: When the output value is farther from the command value than the predicted value, correct the control value so that the output value approaches the command value; When the output value is closer to the command value than the predicted value, correct the control value so that the output value moves away from the command value, the control device according to claim 1.

3. The corrector: When the output value is farther from the command value than the predicted value, generate a first correction value having the same sign as the control value among positive and negative signs, and add the first correction value to the control value; When the output value is closer to the command value than the predicted value, generate a second correction value having a sign different from that of the control value among the positive and negative signs, and add the second correction value to the control value, the control device according to claim 2.

4. The controller generates the control value based on the command value, the output value, and a control parameter input from the corrector; The corrector: When the output value is farther from the command value than the predicted value, output a first control parameter as the control parameter to the controller, where the change amount of the control value becomes larger from a first change amount to a second change amount; When the output value is closer to the command value than the predicted value, output a second control parameter as the control parameter to the controller, where the change amount of the control value becomes smaller from the first change amount to a third change amount, the control device according to claim 2.

5. The corrector determines that the output value is farther from the command value than the predicted value when the command value, the output value, and the predicted value satisfy conditional expression (3); In conditional expression (3), Sr is the command value, Sy1 is the output value, and Sy2 is the predicted value, the control device according to claim 2. 【Number 1】

6. When the corrector determines that the output value is closer to the command value than the predicted value when the command value, the output value, and the predicted value satisfy the conditional expression (4), The control device according to claim 2, wherein in the conditional expression (4), Sr is the command value, Sy1 is the output value, and Sy2 is the predicted value. 【Number 2】

7. The control device according to any one of claims 1 to 6, further comprising an abnormality detector that detects an abnormality based on a deviation between the output value and the predicted value.

8. The controller generates the control value by performing PID control based on the command value and the output value, or the controller generates the control value based on the command value, the output value, and a control model obtained by machine learning. The control device according to any one of claims 1 to 6.

9. The control device according to any one of claims 1 to 6, wherein the corrector corrects a disturbance parameter included in the prediction model based on the command value, the output value, and the predicted value.

10. The control device according to any one of claims 1 to 6, wherein the control target includes a motor.

11. generating a control value based on a command value and an output value output from a control target; predicting the output value based on an input value input to the control target and a prediction model of the control target, and generating a predicted value indicating a prediction result of the output value; correcting the control value based on the command value, the output value, and the predicted value; including The input value input to the control target is the control value corrected based on the command value, the output value, and the predicted value. A control method.

Citation Information

Patent Citations

  • Control system, control device, control method, and control program

    JP2023151895A