Control device
Optimizing the gain value of the PID controller by automated equipment solves the problem of difficulty in meeting input/output signal constraints in the prior art, and realizes a simplified adjustment process and efficient control effect.
Patent Information
- Application Number
- JP2023175435
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-10
- Publication Date
- 2025-04-22
AI Technical Summary
The prior art is difficult to meet the constraints of the input/output signal when adjusting the gain value of the PID controller, and the adjustment process is complicated, so it is necessary to build a model of the control object.
Using an automated device, by calculating the error between the control target and the actual output, the gain values Kp, Ki, and Kd of the PID controller are optimized so that the square value J1 of the error is minimized. The device includes the function of calculating input/output constraint values and updating gain values within the constraint range.
It realizes that while meeting the input/output signal constraints, the gain value of the PID controller is optimized, the adjustment process is simplified, and the need to build complex models is avoided.
Smart Images

Figure 2025065910000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a control device, and more particularly to a control device that automatically tunes a gain value of PID control so that the response of a controlled object has a desired profile while satisfying some constraint on the input or output of the controlled object. [Background technology]
[0002] As a background technology of this technology, there is JP 2021-015475 A (Patent Document 1). This document states that "In a controller that includes a PID control unit and a filter unit provided separately from the PID control unit and that performs feedback control of a control target, a method for designing parameters of the controller, which is determined based on a transfer function of the control target and a transfer function of the controller, and includes robust stability and disturbance suppression characteristics. For each of a plurality of frequencies obtained by discretizing a frequency domain including a frequency at which control is performed, a setting step of setting constraint conditions for the mixed sensitivity problem, and a determination step of determining parameters of the controller composed of the parameters of the PID control unit and the filter unit by solving the mixed sensitivity problem under the constraint conditions by an optimization method. (See [Claim 1])".
[0003] In addition, there is JP 2021-042671 A (Patent Document 2). This document states that "a control device comprising a means for calculating a desired output value yd of a controlled object, a PID controller gain value adjustment means for adjusting a gain value of a PID controller so that the difference between the desired output value yd and the output value y_0 of the controlled object is small, a means for predicting an output y_1 of the controlled object when the adjusted PID gain value (Kp_1, Ki_1, Kd_1) is used, and a means for prohibiting application of the adjusted PID gain (Kp_1, Ki_1, Kd_1) (to actual control) when the predicted output y_1 of the controlled object does not satisfy a predetermined condition. (See [Claim 1])". [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-015475 [Patent Document 2] JP 2021-042671 A Summary of the Invention [Problem to be solved by the invention]
[0005] However, the above-mentioned prior art (Patent Document 1) can tune to satisfy the constraints on the frequency characteristics of the controlled object, but does not tune to parameter values that satisfy the constraints on the input / output signals. In addition, when tuning, it is necessary to construct a model of the controlled object, which is time-consuming and difficult to call a simple method.
[0006] In addition, the prior art (Patent Document 2) requires the construction of a controlled object model, and is therefore not a simple method.Furthermore, it only discloses predicting the output when a tuning value is used, and not using the tuning value if the output does not satisfy the constraint, but does not take into account constraints on the input, and furthermore does not tune the parameter value to satisfy constraints on the input / output signals. [Means for solving the problem]
[0007] In order to solve the above problems, the configurations described in the claims are adopted, for example. The present application includes a plurality of means for solving the above problems, for example: In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, A means for calculating a desired output yd of a controlled object with respect to a control target r is provided, A means for calculating an objective function value J1 which is a square value of an error e1 between an actual output y of the controlled object and a desired output yd; A means for optimizing each control gain value of PID control by sequential calculation so that the J1 is small; a means for calculating an input u_est_j to the control object and / or an output y_est_j from the control object when the gain values Kp_j, Ki_j, Kd_j are used as gain values for the PID control, based on the gain values Kp_j, Ki_j, Kd_j which are j-th sequentially calculated values in the sequential calculation; Based on the input u_est_j or the output y_est_j, means for computing the constraint values f1(u_est_j), f2(u_est_j), . . ., fn(u_est_j), g1(y_est_j), g2(y_est_j), . . ., gm(y_est_j); means for updating the sequential calculation when the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) are all within a predetermined range; The control device is characterized by comprising:
[0008] Also, for example, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range; The sequential calculation is stopped, and the gain values Kp_j-1, Ki_j-1, and Kd_j-1 at the j-1th update are adopted as tuning values. The control device is characterized by the above.
[0009] Also, for example, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range; The sequential calculation is stopped, and the gain values Kp_m, Ki_m, and Kd_m at the update time when all of the constraint values are within a predetermined range and J1 is minimized are adopted as tuning values. The control device is characterized by the above.
[0010] Also, for example, a means for performing an optimization calculation using a plurality of sets of candidates for each control gain value in the sequential calculation, For each set of gain values in the plurality of sets, based on the input u_j or the output y_j, means for computing the constraint values f1(u_est_j), f2(u_est_j), . . ., fn(u_est_j), g1(y_est_j), g2(y_est_j), . . ., gm(y_est_j); Only those pairs of constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) that satisfy the constraints are used to perform the update in the sequential calculation. The control device is characterized by the above.
[0011] Also, for example, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range; Stopping the sequential calculation; updating parameter values of the means for calculating the desired output yd; Using the desired output yd calculation means having the parameter value, again, Using the sequential calculation, so that the J1 becomes small, Tune the gain values Kp, Ki, and Kd The control device is characterized by the above.
[0012] Also, for example, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range; Stopping the sequential calculation; "Gain values Kp_j-1, Ki_j-1, Kd_j-1 for the j-1th update" or "Gain values Kp_m, Ki_m, Kd_m at the time of update when all of the constraint values are within a predetermined range and J1 is minimized" Using updating a parameter value of a means for calculating the desired output yd so that J1 is reduced (minimized); Using the desired output yd calculation means having the parameter value, The gain values Kp, Ki, and Kd are tuned again using the iterative calculation so that J1 becomes small. The control device is characterized by the above.
[0013] Also, for example, The means for optimizing each control gain value of the PID control by sequential calculation so as to reduce the J1 is the data-driven control FRIT (Fictitious Reference Iterative Tuning). The control device is characterized by the above.
[0014] Also, for example, The means for calculating the input u_j and / or y_j to the control target when the gain values Kp_j, Ki_j, and Kd_j are used as the gain values of the PID control based on the gain values Kp_j, Ki_j, and Kd_j of the PID control is data-driven prediction. The control device is characterized by the above.
[0015] Also, for example, The constraint value fk(u_est_j) is the maximum value of the input value to the control object. The control device is characterized by the above.
[0016] Also, for example, The constraint value gk(y_est_j) is the amount of overshoot or undershoot of the output value of the controlled object. The control device is characterized by the above.
[0017] Also, for example, A function for visualizing (displaying on a screen) the input u_est_j to the control object and / or the output y_est_j from the control object. The control device is characterized by the above.
[0018] Also, for example, The object controlled by the control device is temperature control of a heating furnace or position control using a motor. The control device is characterized by the above.
[0019] Also, for example, The means for optimizing each control gain value of the PID control by sequential calculation so that the J1 is small further optimizes parameters of the means for calculating the desired output yd by sequential calculation. The control device is characterized by the above. Effect of the Invention
[0020] According to the present invention, the gain value of the PID control is tuned so as to minimize the objective function, which is the squared value J1 of the error between the actual output y of the controlled object and the desired output yd. This tuning is an optimization process involving sequential calculations, and in the sequential calculations, the inputs and outputs u_j and y_j of the controlled object are predicted when the calculated tuning values Kp_j, Ki_j, and Kd_j (intermediate values) are used. Based on the predicted inputs and outputs u_j and y_j, the constraint values f1(u_j), f2(u_j), . . . , fn(u_j), g1(y_j), g2(y_j), . . . , gm(y_j) regarding the inputs and outputs are calculated, and when these constraint values are within a predetermined range, the constraints are deemed to be satisfied, and the sequential calculation of the tuning values Kp_j, Ki_j, and Kd_j is advanced. By performing such processing, the tuning values are optimized within a range in which the constraints are satisfied. The values adopted as the tuning values may be Kp_j-1, Ki_j-1, Kd_j-1, which are the values from the previous sequential calculation, or may be Kp_m, Ki_m, Kd_m, which are the values from the past sequential calculations that satisfy the constraints and result in the smallest objective function value.
[0021] In addition, if the algorithm for tuning the gain value of the PID control so as to minimize the objective function value J1 is data-driven control, and the algorithm for predicting the inputs and outputs u_j, y_j of the controlled object when the calculated tuning values Kp_j, Ki_j, Kd_j (intermediate values) are used is data-driven prediction, the tuning values Kp_j, Ki_j, Kd_j can be used seamlessly between the data-driven control and data-driven prediction.
[0022] In this way, according to the present invention, it is possible to tune the gain value of PID control so as to satisfy constraints on input / output signals, thereby making it possible to achieve a desired response while satisfying various constraints on input / output that exist in an actual control system. [Brief description of the drawings]
[0023] [Figure 1] FIG. [Diagram 2]FIG. 2 is a system diagram of a control device in Examples 1 to 6. [Diagram 3] FIG. 2 is a diagram showing a control device and a controlled object in the first to fifth embodiments. [Figure 4] FIG. 4 is a diagram showing the process of a PID control gain value tuning unit in the first, third, and fifth to sixth embodiments. [Diagram 5] FIG. 13 is a diagram showing the processing of a control target calculation unit in the first to sixth embodiments. [Figure 6] FIG. 13 is a diagram showing the processing of a desired output value calculation unit in Examples 1 to 3 and 5 to 6. [Figure 7] FIG. 13 is a diagram showing the processing of an objective function value calculation unit in the first to sixth embodiments. [Figure 8] FIG. 13 is a diagram showing the process of a PID control gain value optimization unit in Examples 1 to 2 and 4 to 6. [Figure 9] FIG. 13 is a diagram showing the processing of a controlled object input / output calculation unit in the first to sixth embodiments. [Figure 10] FIG. 13 is a diagram showing the processing of a constraint value calculation unit in the first to fourth and sixth embodiments. [Figure 11] FIG. 13 is a diagram showing the processing of a sequential processing update permission unit in the first to fourth and sixth embodiments. [Figure 12] FIG. 13 is a diagram showing the processing of a tuning gain value determination unit in the first and third to sixth embodiments. [Figure 13] FIG. 4 is a diagram showing the PID control process in Examples 1 to 6. [Figure 14] FIG. 11 is a diagram showing the process of a PID control gain value tuning unit in the second embodiment. [Figure 15] FIG. 11 is a diagram showing the process of a tuning gain value determination unit in the second embodiment. [Figure 16] FIG. 13 is a diagram showing the process of a PID control gain value optimization unit in the third embodiment. [Figure 17] FIG. 13 is a diagram showing the process of a PID control gain value tuning unit in the fourth embodiment. [Figure 18] FIG. 13 is a diagram showing the process of a desired output value calculation unit in the fourth embodiment. [Figure 19] FIG. 13 is a diagram showing the process of a constraint value calculation unit in the fifth embodiment. [Figure 20]FIG. 13 is a diagram showing the processing of a sequential processing update permission unit in the fifth embodiment. [Figure 21] FIG. 23 is a diagram showing the process of a PID control gain value tuning unit in the sixth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0024] Hereinafter, the embodiments will be described with reference to the drawings. EXAMPLES
[0025] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, A means for calculating a desired output yd of a controlled object with respect to a control target r is provided, A means for calculating an objective function value J1 which is a square value of an error e1 between an actual output y of the controlled object and a desired output yd; A means for optimizing each control gain value of PID control by sequential calculation so that the J1 is small; a means for calculating an input u_est_j to the control object and / or an output y_est_j from the control object when the gain values Kp_j, Ki_j, Kd_j are used as gain values for the PID control, based on the gain values Kp_j, Ki_j, Kd_j which are j-th sequentially calculated values in the sequential calculation; a means for calculating constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) based on the input u_est_j or the output y_est_j; means for updating the sequential calculation when the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) are all within a predetermined range; The present invention relates to a control device comprising:
[0026] Furthermore, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range, The sequential calculation is stopped, and the gain values Kp_j-1, Ki_j-1, and Kd_j-1 at the update time when all of the constraint values are within a predetermined range and J1 is at a minimum are adopted as tuning values.
[0027] Moreover, the means for optimizing the control gain values of the PID control by sequential calculation so as to reduce the J1 is the data-driven control FRIT.
[0028] Further, the means for calculating the input u_j and / or y_j to the control target when the gain values Kp_j, Ki_j, Kd_j are used as the gain values of the PID control based on the gain values Kp_j, Ki_j, Kd_j of the PID control is data-driven prediction.
[0029] Moreover, the constraint value fk(u_est_j) is the maximum value of the input value to the controlled object.
[0030] Also, a control device characterized by having a function for visualizing (displaying on a screen) the input u_est_j to the controlled object and / or the output y_est_j from the controlled object will be described.
[0031] The object controlled by the control device is temperature control of a heating furnace or the like.
[0032] FIG. 1 is a control block diagram showing the concept of this control device. A control target calculation unit 2 calculates a control target r, and a desired output value calculation unit 3 calculates a desired output yd based on the control target r. An objective function value calculation unit 4 calculates an objective function value J1 based on the desired output yd and the output y. A PID control gain value optimization unit 5 calculates gain values Kp_j, Ki_j, and Kd_j so that the objective function value J1 is minimized. Here, j indicates the number of updates of the sequential calculation. Since this calculation is optimization by sequential calculation, the previous values of the gain values Kp_j, Ki_j, and Kd_j are used. Also, when the update permission flag f_kousin means permission, updating by sequential calculation is performed. The controlled object input / output calculation unit 6 calculates (predicts) the input u_est_j and output y_est_j of the controlled object when the gain values Kp_j, Ki_j, Kd_j are used based on the gain values Kp_j, Ki_j, Kd_j. The constraint value calculation unit 7 calculates the input side constraint value f1(u_est_j),···,fn(u_est_j) and the output side constraint value g1(y_est_j),···,gm(y_est_j) based on the input u_est_j and the output y_est_j. The sequential calculation update permission unit 8 calculates the update permission flag f_kousin based on the input side constraint value f1(u_est_j),···,fn(u_est_j) and the output side constraint value g1(y_est_j),···,gm(y_est_j).
[0033] Figure 2 is a system diagram of the control device 1 that implements each of the above processes. The control device 1 is provided with an input circuit 26 that processes signals from the outside. The signals from the outside here may be, for example, sensor signals that detect a control amount (output from the controlled object). These signals from the outside pass through the input circuit 26 and become input signals and are sent to the input / output port 27. Each input information sent to the input / output port 27 is written into the RAM 24 through the data bus 25. Alternatively, it is stored in the storage device 21. The ROM 23 or the storage device 21 has the processes described later written therein and is executed by the CPU 22. At that time, calculations are appropriately performed using the values written in the RAM 24 or the storage device 21. Among the calculation results, the information (value) to be sent out to the outside is sent to the input / output port 27 through the data bus 25 and is sent to the output circuit 28 as an output signal. It is output to the outside as a signal from the output circuit 28 to the outside. The signal to the outside here refers to an operation amount (input to the controlled object) and the like.
[0034] That is, the control target calculation unit 2, the desired output value calculation unit 3, the objective function value calculation unit 4, the PID control gain value optimization unit 5, the controlled object input / output calculation unit 6, the constraint value calculation unit 7, and the sequential calculation update permission unit 8 shown in FIG. 1 are all realized by the CPU 22 shown in FIG. 2 executing the processes written in the ROM 23 or the storage device 21. Similarly, each of the various means and each functional unit described later is also realized by the CPU 22 shown in FIG. 2 executing the processes written in the ROM 23 or the storage device 21.
[0035] Figure 3 is a block diagram showing the relationship between the control device 1 and the heating furnace 31 controlled by the control device 1. The control target is the target temperature, the operation amount is the target valve opening for adjusting the amount of gas / fuel supplied to the heating furnace 31, and the control amount is the temperature inside the heating furnace.
[0036] Hereinafter, the details of each process will be described.
[0037] <PID control gain value tuning unit (FIG. 4)> In this process, the PID gain values Kp, Ki, and Kd are tuned. Specifically, this is shown in Figure 4. This process is almost the same as the process described in the explanation of Figure 1, but the following is added. The control target is the target temperature. The input is the target valve opening, and the output is the temperature. In addition, a tuning gain value determination unit 9 has been added, which determines the tuning gain values Kp, Ki, and Kd based on the update permission flag f_kousin. Each calculation unit will be described in detail below.
[0038] <Control target calculation section (Fig. 5)> In this process, a control target (target temperature) r is calculated. Specifically, this is shown in FIG.
[0039] When the update count j is 0, That is, the initial value of r uses the step signal shown in Fig. 5. This step signal has the same profile as the control target of the PID control used to obtain the input u and output y.
[0040] When the number of updates j is 1 or more, Using the j-1th gain values Kp_j-1, Ki_j-1, and Kd_j-1, input u, and output y, r = C(Kp_j-1, Ki_j-1, Kd_j-1) -1 u+y Here, C is the transfer function of PID control. The above equation is called the pseudo reference signal, and is the control target used in optimization by FRIT.
[0041] <Desired output value calculation section (Fig. 6)> In this process, a desired profile of the output of the controlled object (temperature of the heating furnace 31) is calculated based on the control target. Specifically, this is shown in FIG.
[0042] For a target temperature r, which is a control target, a desired output (temperature profile) yd is calculated using, for example, a transfer function, etc. The control target may be, for example, a step signal, a ramp signal, etc.
[0043] In FIG. 6, the transfer function is represented by a first-order lag system of 1 / (1+τs), but it is not limited thereto, and it may be of a higher order or may have a dead time or the like.
[0044] <Objective function value calculation unit (FIG. 7)> In this process, the objective function value J1 is calculated. Specifically, it is shown in FIG. 7.
[0045] The sum of the squares of the differences between the output y and the desired output yd is defined as the objective function value J1. Here, i in FIG. 7 is the record number of the digital signals y and yd, and n is the number of records (number of samples).
[0046] <PID control gain value optimization unit (FIG. 8)> In this process, the gain values Kp_j, Ki_j, and Kd_j are obtained. Specifically, it is shown in FIG. 8.
[0047] · When f_kousin = 1, The gain values Kp_j, Ki_j, and Kd_j are optimized by sequential calculation so that the objective function value J1 is minimized. Here, j is the number of update times.
[0048] · When f_kousin = 0, The optimization by sequential calculation is stopped.
[0049] Note that as shown in the figure, optimization algorithms such as Gauss-Newton, PSO (Particle Swarm Optimization), and CMA-ES (Covariance Matrix Adaptation - Evolution Strategy) can be considered. All of them obtain the optimal solution by sequential calculation.
[0050] In the sequential calculation, the previous gain values Kp_j-1, Ki_j-1, Kd_j-1 are generally used to find the current gain values Kp_j, Ki_j, Kd_j. However, depending on the algorithm, the previous gain values Kp_j-1, Ki_j-1, Kd_j-1 may not be used directly, and the current values may be sequentially calculated using parameters found from them.
[0051] <Control target input / output calculation section (Fig. 9)> In this process, the input u_est_j and output y_est_j of the controlled object when the gain values Kp_j, Ki_j, and Kd_j are used are calculated (predicted) based on the gain values Kp_j, Ki_j, and Kd_j. Specifically, this is shown in FIG.
[0052] When the update permission flag f_kousin is 1, the input u_est_j and the output y_est_j are calculated by data-driven prediction using the gain values Kp_j, Ki_j, and Kd_j.
[0053] A function for visualizing (displaying on a screen) the input u_est_j and the output y_est_j may be provided. In particular, by presenting only u_est_j and y_est_j when the optimized gain value is used, the user can check in advance to what extent the output y is able to track the desired output yd under the condition that the input u satisfies the constraint.
[0054] Data-driven prediction is a well-known technique and there are many publications about it, so it will not be described in detail here.
[0055] <Constraint value calculation section (Fig. 10)> In this process, the constraint value f1(u_est_j) is calculated. Specifically, the process is shown in FIG.
[0056] Let f1(u_est_j) be the maximum value of u_est_j.
[0057] <Sequential operation update permission unit (Fig. 11)> In this process, the update permission flag f_kousin is calculated. Specifically, this is shown in FIG.
[0058] · When f1(u_est_j) ≤ k_f1, f_kousin = 1 Set it as such.
[0059] · Otherwise, f_kousin = 0 Set it as such.
[0060] Note that the initial value of f_kousin is 1.
[0061] <Tuning Gain Value Determination Unit (Figure 12)> In this process, the tuning gain values Kp, Ki, and Kd are calculated. Specifically, it is shown in Figure 12.
[0062] When (the previous value of f_kousin) = 1 and (the current value of f_kousin) = 0, the previous values Kp_j - 1, Ki_j - 1, and Kd_j - 1 of Kp_j, Ki_j, and Kd_j are adopted as the tuning gain values Kp, Ki, and Kd.
[0063] <PID Controller (Figure 13)> In this process, the target valve opening u, which is the manipulated variable, is calculated. Specifically, it is shown in Figure 13. Let the difference between the target temperature r and the temperature y, which is the controlled variable, be f, and based on f, the target valve opening u is calculated by PID control. The adjusted PID gain values Kp, Ki, and Kd are the values calculated by the PID control gain value tuning unit 11 and are updated as appropriate.
[0064] Note that there are many documents on PID control, so it will not be elaborated here. The update timing of the adjusted PID gain values is performed when it is desired to update the performance of the PID controller, such as when the profile of the controlled variable deviates significantly from the desired profile.
[0065] In this configuration, the PID control gain values that realize the desired output profile are obtained by data-driven control FRIT. FRIT obtains the gain values that minimize the objective function value J1 by sequential calculation. From the sequentially obtained gain values, the input profile when the gain values are used is predicted by data-driven prediction, and it is sequentially confirmed whether the maximum input value satisfies the constraint that the maximum input value is equal to or less than a predetermined value. When the update count j-1 satisfies the constraint that the maximum input value is equal to or less than a predetermined value, and when the update count j does not satisfy the constraint that the maximum input value is equal to or less than a predetermined value, the update count j-1 is adopted as the tuning gain value.
[0066] The above process makes it possible to tune the PID control gain value so as to satisfy the constraints on the input signal, thereby making it possible to achieve the desired response while satisfying the maximum input constraint that exists in many temperature control systems such as the heating furnace 31. EXAMPLES
[0067] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, A means for calculating a desired output yd of a controlled object with respect to a control target r is provided, A means for calculating an objective function value J1 which is a square value of an error e1 between an actual output y of the controlled object and a desired output yd; A means for optimizing each control gain value of PID control by sequential calculation so that the J1 is small; a means for calculating an input u_est_j to the control object and / or an output y_est_j from the control object when the gain values Kp_j, Ki_j, Kd_j are used as gain values for the PID control, based on the gain values Kp_j, Ki_j, Kd_j which are j-th sequentially calculated values in the sequential calculation; a means for calculating constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) based on the input u_est_j or the output y_est_j; means for updating the sequential calculation when the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) are all within a predetermined range; The present invention relates to a control device comprising:
[0068] Furthermore, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range, The sequential calculation is stopped, and the gain values Kp_m, Ki_m, and Kd_m at the update time when all of the constraint values are within a predetermined range and J1 is at a minimum are adopted as tuning values.
[0069] Moreover, the means for optimizing the control gain values of the PID control by sequential calculation so as to reduce the J1 is the data-driven control FRIT.
[0070] Further, the means for calculating the input u_j and / or y_j to the control target when the gain values Kp_j, Ki_j, Kd_j are used as the gain values of the PID control based on the gain values Kp_j, Ki_j, Kd_j of the PID control is data-driven prediction.
[0071] Moreover, the constraint value fk(u_est_j) is the maximum value of the input value to the controlled object.
[0072] The object controlled by the control device is temperature control of a heating furnace or the like.
[0073] FIG. 2 is a system diagram of the control device 1 that implements each of the above processes. Since it is the same as that in the first embodiment, it will not be described in detail.
[0074] FIG. 3 shows, in a block diagram, the relationship between the control device 1 and the heating furnace 31 controlled by the control device 1. Since it is the same as that in the first embodiment, it will not be described in detail.
[0075] Hereinafter, the details of each process will be described.
[0076] <PID control gain value tuning unit (FIG. 14)> In this process, the PID gain values Kp, Ki, and Kd are tuned. Specifically, it is shown in FIG. 14. It is almost the same as the process described in the explanation of FIG. 4 in the first embodiment, but the following is added thereto. In the tuning gain value determination unit 9, the tuning gain values Kp, Ki, and Kd are determined based on the update permission flag f_kousin and the objective function value J1. Hereinafter, the details of each calculation unit will be described.
[0077] <Control target calculation unit (FIG. 5)> In this process, the control target (target temperature) r is calculated. Specifically, it is shown in FIG. 5. Since it is the same as that in the first embodiment, it will not be described in detail.
[0078] <Desired output value calculation unit (FIG. 6)> In this process, based on the control target, a desired profile of the output of the controlled object (temperature of the heating furnace 31) is calculated. Specifically, it is shown in FIG. 6. Since it is the same as that in the first embodiment, it will not be described in detail.
[0079] <Objective function value calculation unit (FIG. 7)> In this process, the objective function value J1 is calculated. Specifically, it is shown in FIG. 7. Since it is the same as that in the first embodiment, it will not be described in detail.
[0080] <PID control gain value optimization unit (FIG. 8)> In this process, the gain values Kp_j, Ki_j, and Kd_j are obtained. Specifically, it is shown in FIG. 8. Since it is the same as that in the first embodiment, it will not be described in detail.
[0081] <Control target input / output calculation unit (Fig. 9)> In this process, based on the gain values Kp_j, Ki_j, and Kd_j, the input u_est_j and output y_est_j of the control target when the gain values Kp_j, Ki_j, and Kd_j are used are calculated (predicted). Specifically, as shown in Fig. 9, since it is the same as in the first embodiment, it will not be described in detail.
[0082] <Constraint value calculation unit (Fig. 10)> In this process, the constraint value f1(u_est_j) is calculated. Specifically, as shown in Fig. 10, since it is the same as in the first embodiment, it will not be described in detail.
[0083] <Sequential calculation update permission unit (Fig. 11)> In this process, the update permission flag f_kousin is calculated. Specifically, as shown in Fig. 11, since it is the same as in the first embodiment, it will not be described in detail.
[0084] <Tuning gain value determination unit (Fig. 15)> In this process, the tuning gain values Kp, Ki, and Kd are calculated. Specifically, it is shown in Fig. 15.
[0085] · When f_kousin = 1, The gain values Kp_j, Ki_j, Kd_j and the objective function value J1 in each update cycle are stored.
[0086] · When (the previous value of f_kousin) = 1 and (the current value of f_kousin) = 0, The gain values Kp_m, Ki_m, Kd_m at the update cycle m when J1 is minimized are adopted as the tuning gain values Kp, Ki, Kd.
[0087] <PID controller (Fig. 13)> In this process, the target valve opening u, which is the manipulated variable, is calculated. Specifically, as shown in Fig. 13, since it is the same as in the first embodiment, it will not be described in detail.
[0088] Since there are many documents about PID control, we will not go into detail here. The timing for updating the adjusted PID gain value is when you want to update the performance of the PID controller, such as when the profile of the controlled variable has deviated considerably from the desired profile.
[0089] In this configuration, the gain values of the PID control that realize the desired output profile are obtained by data-driven control FRIT. FRIT obtains the gain values that minimize the objective function value J1 by sequential calculation. From the sequentially obtained gain values, the input profile when the gain values are used is predicted by data-driven prediction, and it is sequentially confirmed whether the maximum input value satisfies the constraint that the maximum input value is equal to or less than a predetermined value. When the maximum input value satisfies the constraint that the maximum input value is equal to or less than a predetermined value at the update count j-1 and does not satisfy the constraint that the maximum input value is equal to or less than a predetermined value at the update count j, the gain values Kp_m, Ki_m, and Kd_m at the update count m at which J1 is minimum are adopted as tuning values.
[0090] The above process makes it possible to tune the gain value of the PID control so that the objective function value J1 is minimized while satisfying the constraints on the input signal. When the objective function value J1 is minimized, the square sum error between y and yd is minimized, so that the gain value of the PID control that outputs y with the highest traceability to yd can be obtained, and it becomes possible to realize a profile closest to the desired response while satisfying the constraint of the maximum input value that exists in many real control systems. EXAMPLES
[0091] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, A means for calculating a desired output yd of a controlled object with respect to a control target r is provided, A means for calculating an objective function value J1 which is a square value of an error e1 between an actual output y of the controlled object and a desired output yd; A means for optimizing each control gain value of PID control by sequential calculation so that the J1 is small; a means for calculating an input u_est_j to the control object and / or an output y_est_j from the control object when the gain values Kp_j, Ki_j, Kd_j are used as gain values of the PID control, based on the gain values Kp_j, Ki_j, Kd_j which are j-th sequentially calculated values in the sequential calculation; a means for calculating constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) based on the input u_est_j or the output y_est_j; means for updating the sequential calculation when the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) are all within a predetermined range; The present invention relates to a control device comprising:
[0092] Furthermore, when at least one of the constraint values f1(u_est_j), f2(u_est_j),...,fn(u_est_j), g1(y_est_j), g2(y_est_j),...,gm(y_est_j) is not within a predetermined range, the sequential calculation is stopped, and the gain values Kp_j-1, Ki_j-1, Kd_j-1 at the j-1th update are adopted as tuning values.
[0093] The present invention also includes a means for performing optimization calculation using a plurality of sets of candidates for each control gain value in the sequential calculation, and a means for calculating constraint values f1(u_est_j), f2(u_est_j),...,fn(u_est_j), g1(y_est_j), g2(y_est_j),...,gm(y_est_j) for each set of gain values in the plurality of sets based on the input u_j or the output y_j, respectively, and updating in the sequential calculation is performed using only sets of the constraint values f1(u_est_j), f2(u_est_j),...,fn(u_est_j), g1(y_est_j), g2(y_est_j),...,gm(y_est_j) that satisfy the constraints.
[0094] Also, the means for optimizing each control gain value of the PID control by sequential calculation so as to reduce the J1 is the data-driven control FRIT.
[0095] Further, the means for calculating the input u_j and / or y_j to the control target when the gain values Kp_j, Ki_j, Kd_j are used as the gain values of the PID control based on the gain values Kp_j, Ki_j, Kd_j of the PID control is data-driven prediction.
[0096] Moreover, the constraint value fk(u_est_j) is the maximum value of the input value to the controlled object.
[0097] The object controlled by the control device is temperature control of a heating furnace or the like.
[0098] 2 is a system diagram of the control device 1 that implements the above-mentioned processes, which is the same as in the first embodiment and will not be described in detail.
[0099] FIG. 3 is a block diagram showing the relationship between the control device 1 and the heating furnace 31 controlled by the control device 1, but as it is the same as in the first embodiment, a detailed description will not be given.
[0100] Each process will be described in detail below.
[0101] <PID Control Gain Value Tuning Section (Figure 4)> In this process, the PID gain values Kp, Ki, and Kd are tuned. Specifically, as shown in Figure 4, since it is the same as in Example 1, it will not be described in detail.
[0102] <Control Target Calculation Section (Figure 5)> In this process, the control target (target temperature) r is calculated. Specifically, as shown in Figure 5, since it is the same as in Example 1, it will not be described in detail.
[0103] <Desired Output Value Calculation Section (Figure 6)> In this process, based on the control target, the desired profile of the output of the controlled object (the temperature of the heating furnace 31) is calculated. Specifically, as shown in Figure 6, since it is the same as in Example 1, it will not be described in detail.
[0104] <Objective Function Value Calculation Section (Figure 7)> In this process, the objective function value J1 is calculated. Specifically, as shown in Figure 7, since it is the same as in Example 1, it will not be described in detail.
[0105] <PID Control Gain Value Optimization Section (Figure 16)> In this process, the gain values Kp_j, Ki_j, and Kd_j are obtained. Specifically, as shown in Figure 16.
[0106] ·When f_kousin = 1, The gain values Kp_j, Ki_j, and Kd_j are optimized by sequential calculation so that the objective function value J1 is minimized. Here, j is the number of update times.
[0107] ·When f_kousin = 0, Stop the optimization by sequential calculation.
[0108] As shown in the figure, possible optimization algorithms include PSO (Particle Swarm Optimization) and CMA-ES (Covariance Matrix Adaptation - Evolution Strategy). Both of these find the optimal solution through sequential calculations. PSO and CMA-ES are algorithms that use multiple search samples (agents) to find the optimal solution.
[0109] When PSO is selected as the optimization algorithm, personal best particles and global best particles are selected from among the particles that satisfy the constraints. Specifically, the following process is performed.
[0110] PSO uses multiple particles to search for the optimal solution. At this time, based on the evaluation function value, the gain value when the evaluation function value is the smallest among the successive updates so far for each particle is defined as the personal best, and the gain value when J1 is the smallest among the personal bests of each particle is defined as the global best.
[0111] In this process, when selecting the personal best (global best), not only the evaluation function value J1 but also the gain value when J1 is smallest among particles that satisfy the constraint conditions is set as the personal best (global best).
[0112] By performing this process, the personal best (global best) always satisfies the constraints.
[0113] The gain values Kp_j, Ki_j, and Kd_j output from this calculation section are global best values.
[0114] The constraint conditions in this embodiment are the constraint conditions described in the constraint value calculation unit described later.
[0115] In CMA-ES, the search range is given as a (multidimensional) normal distribution, and multiple samples are randomly sampled from that distribution. Based on the samples, the evaluation function value is calculated, a certain number of samples with small evaluation function values are selected, and based on the selected samples, the normal distribution (mean and variance) that will be the next search range is specified.
[0116] In this process, when selecting samples, not only is the evaluation function value J1 considered, but a predetermined number of samples with small J1 are selected from among the grain samples that satisfy the constraint conditions, and a normal distribution (mean and variance) that will become the next search range is specified based on the selected samples.
[0117] By carrying out such processing, the selected sample always satisfies the constraint conditions.
[0118] The gain values Kp_j, Ki_j, Kd_j output from this calculation section are the samples with the smallest J1 among the samples selected above, including past sequential calculations.
[0119] The constraint conditions in this embodiment are the constraint conditions described in the constraint value calculation unit described later.
[0120] As there are many publications about the details of the PSO and CMA-ES algorithms, we will not go into detail here.
[0121] <Control target input / output calculation section (Fig. 9)> In this process, the input u_est_j and output y_est_j of the controlled object when the gain values Kp_j, Ki_j, and Kd_j are used are calculated (predicted) based on the gain values Kp_j, Ki_j, and Kd_j. Specifically, as shown in FIG. 9, this is the same as in the first embodiment, so will not be described in detail.
[0122] <Constraint value calculation section (Fig. 10)> In this process, the constraint value f1(u_est_j) is calculated. The specific process is shown in FIG. 10, but as it is the same as the first embodiment, it will not be described in detail.
[0123] <Successive Calculation Update Permission Unit (Fig. 11)> In this process, the update permission flag f_update is calculated. Specifically, as shown in Fig. 11, since it is the same as in the first embodiment, it will not be described in detail.
[0124] Note that, as described in the PID control gain value optimization unit 5, the gain values Kp_j, Ki_j, and Kd_j calculated in the PID control gain value optimization unit 5 necessarily satisfy the constraint conditions. Therefore, when the values of the gain values calculated in the PID control gain value optimization unit 5 no longer change, or when the successive calculation is performed a predetermined number of times, it is advisable to set f_update = 0.
[0125] <Tuning Gain Value Determination Unit (Fig. 12)> In this process, the tuning gain values Kp, Ki, and Kd are calculated. Specifically, as shown in Fig. 12, since it is the same as in the first embodiment, it will not be described in detail.
[0126] However, in the case of this embodiment, Kp_j, Ki_j, and Kd_j may be adopted as the tuning gain values Kp, Ki, and Kd.
[0127] <PID Controller (Fig. 13)> In this process, the target valve opening u, which is the manipulated variable, is calculated. Specifically, as shown in Fig. 13, since it is the same as in the first embodiment, it will not be described in detail.
[0128] As the update timing of the adjusted PID gain value, it is performed when it is desired to update the performance of the PID controller, such as when the profile of the controlled variable has deviated considerably from the desired profile.
[0129] In this configuration, the PID control gain values that realize the desired output profile are found by data-driven control FRIT. FRIT finds the gain values (multiple values are found in PSO and CMA-ES) that minimize the objective function value J1 by sequential calculation. From the sequentially found (multiple sets of) gain values, data-driven prediction is used to predict (multiple) input profiles when those gain values are used, and it is confirmed whether the maximum input value satisfies the constraint condition of being equal to or less than a predetermined value. At this time, the next search range is determined based on the gain value that has the smallest evaluation function value J1 from among the gain values that satisfy the constraint condition.
[0130] The above process makes it possible to tune the PID control gain value that minimizes the objective function value J1 while satisfying the constraints on the input signal more efficiently when searching based on multiple samples such as PSO and CMA-ES. When the objective function value J1 is minimized, the square sum error between y and yd is minimized, so the PID control gain value that outputs y with the highest traceability to yd is obtained, making it possible to realize a profile closest to the desired response while satisfying the constraint of the maximum input value that exists in many real control systems. EXAMPLES
[0131] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, A means for calculating a desired output yd of a controlled object with respect to a control target r is provided, A means for calculating an objective function value J1 which is a square value of an error e1 between an actual output y of the controlled object and a desired output yd; A means for optimizing each control gain value of PID control by sequential calculation so that the J1 is small; a means for calculating an input u_est_j to the control object and / or an output y_est_j from the control object when the gain values Kp_j, Ki_j, Kd_j are used as gain values of the PID control, based on the gain values Kp_j, Ki_j, Kd_j which are j-th sequentially calculated values in the sequential calculation; a means for calculating constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) based on the input u_est_j or the output y_est_j; means for updating the sequential calculation when the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) are all within a predetermined range; The present invention relates to a control device comprising:
[0132] Furthermore, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range, The sequential calculation is stopped, and the gain values Kp_j-1, Ki_j-1, and Kd_j-1 at the update time when all of the constraint values are within a predetermined range and J1 is at a minimum are adopted as tuning values.
[0133] Furthermore, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range, Stopping the sequential calculation; updating parameter values of the means for calculating the desired output yd; Using the desired output yd calculation means having the parameter value, again, Using the sequential calculation, so that the J1 becomes small, The gain values Kp, Ki, and Kd are tuned.
[0134] especially, "Gain values Kp_j-1, Ki_j-1, Kd_j-1 for the j-1th update" Using updating a parameter value of a means for calculating the desired output yd so that J1 is reduced (minimized); Using the desired output yd calculation means having the parameter value, again, Using the sequential calculation, so that the J1 becomes small, The gain values Kp, Ki, and Kd are tuned.
[0135] Also, the means for optimizing each control gain value of the PID control by sequential calculation so as to reduce the J1 is the data-driven control FRIT.
[0136] Further, the means for calculating the input u_j and / or y_j to the control target when the gain values Kp_j, Ki_j, Kd_j are used as the gain values of the PID control based on the gain values Kp_j, Ki_j, Kd_j of the PID control is data-driven prediction.
[0137] Moreover, the constraint value fk(u_est_j) is the maximum value of the input value to the controlled object.
[0138] The object controlled by the control device is temperature control of a heating furnace or the like.
[0139] FIG. 2 is a system diagram of the control device 1 that implements the above-mentioned processes, and as it is the same as the first embodiment, a detailed description will not be given.
[0140] FIG. 3 is a block diagram showing the relationship between the control device 1 and the heating furnace 31 controlled by the control device 1, but as it is the same as in the first embodiment, a detailed description will not be given.
[0141] Each process will be described in detail below.
[0142] <PID control gain value tuning unit (FIG. 17)> In this process, the PID gain values Kp, Ki, and Kd are tuned. Specifically, it is shown in FIG. 17. It is almost the same as the process described in the explanation of FIG. 4 in Example 1, but the following is added. In the desired output value calculation unit 3, the parameter values of the transfer function for calculating the desired output are updated using the update permission flag f_kousin and the gain values Kp_j-1, Ki_j-1, and Kd_j-1 at the (j-1)-th update. The details of each calculation unit are described below.
[0143] <Control target calculation unit (FIG. 5)> In this process, the control target (target temperature) r is calculated. Specifically, it is shown in FIG. 5, but since it is the same as in Example 1, it will not be described in detail.
[0144] <Desired output value calculation unit (FIG. 18)> In this process, based on the control target, a desired profile of the output of the controlled object (temperature of the heating furnace 31) is calculated. Specifically, it is shown in FIG. 18.
[0145] When f_kousin changes from 1 to 0, τ is updated by the following process.
[0146] Using the gain values Kp_j-1, Ki_j-1, and Kd_j-1 at the (j-1)-th update, τ is updated so that J1 becomes smaller (is minimized).
[0147] However, r is the profile when k = 0.
[0148] While optimizing τ, the gain values are not updated.
[0149] When τ has converged sufficiently, the τ value is adopted as the τ of the transfer function.
[0150] Thereafter, reset to the number of updates k = 0 and f_kousin = 1, and using the above transfer function with the parameter values, once again, as described in Example 1, perform retuning of the gain values Kp, Ki, and Kd using sequential calculations so that the above J1 becomes smaller.
[0151] Note that when f_kousin = 1 → 0, as described in Example 2, all constraint values are within a predetermined range, and the gain values Kp_m, Ki_m, and Kd_m at the update time when J1 is minimized may be used.
[0152] The processing here is to fix the gain values of PID control and optimize the parameters of the transfer function under the evaluation function value J1.
[0153] In FIG. 18, the transfer function is represented by a first-order lag system of 1 / (1 + τs), but it is not limited thereto, and it may be higher-order or may have dead time or the like.
[0154] <Objective function value calculation unit (FIG. 7)> In this processing, the objective function value J1 is calculated. Specifically, as shown in FIG. 7, since it is the same as in Example 1, it will not be described in detail.
[0155] <PID control gain value optimization unit (FIG. 8)> In this processing, the gain values Kp_j, Ki_j, and Kd_j are obtained. Specifically, as shown in FIG. 8, since it is the same as in Example 1, it will not be described in detail.
[0156] <Control object input / output calculation unit (FIG. 9)> In this processing, based on the gain values Kp_j, Ki_j, and Kd_j, the input u_est_j and output y_est_j of the control object when using the gain values Kp_j, Ki_j, and Kd_j are calculated (predicted). Specifically, as shown in FIG. 9, since it is the same as in Example 1, it will not be described in detail.
[0157] <Constraint value calculation unit (FIG. 10)> In this process, the constraint value f1(u_est_j) is calculated. Specifically, as shown in FIG. 10, since it is the same as that in the first embodiment, it will not be described in detail.
[0158] <Sequential calculation update permission unit (FIG. 11)> In this process, the update permission flag f_kousin is calculated. Specifically, as shown in FIG. 11, since it is the same as that in the first embodiment, it will not be described in detail.
[0159] <Tuning gain value determination unit (FIG. 12)> In this process, the tuning gain values Kp, Ki, and Kd are calculated. Specifically, as shown in FIG. 12, since it is the same as that in the first embodiment, it will not be described in detail.
[0160] <PID controller (FIG. 13)> In this process, the target valve opening u, which is the manipulated variable, is calculated. Specifically, as shown in FIG. 13, since it is the same as that in the first embodiment, it will not be described in detail.
[0161] In this configuration, the gain values of the PID control for realizing the desired output profile are obtained by data-driven control FRIT. FRIT obtains the gain values that minimize the objective function value J1 through sequential calculation. From the sequentially obtained gain values, the input profile when using the gain values is predicted by data-driven prediction, and it is sequentially confirmed whether the constraint condition that the maximum value of the input is below a predetermined value is satisfied. When the maximum value of the input satisfies the constraint condition at the update count j - 1 and does not satisfy the constraint condition that the maximum value of the input is below a predetermined value at the update count j, the update is temporarily stopped, and the parameters of the transfer function used when calculating the desired output profile are adjusted. The tuning method is to use the gain value at the update count j - 1 (the gain value that satisfies the constraint and makes J1 the smallest) as the evaluation function value and adjust it so that J1 is minimized. When the parameters are sufficiently converged, the parameter values are adopted as the parameter values of the transfer function. Then, using the transfer function with the parameter values, once again, as described in the first embodiment, the gain values Kp, Ki, and Kd are retuned using sequential calculation so that J1 becomes smaller.
[0162] The meaning of this process will be described. For example, in the configuration described in the first embodiment, a gain value is used that does not minimize the evaluation function value J1 due to the constraint condition. In other words, the desired output yd and the output y have a certain error. Conversely, by using the gain value obtained in the configuration described in the first embodiment, if the parameters of the transfer function used in calculating the desired output are tuned so that J1 is minimized, a transfer function that can minimize J1 while satisfying the constraints can be obtained. Then, the gain value is fine-tuned again using the transfer function, for example, in the configuration shown in the first embodiment.
[0163] By performing such processing, both the transfer function and the PID control gain values used to calculate the desired output that minimizes J1 and satisfies the constraints are obtained. EXAMPLES
[0164] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, A means for calculating a desired output yd of a controlled object with respect to a control target r is provided, A means for calculating an objective function value J1 which is a square value of an error e1 between an actual output y of the controlled object and a desired output yd; A means for optimizing each control gain value of PID control by sequential calculation so that the J1 is small; a means for calculating an input u_est_j to the control object and / or an output y_est_j from the control object when the gain values Kp_j, Ki_j, Kd_j are used as gain values of the PID control, based on the gain values Kp_j, Ki_j, Kd_j which are j-th sequentially calculated values in the sequential calculation; a means for calculating constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) based on the input u_est_j or the output y_est_j; means for updating the sequential calculation when the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) are all within a predetermined range; The present invention relates to a control device comprising:
[0165] Furthermore, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range, The sequential calculation is stopped, and the gain values Kp_j-1, Ki_j-1, and Kd_j-1 at the update time when all of the constraint values are within a predetermined range and J1 is at a minimum are adopted as tuning values.
[0166] Also, the means for optimizing each control gain value of the PID control by sequential calculation so as to reduce the J1 is the data-driven control FRIT.
[0167] Further, the means for calculating the input u_j and / or y_j to the control target when the gain values Kp_j, Ki_j, Kd_j are used as the gain values of the PID control based on the gain values Kp_j, Ki_j, Kd_j of the PID control is data-driven prediction.
[0168] The constraint value gk(y_est_j) is the amount of overshoot of the output value of the controlled object.
[0169] The object controlled by the control device is temperature control of a heating furnace or the like.
[0170] FIG. 2 is a system diagram of the control device 1 that implements each of the above processes, which is the same as that in the first embodiment and will not be described in detail.
[0171] FIG. 3 shows the relationship between the control device 1 and the heating furnace 31 controlled by the control device 1 in a block diagram, which is the same as that in the first embodiment and will not be described in detail.
[0172] The details of each process will be described below.
[0173] <PID control gain value tuning unit (FIG. 4)> In this process, the PID gain values Kp, Ki, and Kd are tuned. Specifically, as shown in FIG. 4, which is the same as that in the first embodiment and will not be described in detail.
[0174] <Control target calculation unit (FIG. 5)> In this process, the control target (target temperature) r is calculated. Specifically, as shown in FIG. 5, which is the same as that in the first embodiment and will not be described in detail.
[0175] <Desired output value calculation unit (FIG. 6)> In this process, based on the control target, a desired profile of the output of the controlled object (the temperature of the heating furnace 31) is calculated. Specifically, as shown in FIG. 6, which is the same as that in the first embodiment and will not be described in detail.
[0176] <Objective function value calculation unit (FIG. 7)> In this process, the objective function value J1 is calculated. Specifically, as shown in FIG. 7, which is the same as that in the first embodiment and will not be described in detail.
[0177] <PID control gain value optimization unit (FIG. 8)> In this process, the gain values Kp_j, Ki_j, and Kd_j are obtained. Specifically, as shown in FIG. 8, which is the same as that in the first embodiment and will not be described in detail.
[0178] <Controlled object input / output calculation unit (FIG. 9)> In this process, based on the gain values Kp_j, Ki_j, and Kd_j, the input u_est_j and output y_est_j of the control target when using the gain values Kp_j, Ki_j, and Kd_j are calculated (predicted). Specifically, as shown in FIG. 9, since it is the same as in the first embodiment, it will not be described in detail.
[0179] <Constraint value calculation unit (FIG. 19)> In this process, the constraint value f1(u_est_j) is calculated. Specifically, it is shown in FIG. 19.
[0180] Let the overshoot amount of y_est_j be g1(u_est_j).
[0181] <Sequential calculation update permission unit (FIG. 20)> In this process, the update permission flag f_kousin is calculated. Specifically, it is shown in FIG. 20.
[0182] ·When g1(y_est_j) ≤ k_g1, f_kousin = 1 is set.
[0183] ·When it is other than the above, f_kousin = 0 is set.
[0184] Note that the initial value of f_kousin is 1.
[0185] <Tuning gain value determination unit (FIG. 12)> In this process, the tuning gain values Kp, Ki, and Kd are calculated. Specifically, as shown in FIG. 12, since it is the same as in the first embodiment, it will not be described in detail.
[0186] <PID controller (FIG. 13)> In this process, the target valve opening u, which is the manipulated variable, is calculated. Specifically, as shown in FIG. 13, since it is the same as in the first embodiment, it will not be described in detail.
[0187] In this configuration, the PID control gain values that realize the desired output profile are obtained by data-driven control FRIT. FRIT obtains the gain values that minimize the objective function value J1 by sequential calculation. From the sequentially obtained gain values, the input profile when the gain values are used is predicted by data-driven prediction, and it is sequentially confirmed whether the overshoot amount of the output value satisfies the constraint condition that the overshoot amount of the output value is equal to or less than a predetermined value. When the update count j-1 satisfies the constraint condition that the overshoot amount of the output value is equal to or less than a predetermined value, and when the update count j does not satisfy the constraint condition that the overshoot amount of the output value is equal to or less than a predetermined value, the update count j-1 is adopted as the tuning gain value.
[0188] The above process makes it possible to tune the PID control gain value so as to satisfy the constraint on the amount of overshoot of the output value, thereby enabling the desired response to be achieved while satisfying the maximum input value constraint that exists in many real control systems. EXAMPLES
[0189] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, A means for calculating a desired output yd of a controlled object with respect to a control target r is provided, A means for calculating an objective function value J1 which is a square value of an error e1 between an actual output y of the controlled object and a desired output yd; A means for optimizing each control gain value of PID control by sequential calculation so that the J1 is small; a means for calculating an input u_est_j to the control object and / or an output y_est_j from the control object when the gain values Kp_j, Ki_j, Kd_j are used as gain values of the PID control, based on the gain values Kp_j, Ki_j, Kd_j which are j-th sequentially calculated values in the sequential calculation; a means for calculating constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) based on the input u_est_j or the output y_est_j; means for updating the sequential calculation when the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) are all within a predetermined range; The present invention relates to a control device comprising:
[0190] Furthermore, when at least one of the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) is not within a predetermined range, The sequential calculation is stopped, and the gain values Kp_j-1, Ki_j-1, and Kd_j-1 at the update time when all of the constraint values are within a predetermined range and J1 is at a minimum are adopted as tuning values.
[0191] Also, the means for optimizing each control gain value of the PID control by sequential calculation so as to reduce the J1 is the data-driven control FRIT.
[0192] Further, the means for calculating the input u_j and / or y_j to the control target when the gain values Kp_j, Ki_j, Kd_j are used as the gain values of the PID control based on the gain values Kp_j, Ki_j, Kd_j of the PID control is data-driven prediction.
[0193] Moreover, the constraint value fk(u_est_j) is the maximum value of the input value to the controlled object.
[0194] Moreover, the object controlled by the control device is position control using a motor.
[0195] FIG. 2 is a system diagram of the control device 1 that implements each of the above processes, which is the same as that in the first embodiment and will not be described in detail.
[0196] FIG. 21 shows in a block diagram the relationship between the control device 1 and the motor 32 controlled by the control device 1. The control target is the target rotation speed, the manipulated variable is the voltage for adjusting the rotation speed of the motor 32, and the controlled variable is the rotation speed of the motor 32.
[0197] Details of each process will be described below.
[0198] <PID control gain value tuning unit (FIG. 4)> In this process, the PID gain values Kp, Ki, and Kd are tuned. Specifically, as shown in FIG. 4, since the control object is the motor 32, the input / manipulated variable u is the voltage, the control target r is the target rotation speed, the desired output yd is the rotation speed, and the output y is the rotation speed.
[0199] Details of each arithmetic unit will be described below.
[0200] <Control target arithmetic unit (FIG. 5)> In this process, the control target (target rotation speed) r is calculated. Specifically, as shown in FIG. 5, since it is the same as that in the first embodiment, it will not be described in detail. As described above, since the control object is the motor 32, the input / manipulated variable u is the voltage, the control target r is the target rotation speed, and the output y is the rotation speed.
[0201] <Desired output value arithmetic unit (FIG. 6)> In this process, based on the control target, a desired profile of the output (temperature of the heating furnace 31) of the control object is calculated. Specifically, as shown in FIG. 6, since it is the same as that in the first embodiment, it will not be described in detail. As described above, since the control object is the motor 32, the control target r is the target rotation speed, and the desired output yd is the rotation speed.
[0202] <Objective function value arithmetic unit (FIG. 7)> In this process, the objective function value J1 is calculated. Specifically, as shown in FIG. 7, since it is the same as that in the first embodiment, it will not be described in detail. As described above, since the control target is the motor 32, the control target r is the target rotation speed, and the desired output yd is the rotation speed.
[0203] <PID control gain value optimization unit (FIG. 8)> In this process, the gain values Kp_j, Ki_j, and Kd_j are obtained. Specifically, as shown in FIG. 8, since it is the same as that in the first embodiment, it will not be described in detail.
[0204] <Control target input / output calculation unit (FIG. 9)> In this process, based on the gain values Kp_j, Ki_j, and Kd_j, the input u_est_j and output y_est_j of the control target when the gain values Kp_j, Ki_j, and Kd_j are used are calculated (predicted). Specifically, as shown in FIG. 9, since it is the same as that in the first embodiment, it will not be described in detail.
[0205] <Constraint value calculation unit (FIG. 10)> In this process, the constraint value f1(u_est_j) is calculated. Specifically, as shown in FIG. 10, since it is the same as that in the first embodiment, it will not be described in detail.
[0206] <Sequential calculation update permission unit (FIG. 11)> In this process, the update permission flag f_kousin is calculated. Specifically, as shown in FIG. 11, since it is the same as that in the first embodiment, it will not be described in detail.
[0207] <Tuning gain value determination unit (FIG. 12)> In this process, the tuning gain values Kp, Ki, and Kd are calculated. Specifically, as shown in FIG. 12, since it is the same as that in the first embodiment, it will not be described in detail.
[0208] <PID controller (FIG. 13)> In this process, the operation amount u is calculated. Specifically, it is shown in FIG. 13. As described above, since the control target is the motor 32, the input / operation amount u is the voltage, the control target r is the target rotation speed, and the output y is the rotation speed.
[0209] In this configuration, the PID control gain values that realize the desired output profile are obtained by data-driven control FRIT. FRIT obtains the gain values that minimize the objective function value J1 by sequential calculation. From the sequentially obtained gain values, the input profile when the gain values are used is predicted by data-driven prediction, and it is sequentially confirmed whether the maximum input value satisfies the constraint that the maximum input value is equal to or less than a predetermined value. When the update count j-1 satisfies the constraint that the maximum input value is equal to or less than a predetermined value, and when the update count j does not satisfy the constraint that the maximum input value is equal to or less than a predetermined value, the update count j-1 is adopted as the tuning gain value.
[0210] The above process makes it possible to tune the PID control gain value so as to satisfy the constraints on the input signal, thereby enabling the desired response to be achieved while satisfying the maximum input value constraint that exists in many control systems that use the motor 32.
[0211] Although several embodiments have been described above, these are merely examples for the purpose of explaining the present invention, and the scope of the present invention is not limited to these embodiments. The present invention can be implemented in various other forms.
[0212] In the above description, the means for optimizing each control gain value of PID control by sequential calculation so as to reduce J1 is described as data-driven control FRIT, but the means may be another data-driven control method such as ERIT (Estimated Response Iterative Tuning).
[0213] For example, when the means for optimizing the control gain values of the PID control by sequential calculation is the data-driven control ERIT, the control device is 1. An apparatus for automatically tuning control parameter values, comprising: A means for calculating a control target r is provided, A means for calculating an output prediction value yes of a controlled object is provided, A means for calculating a desired output yd of a controlled object with respect to a control target r is provided, means for calculating an objective function value J2 which is a square value of an error e2 between an output prediction value yes of the controlled object and the desired output yd; A means for optimizing the control parameter values by sequential calculation so that the J2 is small; a means for calculating an input u_est_j to the controlled object and / or an output y_est_j from the controlled object when a parameter value that is a j-th sequentially calculated value in the sequential calculation is used as a parameter value for the control; a means for calculating constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) based on the input u_est_j or the output y_est_j; means for updating the sequential calculation when the constraint values f1(u_est_j), f2(u_est_j), . . . , fn(u_est_j), g1(y_est_j), g2(y_est_j), . . . , gm(y_est_j) are all within a predetermined range; The control device is characterized by comprising: Even in this case, the control device can similarly achieve the various functions and effects described above in the first to sixth embodiments.
[0214] In the above description, "RAM 24" refers to one or more memory devices (hereinafter, simply referred to as "memory") that are an example of one or more storage devices, and may typically be a primary storage device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.
[0215] In the above description, the "storage device 21" may be one or more persistent storage devices, which are an example of one or more storage devices. The persistent storage device may typically be a non-volatile storage device (e.g., an auxiliary storage device), and more specifically, may be, for example, a hard disk drive (HDD), a solid state drive (SSD), a non-volatile memory express (NVME) drive, or a storage class memory (SCM).
[0216] In the above description, the "storage device 21" may include a memory.
[0217] In the above description, the "CPU 22" may be one or more processor devices (hereinafter, simply referred to as a "processor"). The at least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit) 22, but may also be another type of processor device such as a GPU (Graphics Processing Unit). The at least one processor device may be a single-core or multi-core. The at least one processor device may be a processor core. The at least one processor device may also be a broader processor device such as a circuit that is a collection of gate arrays written in a hardware description language that performs part or all of the processing (e.g., a Field-Programmable Gate Array (FPGA), a Complex Programmable Logic Device (CPLD), or an Application Specific Integrated Circuit (ASIC)).
[0218] In the above description, functions are sometimes described using the expression "xxx unit", but the functions may be realized by one or more computer programs being executed by a processor, or by one or more hardware circuits (e.g., FPGA or ASIC), or by a combination thereof. When a function is realized by a program being executed by a processor, the function may be at least a part of the processor, since the predetermined processing is performed using the storage device 21 and / or the interface device, etc., as appropriate. Processing described with a function as the subject may be processing performed by a processor or a control device 1 having the processor. A program may be installed from a program source. The program source may be, for example, a program distribution computer or a computer-readable recording medium (e.g., a non-transitory recording medium). The description of each function is an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions.
[0219] In addition, in the above explanation, the process is sometimes explained with a "program" as the subject, but the process explained with a program as the subject may be a process performed by a processor or a control device 1 having the processor. Furthermore, two or more programs may be realized as one program, and one program may be realized as two or more programs.
[0220] In the above description, the "control device 1" may be a system (e.g., an on-premise system) composed of one or more physical computers, or a system (e.g., a cloud computing system) realized on a group of physical computing resources (e.g., a cloud platform). The control device 1 "displaying" the display information may mean displaying the display information on a display device possessed by the computer, or the computer may transmit the display information to a display computer (in the latter case, the display information is displayed by the display computer). [Explanation of symbols]
[0221] 1 Control device 2. Control target calculation section 3. Desired output value calculation section 4. Objective function value calculation section 5 PID control gain value optimization section 6 Control target input / output calculation section 7. Constraint Value Calculation Section 8 Sequential calculation update permission section 9 Tuning gain value determination section 11 PID control gain value tuning section 12 PID Control 21 Control device memory device 22 Control device CPU 23 Control device ROM 24 Controller RAM 25 Data bus of the control device 26 Control device input circuit 27 Control Unit I / O Ports 28 Output circuit of control device 31 Heating furnace 32 Motor
Claims
1. In a device for automatically tuning PID gain values Kp, Ki, and Kd of PID control, A means for calculating a control target r is provided, A means for calculating a desired output yd of a controlled object with respect to a control target r is provided, A means for calculating an objective function value J1 which is a square value of an error e1 between an actual output y of the controlled object and the desired output yd; A means for optimizing each control gain value of PID control by sequential calculation so as to reduce the J1; a means for calculating an input u_est_j to the control object and / or an output y_est_j from the control object when the gain values Kp_j, Ki_j, Kd_j are used as gain values of the PID control, based on the gain values Kp_j, Ki_j, Kd_j which are j-th sequentially calculated values in the sequential calculation; a means for calculating constraint values f1(u_est_j), f2(u_est_j), ..., fn(u_est_j), g1(y_est_j), g2(y_est_j), ..., gm(y_est_j) based on the input u_est_j or the output y_est_j; means for updating the sequential calculation when the constraint values f1(u_est_j), f2(u_est_j), ..., fn(u_est_j), g1(y_est_j), g2(y_est_j), ..., gm(y_est_j) are all within a predetermined range; A control device comprising:
2. In claim 1, When at least one of the constraint values f1(u_est_j), f2(u_est_j), ..., fn(u_est_j), g1(y_est_j), g2(y_est_j), ..., gm(y_est_j) is not within a predetermined range, The sequential calculation is stopped, and the gain values Kp_j-1, Ki_j-1, and Kd_j-1 at the j-1th update time are adopted as tuning values. A control device comprising:
3. In claim 1, When at least one of the constraint values f1(u_est_j), f2(u_est_j), ..., fn(u_est_j), g1(y_est_j), g2(y_est_j), ..., gm(y_est_j) is not within a predetermined range, The sequential calculation is stopped, and the gain values Kp_m, Ki_m, and Kd_m at the update time when all of the constraint values are within a predetermined range and J1 is minimized are adopted as tuning values. A control device comprising:
4. In claim 1, a means for performing an optimization calculation using a plurality of sets of candidates for each control gain value in the sequential calculation, a means for calculating constraint values f1(u_est_j), f2(u_est_j), ..., fn(u_est_j), g1(y_est_j), g2(y_est_j), ..., gm(y_est_j) for each gain value in the plurality of sets based on the input u_j or the output y_j; Only those pairs of constraint values f1(u_est_j), f2(u_est_j), ..., fn(u_est_j), g1(y_est_j), g2(y_est_j), ..., gm(y_est_j) that satisfy the constraints are used to perform the update in the sequential calculation. A control device comprising:
5. In claim 1, When at least one of the constraint values f1(u_est_j), f2(u_est_j), ..., fn(u_est_j), g1(y_est_j), g2(y_est_j), ..., gm(y_est_j) is not within a predetermined range, Stopping the sequential calculation; updating parameter values of the means for calculating the desired output yd; Using the desired output yd calculation means having the parameter value, again, Using the sequential operation, so that J1 becomes small, The gain values Kp, Ki, and Kd are tuned. A control device comprising:
6. In claim 1, When at least one of the constraint values f1(u_est_j), f2(u_est_j), ..., fn(u_est_j), g1(y_est_j), g2(y_est_j), ..., gm(y_est_j) is not within a predetermined range, Stopping the sequential calculation; “Gain values Kp_j−1, Ki_j−1, Kd_j−1 for the j−1th update” or "Gain values Kp_m, Ki_m, Kd_m at the time of update when all of the constraint values are within a predetermined range and J1 is minimized" Using updating a parameter value of a means for calculating the desired output yd so that the J1 becomes smaller; Using the desired output yd calculation means having the parameter value, The gain values Kp, Ki, and Kd are tuned again using the iterative calculation so that J1 becomes small. A control device comprising:
7. In claim 1, The data-driven control FRIT is a means for sequentially calculating and optimizing each control gain value of the PID control so that the J1 is small. A control device comprising:
8. In claim 1, The means for calculating the input u_j and / or y_j to the control target when the gain values Kp_j, Ki_j, Kd_j are used as the gain values of the PID control based on the gain values Kp_j, Ki_j, Kd_j of the PID control is data driven prediction. A control device comprising:
9. In claim 1, The constraint value fk(u_est_j) is the maximum value of the input value to the control object. A control device comprising:
10. In claim 1, The constraint value gk(y_est_j) is the amount of overshoot or undershoot of the output value of the controlled object. A control device comprising:
11. In claim 1, The input u_est_j to the control object and / or the output y_est_j from the control object are visualized (displayed on a screen). A control device comprising:
12. In claim 1, The object controlled by the control device is temperature control of a heating furnace or position control using a motor. A control device comprising:
13. In claim 1, The means for optimizing each control gain value of the PID control by sequential calculation so that the J1 is small further optimizes parameters of the means for calculating the desired output yd by sequential calculation. A control device comprising:
Citation Information
Patent Citations
Parameter design method and feedback control method
JP2021015475A
Control device
JP2021042671A