Control device, control method, and program

JPWO2024201751A5Pending Publication Date: 2025-11-17
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025509369
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2025-09-02
Publication Date
2025-11-17

AI Technical Summary

Technical Problem

Existing Model Predictive Control (MPC) methods face challenges in accurately calculating control command values for controlled objects, as they often rely solely on observed states, neglecting the estimation and evaluation of unobserved states which can impact the accuracy of future state predictions.

Method used

A control device and method that estimates and evaluates both observed and unobserved states using a model predictive control approach, incorporating a state estimation unit, control sequence calculation unit, and control execution unit to calculate a time series of control command values that improve the accuracy of state predictions by considering unobserved states, employing techniques like backpropagation and neural ordinary differential equations.

Benefits of technology

This approach enables more accurate estimation and evaluation of future states, improving the precision of control command values and allowing for better control of complex systems by incorporating unobserved state information into the control process.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

This control device comprises: a state estimation means for estimating a state including a state not to be observed, in response to input of data indicating a state to be observed among states relating to objects to be controlled; a control sequence calculation means for calculating the time series of control command values for the objects to be controlled, the time series being calculated so as to improve evaluation on the time series of an estimated value in a state in which the state including the state not to be observed is reset to the initial state; and a control execution means for controlling the objects to be controlled, on the basis of the time series of the obtained control command values.
Need to check novelty before this filing date? Find Prior Art

Description

Control device, control method, and recording medium

[0001] The present invention relates to a control device, a control method, and a recording medium.

[0002] One type of control for a control object is model predictive control (MPC), which determines a control command value for the control object using a model that indicates the relationship between a control command value for the control object and a state related to the control object (see, for example, Patent Document 1).

[0003] JP 2017-129120 A

[0004] It is preferable that the control command value for the controlled object can be calculated with high accuracy by control using a model that indicates the relationship between the control command value for the controlled object and the state of the controlled object.

[0005] An example of a purpose of this disclosure is to provide a control device, a control method, and a recording medium that can solve the above-mentioned problems.

[0006] According to a first aspect of the present invention, a control device comprises: a state estimation means for receiving input of data indicating states of a controlled object that are subject to observation and estimating states including states that are not subject to observation; a control series calculation means for calculating a time series of control command values ​​for the controlled object so as to improve evaluation of a time series of estimated values ​​of states that have states including the states that are not subject to observation as initial states; and a control execution means for controlling the controlled object based on the obtained time series of control command values.

[0007] According to a second aspect of the present invention, a control method includes a computer receiving input of data indicating states of a control object that are subject to observation, estimating states including states that are not subject to observation, calculating a control time series for the control object that improves evaluation of a time series of estimated values ​​of states in which the states including the states that are not subject to observation are set as initial states, and performing control for the control object based on the obtained control time series.

[0008] According to a third aspect of the present invention, a recording medium is a recording medium having recorded thereon a program for causing a computer to receive input of data indicating states of a control object that are subject to observation, estimate states including states that are not subject to observation, calculate a time series of control for the control object that improves evaluation of a time series of estimated values ​​of states that have states including states that are not subject to observation as initial states, and perform control of the control object based on the obtained time series of control.

[0009] According to the present invention, it is expected that a control command value can be calculated with a relatively high degree of accuracy through control using a model that indicates the relationship with the state of the controlled object.

[0010] FIG. 1 is a diagram showing an example of the configuration of a system according to a first embodiment; FIG. 2 is a diagram showing an example of the configuration of a control device according to the first embodiment; FIG. 3 is a diagram showing an example of data input / output in a system according to the first embodiment; FIG. 4 is a diagram showing an example of a processing procedure performed by a control device according to the first embodiment; FIG. 5 is a diagram showing an example of the configuration of a control device according to a second embodiment; FIG. 6 is a diagram showing an example of the configuration of a control device according to a third embodiment; FIG. 7 is a diagram showing an example of a processing procedure in a control method according to a fourth embodiment; and FIG. 8 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.

