Control device, control method, and program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2024-04-05
- Publication Date
- 2026-08-07
AI Technical Summary
【0008】 本開示によれば、安定的な操作量の決定に寄与する。
Smart Images

Figure 0007902383000001 
Figure 0007902383000002 
Figure 0007902383000003
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a control device, a control method, and a program. [Background technology]
[0002] There is a control device that determines the manipulated variable for controlling the controlled object. Conventionally, such control devices have been designed to perform model predictive control based on the manipulated variable used to control the controlled object and the controlled variable of the controlled object, thereby determining the manipulated variable for the next control cycle based on a prediction of the controlled variable. However, to improve the accuracy of predicting the controlled variable, the control device needs to set a longer control cycle. However, if a long control cycle is set, the control accuracy deteriorates if changes occur in the behavior of the controlled object during the control timing.
[0003] As a control device that can suppress the deterioration of control accuracy even when the control period of model predictive control is set to a long control period, for example, Patent Document 1 discloses a control device that includes a main control unit that predicts the manipulated variable (hereinafter referred to as "first manipulated variable") for the next control period by performing model predictive control based on the manipulated variable for controlling the controlled object and the controlled variable of the controlled object for each first control period, and a high-speed interpolation control unit that predicts the manipulated variable (hereinafter referred to as "second manipulated variable") for the next control period by performing linear predictive control based on the first manipulated variable and a target value for each second control period which has a shorter control period than the first control period, and calculates the manipulated variable for controlling the controlled object from the first manipulated variable and the second manipulated variable. [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] Patent No. 7283646 [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] As described above, control devices that contribute to the high-speed calculation of manipulated variables have been disclosed, but there was a problem in that the manipulated variables could not be determined stably depending on the method used to calculate them.
[0006] This disclosure was made to solve the above-mentioned problems and aims to provide a control device that contributes to the stable determination of manipulated variables. [Means for solving the problem]
[0007] The control device according to this disclosure determines an manipulated variable for controlling a controlled object. The control device determines the manipulated variable based on a function that evaluates the difference between the predicted value of the controlled variable of the controlled object controlled by the manipulated variable and the target value of the controlled variable. The system includes a step count setting unit that sets the number of steps, which is the number of times control has been performed on the controlled object, based on the control results of the model when the controlled object was controlled, and a prediction unit that predicts the control amount for a time that is several steps later than the current time, based on the controlled object model, and outputs the predicted value of the control amount to the manipulated variable determination unit. The step count setting unit takes the allowable overshoot amount as a function of the number of steps and calculates the number of steps based on the function of the number of steps. It is. [Effects of the Invention]
[0008] According to this disclosure, it contributes to the determination of stable controllable quantities. [Brief explanation of the drawing]
[0009] [Figure 1] This is a configuration diagram showing the control device 1 according to Embodiment 1. [Figure 2] This is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 1. [Figure 3] This is a hardware configuration diagram of a computer when the control device 1 is implemented by software or firmware, etc. [Figure 4] This flowchart shows the control method, which is the processing procedure for the control device 1. [Figure 5] This is an explanatory diagram showing an example of a cost function F when using the bisection method. [Figure 6] This is an explanatory diagram showing an example of a cost function F when using the steepest descent method. [Figure 7] This is a configuration diagram showing the control device 1 according to Embodiment 2. [Figure 8]This is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 2. [Figure 9] This flowchart shows the control method, which is the processing procedure for the control device 1. [Figure 10] This is an explanatory diagram showing an example where the number of steps n set by the step number setting unit 13 is 1. [Figure 11] This is an explanatory diagram showing an example where the number of steps n set by the step number setting unit 13 is 2. [Figure 12] This is a configuration diagram showing the control device 1 according to Embodiment 3. [Figure 13] This is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 3. [Figure 14] This is an explanatory diagram showing the relationship between the number of steps n and the amount of overshoot G(n). [Figure 15] This is a configuration diagram showing the control device 1 according to Embodiment 4. [Figure 16] This is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 4. [Figure 17] This is a configuration diagram showing the control device 1 according to Embodiment 5. [Figure 18] This is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 5. [Figure 19] This flowchart shows the control method, which is the processing procedure for the control device 1. [Figure 20] This is an explanatory diagram showing the relationship between the number of steps n and the amount of overshoot G(n). [Figure 21] This is an explanatory diagram illustrating the bisection method for efficiently finding the optimal n. [Modes for carrying out the invention]
[0010] To provide a more detailed explanation of this disclosure, the forms for implementing this disclosure will be described below with reference to the attached drawings.
[0011] Embodiment 1. FIG. 1 is a configuration diagram showing a control device 1 according to Embodiment 1. FIG. 2 is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 1. The control device 1 shown in FIG. 1, although details will be described later, discloses a configuration for determining an operation amount using, as an example and not by limitation, the bisection method based on a function for evaluating the difference between the predicted value of the control amount and the target value of the control amount. Hereinafter, the description will be made using the bisection method, but it is not limited thereto, and an algorithm such as a genetic algorithm or particle swarm optimization may be used to determine the operation amount. That is, any algorithm that utilizes whether the function for evaluating the difference between the predicted value of the control amount and the target value of the control amount shown below is positive or negative and searches for a solution between positive and negative may be used.
[0012] The control device 1 shown in FIG. 1 includes a prediction unit 11 and an operation amount determination unit 12. The control device 1 determines an operation amount u k+1 , k+1 , k+1 , k , k , k+1 , k+1 , , , for controlling the control target 2 and outputs the operation amount u k to the control target 2. k is an integer of 1 or more and is an identification symbol indicating the k-th control for the control target 2. The control target 2 is, for example, a device controlled by the control device 1 or a system controlled by the control device 1.
[0013] The prediction unit 11 is realized, for example, by a prediction circuit 31 shown in FIG. 2. The prediction unit 11 predicts a control amount y k+1 of the control target 2 based on a model 11a of the control target 2. The control amount y k+1 is the control result of the control target 2. Specifically, the prediction unit 11 acquires the operation amount u k from the operation amount determination unit 12. Then, the prediction unit 11 gives the operation amount u k to the model 11a and acquires a predicted value y k+1 ' of the control amount y k+1 of the control target 2 from the model 11a. The prediction unit 11 is the predicted value y of the control amount y k+1 ofk+1 The output is sent to the control variable determination unit 12.
[0014] Model 11a is a manipulated variable u that is given to the controlled object 2. k And the controlled variable y k+1 Predicted value y k+1 The relationship is mathematically described. Alternatively, model 11a is a manipulated variable u given to the controlled object 2. k And the controlled variable y k+1 Predicted value y k+1 The relationship with ' has been learned. Model 11a receives the manipulated variable u from the prediction unit 11. k Given this, the controlled quantity y of the controlled object 2 k+1 Predicted value y k+1 The output is sent to the prediction unit 11.
[0015] The manipulated variable determination unit 12 is implemented, for example, by the manipulated variable determination circuit 32 shown in Figure 2. The manipulated variable determination unit 12 receives the control variable y from the prediction unit 11. k+1 Predicted value y k+1 ' is obtained, and for example, from an external source, the controlled quantity y k Target value y d Obtain it. The manipulated variable determination unit 12 determines the manipulated variable u k The controlled quantity y of the controlled object 2 controlled by k+1 Predicted value y k+1 'and target value y d Based on a function that evaluates the difference between the two, the manipulated variable u k To decide. Specifically, the manipulated variable determination unit 12 determines the predicted value y k+1 'and target value y d Based on the cost function F relating to the difference, the manipulated variable u k Determine the control variable u. k The decision is made, for example, using a dichotomy. The manipulated variable determination unit 12 determines the manipulated variable u k This is output to the prediction unit 11 and the controlled object 2, respectively.
[0016] In Figure 1, the prediction unit 11 and the manipulated variable determination unit 12, which are components of the control device 1, are assumed to be implemented by dedicated hardware as shown in Figure 2. That is, the control device 1 is assumed to be implemented by a prediction circuit 31 and a manipulated variable determination circuit 32. The prediction circuit 31 and the manipulated variable determination circuit 32 can be, for example, a single circuit, a composite circuit, a processor that executes processing based on programmed instructions, a processor that executes processing based on parallel programmed instructions, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof.
[0017] The components of the control device 1 are not limited to those implemented by dedicated hardware; the control device 1 may also be implemented by software, firmware, or a combination of software and firmware. Software or firmware is stored as a program in the computer's memory. A computer refers to the hardware that executes programs, and includes, for example, a CPU (Central Processing Unit), GPU (Graphics Processing Unit), central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, or DSP (Digital Signal Processor).
[0018] Figure 3 is a hardware configuration diagram of a computer when the control device 1 is implemented by software or firmware, etc. If the control device 1 is implemented by software or firmware, a program that causes the computer to execute the respective processing procedures in the prediction unit 11 and the manipulated variable determination unit 12 is stored in the memory 51. The computer's processor 52 then executes the program stored in the memory 51.
[0019] Furthermore, Figure 2 shows an example in which each component of the control device 1 is implemented by dedicated hardware, and Figure 3 shows an example in which the control device 1 is implemented by software or firmware, etc. However, this is only one example, and some components of the control device 1 may be implemented by dedicated hardware, while the remaining components may be implemented by software or firmware, etc.
[0020] Next, the operation of the control device 1 shown in Figure 1 will be explained. Figure 4 is a flowchart showing the control method, which is the processing procedure of the control device 1. First, the prediction unit 11 receives the manipulated variable u from the manipulated variable determination unit 12. k Obtain the operation amount u at this point. k This is an manipulated variable that has not yet been optimized by the manipulated variable determination unit 12, and is therefore not provided to the controlled object 2. The prediction unit 11 controls the manipulated variable u k This is given to model 11a. Model 11a receives the manipulated variable u from the prediction unit 11. k Given this, the controlled quantity y of the controlled object 2 k+1 Predicted value y k+1 The output is sent to the prediction unit 11. The prediction process of model 11a itself is based on publicly known technology, so a detailed explanation is omitted. The prediction unit 11 determines the control quantity y of the controlled object 2 from the model 11a. k+1 Predicted value y k+1 Obtain ' (Step ST1 in Figure 4). Predicted value y k+1 ' is the manipulated variable u k The controlled quantity y of the controlled object 2 when controlled by [the specified method] k+1 This is the predicted value. Below, the manipulated variable is u k The predicted value y when this is the case k+1 ' to "y k+1 (u k It is sometimes written as )'」. The prediction unit 11 controls the controlled quantity y k+1 Predicted value y k+1 The output is sent to the control variable determination unit 12.
[0021] The manipulated variable determination unit 12 receives the control variable y from the prediction unit 11. k+1 Predicted value y k+1 ' is obtained, and for example, from an external source, the controlled quantity y k Target value y d Obtain it. The manipulated variable determination unit 12 determines the predicted value y as shown in the following equation (1): k+1 (u k )' and target value y d A cost function F is set for the difference between (Step ST2 in Figure 4). F=y d -y k+1 (u k )' (1)
[0022] Figure 5 is an explanatory diagram showing an example of a cost function F when using the bisection method. Here, the position y of the object is given by friction with the floor. k Target position y d To move it and keep it stationary, the force u is used as the control variable. k Let's consider the case where we add [something]. In Figure 5, the horizontal axis represents the manipulated variable u. k The vertical axis shows the cost function F. In the example in Figure 5, the manipulated variable u is affected by static friction. k This indicates that when the control variable u is below static friction, the controlled object 2 does not move. When the controlled object 2 does not move, the cost function F does not change. In the example in Figure 5, the manipulated variable u k As the size increases, the cost function F becomes smaller, and the manipulated variable u k When the coefficient becomes large enough, the cost function F becomes negative.
[0023] The manipulated variable determination unit 12 uses the bisection method to determine the manipulated variable u such that the cost function F becomes 0. k Determine this (Step ST3 in Figure 4). The bisection method is a type of iterative method that solves equations by repeatedly finding the midpoint of the interval containing the solution, and through iterative calculations, the manipulated variable u such that F=0 is obtained. k This is an algorithm for finding an approximate solution to [the problem]. Specifically, the bisection method involves the following four steps (1) to (4) to find the manipulated variable u such that F=0.k It is an algorithm for obtaining an approximate solution. Step (1) In the cost function F, set the lower limit value u k1 of the interval where the sign of F(u k2 ) is different from the sign of F(u k1 ), and the upper limit value u k2 of the interval. Step (2) Calculate the intermediate value u k1 between the lower limit value u k2 and the upper limit value u kM . Step (3) If the sign of F(u kM ) is the same as the sign of F(u k1 ), change the lower limit value u k1 to u kM . If the sign of F(u kM ) is the same as the sign of F(u k2 ), change the upper limit value u k2 to u kM . Step (4) Return to Step (2) and repeat the process to obtain an approximate solution of the operation amount u k for which F = 0.
[0024] In the control device 1 shown in FIG. 1, the operation amount determination unit 12 determines the operation amount u k for which the cost function F becomes 0 using the bisection method. As a method for determining the operation amount u k for which the value of the cost function F becomes 0, for example, as shown in FIG. 6, there is a method using the steepest descent method. In this case, the cost function is, for example, F=(y d -y k+1 (u k )’) 2 and is represented by. When the operation amount u k is within a range such as below the static friction force (that is, below the maximum friction force), since the object does not move even if the operation amount u k is changed, the control amount y k+1 (u k )’ does not change. The control amount yk+1 (u k ) does not change, the value of the cost function F remains constant and the gradient of the cost function F disappears. Therefore, when using the steepest descent method to search for a solution based on the gradient in the range where the operation amount u k is below the static friction force, etc., it is impossible to determine whether to update the solution in the direction of increasing the solution or in the direction of decreasing the solution. As a result, the solution may not be updated and the calculation may become unstable. FIG. 6 is an explanatory diagram showing an example of the cost function F when using the steepest descent method. In FIG. 6, the horizontal axis represents the operation amount u k and the vertical axis represents the cost function F.
[0025] On the other hand, when determining the operation amount u k such that the value of the cost function F becomes 0 using the cost function F as shown in FIG. 5, the solution can be updated depending on whether the value of the cost function F is positive or negative. Therefore, for example, in the control of the force applied to move an object placed on the floor as described above, even in the range where the operation amount u k is below the static friction force, etc., it is possible to stably calculate the operation amount u k such that the value of the cost function F becomes 0. Note that when determining the operation amount u k such that the value of the cost function F becomes 0, the cost function is, for example, F = y d -y k+1 (u k )'. Also, when determining the operation amount u k such that the value of the cost function F becomes 0, the operation amount determination unit 12 can use the bisection method described above. When the operation amount determination unit 12 determines the operation amount u k using, for example, the bisection method, generally, the number of calculation times for determining the operation amount u k is less than when using other optimization methods that do not refer to the gradient of the cost function F, such as genetic algorithms or particle swarm optimization, etc., and the calculation time is shortened.
[0026] In the control device 1 shown in Figure 1, the manipulated variable determination unit 12 determines the predicted value y k+1 'and target value y d The cost function F is used as the function to evaluate the difference. However, the function used by the manipulated variable determination unit 12 to evaluate the difference is not limited to the cost function F; the manipulated variable determination unit 12 may use, for example, a loss function as the function to evaluate the difference.
[0027] The manipulated variable determination unit 12 determines the manipulated variable u k This is output to the controlled object 2 (step ST4 in Figure 4). The controlled object 2 receives the manipulated variable u from the control device 1. k Given the control variable u, k It is controlled by [something]. As a result, the controlled quantity of controlled object 2 is y k It will become.
[0028] In the above embodiment 1, the control device 1 is configured to include an manipulated variable determination unit 12 that determines the manipulated variable for controlling the controlled object 2, and determines the manipulated variable based on a function that evaluates the difference between the predicted value of the controlled variable of the controlled object 2 controlled by the manipulated variable and the target value of the controlled variable. Therefore, since the manipulated variable is determined based on a function that evaluates the difference between the predicted value and the target value of the controlled variable, the control device 1 updates the manipulated variable, which is the solution, depending on whether the value of the function is positive or negative. This makes it possible to perform stable calculations even in regions where a gradient of the cost function does not occur, for example, where the manipulated variable does not exceed the static friction force.
[0029] In Embodiment 1, the control device 1 is configured such that the manipulated variable determination unit 12 determines the manipulated variable based on a cost function relating to the difference, as a function for evaluating the difference. Therefore, because the manipulated variable is determined based on a cost function relating to the difference, the solution is updated depending on whether the value of the function is positive or negative. As a result, the control device 1 can perform calculations stably even in regions where no gradient occurs in the cost function, such as when the manipulated variable does not exceed the static friction force.
[0030] In Embodiment 1, the control device 1 is configured such that the manipulated variable determination unit 12 determines the manipulated variable using the bisection method. Therefore, the control device 1 can determine the manipulated variable without computational instability even in regions where no gradient occurs in the cost function, such as when the manipulated variable is less than or equal to the static friction force. Furthermore, by using the bisection method, the convergence of the solution can generally be made higher than that of genetic algorithms or particle swarm optimization, etc.
[0031] In Embodiment 1, the control device 1 is configured such that the manipulated variable determination unit 12 determines the manipulated variable using a genetic algorithm or particle swarm optimization, etc. Therefore, the control device 1 can determine the manipulated variable without computational instability even in regions where no gradient occurs in the cost function, such as when the manipulated variable is less than the static friction force. Furthermore, by using these methods, it becomes possible to search for solutions more stably in general than with the bisection method.
[0032] In Embodiment 1, the control device 1 is configured to include a prediction unit 11 that predicts a control variable based on a model 11a of the controlled object 2 and outputs the predicted value of the control variable to the manipulated variable determination unit 12. Therefore, the control device 1 can predict the control variable with a small amount of computation. Furthermore, since the prediction unit 11 incorporates the model 11a, the input and output between the prediction unit 11 and the model 11a can be completed in a short time, and as a result, the control variable can be predicted at high speed.
[0033] In the control device 1 shown in Figure 1, the prediction unit 11 incorporates model 11a. However, this is just one example, and model 11a may be provided outside the prediction unit 11. If the external model 11a is located, for example, on the cloud, the prediction unit 11 receives the manipulated variable u from the manipulated variable determination unit 12. k This is transmitted to the model 11a on the cloud, for example, via a communication line such as the internet. The model 11a on the cloud receives the manipulated variable u from the prediction unit 11. k Given this, the controlled quantity y of the controlled object 2 k+1 Predicted value y k+1This is transmitted to the prediction unit 11, for example, via a communication line. The prediction unit 11 uses the model 11a on the cloud to determine the control quantity y of the controlled object 2. k+1 Predicted value y k+1 The prediction unit 11 then obtains the obtained control quantity y. k+1 Predicted value y k+1 By outputting ' to the manipulated variable determination unit 12, the manipulated variable determination unit 12 determines the predicted value y obtained from the prediction unit 11. k+1 The manipulated variable can be determined using '.
[0034] Embodiment 2. Embodiment 2 describes a control device 1 in which the prediction unit 14 predicts the control amount when control is performed on the controlled object 2 multiple times, as the control amount of the controlled object 2.
[0035] Figure 7 is a configuration diagram showing the control device 1 according to Embodiment 2. In Figure 7, the same reference numerals as in Figure 1 indicate the same or corresponding parts, so a detailed explanation is omitted. Figure 8 is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 2. In Figure 8, the same reference numerals as in Figure 2 indicate the same or corresponding parts, so a detailed explanation is omitted. The control device 1 shown in Figure 7 includes a step count setting unit 13, a prediction unit 14, and an operation variable determination unit 12.
[0036] The step count setting unit 13 sets the step count n, which is the number of times control has been performed on the controlled object 2, based on the control result of the model 15 when the model 15 was controlled. The step count setting unit 13 outputs the step count n to the prediction unit 14.
[0037] The prediction unit 14 predicts the control amount for the controlled object 2 when control is performed on the controlled object 2 multiple times. That is, the prediction unit 14 predicts the control amount for the controlled object 2 at a time after control has been performed on the controlled object 2 multiple times, rather than at the current time. Specifically, the prediction unit 14, based on the model 15 of the controlled object 2, sets the control amount y for a time that is n steps later than the current time, calculated by the step number setting unit 13. k+n To predict the control quantity y, the control quantity y is set to 0 when the control starts. k+n Δt is the controlled variable at time (k+n) × Δt, where Δt is the time representing the control period. The prediction unit 14 controls the controlled variable y k+n Predicted value y k+n The output is sent to the control variable determination unit 12.
[0038] Model 15 is a manipulated variable u that is given to the controlled object 2. k And the control amount y at a time n steps later than the current time. k+n Predicted value y k+n The relationship is mathematically described. Alternatively, Model 15 is a manipulated variable u given to the controlled object 2. k And the control amount y at a time n steps later than the current time. k+n Predicted value y k+n The relationship with ' has been learned. Model 15 receives the manipulated variable u from the prediction unit 14. k Given the number of steps n, the controlled quantity y of the controlled object 2 is k+n Predicted value y k+n The output is sent to the prediction unit 14.
[0039] The step count setting unit 13 is implemented, for example, by the step count setting circuit 33 shown in Figure 8. The prediction unit 14 is implemented, for example, by the prediction circuit 34 shown in Figure 8. In Figure 7, it is assumed that the step number setting unit 13, prediction unit 14, and manipulated variable determination unit 12, which are components of the control device 1, are each implemented by dedicated hardware as shown in Figure 8. That is, it is assumed that the control device 1 is implemented by a step number setting circuit 33, a prediction circuit 34, and a manipulated variable determination circuit 32. Each of the step count setting circuit 33, prediction circuit 34, and manipulated variable determination circuit 32 may be, for example, a single circuit, a composite circuit, a processor that executes processing based on programmed instructions, a processor that executes processing based on parallel programmed instructions, an ASIC, an FPGA, or a combination thereof.
[0040] The components of the control device 1 are not limited to those implemented by dedicated hardware; the control device 1 may also be implemented by software, firmware, or a combination of software and firmware. When the control device 1 is implemented by software or firmware, a program that causes the computer to execute the respective processing procedures in the step count setting unit 13, the prediction unit 14, and the manipulated variable determination unit 12 is stored in the memory 51 shown in Figure 3. Then, the processor 52 shown in Figure 3 executes the program stored in the memory 51.
[0041] Furthermore, Figure 8 shows an example in which each component of the control device 1 is implemented by dedicated hardware, while Figure 3 shows an example in which the control device 1 is implemented by software or firmware, etc. However, this is merely one example, and some components of the control device 1 may be implemented by dedicated hardware, while the remaining components may be implemented by software or firmware, etc.
[0042] Next, the operation of the control device 1 shown in Figure 7 will be explained. Figure 9 is a flowchart showing the control method, which is the processing procedure of the control device 1. The step count setting unit 13 can, for example, control the control quantity y from an external source. k Target value y d Obtain it. The step count setting unit 13 receives the manipulated amount u from the manipulated amount determination unit 12. k Obtain the operation amount u at this point. k This is an manipulated variable that has not yet been optimized by the manipulated variable determination unit 12, and is therefore not provided to the controlled object 2. The step number setting unit 13 sets the optimal step number n, which is the step number at which the overshoot amount becomes approximately zero (step ST11 in Figure 9).
[0043] The following describes an example of the process for setting the number of steps n by the step number setting unit 13. First, the step number setting unit 13 sets an arbitrary number of steps n. The step count setting unit 13 controls the manipulated amount u k We give Model 15 an arbitrary number of steps n and a control variable y at a time that is an arbitrary number of steps n later than the current time. k+n Predicted value y k+n Get '. The step number setting unit 13 sets the predicted value y k+n 'and target value y d The difference between this and the overshoot amount G. k+n Calculate. Overshoot amount G determined by the step number setting unit 13 k+n For example, there are two methods (1) and (2) for calculating it. (1) The amount of overshoot G is actually controlled by controlling the controlled object. k+n How to measure (2) Virtually control the model to obtain the overshoot amount G k+n How to measure In method (1), the controlled object is actually controlled while changing the number of steps, which can lead to an unstable state and can take a lot of time. For this reason, method (2) is often used.
[0044] The step count setting unit 13 controls the overshoot amount G. k+n The overshoot amount G is compared with the threshold Th. k+n If the value is less than or equal to the threshold Th, the arbitrary number of steps n is set to the optimal number of steps. The threshold Th may be stored in the internal memory of the step number setting unit 13, or it may be provided from an external source. The step count setting unit 13 controls the overshoot amount G. k+nIf the value is greater than the threshold Th, the number of steps n is changed to a number of steps that has not been set before. The number of steps setting unit 13 changes the number of steps n to, for example, an increase of 1, or a decrease of 1.
[0045] The step count setting unit 13 controls the manipulated amount u k The modified number of steps n is given to Model 15, and Model 15 controls the amount y at a time that is n steps later than the current time. k+n Predicted value y k+n Get '. The step number setting unit 13 sets the predicted value y k+n 'and target value y d The difference between this and the overshoot amount G. k+n Calculate. The step count setting unit 13 controls the overshoot amount G. k+n The overshoot amount G is compared with the threshold Th. k+n If the value is below the threshold Th, the number of steps n after the change is set to the optimal number of steps. The step count setting unit 13 controls the overshoot amount G. k+n If the value is greater than the threshold Th, the modified step count n is further changed to a step count that has not been set before.
[0046] Below is the amount of overshoot G k+n The step number setting unit 13 repeatedly executes the process of changing the step number n until the overshoot amount G falls below the threshold Th. k+n The number of steps n when the threshold Th falls below a certain threshold is set to the optimal number of steps.
[0047] Figure 10 is an explanatory diagram showing an example where the number of steps n set by the step number setting unit 13 is 1. In Figure 10, the controlled variable y is controlled at time step k+1. k+1 Predicted value y k+1 'and target value y d The difference between this and the overshoot amount G. k+1 It is not approximately 0. This is because, after one step, the controlled variable y and its target value y dBecause they must be matched, the manipulated variable u becomes large, and the controlled variable y becomes the target value y d This is because it goes beyond that point. Figure 11 is an explanatory diagram showing an example where the number of steps n set by the step number setting unit 13 is 2. In Figure 11, the controlled variable y is controlled at time step k+2. k+2 Predicted value y k+2 'and target value y d The difference between this and the overshoot amount G. k+2 It is approximately 0. This is because, two steps later, the controlled variable y and its target value y d Since we only need to make them match, the manipulated variable u becomes smaller, and the controlled variable y becomes the target value y d This is because it will asymptotically approach the target value. In Figures 10 and 11, the horizontal axis represents the time step, and the vertical axis represents the controlled variable. The thick arrows in the figures indicate the direction and magnitude of the manipulated variable u at each time step. Here, at time 0, the target value y d This shows the case where control begins when given a certain condition.
[0048] The prediction unit 14 obtains the number of steps n from the number of steps setting unit 13. The prediction unit 14, based on the model 15 of the controlled object 2, determines the control amount y at a time n steps later than the current time. k+n This is predicted (step ST12 in Figure 9). Note that if the time at the start of control is set to 0, the controlled quantity y k+n Δt is the controlled variable at time (k+n) × Δt, where Δt is the time representing the control period. Specifically, the prediction unit 14 controls the manipulated variable u k The model 15 is given the manipulated variable u from the prediction unit 14. k Given the time and the number of steps n, the controlled quantity y at a time n steps later than the current time is k+n Predicted value y k+n The prediction unit 14 outputs ' to the prediction unit 14. The prediction unit 14 obtains from the model 15 the control amount y for a time that is n steps later than the current time. k+n Predicted value y k+n Get '. The prediction unit 14 controls the controlled variable y k+n Predicted value y k+n The value ' is output to the manipulated variable determination unit 12. Below, the predicted value y k+n ' to "y k+n (u k It is sometimes written as )'」.
[0049] The manipulated variable determination unit 12 receives the control variable y from the prediction unit 14. k+n Predicted value y k+n ' is obtained, and for example, from an external source, the controlled quantity y k Target value y d Obtain it. The manipulated variable determination unit 12 determines the predicted value y as shown in the following equation (2): k+n (u k )' and target value y d A cost function F is set for the difference between (step ST13 in Figure 9). F=y d -y k+n (u k )' (2) The manipulated variable determination unit 12, for example, uses the bisection method to determine the manipulated variable u such that the cost function F becomes 0. k Determine this (step ST14 in Figure 8). The manipulated variable determination unit 12 determines the manipulated variable u k This is output to the controlled object 2 (step ST15 in Figure 9).
[0050] In the above embodiment 2, the control device 1 shown in Figure 7 is configured such that the prediction unit 14 predicts the control amount when control is performed on the controlled object 2 multiple times, as the control amount for the controlled object 2. Therefore, in addition to the effects described above, the control device 1 shown in Figure 7 can suppress overshoot more effectively than the control device 1 shown in Figure 1. When control is performed multiple times on the controlled object 2, the controlled amount is the pre-read controlled amount. Since it is sufficient to match this controlled amount with the target value, abrupt operations are avoided, and as a result, overshoot is suppressed. The larger the number of steps n set by the step number setting unit 13, the greater the overshoot suppression effect.
[0051] In the control device 1 shown in Figure 7, the control device 1 incorporates Model 15. However, this is merely one example, and Model 15 may be located outside the control device 1. If the external model 15 is located, for example, on the cloud, the prediction unit 14 will process the manipulated amount u k The number of steps n is transmitted to the model 15 on the cloud, for example, via a communication line such as the internet. The model 15 on the cloud receives the manipulated variable u from the prediction unit 14. k Given the time and the number of steps n, the controlled quantity y at a time n steps later than the current time is k+n Predicted value y k+n This is transmitted to the prediction unit 14, for example, via a communication line. The prediction unit 14 uses the model 15 on the cloud to determine the control quantity y of the controlled object 2. k+1 Predicted value y k+1 The prediction unit 14 then obtains the obtained control quantity y. k+1 Predicted value y k+1 By outputting ' to the manipulated variable determination unit 12, the manipulated variable determination unit 12 determines the predicted value y obtained from the prediction unit 14. k+1 The manipulated variable can be determined using '.
[0052] Embodiment 3. In Embodiment 3, the control device 1 is described in which the step number setting unit 16 sets the allowable overshoot amount as a function of the step number and calculates the step number based on this function of the step number.
[0053] Figure 12 is a configuration diagram showing the control device 1 according to Embodiment 3. In Figure 12, the same reference numerals as in Figures 1 and 7 indicate the same or corresponding parts, so a detailed explanation is omitted. Figure 13 is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 3. In Figure 13, the same reference numerals as in Figures 2 and 8 indicate the same or corresponding parts, so a detailed explanation is omitted. The control device 1 shown in Figure 12 includes a step count setting unit 16, a prediction unit 14, and an operation variable determination unit 12.
[0054] The step number setting unit 16 defines the allowable overshoot amount G as a function of the step number n G(n), and calculates the step number n based on the function of the step number n G(n). The step number setting unit 16 outputs the step number n to the prediction unit 14.
[0055] The step count setting unit 16 is implemented, for example, by the step count setting circuit 36 shown in Figure 13. In Figure 12, it is assumed that the step number setting unit 16, prediction unit 14, and manipulated variable determination unit 12, which are components of the control device 1, are each implemented by dedicated hardware as shown in Figure 13. That is, it is assumed that the control device 1 is implemented by a step number setting circuit 36, a prediction circuit 34, and a manipulated variable determination circuit 32. Each of the step count setting circuit 36, prediction circuit 34, and manipulated variable determination circuit 32 may be, for example, a single circuit, a composite circuit, a processor that executes processing based on programmed instructions, a processor that executes processing based on parallel programmed instructions, an ASIC, an FPGA, or a combination thereof.
[0056] The components of the control device 1 are not limited to those implemented by dedicated hardware; the control device 1 may also be implemented by software, firmware, or a combination of software and firmware. When the control device 1 is implemented by software or firmware, a program that causes the computer to execute the respective processing procedures in the step count setting unit 16, the prediction unit 14, and the manipulated variable determination unit 12 is stored in the memory 51 shown in Figure 3. Then, the processor 52 shown in Figure 3 executes the program stored in the memory 51.
[0057] Furthermore, Figure 13 shows an example in which each component of the control device 1 is implemented by dedicated hardware, and Figure 3 shows an example in which the control device 1 is implemented by software or firmware, etc. However, this is only one example, and some components of the control device 1 may be implemented by dedicated hardware, while the remaining components may be implemented by software or firmware, etc.
[0058] Next, the operation of the control device 1 shown in Figure 12 will be explained. Since the control device 1 is the same as shown in Figure 7 except for the step number setting unit 16, only the operation of the step number setting unit 16 will be explained here.
[0059] The step number setting unit 16 is set to a function G(n) with n steps. The step number setting unit 16 calculates the number of steps n such that the following equation (3) holds, for example, using the bisection method. G(n)-Mg=0 (3) In equation (3), Mg is the margin of the allowable overshoot amount G. The step number setting unit 16 outputs the step number n to the prediction unit 14.
[0060] Figure 14 is an explanatory diagram showing the relationship between the number of steps n and the amount of overshoot G(n). Figure 14 shows an example where the overshoot amount G(n) is positive when the set number of steps n is smaller than the optimal number of steps, and negative when the set number of steps n is larger than the optimal number of steps.
[0061] In the above embodiment 3, the control device 1 shown in Figure 12 is configured such that the step number setting unit 16 sets the allowable overshoot amount as a function of the step number and calculates the step number based on this function. Therefore, in addition to the effects described above, the control device 1 shown in Figure 12 can calculate the optimal step number with less computation than the control device 1 shown in Figure 7.
[0062] Embodiment 4. Embodiment 4 describes a control device 1 in which the step number setting unit 17 updates the model 15 and the step number n after a set time has elapsed since the start of control of the controlled object 2, or after the setting conditions have been satisfied.
[0063] Figure 15 is a configuration diagram showing the control device 1 according to Embodiment 4. In Figure 15, the same reference numerals as in Figures 1, 7, and 12 indicate the same or corresponding parts, so a detailed explanation is omitted. Figure 16 is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 4. In Figure 16, the same reference numerals as in Figures 2, 8, and 13 indicate the same or corresponding parts, so a detailed explanation is omitted. The control device 1 shown in Figure 15 includes a step count setting unit 17, a prediction unit 14, and an operation variable determination unit 12.
[0064] The step count setting unit 17 updates the model 15 and the step count n after a set time has elapsed since the start of control of the controlled object 2, or after the set conditions have been met. The step count setting unit 17 outputs the updated step count n to the prediction unit 14.
[0065] The step count setting unit 17 is implemented, for example, by the step count setting circuit 37 shown in Figure 16. In Figure 15, it is assumed that the step number setting unit 17, prediction unit 14, and manipulated variable determination unit 12, which are components of the control device 1, are each implemented by dedicated hardware as shown in Figure 16. That is, it is assumed that the control device 1 is implemented by a step number setting circuit 37, a prediction circuit 34, and a manipulated variable determination circuit 32. Each of the step count setting circuit 37, prediction circuit 34, and manipulated variable determination circuit 32 may be, for example, a single circuit, a composite circuit, a processor that executes processing based on programmed instructions, a processor that executes processing based on parallel programmed instructions, an ASIC, an FPGA, or a combination thereof.
[0066] The components of the control device 1 are not limited to those implemented by dedicated hardware; the control device 1 may also be implemented by software, firmware, or a combination of software and firmware. When the control device 1 is implemented by software or firmware, a program that causes the computer to execute the respective processing procedures in the step count setting unit 17, the prediction unit 14, and the manipulated variable determination unit 12 is stored in the memory 51 shown in Figure 3. Then, the processor 52 shown in Figure 3 executes the program stored in the memory 51.
[0067] Furthermore, Figure 16 shows an example in which each component of the control device 1 is implemented by dedicated hardware, and Figure 3 shows an example in which the control device 1 is implemented by software or firmware, etc. However, this is only one example, and some components of the control device 1 may be implemented by dedicated hardware, while the remaining components may be implemented by software or firmware, etc.
[0068] Next, the operation of the control device 1 shown in Figure 15 will be described. Since the control device is the same as the control device 1 shown in Figure 7, except for the step number setting unit 17, only the operation of the step number setting unit 17 will be explained here. The step count setting unit 17 updates the model 15 and the step count n after a set time has elapsed since the start of control of the controlled object 2, or after the set conditions have been met. The step count setting unit 17 outputs the updated step count n to the prediction unit 14. The setting time may be stored in the internal memory of the step count setting unit 17, for example, or it may be provided from outside the control device 1 as shown in Figure 15. Examples of conditions that satisfy the setting include when the operation of controlled object 2 is completed, or when the operation of controlled object 2 is 50% complete.
[0069] If Model 15 is implemented by, for example, a neural network, then Model 15 receives an input variable u from the controlled object 2 during operation. k And the controlled quantity y of the controlled object 2 that is in operation. k+n Given these values, they are updated by performing backpropagation. If Model 15 is implemented, for example, by a Gaussian process regression model, then Model 15 is defined as the manipulated variable u given to the controlled object 2 during operation. k And the controlled quantity y of the controlled object 2 that is in operation. k+n It is updated by recalculating the kernel function using [the specified method / function]. The step number setting unit 17 performs the same step number update process as the step number setting unit 13 performs the step number update process as shown in Figure 7, or the step number setting unit 16 performs the step number update process as shown in Figure 12. Furthermore, the step number setting unit 17 is configured to set an initial value for the step number n before updating both the model 15 and the step number n. As the initial value for the step number n in the update process of the step number n, for example, the time constant of the controlled object 2 multiplied by an arbitrary coefficient is used. When such an initial value is used, more stable operation of the controlled object 2 can be achieved than when a small initial value is used. An example of a small initial value is "1".
[0070] In the above embodiment 4, the control device 1 shown in Figure 15 is configured such that the step number setting unit 17 updates the model 15 and the step number after a set time has elapsed since the start of control of the controlled object 2, or after the set conditions have been satisfied. Therefore, in addition to the effects described above, the control device 1 shown in Figure 15 can improve the calculation accuracy of the manipulated variable compared to the control device 1 shown in Figure 7.
[0071] Embodiment 5. In the control device 1 shown in Figure 1, the manipulated variable determination unit 12 determines the manipulated variable u k The controlled quantity y of the controlled object 2 controlled by k+1 Predicted value y k+1 'and target value y dBased on a function that evaluates the difference between the two, the manipulated variable u k They have made the decision. In Embodiment 5, the predicted value y at the second time t2, which is later than the first time t1, is k+n 'and target value y d Based on this, the manipulated variable u k A control device 1 equipped with an manipulated variable determination unit 20 that determines the predicted value y at the second time t2 will be described. k+n ' is where the controlled object 2 is the manipulated variable u k The controlled quantity y of the controlled object 2 at the second time step t2 when controlled by [the specified method]. k+n This is the predicted value.
[0072] Figure 17 is a configuration diagram showing the control device 1 according to Embodiment 5. Figure 18 is a hardware configuration diagram showing the hardware of the control device 1 according to Embodiment 5. The control device 1 shown in Figure 17 includes a prediction unit 18, a prediction value calculation unit 19, and a manipulated variable determination unit 20.
[0073] The prediction unit 18 is implemented, for example, by the prediction circuit 38 shown in Figure 18. The prediction unit 18, based on the model 18a of the controlled object 2, predicts the manipulated variable u at the first time step t1. k The controlled quantity y of the controlled object 2 controlled by k The first predicted value y is the predicted value of k Get '. The prediction unit 18 calculates the first predicted value y k The result is output to the predicted value calculation unit 19.
[0074] Model 18a is a manipulated variable u given to the controlled object 2. k And the first predicted value y k The relationship is mathematically described. Alternatively, Model 18a is a manipulated variable u given to the controlled object 2. k And the first predicted value y k The relationship with ' has been learned. Model 18a receives the manipulated variable u from the prediction unit 11. k Given, the first predicted value y k The output is sent to the prediction unit 18.
[0075] The predicted value calculation unit 19 is implemented, for example, by the predicted value calculation circuit 39 shown in Figure 18. The prediction value calculation unit 19 receives the first predicted value y at the first time step t1 from the prediction unit 18. k Get '. The prediction value calculation unit 19 calculates the first prediction value y k Based on ', the manipulated variable u at the second time t2, which is a time later than the first time t1, k The controlled quantity y of the controlled object 2 controlled by k+n The second predicted value y is the predicted value of k+n Calculate '. The prediction value calculation unit 19 calculates the second prediction value y k+n The output is sent to the manipulated variable determination unit 20.
[0076] The manipulated variable determination unit 20 is implemented, for example, by the manipulated variable determination circuit 40 shown in Figure 18. The manipulated variable determination unit 20 receives the second predicted value y from the predicted value calculation unit 19. k+n ' is obtained, and for example, from an external source, the controlled quantity y k Target value y d Obtain it. The manipulated variable determination unit 20 determines the second predicted value y k+n 'and target value y d Based on this, the manipulated variable u k To decide. The manipulated variable determination unit 20 determines the manipulated variable u k This is output to the prediction unit 18 and the controlled object 2, respectively.
[0077] In Figure 17, it is assumed that the prediction unit 18, the predicted value calculation unit 19, and the manipulated variable determination unit 20, which are components of the control device 1, are each implemented by dedicated hardware as shown in Figure 18. That is, it is assumed that the control device 1 is implemented by a prediction circuit 38, a predicted value calculation circuit 39, and a manipulated variable determination circuit 40. Each of the prediction circuit 38, the prediction value calculation circuit 39, and the manipulated variable determination circuit 40 may be, for example, a single circuit, a composite circuit, a processor that executes processing based on programmed instructions, a processor that executes processing based on parallel programmed instructions, an ASIC, an FPGA, or a combination thereof.
[0078] The components of the control device 1 are not limited to those implemented by dedicated hardware; the control device 1 may also be implemented by software, firmware, or a combination of software and firmware. When the control device 1 is implemented by software or firmware, a program that causes a computer to execute the respective processing procedures in the prediction unit 18, the prediction value calculation unit 19, and the manipulated variable determination unit 20 is stored in the memory 51 shown in Figure 3. Then, the processor 52 shown in Figure 3 executes the program stored in the memory 51.
[0079] Furthermore, Figure 18 shows an example in which each component of the control device 1 is implemented by dedicated hardware, and Figure 3 shows an example in which the control device 1 is implemented by software or firmware, etc. However, this is only one example, and some components of the control device 1 may be implemented by dedicated hardware, while the remaining components may be implemented by software or firmware, etc.
[0080] Next, the operation of the control device 1 shown in Figure 17 will be explained. Figure 19 is a flowchart showing the control method, which is the processing procedure of the control device 1. First, the prediction unit 18 receives the manipulated variable u from the manipulated variable determination unit 20. k Obtain the operation amount u at this point. k This is an manipulated variable that has not yet been optimized by the manipulated variable determination unit 20, and is not provided to the controlled object 2. The prediction unit 18, based on the model 18a of the controlled object 2, predicts the manipulated variable u at the first time step t1. k The controlled quantity y of the controlled object 2 controlled byk The first predicted value y k Get '. In other words, the prediction unit 18 controls the manipulated variable u k The first predicted value y at the first time step t1 is given to model 18a, and from model 18a, the first predicted value y k Obtain ' (step ST21 in Figure 19). Model 18a receives the manipulated variable u from the prediction unit 11. k Given, the first predicted value y k The output is sent to the prediction unit 18. The prediction process of model 18a itself is a well-known technique, so a detailed explanation is omitted. The prediction unit 18 calculates the first predicted value y k The result is output to the predicted value calculation unit 19.
[0081] The prediction value calculation unit 19 receives the first prediction value y from the prediction unit 18. k Get '. The prediction value calculation unit 19 calculates the first prediction value y as shown in equation (4) below. k Based on ', the second predicted value y k+n Calculate ' (step ST22 in Figure 19). y k+n ' = y k +n(y k+1 '-y k ) (4) The prediction value calculation unit 19 calculates the second prediction value y k+n The output is sent to the manipulated variable determination unit 20.
[0082] The manipulated variable determination unit 20 receives the second predicted value y from the predicted value calculation unit 19. k+n ' is obtained, and for example, from an external source, the controlled quantity y k Target value y d Obtain it. The manipulated variable determination unit 20 determines the second predicted value y k+n 'and target value y d Based on this, the manipulated variable u k Determine (step ST23 in Figure 19). The manipulated amount u determined by the manipulated amount determination unit 20 k For example, the decision process involves determining the second predicted value y k+n 'and target value y d An operation amount u proportional to the difference withk Alternatively, you may determine the manipulated variable u such that the cost function F becomes 0, similar to the manipulated variable determination unit 12 shown in Figure 1. k You may decide that. The manipulated amount u determined by the manipulated amount determination unit 20 k The decision process is as follows: k+n 'and target value y d Anything that is determined based on this is acceptable, for example, the second predicted value y k+n 'and target value y d The larger the difference, the larger the amount of manipulation u. k The corrected manipulated amount is greatly corrected, and the manipulated amount u k It may be decided that way. The manipulated variable determination unit 20 determines the manipulated variable u k This is output to the controlled object 2 (step ST24 in Figure 19).
[0083] In the above embodiment 5, the control device 1 is configured to include a prediction value calculation unit 19 that calculates a second prediction value, which is a prediction value of the control amount of the controlled object 2 controlled by the manipulated variable at a second time, which is a time later than the first time, based on a first prediction value, which is a prediction value of the control amount of the controlled object 2 controlled by the manipulated variable at a first time; and a manipulated variable determination unit 20 that determines the manipulated variable based on the second prediction value calculated by the prediction value calculation unit 19 and the target value of the control amount. Therefore, the control device 1 can determine the manipulated variable stably and at high speed.
[0084] In Embodiment 5, the control device 1 includes a prediction value calculation unit 19 that calculates a second prediction value based on a first prediction value. Therefore, the control device 1 can predict the control amount of the controlled object 2 at a second time, which is a time later than the first time.
[0085] In Embodiment 5, the control device 1 shown in Figure 17 is configured such that the predicted value calculation unit 19 predicts the control amount of the controlled object 2 at a second time point, which is later than the first time point, as the control amount of the controlled object 2. Therefore, the control device 1 shown in Figure 17 can suppress overshoot more effectively than the control device 1 shown in Figure 1. The controlled variable of controlled object 2 at the second time step is the controlled variable in a look-ahead state. Since it is sufficient to match such a controlled variable with the target value, abrupt operations are avoided, and as a result, overshoot is suppressed.
[0086] In Embodiment 5, the control quantity at the first time step t1 is predicted based on the model 18a of the controlled object 2, and the first predicted value y is the predicted value of the control quantity at the first time step t1. k The control device 1 is configured to include a prediction unit 18 that outputs a value to the prediction value calculation unit 19. Therefore, the control device 1 can predict the control amount of the controlled object 2 at the second time step with a small amount of computation. In addition, since the prediction unit 18 has a built-in model 18a, the input and output between the prediction unit 18 and the model 18a can be completed in a short time, and as a result, the control amount can be predicted at high speed.
[0087] In the control device 1 shown in Figure 17, the prediction unit 18 incorporates model 18a. However, this is just one example, and model 18a may be provided outside the prediction unit 18. If the external model 18a is located, for example, on the cloud, the prediction unit 18 receives the manipulated variable u from the manipulated variable determination unit 20. k This is transmitted, for example, to model 18a on the cloud via a communication line. Model 18a on the cloud receives the manipulated variable u from the prediction unit 18. k Given this, the first predicted value y at the first time t1 of the controlled object 2 is k This is transmitted to the prediction unit 11, for example, via a communication line. The prediction unit 18 obtains the first predicted value y at the first time step t1 from the model 18a on the cloud. k The prediction unit 18 obtains the first predicted value y at the first time step t1. k The result is output to the predicted value calculation unit 19.
[0088] In the control device 1 shown in Figure 7 according to Embodiment 2, the prediction unit 14 predicts the control amount of the controlled object 2 as the control amount when control has been performed on the controlled object 2 multiple times, rather than at the current time. However, this is just one example, and the prediction unit 14, like the prediction unit 18 shown in Figure 17, predicts, for example, the control amount y at time t1. k Predicted value y k ' obtains. That is, the prediction unit 14 obtains the manipulated variable u k The values are given to Model 15, and from Model 15, the predicted value y at time t1 is obtained. k The prediction unit 14 then obtains the predicted value y at time t1, similar to the prediction value calculation unit 19 shown in Figure 17. k Based on this, the predicted value of the control amount at the second time t2, which is later than time t1, is the control amount at a time after multiple control operations have been performed on the controlled object 2 compared to time t1. k+n The prediction unit 14 calculates the predicted value y of the controlled variable at the second time step t2. k+n The output is sent to the control variable determination unit 12. In this case, the Model 15 shown in Figure 7 according to Embodiment 2 is a manipulated variable u given to the controlled object 2. k And the predicted value y k The relationship is mathematically described. Alternatively, Model 15 is a manipulated variable u given to the controlled object 2. k And the predicted value y k The relationship with ' has been learned. Model 15 receives the manipulated variable u from the prediction unit 14. k Given, the predicted value y k The output is sent to the prediction unit 15.
[0089] In embodiments 1 to 5, backlash is not specifically mentioned. Backlash refers to the target value y. d and the controlled variable y k When there is a small difference between and , a small manipulated quantity u corresponding to that difference k Even if the output is sent to the controlled object 2, the controlled object 2 will not respond to the manipulated variable u k This refers to not responding to something. When attempting to control the controlled object 2 while there is backlash, the manipulated variable u kSince it does not respond, the target value y d and the controlled variable y k A larger amount of operation u compared to the difference k This is output to the controlled object 2, and as a result, the controlled quantity y of the controlled object 2 is k Vibrations may occur. To address this type of backlash, for example, the following measures can be taken: The manipulated variable determination unit 12, etc., determines the target value y d and the controlled variable y k The difference between Δy (=|y) d -y k+n The manipulated variable u depends on '|) k We will take measures to adjust the size. Specifically, the manipulated variable determination unit 12, etc., determines the manipulated variable u if the difference Δy is smaller than a predetermined value. k Adjust to set it to 0.
[0090] Embodiment 3 shows an example where the relationship between the number of steps n and the overshoot amount G(n) is as shown in Figure 14. In the example in Figure 14, there is one n that satisfies G(n)=0. However, when the relationship between the number of steps n and the overshoot amount G(n) is as shown in Figure 20, there are multiple n that satisfy G(n)=0. Figure 20 is an explanatory diagram showing the relationship between the number of steps n and the amount of overshoot G(n). If there are multiple values of n that satisfy G(n)=0, then smaller values of n will have shorter look-ahead times and therefore faster responses. Thus, the optimal n that satisfies both G(n)=0 and min(n) can be efficiently searched using a bisection method. Specifically, as shown in Figure 21, the upper limit of the solution for n in the bisection method is n upper The lower bound of the solution for n in the bisection method is n lower The midpoint of the solution for n in the bisection method is n middle In this case, the optimal n can be efficiently found by doing the following: Figure 21 is an explanatory diagram illustrating the bisection method for efficiently finding the optimal n. ·G(n middle If ) < 0, then nupper to n middle Change it. n upper ←n middle ·G(n middle If ) = 0, then n upper to n middle Change it. n upper ←n middle ·G(n middle If ) > 0, then n lower to n middle Change it. n lower ←n middle
[0091] Furthermore, this disclosure allows for free combination of each embodiment, modification of any component in each embodiment, or omission of any component in each embodiment. [Industrial applicability]
[0092] This disclosure is suitable for control devices, control methods, and programs. [Explanation of symbols]
[0093] 1 Control device, 2 Controlled object, 11 Prediction unit, 11a Model, 12 Manipulated variable determination unit, 13 Step count setting unit, 14 Prediction unit, 15 Model, 16, 17 Step count setting unit, 18 Prediction unit, 18a Model, 19 Predicted value calculation unit, 20 Manipulated variable determination unit, 31 Prediction circuit, 32 Manipulated variable determination circuit, 33 Step count setting circuit, 34 Prediction circuit, 36, 37 Step count setting circuit, 38 Prediction circuit, 39 Predicted value calculation circuit, 40 Manipulated variable determination circuit, 51 Memory, 52 Processor.
Claims
1. A control device for determining an manipulated variable for controlling a controlled object, An manipulated variable determination unit determines the manipulated variable based on a function that evaluates the difference between the predicted value of the controlled variable controlled by the manipulated variable and the target value of the controlled variable. A step number setting unit sets the number of steps, which is the number of times control has been performed on the controlled object, based on the control result of the controlled object when the controlled object model is controlled. Based on the model of the controlled object, the prediction unit predicts the control amount at a time that is several steps later than the current time, after multiple control operations have been performed on the controlled object, and outputs the predicted value of the control amount to the manipulated amount determination unit. The step number setting unit is, The allowable overshoot amount is defined as a function of the number of steps, and the number of steps is calculated based on this function of the number of steps. A control device characterized by the following features.
2. The aforementioned control amount determination unit is, The manipulated variable is determined based on a cost function relating to the difference, as a function for evaluating the difference. The control device according to claim 1, characterized in that it is a control device.
3. The aforementioned control amount determination unit is, The control device according to claim 1, characterized in that the manipulated quantity is determined using a bisection method.
4. The step number setting unit is, The number of steps is calculated using the bisection method. The control device according to claim 1, characterized in that it is a control device.
5. The step number setting unit is, After a set time has elapsed since the start of control over the controlled object, or after the set conditions have been met, the model and the number of steps are updated. The control device according to claim 1, characterized in that it is a control device.
6. The step count setting unit includes: Before updating the model and the number of steps, the initial value of the number of steps is set. The control device according to claim 1, characterized in that it is a control device.
7. A control method for determining a manipulated variable for controlling a controlled object, The manipulated variable determination unit determines the manipulated variable based on a function that evaluates the difference between the predicted value of the controlled variable controlled by the manipulated variable and the target value of the controlled variable. The step count setting unit sets the step count, which is the number of times control has been performed on the controlled object, based on the control result of the controlled object when the controlled object model was controlled. The prediction unit predicts the control amount at a time that is several steps later than the current time, based on the model of the controlled object, as the control amount at a time after multiple control operations have been performed on the controlled object, and outputs the predicted value of the control amount to the manipulated amount determination unit. The step number setting unit is, The allowable overshoot amount is defined as a function of the number of steps, and the number of steps is calculated based on this function of the number of steps. A control method characterized by the following:
8. A program to be executed by the computer of a control device that determines the manipulated variable for controlling the controlled object, To the aforementioned computer, A process to determine the manipulated variable based on a function that evaluates the difference between the predicted value of the controlled variable controlled by the manipulated variable and the target value of the controlled variable, A process to set the number of steps, which is the number of times control has been performed on the controlled object, based on the control result of the controlled object when the controlled object model was controlled. This program performs the following steps based on the model of the controlled object: predicting the control amount at a time that is a number of steps later than the current time, as the predicted value of the control amount at a time that is multiple times after control has been performed on the controlled object, compared to the current time. The process for setting the number of steps is as follows: The allowable overshoot amount is defined as a function of the number of steps, and the number of steps is calculated based on this function of the number of steps. A program characterized by the following features.
Citation Information
Patent Citations
Method for manufacturing h-steel with satisfactory shape
JP1997285810A
Method and device for controlling process
JP2001067103A
Control device, control method, and program
JP7283646B1
Electronic control device and method for building numerical model
WO2017195257A1
Control calculation device and control calculation method
WO2022172337A1