Prediction system, control device, and control method
Patent Information
- Application Number
- JP2022084824
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-05-24
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2042-05-24
AI Technical Summary
Existing methods for predicting robot behavior in complex environments require complex processing and calculations, leading to delays and insufficient prediction accuracy, especially in unknown areas or extrapolation zones.
A prediction system that utilizes a first prediction model to calculate parameters for a second prediction model, allowing for efficient prediction without the need to regenerate models each time, using a combination of a neural network and linear regression models to minimize errors.
The system achieves sufficient prediction accuracy while reducing processing complexity, enabling effective control of multiple robots in complex environments.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a technique for predicting targets using a trained predictive model. [Background technology]
[0002] Robot-based automation is in demand in various fields such as production lines and logistics sites, and efforts are being made to achieve this. In complex environments where multiple robots coexist, physical interference between robots, such as collisions between robot arms, can occur, requiring complex control to appropriately coordinate multiple robots. Since it is difficult to design all such complex control in advance, a data science approach is indispensable. However, even with a data science approach, using models with large degrees of freedom may not yield sufficient prediction accuracy in unknown or extrapolated areas. To address this, there is a method that uses local regression models to improve prediction accuracy in unknown and extrapolated areas.
[0003] Patent Document 1 discloses a state prediction device that predicts the state of a product using a local regression model. The state prediction device of Patent Document 1 extracts actual data with manufacturing conditions similar to the manufacturing conditions to be predicted as neighbor training data, generates a locally weighted regression model for predicting the items to be predicted using the neighbor training data, and calculates a predicted error value using the locally weighted regression model. Furthermore, when a certain manufacturing condition of the item to be predicted is an extrapolated state that exists outside the range of the neighbor training data, the state prediction device excludes that manufacturing condition from the neighbor training data before performing the regression calculation. [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2018-10521 [Overview of the project] [Problems that the invention aims to solve]
[0005] The technology disclosed in Patent Document 1, when making a prediction for a certain point, determines the neighborhood of the point to be predicted, extracts actual data from that neighborhood as neighborhood training data, generates a locally weighted regression model from that neighborhood training data, and performs the prediction using that regression model. In other words, it is necessary to determine the neighborhood, extract neighborhood training data, and generate a regression model each time a prediction is made, making the process cumbersome. Furthermore, the method for determining the neighborhood in Patent Document 1 is also cumbersome. The complexity of the process increases the amount of computation, which can cause control delays.
[0006] One of the objectives of this disclosure is to provide a technology that enables sufficient prediction accuracy while reducing the complexity of the processing required for each prediction. [Means for solving the problem]
[0007] A prediction system according to one aspect of the present disclosure is a prediction system that predicts an output value, which is the value of an output variable, from an input value, which is the value of an input variable to be predicted, and comprises a storage device for storing a software program and a processor for executing the software program, wherein the processor executes the software program to realize a model management unit that manages a second prediction model that predicts the output value from the input value and a first prediction model that calculates the parameters of the second prediction model based on the input value, and a prediction execution unit that predicts the output value for the input value using the second prediction model to which the parameters calculated by the first prediction model have been applied, wherein the model management unit designates one or more training data points in the vicinity of a certain training data point included in the training data used to generate the first and second prediction models as neighboring data, and updates the parameters of the first prediction model to minimize the error that occurs in the value of the output variable calculated by the first and second prediction models from the input variable value of the neighboring data. [Effects of the Invention]
[0008] According to one aspect included in the present disclosure, it becomes possible to obtain sufficient prediction accuracy while suppressing the complexity of the processing for each prediction.
Brief Description of Drawings
[0009] [Figure 1] It is a block diagram showing a control system according to the first embodiment. [Figure 2] It is a block diagram showing the hardware configuration of the control device. [Figure 3] It is a flowchart of the overall processing executed by the prediction system. [Figure 4] It is a conceptual diagram for explaining the prediction model generated by the model management unit. [Figure 5] It is a flowchart of the prediction process in the first embodiment. [Figure 6] It is a conceptual diagram showing the state where two input variables of the second prediction model are selected. [Figure 7] It is a diagram showing the state where the response surface is displayed. [Figure 8] It is a conceptual diagram showing the field system of the first embodiment. [Figure 9] It is a block diagram of a control system according to the second embodiment. [Figure 10] It is a simplified conceptual diagram of a cold rolling mill. [Figure 11] It is a block diagram of a control system according to the third embodiment. <00 (First Embodiment)
[0012] FIG. 1 is a block diagram showing a control system according to the first embodiment.
[0013] The control system 10 includes a control device 11, a management terminal 12, controlled devices 13, 14, and a controller 15.
[0014] The control device 11 is a device that performs calculations for controlling the on-site controlled devices 13, 14.
[0015] The management terminal 12 is a terminal device that provides a user interface for screen display, information input, and operation of the control device 11. For example, an administrator can create training data based on performance data or view the results of visualization processing on the control device 11 on the screen.
[0016] The controlled device 13 is a device that operates based on a control command from the control device 11. As an example, the controlled device 13 is a robot arm device that incorporates a controller for performing inverse kinematics calculation and simple trajectory planning and performs operations on articles on the line. The controlled device 13 can move the arm to a coordinate position specified by the control device 11.
[0017] The controlled device 14 is a device that operates based on a command signal from the controller 15 that has received a control command from the control device 11. As an example, the controlled device 14 is a line transfer device that transfers articles on the line.
[0018] The controller 15 is a device that outputs a command signal to the controlled device 14 based on a control command received from the control device 11.
[0019] The control device 11 has a prediction system 20, a collection unit 25, a planning unit 26, and a communication unit 27.
[0020] The prediction system 20 is a system that learns from training data to generate a prediction model, provides the prediction model with input values for the input variables to be predicted, and calculates the output values of the output variables, which are the prediction results.
[0021] The data collection unit 25 is a device that collects data from the controlled devices 13 and 14. The data collection unit 25 collects actual data from the controlled devices 13 and 14, creates training data based on that actual data, and provides the training data to the prediction system 20.
[0022] The planning unit 26 is a device that generates control commands for the controlled devices 13 and 14 based on the prediction results of the prediction system 20, and applies those control commands to the controlled devices 13 and 14. The control commands are applied directly to the controlled device 13, and to the controlled device 14 via the controller 15. For example, the planning unit 26 generates the best control commands by repeatedly using the prediction calculations of the prediction system 20 to realize control according to a predetermined plan, and transmits them to the controlled devices 13 and / or the controller 15.
[0023] The communication unit 27 is a device that performs data communication with the management terminal 12, the controlled device 13, and the controller 15.
[0024] The prediction system 20 includes a model management unit 21, a prediction execution unit 22, an interface management unit 23, and a data management unit 24.
[0025] The model management unit 21 learns from the training data provided by the collection unit 25 and generates a predictive model. The predictive execution unit 22 uses this predictive model to apply the values of the input variables provided by the planning unit 26 to the predictive model, calculates the values of the output variables, and returns them to the planning unit 26. The model management unit 21 also updates the predictive model based on the training data. Details of the processes performed by the model management unit 21 and the predictive execution unit 22 will be described later.
[0026] The interface management unit 23 accepts connections from the management terminal 12 and provides various user interfaces to the administrator operating the management terminal 12. The administrator operating the management terminal 12 can use the user interfaces provided by the interface management unit 23 to create training data, register various parameters, check learning result metrics on the screen, and check response phases on the screen.
[0027] The data management unit 24 records and manages various types of data, including actual data obtained through control execution, training data created based on the actual data, and prediction models and their parameters.
[0028] Figure 2 is a block diagram showing the hardware configuration of the control unit.
[0029] The control device 11 is a computer connected to a communication network, and its hardware includes a processor 31, main memory 32, storage device 33, and communication device 34, which are connected to a bus 35.
[0030] The storage device 33 stores data in a writable and readable format, and various data from the data management unit 24 shown in Figure 1 are stored in this storage device 33. The processor 31 reads the data stored in the storage device 33 into the main memory 32 and uses the main memory 32 to execute the processing of the software program. By executing the software program, the model management unit 21, prediction execution unit 22, interface management unit 23, collection unit 25, and planning unit 26 shown in Figure 1 are realized. The communication device 34 transmits the information processed by the processor 31 via the communication network and provides the information received via the communication network to the processor 31 for processing. The received information is used by the processor 31 for software processing.
[0031] Figure 3 is a flowchart of the overall process performed by the prediction system.
[0032] In step 101, the model management unit 21 executes the learning process. The learning process involves learning from training data to generate a predictive model.
[0033] Figure 4 is a conceptual diagram illustrating the prediction models generated by the model management unit. As shown in Figure 4, the model management unit 21 generates a first prediction model and a second prediction model.
[0034] The first prediction model is a prediction model that calculates the parameter θg of the second prediction model based on the value of the input variable (input value) x. The second prediction model calculates the predicted value y of the output variable y from the value of the input variable x. ~ This is a predictive model that calculates [the result].
[0035] More specifically, the first prediction model of this embodiment is a prediction model that takes k data points (neighborhood data) that are close to the input value to be predicted as input and outputs the parameters of the second prediction model. The second prediction model then applies the parameters calculated by the first prediction model and takes the input value and its k neighboring data points as input and calculates a predicted value of the output value for the input value. The neighboring data points are k data points in the actual data where the input variable and output variable form a pair, and the value of the input variable is close to the input value. k is a natural number that can be set arbitrarily.
[0036] If k=1, the first and second prediction models can be expressed as shown in equations (1) and (2), respectively. Note that k=1 is an example and is not limiting. k can be arbitrarily set by the administrator from the management terminal 12 and may be 2 or greater.
[0037]
number
[0038] x is the input variable. y is the output variable. ~θf is the predicted value of the output variable for the input value x. f is a function representing the first prediction model. g is a function representing the second prediction model. θf is a parameter of the first prediction model. N x k (x) is the input to the k-neighborhood of x. In equations (1) and (2), k=1. θg is a parameter of the second prediction model. For example, the first prediction model may be a neural network and the second prediction model may be a linear regression model. A and B are the slope and intercept of the regression line when the second prediction model is a linear regression model, and are parameters of the second prediction model. However, the model structures of the first and second prediction models are not limited to this example.
[0039] Returning to Figure 3, in step 102, the prediction execution unit 22 performs the prediction process.
[0040] Figure 5 is a flowchart of the prediction process in the first embodiment.
[0041] In step 201, the prediction execution unit 22 calculates the parameters of the second prediction model by inputting neighboring data of the input value x to be predicted into the first prediction model. Subsequently, in step 202, the prediction execution unit 22 applies the parameters calculated by the first prediction model to the second prediction model, inputs the input value x and neighboring data into the second prediction model, and obtains the predicted value of the output variable calculated by the second prediction model.
[0042] The prediction results from the prediction execution unit 22 are converted into control commands by the planning unit 26 and applied to the controlled devices 13 and 14. The collection unit 25 acquires pairs of output and input values applied to the controlled devices 13 and 14 as actual data.
[0043] As described above, when the prediction execution unit 22 performs a prediction in step 102, the learning process by the model management unit 21 in step 101 has finished, and the learning process is not included in the prediction process. Therefore, in this embodiment, it is not necessary to generate a prediction model each time a prediction is made.
[0044] Next, in step 103, the model management unit 21 updates the parameters of the first prediction model based on the training data used to generate the first and second prediction models. At this time, the model management unit 21 updates the parameters of the first prediction model using, for example, the backpropagation method.
[0045] More specifically, as an example, the model management unit 21 focuses on a certain training data contained in the accumulated training data, designates other k training data in the vicinity of that training data as neighboring data, calculates the value of the output variable using the input variable values of the neighboring data using the first and second prediction models, and updates the parameters of the first prediction model to minimize the error (objective function) between the calculated output variable value and the output variable value of the neighboring data. The objective function can be expressed as E in equation (3). In equation (3), the training data of interest is (xi, yi), and its neighboring data is (N x k (xi), N y k (yi))
[0046]
number
[0047] In this embodiment, the objective function was constructed based on MSE (Mean Squared Error) as shown in equation (3), but it is not limited to this. As another example, the objective function may be constructed using other methods such as MAE (Mean Absolute Error) or hinge loss error. Also, here we have shown an example in which k neighboring data points are extracted from the training data and used in the objective function, but it is not limited to this. As another example, instead of extracting neighboring data points from the training data, the training data points closer to the training data point of interest may be given greater weight and used to calculate the error (objective function).
[0048] Furthermore, in this embodiment, the model management unit 21 may update the parameters of the first prediction model to minimize the objective function obtained by adding the regularization term and constraints of the parameters of the second prediction model (for example, in the case of a linear regression model, a constraint that the slope is positive) to the above error.
[0049] Furthermore, the prediction system 20 of this embodiment provides the administrator with various user interfaces. The interface management unit 23 may display a three-dimensional response surface formed by the two input variables and one output variable of the selected second prediction model. For example, an attention mechanism may be used to select two input variables that contribute significantly to the second prediction model. Alternatively, the administrator may arbitrarily select the two input variables of the second prediction model. In addition, plots of the data to be predicted and neighboring data may be displayed along with the response surface.
[0050] Figure 6 is a conceptual diagram showing how the two input variables were selected for the second prediction model. Figure 7 shows the response surface.
[0051] In the example in Figure 6, the second prediction model has three input variables: x1, x2, and x3. The hatched areas in Figure 6 represent regions representing the two selected input variables. In the example in Figure 6, two input variables, x1 and x2, are selected from the three input variables. Referring to Figure 7, the response phase P1 of the local linear regression model is shown on a three-dimensional space with the two selected input variables x1 and x2 and one output variable y as the three axes. The target of prediction and the training data in its vicinity are also shown by plots.
[0052] Furthermore, while this embodiment shows examples where the controlled devices 13 and 14 are robotic arm devices and line transport devices located on a manufacturing line or logistics warehouse, the embodiment is not limited to these. As another example, the controlled devices 13 and 14 could be rolling mills that transport workpieces using a transport device to produce uniformly shaped metal sheets, with the control device 11 achieving shape control. In addition, various devices such as PSS (Power System Stabilizer) in power supply systems or automated material property exploration robots in materials informatics can be used as controlled devices 13 and 14.
[0053] As described above, according to this embodiment, in a system in which, for example, items are moved between work areas by a belt conveyor and work is performed on the items by a robot arm in the work area, the operation of the belt conveyor and the robot arm can be appropriately controlled, making it possible to perform work efficiently and maintain throughput without having to place a large number of items in a buffer immediately before the work area. As a result, the physical area of the buffer provided immediately before the work area can be reduced.
[0054] The following describes some more specific examples of the first embodiment.
[0055] (1) First embodiment
[0056] In the first embodiment, an example is provided of a configuration that enables on-site control of work performed by a robotic arm on items transported by a belt conveyor. The control system 10 of the above embodiment controls a robotic arm that includes a controller and a belt conveyor controlled via an external controller 15. The work performed by the robotic arm includes transporting, palletizing, assembling, and painting parts in the manufacturing of products. More specifically, this includes soldering electronic components onto circuit boards for in-vehicle equipment and assembling in-vehicle equipment. The belt conveyor transports parts, semi-finished products, and finished products, and the robotic arm pallets the parts transported by the belt conveyor, solders or paints (prints) parts on semi-finished products, and assembles the products.
[0057] In this embodiment, the control device 10 provides the robot arm with control commands for the tip coordinates and gripping state. A controller within the robot arm plans the robot arm's trajectory, the control device 10 modifies this trajectory plan and provides it to the robot arm, and the robot arm's controller performs PID control such as joint angles. In this embodiment, the objects grasped and moved by the robot arm include items with a weight that affects the robot arm's operation. A single robot arm will not operate according to the ideal trajectory plan if the grasped object is heavy, due to displacement caused by the weight and movement delays caused by the moment. In this embodiment, a force sensor is provided on the robot arm, and the trajectory plan is corrected by a predictive model based on the force information acquired by the force sensor.
[0058] The prediction model is constructed to take as input the final target robot arm tip coordinates and gripping state, the result of the trajectory planning performed by the robot arm's controller, the measured tip coordinates and gripping state of the robot arm, and the measured state of the conveyor belt transporting the item the robot arm is working on, and to output the next robot arm tip coordinates and gripping state as the prediction result. The control device 10 corrects the trajectory planning performed by the robot arm's controller based on the prediction result from the prediction model, and generates control commands for the robot arm from the corrected trajectory plan. The prediction model consists of a first prediction model and a second prediction model, the first prediction model being a neural network, and the second prediction model being a linear regression equation.
[0059] Figure 8 is a conceptual diagram showing the field system of the first embodiment. The field system 50 includes a robot arm 13A, a belt conveyor 14A, and a controller 15A.
[0060] The robot arm 13A has links 59, joints 51, a gripper 52, and a controller 53. The links 59 are connected to each other at an angle by the joints 51. A gripper 52 is connected to the tip. The gripper 52, for example, has two claws that open and close by changing the relative angle from a pivot point, and gripping and releasing are performed by opening and closing the claws. Actuators driven by servo motors are provided at each joint 51 and gripper 52.
[0061] The robot arm 13A can assume a desired posture by changing the angle of the joint 51 using actuators. The servo motor is equipped with a sensor, which sequentially measures the angle and torque, and the measurement results are input to the controller 53.
[0062] The gripper 52 performs a gripping motion by changing its angle using an actuator. The servo motor of the gripper 52 is equipped with a sensor, which sequentially measures the angle and torque. A force sensor is also installed between the tip-side link 59 and the gripper 52. The force sensor sequentially measures force information, including reaction force and moment. The measurement results of angle, torque, and force information are input to the controller 53.
[0063] The control device 11 transmits the tip coordinates and gripping state of the robot arm 13A to the controller 53 as control commands. The tip coordinates are coordinates indicating the position where the gripper 52, located at the tip of the robot arm 13A, should be moved. The gripping state indicates the state of the gripper 52, which has two states: gripping, where an object 59 or the like is grasped, and not gripping, where nothing is grasped.
[0064] The controller 53 receives the tip coordinates and gripping state as control commands from the control device 11, the angle and torque measured from the sensor of the server motor of the joint 51, the angle and torque measured from the sensor of the gripper 52, and the reaction force and moment measured from the force sensor of the gripper 52.
[0065] The controller 53 performs inverse kinema calculation and trajectory planning based on the tip coordinates of the control command to determine the time transition of the angles of each joint 51 in order to move the tip of the robot arm 13A from its current position to the position indicated in the control command. The algorithm for trajectory planning is not particularly limited. For example, the time transition of the angles of each joint 51 may be determined so that the tip of the robot arm 13A moves along a smooth trajectory. The controller 53 controls the angles of each joint 51 by PID control based on the time transition of the determined angles of each joint 51 and the measurement results of the angle and torque measured by the sensors of each joint 51. Specifically, the controller 53 controls, for example, the voltage and current supplied to the servo motors that drive the actuators of each joint 51.
[0066] Furthermore, the controller 53 transmits the actual tip coordinates, gripping state, and force information measured as a result of the above control to the control device 11.
[0067] Meanwhile, the control device 11 receives the tip coordinates, gripping state, and force information of the control result from the controller 53 as actual data. The control device 11's collection unit 25 collects the actual data from the controller 53 and sends it to the prediction system 20. The actual data becomes part of the input variable x for the first prediction model and the second prediction model in the prediction execution unit 22.
[0068] Furthermore, actual data, namely tip coordinates and gripping state, is stored by the data management unit 24. The collection unit 25 then creates training data based on the stored actual data. Training data can be created by combining various information input to the prediction model at a certain time t and the prediction result output from the prediction model with the actual data acquired at the next time t+1. During learning, the prediction model should be updated to minimize the error between the prediction result and the actual data according to the objective function described above.
[0069] In the control device 11, the model management unit 21 constructs a first prediction model for the robot arm and a second prediction model for the robot arm by learning training data, and also updates the first prediction model for the robot arm.
[0070] The input variables x of the first prediction model for the robot arm and the second prediction model for the robot arm include the final tip coordinates and the final state of the gripping state of the robot arm 13A as the ultimate goal, the result of the trajectory planning performed by the controller 53 of the robot arm 13A, the performance data of the robot arm 13A given via the collection unit 25 from the controller 53, and the performance data of the belt conveyor 14A given from the controller 15A. The control command for the robot arm 13A includes the planned tip coordinates and gripping state of the robot arm 13A. The performance data of the robot arm 13A includes the actual tip coordinates, gripping state, and force sensing information of the robot arm 13A. The performance data of the belt conveyor 14A includes the rotation speed as the control result of the belt conveyor 14A.
[0071] The output y of the second prediction model for the robot arm ~ is the predicted result of the next tip coordinates and gripping state of the robot arm 13A. By using the second prediction model for the robot arm, it is possible to predict the tip coordinates and gripping state in consideration of the weight of the object held. The planning unit 26 creates a trajectory plan corrected by using a plurality of prediction operations using the second prediction model for the robot arm, and generates a control command to be given to the robot arm 13A based on the corrected trajectory plan. A specific example of the process of generating a control command by repeatedly using a plurality of prediction operations will be described later.
[0072] On the other hand, the belt conveyor 14A includes a belt 54, a motor 55, and a pulley 56, and is a device that linearly conveys the article 59 placed on the belt 54 by rotating the pulley 56 around which the annular belt 54 is wound by the motor 55. The belt conveyor 14A can control the speed at which the article 59 on the belt 54 is moved by the rotation speed of the motor 55.
[0073] The control device 11 provides the controller 15A with a control command specifying the rotational speed of the motor 55. The rotational speed is the number of rotations per unit time, for example, the number of rotations per minute. The controller 15A uses PID control to calculate the voltage and current values to be applied to the motor 55 in order to control it to the rotational speed specified in the control command, and provides these values to the motor 55 as manipulated variables.
[0074] Furthermore, the belt conveyor 14A is equipped with an encoder. The encoder measures the actual rotational speed of the motor 55. The rotational speed measured by the encoder is output to the controller 15A and used for PID control, and is also transmitted from the controller 15A to the control device 11 as actual data.
[0075] The controller 15A controls the belt speed or motor speed of the belt conveyor 14A by PID control based on the target motor speed indicated in the given control command and the motor speed measured by the encoder of the belt conveyor 14A. Specifically, the controller 15A controls, for example, the voltage and current supplied to the motor 55.
[0076] The control device 11 receives the rotational speed as actual data from the controller 15A. The control device 11's data collection unit 25 collects the actual data from the controller 15A and sends it to the prediction system 20. The actual data becomes part of the input variable x for the first prediction model and the second prediction model in the prediction execution unit 22.
[0077] Furthermore, performance data, i.e., rotation speed, is stored by the data management unit 24. The collection unit 25 then creates training data by adding label information entered from the management terminal 12 to the stored performance data.
[0078] In the control device 11, the model management unit 21 builds and updates a first prediction model for the belt conveyor and a second prediction model for the belt conveyor by learning from training data.
[0079] The input variable x for the first and second prediction models for the belt conveyor includes control commands for the belt conveyor 14A provided by the planning unit 26, actual data of the belt conveyor 14A provided by the controller 3 via the data collection unit 25, and actual data of the robot arm 13A provided by the controller 53 of the robot arm 13A. The control commands for the belt conveyor 14A provided by the planning unit 26 include the rotational speed of the motor 55 of the belt conveyor 14A that is planned by the planning unit 26. The actual data of the belt conveyor 14A includes the actual rotational speed of the motor 55 of the belt conveyor 14A. The actual data of the robot arm 13A includes the tip coordinates and gripping state.
[0080] Output y of the second prediction model for belt conveyors ~ This becomes a control command to be given to the controller 15A. The control command given to the controller 15A is a control command that reflects actual data in addition to the planned control command given by the planning unit 26, and specifies, for example, the belt speed or the rotational speed of the motor 55. The belt speed corresponds to the rotational speed of the motor of the belt conveyor.
[0081] Here, an example of the process by which the planning unit 26 generates the best control command for the robot arm 13A by repeatedly using the prediction calculations performed by the prediction system 20 is shown below.
[0082] First, the planning unit 26 calculates the optimal tip position for each robot arm individually and executes a trajectory plan. Next, the planning unit 26 checks whether interference occurs based on the trajectory information of each arm obtained from the trajectory plan. Interference here includes not only the gripper 52 at the tip but also interference of the link 59. If no interference occurs, the planning unit 26 adopts the current solution. If interference occurs, the planning unit 26 executes the trajectory plan again for fine-tuning. The above fine-tuning is explained below.
[0083] As an example, in the above minor modification, if the current trajectory plan causes interference between two arms, the planning unit 26 may perform a trajectory plan again for the combination of two arms that interfere and search for a trajectory that does not cause interference. Here, we have described performing a trajectory plan again for the combination of two arms that interfere, but other processes are also possible. For example, the trajectory plan may be performed again for the controlled objects within a range that includes the combination of two arms that interfere. In this case, the range for which the trajectory plan is performed again may include not only arms but also conveyor belts. Also, although interference between arms has been described here, interference between arms and conveyor belts can be avoided with the same process. As another example, the planning unit 26 may perform a trajectory plan again for each of the two arms that interfere in the current trajectory plan. If the trajectory plan involves random search, a different trajectory will be obtained in the current trajectory plan than in the previous one. Based on the information of the arm trajectories obtained in the current trajectory plan, it may be checked whether interference occurs, and if interference occurs, the trajectory plan may be performed again, and this process may be repeated until no interference occurs.
[0084] In the above minor modifications, instead of or in combination with the method of re-executing the trajectory plan described above, one of the interfering robot arms may, for example, wait until the other robot arm has finished moving. The planning unit 26 divides a predetermined unit of time into a predetermined number of blocks based on the trajectory information of each robot arm, proceeds with the movement of the robot arms in block units to check whether interference occurs, and if interference occurs, the movement of one robot arm in that block may be made to wait until the movement of the other robot arm in that block has finished.
[0085] In this embodiment, complex control that appropriately coordinates multiple robots becomes possible.
[0086] In this embodiment, a belt conveyor that transports items in a straight line was used as an example, but the invention is not limited to this. As another example, the control device 11 can similarly control an xyz table that can move items in three-dimensional space.
[0087] Furthermore, while this embodiment shows an example where the controller 15A transmits measured data of the motor 55's rotational speed to the control device 11, it is not limited to this. As another example, the controller 15A may calculate the state of the belt conveyor 14A based on the rotational speed measured by the belt conveyor 14A's encoder and transmit this state information to the control device 11. The form of the state of the belt conveyor 14A is not particularly limited, but it may be indicated, for example, by the belt speed.
[0088] Furthermore, while this embodiment illustrates a robot arm equipped with a gripper that grasps an article by opening and closing two claws, the robot arm may also be equipped with a gripper that uses a suction mechanism to pick up an article.
[0089] Furthermore, although this embodiment shows an example in which a prediction model for the robot arm and a prediction model for the belt conveyor are constructed separately, the configuration is not limited to this. The control of the robot arm 13A and the belt conveyor 14A may be realized with a single prediction model. For example, in applications where the robot arm 13A and the belt conveyor 14A work together to perform tasks on the item 59, it may be preferable to realize the control of the robot arm and the belt conveyor with a single prediction model.
[0090] As described above in the first embodiment, interference of the robot arm can be reduced, and work on objects can be controlled effectively. Currently, the APIs (Application Programming Interfaces) of robot arms and belt conveyors provided by various companies are unique to each company or product. Therefore, it is difficult to implement simulations and control, such as interference checks, that handle multiple products across different systems. Specifically, running physical simulators for multiple robots with existing trajectory planning engines can be difficult or costly due to differences in APIs. In contrast, as in this embodiment, by constructing a separate integrated control system that unifies the simulators in the form of a predictive model, without using the unique APIs of each company or product, it becomes possible to implement simulations and control across multiple products.
[0091] (2) Second Example
[0092] In the second embodiment, an example of a configuration that enables control at the cold rolling site is provided. The control system 10 of the above-described embodiment controls the cold rolling machine.
[0093] In this embodiment, time-series data of manual operations performed on the cold rolling mill by humans is accumulated, and the control device 10 attempts to automate the control of the cold rolling mill based on this accumulated data.
[0094] The prediction model is constructed to take the target plate shape, the shape of the material to be rolled into the cold rolling mill, the current state of the cold rolling mill, and the next operation as inputs, and to output the next state of the mill and the plate shape as prediction results. The prediction model consists of a first prediction model and a second prediction model; the first prediction model is a neural network, and the second prediction model is a linear regression equation.
[0095] Figure 9 is a block diagram of the control system according to the second embodiment. The control system of the second embodiment shown in Figure 9 differs from the control system shown in Figure 1 in that there is no controlled device containing the controller. In the second embodiment, the controlled device at the site is the cold rolling mill 14B.
[0096] Figure 10 is a simplified conceptual diagram of a cold rolling mill. The cold rolling mill 14B includes backup rolls 61, work rolls 62, leveling rolls 63, coolant injectors 64, and shape gauges 65. Multiple pairs of leveling rolls 63 are arranged in the direction of travel of the rolled material 66, indicated by arrows in the figure, and in the direction of the plate width perpendicular to it, and the leveling position can be specified for each. Multiple coolant injectors 64 are arranged in the direction of the plate width, and the amount of coolant injected can be specified for each.
[0097] The cold rolling mill 14B passes the material to be rolled 66 through a pair of work rolls 62 set to a desired roll gap via a contacting backup roll 61, and levels the material to be rolled 66 with multiple leveling rolls 63 to produce a sheet of the desired shape. The shape of the sheet refers to the degree of curvature of the sheet. During this process, the appropriate amount of coolant is injected from the coolant injector 64 to the appropriate position on the work rolls 62 at the appropriate timing. The shape meter 65 measures the shape of the sheet after processing. The shape meter 65 consists of multiple distance measuring instruments arranged in the width direction of the sheet. In the cold rolling mill 14B, the shape of the sheet is used as the control variable, and the rotation speed of the work rollers 62, the leveling position of each leveling roller 63, and the amount of coolant injected are used as the manipulated variables for control.
[0098] The control device 11 transmits the rotational speed of the work roller 62, the leveling position of the leveling roller 63, and the amount of coolant injected as control commands to the controller 15B.
[0099] The controller 15B inputs control commands from the control device 11 to each part of the cold rolling mill 14A.
[0100] Furthermore, the shape of the board measured by the shape meter 65 is input to the controller 15B as actual measurement data, and this actual measurement data is sent from the controller 15B to the control device 11. In the control device 11, the collection unit 25 acquires the actual data and sends it to the prediction system 20. The actual data becomes part of the input variable x for the first prediction model and the second prediction model in the prediction execution unit 22.
[0101] Furthermore, performance data is stored by the data management unit 24. The collection unit 25 then creates training data by adding label information to the stored performance data. The labels added to the measured data at this time are, for example, the difference between the target shape of the board and its actual shape.
[0102] In the control device 11, the model management unit 21 constructs a first prediction model and a second prediction model by learning from training data, and also updates the first prediction model.
[0103] The input variables x for the first and second prediction models include the target plate shape provided by the planning unit 26, actual data provided by the controller 15B via the data collection unit 25, the current state of the equipment, and the amount of operation to be performed next. The current state of the equipment includes the rotational speed of the work roller 62, the leveling position of the leveling roller 63, and the amount of coolant injected by the coolant injector 64. The amount of operation to be performed next also includes the rotational speed of the work roller 62, the leveling position of the leveling roller 63, and the amount of coolant injected by the coolant injector 64.
[0104] Output y of the second prediction model ~ This becomes a control command to be given to the cold rolling mill 14B. The control command given to the controller 53 also includes the operation quantities for the next operation, such as the rotational speed of the work roller 62, the leveling position of the leveling roller 63, and the amount of coolant injected by the coolant injector 64.
[0105] The planning unit 26 selects the operation that will bring the shape of the board closest to the target shape as the next operation to perform, and sets the amount of that operation as a control command to the controller 15B.
[0106] According to the second embodiment described above, it is possible to manufacture highly accurate plates by suitably controlling the shape of the plate.
[0107] (3) Third embodiment
[0108] In the third embodiment, we illustrate a configuration that enables the control of an automated property search robot that measures the physical properties of a product obtained by blending multiple materials using a robot that weighs the materials and puts them into a mixing container, and searches for a blend that yields a product with desired physical properties. The automated property search robot is, for example, a robot that produces chemicals, pharmaceuticals, food, or oil. A good example of a chemical is plastic produced by mixing polymers, resins, and additives. In the case of plastic, the physical properties to be measured include gloss, fluidity, bending stiffness, elongation at fracture, and softening temperature.
[0109] In this embodiment, data showing the relationship between previously performed material formulations and the physical properties of the resulting products has been accumulated, and the control device 10 controls the automated physical property search robot based on this accumulated data.
[0110] The prediction model is constructed to take the material composition as input and output the physical properties of the resulting product as a prediction. The prediction model consists of a first prediction model and a second prediction model; the first prediction model is a neural network, and the second prediction model is a linear regression equation.
[0111] Figure 11 is a block diagram of the control system according to the third embodiment. The control system of the third embodiment shown in Figure 11 differs from the control system shown in Figure 1 in that there is no controlled device that does not contain a controller. In the third embodiment, the controlled device at the site is the automated physical property exploration robot 13C.
[0112] Figure 12 is a simplified block diagram of the automated physical property exploration robot. The automated physical property exploration robot 13C has multiple material input devices 71, a mixing device 72, a physical property measuring instrument 73, and a controller 74. The material input device 71 is a device that puts a specified amount of a specified material into a container 72. The mixing device 72 is a device that mixes multiple materials put in by the multiple material input devices 71 in the container to produce a product. The physical property measuring instrument 73 is a measuring instrument that measures the physical properties of the product produced in the container. The controller 74 controls the material input devices 71 and the mixing device 72 according to control commands from the control device 10 to produce the product and notifies the control device 11 of the physical properties of the product measured by the physical property measuring instrument 73 as actual data.
[0113] The control device 11 transmits the material composition as a control command to the controller 74.
[0114] The controller 74 inputs control commands from the control device 11 to each unit.
[0115] Furthermore, the physical properties of the product measured by the physical property measuring instrument 73 are input to the controller 74 as actual measurement data, and this actual measurement data is sent from the controller 74 to the control device 11. In the control device 11, the collection unit 25 acquires the actual data and sends it to the prediction system 20.
[0116] Furthermore, performance data is stored by the data management unit 24. The collection unit 25 then creates training data by adding label information to the stored performance data. The labels added to the measured data at this time are, for example, the difference between the target physical properties of the product and the actual physical properties.
[0117] In the control device 11, the model management unit 21 constructs a first prediction model and a second prediction model by learning from training data, and also updates the first prediction model.
[0118] The input variable x for the first and second prediction models includes the composition of the materials to be used.
[0119] Output y of the second prediction model ~ This refers to the physical properties of the product to be generated. The control command given to the controller 74 includes a material formulation that is predicted to produce a product with physical properties closest to the target properties.
[0120] The planning unit 26 selects an operation to enable mixing of materials in a formulation that is predicted to produce a product with physical properties closest to the target properties, and sets the amount of this operation as a control command to the controller 74.
[0121] According to the third embodiment described above, it is possible to produce a product with desired physical properties by blending suitable materials.
[0122] (Second embodiment)
[0123] In the first embodiment, a control system was illustrated in which the first prediction model and the second prediction model are constructed as independent prediction models, but other embodiments are also possible. In the second embodiment, as shown by the dashed line in Figure 4, an example is shown in which the first prediction model and the second prediction model from the first embodiment are constructed as an integrated unit.
[0124] The basic configuration of the control system in the second embodiment is the same as that of the first embodiment shown in Figure 1. The hardware configuration of the control device 11 in the second embodiment is the same as that of the first embodiment shown in Figure 2. The overall processing performed by the prediction system 20 in the second embodiment is basically the same as that of the first embodiment shown in Figure 3, but there are differences in detail.
[0125] The following describes how the second embodiment differs from the first embodiment.
[0126] In step 101, the model management unit 21 executes a learning process to construct a prediction model in which the first prediction model and the second prediction model are integrated. The first and second prediction models included are basically the same as those in the first embodiment. However, in this embodiment, the integrated prediction model is represented by a differentiable function.
[0127] In step 102, the prediction process performed by the prediction execution unit 22 is the same as in the first embodiment.
[0128] In step 103, the model management unit 21 updates the parameters of the first and second prediction models based on the training data used to generate the first and second prediction models. At this time, the model management unit 21 updates the parameters of the first and second prediction models using the backpropagation method.
[0129] (Third embodiment)
[0130] In the first embodiment, the first prediction model is a prediction model that takes neighboring data of the input value to be predicted as input and calculates the parameters of the second prediction model, and the second prediction model is a prediction model to which the parameters calculated by the first prediction model are applied, taking the input value to be predicted and its neighboring data as input and outputting a predicted value of the output variable for the input value. However, the inputs and outputs of the first and second prediction models are not limited to these. Another example is shown in the third embodiment.
[0131] The basic configuration of the control system in the third embodiment is the same as that of the first embodiment shown in Figure 1. The hardware configuration of the control device 11 in the third embodiment is the same as that of the first embodiment shown in Figure 2. The overall processing performed by the prediction system 20 in the third embodiment is basically the same as that of the first embodiment shown in Figure 3, but there are differences in detail.
[0132] In step 101, the model management unit 21 performs a learning process to learn from training data and generate a predictive model. The first predictive model is a predictive model that calculates the parameters of the second predictive model based on the input values to be predicted. In this embodiment, the first predictive model is a linear regression model as an example.
[0133] In the third embodiment, unlike the first embodiment, the first prediction model is a prediction model that takes the input value to be predicted as input and outputs the parameters of the second prediction model. The second prediction model then applies the parameters calculated by the first prediction model and takes the input value to be predicted as input and outputs the predicted value of the output variable for that input value.
[0134] The first and second prediction models according to the third embodiment can be expressed as shown in equations (4) and (5), respectively.
[0135]
number
[0136] x is the input variable. y is the output variable. ~ θf is the predicted value of the output variable. f is the function representing the first prediction model. g is the function representing the second prediction model. θf is the parameter of the first prediction model. θg is the parameter of the second prediction model. B is a constant.
[0137] In step 102, the prediction execution unit 22 performs the prediction process.
[0138] Figure 13 is a flowchart of the prediction process in the third embodiment.
[0139] In step 301, the prediction execution unit 22 calculates the parameters of the second prediction model by inputting the input value x to be predicted into the first prediction model. Subsequently, in step 302, the prediction execution unit 22 applies the parameters calculated by the first prediction model to the second prediction model, inputs the input value x into the second prediction model, and obtains the predicted value of the output variable calculated by the second prediction model.
[0140] The prediction results from the prediction execution unit 22 are converted into control commands by the planning unit 26 and applied to the controlled devices 13 and 14. The collection unit 25 acquires pairs of output and input values applied to the controlled devices 13 and 14 as actual data.
[0141] Next, in step 103, the model management unit 21 performs an update process and updates the parameters of the first prediction model, or the parameters of both the first and second prediction models, based on the training data used to generate the first and second prediction models. The update process in the third embodiment is the same as that in the first embodiment.
[0142] As described above, the third embodiment differs from the first embodiment in that the learning process for constructing the first and second prediction models and the prediction process using the first and second prediction models are different. Therefore, as a modification of the first or third embodiment, the learning process and prediction process may be performed using these two methods, and information based on the prediction results of these two methods may be presented. Figure 14 is a conceptual diagram illustrating the prediction models generated by the model management unit in the modification. In this modification, as shown in Figure 14, the model management unit 21 generates and manages the first prediction model (first first prediction model) and the second prediction model (first second prediction model) used in the first embodiment, and the first prediction model (second first prediction model) and the second prediction model (second second prediction model) used in the second embodiment. The prediction execution unit 22 calculates a predicted output value (first predicted value) for an input value using the first first prediction model and the first second prediction model, and calculates a predicted output value (second predicted value) for an input value using the second first prediction model and the second second prediction model. The interface management unit 23 calculates the difference between the first predicted value and the second predicted value, and displays information based on that difference on the management terminal 12 for the administrator.
[0143] (Fourth embodiment)
[0144] In the first embodiment, an example was shown in which linear regression models are used for the first and second prediction models, but the invention is not limited to this. In the fourth embodiment, an example is shown in which a Bayesian estimator using Bayesian linear regression is used for the second prediction model. If the second prediction model in the first embodiment is represented by equation (6), then the second prediction model in the fourth embodiment can be represented by equation (7).
[0145]
number
[0146]
number
[0147] w is the weight vector, ε is the error, p is the function representing the probability distribution, X is the vector of input variables, Y is the vector of output variables, and N is the number of data points.
[0148] The basic configuration of the control system in the fourth embodiment is the same as that of the first embodiment shown in Figure 1. The hardware configuration of the control device 11 in the fourth embodiment is the same as that of the first embodiment shown in Figure 2. The overall processing performed by the prediction system 20 in the fourth embodiment is basically the same as that of the first embodiment shown in Figure 3, but there are differences in detail.
[0149] In the learning process of step 101, the model management unit 21 constructs the following prediction models: the second prediction model is a Bayesian linear regression prediction model that calculates the probability distribution of the predicted value of the output variable based on the input value to be predicted, and the first prediction model is a prediction model that calculates the weight prior distribution of the second prediction model as a parameter. In the prediction process of step 102, the prediction execution unit 22 performs predictions using the first and second prediction models. First, it calculates the weight prior distribution based on the input value using the first prediction model, applies this weight prior distribution to the second prediction model, which is a Bayesian linear regression prediction model, and calculates the probability distribution of the output value using the second prediction model. For example, the value with the highest probability may be set as the output value. In this case, the risk regarding the prediction result can also be obtained from the degree of variability in the probability distribution. The risk of the prediction result is also linked to the control risk for the controlled devices 13 and 14. The interface management unit 23 may also present information about the risk to the administrator based on the degree of variability in the probability distribution. In the update process in step 103, the model management unit 21 updates the parameters of the first prediction model, or the parameters of both the first and second prediction models, based on the training data used to generate the first and second prediction models.
[0150] In this embodiment, a Bayesian linear regression approach is used as an example, but Gaussian process regression can also be used as another approach.
[0151] The first to fourth embodiments described above are illustrative for explaining the present invention and are not intended to limit the scope of the invention to those embodiments only. Those skilled in the art can implement the present invention in various other forms without departing from the scope of the invention.
[0152] Furthermore, the first to fourth embodiments include the following matters. However, the matters included in the first to fourth embodiments are not limited to those listed below.
[0153] (Item 1) A prediction system that predicts an output value, which is the value of an output variable, from an input value, which is the value of an input variable to be predicted, A storage device for storing software programs, The system includes a processor that executes the aforementioned software program, The processor executes the software program, A model management unit manages a second prediction model that predicts the output value from the input value, and a first prediction model that calculates the parameters of the second prediction model based on the input value. A prediction execution unit predicts the output value for the input value using a second prediction model to which the parameters calculated by the first prediction model are applied, To achieve, The model management unit selects one or more training data points located near a certain training data point included in the training data used to generate the first and second prediction models as neighboring data points, and updates the parameters of the first prediction model to minimize the error that occurs in the values of the output variables calculated by the first and second prediction models from the input variable values of the neighboring data points. Prediction system. According to this method, the calculation of output values for input values is performed using the pre-trained first and second prediction models. Therefore, sufficient prediction accuracy can be obtained locally without having to generate a new prediction model each time a prediction is made.
[0154] (Item 2) In the prediction system described in item 1, The first prediction model is a prediction model that takes the neighboring data as input and outputs the parameters of the second prediction model. The second prediction model applies the parameters calculated by the first prediction model, takes the input value and the neighboring data as inputs, and outputs a predicted value of the output value for the input value. According to this method, by using neighborhood data of the input value as input to the first prediction model, it is possible to construct a second prediction model that can locally and appropriately predict the neighborhood of the input value.
[0155] (Item 3) In the prediction system described in item 1, The model management unit manages a first prediction model which takes the neighboring data as input and calculates the parameters of the first second prediction model; a first second prediction model which applies the parameters calculated by the first prediction model and takes the input value and the neighboring data as input and outputs a predicted value of the output value for the input value; a second first prediction model which takes the input value as input and calculates the parameters of the second second prediction model; and a second second prediction model which applies the parameters calculated by the second first prediction model and takes the input value as input and outputs a predicted value of the output value for the input value. The prediction execution unit calculates a first predicted value of the output value for the input value using the first first prediction model and the first second prediction model, and calculates a second predicted value of the output value for the input value using the second first prediction model and the second second prediction model. An interface management unit is further realized that calculates the difference between the first predicted value and the second predicted value and presents information based on the difference. According to this section, information based on the difference between the prediction results from the two methods is presented, allowing us to obtain information on how reliable the prediction results are.
[0156] (Item 4) In the prediction system described in item 2, The model management unit updates the parameters of the first prediction model to minimize the difference between the values of the output variables obtained using the first and second prediction models from the input variable values of the neighboring data and the values of the output variables in the neighboring data.
[0157] (Item 5) In the prediction system described in item 4, The model management unit updates the parameters of the first prediction model to minimize the difference.
[0158] (Item 6) In the prediction system described in item 4, The model management unit updates the parameters of the first prediction model to minimize the amount obtained by adding a regularization term of the parameters of the second prediction model to the difference. According to this matter, overfitting can be suppressed by regularization during parameter updates.
[0159] (Item 7) In the prediction system described in item 1, The processor executes the software program, An interface management unit is further realized that generates information for displaying a three-dimensional response surface based on the two input variables and one output variable of the second prediction model selected by the attention mechanism.
[0160] (Item 8) In the prediction system described in item 2, The first prediction model and the second prediction model are expressed as functions that are differentiable together, The model management unit updates the parameters of the first prediction model using the backpropagation method. According to this method, the first and second prediction models can be trained together as a whole, making it easy to update the parameters.
[0161] (Item 9) In the prediction system described in item 1, The first prediction model is a prediction model that takes the input value as input and outputs the parameters of the second prediction model. The second prediction model is a prediction model to which the parameters calculated in the first prediction model are applied, taking the input value as input and outputting a predicted value of the output value for the given input value.
[0162] (Item 10) In the prediction system described in item 1, The second prediction model is a prediction model that calculates a probability distribution of the output value from the input value using Bayesian estimation, The first prediction model is a prediction model that predicts the parameters of the prior distribution of the weights of the second prediction model. According to this information, it is possible to obtain predicted values using Bayesian estimation.
[0163] (Item 11) In the prediction system described in item 10, The processor executes the software program, An interface management unit is further realized that presents information based on the probability distribution of the output variables predicted using the first and second prediction models. This information makes it possible to understand the risks related to prediction accuracy. [Explanation of Symbols]
[0164] 11...Control device, 12...Management terminal, 13...Controlled device, 14...Controlled device, 15...Controller, 20...Prediction system, 21...Model management unit, 22...Prediction execution unit, 23...Interface management unit, 24...Data management unit, 25...Collection unit, 26...Planning unit, 27...Communication unit, 31...Processor, 32...Main memory, 33...Storage device, 34...Communication device, 35...Bus
Claims
1. A prediction system for predicting an output value, which is a value of an output variable, from an input value, which is a value of an input variable to be predicted, comprising: A storage device for storing a software program; a processor for executing the software program; The processor executes the software program, a model management unit that manages a second prediction model that predicts the output value from the input value and a first prediction model that calculates parameters of the second prediction model based on the input value; a prediction execution unit that predicts the output value for the input value by using the second prediction model to which the parameters calculated by the first prediction model are applied; Realize this, the model management unit sets one or more pieces of training data near a certain piece of training data included in the training data used to generate the first prediction model and the second prediction model as neighboring data, and updates parameters of the first prediction model so as to reduce errors occurring in values of output variables calculated by the first prediction model and the second prediction model from values of input variables of the neighboring data. Prediction system.
2. the first prediction model is a prediction model that receives the neighborhood data as an input and outputs parameters of the second prediction model; The second prediction model is a prediction model to which parameters calculated in the first prediction model are applied, to which the input value and the neighboring data are input, and to which a predicted value of the output value for the input value is output. The prediction system of claim 1 .
3. the model management unit manages a first first prediction model which is a prediction model that receives the neighborhood data as an input and calculates parameters of a first second prediction model; a first second prediction model which is a prediction model to which parameters calculated by the first first prediction model are applied, which receives the input value and the neighborhood data as an input, and outputs a predicted value of the output value for the input value; a second first prediction model which is a prediction model that receives the input value as an input and calculates parameters of a second second prediction model; and a second second prediction model which is a prediction model to which parameters calculated by the second first prediction model are applied, which receives the input value as an input, and outputs a predicted value of the output value for the input value; the prediction execution unit calculates a first predicted value of the output value for the input value using the first first prediction model and the first second prediction model, and calculates a second predicted value of the output value for the input value using the second first prediction model and the second second prediction model; An interface management unit is further provided that calculates a difference between the first predicted value and the second predicted value and presents information based on the difference. The prediction system of claim 1 .
4. the model management unit updates parameters of the first prediction model so as to reduce a difference between a value of an output variable obtained from a value of an input variable of the neighborhood data using the first prediction model and the second prediction model and a value of the output variable in the neighborhood data. The prediction system of claim 2 .
5. the model management unit updates parameters of the first prediction model and parameters of the second prediction model so as to reduce the difference; The prediction system of claim 4.
6. the model management unit updates parameters of the first prediction model so as to reduce an objective function obtained by adding a regularization term of parameters of the second prediction model and a constraint condition to the difference; The prediction system of claim 4.
7. The processor executes the software program, An interface management unit is further implemented to generate information for displaying a three-dimensional response surface based on two input variables and one output variable of the second prediction model selected by the attention mechanism. The prediction system of claim 1 .
8. the first prediction model and the second prediction model are jointly represented by a differentiable function, The model management unit updates parameters of the first prediction model by a backpropagation method. The prediction system of claim 2 .
9. the first prediction model is a prediction model that receives the input value as an input and outputs parameters of the second prediction model, The second prediction model is a prediction model to which parameters calculated in the first prediction model are applied, to which the input value is input, and to which a predicted value of the output value for the input value is output. The prediction system of claim 1 .
10. the second prediction model is a prediction model for calculating a probability distribution of the output value from the input value by Bayesian estimation, The first prediction model is a prediction model that predicts parameters of a prior distribution of weights of the second prediction model. The prediction system of claim 1 .
11. The processor executes the software program, An interface management unit is further provided that presents information based on a probability distribution of an output variable predicted using the first prediction model and the second prediction model. The prediction system of claim 10.
12. A control device for controlling a controlled device, A storage device for storing a software program; a processor for executing the software program; The processor executes the software program, a model management unit that manages a second prediction model that predicts an output value, which is a value of an output variable of a prediction target, from an input value, which is a value of an input variable of a prediction target, constructed by learning performance data, and a first prediction model that calculates parameters of the second prediction model based on the input value; a prediction execution unit that calculates a predicted value of the output value for the input value by using the second prediction model to which the parameters calculated by the first prediction model are applied; a planning unit that generates a control command for the controlled device based on the predicted value and applies the control command to the controlled device; is realized, the model management unit sets one or more pieces of training data near a certain piece of training data included in the training data used to generate the first prediction model and the second prediction model as neighboring data, and updates parameters of the first prediction model so as to reduce errors occurring in values of output variables calculated by the first prediction model and the second prediction model from values of input variables of the neighboring data. Control device.
13. The controlled device includes a transport device that transports an article and a work device that performs work on the article transported by the transport device. The control device according to claim 13.
14. A control method for controlling a controlled device, comprising: In a computer having a storage device for storing a software program and a processor for executing the software program, the processor executes the software program, a second prediction model that predicts an output value, which is a value of an output variable of a prediction target, from an input value, which is a value of an input variable of a prediction target, constructed by learning performance data; and a first prediction model that calculates parameters of the second prediction model based on the input value; calculating a predicted value of the output value for the input value using the second prediction model to which the parameters calculated by the first prediction model are applied; generating a control command for the controlled device based on the predicted value and applying the control command to the controlled device; one or more pieces of training data adjacent to a certain piece of training data included in the training data used to generate the first prediction model and the second prediction model are set as adjacent data, and parameters of the first prediction model are updated so as to reduce errors occurring in values of output variables calculated by the first prediction model and the second prediction model from values of input variables of the adjacent data; Control methods.