[0011] The following describes embodiments of the present invention, but the following embodiments do not limit the scope of the invention. Also, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention. In the following, letters with a tilde (Tilde) next to them are treated as a separate entity. ~ For example, an s with a tilde can be expressed as s ~Also, letters with an overline or macron attached may be represented by adding a  ̄ next to the letter. For example, an s with an overline or macron attached may be represented as s ̄. Also, letters with a circumflex attached may be represented by adding a ^ next to the letter. For example, an f with a circumflex attached may be represented as f^.

[0012] First Embodiment Fig. 1 is a diagram showing an example of the configuration of a system according to a first embodiment. In the configuration shown in Fig. 1, a system 1 includes a control device 100 and a controlled object 910.

[0013] The control target 910 is not limited to a specific one, and can be various controllable objects. For example, the control target 910 may be equipment such as a plant or a power plant, a system such as a production line in a factory, or a standalone device. Alternatively, the control target may be a moving object such as an automobile, an airplane, a ship, or a self-propelled mobile robot.

[0014] The operating environment of the control object 910, including the control object 910, is also referred to as the environment 920. The state of the environment 920 is also referred to as the state related to the control object 910, or simply as the state. Sensor measurements by sensors provided in the environment 920 are an example of data indicating the state being observed.

[0015] Hereinafter, a state is represented by a value. A value representing a state is also referred to as a state quantity. Here, a state may be a combination of multiple elements, and the state quantity may be represented by a vector. Either a combination of state elements or an element of a state may be referred to as a state.

[0016] The state and state quantity are not limited to specific ones. For example, the state may be a state quantity expressed by a real value, such as the room temperature in the room where the control object 910 is set. Furthermore, the state may be a state quantity expressed by a binary value, such as the open / close state of an on-off valve provided in the control object 910.

[0017] The control device 100 controls the control object 910. In particular, the control device 100 calculates a control command value for the control object 910 based on estimated values ​​of states including not only the state that is the observation object but also the state that is not the observation object, and controls the control object 910 using the calculated control command value. In this respect, the control device 100 is expected to be able to calculate the control command value with a relatively high degree of accuracy.

[0018] Furthermore, the control device 100 calculates a time series of estimated state values ​​when the controlled object 910 is controlled based on the time series of provisionally set control command values ​​from the state indicated by the estimated state values. Then, the control device 100 searches for a time series of control command values ​​that brings the time series of estimated state values ​​as close as possible to the time series of a preset target state.

[0019] According to the control device 100, by estimating and evaluating the time series of the state, it is possible to estimate and evaluate the future state with higher accuracy. Furthermore, according to the control device 100, in that it estimates and evaluates the time series of the state that is not the observation target, it is possible to estimate and evaluate the future state with even higher accuracy.

[0020] The control device 100 may use a model indicating the gradient of time-varying changes in the state to calculate a time series of estimated state values ​​and search for a time series of control command values. This allows the control device 100 to use a gradient method such as backpropagation to search for a time series of control command values, thereby enabling efficient search for a time series of control command values. The control device 100 may be configured using a computer such as a personal computer (PC) or a workstation (WS).

[0021] Fig. 2 is a diagram showing an example of the configuration of the control device 100. In the configuration shown in Fig. 2, the control device 100 includes a communication unit 110, a display unit 120, an operation input unit 130, a storage unit 180, and a processing unit 190. The processing unit 190 includes a state estimation unit 191, a control sequence calculation unit 192, and a control execution unit 193.

[0022] The communication unit 110 communicates with other devices. For example, the communication unit 110 may transmit a control command value for the control target 910 and receive sensor measurement values ​​from a sensor provided in the environment 920.

[0023] The display unit 120 has a display screen such as a liquid crystal panel or an LED (Light Emitting Diode) panel, and displays various images. For example, the display unit 120 may display various data or parts thereof related to control of the control target 910, such as sensor measurement values ​​from sensors provided in the environment 920, data indicating a state that is not an observation target estimated by the control device 100, and control command values ​​for the control target 910.

[0024] The operation input unit 130 includes input devices such as a keyboard and a mouse, and receives user operations. For example, the operation input unit 130 may receive user operations for setting values ​​of hyperparameters in the control performed by the control device 100, such as the time width of a time series of control command values.

