JP6958461B2 - Control device, control method, and control program - Google Patents
Control device, control method, and control program Download PDFInfo
- Publication number
- JP6958461B2 JP6958461B2 JP2018069320A JP2018069320A JP6958461B2 JP 6958461 B2 JP6958461 B2 JP 6958461B2 JP 2018069320 A JP2018069320 A JP 2018069320A JP 2018069320 A JP2018069320 A JP 2018069320A JP 6958461 B2 JP6958461 B2 JP 6958461B2
- Authority
- JP
- Japan
- Prior art keywords
- prediction model
- command value
- arithmetic processing
- production
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 142
- 238000012545 processing Methods 0.000 claims description 442
- 238000004519 manufacturing process Methods 0.000 claims description 239
- 238000004364 calculation method Methods 0.000 claims description 100
- 238000012937 correction Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 19
- 239000000047 product Substances 0.000 description 66
- 230000008569 process Effects 0.000 description 63
- 238000003066 decision tree Methods 0.000 description 43
- 238000003860 storage Methods 0.000 description 41
- 230000001133 acceleration Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 19
- 230000010365 information processing Effects 0.000 description 18
- 238000010801 machine learning Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 7
- 238000012549 training Methods 0.000 description 6
- 238000000465 moulding Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 238000001746 injection moulding Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 239000013067 intermediate product Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 239000002994 raw material Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 239000010749 BS 2869 Class C1 Substances 0.000 description 1
- 239000010750 BS 2869 Class C2 Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Landscapes
- Feedback Control In General (AREA)
- Programmable Controllers (AREA)
Description
本発明は、制御装置、制御方法、及び制御プログラムに関する。 The present invention relates to control devices, control methods, and control programs.
近年、様々な装置において、未来の状態を予測し、予測した未来の状態に適した動作の制御を行うための予測制御の技術が開発されている。例えば、特許文献1では、車両の動作を制御する制御装置であって、投機的実行により車両の走行を制御する第1の演算部と、投機的実行では予測不能な事態が生じても安全性を確保可能に車両の動作を制御する第2の演算部と、を備える制御装置が提案されている。具体的に、第1の演算部は、将来の入力値を予測して、最適な走行を行うように車両の動作を制御する。一方、第2の演算部は、目標速度に等しい速度で走行し、自車と歩行者との間の距離が一定値以下になった際に急ブレーキをかけるように車両の動作を制御する。この制御装置は、第1の演算部による制御が一定の安全基準を満たす場合には、第1の演算部の演算結果を利用して車両の動作を制御し、第1の演算部による制御が一定の安全基準を満たさない場合には、第2の演算部の演算結果を利用して車両の動作を制御する。これにより、特許文献1によれば、一定の安全性を確保しつつ、最適な走行を行うように車両の動作を制御することができる。
In recent years, predictive control techniques for predicting a future state and controlling an operation suitable for the predicted future state have been developed in various devices. For example, in
本件発明者らは、比較的に短いサイクルでワークから製品を生産する生産装置の動作を予測制御するケースでは、次のような問題が生じ得ることを見出した。すなわち、このような生産装置では、ワークを処理するタイミングが比較的に短いサイクルで訪れる。そのため、予測制御の演算処理が複雑である、演算資源(例えば、プロセッサ等)が他の処理に優先的に割り当てられている等に起因して、予測制御の演算処理が遅延してしまうと、当該予測制御の演算処理が、ワークを処理するタイミングまでに完了しない可能性がある。予測制御の演算処理が、ワークを処理するタイミングまでに完了しなければ、生産装置の予測制御を適切に遂行することができなくなってしまうという問題点が生じることを本件発明者らは見出した。 The present inventors have found that the following problems may occur in the case of predicting and controlling the operation of a production apparatus that produces a product from a work in a relatively short cycle. That is, in such a production apparatus, the timing of processing the work comes in a relatively short cycle. Therefore, if the arithmetic processing of the predictive control is complicated, the computational resources (for example, a processor, etc.) are preferentially allocated to other processing, and the arithmetic processing of the predictive control is delayed. There is a possibility that the arithmetic processing of the prediction control is not completed by the timing of processing the work. The present inventors have found that if the arithmetic processing of the predictive control is not completed by the timing of processing the work, there arises a problem that the predictive control of the production apparatus cannot be properly executed.
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、生産装置の予測制御の演算時間を適切に管理する技術を提供することである。 The present invention, on the one hand, has been made in view of such circumstances, and an object of the present invention is to provide a technique for appropriately managing the calculation time of predictive control of a production apparatus.
本発明は、上述した課題を解決するために、以下の構成を採用する。 The present invention employs the following configuration in order to solve the above-mentioned problems.
すなわち、本発明の一側面に係る制御装置は、ハードウェアプロセッサと、前記ハードウェアプロセッサにより実行されるプログラムを保持するメモリと、を備える制御装置であって、前記ハードウェアプロセッサは、前記プログラムに含まれる一連の命令に基づいて、ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、を実行する。 That is, the control device according to one aspect of the present invention is a control device including a hardware processor and a memory for holding a program executed by the hardware processor, and the hardware processor is included in the program. Calculation of a prediction model constructed to predict a command value from a work to a production device that produces a product based on a series of instructions included and adapted to the production of the product by the production device. The prediction is based on the step of starting the processing, the step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and the calculated remaining processing time. When the step of determining whether or not the determination of the command value based on the output obtained from the model is in time for the control timing for controlling the operation of the production by the production apparatus and the determination of the command value are in time for the control timing. When the determination is made, the output is acquired from the prediction model by continuing until the arithmetic processing of the prediction model is completed, and the command value to the production apparatus is determined based on the output acquired from the prediction model. The step and the step of controlling the operation of the production apparatus based on the determined command value are executed.
当該構成に係る制御装置は、予測モデルを利用して生産装置への指令値を予測する際に、残処理時間を算出するステップ、及び残処理時間に基づいて、予測モデルによる指令値の決定が制御タイミングに間に合うか否かを判定するステップを実行する。これにより、当該構成に係る制御装置は、予測モデルを利用した指令値の予測に関する演算処理が、その予測した指令値を利用して生産装置の動作を制御するタイミングに間に合うか否かを特定することができる。したがって、当該構成によれば、生産装置の予測制御の演算時間を適切に管理することができるようになる。 In the control device related to the configuration, when predicting the command value to the production device using the prediction model, the step of calculating the remaining processing time and the determination of the command value by the prediction model based on the remaining processing time are performed. The step of determining whether or not the control timing is met is executed. As a result, the control device according to the configuration specifies whether or not the arithmetic processing related to the prediction of the command value using the prediction model is in time for the timing of controlling the operation of the production device using the predicted command value. be able to. Therefore, according to the configuration, it becomes possible to appropriately manage the calculation time of the prediction control of the production apparatus.
加えて、当該構成に係る制御装置は、予測モデルによる指令値の決定が制御タイミングに間に合うと判定した場合には、そのまま予測制御を適切に実行することができる。一方、当該構成に係る制御装置は、予測モデルによる指令値の決定が制御タイミング間に合わないと判定した場合には、その予測制御を停止する、その他の方法で指令値を決定する等のように、予測制御以外の方法で生産装置の動作を適切に制御することができる。したがって、当該構成によれば、予測モデルによる指令値の決定が制御タイミングに間に合わないことにより、生産装置の動作を制御する処理が滞ってしまうことを防止することができる。 In addition, the control device according to the configuration can appropriately execute the prediction control as it is when it is determined that the determination of the command value by the prediction model is in time for the control timing. On the other hand, when the control device according to the configuration determines that the determination of the command value by the prediction model is not in time for the control timing, the prediction control is stopped, the command value is determined by another method, and the like. The operation of the production apparatus can be appropriately controlled by a method other than predictive control. Therefore, according to the configuration, it is possible to prevent the process of controlling the operation of the production apparatus from being delayed because the determination of the command value by the prediction model is not in time for the control timing.
なお、「生産装置」は、何らかの生産処理を行い、制御の対象となり得る装置であれば特に限定されなくてもよく、例えば、プレス機、射出成形機、NC旋盤、放電加工機、包装機、搬送機、検査機内の搬送機構等であってよい。「ワーク」は、生産装置の作業対象となり得る物であれば特に限定されなくてもよく、例えば、製品の原料、加工前の物、組み立て前の部品等であってよい。「製品」は、ワークに対して生産装置が生産処理を行うことで得られる物であり、最終品の他、中間品(加工途中のもの)を含んでもよい。「予測モデル」は、予測処理を実行する時点よりも先の時点(将来の時点)における生産装置への指令値を予測可能なモデルであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「予測モデル」には、例えば、決定木、ニューラルネットワーク、サポートベクタマン等の学習モデルが用いられてもよい。 The "production device" is not particularly limited as long as it is a device that can perform some production processing and can be controlled. For example, a press machine, an injection molding machine, an NC lathe, an electric discharge machine, a packaging machine, and the like. It may be a transport machine, a transport mechanism in an inspection machine, or the like. The "work" is not particularly limited as long as it can be a work target of the production apparatus, and may be, for example, a raw material of a product, a product before processing, a part before assembly, or the like. The "product" is a product obtained by performing a production process on the work by the production apparatus, and may include an intermediate product (a product in the process of processing) in addition to the final product. The "prediction model" is not particularly limited as long as it is a model that can predict the command value to the production apparatus at a time point (future time point) before the time point when the prediction process is executed, and depends on the embodiment. It may be appropriately selected. As the "prediction model", for example, a learning model such as a decision tree, a neural network, or a support vector man may be used.
上記一側面に係る制御装置において、前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記ハードウェアプロセッサは、前記予測モデルの演算処理を加速するステップを更に実行してもよい。当該構成によれば、予測モデルの演算処理を加速することで、指令値の決定が制御タイミングに間に合うようにすることができる。これによって、予測制御を打ち切る可能性を低減し、予測制御を適切に実施することができるようになる。なお、演算処理の加速は、当該演算処理に対するハードウェア資源の割り当てを優先することで実現可能である。 When the control device according to the one aspect determines that the determination of the command value is not in time for the control timing, the hardware processor may further execute a step of accelerating the arithmetic processing of the prediction model. According to this configuration, by accelerating the arithmetic processing of the prediction model, it is possible to make the determination of the command value in time for the control timing. As a result, the possibility of discontinuing the predictive control can be reduced, and the predictive control can be appropriately executed. It should be noted that the acceleration of the arithmetic processing can be realized by giving priority to the allocation of hardware resources for the arithmetic processing.
上記一側面に係る制御装置において、前記ハードウェアプロセッサは、1又は複数のコアで構成されてよく、前記予測モデルの演算処理には、少なくとも1つのコアが割り当てられてよく、前記ハードウェアプロセッサは、前記予測モデルの演算処理に対して、割り当てられた前記コアの利用率を高めることで、前記予測モデルの演算処理を加速してもよい。当該構成によれば、予測モデルの演算処理を適切に加速することができ、これによって、予測制御を適切に実施することができるようになる。 In the control device according to the one aspect, the hardware processor may be composed of one or a plurality of cores, and at least one core may be assigned to the arithmetic processing of the prediction model. , The arithmetic processing of the prediction model may be accelerated by increasing the utilization rate of the allocated core with respect to the arithmetic processing of the prediction model. According to this configuration, the arithmetic processing of the prediction model can be appropriately accelerated, whereby the prediction control can be appropriately executed.
上記一側面に係る制御装置において、前記ハードウェアプロセッサは、1又は複数のコアで構成されてよく、前記予測モデルの演算処理には、少なくとも1つのコアが割り当てられてよく、前記ハードウェアプロセッサは、割り当てられた前記コアにおいて、前記予測モデルの演算処理の優先度を高めることによって、前記予測モデルの演算処理を加速してもよい。当該構成によれば、予測モデルの演算処理を適切に加速することができ、これによって、予測制御を適切に実施することができるようになる。 In the control device according to the one aspect, the hardware processor may be composed of one or a plurality of cores, and at least one core may be assigned to the arithmetic processing of the prediction model. , The arithmetic processing of the prediction model may be accelerated by increasing the priority of the arithmetic processing of the prediction model in the assigned core. According to this configuration, the arithmetic processing of the prediction model can be appropriately accelerated, whereby the prediction control can be appropriately executed.
上記一側面に係る制御装置において、前記ハードウェアプロセッサは、複数のコアで構成されてよく、前記予測モデルの演算処理には、前記複数のコアのうちの第1のコアが割り当てられてよく、前記ハードウェアプロセッサは、前記複数のコアのうちの第2のコアであって、前記予測モデルの演算処理に割り当てられていなかった第2のコアを、前記予測モデルの演算処理に更に割り当てることによって、前記予測モデルの演算処理を加速してもよい。当該構成によれば、予測モデルの演算処理を適切に加速することができ、これによって、予測制御を適切に実施することができるようになる。なお、第1のコア及び第2のコアはそれぞれ、1つであってもよいし、複数であってもよい。 In the control device according to the one aspect, the hardware processor may be composed of a plurality of cores, and the first core of the plurality of cores may be assigned to the arithmetic processing of the prediction model. The hardware processor further allocates the second core, which is the second core of the plurality of cores and has not been assigned to the arithmetic processing of the prediction model, to the arithmetic processing of the prediction model. , The arithmetic processing of the prediction model may be accelerated. According to this configuration, the arithmetic processing of the prediction model can be appropriately accelerated, whereby the prediction control can be appropriately executed. The first core and the second core may be one or a plurality of cores, respectively.
上記一側面に係る制御装置において、前記ハードウェアプロセッサは、複数のコアで構成されてよく、前記予測モデルの演算処理には、前記複数のコアのうちの第3のコアが割り当てられてよく、前記複数のコアは、前記予測モデルの演算処理に割り当てられていない第4のコアであって、前記第3のコアにおいて前記演算処理に割り振られている利用率よりも大きな空き容量を有する第4のコアを含んでいてもよく、前記ハードウェアプロセッサは、前記予測モデルの演算処理に対する割り当てを前記第3のコアから前記第4のコアに置き換えて、前記第3のコアにおいて前記演算処理に割り振られていた利用率よりも大きな利用率を前記第4のコアにおいて前記演算処理に割り振ることで、前記予測モデルの演算処理を加速してもよい。当該構成によれば、予測モデルの演算処理を適切に加速することができ、これによって、予測制御を適切に実施することができるようになる。なお、第3のコア及び第4のコアはそれぞれ、1つであってもよいし、複数であってもよい。 In the control device according to the one aspect, the hardware processor may be composed of a plurality of cores, and a third core among the plurality of cores may be assigned to the arithmetic processing of the prediction model. The plurality of cores are fourth cores that are not assigned to the arithmetic processing of the prediction model, and have a free capacity larger than the utilization rate allocated to the arithmetic processing in the third core. The hardware processor may replace the allocation of the prediction model for arithmetic processing from the third core to the fourth core, and allocate to the arithmetic processing in the third core. By allocating a utilization rate larger than the utilization rate to the arithmetic processing in the fourth core, the arithmetic processing of the prediction model may be accelerated. According to this configuration, the arithmetic processing of the prediction model can be appropriately accelerated, whereby the prediction control can be appropriately executed. The third core and the fourth core may be one or a plurality of cores, respectively.
上記一側面に係る制御装置において、前記予測モデルの演算処理を加速するステップを実行した後に、前記ハードウェアプロセッサは、前記残処理時間を算出するステップ、及び前記指令値の決定が前記制御タイミングに間に合うか否かを判定するステップを再度実行してもよい。当該構成によれば、予測モデルの演算処理を加速した結果、当該予測モデルによる指令値の決定が制御タイミングに間に合うか否かを特定することができる。これにより、生産装置の予測制御の演算時間を適切に管理することができる。 In the control device according to the one aspect, after executing the step of accelerating the arithmetic processing of the prediction model, the hardware processor sets the step of calculating the remaining processing time and the determination of the command value at the control timing. The step of determining whether or not it is in time may be executed again. According to this configuration, as a result of accelerating the arithmetic processing of the prediction model, it is possible to specify whether or not the determination of the command value by the prediction model is in time for the control timing. As a result, it is possible to appropriately manage the calculation time of the prediction control of the production apparatus.
上記一側面に係る制御装置において、前記ハードウェアプロセッサは、前記予測モデルの演算処理の加速が可能か否かを判定してもよく、前記予測モデルの演算処理の加速が可能ではないと判定した場合、前記予測モデルの演算処理を中止し、予め与えられた設定値を指令値に指定し、指定した前記指令値に基づいて、前記生産装置の動作を制御してもよい。当該構成によれば、予測モデルの演算処理を加速する余地がなく、かつ予測モデルによる指令値の決定が制御タイミングに間に合わないと判定される場合に、予測制御以外の方法で生産装置の動作を制御するようにすることができる。 In the control device according to the one aspect, the hardware processor may determine whether or not the arithmetic processing of the prediction model can be accelerated, and it is determined that the arithmetic processing of the prediction model cannot be accelerated. In this case, the arithmetic processing of the prediction model may be stopped, a set value given in advance may be designated as a command value, and the operation of the production apparatus may be controlled based on the designated command value. According to this configuration, when there is no room for accelerating the arithmetic processing of the prediction model and it is determined that the determination of the command value by the prediction model is not in time for the control timing, the operation of the production apparatus is operated by a method other than the prediction control. It can be controlled.
なお、予測モデルの演算処理の加速が可能か否かを判定する条件は、実施の形態に応じて適宜設定されてよい。予測モデルの演算処理の加速が可能ではないケースは、例えば、当該演算処理に優先的にハードウェア資源を割り当てる余地がないケースである。また、予め与えられた設定値とは、例えば、指令値の基準値、過去の指令値(繰り返し動作を制御している場合には、例えば、前回値)である。過去の指令値は、例えば、制御状況が同一の前回値であってよい。 The conditions for determining whether or not the arithmetic processing of the prediction model can be accelerated may be appropriately set according to the embodiment. The case where it is not possible to accelerate the arithmetic processing of the prediction model is, for example, the case where there is no room for preferentially allocating hardware resources to the arithmetic processing. Further, the set value given in advance is, for example, a reference value of a command value and a past command value (for example, a previous value when the repetitive operation is controlled). The past command value may be, for example, the previous value having the same control status.
上記一側面に係る制御装置において、前記予測モデルは、前記製品の生産に適応した前記指令値の予測の結果として、前記指令値の基準値に対する補正値を出力するように構成されてよい。当該構成によれば、予測モデルから得られる補正値を利用して、生産装置への指令値を適切に決定することができる。 In the control device according to the one aspect, the prediction model may be configured to output a correction value with respect to the reference value of the command value as a result of prediction of the command value adapted to the production of the product. According to this configuration, the command value to the production apparatus can be appropriately determined by using the correction value obtained from the prediction model.
上記一側面に係る制御装置において、前記予測モデルは、前記ワークの特徴量及び前記製品を生産する環境の属性値の少なくとも一方の入力に対して、前記製品の生産に適応した前記指令値を予測するように構築されてよい。当該構成によれば、生産装置による製品の生産工程に影響を与え得る要因を考慮して、生産装置への指令値を決定することができるようになる。 In the control device according to the one aspect, the prediction model predicts the command value adapted to the production of the product with respect to the input of at least one of the feature amount of the work and the attribute value of the environment in which the product is produced. It may be constructed to do so. According to this configuration, the command value for the production equipment can be determined in consideration of the factors that may affect the production process of the product by the production equipment.
なお、「ワークの特徴量」は、ワークの何らかの特徴を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ワークの特徴量は、例えば、硬さ、寸法、材質、重さ、熱等である。また、ワークの特徴量は、ワークの特徴を直接的に示すものであってもよいし、ワークの特徴を間接的に示すものであってもよい。ワークの特徴を直接的に示すとは、例えば、ワークの硬さ(硬度)そのものを数値、クラス等で表現することである。一方、ワークの特徴を間接的に示すとは、例えば、ワークの硬さ(硬度)を測定する際に得られた2次的指標(例えば、ワークにかかる荷重、測定の際に作用させたトルク等)を数値、クラス等で表現することである。 The "feature amount of the work" is not particularly limited as long as it can exhibit some features of the work, and may be appropriately selected according to the embodiment. The feature quantities of the work are, for example, hardness, dimensions, material, weight, heat, and the like. Further, the feature amount of the work may directly indicate the feature of the work or may indirectly indicate the feature of the work. To directly show the characteristics of the work is, for example, expressing the hardness (hardness) of the work itself by a numerical value, a class, or the like. On the other hand, indirectly indicating the characteristics of the work means, for example, a secondary index obtained when measuring the hardness (hardness) of the work (for example, a load applied to the work, a torque applied at the time of measurement). Etc.) is expressed by numerical values, classes, etc.
また、「製品を生産する環境の属性値」は、生産装置が稼動する環境に関する何らかの属性を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品を生産する環境の属性値は、例えば、生産装置の周囲の温度、湿度、装置の劣化度合い(例えば、経年数、加工回数等)、振動等であってよい。 Further, the "attribute value of the environment in which the product is produced" is not particularly limited as long as it can indicate some attribute related to the environment in which the production apparatus operates, and may be appropriately selected according to the embodiment. The attribute values of the environment in which the product is produced may be, for example, the temperature and humidity around the production apparatus, the degree of deterioration of the apparatus (for example, the number of years of processing, the number of times of processing, etc.), vibration, and the like.
なお、上記各形態に係る制御装置の別の態様として、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。 As another aspect of the control device according to each of the above modes, an information processing method that realizes each of the above configurations may be used, a program may be used, or a computer or the like that stores such a program. It may be a storage medium that can be read by an apparatus, a machine, or the like. Here, the storage medium that can be read by a computer or the like is a medium that stores information such as a program by electrical, magnetic, optical, mechanical, or chemical action.
例えば、本発明の一側面に係る制御方法は、コンピュータが、ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、を実行する、情報処理方法である。 For example, the control method according to one aspect of the present invention is such that the computer predicts a command value from a work to a production apparatus that produces a product, which is adapted to the production of the product by the production apparatus. A step of starting the arithmetic processing of the constructed prediction model, a step of calculating the remaining processing time until the arithmetic processing of the prediction model is completed after starting the arithmetic processing of the prediction model, and the calculated residual processing. A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the time is in time for the control timing for controlling the operation of the production by the production apparatus, and the determination of the command value. When it is determined that the control timing is in time, the output is acquired from the prediction model by continuing until the arithmetic processing of the prediction model is completed, and the production apparatus is based on the output acquired from the prediction model. It is an information processing method that executes a step of determining a command value to the user and a step of controlling the operation of the production apparatus based on the determined command value.
また、例えば、本発明の一側面に係る制御プログラムは、コンピュータに、ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、を実行させるための、プログラムである。 Further, for example, the control program according to one aspect of the present invention predicts to a computer a command value from a work to a production apparatus for producing a product, which is adapted to the production of the product by the production apparatus. A step of starting the arithmetic processing of the prediction model constructed as described above, a step of calculating the remaining processing time until the arithmetic processing of the prediction model is completed after the arithmetic processing of the prediction model is started, and the calculated step. A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus, and the command value. When it is determined that the determination of is in time for the control timing, the output is acquired from the prediction model by continuing until the arithmetic processing of the prediction model is completed, and based on the output acquired from the prediction model, the said It is a program for executing a step of determining a command value to a production apparatus and a step of controlling the operation of the production apparatus based on the determined command value.
本発明によれば、生産装置の予測制御の演算時間を適切に管理することができる。 According to the present invention, it is possible to appropriately manage the calculation time of the predictive control of the production apparatus.
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。 Hereinafter, embodiments according to one aspect of the present invention (hereinafter, also referred to as “the present embodiment”) will be described with reference to the drawings. However, the embodiments described below are merely examples of the present invention in all respects. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. That is, in carrying out the present invention, a specific configuration according to the embodiment may be appropriately adopted. The data appearing in the present embodiment are described in natural language, but more specifically, the data is specified in a pseudo language, a command, a parameter, a machine language, etc. that can be recognized by a computer.
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本実施形態に係る制御装置1及び学習装置2の利用場面の一例を模式的に例示する。
§1 Application example First, an example of a situation in which the present invention is applied will be described with reference to FIG. FIG. 1 schematically illustrates an example of a usage scene of the
図1に示されるとおり、本実施形態に係る制御装置1は、生産装置3の動作を制御するように構成された情報処理装置である。図1の例では、生産装置3は、ワークを加工するプレス機である。このプレス機は、本発明の「生産装置」の一例である。ただし、制御装置1を適用可能な生産装置は、このようなプレス機に限られなくてもよく、実施の形態に応じて適宜選択されてよい。生産装置3は、例えば、プレス機の他、射出成形機、NC旋盤、放電加工機、包装機、搬送機、検査機内の搬送機構等であってよい。
As shown in FIG. 1, the
具体的に、本実施形態に係る制御装置1は、まず、ワークから製品を生産する生産装置3への指令値であって、当該生産装置3による製品の生産に適応した指令値を予測するように構築された予測モデル(後述する予測モデル5)の演算処理を開始する。予測モデルの演算処理を開始した後、制御装置1は、予測モデルの演算処理が完了するまでの残処理時間を算出する。制御装置1は、例えば、演算処理の進捗状態を確認することで、当該演算処理の残処理量を算出し、算出した残処理量に基づいて残処理時間を算出する。この残処理時間は、制御装置1における演算資源の状況によって変化し得る。次に、制御装置1は、算出した残処理時間に基づいて、予測モデルから得られる出力に基づく指令値の決定が、生産装置3による生産の動作を制御する制御タイミングに間に合うか否かを判定する。
Specifically, the
これにより、制御装置1は、予測モデルを利用した指令値の予測に関する演算処理が、その予測した指令値を利用して生産装置3の動作を制御するタイミングに間に合うか否かを特定することができる。指令値の決定が制御タイミングに間に合うと判定した場合には、制御装置1は、予測モデルの演算処理を完了するまで継続することで、予測モデルから出力を取得し、予測モデルから取得した出力に基づいて、生産装置3への指令値を決定する。そして、制御装置1は、決定した指令値に基づいて、生産装置3の動作を制御する。一方、指令値の決定が制御タイミングに間に合わないと判定した場合には、制御装置1は、予測モデルの演算処理を加速して、予測モデルによる指令値の決定が制御タイミングに間に合うようにしたり、予測モデルの演算処理を中止し、予測制御以外の方法で生産装置3の動作を制御したりすることができる。
As a result, the
これに対して、本実施形態に係る学習装置2は、制御装置1で利用する予測モデルを構築するように構成された情報処理装置である。本実施形態では、予測モデルは、学習モデル(後述する決定木)により構成される。そのため、学習装置2は、機械学習に利用する学習データ(後述する学習用データセット221)を取得し、取得した学習データを利用した機械学習を行うことで、生産装置3による製品の生産に適応した指令値を予測する能力を獲得した予測モデルを構築する。制御装置1は、例えば、ネットワークを介して、学習装置2により作成された学習済みの予測モデルを取得することができる。なお、ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
On the other hand, the
以上のとおり、本実施形態では、予測モデルを利用して生産装置3への指令値を予測する際に、残処理時間を算出するステップ、及び残処理時間に基づいて、予測モデルによる指令値の決定が制御タイミングに間に合うか否かを判定するステップを実行する。これにより、予測モデルを利用した指令値の予測に関する演算処理が、その予測した指令値を利用して生産装置3の動作を制御するタイミングに間に合うか否かを特定することができる。したがって、本実施形態によれば、生産装置3の予測制御の演算時間を適切に管理することができる。
As described above, in the present embodiment, when the command value to the
特に、制御装置1では、上記予測モデルの演算処理以外の他のタスクを含む複数のタスクが処理され得る。この場合には、例えば、割込みのタスクが発生する等により、制御装置1における演算資源が同一の条件で利用できるとは限らない。すなわち、制御装置1における演算資源の状況は時々刻々と変化していき、それに伴って、予測モデルの演算処理に用いることができる演算資源も変化し得る。したがって、予測モデルの演算処理にかかる処理時間は常に一定であるとは限らない。そのため、シミュレーション等により予め特定した処理時間に基づいて、制御タイミングに間に合うように処理可能と判定された予測モデルを制御装置1に搭載したとしても、予測モデルの演算処理が制御タイミングに間に合わない可能性がある。これに対して、本実施形態では、制御装置1は、予測モデルの演算処理を実行する際に、その演算処理にかかる残処理時間を算出する。これにより、演算資源の状況が時々刻々と変化しても、制御装置1は、予測モデルの演算処理が制御タイミングに間に合うか否かを判定することができる。よって、本実施形態によれば、生産装置3の予測制御の演算時間を適切に管理することができる。
In particular, the
§2 構成例
[ハードウェア構成]
<制御装置>
次に、図2を用いて、本実施形態に係る制御装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る制御装置1のハードウェア構成の一例を模式的に例示する。
§2 Configuration example [Hardware configuration]
<Control device>
Next, an example of the hardware configuration of the
図2に示されるとおり、本実施形態に係る制御装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースをそれぞれ「通信I/F」及び「外部I/F」と記載している。
As shown in FIG. 2, in the
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、制御部11(CPU)により実行される制御プログラム81、割当データ121、学習結果データ225等の各種情報を記憶する。
The
制御プログラム81は、生産装置3の動作を制御する後述の情報処理(図9)を制御装置1に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。割当データ121は、制御装置1における演算資源(例えば、ハードウェアプロセッサ、メモリ)に対するタスクの割り当てを示す。学習結果データ225は、学習済みの予測モデルの設定を行うためのデータである。詳細は後述する。
The
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。制御装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置2)と行うことができる。
The
外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、制御装置1は、外部インタフェース14を介して、生産装置3に接続される。これにより、制御装置1は、生産装置3に対して指令値を送信することで、生産装置3の動作を制御することができる。
The
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置15及び出力装置16を利用することで、制御装置1を操作することができる。
The
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記制御プログラム81及び学習結果データ225の少なくとも一方は、この記憶媒体91に記憶されていてもよい。
The
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。制御装置1は、この記憶媒体91から、上記制御プログラム81及び学習結果データ225の少なくとも一方を取得してもよい。
The
ここで、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
Here, FIG. 2 illustrates a disc-type storage medium such as a CD or DVD as an example of the
なお、制御装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。制御装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、制御装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のコントローラ、汎用のサーバ装置、汎用のデスクトップPC(Personal Computer)、ノートPC、タブレットPC等であってもよい。
Regarding the specific hardware configuration of the
<生産装置>
次に、図3を用いて、本実施形態に係る生産装置3のハードウェア構成の一例について説明する。図3は、本実施形態に係る生産装置3のハードウェア構成の一例を模式的に例示する。
<Production equipment>
Next, an example of the hardware configuration of the
本実施形態に係る生産装置3は、サーボドライバ31、上側金型32、及び下側金型33を備えている。下側金型33が固定されているのに対して、上側金型32は、サーボモータ(不図示)によって、上下方向に移動可能に構成されている。これにより、上側金型32は、下側金型33にワークを押し付けて、ワークの成形を行ったり、下側金型33から離れたりすることができる。サーボドライバ31は、制御装置1からの指令値に基づいて、上側金型32のサーボモータを駆動するように構成される。
The
次に、図4A〜図4Dを用いて、生産装置3における生産工程の一例を模式的に例示する。生産装置3は、例えば、生産ラインに配置される。図4Aに示されるとおり、初期状態では、上側金型32は、下側金型33から離れた待機位置に配置され、下側金型33にワーク40が搬送されるまで待機する。ワーク40は、例えば、金属製の板材である。ただし、ワーク40は、このような例に限定される訳ではなく、生産装置3の種類に応じて適宜選択されてよい。ワーク40は、例えば、製品の原料、加工前の物、組み立て前の部品等であってよい。
Next, an example of the production process in the
下側金型33の所定の位置にワーク40が配置された後、生産装置3は、図4Bに示されるとおり、サーボドライバ31により上側金型32のサーボモータを駆動し、上側金型32を成形開始位置に配置する。成形開始位置は、例えば、上側金型32の先端がワーク40に接触する又はその直前の位置である。
After the
そして、生産装置3は、図4Cに示されるとおり、サーボドライバ31により上側金型32のサーボモータを更に駆動し、上側金型32を目標位置(下死点)まで移動させ、上側金型32及び下側金型33によりワーク40の成形を行う。これにより、生産装置3は、ワーク40から製品41を生産することができる。なお、この製品41は、ワーク40に対して生産装置3が生産処理を行うことで得られる物であれば特に限定されなくてもよく、最終品であってもよいし、中間品(加工途中のもの)であってもよい。
Then, as shown in FIG. 4C, the
成形が完了した後、生産装置3は、図4Dに示されるとおり、サーボドライバ31により上側金型32のサーボモータを駆動し、上側金型32を待機位置まで移動させる。そして、ワーク40を成形することで得られた製品41をベルトコンベア(不図示)等により生産装置3から搬送する。これにより、ワーク40から製品41を生産する一連の生産工程が完了する。
After the molding is completed, the
この生産工程において、図4Cにおけるプレス時間が不十分であったり、上側金型32が下死点に到達するまでサーボモータを駆動していなかったりすると、得られる製品41の品質が悪化してしまう。そこで、従来、現場の作業者が、定期的に製品の品質をチェックし、生産装置の動作の設定を調節することで、不良品の発生を抑制していた。これに対して、本実施形態に係る制御装置1は、予測モデルを利用することで、生産工程に不良が生じないように、生産装置3への適切な指令値を予測する。これにより、制御装置1は、不良品の発生を抑制するように、生産装置3の動作を自動的に調節する。
In this production process, if the pressing time in FIG. 4C is insufficient or the servomotor is not driven until the
<学習装置>
次に、図5を用いて、本実施形態に係る学習装置2のハードウェア構成の一例について説明する。図5は、本実施形態に係る学習装置2のハードウェア構成の一例を模式的に例示する。
<Learning device>
Next, an example of the hardware configuration of the
図5に示されるとおり、本実施形態に係る学習装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。なお、図5では、通信インタフェースを「通信I/F」と記載している。
As shown in FIG. 5, the
制御部21は、上記制御部11と同様に、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、制御部21(CPU)により実行される学習プログラム82、予測モデルの機械学習に利用する学習用データセット221、学習プログラム82を実行することで作成した学習結果データ225等の各種情報を記憶する。
Like the
学習プログラム82は、予測モデルの機械学習の後述する情報処理(図13)を学習装置2に実行させ、当該機械学習の結果として学習結果データ225を生成するためのプログラムである。学習プログラム82は、当該情報処理の一連の命令を含む。学習用データセット221は、生産装置3による製品の生産に適応した指令値を予測する能力を獲得した予測モデルを構築するための機械学習に利用されるデータである。詳細は後述する。
The
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、制御装置1)と行うことができる。また、学習装置2は、この通信インタフェース23を利用することで、作成した学習結果データ225を外部の装置に配信することができる。
The
入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を介して、学習装置2を操作することができる。
The input device 24 is, for example, a device for inputting a mouse, a keyboard, or the like. The
ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ26の種類は、記憶媒体92の種類に応じて適宜選択されてよい。上記学習プログラム82及び学習用データセット221の少なくとも一方は、この記憶媒体92に記憶されていてもよい。
The
記憶媒体92は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置2は、この記憶媒体92から、上記学習プログラム82及び学習用データセット221の少なくとも一方を取得してもよい。
The
ここで、図5では、上記図2と同様に、記憶媒体92の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体92の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
Here, in FIG. 5, similarly to FIG. 2 above, as an example of the
なお、学習装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、ECU等で構成されてよい。学習装置2は、複数台の情報処理装置で構成されてもよい。また、学習装置2には、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC等が用いられてもよい。
Regarding the specific hardware configuration of the
[ソフトウェア構成]
<制御装置>
次に、図6を用いて、本実施形態に係る制御装置1のソフトウェア構成の一例について説明する。図6は、本実施形態に係る制御装置1のソフトウェア構成の一例を模式的に例示する。
[Software configuration]
<Control device>
Next, an example of the software configuration of the
制御装置1の制御部11は、記憶部12に記憶された制御プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された制御プログラム81をCPUにより解釈及び実行して、制御プログラム81に含まれる一連の命令に基づいて、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係る制御装置1は、データ取得部111、予測演算部112、残処理時間算出部113、遅延判定部114、加速処理部115、及び動作制御部116をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部11(CPU)により実現される。
The
データ取得部111は、予測モデル5が、生産装置3による製品41の生産に適応した指令値を予測するのに利用するデータを取得する。本実施形態では、予測モデル5は、ワーク40の特徴量61及び製品41を生産する環境の属性値62の入力に対して、製品41の生産に適応した指令値を予測するように構築される。そこで、データ取得部111は、ワーク40の特徴量61及び製品41を生産する環境の属性値62を取得する。
The data acquisition unit 111 acquires data used by the
予測演算部112は、ワーク40から製品41を生産する生産装置3への指令値であって、生産装置3による製品41の生産に適応した指令値を予測するように構築された予測モデル5を備えている。予測制御を実施するため、予測演算部112は、この予測モデル5の演算処理を開始する。残処理時間算出部113は、予測モデル5の演算処理を開始した後、予測モデル5の演算処理が完了するまでの残処理時間を算出する。遅延判定部114は、算出した残処理時間に基づいて、予測モデル5から得られる出力に基づく指令値の決定が、生産装置3による生産の動作を制御する制御タイミングに間に合うか否かを判定する。
The prediction calculation unit 112 uses a
指令値の決定が制御タイミングに間に合うと判定した場合に、予測演算部112は、予測モデル5の演算処理を完了するまで継続することで、予測モデル5から出力を取得する。動作制御部116は、予測モデル5から取得した出力に基づいて、生産装置3への指令値を決定する。そして、動作制御部116は、決定した指令値に基づいて、生産装置3の動作を制御する。
When it is determined that the determination of the command value is in time for the control timing, the prediction calculation unit 112 acquires an output from the
本実施形態では、予測モデル5は、製品41の生産に適応した指令値の予測の結果に対応する出力値として、指令値の基準値60に対する補正値63を出力するように構成される。そのため、予測演算部112は、予測モデル5の演算処理を完了することで、当該予測モデル5から補正値63に対応する出力値を取得する。これに応じて、動作制御部116は、取得した補正値63により基準値60を補正することで得られた値を指令値に決定し、決定した指令値に基づいて、生産装置3の動作を制御する。
In the present embodiment, the
一方、本実施形態では、指令値の決定が制御タイミングに間に合わないと判定した場合、加速処理部115は、予測モデル5の演算処理を加速する。加速処理部115は、例えば、予測モデル5の演算処理に対するハードウェアの演算資源を優先的に割り当てることで、予測モデル5の演算処理を加速する。なお、予測モデル5の演算処理の加速が可能ではなく、かつ指令値の決定が制御タイミングに間に合わないと判定される場合、予測演算部112は、予測モデル5の演算処理を中止する。そして、動作制御部116は、予め与えられた設定値を指令値に指定し、指定した指令値に基づいて、生産装置3の動作を制御する。
On the other hand, in the present embodiment, when it is determined that the determination of the command value is not in time for the control timing, the acceleration processing unit 115 accelerates the arithmetic processing of the
(予測モデル)
次に、図7A及び図7Bを更に用いて、本実施形態に係る予測モデル5について説明する。図7Aは、本実施形態に係る予測モデル5の構成の一例を模式的に例示する。また、図7Bは、予測モデル5に対する入力と出力との関係を模式的に例示する。
(Prediction model)
Next, the
図7Aに示されるとおり、本実施形態に係る予測モデル5は、決定木(具体的には、回帰木)によって構成されている。予測モデル5(決定木)は、根ノードR、葉ノードL1〜L5、及び根ノードRと葉ノードL1〜L5の間に配置される中間ノードN1〜N3を含んでいる。各ノードの間にはリンクが設けられる。図7Aの例では、根ノードRと中間ノード(N1、N2)との間、中間ノードN1と各葉ノード(L1、L2)との間、中間ノードN2と葉ノードL3及び中間ノードN3との間、中間ノードN3と各葉ノード(L4、L5)との間にそれぞれ、リンクが設けられている。
As shown in FIG. 7A, the
なお、図7Aの例では、決定木の深さは4であり、中間ノードの数は3つであり、葉ノードの数は5つである。しかしながら、決定木の深さ、中間ノードの数、及び葉ノードの数は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。また、図7Aの例では、根ノードRから各葉ノードL1〜L5にリンクが設けられていない。しかしながら、決定木の構成は、このような例に限定されなくてもよく、根ノードからのリンクに接続される葉ノードが存在してもよい。 In the example of FIG. 7A, the depth of the decision tree is 4, the number of intermediate nodes is 3, and the number of leaf nodes is 5. However, the depth of the decision tree, the number of intermediate nodes, and the number of leaf nodes need not be limited to such an example, and may be appropriately determined according to the embodiment. Further, in the example of FIG. 7A, no link is provided from the root node R to each leaf node L1 to L5. However, the composition of the decision tree does not have to be limited to such an example, and there may be a leaf node connected to the link from the root node.
このような予測モデル5の演算処理は、決定木の根ノードRから葉ノードL1〜L5に向けてリンクをたどる探索処理である。すなわち、根ノードRから葉ノードL1〜L5の経路(図7Aの例では、根ノードR及び中間ノードN1〜N3)には、分岐条件が紐付けられている。図7Aの例では、根ノードRには「x0<2500」の分岐条件が、中間ノードN1には「x1<20」の分岐条件が、中間ノードN2には「x1<35」の分岐条件が、中間ノードN3には「x0<3500」の分岐条件が紐付けられている。一方、各葉ノードL1〜L5には、予測モデル5の演算処理の最終結果(クラスC1〜C5)が紐付けられている。本実施形態では、各葉ノードL1〜L5(クラスC1〜C5)には、入力される特徴量61及び属性値62に応じた補正値63が紐付けられている。本実施形態では、予測演算部112は、根ノードRから探索処理を開始して、入力データが分岐条件を満たすか否かの判定を繰り返すことで、いずれかの葉ノードL1〜L5に到達するまで、より深いノードに探索を進めていく。
Such arithmetic processing of the
図7Aの例では、入力x0が特徴量61に対応し、入力x1が属性値62に対応している。図7Bは、各入力(x0、x1)と到達する葉ノードL1〜L5に対応付けられたクラスC1〜C5との関係を例示している。例えば、入力x0が2000であり、入力x1が30であることを想定する。この場合、予測演算部112は、予測モデル5の1階層目の演算処理(探索処理)として、根ノードRに設定された分岐条件を入力x0が満たすか否かを判定する。図7Aの例では、根ノードRに設定された分岐条件は「x0<2500」であり、入力x0は2000であるため、予測演算部112は、根ノードRに設定された分岐条件を入力x0は満たすと判定し、次の階層の中間ノードN1に探索を進める。
In the example of FIG. 7A, the input x0 corresponds to the
次に、予測演算部112は、予測モデル5の2階層目の演算処理として、中間ノードN1に設定された分岐条件を入力x1が満たすか否かを判定する。図7Aの例では、中間ノードN1に設定された分岐条件は「x1<20」であり、入力x1が30であるため、予測演算部112は、中間ノードN1に設定された分岐条件を入力x1は満たさないと判定し、次の階層の葉ノードL2に進む。これにより、決定木の探索処理が葉ノードL2に到達するため、予測モデル5の演算処理が完了する。予測演算部112は、予測モデル5の演算処理の最終結果として、葉ノードL2のクラスC2に対応付けられた補正値63を取得することができる。
Next, the prediction calculation unit 112 determines whether or not the input x1 satisfies the branch condition set in the intermediate node N1 as the second-layer calculation processing of the
各クラスC1〜C5に対応付けられた補正値63を取得する方法は、実施の形態に応じて適宜決定されてよい。例えば、各クラスC1〜C5には、補正値が直接的に対応付けられていてもよい。また、例えば、制御装置1は、各クラスC1〜C5と補正値との対応関係を示すテーブル形式等の参照情報を記憶部12に保持していてもよい。この参照情報は、学習結果データ225に含まれていてもよい。この場合、予測演算部112は、いずれかの葉ノードに到達した後、到達した葉ノードのクラスを参照情報に照合することで、予測モデル5の演算処理の最終結果として、指令値の基準値60に対する補正値63を取得することができる。
The method of acquiring the
なお、このような予測モデル5(決定木)の構成及び各分岐条件を示す情報は、学習結果データ225に含まれている。予測演算部112は、学習結果データ225を参照することで、製品41の生産に適応した指令値を予測する処理に利用する学習済みの予測モデル5の設定を行うことができる。
Information indicating the configuration of the prediction model 5 (decision tree) and each branching condition is included in the learning
<学習装置>
次に、図8を用いて、本実施形態に係る学習装置2のソフトウェア構成の一例について説明する。図8は、本実施形態に係る学習装置2のソフトウェア構成の一例を模式的に例示する。
<Learning device>
Next, an example of the software configuration of the
学習装置2の制御部21は、記憶部22に記憶された学習プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された学習プログラム82をCPUにより解釈及び実行して、学習プログラム82に含まれる一連の命令に基づいて、各構成要素を制御する。これによって、図8に示されるとおり、本実施形態に係る学習装置2は、学習データ取得部211、及び学習処理部212をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
The
学習データ取得部211は、予測モデル5の機械学習に利用する学習データを取得する。本実施形態では、予測モデル5は決定木により構成されるため、学習データ取得部211は、訓練データ(入力データ)と教師データ(正解データ)との組み合わせで構成された学習用データセット221を取得する。本実施形態では、予測モデル5は、ワーク40の特徴量61及び製品41を生産する環境の属性値62の入力に対して、指令値の基準値60に対する補正値63を出力するように構成される。そのため、学習用データセット221は、ワークの特徴量2211及び製品を生産する環境の属性値2212と、それに適応した補正値2213との組み合わせにより構成される。
The learning
学習処理部212は、取得した学習用データセット221を利用した機械学習を行うことにより、学習済みの予測モデル5を構築する。学習処理部212は、特徴量2211及び属性値2212を入力すると、入力した特徴量2211及び属性値2212に関連付けられた補正値2213に対応するクラスの葉ノードに到達するように決定木を構築する。これにより、学習処理部212は、学習済みの予測モデル5を構築することができる。そして、学習処理部212は、構築した学習済みの予測モデル5の構成及び各分岐条件を示す情報を学習結果データ225として記憶部22に格納する。
The
<その他>
制御装置1及び学習装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、制御装置1及び学習装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、制御装置1及び学習装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
<Others>
Each software module of the
§3 動作例
[制御装置]
次に、図9を用いて、制御装置1の動作例について説明する。図9は、制御装置1の処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、本発明の「制御方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
§3 Operation example [Control device]
Next, an operation example of the
(ステップS100)
ステップS100では、制御部11は、データ取得部111として動作し、予測モデル5に対する入力データを取得する。
(Step S100)
In step S100, the
本実施形態では、上記のとおり、予測モデル5は、ワーク40の特徴量61及び製品41を生産する環境の属性値62の入力に対して、製品41の生産に適応した指令値を予測するように構築されている。そのため、制御部11は、予測モデル5に対する入力データとして、ワーク40の特徴量61及び製品41を生産する環境の属性値62を取得する。
In the present embodiment, as described above, the
ワーク40の特徴量61は、ワークの何らかの特徴を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、製品41を生産する環境の属性値62は、生産装置3が稼働する環境に関する何らかの属性を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
The
本実施形態では、生産装置3は、プレス機である。上記のとおり、生産装置3では、プレス時間が不十分であったり、上側金型32が下死点に到達するまでサーボモータを駆動していなかったりすると、得られる製品41の品質が悪化してしまう。そのため、ワーク40の特徴量61及び製品41を生産する環境の属性値62はそれぞれ、生産装置3におけるプレス成形の工程に関するものであるのが好ましい。
In the present embodiment, the
そこで、ワーク40の特徴量61には、例えば、ワーク40の硬さ、寸法、材質、重さ、熱等が選択されてもよい。また、製品41を生産する環境の属性値62には、例えば、生産装置3の周囲の温度、湿度、装置の劣化度合い(例えば、経年数、加工回数等)、振動等が選択されてよい。このとき、ワーク40の特徴量61は、ワーク40の特徴を直接的に示すものであってもよいし、ワーク40の特徴を間接的に示すものであってもよい。すなわち、ワーク40の特徴量61がワーク40の硬さに関するものである場合、ワーク40の特徴量61は、ワーク40の硬さ(硬度)そのものを数値、クラス等で示してもよい。また、ワーク40の特徴量61は、ワーク40の硬さ(硬度)を測定する際に得られた2次的指標(例えば、ワークにかかる荷重、測定の際に作用させたトルク等)を数値、クラス等で示してもよい。属性値62についても同様である。
Therefore, for the
また、ワーク40の特徴量61及び製品41を生産する環境の属性値62それぞれを取得する方法は、実施の形態に応じて適宜選択されてよい。例えば、ワーク40の特徴量61(例えば、硬さ等)及び環境の属性値62(例えば、温度等)それぞれを測定可能に構成された各種センサが生産装置3に配置されていてもよい。各種センサには、測定対象となる特徴量61及び属性値62の種類に応じて公知のセンサが適宜用いられてよい。この場合、制御部11は、生産装置3に配置された各種センサから、ワーク40の特徴量61及び製品41を生産する環境の属性値62それぞれを取得することができる。ワーク40の特徴量61及び製品41を生産する環境の属性値62それぞれを取得すると、制御部11は、次のステップS101に処理を進める。
Further, the method of acquiring the
(ステップS101)
ステップS101では、制御部11は、予測演算部112として動作し、ワーク40から製品41を生産する生産装置3への指令値であって、生産装置3による製品41の生産に適応した指令値を予測するように構築された予測モデル5の演算処理を開始する。
(Step S101)
In step S101, the
本実施形態では、予測モデル5は決定木により構成されており、予測モデル5の構成及び各経路の分岐条件を示す情報は、学習結果データ225に含まれている。そこで、制御部11は、学習結果データ225を参照することで、予測モデル5の設定を行う。この設定処理によって、制御部11は、決定木(予測モデル5)の探索処理を開始することができる状態になる。これにより、予測モデル5の演算処理を開始すると、制御部11は、次のステップS102に処理を進める。
In the present embodiment, the
(ステップS102)
ステップS102では、制御部11は、予測演算部112として動作し、予測モデル5の演算処理を進行させる。本実施形態では、予測モデル5は決定木により構成されているため、予測モデル5の演算処理は、決定木の根ノードから葉ノードに向けてリンクをたどる探索処理である。そのため、制御部11は、予測モデル5の演算処理として、この決定木の探索処理を進行させる。
(Step S102)
In step S102, the
具体的には、探索処理を1度も実行していない場合には、制御部11は、決定木の探索処理として、根ノードに設定された分岐条件を入力データ(特徴量61及び属性値62)が満たすか否かを判定する。そして、この判定結果に基づいて、制御部11は、2段階目の該当ノード(図7Aの例では、中間ノードN1又は中間ノードN2)に探索を進める。
Specifically, when the search process has never been executed, the
同様に、探索処理をn回実行した場合には(nは、1以上の自然数)、探索は、n+1段目の中間ノードまで探索が進行している。この場合には、制御部11は、n+1段目の該当の中間ノードに設定された分岐条件を入力データが満たすか否かを判定する。そして、この判定結果に基づいて、制御部11は、n+2段目の該当ノードに探索を進める。
Similarly, when the search process is executed n times (n is a natural number of 1 or more), the search proceeds to the intermediate node in the n + 1th stage. In this case, the
このように決定木の探索処理を進行させると、制御部11は、次のステップS103に処理を進める。なお、本ステップS102の1回の処理において、探索処理を進行させる度合は、実施の形態に応じて適宜決定されてよい。探索処理を進行させる度合が深さk(kは、1以上の自然数)である場合には、制御部11は、上記分岐条件の判定処理をk回実行した後、次のステップS103に処理を進める。
When the decision tree search process is advanced in this way, the
(ステップS103)
ステップS103では、制御部11は、残処理時間算出部113として動作し、予測モデル5の演算処理が完了するまでの残処理時間を算出する。残処理時間を算出する方法は、実施の形態に応じて適宜決定されてよい。本実施形態では、制御部11は、演算処理の進捗状態を確認することで、当該演算処理の残処理量を算出し、算出した残処理量に基づいて残処理時間を算出する。具体的には、制御部11は、以下の(式1)の演算によって、残処理時間を算出する。
(Step S103)
In step S103, the
「現在までの処理量」は、ステップS101により予測モデル5の演算処理を開始してから本ステップS103を実行するまでの処理量である。制御部11は、例えば、ステップS101により予測モデル5の演算処理を開始してからのCPUの処理量を計測することで、現在までの処理量の値を得ることができる。また、本実施形態では、予測モデル5は決定木により構成されているため、制御部11は、例えば、決定木の探索処理における分岐条件の判定処理を実行した回数を計測することによっても、現在までの処理量の値を得ることができる。
The “processing amount up to now” is the processing amount from the start of the arithmetic processing of the
「残処理量」は、予測モデル5の演算処理の全体の処理量と現在までの処理量との差分である。制御部11は、予測モデル5の演算処理の全体の処理量から現在までの処理量を差し引くことで、残処理量の値を得ることができる。
The “residual processing amount” is the difference between the total processing amount of the arithmetic processing of the
予測モデル5の演算処理の全体の処理量は、実施の形態に応じて適宜推定されてよい。全体の処理量は、例えば、予測モデル5の演算処理をシミュレーションした結果、予測モデル5の演算処理を過去に実行した結果(実績値)等に基づいて推定されてよい。この場合、全体の処理量は、シミュレーション又は過去の演算処理の実行時間に応じて推定されてよい。
The total amount of arithmetic processing of the
また、本実施形態では、予測モデル5は決定木により構成されている。この場合、予測モデル5の演算処理、すなわち、決定木の探索処理にかかる時間は、当該決定木の深さ(特に、根ノードから葉ノードに到達するまでに経由する中間ノードの数)に依存する。そのため、決定木の深さが固定されていれば、決定木の探索処理の全体の処理量は、決定木の探索処理のアルゴリズムから導出される理論値から変動し難い。そこで、全体の処理量は、例えば、予測モデル5のアルゴリズムから導出される理論値に基づいて推定されてもよい。
Further, in the present embodiment, the
上記各処理量を表現する形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各処理量は、例えば、CPUの演算量、演算処理の理論量等により表現されてもよい。本実施形態では、演算処理の理論量は、例えば、決定木の深さにより示すことができる。 The format for expressing each of the above-mentioned processing amounts may not be particularly limited, and may be appropriately selected depending on the embodiment. Each processing amount may be expressed by, for example, the arithmetic amount of the CPU, the theoretical amount of the arithmetic processing, or the like. In this embodiment, the theoretical amount of arithmetic processing can be indicated by, for example, the depth of the decision tree.
具体例として、予測モデル5を構成する決定木の深さが11であり、2階層目の中間ノードまで分岐条件の判定処理が完了している(すなわち、3階層目の中間ノードに探索が到達している)と想定する。決定木の深さにより各処理量を表現する場合、決定木の深さが11であると、葉ノードまで到達する探索処理の回数は10回であるため、全体の処理量の値は「10」と表現することができる。また、現在までの処理量の値は「2」と表現することができる。そのため、残処理量の値は「10−2=8」と表現することができる。このとき、現在までの処理時間が0.01秒であったとすると、制御部11は、「0.01(秒)×((10−2)/2)」の演算により、残処理時間は0.04(秒)であると算出することができる。
As a specific example, the depth of the decision tree constituting the
なお、残処理時間の表現形式は、予測モデル5の演算処理が完了するタイミングを表現可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。残処理時間は、例えば、上記の例のように、国際単位系に従う時刻系(秒)により表現されてもよい。また、残処理時間は、例えば、CPUのクロック数、生産装置3の動作サイクルを示すタクト時間等により表現されてもよい。残処理時間を算出すると、制御部11は、次のステップS104に処理を進める。
The expression format of the remaining processing time is not particularly limited as long as the timing at which the arithmetic processing of the
(ステップS104)
ステップS104では、制御部11は、遅延判定部114として動作し、算出した残処理時間に基づいて、予測モデル5から得られる出力に基づく指令値の決定が、生産装置3による生産の動作を制御する制御タイミングに間に合うか否かを判定する。
(Step S104)
In step S104, the
本実施形態では、制御部11は、まず、以下の式2により、制御タイミングまでの残存時間を算出する。
In the present embodiment, the
次に、制御部11は、算出した残存時間から残処理時間を差し引くことで差分を算出する。この差分は、予測モデル5の演算処理が完了してから制御タイミングまでの推定の空き時間を示す。つまり、この差分が負の値である場合には、予測モデル5の演算処理が制御タイミングよりも遅い時間に完了すると推定されることを示す。
Next, the
そこで、制御部11は、残存時間から残処理時間を差し引くことで得られた差分が所定の閾値を超えるか否かを判定する。そして、得られた差分が所定の閾値を超える場合、制御部11は、指令値の決定が制御タイミングに間に合うと判定する。一方、得られた差分が所定の閾値以下である場合、制御部11は、指令値の決定が制御タイミングに間に合わないと判定する。
Therefore, the
この所定の閾値は、適宜設定されてよい。所定の閾値は、指令値の決定が制御タイミングに間に合うと判定するための基準となる。また、所定の閾値は、予測モデル5の演算処理が制御タイミングに対して時間的に余裕がある状態で完了するか否かを判定するための基準にもなり得る。すなわち、所定の閾値は、予測モデル5の演算処理が完了してから生産装置3の動作を制御するまでの猶予(余裕)時間に相当し得る。したがって、制御部11は、指令値の決定が制御タイミングに間に合うか否かの判定として、予測モデル5の演算処理が制御タイミングに対して時間的に余裕がある状態で完了するか否かを判定してもよい。
This predetermined threshold value may be set as appropriate. The predetermined threshold value serves as a reference for determining that the determination of the command value is in time for the control timing. Further, the predetermined threshold value can also be a reference for determining whether or not the arithmetic processing of the
以上により、制御部11は、指令値の決定が制御タイミングに間に合うか否かを判定することができる。指令値の決定が制御タイミングに間に合うと判定した場合、制御部11は、ステップS107に処理を進める。一方、指令値の決定が制御タイミングに間に合わないと判定した場合、制御部11は、ステップS105に処理を進める。ただし、指令値の決定が制御タイミングに間に合うか否かを判定する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜変更されてよい。
From the above, the
なお、残存時間の表現形式は、残処理時間と同様に、制御タイミングを表現可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。残存時間は、例えば、国際単位系に従う時刻系(秒)、CPUのクロック数、生産装置3の動作サイクルを示すタクト時間等により表現されてもよい。
The expression format of the remaining time may not be particularly limited as long as the control timing can be expressed, as in the case of the remaining processing time, and may be appropriately selected according to the embodiment. The remaining time may be expressed by, for example, a time system (seconds) according to the International System of Units, the number of clocks of the CPU, a tact time indicating an operation cycle of the
(ステップS105)
ステップS105では、制御部11は、加速処理部115として動作し、予測モデル5の演算処理の加速が可能か否かを判定する。
(Step S105)
In step S105, the
後述するステップS106では、例えば、予測モデル5の演算処理に対するハードウェアの演算資源を優先的に割り当てることで、予測モデル5の演算処理を加速する。そのため、本実施形態では、制御部11は、予測モデル5の演算処理に対して優先的に割り当てる演算資源の余地があるか否かを判定することで、予測モデル5の演算処理の加速が可能か否かを判定してもよい。
In step S106, which will be described later, for example, the computational processing of the
予測モデル5の演算処理に対して優先的に割り当てる演算資源の余地があり、当該予測モデル5の演算処理の加速が可能であると判定した場合には、制御部11は、ステップS106に処理を進める。一方、予測モデル5の演算処理に対して優先的に割り当てる演算資源の余地がなく、当該予測モデル5の演算処理の加速が可能ではないと判定した場合には、制御部11は、ステップS111に処理を進める。ただし、予測モデル5の演算処理が可能か否かを判定する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜変更されてよい。
When it is determined that there is room for computational resources to be preferentially allocated to the arithmetic processing of the
(ステップS106)
ステップS106では、制御部11は、加速処理部115として動作し、予測モデル5の演算処理を加速する。制御部11は、例えば、予測モデル5の演算処理に対するハードウェアの演算資源を優先的に割り当てることで、予測モデル5の演算処理を加速することができる。演算資源は、例えば、CPU、メモリ等である。
(Step S106)
In step S106, the
ここで、図10及び図11を用いて、制御部11(CPU)が、予測モデル5の演算処理を含む複数のタスクを実行する方法の一例について説明する。図10は、CPUに対するタスクの割り当ての状態を示す割当データ121の一例を模式的に例示する。図11は、図10で示されるタスクの割り当てに対して、CPUがタスクを実行するスケジューリングの一例を模式的に例示する。
Here, an example of a method in which the control unit 11 (CPU) executes a plurality of tasks including the arithmetic processing of the
ハードウェアプロセッサであるCPUは、1又は複数のコアで構成される。コアは、演算処理を実行する回路であり、コアの数が多いほど、CPUは、多くの演算処理を並列に実行することができる。CPUの各コアは、1サイクル(周期)内において、優先度の高いタスクから順に、割り当てた利用率の分だけ各タスクの実行を行う。 A CPU, which is a hardware processor, is composed of one or a plurality of cores. The core is a circuit that executes arithmetic processing, and as the number of cores increases, the CPU can execute many arithmetic processing in parallel. Within one cycle (cycle), each core of the CPU executes each task in order from the task with the highest priority by the assigned utilization rate.
例えば、図10の例では、CPUは少なくとも2つのコアを有しており、コア01に対して3つのタスクA〜Cが割り当てられている。タスクAの優先度が最も高く設定されており、タスクBの優先度が2番目に高く設定されており、タスクCの優先度が最も低く設定されている。また、図10の例では、各タスクA〜Cの上下方向の長さが、コアの利用率を示している。そのため、コア01において、タスクBの利用率が最も高く設定されており、タスクAの利用率が2番目に高く設定されており、タスクCの利用率が最も低く設定されている。未使用の部分は、空き領域である。この空き領域には、タスクA〜Cを割り当てたり(利用率を高める)、その他のタスクを割り当てたりすることができる。 For example, in the example of FIG. 10, the CPU has at least two cores, and three tasks A to C are assigned to the cores 01. The priority of task A is set to the highest, the priority of task B is set to the second highest, and the priority of task C is set to the lowest. Further, in the example of FIG. 10, the lengths of the tasks A to C in the vertical direction indicate the utilization rate of the core. Therefore, in the core 01, the utilization rate of task B is set to be the highest, the utilization rate of task A is set to be the second highest, and the utilization rate of task C is set to be the lowest. The unused part is free space. Tasks A to C can be assigned (increasing the utilization rate), and other tasks can be assigned to this free area.
この場合、図11に示されるとおり、コア01は、まず、各サイクル内において、最も優先度の高いタスクAを利用率に応じた分だけ実行する。次に、コア01は、2番目に優先度の高いタスクBを利用率に応じた分だけ実行する。そして、コア01は、最も優先度に低いタスクCを利用率に応じた分だけ実行する。 In this case, as shown in FIG. 11, the core 01 first executes the task A having the highest priority in each cycle by the amount corresponding to the utilization rate. Next, the core 01 executes the second highest priority task B by the amount according to the utilization rate. Then, the core 01 executes the task C having the lowest priority by the amount corresponding to the utilization rate.
各コアは、各サイクルの終了時刻になると、優先度の低いタスクの実行を打ち切り又は実行せず、次のサイクルの処理、すなわち、最も優先度の高いタスクの実行を開始する。また、各タスクの実行が完了すると、そのタスクは消滅し、次に優先度の高いタスクの実行が優先されるようになる。 At the end time of each cycle, each core does not terminate or execute the execution of the low-priority task, but starts the processing of the next cycle, that is, the execution of the highest-priority task. Further, when the execution of each task is completed, the task disappears, and the execution of the task having the next highest priority is given priority.
図11の例では、1サイクル目(s)及び2サイクル目(s+1)では、タスクCの実行が打ち切られており、タスクBの実行が、3サイクル目(s+2)の途中において時間tで完了することを想定している。そのため、3サイクル目では、タスクBの実行が完了した後、コア01は、タスクCを利用率に応じた分だけ実行している。ただし、各コアがタスクを実行する方法は、このような例に限定されなくてよく、実施の形態に応じて適宜決定されてよい。 In the example of FIG. 11, in the first cycle (s) and the second cycle (s + 1), the execution of the task C is terminated, and the execution of the task B is completed in the middle of the third cycle (s + 2) at time t. It is supposed to be done. Therefore, in the third cycle, after the execution of the task B is completed, the core 01 executes the task C by the amount corresponding to the utilization rate. However, the method in which each core executes the task is not limited to such an example, and may be appropriately determined according to the embodiment.
以上のように、優先度及び利用率に基づいて、タスクを実行する度合いが決定される場合には、タスクの優先度及び利用率の少なくとも一方を高めることで、当該タスクに対する演算資源を優先的に割り当てることができ、タスクの実行を加速することができる。本実施形態では、制御部11は、例えば、以下の4つの方法によって、予測モデル5の演算処理を加速することができる。
As described above, when the degree of task execution is determined based on the priority and utilization rate, the computational resources for the task are prioritized by increasing at least one of the task priority and utilization rate. Can be assigned to to accelerate task execution. In the present embodiment, the
(1)第1の方法
まず、図12Aを用いて、予測モデル5の演算処理を加速する第1の方法について説明する。図12Aは、予測モデル5の演算処理を加速する第1の方法を模式的に例示する。
(1) First Method First, a first method for accelerating the arithmetic processing of the
第1の方法では、ハードウェアプロセッサであるCPUが1又は複数のコアで構成されていることが想定されている。この第1の方法では、例えば、上記ステップS101等により、予測モデル5の演算処理には、少なくとも1つのコアが割り当てられる。この状態で、制御部11は、予測モデル5の演算処理に対して、割り当てたコアの利用率を高めることで、当該予測モデル5の演算処理を加速する。
In the first method, it is assumed that the CPU, which is a hardware processor, is composed of one or a plurality of cores. In this first method, for example, in step S101 or the like, at least one core is assigned to the arithmetic processing of the
図12Aの例では、予測モデル5の演算処理(以下、「タスクZ」とも記載する)は、コア01に割り当てられている。制御部11は、割当データ121を参照し、タスクZの割り当てられたコア01に空き領域があるか否かを確認する。コア01に空き領域がなければ、制御部11は、この第1の方法による演算処理の加速は不可能であると判定する。一方、コア01に空き領域がある場合には、制御部11は、この第1の方法による演算処理の加速は可能であると判定し、空き領域のうちの少なくとも一部の領域をタスクZに更に割り当てることで、タスクZに対するコア01の利用率を高める。タスクZに割り当てる空き領域の量は、実施の形態に応じて適宜設定されてよい。これにより、予測モデル5の演算処理に割り当てる演算資源を増加させることができるため、制御部11は、当該予測モデル5の演算処理を加速する(すなわち、タスクZの実行量を増加させる)ことができる。
In the example of FIG. 12A, the arithmetic processing of the prediction model 5 (hereinafter, also referred to as “task Z”) is assigned to the core 01. The
(2)第2の方法
次に、図12Bを用いて、予測モデル5の演算処理を加速する第2の方法について説明する。図12Bは、予測モデル5の演算処理を加速する第2の方法を模式的に例示する。
(2) Second Method Next, a second method for accelerating the arithmetic processing of the
第2の方法では、上記第1の方法と同様に、ハードウェアプロセッサであるCPUが1又は複数のコアで構成されていることが想定されている。この第2の方法では、例えば、上記ステップS101等により、予測モデル5の演算処理には、少なくとも1つのコアが割り当てられる。この状態で、制御部11は、割り当てられたコアにおいて、予測モデル5の演算処理の優先度を高めることによって、当該予測モデル5の演算処理を加速する。
In the second method, it is assumed that the CPU, which is a hardware processor, is composed of one or a plurality of cores, as in the first method. In this second method, for example, in step S101 or the like, at least one core is assigned to the arithmetic processing of the
図12Bの例では、予測モデル5の演算処理(タスクZ)は、コア01に割り当てられている。コア01には、タスクZの他に、その他のタスクが割り当てられている。この場合、制御部11は、割当データ121を参照し、各タスクの優先度を確認する。そして、制御部11は、タスクZの優先度をその他のタスクよりも高めることができるか否かを確認する。
In the example of FIG. 12B, the arithmetic processing (task Z) of the
タスクZの優先度が最も高くなっている、タスクZよりも優先度が高いタスクであって、タスクZよりも優先度を低くすることができるタスクが存在しない等の場合には、タスクZの優先度をその他のタスクよりも高めることは困難である。そのため、このような場合には、制御部11は、この第2の方法による演算処理の加速は不可能であると判定する。
When the priority of task Z is the highest, the task has a higher priority than task Z, and there is no task whose priority can be lower than that of task Z, the task Z has a higher priority. It is difficult to raise the priority over other tasks. Therefore, in such a case, the
一方、タスクZの優先度をその他のタスクよりも高める余地が存在する場合には、制御部11は、この第2の方法による演算処理の加速は可能であると判定し、タスクZの優先度をその他のタスクよりも高くする。図12Bの例では、加速前の状態において、タスクZの優先度は「低」であり、他のタスクの優先度は「中」である。すなわち、タスクZの優先度は、他のタスクの優先度よりも低く設定されている。そこで、制御部11は、タスクZの優先度を他のタスクの優先度よりも高くなるように変更してもよい。
On the other hand, when there is room to raise the priority of task Z higher than that of other tasks, the
図12Bの例では、制御部11は、他のタスクの優先度を変更せず、タスクZの優先度を「低」から「高」に変更することで、タスクZの優先度を他のタスクの優先度よりも高くしている。ただし、タスクZの優先度を高める方法は、このような例に限定されなくてもよい。制御部11は、タスクZの優先度を変更すると共に又はタスクZの優先度を変更せずに、他のタスクの優先度を低くなるように変更してもよい。これらの方法によって、制御部11は、タスクZの優先度を他のタスクよりも相対的に高くすることができる。これにより、予測モデル5の演算処理を優先させることができるため、制御部11は、予測モデル5の演算処理を加速することができる。
In the example of FIG. 12B, the
(3)第3の方法
次に、図12Cを用いて、予測モデル5の演算処理を加速する第3の方法について説明する。図12Cは予測モデル5の演算処理を加速する第3の方法を模式的に例示する。
(3) Third Method Next, a third method for accelerating the arithmetic processing of the
第3の方法では、ハードウェアプロセッサであるCPUが複数のコアで構成されていることが想定されている。この第3の方法では、例えば、上記ステップS101等により、予測モデル5の演算処理には、複数のコアのうちの第1のコアが割り当てられている。一方、本ステップS106の加速処理の前には、複数のコアのうちの第2のコアであって、予測モデル5の演算処理に割り当てられていない第2のコアが存在することが想定されている。図12Cの例では、コア01が第1のコアの一例であり、コア02が第2のコアの一例である。
In the third method, it is assumed that the CPU, which is a hardware processor, is composed of a plurality of cores. In this third method, for example, in step S101 or the like, the first core among the plurality of cores is assigned to the arithmetic processing of the
この状態で、制御部11は、予測モデル5の演算処理に割り当てられていなかった第2のコアを、予測モデル5の演算処理に更に割り当てることによって、当該予測モデル5の演算処理を加速する。すなわち、制御部11は、予測モデル5の演算処理に割り当てるコアの数を増やすことで、当該予測モデル5の演算処理を加速する。なお、第1のコア及び第2のコアの数はそれぞれ、1つであってもよいし、複数であってもよい。
In this state, the
図12Cの例では、予測モデル5の演算処理(タスクZ)は、コア01に割り当てられている。一方、コア02には、予測モデル5の演算処理が割り当てられておらず、他のタスクが割り当てられている。このコア02には、空き領域が存在している。制御部11は、割当データ121を参照し、タスクZが割り当てられておらず、かつ空き領域が存在する第2のコアが存在するか否かを確認する。
In the example of FIG. 12C, the arithmetic processing (task Z) of the
そのような第2のコアが存在しない場合には、制御部11は、この第3の方法による演算処理の加速は不可能であると判定する。一方、第2のコアが存在する場合には、制御部11は、この第3の方法による演算処理の加速は可能であると判定し、第2のコアの空き領域のうちの少なくとも一部の領域をタスクZに割り当てる。タスクZに割り当てる空き領域の量は、実施の形態に応じて適宜決定されてよい。これにより、予測モデル5の演算処理に割り当てる演算資源を増加させることができるため、制御部11は、予測モデル5の演算処理を加速することができる。
If such a second core does not exist, the
(4)第4の方法
次に、図12Dを用いて、予測モデル5の演算処理を加速する第4の方法について説明する。図12Dは、予測モデル5の演算処理を加速する第4の方法を模式的に例示する。
(4) Fourth Method Next, a fourth method for accelerating the arithmetic processing of the
第4の方法では、ハードウェアプロセッサであるCPUが複数のコアで構成されていることが想定されている。この第4の方法では、例えば、上記ステップS101等により、予測モデル5の演算処理には、複数のコアのうちの第3のコアが割り当てられている。一方、本ステップS106の加速処理の前には、複数のコアは、予測モデル5の演算処理に割り当てられていない第4のコアであって、第3のコアにおいて演算処理に割り振られている利用率よりも大きな空き容量を有する第4のコアを含んでいることが想定されている。図12Dの例では、コア01が第3のコアの一例であり、コア02が第4のコアの一例である。
In the fourth method, it is assumed that the CPU, which is a hardware processor, is composed of a plurality of cores. In this fourth method, for example, in step S101 or the like, a third core out of a plurality of cores is assigned to the arithmetic processing of the
この状態で、制御部11は、予測モデル5の演算処理に対する割り当てを第3のコアから第4のコアに置き換えて、第3のコアにおいて演算処理に割り振られていた利用率よりも大きな利用率を第4のコアにおいて演算処理に割り振ることで、当該予測モデル5の演算処理を加速する。すなわち、制御部11は、タスクZを割り振っていた元のコアからタスクZにより大きな利用率を割り振ることのできる新たなコアにタスクZに対して割り当てるコアを変更することで、予測モデル5の演算処理を加速する。なお、第3のコア及び第4のコアの数はそれぞれ、1つであってもよいし、複数であってもよい。
In this state, the
図12Dの例では、予測モデル5の演算処理(タスクZ)は、コア01に割り当てられている。一方、コア02には、予測モデル5の演算処理が割り当てられておらず、他のタスクが割り当てられている。このコア02には、コア01においてタスクZに割り振られている利用率よりも大きな空き領域(図の「未使用」の領域)が存在している。制御部11は、割当データ121を参照し、タスクZが割り当てられておらず、かつコア01におけるタスクZの利用率よりも大きな空き領域が存在する第4のコアが存在するか否かを確認する。
In the example of FIG. 12D, the arithmetic processing (task Z) of the
そのような第4のコアが存在しない場合には、制御部11は、この第4の方法による演算処理の加速は不可能であると判定する。一方、第4のコアが存在する場合には、制御部11は、この第4の方法による演算処理の加速は可能であると判定する。そして、制御部11は、第4のコアの空き領域のうちの少なくとも一部の領域であって、コア01においてタスクZに割り振られていた利用率よりも大きな領域をタスクZに割り当てる。このとき、図12Dに示されるとおり、制御部11は、コア01(第3のコア)におけるタスクZの割り当てを削除してもよい。これにより、予測モデル5の演算処理に割り当てる演算資源を増加させることができるため、制御部11は、当該予測モデル5の演算処理を加速することができる。
If such a fourth core does not exist, the
なお、図12Dの例では、コア01のその他の領域には、タスクZ以外の他のタスクが割り当てられている。そのため、コア01では、上記第1の方法により、タスクZの利用率を高める余地が存在していない。制御部11は、このように第3のコアにおいて第1の方法を採用する余地が存在しない場合に、この第4の方法を採用するようにしてもよい。一方、第3のコアにおいて、タスクZの利用率を高める余地が存在する場合には、制御部11は、上記第1の方法を採用するようにしてもよい。
In the example of FIG. 12D, tasks other than task Z are assigned to the other areas of the core 01. Therefore, in the core 01, there is no room for increasing the utilization rate of the task Z by the first method. The
(5)その他
上記第1〜第4の方法のうちの少なくともいずれかを採用することで、制御部11は、予測モデル5の演算処理を加速することができる。上記第1〜第4の方法のうちの少なくともいずれかにより予測モデル5の演算処理を加速すると、制御部11は、次のステップS107に処理を進める。
(5) Others By adopting at least one of the first to fourth methods, the
ただし、予測モデル5の演算処理を加速する方法は、これらの例に限定されなくてもよい。例えば、制御装置1の仮想メモリが、キャッシュメモリ(不図示)、制御部11のRAM、記憶部12により構成されていると想定する。加えて、キャッシュメモリ、制御部11のRAM、及び記憶部12の順にCPUに近いと想定する。この場合、制御部11は、予測モデル5の演算処理に割り当てる仮想メモリにおいてCPUにより近いメモリの比重が高くなるようにメモリの割り当てを制御してもよい。これにより、制御部11は、演算処理に利用するデータへのアクセス速度を高めることができるため、当該予測モデル5の演算処理を加速することができる。
However, the method of accelerating the arithmetic processing of the
なお、上記ステップS105では、第1〜第4の方法のいずれも採用できない場合に、制御部11は、予測モデル5の演算処理の加速が可能ではないと判定してもよい。一方、第1〜第4の方法のうちの少なくともいずれかの方法が採用できる場合、制御部11は、予測モデル5の演算処理の加速が可能であると判定してもよい。
In step S105, if none of the first to fourth methods can be adopted, the
(ステップS107)
図9に戻り、ステップS107では、制御部11は、予測演算部112として動作し、予測モデル5の演算処理が完了したか否かを判定する。予測モデル5の演算処理が完了したか否かを判定する方法は、予測モデル5に採用するモデルの種別に応じて適宜決定されてよい。
(Step S107)
Returning to FIG. 9, in step S107, the
本実施形態では、予測モデル5は決定木により構成されているため、制御部11は、上記ステップS102における探索処理が決定木のいずれかの葉ノードまで到達したか否かを判定する。探索処理がいずれかの葉ノードまで到達している場合には、制御部11は、予測モデル5の演算処理が完了したと判定し、次のステップS108に処理を進める。一方、探索処理がいずれの葉ノードまで到達していない場合、すなわち、探索処理が中間ノードまでしか進行していない場合には、制御部11は、予測モデル5の演算処理は完了していないと判定し、ステップS102から処理を繰り返す。
In the present embodiment, since the
ステップS104において、指令値の決定が制御タイミングに間に合うと判定される場合には、ステップS102〜S104及びS107の一連の処理が繰り返されることで、制御部11は、予測モデル5の演算処理を完了するまで継続する。これにより、制御部11は、演算処理の最終結果として予測モデル5から出力値を取得することができる。本実施形態では、決定木の探索処理を完了した際に、制御部11は、探索処理において到達した葉ノードに対応付けられた値を最終結果として取得することができる。
When it is determined in step S104 that the determination of the command value is in time for the control timing, the
また、ステップS106により予測モデル5の演算処理を加速した後、予測モデル5の演算処理が完了していないと判定される場合、制御部11は、ステップS102〜S104を再度実行する。ステップS106による加速が十分である場合には、再度実行したステップS104において、指令値の決定が制御タイミングに間に合うと判定されるようになる。これにより、制御部11は、予測モデル5の演算処理を完了するまで継続することができるようになる。
Further, after accelerating the arithmetic processing of the
一方、ステップS106による加速が不十分である場合には、再度実行したステップS104において、指令値の決定が制御タイミングに間に合わないと再度判定される。この場合、ステップS105において、加速が可能と判定される限り、制御部11は、指令値の決定が制御タイミングに間に合うと判定されるようになるまで、ステップS106を実行することで、予測モデル5の演算処理を加速することができる。そして、制御部11は、予測モデル5の演算処理を十分に加速することで、指令値の決定が制御タイミングに間に合うように予測モデル5の演算処理を完了させることができる。
On the other hand, if the acceleration in step S106 is insufficient, in step S104 that is executed again, it is determined again that the determination of the command value is not in time for the control timing. In this case, as long as it is determined in step S105 that acceleration is possible, the
これに対して、ステップS104において、指令値の決定が制御タイミングに間に合わないと判定され、かつステップS105において、予測モデル5の演算処理の加速が可能ではないと判定された場合には、制御部11は、上記のとおり、ステップS111に処理を進める。ステップS106の後に実行されたステップS104において、指令値の決定が制御タイミングに間に合わないと再度判定され、かつその後のステップS105において、予測モデル5の演算処理の加速が可能ではないと判定された場合も同様である。これにより、制御部11は、ステップS107〜後述するステップS109の一連の処理を省略し、後述するとおり、予測モデル5の演算処理を中止し、予測制御以外の方法で生産装置3の動作を制御する。
On the other hand, in step S104, when it is determined that the determination of the command value is not in time for the control timing, and in step S105, it is determined that the arithmetic processing of the
(ステップS108)
ステップS108では、制御部11は、動作制御部116として動作し、予測モデル5から取得した出力に基づいて、生産装置3への指令値を決定する。指令値を決定する方法は、予測モデル5の出力の形式に応じて適宜決定されてよい。
(Step S108)
In step S108, the
本実施形態では、上記のとおり、予測モデル5を構成する決定木の各葉ノードには、製品41の生産に適応した指令値の予測の結果に対応する出力値として、指令値の基準値60に対する補正値63が対応付けられている。そのため、決定木の探索処理が完了した際に、制御部11は、予測モデル5からの出力として、到達した葉ノードに対応付けられた補正値63を取得することができる。したがって、制御部11は、取得した補正値63により基準値60を補正することで、生産装置3への指令値を決定することができる。指令値を決定すると、制御部11は、次のステップS109に処理を進める。
In the present embodiment, as described above, each leaf node of the decision tree constituting the
(ステップS109)
ステップS109では、制御部11は、動作制御部116として動作し、決定した指令値に基づいて、生産装置3の動作を制御する。指令値に基づいて生産装置3の動作を制御する方法は、指令値の形式に応じて適宜選択されてよい。
(Step S109)
In step S109, the
本実施形態では、生産装置3は、プレス機であり、上側金型32を駆動するサーボドライバ31を備えている。そのため、指令値は、サーボモータの駆動量を規定したパルス数を示してもよい。この場合、制御部11は、外部インタフェース14を介して、生産装置3のサーボドライバ31に対して指令値を送信する。サーボドライバ31は、制御装置1から受信した指令値に基づいてサーボモータを駆動する。これにより、制御部11は、決定した指令値に基づいて、生産装置3の動作を制御することができる。生産装置3の動作を制御すると、制御部11は、本動作例に係る処理を終了する。
In the present embodiment, the
なお、指令値の形式は、このような例に限定されなくてもよい。指令値は、例えば、サーボモータの駆動量、上側金型32の移動量等の中間指標により表現されてもよい。この場合、制御部11は、中間指標により表現された指令値をそのまま生産装置3に送信してもよいし、中間指標により表現された指令値を、パルス数等の直接利用可能な形式に変換し、変化した指令値を生産装置3に送信してもよい。
The format of the command value does not have to be limited to such an example. The command value may be expressed by an intermediate index such as a driving amount of the servomotor and a moving amount of the
(ステップS111)
ステップS111は、上記のとおり、指令値の決定が制御タイミングに間に合わないと判定され、かつ予測モデル5の演算処理の加速が可能ではないと判定された場合に実行される。すなわち、ステップS111は、指令値の決定が制御タイミングに間に合うように予測モデル5の演算処理を加速することができない場合に実行される。このステップS111では、制御部11は、予測演算部112として動作し、予測モデル5の演算処理を中止する。予測モデル5の演算処理を中止すると、制御部11は、次のステップS112に処理を進める。
(Step S111)
As described above, step S111 is executed when it is determined that the determination of the command value is not in time for the control timing and it is determined that the arithmetic processing of the
(ステップS112)
ステップS112では、制御部11は、動作制御部116として動作し、予め与えられた設定値を指令値に指定する。
(Step S112)
In step S112, the
予め与えられた設定値は、実施の形態に応じて適宜決定されてよい。予め与えられた設定値は、例えば、指令値の基準値60、過去の指令値であってよい。本動作例に係る生産装置3の動作を制御する一連の処理を繰り返し実行している場合、過去の指令値は、例えば、生産装置3の動作を直前に制御した際の前回値であってもよい。
The set value given in advance may be appropriately determined according to the embodiment. The set value given in advance may be, for example, a reference value 60 of the command value or a past command value. When a series of processes for controlling the operation of the
この前回値は、ステップS100で取得された入力データを問わずに、生産装置3の動作を直前に制御した際の指令値であってもよい。この場合、制御部11は、直前と今回と2回続けて同じ指令値を指定することになる。
This previous value may be a command value when the operation of the
また、前回値は、ステップS100で取得された入力データが同一又は近似するケースにおいて、生産装置3の動作を直前に制御した際の指令値であってもよい。なお、制御部11は、過去の制御した際の入力データと今回取得された入力データとの差分が閾値以下であるか否かを判定することにより、今回のケースと過去のケースとにおいて入力データが近似するか否かを判定することができる。
Further, the previous value may be a command value when the operation of the
この予め与えられた設定値は、記憶部12、制御部11のRAM等に保持されてよい。制御部11は、記憶部12、RAM等に保持された設定値を参照することで、生産装置3への指令値を指定することができる。指令値を指定すると、制御部11は、次のステップS113に処理を進める。
The preset value given in advance may be held in the RAM of the
(ステップS113)
ステップS113では、制御部11は、動作制御部116として動作し、指定した指令値に基づいて、生産装置3の動作を制御する。本ステップS113は、上記ステップS109と同様である。生産装置3の動作を制御すると、制御部11は、本動作例に係る処理を終了する。
(Step S113)
In step S113, the
(終了後)
以上により、制御部11は、本動作例に係る生産装置3の動作を制御する一連の処理を終了する。制御部11は、この一連の処理を繰り返し実行することで、生産装置3の動作を継続的に制御することができる。
(After the end)
As described above, the
[学習装置]
次に、図13を用いて、学習装置2の動作例について説明する。図13は、学習装置2の処理手順の一例を例示するフローチャートである。なお、以下で説明する予測モデル5の機械学習に関する処理手順は、コンピュータによる学習方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[Learning device]
Next, an operation example of the
(ステップS201)
ステップS201では、制御部21は、学習データ取得部211として動作し、予測モデル5の機械学習に利用する学習データを取得する。学習用データの形式は、予測モデル5の種別に応じて適宜決定されてよい。
(Step S201)
In step S201, the
本実施形態では、予測モデル5は、決定木により構成される。更に、決定木は、ワーク40の特徴量61及び製品41を生産する環境の属性値62の入力に対して、指令値の基準値60に対する補正値63を出力するように構築される。そのため、制御部21は、ワークの特徴量2211及び製品を生産する環境の属性値2212と、それに適応した補正値2213との組み合わせにより構成される学習用データセット221を取得する。
In this embodiment, the
この学習用データセット221は、実施の形態に応じて適宜生成されてよい。例えば、ワークの特徴量2211及び製品を生産する環境の属性値2212を様々な条件で取得する。特徴量2211及び属性値2212の取得には、公知のセンサが用いられてよい。例えば、属性値2212として温度を取得する場合には、温度センサが用いられてよい。そして、得られた特徴量2211及び属性値2212に対して、この条件において適切な指令値を得るための補正値2213を組み合わせる。これにより、学習用データセット221を生成することができる。
The learning
この学習用データセット221の生成は、学習装置2により行われてもよい。この場合、制御部21は、オペレータによる入力装置24の操作に応じて、学習用データセット221を生成してもよい。また、制御部21は、学習プログラム82の処理により、学習用データセット221を自動的に生成してもよい。この生成処理を実行することで、本ステップS201では、制御部21は、学習用データセット221を取得することができる。
The generation of the learning
また、学習用データセット221の生成は、学習装置2以外の他の情報処理装置により行われてもよい。他の情報処理装置では、学習用データセット221は、オペレータにより手動で生成されてもよいし、プログラムの処理により自動的に生成されてもよい。この場合、本ステップS201では、制御部21は、ネットワーク、記憶媒体92等を介して、他の情報処理装置により生成された学習用データセット221を取得することができる。
Further, the learning
本ステップS201で取得する学習用データセット221の件数は、実施の形態に応じて適宜決定されてよく、例えば、決定木の機械学習を実施可能な程度に適宜決定されてよい。これにより、学習用データセット221を取得すると、制御部21は、次のステップS202に処理を進める。
The number of
(ステップS202)
ステップS202では、制御部21は、学習処理部212として動作し、取得した学習用データセット221を利用した機械学習を行うことにより、学習済みの予測モデル5を構築する。
(Step S202)
In step S202, the
本実施形態では、制御部21は、特徴量2211及び属性値2212を入力すると、入力した特徴量2211及び属性値2212に関連付けられた補正値2213に対応するクラスの葉ノードに到達する探索が可能な決定木を構築する。この決定木の学習方法には、CLS(Concept Learning System)、ID3(Iterative Dichotomiser 3)、C4.5等が用いられてもよい。これにより、制御部21は、学習済みの予測モデル5を構築することができる。
In the present embodiment, when the
(ステップS203)
ステップS203では、制御部21は、学習処理部212として動作して、機械学習により構築した決定木(学習済みの予測モデル5)の構成及び各分岐条件を示す情報を学習結果データ225として記憶部22に格納する。これにより、制御部21は、本動作例に係る予測モデル5の学習処理を終了する。
(Step S203)
In step S203, the
なお、制御部21は、上記ステップS203の処理が完了した後に、作成した学習結果データ225を制御装置1に転送してもよい。また、制御部21は、上記ステップS201〜S203の学習処理を定期的に実行することで、学習結果データ225を定期的に更新してもよい。そして、制御部21は、作成した学習結果データ225を学習処理の実行毎に制御装置1に転送することで、制御装置1の保持する学習結果データ225を定期的に更新してもよい。また、例えば、制御部21は、作成した学習結果データ225をNAS(Network Attached Storage)等のデータサーバに保管してもよい。この場合、制御装置1は、このデータサーバから学習結果データ225を取得してもよい。また、学習装置2により作成された学習結果データ225は、制御装置1に予め組み込まれてもよい。
The
[特徴]
以上のとおり、本実施形態では、予測モデル5を利用して生産装置3への指令値を予測する際に、ステップS103及びステップS104により、残処理時間を算出し、算出した残処理時間に基づいて、予測モデル5による指令値の決定が制御タイミングに間に合うか否かを判定する。これにより、予測モデル5を利用した指令値の予測に関する演算処理が、その予測した指令値を利用して生産装置3の動作を制御するタイミングに間に合うか否かを特定することができる。つまり、ステップS108による指令値の決定が、生産装置3の動作を制御する制御予定時刻までに完了するか否かを特定することができる。したがって、本実施形態によれば、生産装置3の予測制御の演算時間を適切に管理することができる。
[feature]
As described above, in the present embodiment, when the command value to the
特に、制御装置1では、上記予測モデル5の演算処理以外の他のタスクを含む複数のタスクが処理され得る(例えば、図12B〜図12D)。この場合には、例えば、割込みのタスクが発生する等により、制御装置1における演算資源(ハードウェアプロセッサ、メモリ等)が同一の条件で利用できるとは限らない。すなわち、制御装置1における演算資源の状況は時々刻々と変化していき、それに伴って、予測モデル5の演算処理に用いることができる演算資源も変化し得る。したがって、予測モデル5の演算処理にかかる処理時間は常に一定であるとは限らない。そのため、シミュレーション等により予め特定した処理時間に基づいて、予測モデル5の演算処理は、制御タイミングに間に合うように処理可能であると判定されていたとしても、運用の際に、制御装置1は、生産装置3の制御タイミングに間に合うように予測モデル5の演算処理を常に完了できるとは限らない。これに対して、本実施形態では、制御装置1は、上記ステップS103において、予測モデル5の演算処理を実行する時点の演算資源の状況(具体的には、演算処理の進捗)を確認し、これに基づいて、演算処理にかかる残処理時間を算出する。これによって、演算資源の状況が時々刻々と変化しても、制御装置1は、ステップS104において、予測モデル5の演算処理が制御タイミングに間に合うか否かを適切に判定することができる。よって、本実施形態によれば、生産装置3の予測制御の演算時間を適切に管理することができる。
In particular, the
加えて、本実施形態では、ステップS104において、指令値の決定が制御タイミングに間に合うと判定した場合に、制御装置1は、ステップS102〜S104及びS107の一連の処理を繰り返した後、ステップS108及びS109の処理を実行する。これにより、制御装置1は、そのまま予測制御を適切に実行することができる。一方、ステップS104において、指令値の決定が制御タイミングに間に合わないと判定され、かつステップS105において、予測モデル5の演算処理の加速が可能ではないと判定された場合には、制御装置1は、予測モデル5の演算処理を中止する。これにより、制御装置1は、予測制御を停止し、その他の方法(本実施形態では、予め与えられた設定値を利用する)で生産装置3の動作を適切に制御することができる。したがって、本実施形態によれば、予測モデル5による指令値の決定が制御タイミングに間に合わないことにより、生産装置3の動作を制御する処理が滞ってしまうことを防止することができる。
In addition, in the present embodiment, when it is determined in step S104 that the determination of the command value is in time for the control timing, the
また、本実施形態では、ステップS104において、指令値の決定が制御タイミングに間に合うと判定した場合に、ステップS106の処理を実行することで、予測モデル5の演算処理を加速することができる。これによって、制御装置1は、予測モデル5による指令値の決定が制御タイミングに間に合うようにすることができる。したがって、本実施形態によれば、予測モデル5による予測制御を打ち切る可能性を低減し、当該予測制御を適切に実施することができる。
Further, in the present embodiment, when it is determined in step S104 that the determination of the command value is in time for the control timing, the arithmetic processing of the
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
§4 Modifications Although the embodiments of the present invention have been described in detail above, the above description is merely an example of the present invention in all respects. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. For example, the following changes can be made. In the following, the same reference numerals will be used for the same components as those in the above embodiment, and the same points as in the above embodiment will be omitted as appropriate. The following modifications can be combined as appropriate.
<4.1>
上記実施形態では、ステップS104において、予測モデル5による指令値の決定が制御タイミングに間に合わないと判定した場合に、制御部11は、ステップS105及びS106により、予測モデル5の演算処理を加速する。この予測モデル5の演算処理を加速する処理は、省略されてもよい。加速処理を省略する場合、上記ステップS105及びS106は省略されてもよく、制御装置1のソフトウェア構成から加速処理部115は省略されてもよい。
<4.1>
In the above embodiment, when it is determined in step S104 that the determination of the command value by the
<4.2>
上記実施形態では、予測モデル5は、製品41の生産に適応した指令値の予測の結果として、指令値の基準値60に対する補正値63を出力するように構成されている。しかしながら、予測モデル5の出力形式は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、予測モデル5は、指令値そのものを出力するように構成されてもよい。
<4.2>
In the above embodiment, the
<4.3>
上記実施形態では、予測モデル5の入力には、ワーク40の特徴量61及び製品41を生産する環境の属性値62の両方が利用されている。しかしながら、予測モデル5の入力は、このような例に限定されなくてもよい。ワーク40の特徴量61及び製品41を生産する環境の属性値62のうちの一方は省略されてもよい。すなわち、上記予測モデル5は、ワーク40の特徴量61及び製品41を生産する環境の属性値62の少なくとも一方に対して、製品41の生産に適応した指令値を予測するように構築されてよい。また、上記予測モデル5の入力には、生産装置3による製品41の生産工程に影響を与え得る要因に関するデータであって、ワーク40の特徴量61及び製品41を生産する環境の属性値62以外のデータが用いられてもよい。
<4.3>
In the above embodiment, both the
<4.4>
上記実施形態では、予測モデル5は、決定木により構成されている。しかしながら、予測モデル5の構成は、予測処理を実行する時点よりも先の時点(将来の時点)における生産装置3への指令値を予測可能であれば、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。予測モデル5には、例えば、ニューラルネットワーク、サポートベクタマシン等の決定木以外の学習モデルが用いられてもよい。また、予測モデル5には、学習モデル以外のモデル(例えば、所定の関数)が用いられてもよい。
<4.4>
In the above embodiment, the
1…制御装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、17…ドライブ、
111…データ取得部、112…予測演算部、
113…残処理時間算出部、114…遅延判定部、
115…加速処理部、116…動作制御部、
81…制御プログラム、121…割当データ、
91…記憶媒体、
2…学習装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
211…学習データ取得部、212…学習処理部、
82…学習プログラム、221…学習用データセット、
225…学習結果データ、
92…記憶媒体、
3…生産装置(プレス機)、
31…サーボドライバ、32…上金型、33…下金型、
40…ワーク、41…製品、
5…予測モデル(決定木)、
60…(指令値の)基準値、
61…特徴量、62…属性値、63…補正値
1 ... Control device,
11 ... Control unit, 12 ... Storage unit, 13 ... Communication interface,
14 ... External interface,
15 ... input device, 16 ... output device, 17 ... drive,
111 ... Data acquisition unit, 112 ... Prediction calculation unit,
113 ... Residual processing time calculation unit, 114 ... Delay determination unit,
115 ... Acceleration processing unit, 116 ... Motion control unit,
81 ... Control program, 121 ... Allocation data,
91 ... Storage medium,
2 ... Learning device,
21 ... Control unit, 22 ... Storage unit, 23 ... Communication interface,
24 ... Input device, 25 ... Output device, 26 ... Drive,
211 ... Learning data acquisition unit, 212 ... Learning processing unit,
82 ... Learning program, 221 ... Learning dataset,
225 ... Learning result data,
92 ... Storage medium,
3 ... Production equipment (press machine),
31 ... Servo driver, 32 ... Upper mold, 33 ... Lower mold,
40 ... work, 41 ... product,
5 ... Prediction model (decision tree),
60 ... Reference value (of command value),
61 ... feature amount, 62 ... attribute value, 63 ... correction value
Claims (11)
前記ハードウェアプロセッサにより実行されるプログラムを保持するメモリと、
を備える制御装置であって、
前記ハードウェアプロセッサは、前記プログラムに含まれる一連の命令に基づいて、
ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、
前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、
算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、
前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、
決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、
前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記予測モデルの演算処理を加速するステップと、
を実行し、
前記ハードウェアプロセッサは、複数のコアで構成され、
前記予測モデルの演算処理には、前記複数のコアのうちの一のコアが割り当てられ、
前記複数のコアは、前記予測モデルの演算処理に割り当てられていない他のコアであって、前記一のコアにおいて前記演算処理に割り振られている利用率よりも大きな空き容量を有する他のコアを含んでおり、
前記ハードウェアプロセッサは、前記予測モデルの演算処理に対する割り当てを前記一のコアから前記他のコアに置き換えて、前記一のコアにおいて前記演算処理に割り振られていた利用率よりも大きな利用率を前記他のコアにおいて前記演算処理に割り振ることで、前記予測モデルの演算処理を加速する、
制御装置。 With a hardware processor
A memory that holds a program executed by the hardware processor, and
It is a control device equipped with
The hardware processor is based on a series of instructions contained in the program.
A step of starting arithmetic processing of a prediction model that is a command value from a work to a production device that produces a product and is constructed so as to predict a command value adapted to the production of the product by the production device.
A step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and
A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the calculated remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus.
When it is determined that the determination of the command value is in time for the control timing, the output is acquired from the prediction model by continuing until the calculation processing of the prediction model is completed, and the output is based on the output acquired from the prediction model. Then, the step of determining the command value to the production device and
A step of controlling the operation of the production apparatus based on the determined command value, and
When it is determined that the determination of the command value is not in time for the control timing, the step of accelerating the arithmetic processing of the prediction model and
The execution,
The hardware processor is composed of a plurality of cores.
One of the plurality of cores is assigned to the arithmetic processing of the prediction model.
The plurality of cores are other cores that are not assigned to the arithmetic processing of the prediction model, and other cores having a free capacity larger than the utilization rate allocated to the arithmetic processing in the one core. Includes
The hardware processor replaces the allocation for the arithmetic processing of the prediction model from the one core to the other core, and the utilization rate higher than the utilization rate allocated to the arithmetic processing in the one core is said. By allocating to the arithmetic processing in another core, the arithmetic processing of the prediction model is accelerated.
Control device.
前記ハードウェアプロセッサにより実行されるプログラムを保持するメモリと、
を備える制御装置であって、
前記ハードウェアプロセッサは、前記プログラムに含まれる一連の命令に基づいて、
ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、
前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、
算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、
前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、
決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、
前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記予測モデルの演算処理を加速するステップと、
を実行し、
前記予測モデルの演算処理を加速するステップを実行した後に、前記ハードウェアプロセッサは、前記残処理時間を算出するステップ、及び前記指令値の決定が前記制御タイミングに間に合うか否かを判定するステップを再度実行する、
制御装置。 With a hardware processor
A memory that holds a program executed by the hardware processor, and
It is a control device equipped with
The hardware processor is based on a series of instructions contained in the program.
A step of starting arithmetic processing of a prediction model that is a command value from a work to a production device that produces a product and is constructed so as to predict a command value adapted to the production of the product by the production device.
A step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and
A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the calculated remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus.
When it is determined that the determination of the command value is in time for the control timing, the output is acquired from the prediction model by continuing until the calculation processing of the prediction model is completed, and the output is based on the output acquired from the prediction model. Then, the step of determining the command value to the production device and
A step of controlling the operation of the production apparatus based on the determined command value, and
When it is determined that the determination of the command value is not in time for the control timing, the step of accelerating the arithmetic processing of the prediction model and
And
After executing the step of accelerating the arithmetic processing of the prediction model, the hardware processor performs a step of calculating the remaining processing time and a step of determining whether or not the determination of the command value is in time for the control timing. Run again,
Control apparatus.
前記ハードウェアプロセッサにより実行されるプログラムを保持するメモリと、
を備える制御装置であって、
前記ハードウェアプロセッサは、前記プログラムに含まれる一連の命令に基づいて、
ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、
前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、
算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、
前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、
決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、
前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記予測モデルの演算処理を加速するステップと、
を実行し、
前記ハードウェアプロセッサは、
前記予測モデルの演算処理の加速が可能か否かを判定し、
前記予測モデルの演算処理の加速が可能ではないと判定した場合、前記予測モデルの演算処理を中止し、予め与えられた設定値を指令値に指定し、指定した前記指令値に基づいて、前記生産装置の動作を制御する、
制御装置。 With a hardware processor
A memory that holds a program executed by the hardware processor, and
It is a control device equipped with
The hardware processor is based on a series of instructions contained in the program.
A step of starting arithmetic processing of a prediction model that is a command value from a work to a production device that produces a product and is constructed so as to predict a command value adapted to the production of the product by the production device.
A step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and
A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the calculated remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus.
When it is determined that the determination of the command value is in time for the control timing, the output is acquired from the prediction model by continuing until the calculation processing of the prediction model is completed, and the output is based on the output acquired from the prediction model. Then, the step of determining the command value to the production device and
A step of controlling the operation of the production apparatus based on the determined command value, and
When it is determined that the determination of the command value is not in time for the control timing, the step of accelerating the arithmetic processing of the prediction model and
And
The hardware processor
It is determined whether or not the arithmetic processing of the prediction model can be accelerated.
When it is determined that the calculation processing of the prediction model cannot be accelerated, the calculation processing of the prediction model is stopped, a set value given in advance is specified as a command value, and the operation is described based on the specified command value. Control the operation of production equipment,
Control apparatus.
請求項1から3のいずれか1項に記載の制御装置。 The prediction model is configured to output a correction value with respect to a reference value of the command value as a result of prediction of the command value adapted to the production of the product.
The control device according to any one of claims 1 to 3.
請求項1から4のいずれか1項に記載の制御装置。 The prediction model is constructed so as to predict the command value adapted to the production of the product for at least one input of the feature amount of the work and the attribute value of the environment in which the product is produced.
The control device according to any one of claims 1 to 4.
ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、
前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、
算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、
前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、
決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、
前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記予測モデルの演算処理を加速するステップと、
を実行し、
前記ハードウェアプロセッサは、複数のコアで構成され、
前記予測モデルの演算処理には、前記複数のコアのうちの一のコアが割り当てられ、
前記複数のコアは、前記予測モデルの演算処理に割り当てられていない他のコアであって、前記一のコアにおいて前記演算処理に割り振られている利用率よりも大きな空き容量を有する他のコアを含んでおり、
前記ハードウェアプロセッサは、前記予測モデルの演算処理に対する割り当てを前記一のコアから前記他のコアに置き換えて、前記一のコアにおいて前記演算処理に割り振られていた利用率よりも大きな利用率を前記他のコアにおいて前記演算処理に割り振ることで、前記予測モデルの演算処理を加速する、
制御方法。 The computer 's hardware processor
A step of starting arithmetic processing of a prediction model that is a command value from a work to a production device that produces a product and is constructed so as to predict a command value adapted to the production of the product by the production device.
A step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and
A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the calculated remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus.
When it is determined that the determination of the command value is in time for the control timing, the output is acquired from the prediction model by continuing until the calculation processing of the prediction model is completed, and the output is based on the output acquired from the prediction model. Then, the step of determining the command value to the production device and
A step of controlling the operation of the production apparatus based on the determined command value, and
When it is determined that the determination of the command value is not in time for the control timing, the step of accelerating the arithmetic processing of the prediction model and
The execution,
The hardware processor is composed of a plurality of cores.
One of the plurality of cores is assigned to the arithmetic processing of the prediction model.
The plurality of cores are other cores that are not assigned to the arithmetic processing of the prediction model, and other cores having a free capacity larger than the utilization rate allocated to the arithmetic processing in the one core. Includes
The hardware processor replaces the allocation for the arithmetic processing of the prediction model from the one core to the other core, and the utilization rate higher than the utilization rate allocated to the arithmetic processing in the one core is said. By allocating to the arithmetic processing in another core, the arithmetic processing of the prediction model is accelerated.
Control method.
ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、 A step of starting arithmetic processing of a prediction model that is a command value from a work to a production device that produces a product and is constructed so as to predict a command value adapted to the production of the product by the production device.
前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、 A step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and
算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、 A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the calculated remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus.
前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、 When it is determined that the determination of the command value is in time for the control timing, the output is acquired from the prediction model by continuing until the calculation processing of the prediction model is completed, and the output is based on the output acquired from the prediction model. Then, the step of determining the command value to the production device and
決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、 A step of controlling the operation of the production apparatus based on the determined command value, and
前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記予測モデルの演算処理を加速するステップと、 When it is determined that the determination of the command value is not in time for the control timing, the step of accelerating the arithmetic processing of the prediction model and
を実行し、And
前記予測モデルの演算処理を加速するステップを実行した後に、前記ハードウェアプロセッサは、前記残処理時間を算出するステップ、及び前記指令値の決定が前記制御タイミングに間に合うか否かを判定するステップを再度実行する、 After executing the step of accelerating the arithmetic processing of the prediction model, the hardware processor performs a step of calculating the remaining processing time and a step of determining whether or not the determination of the command value is in time for the control timing. Run again,
制御方法。Control method.
ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、 A step of starting arithmetic processing of a prediction model that is a command value from a work to a production device that produces a product and is constructed so as to predict a command value adapted to the production of the product by the production device.
前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、 A step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and
算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、 A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the calculated remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus.
前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、 When it is determined that the determination of the command value is in time for the control timing, the output is acquired from the prediction model by continuing until the calculation processing of the prediction model is completed, and the output is based on the output acquired from the prediction model. Then, the step of determining the command value to the production device and
決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、 A step of controlling the operation of the production apparatus based on the determined command value, and
前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記予測モデルの演算処理を加速するステップと、 When it is determined that the determination of the command value is not in time for the control timing, the step of accelerating the arithmetic processing of the prediction model and
を実行し、And
前記ハードウェアプロセッサは、 The hardware processor
前記予測モデルの演算処理の加速が可能か否かを判定し、 It is determined whether or not the arithmetic processing of the prediction model can be accelerated.
前記予測モデルの演算処理の加速が可能ではないと判定した場合、前記予測モデルの演算処理を中止し、予め与えられた設定値を指令値に指定し、指定した前記指令値に基づいて、前記生産装置の動作を制御する、 When it is determined that the calculation processing of the prediction model cannot be accelerated, the calculation processing of the prediction model is stopped, a set value given in advance is specified as a command value, and the operation is described based on the specified command value. Control the operation of production equipment,
制御方法。Control method.
ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、
前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、
算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、
前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、
決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、
前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記予測モデルの演算処理を加速するステップと、
を実行させるための制御プログラムであって、
前記ハードウェアプロセッサは、複数のコアで構成され、
前記予測モデルの演算処理には、前記複数のコアのうちの一のコアが割り当てられ、
前記複数のコアは、前記予測モデルの演算処理に割り当てられていない他のコアであって、前記一のコアにおいて前記演算処理に割り振られている利用率よりも大きな空き容量を有する他のコアを含んでおり、
前記ハードウェアプロセッサに、前記予測モデルの演算処理に対する割り当てを前記一のコアから前記他のコアに置き換えさせ、前記一のコアにおいて前記演算処理に割り振られていた利用率よりも大きな利用率を前記他のコアにおいて前記演算処理に割り振らせることで、前記予測モデルの演算処理を加速させる、
制御プログラム。 For computer hardware processors
A step of starting arithmetic processing of a prediction model that is a command value from a work to a production device that produces a product and is constructed so as to predict a command value adapted to the production of the product by the production device.
A step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and
A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the calculated remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus.
When it is determined that the determination of the command value is in time for the control timing, the output is acquired from the prediction model by continuing until the calculation processing of the prediction model is completed, and the output is based on the output acquired from the prediction model. Then, the step of determining the command value to the production device and
A step of controlling the operation of the production apparatus based on the determined command value, and
When it is determined that the determination of the command value is not in time for the control timing, the step of accelerating the arithmetic processing of the prediction model and
Is a control program for executing
The hardware processor is composed of a plurality of cores.
One of the plurality of cores is assigned to the arithmetic processing of the prediction model.
The plurality of cores are other cores that are not assigned to the arithmetic processing of the prediction model, and other cores having a free capacity larger than the utilization rate allocated to the arithmetic processing in the one core. Includes
The hardware processor is made to replace the allocation for the arithmetic processing of the prediction model from the one core to the other core, and the utilization rate larger than the utilization rate allocated to the arithmetic processing in the one core is said. By allocating to the arithmetic processing in another core, the arithmetic processing of the prediction model is accelerated.
Control program.
ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、 A step of starting arithmetic processing of a prediction model that is a command value from a work to a production device that produces a product and is constructed so as to predict a command value adapted to the production of the product by the production device.
前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、 A step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and
算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、 A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the calculated remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus.
前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、 When it is determined that the determination of the command value is in time for the control timing, the output is acquired from the prediction model by continuing until the calculation processing of the prediction model is completed, and the output is based on the output acquired from the prediction model. Then, the step of determining the command value to the production device and
決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、 A step of controlling the operation of the production apparatus based on the determined command value, and
前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記予測モデルの演算処理を加速するステップと、 When it is determined that the determination of the command value is not in time for the control timing, the step of accelerating the arithmetic processing of the prediction model and
を実行させるための制御プログラムであって、Is a control program for executing
前記予測モデルの演算処理を加速するステップを実行させた後に、前記ハードウェアプロセッサに、前記残処理時間を算出するステップ、及び前記指令値の決定が前記制御タイミングに間に合うか否かを判定するステップを再度実行させる、 After executing the step of accelerating the arithmetic processing of the prediction model, the hardware processor calculates the remaining processing time, and determines whether or not the determination of the command value is in time for the control timing. To run again,
制御プログラム。Control program.
ワークから製品を生産する生産装置への指令値であって、当該生産装置による前記製品の生産に適応した指令値を予測するように構築された予測モデルの演算処理を開始するステップと、 A step of starting arithmetic processing of a prediction model that is a command value from a work to a production device that produces a product and is constructed so as to predict a command value adapted to the production of the product by the production device.
前記予測モデルの演算処理を開始した後に、前記予測モデルの演算処理が完了するまでの残処理時間を算出するステップと、 A step of calculating the remaining processing time until the calculation processing of the prediction model is completed after starting the calculation processing of the prediction model, and
算出した前記残処理時間に基づいて、前記予測モデルから得られる出力に基づく前記指令値の決定が、前記生産装置による前記生産の動作を制御する制御タイミングに間に合うか否かを判定するステップと、 A step of determining whether or not the determination of the command value based on the output obtained from the prediction model based on the calculated remaining processing time is in time for the control timing for controlling the operation of the production by the production apparatus.
前記指令値の決定が前記制御タイミングに間に合うと判定した場合に、前記予測モデルの演算処理を完了するまで継続することで、前記予測モデルから出力を取得し、前記予測モデルから取得した出力に基づいて、前記生産装置への指令値を決定するステップと、 When it is determined that the determination of the command value is in time for the control timing, the output is acquired from the prediction model by continuing until the calculation processing of the prediction model is completed, and the output is based on the output acquired from the prediction model. Then, the step of determining the command value to the production device and
決定した前記指令値に基づいて、前記生産装置の動作を制御するステップと、 A step of controlling the operation of the production apparatus based on the determined command value, and
前記指令値の決定が前記制御タイミングに間に合わないと判定した場合、前記予測モデルの演算処理を加速するステップと、 When it is determined that the determination of the command value is not in time for the control timing, the step of accelerating the arithmetic processing of the prediction model and
を実行させるための制御プログラムであって、Is a control program for executing
前記ハードウェアプロセッサに、 To the hardware processor
前記予測モデルの演算処理の加速が可能か否かを判定させ、 It is determined whether or not the arithmetic processing of the prediction model can be accelerated.
前記予測モデルの演算処理の加速が可能ではないと判定した場合、前記予測モデルの演算処理を中止させ、予め与えられた設定値を指令値に指定させ、指定した前記指令値に基づいて、前記生産装置の動作を制御させる、 When it is determined that the calculation processing of the prediction model cannot be accelerated, the calculation processing of the prediction model is stopped, a set value given in advance is specified as a command value, and the operation is described based on the specified command value. Control the operation of production equipment,
制御プログラム。Control program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018069320A JP6958461B2 (en) | 2018-03-30 | 2018-03-30 | Control device, control method, and control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018069320A JP6958461B2 (en) | 2018-03-30 | 2018-03-30 | Control device, control method, and control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019179469A JP2019179469A (en) | 2019-10-17 |
JP6958461B2 true JP6958461B2 (en) | 2021-11-02 |
Family
ID=68278764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018069320A Active JP6958461B2 (en) | 2018-03-30 | 2018-03-30 | Control device, control method, and control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6958461B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021065876A1 (en) | 2019-09-30 | 2021-04-08 | テルモ株式会社 | Energy generating device and cauterization system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6113429B2 (en) * | 2012-07-24 | 2017-04-12 | 株式会社日立ハイテクノロジーズ | Stage device, sample transport device, and positioning control method |
JP6151669B2 (en) * | 2014-06-27 | 2017-06-21 | ファナック株式会社 | Numerical control device capable of distributing CPU load according to machining program command contents |
-
2018
- 2018-03-30 JP JP2018069320A patent/JP6958461B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019179469A (en) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6888577B2 (en) | Control device, control method, and control program | |
JP7031502B2 (en) | Control system, control method, learning device, control device, learning method and learning program | |
US9547818B2 (en) | Apparatus and method for learning a model corresponding to time-series moving image/video input data | |
US11513851B2 (en) | Job scheduler, job schedule control method, and storage medium | |
US20200019436A1 (en) | Control device, control method, and control program | |
US20200159205A1 (en) | Cloud and edge manufacturing data processing system | |
JP2018142199A (en) | Learning system and learning method | |
CN115827253B (en) | Chip resource calculation power distribution method, device, equipment and storage medium | |
JP6958461B2 (en) | Control device, control method, and control program | |
KR20200109917A (en) | Method for estimating learning speed of gpu-based distributed deep learning model and recording medium thereof | |
US11513866B1 (en) | Method and system for managing resource utilization based on reinforcement learning | |
CN116738239B (en) | Model training method, resource scheduling method, device, system, equipment and medium | |
CN112308337A (en) | Prediction method, prediction device and processor for probabilistic short-term load of power system | |
CN114528966B (en) | Local learning method, equipment and medium | |
EP4154067B1 (en) | Method and system for determining a compression rate for an ai model of an industrial task | |
JP6659260B2 (en) | Control device and machine learning device with PLC program optimization function | |
US20210089885A1 (en) | Training device and training method | |
CN114819778A (en) | Method, device and equipment for generating time for entering process flow and readable storage medium | |
EP4369193A1 (en) | Job schedule quality prediction and job scheduling | |
TWI756974B (en) | Machine learning system and resource allocation method thereof | |
JP2020071510A (en) | Production system, production system control method, and production control device | |
WO2009107313A1 (en) | Probability model selecting device, probability model selecting method, and program | |
CN110412890A (en) | A kind of emulation mode of servo-driver, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210421 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210907 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6958461 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |