Controller, control method, and program
Patent Information
- Application Number
- JP2023131849
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-14
- Publication Date
- 2025-02-27
- Estimated Expiration
- 2043-08-14
AI Technical Summary
【0007】 実行可能な操作量が得られる多変数制御が実現される。
Smart Images

Figure 2025027226000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a control device, a control method, and a program. [Background technology]
[0002] There have been known control methods that determine optimal manipulated variables for a plant having multiple control loops and optimize the controlled variables of the plant. In these control methods, different optimization methods are used depending on whether the mathematical model of the plant is known or not. Known search methods include the hill-climbing method and the simplex method (see, for example, Non-Patent Document 1). [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] Tetsuro Ajima, Hideaki Nakai, "Theory of Optimization Methods", Journal of the Japanese Society for Food Engineering, Vol. 33, No. 5, May 1986 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the optimization method using a mathematical model of a plant, there is a problem that the manipulated variable obtained as a result of the optimization calculation is not necessarily feasible. For example, there may be cases where the manipulated variable needs to be changed suddenly, the manipulated variable becomes unreasonable because of trying to strictly observe multiple constraints, or there is no solution because the initial solution is far from the constraints.
[0005] The present disclosure has been made in consideration of the above-mentioned points, and has an object to realize multivariable control that can obtain feasible manipulated variables. [Means for solving the problem]
[0006] A control device according to one aspect of the present disclosure is a control device for controlling an object having a multivariable input / output relationship, and includes a local linear model holding unit that holds a local linear model that locally linearizes the input / output relationship, a control variable type for each of a plurality of control variables of the object, a control variable constraint for each of a plurality of control variables for the object, and a control variable calculation unit that calculates from the local linear model, based on the local linear model, the plurality of control variables at a current time and the plurality of control variables at the current time, the control variables being a plurality of control variables for a next time for changing each of the plurality of control variables so as to achieve a purpose corresponding to the control variable type, and which satisfies the control variable constraints. Effect of the Invention
[0007] Multivariable control is realized that provides feasible manipulated variables. [Brief description of the drawings]
[0008] [Figure 1] FIG. 2 is a diagram illustrating an example of a hardware configuration of a control device according to the first embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of a functional configuration of a control device according to the first embodiment. [Diagram 3] 13 is a flowchart illustrating an example of an operation amount calculation process. [Figure 4] FIG. 11 is a diagram illustrating an example of a functional configuration of a control device according to a second embodiment. [Diagram 5] 13 is a flowchart illustrating an example of a local linear model generation process. [Figure 6] FIG. 13 is a diagram illustrating an example of a functional configuration of a control device according to a third embodiment. [Figure 7] FIG. 11 is a diagram showing a control result (part 1) of the first embodiment. [Figure 8] FIG. 11 is a diagram showing the control result (part 2) of the first embodiment. [Figure 9] FIG. 11 is a diagram illustrating a control target according to a second embodiment. [Figure 10] FIG. 11 is a diagram showing the control results of the second embodiment. [Figure 11]FIG. 13 is a diagram illustrating a control target according to a third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, first to third embodiments of the present invention will be described. In each of the following embodiments, a control device 10 capable of obtaining an operation amount executable by a control object such as a plant, assuming that the control object is controlled by multivariable control, will be described. Note that, for example, a PC (personal computer) or an edge device (for example, a PLC (Programmable Logic Controller) or a DCS (Distributed Control System)) can be used as the control device 10.
[0010] However, a plant is only one example of a control target, and any device, equipment, facility, etc. may be used as a control target.
[0011] [First embodiment] The first embodiment will be described below.
[0012] <Hardware Configuration Example of the Control Device 10 According to the First Embodiment> First, an example of a hardware configuration of the control device 10 according to the first embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of a hardware configuration of the control device 10 according to the first embodiment.
[0013] 1, the control device 10 according to the first embodiment includes an input device 101, a display device 102, an external I / F 103, a communication I / F 104, a processor 105, and a memory device 106. Each of these pieces of hardware is communicatively connected via a bus 107.
[0014] The input device 101 is, for example, a touch panel, various buttons, etc. The display device 102 is, for example, a display panel, etc. Note that the control device 10 does not necessarily have to have at least one of the input device 101 and the display device 102.
[0015] The external I / F 103 is an interface with an external device such as a recording medium 103a. Examples of the recording medium 103a include a Secure Digital memory card (SD memory card) and a Universal Serial Bus (USB) memory card.
[0016] The communication I / F 104 is an interface for connecting the control device 10 to a communication network. The processor 105 is various arithmetic devices such as a CPU (Central Processing Unit) and an MPU (Micro Processing Unit). The memory device 106 is various storage devices such as a Solid State Drive (SSD), a RAM (Random Access Memory), a ROM (Read Only Memory), and a flash memory.
[0017] 1 is an example, and the control device 10 according to the first embodiment may have other hardware configurations. For example, the control device 10 may not have some of the hardware shown in the figure, or may have various hardware other than the hardware shown in the figure.
[0018] <Functional configuration example of the control device 10 according to the first embodiment> Next, an example of a functional configuration of the control device 10 according to the first embodiment will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of a functional configuration of the control device 10 according to the first embodiment.
[0019] 2, the control device 10 according to the first embodiment includes a measurement unit 110, a main control unit 120, and a timer 130. These are realized by, for example, processing in which one or more programs installed in the control device 10 are executed by a processor 105 or the like.
[0020] The measurement unit 110 measures the control period T cThe measurement unit 110 measures (observes) the control amount y of the controlled object 20 every control period T c The control unit 120 obtains (observes) the manipulated variable u output from the main control unit 120 every control period T and outputs the manipulated variable u as the manipulated variable current value u(k). Here, k represents a discrete time index (hereinafter, also referred to as a discrete time index). c Hereinafter, the manipulated variable u is represented by M manipulated variables u1, . . . , u M Let u = (u1, ,u M ) Similarly, the control variable y is expressed as N control variables y1, . . . , y N Let y = (y1, ,y N )
[0021] The controlled variable y of the controlled object 20 is determined according to the manipulated variable u and the disturbance w. An example of the manipulated variable u is the opening and closing amount of a valve that controls the flow rate of the heat medium when the controlled variable y is temperature. An example of the disturbance w is a drop or rise in the outside air temperature when the controlled variable y is temperature.
[0022] Hereinafter, the current controlled variable y(k) will be simply referred to as the "controlled variable y(k)." Similarly, the current manipulated variable u(k) will be simply referred to as the "manipulated variable u(k)."
[0023] The main control unit 120 receives the current controlled variable value y(k), the current manipulated variable value u(k), the controlled variable type information, and the manipulated variable constraint as input, and outputs the manipulated variable u=u(k+1) of the next discrete time index k+1 to the measurement unit 110 and the controlled object 20. As a result, the controlled object 20 is controlled by the manipulated variable u(k+1) at the discrete time index k+1.
[0024] Here, the control amount type information is each control amount y i(i∈{1, ,N}) (hereinafter, also referred to as the control amount type) and a certain type of control amount y i (i∈{1, ,N}) and a designated value for (i∈{1, ,N}). Hereinafter, six types of controlled variables are assumed: "upper limit", which indicates that the controlled variable has an upper limit, "lower limit", which indicates that the controlled variable has a lower limit, "maximization", which indicates that the controlled variable aims to maximize, "minimization", which indicates that the controlled variable aims to minimize, "target value", which indicates that the controlled variable aims to reach a target value, and "don't care", which indicates that the controlled variable does not affect the control of the controlled object 20. When the type of controlled variable is "upper limit", "lower limit", or "target value", the designated value is set to an upper limit, lower limit, or target value, respectively. For example, when the controlled variable y i The control amount type of L i , the specified value is V i Then, the control amount type information is {(L i ,V i )|i=1, ,N}, where L i = "maximize", "minimize", "don't care" i is not set (or V i is set to a null value (NULL).
[0025] In addition, the operation amount constraint is the amount of each operation amount u j (j∈{1, ,M}). In the following, we use the constraints for each operation variable u j Operation volume upper limit UU j and the lower limit of the operation volume LU j The operation volume constraint is given as follows: j ,LU j )|j=1,···,M}.
[0026] The timer 130 is a control period T c Given this control period T c This operates as an operation trigger for the measurement unit 110 and the main control unit 120 every control period T c It is executed every control period T cThe controlled object 20 is controlled every time.
[0027] Here, the main control unit 120 includes a local linear model holding unit 121 , an offset correction unit 122 , and an operation amount calculation unit 123 .
[0028] The local linear model holding unit 121 holds the local linear model P(y(u);θ) in a storage area such as the memory device 106. The local linear model P(y(u);θ) is a model obtained by locally linearizing a model representing the input / output relationship of the control target 20 (i.e., a model representing the relationship between the operation amount u, which is an input to the control target 20, and the control amount y, which is its output). The local linear model P(y(u);θ) has a parameter θ and is represented by a linear function, mapping, or the like, with the operation amount u as an input and the control amount y as an output. Details of the local linear model P(y(u);θ) will be described later.
[0029] The offset correction unit 122 uses the current controlled variable value y(k), the current manipulated variable value u(k), and the local linear model P(y(u);θ) to output an offset-corrected local linear model P(y(u);θ') obtained by correcting the offset term of the local linear model P(y(u);θ). Details of the offset-corrected local linear model P(y(u);θ') will be described later.
[0030] The manipulated variable calculation unit 123 calculates each controlled variable y(u);θ′ by using the offset correction local linear model P(y(u);θ′), the controlled variable type information, the manipulated variable constraints, and the manipulated variable current value u(k) while satisfying the manipulated variable constraints. i However, the control amount type L i and the specified value V i If set, the specified value V i The operation amount u=u(k+1) that changes according to the above is calculated. Details of the operation amount calculation process for calculating the operation amount u=u(k+1) will be described later.
[0031] In addition, the control device 10 according to the first embodiment has a control period T cThe control unit 102 may have a display control unit that displays the operation amount u, the control amount y, etc. measured by the measurement unit 110 for each operation on the display device 102 or a display of a terminal connected via a communication network.
[0032] <Locally linear model P(y(u);θ)> The local linear model storage unit 121 stores the local linear model P(y(u);θ) shown below.
[0033]
number
[0034] <Offset-corrected local linear model P(y(u);θ')> The offset correction unit 122 calculates the current controlled variable y(k)=(y1(k), . . . , y N (k)) and the current manipulated variable u(k) = (u1(k), ,u M (k)) and the linear coefficients a of the local linear model P(y(u);θ) ij Using and, the correction offset term c i Calculate (k).
[0035]
number
[0036]
number
[0037] <Objective function and its partial derivative> To calculate the operation amount u = u(k+1) at the next discrete time index k+1 of the current discrete time index k, i The control amount type L i Depending on the objective function J i and the objective function J with respect to the control input u i The partial derivative of (∂J i / ∂u1, ,∂J i / ∂u M ) are set. In the following, three types of objective functions J a , J b , J c Using the above, the control variable y i The objective function J i The control amount type L i Set as follows according to:
[0038] Control amount type L i If = "upper limit" In this case, J i (y i )=J a (y i -V i ) and the objective function J i Set V i is the control amount y i The specified value of (i.e., the control amount y i (the upper limit of
[0039] Control amount type L i If = "Lower limit" In this case, J i (y i )=J a (V i -y i ) and the objective function J i Set V i is the control amount y i The specified value of (i.e., the control amount y i (the lower limit of
[0040] Control amount type L i ="maximize" In this case, J i (y i )=J c (-y i ) and the objective function J i Set.
[0041] Control amount type L i ="minimize" In this case, J i (y i )=J c (y i ) and the objective function J i Set.
[0042] Control amount type L i If = "target value" In this case, J i (y i )=J b (y i -V i ) and the objective function J i Set V i is the control amount y i The specified value of (i.e., the control amount y i (target value).
[0043] Control amount type L i = "Indifferent" In this case, J i (y i )=0 and the objective function J i Set.
[0044] Here, J a (x), J b (x) and J c (x) is a function defined as follows:
[0045]
number
[0046]
number
[0047] The correspondence between the controlled variable type and the objective function and its partial derivative is held in a table or the like stored in a storage area such as the memory device 106. Specifically, a table consisting of the following six records having columns of the controlled variable type, the objective function of the controlled variable type, and the partial derivative of the objective function with respect to the manipulated variable u is stored in a storage area such as the memory device 106.
[0048] ("upper limit",J a (yV),((∂J a / ∂u1)(yV),···,(∂J a / ∂u M )(yV))) (“lower limit”,J a (Vy),((∂J a / ∂u1)(Vy),···,(∂J a / ∂u M )(Vy))) (“Maximize”,J c (-y),((∂J c / ∂u1)(-y),···,(∂J c / ∂u M )(-y))) ("minimize",J c (y),((∂J c / ∂u1)(y),···,(∂J c / ∂u M )(y))) ("Target value", J b (yV),((∂J b / ∂u1)(yV),···,(∂J b / ∂u M )(yV))) ("Indifferent", 0, (0, , 0)) Here, y is the controlled variable, and V is the designated value of the controlled variable y.
[0049] By referring to the above table, the operation amount calculation unit 123 calculates the control amount y i Control amount type L i Depending on the control amount y i For the objective function J i and the objective function J with respect to the control input u i The partial derivative of (∂J i / ∂u1, ,∂J i / ∂u M ) can be set.
[0050] <Operation volume calculation process> An example of a manipulated variable calculation process for calculating a manipulated variable u=u(k+1) at the next discrete time index k+1 of the current discrete time index k will be described with reference to Fig. 3. Fig. 3 is a flowchart showing an example of the manipulated variable calculation process.
[0051] Step S101: The operation amount calculation unit 123 calculates the control amount type L i The controlled variable y is either the "target value", "maximization", or "minimization". i For each control amount y i The target correction vector Δu i O The operation amount calculation unit 123 calculates the control amount y i The target correction vector Δu i O Calculate (k).
[0052]
number
[0053]
number
[0054] In addition, y i =y i (u), the objective function J i (y i Note that the partial derivatives of ) can be easily calculated using the chain rule.
[0055] Step S102: The operation amount calculation unit 123 calculates the target correction vector Δu i O Weighted average vector Δu of (k) O Calculate (k).
[0056]
number
[0057]
number
[0058]
number
[0059] The above weight w i O (k) has the effect of placing more importance on the control amount that is aimed at a target value and deviates from the target value.
[0060] Step S103: The operation amount calculation unit 123 calculates the temporary operation amount u O (k) and the temporary control amount p(k).
[0061] u O (k) = u(k) + Δu O (k) p(k)=y(k)+A Δu O (k) Here, A is a ij is an N × M matrix with (i,j) elements. Note that u(k) is the current value of the manipulated variable, and y(k) is the current value of the controlled variable. O (k)=(u O 1(k),···,u O M (k)), p(k)=(p1(k),···,p N (k)), and hereafter, O j (k)(j∈{1, ,M}) is also called the temporary operation amount, and p i We also refer to (k)(i∈{1, ,N}) as the temporary control quantity.
[0062] Step S104: The operation amount calculation unit 123 calculates the control amount type L i The control amount y is either the "upper limit" or the "lower limit".i The temporary control amount p i For each, the temporary control amount p i Constraint correction vector Δu i S The operation amount calculation unit 123 calculates the temporary control amount p i Constraint correction vector Δu i S Calculate (k).
[0063]
number
[0064]
number
[0065] Step S105: The operation amount calculation unit 123 calculates the constraint correction vector Δu i S Weighted average vector Δu of (k) S Calculate (k).
[0066]
number
[0067]
number
[0068]
number
[0069] The above weight w i S (k) has the effect of placing more importance on the deviation from the upper and lower limits of a controlled variable whose upper and lower limits are restricted.
[0070] Step S106: The operation amount calculation unit 123 calculates the weighted average vector Δu O (k) and the weighted average vector Δu S (k) and v(k) = u(k) + Δu O (k) + Δu S Calculate the temporary operation amount v(k) by v(k) = (v1(k), ,v M (k)), and below, v j We also refer to (k)(j∈{1, ,M}) as the temporary manipulated variable.
[0071] Step S107: The operation amount calculation unit 123 corrects the temporary operation amount v(k) with the operation amount constraint. That is, the operation amount calculation unit 123 corrects each temporary operation amount v j (k) Fix (j∈{1, ,M}).
[0072]
number
[0073] Step S108: The operation amount calculation unit 123 updates the operation amount u(k+1) with the corrected temporary operation amount v'(k). That is, the operation amount calculation unit 123 sets u(k+1)←v'(k). As a result, the operation amount u(k+1) of the discrete time index k+1 is obtained as the optimal operation amount.
[0074] As described above, the control device 10 according to the first embodiment calculates optimal manipulated variables by appropriately correcting the manipulated variables using the objective function and constraint conditions according to the type of each controlled variable, based on the actual controlled variables and manipulated variables. Therefore, even if the input / output relationship of the controlled object 20, which has multiple variables as input and output, is nonlinear, the properties of the controlled object 20 change from moment to moment, and the controlled variables have multiple objectives such as maximization, minimization, target value tracking, upper and lower constraints, etc., it is possible to realize realistic multivariable control without falling into a no-solution state and without unreasonable manipulated variables.
[0075] Although the offset correction unit 122 has been described for the control device 10 according to the first embodiment, the offset correction unit 122 is not an essential component, and the offset correction unit 122 may be omitted. In this case, the operation amount calculation unit 123 may calculate the operation amount u=u(k+1) at the next discrete time index k+1 using the local linear model P(y(u);θ). This also applies to the second and third embodiments described later.
[0076] [Second embodiment] The second embodiment will be described below. In the second embodiment, a case will be described in which a parameter θ of a local linear model P(y(u);θ) is estimated from a control amount y and a manipulation amount u measured by a measurement unit 110.
[0077] In the second embodiment, differences from the first embodiment will be mainly described, and descriptions of components that may be similar to those in the first embodiment will be omitted.
[0078] <Functional configuration example of the control device 10 according to the second embodiment> An example of a functional configuration of the control device 10 according to the second embodiment will be described with reference to Fig. 4. Fig. 4 is a diagram showing an example of a functional configuration of the control device 10 according to the second embodiment.
[0079] 4, the control device 10 according to the second embodiment differs from the first embodiment in that a local linear model generation unit 124 is further included in the main control unit 120. The local linear model generation unit 124 estimates a parameter θ of a local linear model P(y(u);θ) using a current controlled variable value y(k) and a current manipulated variable value u(k).
[0080] <Local linear model generation process> An example of a local linear model generation process for estimating a parameter θ of a local linear model P(y(u);θ) will be described with reference to FIG. 5. FIG. 5 is a flowchart showing an example of a local linear model generation process. Hereinafter, the parameter θ of the local linear model P(y(u);θ) is expressed as θ=(θ1, . . . , θ N ) and each θ i Let (i∈{1, ,N}) be represented as an M-dimensional vector. Let the estimated value of the parameter θ at the discrete time index k be θ(k)=(θ1(k), ,θ N (k)).
[0081] Step S201: The local linear model generating unit 124 uses the current manipulated variable u(k) to generate a state vector ξ(k) as follows:
[0082]
number
[0083] Step S202: The local linear model generation unit 124 determines whether or not to initialize the parameter θ and the covariance matrix Q. Note that, examples of cases in which it is determined that the parameter θ and the covariance matrix Q are to be initialized include a case in which the parameter θ of the local linear model P(y(u);θ) is estimated for the first time, and a case in which an initialization instruction is given by a user or the like.
[0084] If it is determined in the above step S202 that the parameter θ and the covariance matrix Q are to be initialized, the local linear model generation unit 124 proceeds to step S203. On the other hand, if it is determined in the above step S202 that the parameter θ and the covariance matrix Q are not to be initialized, the local linear model generation unit 124 proceeds to step S204 without executing step S203.
[0085] Step S203: The local linear model generation unit 124 initializes the parameter θ and the covariance matrix Q. For example, the local linear model generation unit 124 initializes θ for i=1, . . . , N. i Initialize (k-1)=θ0 and initialize Q(k-1)=I, where θ0 is a predetermined initial value and I is a unit matrix.
[0086] Step S204: The local linear model generation unit 124 calculates each element θ of the parameter θ. i Set 1 for index i of
[0087] Step S205: The local linear model generation unit 124 calculates the current control amount y i Prediction error ε for (k) i The local linear model generation unit 124 calculates the current controlled variable y i (k) and the parameter estimate θ i The difference between the predicted value using (k-1) and the state vector ξ(k) is the prediction error ε i That is, the local linear model generating unit 124 calculates ε i (k)=y i (k)-ξ(k) τ θ i (k-1) gives the prediction error ε iCalculate (k).
[0088] Step S206: The local linear model generation unit 124 calculates the parameter estimate θ i Update (k).
[0089]
number
[0090] Step S207: The local linear model generation unit 124 calculates each element θ of the parameter θ. i Add 1 to index i of .
[0091] Step S208: The local linear model generation unit 124 calculates each element θ of the parameter θ. i Determine whether index i of exceeds N.
[0092] In step S208 above, each element θ of the parameter θ i If it is determined that the index i of the parameter θ exceeds N, the local linear model generation unit 124 proceeds to step S209. i If it is not determined that the index i exceeds N (that is, i is equal to or smaller than N), the local linear model generation unit 124 returns to step S205. As a result, steps S205 to S207 are repeatedly executed for each i∈{1, , N}.
[0093] Step S209: The local linear model generation unit 124 updates the covariance matrix Q(k) as follows:
[0094]
number
[0095] By executing the above local linear model generation process at each discrete time index k, a local linear model P(y(u);θ) having a parameter estimate θ=θ(k) estimated in the local linear model generation process is obtained. In other words, by executing the above local linear model generation process at each discrete time index k, the local linear model P(y(u);θ) is trained online.
[0096] [Third embodiment] The third embodiment will be described below. In the third embodiment, a virtual control amount (hereinafter, also referred to as a virtual control amount) is generated from the control amount y and the operation amount u measured by the measurement unit 110, and this virtual control amount is input to the main control unit 120.
[0097] In the third embodiment, differences from the second embodiment will be mainly described, and descriptions of components that may be similar to those in the second embodiment will be omitted.
[0098] <Functional configuration example of the control device 10 according to the third embodiment> An example of a functional configuration of the control device 10 according to the third embodiment will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of a functional configuration of the control device 10 according to the third embodiment.
[0099] 6, the control device 10 according to the third embodiment differs from the second embodiment in that it further includes a virtual control amount generator 140. The virtual control amount generator 140 is realized, for example, by a process in which one or more programs installed in the control device 10 are executed by the processor 105 or the like.
[0100] The virtual control amount generating unit 140 generates a virtual control amount y'(k) using the current control amount value y(k) and the current manipulated variable value u(k). The virtual control amount generating unit 140 generates a virtual control amount y'(k) using a preset arbitrary function f j Using y j '(k)=f j The virtual control amount y'(k) = (y1'(k), . . . , y N'A specific example of the virtual control amount y'(k) will be described later.
[0101] The virtual control amount y'(k) generated by the virtual control amount generating unit 140 is input to the main control unit 120. That is, the virtual control amount y'(k) is input to the main control unit 120 according to the third embodiment instead of the control amount current value y(k). Therefore, the main control unit 120 according to the third embodiment receives the virtual control amount y'(k), the manipulated variable current value u(k), the control amount type information, and the manipulated variable constraint as input, and outputs the manipulated variable u=u(k+1) of the next discrete time index k+1 to the measurement unit 110 and the controlled object 20. Note that the processes and the like executed by the main control unit 120 and each unit included therein (the local linear model holding unit 121, the offset correction unit 122, the manipulated variable calculation unit 123, and the local linear model generating unit 124) may be the same as those of the second embodiment, except that the virtual control amount y'(k) is used instead of the control amount current value y(k). The method of calculating the local linear model P(y'(u); θ) using the virtual control amount y'(k) will be described later.
[0102] <Specific example of virtual control amount y'(k)> For example, assume that N = 2, M = 2, and N' = 4. In this case, a specific example of the virtual control amount y'(k) = (y1'(k), y2'(k), y3'(k), y4'(k)) is shown below.
[0103]
number
[0104] By generating a virtual control amount, it becomes possible to treat a quantity that is more suitable for the control purpose as a control amount. For example, by expressing the air ratio in a combustion device as a virtual control amount using the ratio of the air flow rate and the fuel flow rate, which are actual control amounts, it becomes possible to treat the air ratio as a control amount.
[0105] <Calculation method of the local linear model P(y'(u);θ)> When the virtual control amount y′(k) is used, it is necessary to calculate the local linear model P(y′(u);θ). This calculation is performed by the local linear model generator 124.
[0106] First, the local linear model generating unit 124 calculates the virtual control amount y i Perform a first-order Taylor expansion for '(i∈{1, ,N'}) and calculate:
[0107]
number
[0108]
number
[0109] As an example, when the virtual control amount y'(k) is as shown in the above formula 20, the local linear model P(y'(u);θ) is as follows:
[0110]
number
[0111] [Example 1] Example 1 will be described below as an example of the control device 10 according to the first embodiment. In Example 1, the effectiveness of the control device 10 according to the first embodiment will be shown using a specific numerical example.
[0112] In the first embodiment, the control amount is y=(y1, y2, y3), and the operation amount is u=(u1, u2). i (i=1,2,3) is assumed to be expressed as a linear model for the manipulated variable u. That is, each controlled variable y i The local linear model representing (i=1,2,3) is expressed as follows.
[0113]
number
[0114] Therefore, the objective function of the controlled variable y1 is J1(y1)=J a(y1-5+mgn), the objective function of the controlled variable y2 is J2(y2)=J a (y2-6+mgn), the objective function of the controlled variable y3 is J3(y3)=J c (-y3).
[0115] The manipulated variable constraints are u1 ≥ 0, u2 ≥ 0, that is, UU1 = NULL, LU1 = 0, UU2 = NULL, LU2 = 0. In this case, however, NULL means unlimited. Note that the symbol INF may be used instead of NULL, with the symbol INF meaning infinity. Furthermore, the objective correction vector Δu i O The adjustment coefficient b when calculating (k) is assumed to be b=0.2.
[0116] At this time, the initial operation amount P s The control results when (u1, u2)=(2, 3) are shown in Figs. 7(a) to (c). As shown in Fig. 7(c), the initial manipulated variable P s When (u1, u2) = (2, 3), the controlled variable y1 = 7 and the controlled variable y2 = 11, so neither of them satisfies the upper limit constraint. On the other hand, as shown in Figs. 7(a) to (c), the initial controlled variable P s After moving from the control amount to the control amount that satisfies the control amount constraint, the control amount y3 that is aimed for maximization gradually increases, and converges when the control amounts y1 and y2 reach the upper limit constraint. Also, at this time, the final control amount P e :(u1,u2) both satisfy the manipulated variable constraints.
[0117] Therefore, it can be said that the control device 10 according to the first embodiment controls the manipulated variable whose upper limit is constrained and the manipulated variable that aims to be maximized so as to achieve the purpose of the controlled variable type while satisfying the manipulated variable constraints.
[0118] In addition, the initial operation amount P s The control results when (u1, u2)=(4, 1) are shown in Figs. 8(a) to (c). As shown in Fig. 8(c), the initial manipulated variable P sWhen (u1, u2) = (4, 1), the controlled variable y1 = 9 and the controlled variable y2 = 7, so neither of them satisfies the upper limit constraint. On the other hand, as shown in Figs. 8(a) to (c), the initial controlled variable P s After moving from the control amount to the control amount that satisfies the control amount constraint, the control amount y3 that is aimed for maximization gradually increases, and converges when the control amounts y1 and y2 reach the upper limit constraint. Also, at this time, the final control amount P e :(u1,u2) both satisfy the manipulated variable constraints.
[0119] Therefore, it can be said that the control device 10 according to the first embodiment controls the control quantity with upper limit constraints and the control quantity aimed at maximization for a multi-input / multi-output control object so as to achieve the purpose of each control quantity type while satisfying the operation quantity constraints.
[0120] [Example 2] Example 2 will be described below as an example of the control device 10 according to the first embodiment. In Example 2, a case will be described in which the controlled object 20 is a refrigeration cycle and the control device 10 according to the first embodiment is a refrigeration cycle control device. The refrigeration cycle is widely used in cooling, refrigeration, freezing, etc., and is composed of an evaporator, a compressor, a condenser, and an electronic expansion valve, as shown in FIG. 9.
[0121] As shown in FIG. 9, in the second embodiment, the controlled variable is y=(y1, y2, y3), the manipulated variable is u=(u1, u2), where y1 is the evaporator temperature [°C], y2 is the condenser temperature [°C], y3 is the energy consumption [W], u1 is the valve opening degree [pulse] of the electronic expansion valve, and u2 is the compressor rotation speed [rpm].
[0122] Each controlled variable y i The local linear model representing (i=1,2,3) is expressed as follows.
[0123]
number
[0124] At this time, the initial operation amount P s 10(a)-(c) show the control results when (u1, u2)=(500, 2000). As shown in FIG. 10(c), from time 0 to time 50, the controlled variables y1 and y2 gradually approach the target values r1 and r2, respectively, while the value of the controlled variable y3 decreases. After that, from time 50 to time 100, the target values r1 and r2 change, and the controlled variables y1 and y2 follow them accordingly. At this time, the controlled variables y1 and y2 do not reach the target values r1 and r2, but this is because the manipulated variable u1 is at the manipulated variable lower limit 300 and cannot be lowered any further. After that, from time 100 to time 200, the target values r1 and r2 change again, and the controlled variables y1 and y2 follow them accordingly, and the value of the controlled variable y3 also decreases. In addition, at this time, the final manipulated variable P e :(u1,u2) both satisfy the manipulated variable constraints.
[0125] Therefore, it can be said that the control device 10 according to the first embodiment controls the control amount aiming at the target value and the manipulated variable aiming to be minimized so as to achieve the purpose of each controlled variable type while satisfying the manipulated variable constraints.
[0126] [Example 3] Hereinafter, Example 3 will be described as an example of the control device 10 according to the third embodiment. In Example 3, a case will be described in which the controlled object 20 is a boiler (combustion device) and the control device 10 according to the third embodiment is a combustion control device for the boiler.
[0127] As shown in Figure 11, the boiler combustion control system controls the amount of fuel and air fed into the combustion chamber, and uses the heat gained from the combustion to evaporate water and supply it as steam. It also controls the temperature of the exhaust gas produced by the combustion. The amount of air required to completely combust fuel is called the theoretical air volume, and the air ratio, which is the ratio of the amount of fed air to the theoretical air volume, must be restricted to an appropriate range to prevent problems such as incomplete combustion, misfires, and energy loss.
[0128] As shown in FIG. 11, in the third embodiment, the controlled variable is y = (y1, y2, y3, y4, y5), and the manipulated variable is u = (u1, u2), where y1 is the fuel flow rate [kg / h], y2 is the air flow rate [m3N / h], y3 is the exhaust temperature [°C], y4 and y5 are the air ratio, u1 is the fuel valve opening, and u2 is the air valve opening.
[0129] Also, the control amount type L1 of the control amount y1 is "indifferent", the control amount type L2 of the control amount y2 is "indifferent", the control amount type L3 of the control amount y3 is "target value" and its designated value V3 is r3, the control amount type L4 of the control amount y4 is "upper limit" and its designated value V4 is 1.2, the control amount type L5 of the control amount y5 is "lower limit" and its designated value V5 is 1.05. Note that the control amounts y4 and y5 have the same value, but are treated as separate control amounts in order to specify two control amount types at the upper and lower limits.
[0130] Therefore, the objective function of the controlled variable y1 is J1(y1)=0, the objective function of the controlled variable y1 is J2(y2)=0, and the objective function of the controlled variable y3 is J3(y3)=J b (y3-r3), the objective function of the controlled variable y4 is J4(y4)=J a (y4-1.2), the objective function of the controlled variable y5 is J5(y5)=J a(1.05-y5). In addition, the manipulated variable constraints are UU1 ≥ u1 ≥ LU1 and UU2 ≥ u2 ≥ LU2 for certain UU1, LU1, UU2, and LU2.
[0131] The virtual control amounts y4 and y5 are generated as follows.
[0132]
number
[0133] In the local linear model generating unit 124, local linear models for the actual controlled variables y1, y2, and y3 and the virtual controlled variables y4 and y5 are generated.
[0134] For the actual controlled variables y1, y2, and y3, the local linear model is as follows:
[0135]
number
[0136] The virtual control amounts y4 and y5 are generated as a ratio of the actual control amounts by the virtual control amount generator 140, and are therefore nonlinear with respect to the manipulated variable u. Therefore, the local linear model generator 124 generates the following local linear model by performing a first-order Taylor expansion near the current manipulated variable u(k).
[0137]
number
[0138] The present invention is not limited to the above-described embodiments specifically disclosed, and various modifications, changes, and combinations with known technologies are possible without departing from the scope of the claims. [Explanation of symbols]
[0139] 10 Control device 20 Control Object 101 Input Device 102 Display device 103 External I / F 103a Recording media 104 Communication I / F 105 processors 106 Memory Device 107 Bus 110 Measurement section 120 Main control unit 121 Local Linear Model Holder 122 Offset correction section 123 Operation amount calculation section 124 Local Linear Model Generation Unit 130 Timer 140 Virtual control amount generator
Claims
1. A control device for controlling an object having a multivariable input / output relationship, a local linear model storage unit that stores a local linear model obtained by locally linearizing the input / output relationship; a manipulation amount calculation unit that calculates, based on a control amount type of each of a plurality of control amounts of the object, a manipulation amount constraint of each of a plurality of manipulation amounts for the object, the local linear model, the plurality of control amounts at a current time, and the plurality of manipulation amounts at a current time, the plurality of manipulation amounts being for a next time to change each of the plurality of control amounts so as to achieve a purpose corresponding to the control amount type, and which satisfies the manipulation amount constraint; A control device having the above configuration.
2. The control amount type is A first control amount type representing a control amount whose upper limit is restricted; A second control amount type representing a control amount whose lower limit is constrained; A third control amount type representing a control amount to be maximized; A fourth control variable type representing a control variable to be minimized; A fifth control amount type representing a control amount aiming at a target value; A sixth control amount type indicating a control amount that does not affect the control of the target; Either The operation amount calculation unit 2. The control device according to claim 1, further comprising: a control unit that calculates a plurality of operation amounts for the next time based on an upper limit value for the control amount of the first control amount type, a lower limit value for the control amount of the second control amount type, and a target value for the control amount of the fifth control amount type.
3. The operation amount calculation unit calculating, from the local linear model, a target correction vector for maximizing, minimizing, or bringing the control amount closer to a target value for each control amount of the third control amount type, the fourth control amount type, or the fifth control amount type among the plurality of control amounts, and then calculating a first weighted average vector obtained by taking a weighted average of the target correction vectors; calculating a temporary manipulated variable by adding the first weighted average vector to a vector representing the plurality of controlled variables at a current time and a temporary controlled variable corresponding to the temporary manipulated variable; calculating, from the local linear model, a constraint modification vector for bringing the temporary control amount closer to an upper limit value or a lower limit value for each control amount of the first control amount type or the second control amount type among the plurality of control amounts, and then calculating a second weighted average vector by taking a weighted average of the constraint modification vectors; 3. The control device according to claim 2, wherein the control device calculates the plurality of operation amounts at a next time from the first weighted average vector, the second weighted average vector, and the plurality of operation amounts at a current time, and then updates the plurality of operation amounts at the next time so as to satisfy the operation amount constraint.
4. a local linear model generation unit that generates the local linear model by online learning based on the plurality of control amounts at a current time and the plurality of operation amounts at a current time, The local linear model storage unit The control device according to claim 1 , further comprising: a control section configured to hold the local linear model generated by the local linear model generating section.
5. 4. The control device according to claim 1, further comprising a virtual control amount generating unit that generates the virtual control amount by using the multiple control amounts at a current time, the multiple operation amounts at a current time, and a predetermined function that takes the multiple control amounts and the multiple operation amounts as inputs and outputs a virtual control amount.
6. The object is a refrigeration cycle or a combustion device, 6. The control device according to claim 5, wherein when the target is a combustion device, an air ratio, which is a ratio of an air flow rate to the combustion device to a theoretical air ratio for a fuel flow rate to the combustion device, is set as the virtual controlled variable.
7. A control method for controlling an object having a multivariable input / output relationship, comprising the steps of: a local linear model holding step for holding a local linear model obtained by locally linearizing the input / output relationship; a manipulated variable calculation step of calculating, based on a control variable type of each of a plurality of control variables of the object, a manipulated variable constraint of each of a plurality of manipulated variables for the object, the local linear model, the plurality of control variables at a current time, and the plurality of manipulated variables at a next time for changing each of the plurality of control variables so as to achieve a purpose corresponding to the control variable type, and the plurality of manipulated variables satisfying the manipulated variable constraint; The control method is performed by a computer.
8. A program for controlling an object having a multivariate input / output relationship, a local linear model holding step for holding a local linear model obtained by locally linearizing the input / output relationship; a manipulated variable calculation step of calculating, based on a control variable type of each of a plurality of control variables of the object, a manipulated variable constraint of each of a plurality of manipulated variables for the object, the local linear model, the plurality of control variables at a current time, and the plurality of manipulated variables at a next time for changing each of the plurality of control variables so as to achieve a purpose corresponding to the control variable type, and the plurality of manipulated variables satisfying the manipulated variable constraint; A program that causes a computer to execute the following.