[0025] The storage unit 180 stores various data. For example, the storage unit 180 may store a model for calculating a time series of estimated state values. The storage unit 180 may also store a time series of a predetermined target state and initial values ​​of a time series of control command values ​​used to search for control command values. The storage unit 180 is configured using a storage device included in the control device 100.

[0026] The processing unit 190 performs various processes by controlling each unit of the control device 100. The functions of the processing unit 190 are performed, for example, by a CPU (Central Processing Unit) included in the control device 100 reading and executing a program from the storage unit 180.

[0027] The state estimation unit 191 receives input of data indicating states that are to be observed among states related to the control object 910, and estimates states including states that are not to be observed. For example, the state estimation unit 191 may receive input of a control command value for the control object 910 and states that are not to be observed, and output an estimated value of the states that are to be observed, and perform state estimation using a model of the control object 910.

[0028] In this case, the state estimation unit 191 also inputs the control command value transmitted to the control target 910 to the model, and also inputs a tentative estimate of the state not being observed to the model to calculate an estimate of the state being observed (obtained as an output value of the model).The state estimation unit 191 then adjusts the (tentative) estimate of the state not being observed so that the estimate of the state being observed output by the model approaches the actual measured value of the state being observed as closely as possible.If it is possible to calculate the gradient of the change in the model output (for example, the derivative of the model output), the state estimation unit 191 may adjust the (tentative) estimate of the state not being observed using a gradient method such as backpropagation.

[0029] The model used by the state estimation unit 191 is not limited to a specific one. For example, the learning method of the model used by the state estimation unit 191 is not limited to a specific method. The state estimation unit 191 may use a model obtained by supervised learning, or may use a model obtained by reinforcement learning. Alternatively, the state estimation unit 191 may use the same model as the model used by the control device 100 to obtain a time series of estimated values ​​of the state.

[0030] The control series calculation unit 192 calculates a time series of control for the control object 910 such that a time series of estimated values ​​of a state, which is an initial state that includes a state that is not an observation target and is estimated by the state estimation unit 191, comes closer to a time series of a target state. Specifically, the control series calculation unit 192 provisionally sets a time series of control command values ​​for the control object 910. This time series is also referred to as an initial value of the time series of control command values.

[0031] Then, the control series calculation unit 192 calculates a time series of estimated values ​​of the state when the control object 910 operates in accordance with the time series of set control command values, using the state including the state not being the observation target estimated by the state estimation unit 191 as the initial state. The control object 910 updates the time series of control command values ​​so that the time series of estimated values ​​of the state approaches the time series of the target state as closely as possible.

[0032] The control series calculation unit 192 repeatedly calculates the time series of the estimated values ​​of the state and updates the time series of the control command values, and searches for a time series of the control command values ​​that minimizes the difference between the time series of the estimated values ​​of the state and the time series of the target state.

[0033] The control execution unit 193 controls the control target 910 based on the time series of control command values ​​calculated by the control sequence calculation unit 192. For example, the control execution unit 193 controls the control target 910 by transmitting the first control command value (control command value at the current time) of the time series of control command values ​​calculated by the control sequence calculation unit 192 to the control target 910 via the communication unit 110.

[0034] 3 is a diagram showing an example of input and output of data in the system 1. In the following, time is expressed in time steps, and the current time (the next time step at which the control device 100 transmits a control command value for the controlled object 910) is represented as time t 0 It shall be expressed as:

[0035] In the example of FIG. 3, the state estimation unit 191 0 State s in t0 The observed value s of the state being observed * t0 Then, the state estimation unit 191 acquires the time t 0 The estimated value of the state s ~ t0 The state estimation unit 191 calculates the estimated value s of the state to be output to the control sequence calculation unit 192. ~ t0 Of these, the actual measured value of the state may be used as the value of the state to be observed, or a calculated value such as the output value of a model may be used.

