Processing system, processing method, and program
Patent Information
- Application Number
- JP2023535376
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-18
- Filing Date
- 2023-01-18
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2043-01-18
AI Technical Summary
Existing factory automation systems face significant computational loads due to the need to learn models that account for variations in device capabilities and environmental factors, leading to inconsistent performance across devices.
A processing system that includes a model information acquisition means to suppress errors due to device characteristics and environmental factors, using a first model to address device-specific differences and a second model to adapt to factory environments, thereby reducing computational load.
The system effectively reduces computational load by learning models that isolate and address performance differences caused by device characteristics and environments, ensuring consistent performance across factory installations.
Smart Images

Figure 00000017_0000 
Figure 00000017_0001 
Figure 00000018_0000
Abstract
Description
Technical Field
[0001] The present disclosure relates to a processing system, a processing method, and a program.
Background Art
[0002] In the field of FA (Factory Automation), a system is constructed using various devices to realize a processing process such as a manufacturing line. As devices constituting such a system, usually, the number of devices required of a model having capabilities suitable for the processing process to be realized is adopted. However, even devices of the same model do not always exhibit exactly the same capabilities when installed at the site, and there may be variations in the capabilities of the devices.
[0003] Therefore, it is conceivable to estimate the difference in capabilities of devices by using a technique for learning a model for estimating the output when conditions are changed, and causing the device to execute processing taking into account the difference in capabilities (for example, refer to Patent Document 1). When using this technique, factors that can affect the capabilities of the device may be specified as conditions. Also, if the difference in capabilities can be estimated by the model, a model for obtaining an output that suppresses the difference in capabilities can also be obtained.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] However, there are many factors that can affect the capabilities exhibited by the device at the site, and there is a risk of a large computational load in learning the model.
[0006] This disclosure is made under the circumstances described above and aims to reduce the computational load required to train a model that suppresses differences in the capabilities of the devices. [Means for solving the problem]
[0007] To achieve the above objective, the processing system disclosed herein comprises: input means for inputting setting data; a processing device installed in a factory that processes an object based on the setting data; model information acquisition means for acquiring model information indicating a first model applied to the setting data in order to suppress a first error included in the first processing result of the processing device due to characteristics unique to the processing device before installation in the factory; environment information acquisition means for acquiring factory environment information indicating the environment of the processing device installed in the factory; error information acquisition means for acquiring first error information indicating a second error between the second processing result of the processing device that processes an object in the factory using the first model based on setting data input in the factory and a target value; and learning means for learning a second model for suppressing a second error from the factory environment information and the first error information, wherein the processing device processes the object based on the results of applying the first model and the second model to the setting data. [Effects of the Invention]
[0008] According to this disclosure, the model information acquisition means acquires model information indicating a first model applied to setting data to suppress a first error contained in the first processing result of the processing device due to characteristics unique to the processing device before it is installed in the factory, and the learning means learns a second model to suppress a second error between the second processing result of the processing device that processes an object in the factory and a target value. As a result, a second model is learned to suppress the difference in capabilities caused by the environment of the processing device installed in the factory, separate from the first model that suppresses the difference in capabilities that occurs before it is installed in the factory. Therefore, factors that may affect the capabilities of the device are separated, and a second model is learned to deal with the difference in capabilities caused by some of those factors. Consequently, the computational load for learning a model to suppress the difference in capabilities of the device can be reduced. [Brief explanation of the drawing]
[0009] [Figure 1] Diagram showing an overview of the processing system according to Embodiment 1. [Figure 2] A diagram showing the hardware configuration of the processing unit according to Embodiment 1. [Figure 3] A diagram showing the functional configuration of the processing apparatus according to Embodiment 1. [Figure 4] A diagram showing an example of model information for the first model according to Embodiment 1. [Figure 5] A diagram showing an example of the second model according to Embodiment 1. [Figure 6] Flowchart showing the model application process according to Embodiment 1 [Figure 7] Diagram showing the functional configuration of the apparatus relating to the modified version. [Figure 8] A diagram showing an overview of the processing apparatus according to Embodiment 2. [Figure 9] A diagram showing the functional configuration of the processing apparatus according to Embodiment 2. [Figure 10] Flowchart showing the first model generation process according to Embodiment 2 [Figure 11] Flowchart showing the model application process according to Embodiment 2 [Figure 12] A diagram showing the functional configuration of the processing apparatus 10 according to Embodiment 3. [Figure 13] Diagram showing the configuration of the recipe bank according to Embodiment 3 [Figure 14] A diagram showing the functional configuration of the processing apparatus according to Embodiment 4. [Figure 15] A diagram illustrating the estimation model according to Embodiment 4. [Figure 16] A diagram showing an example of an estimation model according to Embodiment 4. [Figure 17] Flowchart showing the estimation model application process according to Embodiment 4 [Figure 18] Flowchart showing the estimation model generation process according to Embodiment 4 [Figure 19] Flowchart showing the model improvement process according to Embodiment 5 [Figure 20]Figure for explaining search for combination of second model and estimation model according to Embodiment 5 [Figure 21] Diagram showing configuration of processing system according to modification example [Figure 22] Diagram showing configuration of processing device according to modification example [Figure 23] Diagram showing first model according to modification example
Mode for Carrying Out the Invention
[0010] Hereinafter, a processing system according to an embodiment of the present disclosure will be described in detail with reference to the drawings.
[0011] Embodiment 1. As shown in FIG. 1, the processing system 1000 according to the present embodiment is constructed by installing the processing device 10b among the processing devices 10a and 10b of the same model produced at the production site 100a in the factory 100. The processing system 1000 includes the processing device 10b. Hereinafter, the processing devices 10a and 10b may be referred to as the processing device 10 without distinction.
[0012] The processing device 10 is a FA device or equipment that processes objects 20 and 21, such as a machine tool. The object 20 is a processing target at the production site 100a, and the object 21 is a processing target at the factory 100. The processing by the processing device 10 is, for example, cutting or grinding of the objects 20 and 21 which are workpieces, assembly of the objects 20 and 21 which are products, or assembly of the objects 20 and 21 which are parts of a product to other members. The processing device 10 processes the objects 20 and 21 based on setting data input by the user. The setting data is a parameter set in the processing device 10 to cause the processing device 10 to process the objects 21 and 22, and indicates, for example, the position and speed of a stage for supporting a workpiece and a tool, and the rotational speed of the tool.
[0013] However, the processing unit 10 has machine-specific differences at the stage of production at the production site 100a. That is, processing units 10a and 10b each have their own unique characteristics, and these characteristics may cause errors from the target value in the processing result of the object 20 at the production site 100a. Figure 1 shows that processing unit 10a has characteristic A and processing unit 10b has characteristic B. The processing result is, for example, the cutting result of the object 20, and the error in the processing result is the dimensional error of the cut object 20. The target value may be a specification value directly indicated by the setting data, or it may be a value intended by the user as corresponding to the setting data. The target value may or may not be included in the setting data. However, even if the target value is not included in the setting data, the target value usually corresponds to the setting data and may be separately input into the processing unit 10 by the user.
[0014] Because errors in processing results may occur due to the inherent characteristics of the processing device 10, the production site 100a learns a first model to suppress these errors and incorporates the learned first model into the processing device 10, thereby standardizing the capacity of the processing devices 10 discharged from the production site 100a.
[0015] Subsequently, once the processing unit 10 is installed in the factory 100, errors may occur in the processing results of the object 21 due to the installation environment of the processing unit 10 in the factory 100. The installation environment includes, for example, temperature, humidity, or the type of material inserted into the processing unit 10. Therefore, the processing unit 10 learns a second model to suppress errors caused by the installation environment, and processes the object 21 using the learned second model, thereby performing processing adapted to the installation environment. By learning and using the second model, processing units 10a and 10b can reduce variations in the processing results of the object 21 even under different environments, and exhibit uniform performance. Although Figure 1 shows a representative example of the learning process for processing unit 10b, processing unit 10a is also learned in the same way as processing unit 10b.
[0016] The processing unit 10 is comprised of hardware elements for functioning as a computer. More specifically, as shown in Figure 2, the processing unit 10 includes a processor 101, a main memory unit 102, an auxiliary memory unit 103, an input unit 104, an output unit 105, and a communication unit 106. The main memory unit 102, the auxiliary memory unit 103, the input unit 104, the output unit 105, and the communication unit 106 are all connected to the processor 101 via an internal bus 107.
[0017] The processor 101 includes a CPU (Central Processing Unit) as a processing circuit. The processor 101 performs various functions and executes the processes described later by executing the program P1 stored in the auxiliary storage unit 103.
[0018] The main memory unit 102 includes RAM. Program P1 is loaded into the main memory unit 102 from the auxiliary memory unit 103. The main memory unit 102 is then used as a working area for the processor 101.
[0019] The auxiliary storage unit 103 includes non-volatile memory such as EEPROM (Electrically Erasable Programmable Read-Only Memory) and HDD (Hard Disk Drive). In addition to program P1, the auxiliary storage unit 103 stores various data used in the processing of the processor 101. The auxiliary storage unit 103 supplies data to the processor 101 according to the instructions of the processor 101. The auxiliary storage unit 103 also stores data supplied from the processor 101.
[0020] The input unit 104 includes input devices such as hardware switches, input keys, keyboards, and pointing devices. The input unit 104 acquires information entered by the user of the processing unit 10 and notifies the processor 101 of the acquired information.
[0021] The output unit 105 includes output devices such as an LED (Light Emitting Diode), an LCD (Liquid Crystal Display), and a speaker. The output unit 105 presents various information to the user according to instructions from the processor 101.
[0022] The communication unit 106 includes a communication interface circuit for communicating with an external device. The communication unit 106 receives a signal from an external source and outputs the data indicated by this signal to the processor 101. The communication unit 106 also transmits a signal indicating the data output from the processor 101 to the external device.
[0023] The hardware configuration described above works together to enable the processing unit 10 to perform various functions in the factory 100. In detail, as shown in Figure 3, the processing unit 10 includes, as its functions, an input unit 11 into which setting data is input, a processing unit 12 that executes processing based on the setting data, a model information acquisition unit 13 that acquires model information indicating a first model 41 learned at the production site 100a, an environmental information acquisition unit 14 that acquires environmental information indicating the installation environment, an error information acquisition unit 15 that acquires error information indicating the error when processing the object 21 using the first model 41, and a learning unit 16 that learns a second model 42 to suppress errors from the environmental information and error information. In Figure 3, solid arrows indicate the flow of information before learning the second model, and dashed arrows indicate the flow of information after learning the second model.
[0024] The input unit 11 is primarily implemented by the input unit 104 or the communication unit 106. The input unit 11 receives configuration data entered by the user. Of the objects 21 and 22 processed based on the configuration data, object 21 is the object to be processed before the second model 42 is trained, and object 22 is the object to be processed after the second model 42 is trained. The input unit 11 is an example of an input means into which configuration data is entered.
[0025] The processing unit 12 is primarily implemented by the processor 101 and processing modules for processing objects 21 and 22. The processing modules include, for example, motors for moving tools and stages. Before learning the second model 42, the processing unit 12 processes the object 21 by applying the first model 41 to the setting data input to the input unit 11. Once the second model 42 is learned by the learning unit 16 through processing the object 21, the processing unit 12 processes the object 22 by sequentially applying the first model 41 and the second model 42 to the setting data. For the purpose of learning the second model 42, the processing unit 12 provides the output of the first model 41 to the learning unit 16.
[0026] The model information acquisition unit 13 is implemented by at least one of the processor 101, the input unit 104, and the communication unit 106. The model information acquisition unit 13 may read model information registered in the auxiliary storage unit 103 of the processing unit 10 when it is discharged from the production site 100a, or it may read model information from a recording medium such as a memory card attached to the processing unit 10 when it is discharged. In addition, the model information acquisition unit 13 may acquire model information that is directly input by the user, or it may receive model information via a communication line or network.
[0027] Figure 4 shows a simple example of model information for the first model 41. The model information in Figure 4 indicates that when the value of the setting data is between zero and 10, the model output obtained by applying the first model 41 to the setting data is the sum obtained by adding 1 to the value of the setting data, and when the value of the setting data is between 10 and 20, the model output is the sum obtained by adding 2 to the value of the setting data. Note that the first model 41 is not limited to the conversion table shown in Figure 4, but may be a model expressed as a function by a mathematical formula. The model information acquisition unit 13 corresponds to an example of model information acquisition means that acquires model information indicating a first model applied to setting data in order to suppress a first error included in the first processing result of the processing device due to characteristics unique to the processing device before it is installed in the factory. Here, the first processing result and first error distinguish the processing result and error at the production site from the second processing result and second error at the factory 100 described later.
[0028] Returning to Figure 3, the environmental information acquisition unit 14 is implemented by at least one of the processor 101, input unit 104, and communication unit 106. The environmental information acquisition unit 14 acquires environmental information indicating the installation environment of the processing unit 10 when the processing unit 12 processes the object 21 using the first model 41 without using the second model 42. The environmental information acquisition unit 14 may read environmental information from the main memory unit 102, auxiliary memory unit 103, or recording medium, or it may acquire environmental information directly input by the user, or it may receive environmental information from sensors that measure environmental conditions via a communication line or network. The environment indicated by the environmental information may be the temperature, humidity and type of material as described above, or it may be the power environment, air or gas quality provided to the processing unit 10 in the factory 100, or the output of other devices connected to the processing unit 10. The environmental information acquisition unit 14 corresponds to an example of environmental information acquisition means that acquires factory environmental information indicating the environment of a processing unit installed in a factory.
[0029] The error information acquisition unit 15 is implemented by at least one of the processor 101, the input unit 104, and the communication unit 106. The error information acquisition unit 15 acquires the error as the difference between the measured value as the processing result and the target value from the measuring device 30 that measures the processing result of the object 21 processed by the processing unit 12. The error information acquisition unit 15 may acquire the error information by separately acquiring the processing result and the target value. That is, the error information may be information that shows both the measured value and the target value of the processing result. The error information acquisition unit 15 may acquire the error information by communicating with the measuring device 30, read the error information from a recording medium, or acquire the error information that is directly input by the user. The error information acquisition unit 15 corresponds to an example of error information acquisition means that acquires first error information showing the second error between the target value and the second processing result of a processing device that processes an object in the factory using a first model based on setting data input in the factory.
[0030] The learning unit 16 is primarily implemented by the processor 101. The learning unit 16 learns a second model 42 to suppress errors based on the output of the first model 41, the error resulting from processing the object 21 using this output, and the installation environment when processing the object 21 using this output. Figure 5 shows a simple example of the second model 42 that is learned. The second model 42 in Figure 5 shows that when the output of the first model 41 is between 1 and 11, and the ambient temperature is below 15°C, the output of the second model 42 is the sum obtained by adding 0.4 to the output of the first model 41, and when the ambient temperature is 15°C or higher, the output of the second model 42 is the sum obtained by adding 0.3 to the output of the first model 41. Furthermore, when the output of the first model 41 is 12 or more and less than 22, if the temperature is below 20°C, the difference obtained by subtracting 0.2 from the output of the first model 41 is taken as the output of the second model 42, and if the temperature is 20°C or higher, the difference obtained by subtracting 0.3 from the output of the second model 42 is taken as the output of the second model 42. Note that the second model 42 is not limited to the conversion table shown in Figure 5, but may be a model that can be expressed as a function by a mathematical formula. Returning to Figure 3, once the second model 42 has been learned, the learning unit 16 provides the second model 42 to the processing unit 12. The learning unit 16 corresponds to an example of a learning means for learning a second model to suppress a second error from environmental information and error information. The second model 42 corresponds to an example of a model for obtaining a corrected value of the output value of the first model 41 from the output value and environmental information.
[0031] Next, the model application process performed by the processing unit 10 will be explained with reference to Figure 6. The model application process shown in Figure 6 is performed as an adjustment or initialization process after the processing unit 10 is installed in the factory 100 and before normal operation begins.
[0032] In the model application process, the model information acquisition unit 13 acquires model information (step S1). Then, the input unit 11 receives the input setting data (step S2), the processing unit 12 applies the first model 41 to the setting data to process the object 21 (step S3), the error information acquisition unit 15 acquires error information (step S4), and the environment information acquisition unit 14 acquires environment information (step S5).
[0033] Next, the learning unit 16 determines, by executing steps S2 to S5, whether the amount of accumulated data of records including the output, error information, and environmental information of the first model 41 that are associated with each other exceeds a threshold (step S6). If it is determined that the amount of data does not exceed the threshold (step S6; No), the processing unit 10 repeats the processing from step S2 onward. As a result, data consisting of the output, error information, and environmental information of the first model 41 is accumulated.
[0034] If the learning unit determines that the amount of data exceeds a threshold (step S6; Yes), the learning unit 16 learns a second model 42 using the accumulated data (step S7). For example, the learning unit 16 generates a hypothetical model representing the relationship between the output, error, and installation environment of the first model 41 by regression analysis, and then obtains a transformation formula for the output of the first model 41 that reduces the error as the second model 42. However, the learning of the second model 42 by the learning unit 16 is not limited to this, and may also be supervised learning such as neural networks, or reinforcement learning.
[0035] Next, the input unit 11 receives newly input setting data (step S8), and the processing unit 12 applies the first model 41 and the second model 42 to the new setting data to process the object 22 (step S9). This allows the second model to be applied, enabling processing with less error.
[0036] As explained above, the model information acquisition unit 13 acquires model information indicating a first model 41 that is applied to the setting data in order to suppress errors in the processing results of the processing device 10 due to characteristics unique to the processing device 10 before it is installed in the factory 100. In addition, the learning unit 16 learns a second model 42 to suppress errors in the processing results of the processing device 10 that processes the object 21 in the factory 100. Thus, in addition to the first model 41 that suppresses the difference in capabilities that occurs before installation in the factory 100, a second model 42 is learned that suppresses the difference in capabilities that occurs due to the environment of the processing device 10 installed in the factory 100. For this reason, the factors that may affect the capabilities of the device are isolated, and a second model 42 that deals with the difference in capabilities caused by some of those factors is learned in the factory 100. Accordingly, the computational load for learning the model that suppresses the difference in capabilities of the device can be reduced.
[0037] In other words, information that indicates characteristics specific to the processing unit 10 is excluded from the information that the learning unit 16 uses to learn the second model 42. This makes it possible to avoid unnecessary computational processing caused by performing the same type of learning at both the production site 100a and the factory 100.
[0038] Although a second model 42 for obtaining the output of the processing unit 10 from the output of the first model 41 has been described, the explanation is not limited to this. As shown in Figure 7, the first model 41 and the second model 42 may be applied in parallel to the setting data, and after learning the second model 42, the sum of the output of the first model 41 and the output of the second model 42 may be input to the processing unit 17 that processes the objects 21 and 22. The form in which the second model 42 is applied is arbitrary as long as it is used to correct the processing of the object 21 based on the first model 41. In the example of Figure 7, the learning unit 16 may collect setting data in order to learn the second model 42.
[0039] Embodiment 2. Next, Embodiment 2 will be described, focusing on the differences from Embodiment 1 described above. Note that the same or equivalent components as in Embodiment 1 will be referred to by the same reference numerals. This embodiment differs from Embodiment 1 in that the processing unit 10 has the ability to learn the first model, as shown in Figure 8. This embodiment also differs from Embodiment 1 in that the learning unit 16 further divides the installation environment into a fixed environment fixed in the factory 100 and a variable environment that can change over time, and learns the second model.
[0040] As shown in Figure 9, the processing apparatus 10 according to this embodiment includes a characteristic information acquisition unit 18 that shows characteristics unique to the processing apparatus 10, and a model generation unit 19 that generates a first model 41. In Figure 9, the flow of information in the production site 100a is shown by thick arrows.
[0041] The characteristic information acquisition unit 18 is implemented by at least one of the processor 101, the input unit 104, and the communication unit 106. The characteristic information acquisition unit 18 acquires characteristic information that indicates characteristics specific to the processing unit 10 in the production site 100a. The characteristic information acquisition unit 18 may read characteristic information from the auxiliary storage unit 103 or an external recording medium, acquire characteristic information directly input by the user, or receive characteristic information via a communication line or network. The characteristic information indicates, for example, the results of quality inspections performed on multiple processing units 10 in the production site 100a. The characteristic information acquisition unit 18 corresponds to an example of characteristic information acquisition means that acquires characteristic information that indicates characteristics specific to the processing unit 10.
[0042] The model generation unit 19 is primarily implemented by the processor 101. The model generation unit 19 acquires setting data input to the input unit 11 and obtains error information from the error information acquisition unit 15, which acquired the error information, indicating the error of the object 20 processed by the processing unit 12 without using the first model 41 based on the setting data. This error information corresponds to an example of the second error information indicating the first error described above. The model generation unit 19 also acquires environmental information indicating the production environment at the production site where the processing unit 10 is produced from the environmental information acquisition unit 14, which acquired the environmental information, and obtains characteristic information indicating the characteristics of the processing unit 10 itself from the characteristic information acquisition unit 18. Then, the model generation unit 19 generates the first model 41 by learning from this acquired information and provides it to the model information acquisition unit 13. For example, the model generation unit 19 generates the first model 41 to obtain setting data that minimizes the error by using regression analysis or supervised learning with the setting data as the target variable and the error information, environmental information, and characteristic information as explanatory variables. Furthermore, in cases where correction values for setting data according to environmental conditions are statistically predetermined, and variations occur due to the characteristics of the processing device, the model generation unit 19 may learn a first model 41 that reduces such variations using characteristic information. Alternatively, the model generation unit 19 may generate the first model 41 by regression analysis or supervised learning with error information as the target variable and setting data, environmental information, and characteristic information as explanatory variables. The model generation unit 19 corresponds to an example of a model generation means that generates a first model from characteristic information, environmental information of the production environment, and second error information.
[0043] Furthermore, the method by which the model generation unit 19 generates the first model 41 may be arbitrarily changed. For example, one or both of the characteristic information and the environmental information may be omitted from the information used to generate the first model 41. Even if one or both of the characteristic information and the environmental information are omitted, the first model 41 generated by the model generation unit 19 will ultimately be a model that suppresses errors caused by the characteristics of the processing device 10. Alternatively, the model generation unit 19 may generate the first model 41 by applying the characteristic information and the environmental information to a template model provided externally at the production site 100a.
[0044] Next, the first model generation process performed by the processing unit 10 at the production site 100a, and the model application process performed at the factory 100 will be explained in order.
[0045] In the first model generation process, as shown in Figure 10, the characteristic information acquisition unit 18 acquires characteristic information (step S11). Then, the input unit 11 receives the input setting data (step S12), the processing unit 12 processes the object 20 based on the setting data (step S13), the error information acquisition unit 15 acquires error information (step S14), and the environmental information acquisition unit 14 acquires environmental information of the production environment (step S15). The environmental information of the production environment may be the same type of information as the installation environment, or it may be different information. The environmental information of the production environment may be any information that indicates environmental factors that affect the quality of the processing device 10. The environmental information of the production environment is an example of production environment information.
[0046] Next, the model generation unit 19 determines whether the amount of data obtained in steps S12 to S15 exceeds a predetermined threshold (step S16). If it is determined that the amount of data does not exceed the threshold (step S16; No), the processing unit 10 repeats the processing from step S12 onward. As a result, the data necessary for generating the first model 41 is accumulated.
[0047] If the amount of data exceeds a threshold (step S16; Yes), the model generation unit 19 generates a first model 41 by learning based on the information obtained in steps S11 to S15 (step S17). Next, the processing unit 12 processes the object 21 by applying the generated first model 41 to the setting data acquired in step S12 (step S18), and the error information acquisition unit 15 acquires error information (step S19). Then, the model generation unit 19 determines whether the error when processing the object 21 by applying the first model 41 to the setting data is within a predetermined range (step S20).
[0048] If it is determined that the error is not within this range (Step S20; No), the process returns to Step S12, and the addition of data by re-executing Steps S12 to S16 and the generation of the first model by Steps S17 to S19 are repeated. As a result, the model generation unit 19 continues to learn the first model 41. Note that when repeating the learning process, the first model 41 may be learned based on newly collected data without using previously collected data. Also, in the learning of the first model 41 in Step S17, if the iteration of a predetermined process, such as updating the weights of each layer in deep learning, has been rounded up, when the determination in Step S20 is rejected (Step S20; No), the process returns to Step S17 without collecting additional data and continues the iteration in learning. If it is determined in Step S20 that the error is within the range (Step S20; Yes), the processing unit 10 terminates the first model generation process.
[0049] As shown in Figure 11, in the model application process according to this embodiment, step S1 is executed in the same manner as in Embodiment 1, and then the environmental information acquisition unit 14 acquires environmental information indicating the fixed environment of the installation environment (step S21). The fixed environment is the environment that is subsequently fixed by the installation of the processing unit 10 or by adjustments made during installation. Specifically, the fixed environment is whether or not A / D conversion is performed in response to the voltage applied from the outside, or the type of mounting member selected according to the space.
[0050] Next, the processing unit 10 executes steps S2 to S4 in the same manner as in Embodiment 1, and then acquires environmental information indicating the fluctuating environment of the installation environment (step S22). The fluctuating environment is an environment that may change each time the objects 21 and 22 are processed, and is, for example, temperature or humidity. The learning unit 16 then determines whether the amount of data exceeds a threshold (step S6), and if it is determined that the amount of data does not exceed the threshold (step S6; No), the processing from step S2 onward is repeated.
[0051] On the other hand, if it is determined that the amount of data exceeds a threshold (step S6; Yes), the learning unit 16 learns the second model 42 based on the fixed environment indicated by the environmental information acquired in step S11 (step S23). Here, the learning unit 16 learns the second model 42 without taking into account the fluctuating environment indicated by the environmental information acquired in step S22. That is, the learning unit 16 learns the second model 42 without including the fluctuating environment as a parameter, or learns the second model 42 with the parameters of the fluctuating environment fixed regardless of the information acquired in step S22 (step S23).
[0052] Then, the learning unit 16 determines whether the error when the second model 42 learned in step S23 is applied to the setting data falls within a predetermined first range (step S24). The learning unit 16 may obtain this error by applying it to newly input setting data, or by cross-validation of data accumulated in repeatedly executed steps S2 to S4 and S22.
[0053] If it is determined that the error is not within the first range (Step S24; No), the process returns to Step S2, and the data is added by re-executing Steps S2-S4, S22, and S6, and the learning of the second model 42 in Step S23 is performed again. Note that in the learning of the second model 42 in Step S23, if the predetermined iteration of the process has been completed, when the determination in Step S24 is denied (Step S24; No), the process may return to Step S23 without collecting additional data and continue the iteration in learning. If it is determined in Step S24 that the error is within the first range (Step S24; Yes), the learning unit 16 learns the second model 42 based on the fluctuating environment indicated by the environmental information acquired in Step S22 (Step S25).
[0054] Then, the learning unit 16 determines whether the error when the second model 42 learned in step S25 is applied to the setting data falls within a predetermined second range (step S26). The second range is defined as a wider range than the first range. Since there is no change in the fixed environment, the first range is defined as a relatively narrow range in order to obtain a second model 42 that is better fitted to the fixed environment in steps S23 to S24. In contrast, the second range is defined as a relatively wide range, taking into account that the variable environment changes.
[0055] If it is determined that the error is not within the second range (Step S26; No), the process returns to Step S2, and the data is added again by re-executing Steps S2-S4, S22, and S6, and the training of the second model 42 in Steps S23 and S25 is performed again. Note that in the training of the second model 42 in Step S25, if the predetermined iteration of the process has been rounded up, when the determination in Step S26 is rejected (Step S26; No), the process may return to Step S25 without collecting additional data and continue the iteration in training.
[0056] If, in step S26, it is determined that the error is within the second range (step S26; Yes), the learning unit 16 determines whether the error has contracted or not (step S27). Specifically, the learning unit 16 determines whether the magnitude of the error determined to be within the second range in step S26 has contracted from the magnitude of the error determined to be within the first range in step S24.
[0057] If it is determined that the error has not shrunk (Step S27; No), the process returns to Step S2, and the data addition by re-executing Steps S2-S4, S22, and S6, and the training of the second model 42 in Steps S23 and S25 are performed again. Note that in the training of the second model 42 in Steps S23 and S25, if the predetermined iteration of the process has been completed, when the determination in Step S27 is rejected (Step S27; No), the process may return to Step S23 without collecting additional data and continue the iteration in the training. If it is determined in Step S27 that the error has shrunk (Step S27; Yes), the model application process ends.
[0058] As explained above, the learning unit 16 performed learning based on a fixed environment before performing learning based on a variable environment. Therefore, factors that may affect the capabilities of the processing unit 10 are further separated, and model learning is performed sequentially to absorb the capability differences caused by some of these factors. This makes it possible to further reduce the computational load caused by model learning.
[0059] Embodiment 3. Next, Embodiment 3 will be described, focusing on the differences from Embodiment 1 described above. Note that the same or equivalent components as in Embodiment 1 will be referred to by the same reference numerals. As shown in Figure 12, this embodiment differs from Embodiment 1 in that it stores the information used for learning and utilizes that information when processing new objects.
[0060] The processing device 10 according to this embodiment includes a storage unit 110 that stores information used by the learning unit 16, a providing unit 111 that provides information from the storage unit 110, and a specifying unit 112 that identifies specific data corresponding to newly input setting data based on the information from the storage unit 110.
[0061] The memory unit 110 is primarily implemented by the auxiliary memory unit 103. The memory unit 110 repeatedly acquires the setting data input to the input unit 11 and stores it in association with the information used by the learning unit 16. Specifically, the memory unit 110 stores a recipe bank as shown in Figure 13.
[0062] The recipe bank is a database that stores records relating setting data, the target value at the time the setting data was input, environmental information indicating the environment when the objects 21 and 22 were processed based on the setting data, the first and second models applied to the setting data, and error information. The target value in the recipe bank may be included as part of the error information, or it may be input to the input unit 11 as part of the setting data, or as something different from the setting data. The storage unit 110 corresponds to an example of storage means that stores each of the multiple setting data as stored data relating the target value and the third error between the target value and the third processing result of the processing device that processes the object by applying the first and second models to the setting data.
[0063] The provisioning unit 111 is implemented by at least one of the processor 101 and the output unit 105. The provisioning unit 111 may read the recipe bank from the storage unit 110 in response to a user's request and provide the recipe bank to the user. The user may refer to the provided recipe bank to identify the setting data corresponding to the target value desired by the user. Furthermore, if the setting data corresponding to the target value desired by the user is associated with error information that shows a relatively large error, the user may slightly modify the setting data before inputting it to the input unit 11. In addition, if the recipe bank does not contain a record that includes the target value desired by the user, the user may refer to multiple records to infer appropriate setting data. The provisioning unit 111 may also provide information from the recipe bank to the identification unit 112.
[0064] The identification unit 112 is primarily implemented by the processor 101. When a target value is specified by the user via the input unit 11, the identification unit 112 identifies specific data corresponding to the setting data that corresponds to the specified target value based on the recipe bank. More specifically, the identification unit 112 may identify the setting data associated in the recipe bank with the target value specified by the user as specific data. Furthermore, if the setting data associated in the recipe bank with the target value specified by the user is also associated with error information showing a relatively large error, and if the recipe bank does not contain a record containing the target value specified by the user, the identification unit 112 may identify specific data corresponding to the setting data that should be input corresponding to the target value by an estimation method such as linear interpolation of multiple records. The identification unit 112 is an example of an identification means that identifies specific data corresponding to the setting data that corresponds to a specified target value based on multiple setting data and a third processing result of a processing device that processes an object by applying a first model and a second model to each setting data.
[0065] As explained above, using the recipe bank makes it easier to determine new setting data. The input unit 11 is an example of an input means for receiving input of new target values when processing a new object, and the identification unit 112 is an example of an identification means for identifying specific data corresponding to the setting data that corresponds to the new target value. The processing device processes the new object based on the results of applying the first model and the second model to the specific data identified in accordance with the new target value.
[0066] Embodiment 4. Next, Embodiment 4 will be described, focusing on the differences from Embodiment 3 described above. Note that the same or equivalent components as in Embodiment 3 will be referred to by the same reference numerals. This embodiment differs from Embodiment 3 in that, as shown in Figure 14, the specific unit 112 generates an estimation model for estimating the setting data.
[0067] The specific unit 112 in this embodiment includes an estimation model generation unit 1121 that generates an estimation model 43 for estimating appropriate setting data from a target value, and a target value acquisition unit 1122 that acquires the target value input to the input unit 11. In Figure 14, the flow of information when using the estimation model is shown by a thick dashed line.
[0068] The estimation model generation unit 1121 reads a recipe bank as shown in Figure 13 and generates an estimation model 43 based on this recipe bank. Here, the estimation model 43 is a model that identifies specific data for setting settings necessary to achieve known target values with a small error from known target values included in the recipe bank, as shown in Figure 15, and also identifies specific data for achieving unknown target values with a small error. Here, a small error means an error smaller than a predetermined threshold.
[0069] For example, even if the machining time in cutting is doubled, the amount of material removed does not necessarily double because it depends on the shape of the cutting tool. When the relationship between the set data and the target value is not obvious to the user, an estimation model is used. Figure 16 shows a simple example of an estimation model. The estimation model generation unit 1121 generates an estimation model to obtain specific data for setting data that minimizes the error with the target value, for example, by using regression analysis or supervised learning with the set data as the dependent variable and the target value, environmental information, the first model 41, the second model, and error information as independent variables.
[0070] The identification unit 112 applies the estimation model 43 to the target value acquired by the target value acquisition unit 1122, thereby identifying specific data which are setting data necessary to achieve the target value, and inputting it into the input unit 11. If the user inputs a target value without being aware of the selection of setting data, the processing of the object 23 that achieves that target value will be executed.
[0071] The estimation model is an example of a model that estimates specific data corresponding to setting data that corresponds to a specified target value, which is specific data that suppresses the third error between the third processing result of a processing device that processes an object by applying the first and second models and the target value. The identification unit 112 is an example of an identification means that generates an estimation model based on accumulated data and identifies specific data corresponding to setting data that corresponds to a new target value by applying the estimation model to a new target value.
[0072] Next, the estimation model application process performed by the processing unit 10 will be explained with reference to Figures 17-18. This estimation model application process is performed after the model application process shown in Figure 6. In other words, the estimation model application process is performed after the training of the second model 42.
[0073] In the estimation model application process shown in Figure 17, the identification unit 112 executes the estimation model generation process (step S41). In the estimation model generation process, as shown in Figure 18, the identification unit 112 fixes the first model 41 and the second model 42 (step S411) and reads data from the recipe bank of the storage unit 110 (step S412). Here, fixing the first model 41 and the second model 42 in step S411 means that neither the first model 41 nor the second model 42 is newly learned. For this reason, if different first models 41 or second models 42 are registered in the recipe bank according to conditions such as setting data or environmental information, records indicating different first models 41 and second models 42 may be read in step S412.
[0074] Next, the estimation model generation unit 1121 generates an estimation model 43 by learning from the data read in step S412 (step S413). Then, the estimation model generation unit 1121 determines whether the error when the estimation model 43 generated in step S413 is applied to a new target value is within a predetermined range (step S414). The estimation model generation unit 1121 may obtain the error in step S414 using a new target value input by the user, or it may obtain it by cross-validation of the data read in step S412.
[0075] If it is determined that the error is outside the range (Step S414; No), the estimation model generation unit 1121 repeats the processing from Step S413 onward to continue learning the estimation model. Specifically, in the learning of the estimation model 43 in the previous Step S413, the estimation model generation unit 1121 starts repeating the predetermined processing from where the iteration was completed. If not all data has been read from the recipe bank in Step S412, and the determination in Step S414 is denied (Step S414; No), the process may return to Step S412 and the identification unit 112 may read new data. If it is determined in Step S414 that the error is within the range (Step S414; Yes), the processing by the processing unit 10 returns from the estimation model generation process to the estimation model application process shown in Figure 17.
[0076] Returning to Figure 17, following the estimation model generation process in step S41, the target value acquisition unit 1122 acquires the new target value input to the input unit 11 (step S42), and the identification unit 112 identifies the specific data by applying the estimation model 43 to the new target value (step S43).
[0077] Next, the processing unit 12 processes the object 23 using the first model 41 and the second model 42 based on the identified specific data (step S44). Then, a record of the newly processed object 23 is registered in the recipe bank of the storage unit 110 (step S45). The registration of the record may be performed by the learning unit 16 or by the processing unit 12.
[0078] As explained above, with the identification unit 112, the user can perform processing on the target object 23 based on appropriate specific data simply by inputting a target value. Furthermore, by adding and enriching information to the recipe bank of the storage unit 110, it is expected that the identification unit 112 will be able to identify more appropriate specific data.
[0079] Embodiment 5. Next, Embodiment 5 will be described, focusing on the differences from Embodiment 4 described above. Note that the same or equivalent components as in Embodiment 4 will be referred to by the same reference numerals. In this embodiment, the learning of the second model 42 and the learning of the estimation model 43 are repeated alternately.
[0080] Figure 19 shows the flow of the model improvement process performed by the processing unit 10 according to this embodiment. In the model improvement process, the model application process shown in Figure 6 is performed (step S51). This initializes the second model 42.
[0081] Next, data is stored in the recipe bank (step S52). Specifically, the processing of the object 22 using the second model 42 is executed multiple times based on the newly entered setting data, and the information obtained when the object 22 is processed is stored in the storage unit 110.
[0082] Next, the estimation model application process shown in Figure 17 is executed (step S53). This initializes the estimation model 43.
[0083] Next, data is stored in the recipe bank (step S54). Specifically, by applying the estimation model 43 to the newly entered target value, specific data is identified, and based on the identified specific data, the processing of the object 23 using the second model 42 is performed multiple times. Then, the information obtained when the object 23 is processed is stored in the storage unit 110.
[0084] Next, the learning unit 16 learns the second model 42 based on the data accumulated in step S54 (step S55). This improves the second model 42. Then, the estimation model generation unit 1121 generates the estimation model 43 (step S56). This improves the estimation model 43. After that, the processing unit 10 repeats the processing from step S54 onwards.
[0085] As a result, as schematically shown in Figure 20, the combination of the second model 42 and the estimated model 43 that minimizes the error for a specific target value is searched for. In Figure 20, point P2 represents the initial combination of the second model 42 and the estimated model 43. Point P2 moves as the second model 42 is improved, as indicated by the arrow along the horizontal axis, and further moves as the estimated model 43 is improved, as indicated by the arrow along the vertical axis. By repeating this movement, it is expected that the second model 42 and the estimated model 43 will approach point P3, which corresponds to the combination with the minimum error.
[0086] While embodiments of this disclosure have been described above, this disclosure is not limited to the embodiments described above.
[0087] For example, we have described an example where the processing system 1000 is equivalent to the processing unit 10, but we are not limited to this. For example, as shown in Figure 21, the processing system 1000 may be composed of a terminal 50 having an input unit 11, a processing unit 12, a model information acquisition unit 13, an environment information acquisition unit 14, an error information acquisition unit 15, and a learning unit 16, and a processing unit 10 which is a machine tool. Here, the terminal 50 is a UI (User Interface) terminal for operating the processing unit 10, and is, for example, an industrial PC (Personal Computer). In the example in Figure 21, the processing unit 10 will process the object based on the results of applying the first model 41 and the second model 42 to the setting data.
[0088] Furthermore, as shown in Figure 22, the recipe bank may be stored in an external storage device 110a instead of the storage unit 110 of the processing device 10.
[0089] The embodiments described above may be combined in any way. For example, the terminal 50 shown in Figure 21 may have the characteristic information acquisition unit 18 and model generation unit 19 according to Embodiment 2, as well as the storage unit 110, provision unit 111, and identification unit 112 according to Embodiments 3 and 4.
[0090] Furthermore, while examples have been described in which the first model 41 and the second model 42 are used to obtain correction values for setting data from setting data, the explanation is not limited to this. For example, as shown in Figure 23, in cases where a simple process is predetermined to output a control output value different from the setting data, based on the setting data, to be given to the machining unit 17 that processes the object, the first model 41 may output a control output value more appropriate than the simple process, based on the setting data. Here, the setting data is, for example, the moving speed of the tool in cutting, and the control output value is the current value supplied to the motors of the spindle that rotates the tool and the moving axis that moves the stage. The second model 42 may obtain the output value of the first model 42 and output a correction value for that output value, or it may obtain the setting data and output a correction value for the output of the first model 41. In the example in Figure 23, the model generation unit 19 that generates the first model 41 may use learning data that includes a history of control output values. Also, the learning unit 16 that learns the second model 42 may use learning data that includes a history of control output values.
[0091] The first model 41 and the second model 42 only need to have inputs and outputs that are included in a flow that starts with configuration data entered by the user and ends with processing of an object based on said configuration data. The processing unit 10 should process the object based on the results of applying the first model 41 and the second model 42 to the configuration data.
[0092] The functions of the processing system 1000 according to the above-described embodiment can be realized by dedicated hardware or by a normal computer system.
[0093] For example, a device that performs the above-mentioned processing can be configured by distributing program P1 on a computer-readable recording medium such as a flexible disk, CD-ROM (Compact Disk Read-Only Memory), DVD (Digital Versatile Disk), or MO (Magneto-Optical disk), and then installing program P1 on a computer.
[0094] Alternatively, program P1 may be stored on a disk drive of a server device on a communication network such as the Internet, and then downloaded to a computer, for example, by superimposing it onto a carrier wave.
[0095] Furthermore, the above-mentioned process can also be achieved by launching and executing program P1 while transferring it over a network such as the Internet.
[0096] Furthermore, the above-described process can also be achieved by having all or part of program P1 run on a server device, and by having a computer send and receive information related to that process via a communication network while executing program P1.
[0097] Furthermore, if the above-mentioned functions are implemented by the OS (Operating System) or through collaboration between the OS and the application, only the parts other than the OS may be stored and distributed on a medium, or they may be downloaded to a computer.
[0098] Furthermore, the means for realizing the functions of the processing system 1000 are not limited to software; some or all of them may be realized by dedicated hardware or circuits.
[0099] This disclosure allows for various embodiments and modifications without departing from the broad spirit and scope of this disclosure. Furthermore, the embodiments described above are for illustrative purposes only and do not limit the scope of this disclosure. In other words, the scope of this disclosure is indicated by the claims, not by the embodiments. Various modifications made within the scope of the claims and the equivalent significance of the disclosure are considered to be within the scope of this disclosure. [Industrial applicability]
[0100] This disclosure is suitable for reducing performance variations in equipment installed at factory automation (FA) sites. [Explanation of symbols]
[0101] 10,10a,10b Processing unit, 11 Input unit, 12 Processing unit, 13 Model information acquisition unit, 14 Environmental information acquisition unit, 15 Error information acquisition unit, 16 Learning unit, 17 Processing unit, 18 Characteristic information acquisition unit, 19 Model generation unit, 20~23 Target object, 30 Measurement device, 41 First model, 42 Second model, 43 Estimated model, 50 Terminal, 100 Factory, 100a Production site, 101 Processor, 102 Main memory unit, 103 Auxiliary memory unit, 104 Input unit, 105 Output unit, 106 Communication unit, 107 Internal bus, 110 Storage unit, 110a Storage device, 111 Provision unit, 112 Identification unit, 1000 Processing system, 1121 Estimated model generation unit, 1122 Target value acquisition unit, P1 Program, P2,P3 Points.
Claims
1. An input means for inputting setting data; a processing device that is installed in a factory and processes an object based on the setting data; a model information acquiring means for acquiring model information indicating a first model to be applied to the setting data in order to suppress a first error included in a first processing result of the processing device due to a characteristic specific to the processing device before being installed in the factory; an environmental information acquiring means for acquiring factory environmental information indicating an environment of the processing device installed in the factory; an error information acquiring means for acquiring first error information indicating a second error between a second processing result of the processing device that processes the object in the factory using the first model based on the setting data input in the factory and a target value; a learning means for learning a second model for suppressing the second error from the factory environment information and the first error information; Equipped with the processing device processes the object based on a result of applying the first model and the second model to the setting data. Processing system.
2. information indicating the inherent characteristic is excluded from information used by the learning means to learn the second model. The processing system of claim 1 .
3. and a specifying means for specifying specific data corresponding to the setting data that corresponds to a specified designated target value based on a plurality of the setting data and a third processing result of the processing device that processes the object by applying the first model and the second model to each of the setting data, the input means receives an input of a new target value when processing a new object; The specifying means specifies the specified data corresponding to the setting data corresponding to the new target value, the processing device processes the new object based on a result of applying the first model and the second model to the specific data identified corresponding to the new target value. The processing system of claim 1 .
4. a storage unit that stores each of the plurality of setting data as stored data in association with the target value and a third error between the target value and the third processing result, the specifying means generates an estimation model based on the accumulated data, the estimation model estimating the specific data that suppresses the third error and corresponds to the setting data corresponding to the specified target value, and applies the estimation model to the new target value to specify the specific data that corresponds to the setting data corresponding to the new target value. The processing system of claim 3 .
5. The learning of the second model by the learning means and the generation of the estimation model by the identifying means are alternately repeated. The processing system of claim 4 .
6. The first model is a model for obtaining a value obtained by correcting the setting data from the setting data. A processing system according to any one of claims 1 to 5.
7. the second model is a model for obtaining a corrected value of the output value of the first model from the output value of the first model and the factory environment information; A processing system according to any one of claims 1 to 5.
8. A characteristic information acquisition means for acquiring characteristic information indicating the unique characteristic; and a model generating means for generating the first model, the environmental information acquisition means acquires production environmental information indicating an environment at a production site where the processing device is produced; the error information acquisition means acquires second error information indicating the first error, the model generation means generates the first model from the characteristic information, the production environment information, and the second error information. A processing system according to any one of claims 1 to 5.
9. The input means receives the setting data, a model information acquisition means for acquiring model information indicating a first model to be applied to the setting data in order to suppress a first error included in a first processing result of a processing device that is installed in a factory and processes an object based on the setting data, the first error being caused by an inherent characteristic of the processing device before the processing device is installed in the factory; An environmental information acquisition means acquires environmental information indicating an environment of the processing device installed in the factory, an error information acquiring means acquiring error information indicating a second error between a target value and a second processing result of the processing device that processes the object in the factory using the first model based on the setting data input in the factory; a learning means for learning a second model for suppressing the second error from the environmental information and the error information; the processing device processes the object based on a result of applying the first model and the second model to the setting data. The processing method includes:
10. On the computer, Accepts the configuration data, acquiring model information indicating a first model to be applied to the setting data in order to suppress a first error contained in a first processing result of a processing device that is installed in a factory and processes an object based on the setting data due to an inherent characteristic of the processing device before being installed in the factory; Acquire environmental information indicating an environment of the processing device installed in the factory; acquiring error information indicating a second error between a target value and a second processing result of the processing device that processes the object in the factory using the first model based on the setting data input in the factory; learning a second model for suppressing the second error from the environmental information and the error information; processing the object based on a result of applying the first model and the second model to the setting data; A program to make it happen.