[0036] The control sequence calculation unit 192 calculates the time t 0 The estimated value of the state s ~ t0 and the time series of the target state s t0 , ..., s t0+T and the initial value a of the time series of the control command value for the control object 910 t0 , ..., a t0+T-1 Then, the control sequence calculation unit 192 obtains the time series s of the estimated values ​​of the state. ~ t0 , ..., s ~ t0+T is the time series of the target state s t0 , ..., s t0+T The optimization problem is solved to get as close as possible to the time series a of the control command value. t0 , ..., a t0+T-1 Explore.

[0037] T is an integer constant that is predetermined as a time width in the time series of the control command values ​​calculated by the control series calculation unit 192. t0 , ..., s t0+T and the initial value of the time series a t0 , ..., a t0+T-1 For example, the time series of the control command values ​​may be determined in advance by a user. The control sequence calculation unit 192 may search for the time series of the control command values ​​based on the formula (1).

[0038]

[0039] argmin is a function that outputs the value of the parameter shown below argmin so that the value of the equation shown after (to the right of) argmin is minimized. Equation (1) expresses the estimated value s of the state ~ t and the goal state s t The magnitude of the difference between 0 From t 0 +T, the time series a of the control command value is t0 , ...a t0+T-1 It represents the search for.

[0040] where the estimated value of the state s~ t and the goal state s t The index of the proximity to the state is not limited to a specific one. For example, ~ t and the goal state s t As an indicator of the closeness of the state estimate s ~ t and the goal state s t The square error (s ~ t -s ̄ t ) 2 may be used.

[0041] The control sequence calculation unit 192 calculates the estimated value s of the state ~ t Time derivative ds ~ t By integrating / dt, time t 0 The estimated value of the state s ~ t0 Based on this, the time series of state estimates s ~ t0 , ..., s ~ t0+T In this case, the control sequence calculation unit 192 may calculate the estimated value s of the state using neural ordinary differential equations (Neural ODE). ~ t Time derivative ds ~ t Neural ordinary differential equations are computational models that represent ordinary differential equations using neural networks. ~ t The calculation of / dt is expressed as in equation (2).

[0042]

[0043] f is a function that represents the neural ordinary differential equation. In equation (2), the neural ordinary differential equation is a function that represents the state estimate s ~ t and the control command value a t and the estimated value of the state s ~t Time derivative ds ~ t / dt. θ represents an internal variable of the neural ordinary differential equation. The value of θ is updated by learning the neural ordinary differential equation.

[0044] State estimate s ~ t Let τ be the time parameter included in ~ t =s ~ (τ) is the time derivative of the estimated state expressed by the neural ordinary differential equation f^(s ~ (τ), a t The integral of (θ) is expressed as in equation (3).

[0045]

[0046] The control sequence calculation unit 192 calculates the state s t The estimated value of s ~ t Next state s for t+1 The estimated value of s ~ t+1 can be calculated.

[0047] In the neural ordinary differential equation, the derivative may be approximately expressed using a difference. Also, the control sequence calculation unit 192 may perform the integral calculation using a numerical integration method.

[0048] In equation (1), Σ t=t0 t0+T |s ~ t -s ̄ t can be regarded as an example of an evaluation function in which the smaller the function value, the better the evaluation. However, the evaluation function used by the control sequence calculation unit 192 to evaluate the time series of the estimated state values ​​is not limited to a specific one. For example, the control sequence calculation unit 192 may search for the time series of the control command values ​​based on equation (4) instead of equation (1).

[0049]

[0050] l(s t , a t) is the state s t Under this condition, the controlled object is controlled by the control command value a t In the example of equation (4), a cost function is used as the function l, which indicates a better evaluation as the function value becomes smaller.

[0051] Σ t=t0 t0+T l(s t , a t ) is at time t = t 0 From t = t 0 +T evaluation value l(s t , a t ) represents the sum of Σ t=t0 t0+T l(s t , a t ) is an example of an objective function.

[0052] Equation (4) is expressed as follows: 0 From t = t 0 +T evaluation value l(s t , a t ) is as small as possible, the time series a of the control command value t0 , ...a t0+T-1 It represents the search for.

[0053] The control sequence calculation unit 192 calculates the time sequence a of the control command values. t0 , ...a t0+T-1 to the control execution unit 193. Alternatively, the control sequence calculation unit 192 outputs the control command value a t0 Alternatively, only the above information may be output to the control execution unit 193.

[0054] The control execution unit 193 controls the controlled object 910 based on the control command value calculated by the control sequence calculation unit 192. Specifically, the control execution unit 193 controls the controlled object 910 based on the control command value a t0 is transmitted to the control target 910 via the communication unit 110.

[0055] 4 is a diagram showing an example of a procedure of a process performed by the control device 100. In the process of FIG. 4, the state estimation unit 191 estimates the observed value s * t0, and the estimated value s of the state including the unobserved state is calculated. ~ t0 is calculated (step S101).

[0056] Next, the control sequence calculation unit 192 calculates the time sequence a of the control command value for the control object 910. t0 , ..., a t0+T-1 For example, the control sequence calculation unit 192 calculates the time series of control command values ​​that are planned in advance by the user as the initial value a − t0 , ..., a t0+T-1 and the initial value a of the time series of the control command value is obtained as t0 , ..., a t0+T-1 It may be set to.

[0057] Next, the control sequence calculation unit 192 calculates the time series s of the estimated values ​​of the state ~ t0 , ..., s ~ t0+T is the time series of the target state s t0 , ..., s t0+T The time series a of the control command value is t0 , ..., a t0+T-1 is searched for (step S103).

[0058] Specifically, the control sequence calculation unit 192 calculates the time series s of the estimated values ​​of the state ~ t0 , ..., s ~ t0+T is the time series of the target state s t0 , ..., s t0+T The time series of control command values ​​a t0 , ..., a t0+T-1 However, in order to avoid falling into a local solution, the control sequence calculation unit 192 updates the time series s of the estimated values ​​of the state. ~ t0 , ..., s ~ t0+T is the time series of the target state s t0 , ..., s t0+T The time series a of the control command value is t0 , ..., a t0+T-1may be selected.

[0059] Next, the control sequence calculation unit 192 determines whether or not a termination condition for the search of the time series of the control command value is satisfied (step S104). The termination condition here is not limited to a specific one. For example, the termination condition in step S104 may be a condition that the loop from step S103 to step S104 has been executed a predetermined number of times or more. Alternatively, the termination condition in step S104 may be a condition that Σ in equation (1) is satisfied. t=t0 t0+T |s ~ t -s ̄ t The condition may be that the value of | is smaller than a predetermined threshold. If the control sequence calculation unit 192 determines that the termination condition is not met (step S104: NO), the process returns to step S103.

[0060] On the other hand, if the control sequence calculation unit 192 determines that the termination condition is met in step S104 (step S104: YES), the control execution unit 193 executes control on the control target 910 (step S105). 0 Control command value a t0 is transmitted to the control target 910 via the communication unit 110.

[0061] After step S105, the process returns to step S101. At this time, the time step advances by one. The control device 100 repeats the loop of steps S101 to S105 until the control of the control target 910 is completed.

[0062] As described above, the state estimation unit 191 receives input of data indicating states that are subject to observation among states related to the control object 910, and estimates states including states that are not subject to observation. The control series calculation unit 192 calculates a time series of control command values ​​for the control object 910 that improves evaluation of a time series of estimated values ​​of states that have states that are not subject to observation as initial states. The control execution unit 193 performs control on the control object 910 based on the obtained time series of control command values.

[0063] According to the control device 100, control is performed using a model that shows the relationship between the control command value for the control object 910 and the state of the control object 910, and the control command value for the control object 910 is calculated based on not only the state that is the object of observation but also the state that is not the object of observation, and therefore it is expected that the control command value can be calculated with relatively high accuracy.

[0064] Furthermore, the control series calculation unit 192 calculates a time series of control command values ​​for the control object 910 such that a time series of estimated values ​​of a state, in which a state including a state not being the observation target is set as an initial state, comes closer to a time series of a target state. According to the control device 100, when a time series of a target state is determined, such as when a user creates a control plan for the control object 910, the control object 910 can be controlled in accordance with the time series of the target state.

[0065] Furthermore, the control sequence calculation unit 192 uses a gradient model to calculate a time series of control command values ​​for the control object 910. The gradient model is a model that indicates the relationship between the state of the control object 910, the control command value for the control object 910, and the change in the state of the control object 910 over time.

[0066] The control device 100 can use a gradient method such as backpropagation to search for a time series of control command values ​​for the control object 910. In this respect, the control device 100 can efficiently search for a time series of control command values ​​for the control object 910.

[0067] Second Embodiment Fig. 5 is a diagram showing an example of the configuration of a control device according to the second embodiment. In the configuration shown in Fig. 2, the control device 200 includes a communication unit 110, a display unit 120, an operation input unit 130, a storage unit 180, and a processing unit 290. The processing unit 290 includes a state estimation unit 191, a control sequence calculation unit 192, a control execution unit 193, and a model learning unit 291.

[0068] Among the components in Figure 5, components having similar functions to those in Figure 1 are denoted by the same reference numerals (110, 120, 130, 180, 191, 192, 193), and detailed description thereof will be omitted here. The control device 200 differs from the control device 100 in that the processing unit 290 further includes a model learning unit 291 in addition to the components included in the processing unit 190 of the control device 100. In other respects, the control device 200 is similar to the control device 100. The system configuration in the second embodiment is similar to that in the first embodiment. In the second embodiment, the control device 100 in Figure 1 will be read as the control device 200.

[0069] The model learning unit 291 uses data obtained from a simulation of the control object 910 to learn a model that indicates the relationship between the state of the control object 910, the control command value for the control object 910, and the time change in the state of the control object 910. The model learning unit 291 corresponds to an example of model learning means. The control sequence calculation unit 192 calculates a time series of control command values ​​for the control object 910 using the learned model.

[0070] A model showing the relationship between the state of the control object 910, the control command value for the control object 910, and the time change in the state of the control object 910 is also referred to as a gradient model. In the following, an example will be described in which the control device 200 uses a neural ordinary differential equation as the gradient model. However, the gradient model used by the control device 200 is not limited to a specific type of model, and various models showing the gradient of the time change in the state of the control object 910 can be used.

[0071] For learning the neural ordinary differential equation, the model learning unit 291 calculates the estimated value s of the state of the control object 910. ~ t and a control command value a for the control object 910 t and the estimated value s of the next state of the control object 910 ~ t+1 The training data is obtained by combining the estimated value s of the next state of the control object 910. ~ t+1 is the estimated value s ~ tThe state s shown by t Under this condition, the control object 910 is t When operating according to t State (next state) s to transition from t+1 is an estimate of

[0072] Then, the model learning unit 291 calculates the estimated value s of the state ~ t and a control command value a for the control object 910 t is input to the neural ordinary differential equation to obtain the state estimate s ~ t Time derivative ds ~ t The model learning unit 291 calculates ds ~ t The estimated value s of the next state calculated by integrating / dt ~ t+1 is the estimated value s of the next state shown in the training data. ~ t+1 The values ​​of the internal variables of the neural ordinary differential equations are updated so that the values ​​approach the model learning unit 291. The model learning unit 291 may use a gradient method such as backpropagation to learn the neural ordinary differential equations.

[0073] As described above, the model learning unit 291 learns the gradient model using data obtained by simulating the control object 910. The gradient model is a model that indicates the relationship between the state of the control object 910, the control command value for the control object 910, and the change in the state of the control object 910 over time.

[0074] According to the control device 200, a model showing the gradient of the time change of the state (estimated value) is obtained, and the control sequence calculation unit 192 calculates the time sequence a of the control command value for the controlled object 910. t0 , ..., a t0+T-1 In this regard, the control device 200 can use a gradient method such as backpropagation to search for the time series a of the control command value for the control object 910. t0 , ..., a t0+T-1 can be calculated efficiently.

[0075] Furthermore, according to the control device 200, a model that can be used in a gradient method such as backpropagation can be obtained by learning using, as training data, data obtained by simulating the control target 910. In this respect, according to the control device 200, the cost of constructing a model is relatively low.

[0076] <Third embodiment> Fig. 6 is a diagram showing an example of the configuration of a control device according to the third embodiment. In the configuration shown in Fig. 6, a control device 610 includes a state estimation unit 611, a control sequence calculation unit 612, and a control execution unit 613.

[0077] In this configuration, the state estimation unit 611 receives input of data indicating states that are subject to observation among states related to the control object, and estimates states including states that are not subject to observation. The control sequence calculation unit 612 calculates a time series of control command values ​​for the control object that improves evaluation of a time series of estimated values ​​for states that have states that are not subject to observation as initial states. The control execution unit 613 controls the control object based on the obtained time series of control command values. The state estimation unit 611 corresponds to an example of state estimation means. The control sequence calculation unit 612 corresponds to an example of control sequence calculation means. The control execution unit 613 corresponds to an example of control execution means.

[0078] According to the control device 610, the control is performed using a model that shows the relationship between the control command value for the controlled object and the state of the controlled object, and the control command value for the controlled object is calculated based on not only the state that is the observed object but also the state that is not the observed object, and therefore it is expected that the control command value can be calculated with relatively high accuracy.

[0079] The state estimation unit 611 can be realized, for example, by using the functions of the state estimation unit 191 shown in Fig. 1. The control sequence calculation unit 612 can be realized, for example, by using the functions of the control sequence calculation unit 192 shown in Fig. 1. The control execution unit 613 can be realized, for example, by using the functions of the control execution unit 193 shown in Fig. 1.

[0080] 7 is a diagram showing an example of a processing procedure in a control method according to a fourth embodiment. The control method shown in Fig. 7 includes estimating a state (step S611), calculating a control sequence (step S612), and executing control (step S613).

[0081] In estimating a state (step S611), the computer receives input of data indicating states related to the control object that are subject to observation, and estimates states including states that are not subject to observation. In calculating a control series (step S612), the computer calculates a control time series for the control object that improves evaluation of a time series of estimated values ​​of states that have states including states that are not subject to observation as initial states. In executing control (step S613), the computer performs control on the control object based on the obtained control time series.

[0082] According to the control method shown in FIG. 7 , the control method uses a model that indicates the relationship between a control command value for a control object and a state related to the control object, and calculates the control command value for the control object based on not only the state that is the observed object but also the state that is not the observed object. In this respect, it is expected that the control command value can be calculated with relatively high accuracy.

[0083] 8 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment. In the configuration shown in FIG. 8, a computer 700 includes a CPU 710, a main memory device 720, an auxiliary memory device 730, an interface 740, and a non-volatile recording medium 750.

[0084] One or more of the above-described control devices 100, 200, and 610, or a part thereof, may be implemented in a computer 700. In this case, the operation of each of the above-described processing units is stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main storage device 720, and executes the above-described processing in accordance with the program. The CPU 710 also allocates storage areas in the main storage device 720 corresponding to each of the above-described storage units in accordance with the program. Communication between each device and other devices is executed by an interface 740 having a communication function and communicating under the control of the CPU 710.

[0085] When the control device 100 is implemented in a computer 700, the operations of the processing unit 190 and each of its units are stored in the form of a program in an auxiliary storage device 730. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main storage device 720, and executes the above-described processing in accordance with the program.

[0086] Furthermore, the CPU 710 allocates a storage area of ​​the storage unit 180 in the main storage device 720 in accordance with the program. Communication with other devices by the communication unit 110 is performed by the interface 740 having a communication function and operating under the control of the CPU 710. Display of various images by the display unit 120 is performed by the interface 740 having a display device and displaying various images under the control of the CPU 710. Reception of user operations by the operation input unit 130 is performed by the interface 740 having an input device and receiving user operations under the control of the CPU 710.

[0087] When the control device 200 is implemented in a computer 700, the operations of the processing unit 290 and each of its units are stored in the form of a program in an auxiliary storage device 730. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main storage device 720, and executes the above-described processing in accordance with the program.

[0088] Furthermore, the CPU 710 allocates a storage area of ​​the storage unit 180 in the main storage device 720 in accordance with the program. Communication with other devices by the communication unit 110 is performed by the interface 740 having a communication function and operating under the control of the CPU 710. Display of various images by the display unit 120 is performed by the interface 740 having a display device and displaying various images under the control of the CPU 710. Reception of user operations by the operation input unit 130 is performed by the interface 740 having an input device and receiving user operations under the control of the CPU 710.

[0089] When the control device 610 is implemented in the computer 700, the operations of the state estimation unit 611, the control sequence calculation unit 612, and the control execution unit 613 are stored in the form of a program in the auxiliary storage device 730. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main storage device 720, and executes the above-mentioned processing in accordance with the program.

[0090] Furthermore, the CPU 710 allocates a storage area in the main storage device 720 for the control device 610 to perform processing in accordance with the program. Communication between the control device 610 and other devices is performed by the interface 740, which has a communication function and operates under the control of the CPU 710. Interaction between the control device 610 and a user is performed by the interface 740, which has a display device and an input device, displaying various images under the control of the CPU 710 and accepting user operations.

[0091] One or more of the above-described programs may be recorded on nonvolatile recording medium 750. In this case, interface 740 may read the programs from nonvolatile recording medium 750. Then, CPU 710 may directly execute the programs read by interface 740, or may temporarily store the programs in main storage device 720 or auxiliary storage device 730 and then execute them.

[0092] Alternatively, a program for executing all or part of the processing performed by the control devices 100, 200, and 610 may be recorded on a computer-readable recording medium, and the program may be loaded into a computer system and executed to perform the processing of each unit. The term "computer system" as used herein includes hardware such as an OS and peripheral devices. The term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs (Read Only Memory), and CD-ROMs (Compact Disc Read Only Memory), as well as storage devices such as hard disks built into the computer system. The program may be designed to implement part of the aforementioned functions, or may be capable of implementing the aforementioned functions in combination with a program already stored in the computer system.

[0093] Although an embodiment of the present invention has been described above in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and includes designs within the scope of the gist of the present invention.

[0094] The present invention may be applied to a control device, a control method, and a recording medium.

[0095] 1 System 100, 200, 610 Control device 110 Communication unit 120 Display unit 130 Operation input unit 180 Storage unit 190, 290 Processing unit 191, 611 State estimation unit 192, 612 Control sequence calculation unit 193, 613 Control execution unit 291 Model learning unit 910 Control target 920 Environment

Claims

1. a state estimation means for receiving input of data indicating states that are to be observed among states related to the controlled object and estimating states including states that are not to be observed; a control sequence calculation means for calculating a time series of control command values ​​for the controlled object so as to improve evaluation of a time series of estimated values ​​of a state in which a state including a state not being the observed object is an initial state; and a control execution means for controlling the control target based on the time series of the obtained control command values; A control device comprising:

2. the control series calculation means calculates a time series of control command values ​​for the controlled object such that a time series of estimated values ​​of a state, which is an initial state including a state not being the observed object, approaches a time series of a target state. The control device according to claim 1 .

3. the control sequence calculation means calculates a time sequence of the control command values ​​using a model indicating a relationship between a state of the controlled object, a control command value for the controlled object, and a time change in the state of the controlled object; The control device according to claim 1 or 2.

4. A model learning means for learning a model showing the relationship between the state of the controlled object, the control command value for the controlled object, and the time change of the state of the controlled object, using data obtained by simulating the controlled object. Further provided with The control device according to claim 3 .

5. The computer receiving input of data indicating states of the controlled object that are to be observed, and estimating states including states that are not to be observed; Calculating a time series of control for the control object that improves evaluation of a time series of estimated values ​​of states in which a state including a state not being the observation object is an initial state; Controlling the control target based on the obtained time series of control. A control method comprising:

6. On the computer, receiving input of data indicating states that are to be observed among states related to a controlled object, and estimating states including states that are not to be observed; Calculating a time series of control for the control object that improves evaluation of a time series of estimated values ​​of states in which a state including a state not being the observation object is set as an initial state; performing control on the control target based on the obtained time series of control; A program to execute.