JP6958461B2 - Control device, control method, and control program - Google Patents

Control device, control method, and control program Download PDF

Info

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
Application number
JP2018069320A
Other languages
Japanese (ja)
Other versions
JP2019179469A (en
Inventor
泰明 阿部
和彦 今竹
勇樹 上山
高史 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018069320A priority Critical patent/JP6958461B2/en
Publication of JP2019179469A publication Critical patent/JP2019179469A/en
Application granted granted Critical
Publication of JP6958461B2 publication Critical patent/JP6958461B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 Patent Document 1, a control device that controls the operation of a vehicle, a first arithmetic unit that controls the running of the vehicle by speculative execution, and safety even if an unpredictable situation occurs by speculative execution. A control device including a second calculation unit that controls the operation of the vehicle so as to be able to secure the above has been proposed. Specifically, the first calculation unit predicts future input values and controls the operation of the vehicle so as to perform optimum traveling. On the other hand, the second calculation unit controls the operation of the vehicle so as to travel at a speed equal to the target speed and suddenly brake when the distance between the own vehicle and the pedestrian becomes a certain value or less. When the control by the first calculation unit satisfies a certain safety standard, this control device controls the operation of the vehicle by using the calculation result of the first calculation unit, and the control by the first calculation unit is performed. When a certain safety standard is not satisfied, the operation of the vehicle is controlled by using the calculation result of the second calculation unit. As a result, according to Patent Document 1, it is possible to control the operation of the vehicle so as to perform optimum traveling while ensuring a certain level of safety.

特開2016−192010号公報Japanese Unexamined Patent Publication No. 2016-192010

本件発明者らは、比較的に短いサイクルでワークから製品を生産する生産装置の動作を予測制御するケースでは、次のような問題が生じ得ることを見出した。すなわち、このような生産装置では、ワークを処理するタイミングが比較的に短いサイクルで訪れる。そのため、予測制御の演算処理が複雑である、演算資源(例えば、プロセッサ等)が他の処理に優先的に割り当てられている等に起因して、予測制御の演算処理が遅延してしまうと、当該予測制御の演算処理が、ワークを処理するタイミングまでに完了しない可能性がある。予測制御の演算処理が、ワークを処理するタイミングまでに完了しなければ、生産装置の予測制御を適切に遂行することができなくなってしまうという問題点が生じることを本件発明者らは見出した。 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.

図1は、本発明が適用される場面の一例を模式的に例示する。FIG. 1 schematically illustrates an example of a situation in which the present invention is applied. 図2は、実施の形態に係る制御装置のハードウェア構成の一例を模式的に例示する。FIG. 2 schematically illustrates an example of the hardware configuration of the control device according to the embodiment. 図3は、実施の形態に係る生産装置の一例を模式的に例示する。FIG. 3 schematically illustrates an example of the production apparatus according to the embodiment. 図4Aは、図3の生産装置における生産工程の一例を模式的に例示する。FIG. 4A schematically illustrates an example of a production process in the production apparatus of FIG. 図4Bは、図3の生産装置における生産工程の一例を模式的に例示する。FIG. 4B schematically illustrates an example of a production process in the production apparatus of FIG. 図4Cは、図3の生産装置における生産工程の一例を模式的に例示する。FIG. 4C schematically illustrates an example of a production process in the production apparatus of FIG. 図4Dは、図3の生産装置における生産工程の一例を模式的に例示する。FIG. 4D schematically illustrates an example of a production process in the production apparatus of FIG. 図5は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。FIG. 5 schematically illustrates an example of the hardware configuration of the learning device according to the embodiment. 図6は、実施の形態に係る制御装置のソフトウェア構成の一例を模式的に例示する。FIG. 6 schematically illustrates an example of the software configuration of the control device according to the embodiment. 図7Aは、実施の形態に係る予測モデルの一例を模式的に例示する。FIG. 7A schematically illustrates an example of the prediction model according to the embodiment. 図7Bは、予測モデルに対する入力と出力との関係を模式的に例示する。FIG. 7B schematically illustrates the relationship between inputs and outputs to the prediction model. 図8は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。FIG. 8 schematically illustrates an example of the software configuration of the learning device according to the embodiment. 図9は、実施の形態に係る制御装置の処理手順の一例を例示する。FIG. 9 illustrates an example of the processing procedure of the control device according to the embodiment. 図10は、割当情報の一例を模式的に例示する。FIG. 10 schematically illustrates an example of allocation information. 図11は、コアのスケジューリングを説明するための図である。FIG. 11 is a diagram for explaining core scheduling. 図12Aは、加速処理の一例を模式的に例示する。FIG. 12A schematically illustrates an example of the acceleration process. 図12Bは、加速処理の一例を模式的に例示する。FIG. 12B schematically illustrates an example of the acceleration process. 図12Cは、加速処理の一例を模式的に例示する。FIG. 12C schematically illustrates an example of the acceleration process. 図12Dは、加速処理の一例を模式的に例示する。FIG. 12D schematically illustrates an example of acceleration processing. 図13は、実施の形態に係る学習装置の処理手順の一例を例示する。FIG. 13 illustrates an example of the processing procedure of the learning device according to the embodiment.

以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。 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 control device 1 and the learning device 2 according to the present embodiment.

図1に示されるとおり、本実施形態に係る制御装置1は、生産装置3の動作を制御するように構成された情報処理装置である。図1の例では、生産装置3は、ワークを加工するプレス機である。このプレス機は、本発明の「生産装置」の一例である。ただし、制御装置1を適用可能な生産装置は、このようなプレス機に限られなくてもよく、実施の形態に応じて適宜選択されてよい。生産装置3は、例えば、プレス機の他、射出成形機、NC旋盤、放電加工機、包装機、搬送機、検査機内の搬送機構等であってよい。 As shown in FIG. 1, the control device 1 according to the present embodiment is an information processing device configured to control the operation of the production device 3. In the example of FIG. 1, the production apparatus 3 is a press machine for processing a work. This press machine is an example of the "production apparatus" of the present invention. However, the production device to which the control device 1 can be applied is not limited to such a press machine, and may be appropriately selected according to the embodiment. The production apparatus 3 may be, for example, an injection molding machine, an NC lathe, an electric discharge machine, a packaging machine, a transport machine, a transport mechanism in an inspection machine, or the like, in addition to a press machine.

具体的に、本実施形態に係る制御装置1は、まず、ワークから製品を生産する生産装置3への指令値であって、当該生産装置3による製品の生産に適応した指令値を予測するように構築された予測モデル(後述する予測モデル5)の演算処理を開始する。予測モデルの演算処理を開始した後、制御装置1は、予測モデルの演算処理が完了するまでの残処理時間を算出する。制御装置1は、例えば、演算処理の進捗状態を確認することで、当該演算処理の残処理量を算出し、算出した残処理量に基づいて残処理時間を算出する。この残処理時間は、制御装置1における演算資源の状況によって変化し得る。次に、制御装置1は、算出した残処理時間に基づいて、予測モデルから得られる出力に基づく指令値の決定が、生産装置3による生産の動作を制御する制御タイミングに間に合うか否かを判定する。 Specifically, the control device 1 according to the present embodiment first predicts the command value from the work to the production device 3 that produces the product, and is adapted to the production of the product by the production device 3. The arithmetic processing of the prediction model (prediction model 5 described later) constructed in 1) is started. After starting the calculation processing of the prediction model, the control device 1 calculates the remaining processing time until the calculation processing of the prediction model is completed. The control device 1 calculates the remaining processing amount of the calculation processing by checking the progress state of the calculation processing, and calculates the remaining processing time based on the calculated remaining processing amount. This remaining processing time may change depending on the state of computational resources in the control device 1. Next, the control device 1 determines whether or not the determination of the command value based on the output obtained from the prediction model is in time for the control timing for controlling the production operation by the production device 3 based on the calculated remaining processing time. do.

これにより、制御装置1は、予測モデルを利用した指令値の予測に関する演算処理が、その予測した指令値を利用して生産装置3の動作を制御するタイミングに間に合うか否かを特定することができる。指令値の決定が制御タイミングに間に合うと判定した場合には、制御装置1は、予測モデルの演算処理を完了するまで継続することで、予測モデルから出力を取得し、予測モデルから取得した出力に基づいて、生産装置3への指令値を決定する。そして、制御装置1は、決定した指令値に基づいて、生産装置3の動作を制御する。一方、指令値の決定が制御タイミングに間に合わないと判定した場合には、制御装置1は、予測モデルの演算処理を加速して、予測モデルによる指令値の決定が制御タイミングに間に合うようにしたり、予測モデルの演算処理を中止し、予測制御以外の方法で生産装置3の動作を制御したりすることができる。 As a result, the control device 1 can specify 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 3 by using the predicted command value. can. When it is determined that the determination of the command value is in time for the control timing, the control device 1 acquires the output from the prediction model by continuing until the calculation processing of the prediction model is completed, and obtains the output from the prediction model. Based on this, the command value for the production device 3 is determined. Then, the control device 1 controls the operation of the production device 3 based on the determined command value. On the other hand, when it is determined that the command value determination is not in time for the control timing, the control device 1 accelerates the arithmetic processing of the prediction model so that the command value determination by the prediction model is in time for the control timing. It is possible to stop the arithmetic processing of the prediction model and control the operation of the production apparatus 3 by a method other than the prediction control.

これに対して、本実施形態に係る学習装置2は、制御装置1で利用する予測モデルを構築するように構成された情報処理装置である。本実施形態では、予測モデルは、学習モデル(後述する決定木)により構成される。そのため、学習装置2は、機械学習に利用する学習データ(後述する学習用データセット221)を取得し、取得した学習データを利用した機械学習を行うことで、生産装置3による製品の生産に適応した指令値を予測する能力を獲得した予測モデルを構築する。制御装置1は、例えば、ネットワークを介して、学習装置2により作成された学習済みの予測モデルを取得することができる。なお、ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。 On the other hand, the learning device 2 according to the present embodiment is an information processing device configured to build a prediction model used by the control device 1. In the present embodiment, the prediction model is composed of a learning model (decision tree described later). Therefore, the learning device 2 acquires learning data used for machine learning (learning data set 221 described later), and performs machine learning using the acquired learning data to adapt to the production of products by the production device 3. Build a prediction model that has acquired the ability to predict the command value. The control device 1 can acquire a trained prediction model created by the learning device 2 via a network, for example. The type of network may be appropriately selected from, for example, the Internet, a wireless communication network, a mobile communication network, a telephone network, a dedicated network, and the like.

以上のとおり、本実施形態では、予測モデルを利用して生産装置3への指令値を予測する際に、残処理時間を算出するステップ、及び残処理時間に基づいて、予測モデルによる指令値の決定が制御タイミングに間に合うか否かを判定するステップを実行する。これにより、予測モデルを利用した指令値の予測に関する演算処理が、その予測した指令値を利用して生産装置3の動作を制御するタイミングに間に合うか否かを特定することができる。したがって、本実施形態によれば、生産装置3の予測制御の演算時間を適切に管理することができる。 As described above, in the present embodiment, when the command value to the production apparatus 3 is predicted by using the prediction model, the step of calculating the remaining processing time and the command value by the prediction model based on the remaining processing time. Perform a step to determine if the decision is in time for control timing. Thereby, it is possible to specify whether or not the arithmetic processing related to the prediction of the command value using the prediction model is in time for controlling the operation of the production apparatus 3 by using the predicted command value. Therefore, according to the present embodiment, it is possible to appropriately manage the calculation time of the prediction control of the production apparatus 3.

特に、制御装置1では、上記予測モデルの演算処理以外の他のタスクを含む複数のタスクが処理され得る。この場合には、例えば、割込みのタスクが発生する等により、制御装置1における演算資源が同一の条件で利用できるとは限らない。すなわち、制御装置1における演算資源の状況は時々刻々と変化していき、それに伴って、予測モデルの演算処理に用いることができる演算資源も変化し得る。したがって、予測モデルの演算処理にかかる処理時間は常に一定であるとは限らない。そのため、シミュレーション等により予め特定した処理時間に基づいて、制御タイミングに間に合うように処理可能と判定された予測モデルを制御装置1に搭載したとしても、予測モデルの演算処理が制御タイミングに間に合わない可能性がある。これに対して、本実施形態では、制御装置1は、予測モデルの演算処理を実行する際に、その演算処理にかかる残処理時間を算出する。これにより、演算資源の状況が時々刻々と変化しても、制御装置1は、予測モデルの演算処理が制御タイミングに間に合うか否かを判定することができる。よって、本実施形態によれば、生産装置3の予測制御の演算時間を適切に管理することができる。 In particular, the control device 1 can process a plurality of tasks including tasks other than the arithmetic processing of the prediction model. In this case, for example, due to the occurrence of an interrupt task, the computational resources in the control device 1 may not always be available under the same conditions. That is, the state of the computational resources in the control device 1 changes from moment to moment, and the computational resources that can be used for the arithmetic processing of the prediction model may change accordingly. Therefore, the processing time required for the arithmetic processing of the prediction model is not always constant. Therefore, even if the control device 1 is equipped with a prediction model determined to be capable of processing in time for the control timing based on the processing time specified in advance by simulation or the like, the arithmetic processing of the prediction model may not be in time for the control timing. There is sex. On the other hand, in the present embodiment, when the control device 1 executes the arithmetic processing of the prediction model, the control device 1 calculates the remaining processing time required for the arithmetic processing. As a result, even if the state of the computational resources changes from moment to moment, the control device 1 can determine whether or not the arithmetic processing of the prediction model is in time for the control timing. Therefore, according to the present embodiment, it is possible to appropriately manage the calculation time of the prediction control of the production apparatus 3.

§2 構成例
[ハードウェア構成]
<制御装置>
次に、図2を用いて、本実施形態に係る制御装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る制御装置1のハードウェア構成の一例を模式的に例示する。
§2 Configuration example [Hardware configuration]
<Control device>
Next, an example of the hardware configuration of the control device 1 according to the present embodiment will be described with reference to FIG. FIG. 2 schematically illustrates an example of the hardware configuration of the control device 1 according to the present embodiment.

図2に示されるとおり、本実施形態に係る制御装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースをそれぞれ「通信I/F」及び「外部I/F」と記載している。 As shown in FIG. 2, in the control device 1 according to the present embodiment, the control unit 11, the storage unit 12, the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 are electrically connected. It is a computer. In FIG. 2, the communication interface and the external interface are described as "communication I / F" and "external I / F", respectively.

制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、制御部11(CPU)により実行される制御プログラム81、割当データ121、学習結果データ225等の各種情報を記憶する。 The control unit 11 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like, which are hardware processors, and is configured to execute information processing based on a program and various data. NS. The storage unit 12 is an example of a memory, and is composed of, for example, a hard disk drive, a solid state drive, or the like. In the present embodiment, the storage unit 12 stores various information such as the control program 81 executed by the control unit 11 (CPU), the allocation data 121, and the learning result data 225.

制御プログラム81は、生産装置3の動作を制御する後述の情報処理(図9)を制御装置1に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。割当データ121は、制御装置1における演算資源(例えば、ハードウェアプロセッサ、メモリ)に対するタスクの割り当てを示す。学習結果データ225は、学習済みの予測モデルの設定を行うためのデータである。詳細は後述する。 The control program 81 is a program for causing the control device 1 to execute information processing (FIG. 9) described later that controls the operation of the production device 3, and includes a series of instructions for the information processing. The allocation data 121 indicates the allocation of tasks to computational resources (for example, hardware processor, memory) in the control device 1. The training result data 225 is data for setting the trained prediction model. Details will be described later.

通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。制御装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置2)と行うことができる。 The communication interface 13 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network. By using the communication interface 13, the control device 1 can perform data communication via the network with another information processing device (for example, the learning device 2).

外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、制御装置1は、外部インタフェース14を介して、生産装置3に接続される。これにより、制御装置1は、生産装置3に対して指令値を送信することで、生産装置3の動作を制御することができる。 The external interface 14 is, for example, a USB (Universal Serial Bus) port, a dedicated port, or the like, and is an interface for connecting to an external device. The type and number of the external interfaces 14 may be appropriately selected according to the type and number of connected external devices. In the present embodiment, the control device 1 is connected to the production device 3 via the external interface 14. As a result, the control device 1 can control the operation of the production device 3 by transmitting a command value to the production device 3.

入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置15及び出力装置16を利用することで、制御装置1を操作することができる。 The input device 15 is, for example, a device for inputting a mouse, a keyboard, or the like. The output device 16 is, for example, a device for outputting a display, a speaker, or the like. The operator can operate the control device 1 by using the input device 15 and the output device 16.

ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記制御プログラム81及び学習結果データ225の少なくとも一方は、この記憶媒体91に記憶されていてもよい。 The drive 17 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 91. The type of the drive 17 may be appropriately selected according to the type of the storage medium 91. At least one of the control program 81 and the learning result data 225 may be stored in the storage medium 91.

記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。制御装置1は、この記憶媒体91から、上記制御プログラム81及び学習結果データ225の少なくとも一方を取得してもよい。 The storage medium 91 transfers the information of the program or the like by electrical, magnetic, optical, mechanical or chemical action so that the computer or other device, the machine or the like can read the information of the recorded program or the like. It is a medium to accumulate. The control device 1 may acquire at least one of the control program 81 and the learning result data 225 from the storage medium 91.

ここで、図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 storage medium 91. However, the type of the storage medium 91 is not limited to the disc type, and may be other than the disc type. Examples of storage media other than the disk type include semiconductor memories such as flash memories.

なお、制御装置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 control device 1, components can be omitted, replaced, or added as appropriate according to the embodiment. For example, the control unit 11 may include a plurality of hardware processors. The hardware processor may be composed of a microprocessor, an FPGA (field-programmable gate array), a DSP (digital signal processor), or the like. The storage unit 12 may be composed of a RAM and a ROM included in the control unit 11. At least one of the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 may be omitted. The control device 1 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the control device 1 may be a general-purpose controller, a general-purpose server device, a general-purpose desktop PC (Personal Computer), a notebook PC, a tablet PC, or the like, in addition to an information processing device designed exclusively for the provided service. good.

<生産装置>
次に、図3を用いて、本実施形態に係る生産装置3のハードウェア構成の一例について説明する。図3は、本実施形態に係る生産装置3のハードウェア構成の一例を模式的に例示する。
<Production equipment>
Next, an example of the hardware configuration of the production apparatus 3 according to the present embodiment will be described with reference to FIG. FIG. 3 schematically illustrates an example of the hardware configuration of the production apparatus 3 according to the present embodiment.

本実施形態に係る生産装置3は、サーボドライバ31、上側金型32、及び下側金型33を備えている。下側金型33が固定されているのに対して、上側金型32は、サーボモータ(不図示)によって、上下方向に移動可能に構成されている。これにより、上側金型32は、下側金型33にワークを押し付けて、ワークの成形を行ったり、下側金型33から離れたりすることができる。サーボドライバ31は、制御装置1からの指令値に基づいて、上側金型32のサーボモータを駆動するように構成される。 The production apparatus 3 according to the present embodiment includes a servo driver 31, an upper mold 32, and a lower mold 33. While the lower mold 33 is fixed, the upper mold 32 is configured to be movable in the vertical direction by a servomotor (not shown). As a result, the upper mold 32 can press the work against the lower mold 33 to form the work or move away from the lower mold 33. The servo driver 31 is configured to drive the servomotor of the upper mold 32 based on the command value from the control device 1.

次に、図4A〜図4Dを用いて、生産装置3における生産工程の一例を模式的に例示する。生産装置3は、例えば、生産ラインに配置される。図4Aに示されるとおり、初期状態では、上側金型32は、下側金型33から離れた待機位置に配置され、下側金型33にワーク40が搬送されるまで待機する。ワーク40は、例えば、金属製の板材である。ただし、ワーク40は、このような例に限定される訳ではなく、生産装置3の種類に応じて適宜選択されてよい。ワーク40は、例えば、製品の原料、加工前の物、組み立て前の部品等であってよい。 Next, an example of the production process in the production apparatus 3 is schematically illustrated with reference to FIGS. 4A to 4D. The production apparatus 3 is arranged on the production line, for example. As shown in FIG. 4A, in the initial state, the upper mold 32 is arranged at a standby position away from the lower mold 33, and waits until the work 40 is conveyed to the lower mold 33. The work 40 is, for example, a metal plate material. However, the work 40 is not limited to such an example, and may be appropriately selected depending on the type of the production apparatus 3. The work 40 may be, for example, a raw material of a product, a product before processing, a part before assembly, or the like.

下側金型33の所定の位置にワーク40が配置された後、生産装置3は、図4Bに示されるとおり、サーボドライバ31により上側金型32のサーボモータを駆動し、上側金型32を成形開始位置に配置する。成形開始位置は、例えば、上側金型32の先端がワーク40に接触する又はその直前の位置である。 After the work 40 is arranged at a predetermined position of the lower mold 33, the production apparatus 3 drives the servomotor of the upper mold 32 by the servo driver 31 as shown in FIG. 4B to push the upper mold 32. Place it at the molding start position. The molding start position is, for example, a position where the tip of the upper mold 32 comes into contact with the work 40 or immediately before the work 40.

そして、生産装置3は、図4Cに示されるとおり、サーボドライバ31により上側金型32のサーボモータを更に駆動し、上側金型32を目標位置(下死点)まで移動させ、上側金型32及び下側金型33によりワーク40の成形を行う。これにより、生産装置3は、ワーク40から製品41を生産することができる。なお、この製品41は、ワーク40に対して生産装置3が生産処理を行うことで得られる物であれば特に限定されなくてもよく、最終品であってもよいし、中間品(加工途中のもの)であってもよい。 Then, as shown in FIG. 4C, the production apparatus 3 further drives the servomotor of the upper mold 32 by the servo driver 31, moves the upper mold 32 to the target position (bottom dead point), and moves the upper mold 32 to the target position (bottom dead point). The work 40 is formed by the lower mold 33 and the lower mold 33. As a result, the production apparatus 3 can produce the product 41 from the work 40. The product 41 is not particularly limited as long as it is obtained by performing the production process on the work 40 by the production apparatus 3, and may be a final product or an intermediate product (during processing). It may be).

成形が完了した後、生産装置3は、図4Dに示されるとおり、サーボドライバ31により上側金型32のサーボモータを駆動し、上側金型32を待機位置まで移動させる。そして、ワーク40を成形することで得られた製品41をベルトコンベア(不図示)等により生産装置3から搬送する。これにより、ワーク40から製品41を生産する一連の生産工程が完了する。 After the molding is completed, the production apparatus 3 drives the servomotor of the upper mold 32 by the servo driver 31 as shown in FIG. 4D, and moves the upper mold 32 to the standby position. Then, the product 41 obtained by molding the work 40 is conveyed from the production apparatus 3 by a belt conveyor (not shown) or the like. As a result, a series of production steps for producing the product 41 from the work 40 is completed.

この生産工程において、図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 upper die 32 reaches the bottom dead center, the quality of the obtained product 41 deteriorates. .. Therefore, conventionally, on-site workers regularly check the quality of products and adjust the operation settings of the production equipment to suppress the occurrence of defective products. On the other hand, the control device 1 according to the present embodiment predicts an appropriate command value to the production device 3 by using the prediction model so that a defect does not occur in the production process. As a result, the control device 1 automatically adjusts the operation of the production device 3 so as to suppress the occurrence of defective products.

<学習装置>
次に、図5を用いて、本実施形態に係る学習装置2のハードウェア構成の一例について説明する。図5は、本実施形態に係る学習装置2のハードウェア構成の一例を模式的に例示する。
<Learning device>
Next, an example of the hardware configuration of the learning device 2 according to the present embodiment will be described with reference to FIG. FIG. 5 schematically illustrates an example of the hardware configuration of the learning device 2 according to the present embodiment.

図5に示されるとおり、本実施形態に係る学習装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。なお、図5では、通信インタフェースを「通信I/F」と記載している。 As shown in FIG. 5, the learning device 2 according to the present embodiment is a computer to which the control unit 21, the storage unit 22, the communication interface 23, the input device 24, the output device 25, and the drive 26 are electrically connected. .. In FIG. 5, the communication interface is described as "communication I / F".

制御部21は、上記制御部11と同様に、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、制御部21(CPU)により実行される学習プログラム82、予測モデルの機械学習に利用する学習用データセット221、学習プログラム82を実行することで作成した学習結果データ225等の各種情報を記憶する。 Like the control unit 11, the control unit 21 includes a CPU, RAM, ROM, etc., which are hardware processors, and is configured to execute information processing based on a program and various data. The storage unit 22 is composed of, for example, a hard disk drive, a solid state drive, or the like. The storage unit 22 includes various types of learning program 82 executed by the control unit 21 (CPU), learning data set 221 used for machine learning of the prediction model, learning result data 225 created by executing the learning program 82, and the like. Memorize information.

学習プログラム82は、予測モデルの機械学習の後述する情報処理(図13)を学習装置2に実行させ、当該機械学習の結果として学習結果データ225を生成するためのプログラムである。学習プログラム82は、当該情報処理の一連の命令を含む。学習用データセット221は、生産装置3による製品の生産に適応した指令値を予測する能力を獲得した予測モデルを構築するための機械学習に利用されるデータである。詳細は後述する。 The learning program 82 is a program for causing the learning device 2 to execute information processing (FIG. 13) described later in machine learning of the prediction model, and to generate learning result data 225 as a result of the machine learning. The learning program 82 includes a series of instructions for the information processing. The learning data set 221 is data used for machine learning for constructing a prediction model that has acquired the ability to predict a command value adapted to the production of a product by the production apparatus 3. Details will be described later.

通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、制御装置1)と行うことができる。また、学習装置2は、この通信インタフェース23を利用することで、作成した学習結果データ225を外部の装置に配信することができる。 The communication interface 23 is, for example, a wired LAN module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network. By using the communication interface 23, the learning device 2 can perform data communication via the network with another information processing device (for example, the control device 1). Further, the learning device 2 can distribute the created learning result data 225 to an external device by using the communication interface 23.

入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を介して、学習装置2を操作することができる。 The input device 24 is, for example, a device for inputting a mouse, a keyboard, or the like. The output device 25 is, for example, a device for outputting a display, a speaker, or the like. The operator can operate the learning device 2 via the input device 24 and the output device 25.

ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ26の種類は、記憶媒体92の種類に応じて適宜選択されてよい。上記学習プログラム82及び学習用データセット221の少なくとも一方は、この記憶媒体92に記憶されていてもよい。 The drive 26 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 92. The type of the drive 26 may be appropriately selected according to the type of the storage medium 92. At least one of the learning program 82 and the learning data set 221 may be stored in the storage medium 92.

記憶媒体92は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置2は、この記憶媒体92から、上記学習プログラム82及び学習用データセット221の少なくとも一方を取得してもよい。 The storage medium 92 stores the information of the program or the like by electrical, magnetic, optical, mechanical or chemical action so that the information of the program or the like recorded by the computer or other device, the machine or the like can be read. It is a medium to do. The learning device 2 may acquire at least one of the learning program 82 and the learning data set 221 from the storage medium 92.

ここで、図5では、上記図2と同様に、記憶媒体92の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体92の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。 Here, in FIG. 5, similarly to FIG. 2 above, as an example of the storage medium 92, a disc-type storage medium such as a CD or DVD is illustrated. However, the type of the storage medium 92 is not limited to the disc type, and may be other than the disc type. Examples of storage media other than the disk type include semiconductor memories such as flash memories.

なお、学習装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、ECU等で構成されてよい。学習装置2は、複数台の情報処理装置で構成されてもよい。また、学習装置2には、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC等が用いられてもよい。 Regarding the specific hardware configuration of the learning device 2, the components can be omitted, replaced, or added as appropriate according to the embodiment. For example, the control unit 21 may include a plurality of hardware processors. The hardware processor may be composed of a microprocessor, FPGA, ECU and the like. The learning device 2 may be composed of a plurality of information processing devices. Further, as the learning device 2, in addition to an information processing device designed exclusively for the provided service, a general-purpose server device, a PC, or the like may be used.

[ソフトウェア構成]
<制御装置>
次に、図6を用いて、本実施形態に係る制御装置1のソフトウェア構成の一例について説明する。図6は、本実施形態に係る制御装置1のソフトウェア構成の一例を模式的に例示する。
[Software configuration]
<Control device>
Next, an example of the software configuration of the control device 1 according to the present embodiment will be described with reference to FIG. FIG. 6 schematically illustrates an example of the software configuration of the control device 1 according to the present embodiment.

制御装置1の制御部11は、記憶部12に記憶された制御プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された制御プログラム81をCPUにより解釈及び実行して、制御プログラム81に含まれる一連の命令に基づいて、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係る制御装置1は、データ取得部111、予測演算部112、残処理時間算出部113、遅延判定部114、加速処理部115、及び動作制御部116をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部11(CPU)により実現される。 The control unit 11 of the control device 1 expands the control program 81 stored in the storage unit 12 into the RAM. Then, the control unit 11 interprets and executes the control program 81 expanded in the RAM by the CPU, and controls each component based on a series of instructions included in the control program 81. As a result, as shown in FIG. 6, the control device 1 according to the present embodiment includes the data acquisition unit 111, the prediction calculation unit 112, the remaining processing time calculation unit 113, the delay determination unit 114, the acceleration processing unit 115, and the operation control. It operates as a computer including unit 116 as a software module. That is, in this embodiment, each software module is realized by the control unit 11 (CPU).

データ取得部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 prediction model 5 to predict a command value adapted to the production of the product 41 by the production apparatus 3. In the present embodiment, the prediction model 5 is constructed so as to predict the command value adapted to the production of the product 41 with respect to the input of the feature amount 61 of the work 40 and the attribute value 62 of the environment for producing the product 41. .. Therefore, the data acquisition unit 111 acquires the feature amount 61 of the work 40 and the attribute value 62 of the environment for producing the product 41.

予測演算部112は、ワーク40から製品41を生産する生産装置3への指令値であって、生産装置3による製品41の生産に適応した指令値を予測するように構築された予測モデル5を備えている。予測制御を実施するため、予測演算部112は、この予測モデル5の演算処理を開始する。残処理時間算出部113は、予測モデル5の演算処理を開始した後、予測モデル5の演算処理が完了するまでの残処理時間を算出する。遅延判定部114は、算出した残処理時間に基づいて、予測モデル5から得られる出力に基づく指令値の決定が、生産装置3による生産の動作を制御する制御タイミングに間に合うか否かを判定する。 The prediction calculation unit 112 uses a prediction model 5 that is a command value from the work 40 to the production device 3 that produces the product 41 and is constructed so as to predict a command value adapted to the production of the product 41 by the production device 3. I have. In order to carry out the prediction control, the prediction calculation unit 112 starts the calculation processing of the prediction model 5. The remaining processing time calculation unit 113 calculates the remaining processing time from the start of the calculation processing of the prediction model 5 to the completion of the calculation processing of the prediction model 5. Based on the calculated remaining processing time, the delay determination unit 114 determines whether or not the determination of the command value based on the output obtained from the prediction model 5 is in time for the control timing for controlling the operation of production by the production apparatus 3. ..

指令値の決定が制御タイミングに間に合うと判定した場合に、予測演算部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 prediction model 5 by continuing until the calculation processing of the prediction model 5 is completed. The operation control unit 116 determines the command value to the production device 3 based on the output acquired from the prediction model 5. Then, the operation control unit 116 controls the operation of the production device 3 based on the determined command value.

本実施形態では、予測モデル5は、製品41の生産に適応した指令値の予測の結果に対応する出力値として、指令値の基準値60に対する補正値63を出力するように構成される。そのため、予測演算部112は、予測モデル5の演算処理を完了することで、当該予測モデル5から補正値63に対応する出力値を取得する。これに応じて、動作制御部116は、取得した補正値63により基準値60を補正することで得られた値を指令値に決定し、決定した指令値に基づいて、生産装置3の動作を制御する。 In the present embodiment, the prediction model 5 is configured to output a correction value 63 with respect to the reference value 60 of the command value as an output value corresponding to the prediction result of the command value adapted to the production of the product 41. Therefore, the prediction calculation unit 112 acquires the output value corresponding to the correction value 63 from the prediction model 5 by completing the calculation processing of the prediction model 5. In response to this, the operation control unit 116 determines the value obtained by correcting the reference value 60 with the acquired correction value 63 as the command value, and operates the production device 3 based on the determined command value. Control.

一方、本実施形態では、指令値の決定が制御タイミングに間に合わないと判定した場合、加速処理部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 prediction model 5. The acceleration processing unit 115 accelerates the arithmetic processing of the prediction model 5, for example, by preferentially allocating the computational resources of the hardware to the arithmetic processing of the prediction model 5. If it is determined that the calculation process of the prediction model 5 cannot be accelerated and the command value is not determined in time for the control timing, the prediction calculation unit 112 stops the calculation process of the prediction model 5. Then, the operation control unit 116 designates a set value given in advance as a command value, and controls the operation of the production apparatus 3 based on the designated command value.

(予測モデル)
次に、図7A及び図7Bを更に用いて、本実施形態に係る予測モデル5について説明する。図7Aは、本実施形態に係る予測モデル5の構成の一例を模式的に例示する。また、図7Bは、予測モデル5に対する入力と出力との関係を模式的に例示する。
(Prediction model)
Next, the prediction model 5 according to the present embodiment will be described with reference to FIGS. 7A and 7B. FIG. 7A schematically illustrates an example of the configuration of the prediction model 5 according to the present embodiment. Further, FIG. 7B schematically illustrates the relationship between the input and the output with respect to the prediction model 5.

図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 prediction model 5 according to the present embodiment is composed of a decision tree (specifically, a regression tree). The prediction model 5 (decision tree) includes a root node R, leaf nodes L1 to L5, and intermediate nodes N1 to N3 arranged between the root node R and the leaf nodes L1 to L5. A link is provided between each node. In the example of FIG. 7A, between the root node R and the intermediate node (N1, N2), between the intermediate node N1 and each leaf node (L1, L2), between the intermediate node N2 and the leaf node L3 and the intermediate node N3. A link is provided between the intermediate node N3 and each leaf node (L4, L5).

なお、図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 prediction model 5 is a search processing that follows a link from the root node R of the determination tree to the leaf nodes L1 to L5. That is, a branching condition is associated with the route from the root node R to the leaf nodes L1 to L5 (in the example of FIG. 7A, the root node R and the intermediate nodes N1 to N3). In the example of FIG. 7A, the root node R has a branch condition of "x0 <2500", the intermediate node N1 has a branch condition of "x1 <20", and the intermediate node N2 has a branch condition of "x1 <35". , The branch condition of "x0 <3500" is associated with the intermediate node N3. On the other hand, the final results (classes C1 to C5) of the arithmetic processing of the prediction model 5 are associated with the leaf nodes L1 to L5. In the present embodiment, each leaf node L1 to L5 (classes C1 to C5) is associated with a correction value 63 corresponding to the input feature amount 61 and the attribute value 62. In the present embodiment, the prediction calculation unit 112 reaches any of the leaf nodes L1 to L5 by starting the search process from the root node R and repeating the determination of whether or not the input data satisfies the branching condition. We will proceed with the search to deeper nodes.

図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 feature amount 61, and the input x1 corresponds to the attribute value 62. FIG. 7B illustrates the relationship between each input (x0, x1) and the classes C1 to C5 associated with the arriving leaf nodes L1 to L5. For example, it is assumed that the input x0 is 2000 and the input x1 is 30. In this case, the prediction calculation unit 112 determines whether or not the input x0 satisfies the branch condition set in the root node R as the calculation processing (search processing) of the first layer of the prediction model 5. In the example of FIG. 7A, the branch condition set in the root node R is "x0 <2500" and the input x0 is 2000. Therefore, the prediction calculation unit 112 inputs the branch condition set in the root node R x0. Is determined to satisfy, and the search proceeds to the intermediate node N1 in the next hierarchy.

次に、予測演算部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 prediction model 5. In the example of FIG. 7A, the branch condition set in the intermediate node N1 is "x1 <20" and the input x1 is 30, so that the prediction calculation unit 112 inputs the branch condition set in the intermediate node N1 x1. Is not satisfied, and the process proceeds to the leaf node L2 in the next hierarchy. As a result, the search process of the decision tree reaches the leaf node L2, so that the arithmetic process of the prediction model 5 is completed. The prediction calculation unit 112 can acquire the correction value 63 associated with the class C2 of the leaf node L2 as the final result of the calculation processing of the prediction model 5.

各クラスC1〜C5に対応付けられた補正値63を取得する方法は、実施の形態に応じて適宜決定されてよい。例えば、各クラスC1〜C5には、補正値が直接的に対応付けられていてもよい。また、例えば、制御装置1は、各クラスC1〜C5と補正値との対応関係を示すテーブル形式等の参照情報を記憶部12に保持していてもよい。この参照情報は、学習結果データ225に含まれていてもよい。この場合、予測演算部112は、いずれかの葉ノードに到達した後、到達した葉ノードのクラスを参照情報に照合することで、予測モデル5の演算処理の最終結果として、指令値の基準値60に対する補正値63を取得することができる。 The method of acquiring the correction value 63 associated with each of the classes C1 to C5 may be appropriately determined according to the embodiment. For example, correction values may be directly associated with each class C1 to C5. Further, for example, the control device 1 may hold reference information such as a table format indicating the correspondence between the classes C1 to C5 and the correction value in the storage unit 12. This reference information may be included in the learning result data 225. In this case, after arriving at any leaf node, the prediction calculation unit 112 collates the class of the reached leaf node with the reference information, and as a final result of the calculation processing of the prediction model 5, the reference value of the command value. A correction value 63 for 60 can be obtained.

なお、このような予測モデル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 result data 225. By referring to the learning result data 225, the prediction calculation unit 112 can set the trained prediction model 5 used in the process of predicting the command value adapted to the production of the product 41.

<学習装置>
次に、図8を用いて、本実施形態に係る学習装置2のソフトウェア構成の一例について説明する。図8は、本実施形態に係る学習装置2のソフトウェア構成の一例を模式的に例示する。
<Learning device>
Next, an example of the software configuration of the learning device 2 according to the present embodiment will be described with reference to FIG. FIG. 8 schematically illustrates an example of the software configuration of the learning device 2 according to the present embodiment.

学習装置2の制御部21は、記憶部22に記憶された学習プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された学習プログラム82をCPUにより解釈及び実行して、学習プログラム82に含まれる一連の命令に基づいて、各構成要素を制御する。これによって、図8に示されるとおり、本実施形態に係る学習装置2は、学習データ取得部211、及び学習処理部212をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部21(CPU)により実現される。 The control unit 21 of the learning device 2 expands the learning program 82 stored in the storage unit 22 into the RAM. Then, the control unit 21 interprets and executes the learning program 82 expanded in the RAM by the CPU, and controls each component based on a series of instructions included in the learning program 82. As a result, as shown in FIG. 8, the learning device 2 according to the present embodiment is configured as a computer including the learning data acquisition unit 211 and the learning processing unit 212 as software modules. That is, in this embodiment, each software module is realized by the control unit 21 (CPU).

学習データ取得部211は、予測モデル5の機械学習に利用する学習データを取得する。本実施形態では、予測モデル5は決定木により構成されるため、学習データ取得部211は、訓練データ(入力データ)と教師データ(正解データ)との組み合わせで構成された学習用データセット221を取得する。本実施形態では、予測モデル5は、ワーク40の特徴量61及び製品41を生産する環境の属性値62の入力に対して、指令値の基準値60に対する補正値63を出力するように構成される。そのため、学習用データセット221は、ワークの特徴量2211及び製品を生産する環境の属性値2212と、それに適応した補正値2213との組み合わせにより構成される。 The learning data acquisition unit 211 acquires learning data to be used for machine learning of the prediction model 5. In the present embodiment, since the prediction model 5 is composed of a determination tree, the training data acquisition unit 211 has a training data set 221 composed of a combination of training data (input data) and teacher data (correct answer data). get. In the present embodiment, the prediction model 5 is configured to output a correction value 63 with respect to the reference value 60 of the command value in response to the input of the feature amount 61 of the work 40 and the attribute value 62 of the environment in which the product 41 is produced. NS. Therefore, the learning data set 221 is composed of a combination of the feature amount 2211 of the work, the attribute value 2212 of the environment in which the product is produced, and the correction value 2213 adapted to the attribute value 2212.

学習処理部212は、取得した学習用データセット221を利用した機械学習を行うことにより、学習済みの予測モデル5を構築する。学習処理部212は、特徴量2211及び属性値2212を入力すると、入力した特徴量2211及び属性値2212に関連付けられた補正値2213に対応するクラスの葉ノードに到達するように決定木を構築する。これにより、学習処理部212は、学習済みの予測モデル5を構築することができる。そして、学習処理部212は、構築した学習済みの予測モデル5の構成及び各分岐条件を示す情報を学習結果データ225として記憶部22に格納する。 The learning processing unit 212 builds the trained prediction model 5 by performing machine learning using the acquired learning data set 221. When the feature amount 2211 and the attribute value 2212 are input, the learning processing unit 212 constructs a decision tree so as to reach the leaf node of the class corresponding to the correction value 2213 associated with the input feature amount 2211 and the attribute value 2212. .. As a result, the learning processing unit 212 can build the trained prediction model 5. Then, the learning processing unit 212 stores the information indicating the configuration of the constructed learned prediction model 5 and each branching condition in the storage unit 22 as the learning result data 225.

<その他>
制御装置1及び学習装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、制御装置1及び学習装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、制御装置1及び学習装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
<Others>
Each software module of the control device 1 and the learning device 2 will be described in detail in an operation example described later. In this embodiment, an example in which each software module of the control device 1 and the learning device 2 is realized by a general-purpose CPU is described. However, some or all of the above software modules may be implemented by one or more dedicated processors. Further, with respect to the software configurations of the control device 1 and the learning device 2, software modules may be omitted, replaced, or added as appropriate according to the embodiment.

§3 動作例
[制御装置]
次に、図9を用いて、制御装置1の動作例について説明する。図9は、制御装置1の処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、本発明の「制御方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
§3 Operation example [Control device]
Next, an operation example of the control device 1 will be described with reference to FIG. FIG. 9 is a flowchart illustrating an example of the processing procedure of the control device 1. The processing procedure described below is an example of the "control method" of the present invention. However, the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.

(ステップS100)
ステップS100では、制御部11は、データ取得部111として動作し、予測モデル5に対する入力データを取得する。
(Step S100)
In step S100, the control unit 11 operates as the data acquisition unit 111 to acquire input data for the prediction model 5.

本実施形態では、上記のとおり、予測モデル5は、ワーク40の特徴量61及び製品41を生産する環境の属性値62の入力に対して、製品41の生産に適応した指令値を予測するように構築されている。そのため、制御部11は、予測モデル5に対する入力データとして、ワーク40の特徴量61及び製品41を生産する環境の属性値62を取得する。 In the present embodiment, as described above, the prediction model 5 predicts the command value adapted to the production of the product 41 with respect to the input of the feature amount 61 of the work 40 and the attribute value 62 of the environment in which the product 41 is produced. It is built on. Therefore, the control unit 11 acquires the feature amount 61 of the work 40 and the attribute value 62 of the environment for producing the product 41 as input data for the prediction model 5.

ワーク40の特徴量61は、ワークの何らかの特徴を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、製品41を生産する環境の属性値62は、生産装置3が稼働する環境に関する何らかの属性を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。 The feature amount 61 of the work 40 is not particularly limited as long as it can exhibit some features of the work, and may be appropriately selected depending on the embodiment. Further, the attribute value 62 of the environment in which the product 41 is produced does not have to be particularly limited as long as it can indicate some attribute related to the environment in which the production apparatus 3 operates, and may be appropriately selected depending on the embodiment. ..

本実施形態では、生産装置3は、プレス機である。上記のとおり、生産装置3では、プレス時間が不十分であったり、上側金型32が下死点に到達するまでサーボモータを駆動していなかったりすると、得られる製品41の品質が悪化してしまう。そのため、ワーク40の特徴量61及び製品41を生産する環境の属性値62はそれぞれ、生産装置3におけるプレス成形の工程に関するものであるのが好ましい。 In the present embodiment, the production apparatus 3 is a press machine. As described above, in the production apparatus 3, if the pressing time is insufficient or the servomotor is not driven until the upper die 32 reaches the bottom dead center, the quality of the obtained product 41 deteriorates. It ends up. Therefore, it is preferable that the feature amount 61 of the work 40 and the attribute value 62 of the environment in which the product 41 is produced relate to the press molding process in the production apparatus 3, respectively.

そこで、ワーク40の特徴量61には、例えば、ワーク40の硬さ、寸法、材質、重さ、熱等が選択されてもよい。また、製品41を生産する環境の属性値62には、例えば、生産装置3の周囲の温度、湿度、装置の劣化度合い(例えば、経年数、加工回数等)、振動等が選択されてよい。このとき、ワーク40の特徴量61は、ワーク40の特徴を直接的に示すものであってもよいし、ワーク40の特徴を間接的に示すものであってもよい。すなわち、ワーク40の特徴量61がワーク40の硬さに関するものである場合、ワーク40の特徴量61は、ワーク40の硬さ(硬度)そのものを数値、クラス等で示してもよい。また、ワーク40の特徴量61は、ワーク40の硬さ(硬度)を測定する際に得られた2次的指標(例えば、ワークにかかる荷重、測定の際に作用させたトルク等)を数値、クラス等で示してもよい。属性値62についても同様である。 Therefore, for the feature amount 61 of the work 40, for example, the hardness, dimensions, material, weight, heat, etc. of the work 40 may be selected. Further, for the attribute value 62 of the environment in which the product 41 is produced, for example, the temperature and humidity around the production apparatus 3, 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 may be selected. At this time, the feature amount 61 of the work 40 may directly indicate the features of the work 40 or may indirectly indicate the features of the work 40. That is, when the feature amount 61 of the work 40 relates to the hardness of the work 40, the feature amount 61 of the work 40 may indicate the hardness (hardness) of the work 40 itself by a numerical value, a class, or the like. Further, the feature amount 61 of the work 40 is a numerical value of a secondary index (for example, a load applied to the work, a torque applied at the time of measurement, etc.) obtained when measuring the hardness (hardness) of the work 40. , Class, etc. may be indicated. The same applies to the attribute value 62.

また、ワーク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 feature amount 61 of the work 40 and the attribute value 62 of the environment in which the product 41 is produced may be appropriately selected according to the embodiment. For example, various sensors configured to be able to measure the feature amount 61 (for example, hardness, etc.) of the work 40 and the environmental attribute value 62 (for example, temperature, etc.) may be arranged in the production apparatus 3. As various sensors, known sensors may be appropriately used depending on the types of the feature amount 61 and the attribute value 62 to be measured. In this case, the control unit 11 can acquire the feature amount 61 of the work 40 and the attribute value 62 of the environment for producing the product 41 from various sensors arranged in the production device 3. When the feature amount 61 of the work 40 and the attribute value 62 of the environment for producing the product 41 are acquired, the control unit 11 proceeds to the next step S101.

(ステップS101)
ステップS101では、制御部11は、予測演算部112として動作し、ワーク40から製品41を生産する生産装置3への指令値であって、生産装置3による製品41の生産に適応した指令値を予測するように構築された予測モデル5の演算処理を開始する。
(Step S101)
In step S101, the control unit 11 operates as the prediction calculation unit 112, and is a command value from the work 40 to the production device 3 that produces the product 41, and is a command value adapted to the production of the product 41 by the production device 3. The arithmetic processing of the prediction model 5 constructed to predict is started.

本実施形態では、予測モデル5は決定木により構成されており、予測モデル5の構成及び各経路の分岐条件を示す情報は、学習結果データ225に含まれている。そこで、制御部11は、学習結果データ225を参照することで、予測モデル5の設定を行う。この設定処理によって、制御部11は、決定木(予測モデル5)の探索処理を開始することができる状態になる。これにより、予測モデル5の演算処理を開始すると、制御部11は、次のステップS102に処理を進める。 In the present embodiment, the prediction model 5 is composed of a decision tree, and information indicating the structure of the prediction model 5 and the branching conditions of each route is included in the learning result data 225. Therefore, the control unit 11 sets the prediction model 5 by referring to the learning result data 225. By this setting process, the control unit 11 is in a state where the search process of the decision tree (prediction model 5) can be started. As a result, when the arithmetic processing of the prediction model 5 is started, the control unit 11 proceeds to the next step S102.

(ステップS102)
ステップS102では、制御部11は、予測演算部112として動作し、予測モデル5の演算処理を進行させる。本実施形態では、予測モデル5は決定木により構成されているため、予測モデル5の演算処理は、決定木の根ノードから葉ノードに向けてリンクをたどる探索処理である。そのため、制御部11は、予測モデル5の演算処理として、この決定木の探索処理を進行させる。
(Step S102)
In step S102, the control unit 11 operates as the prediction calculation unit 112 to advance the calculation processing of the prediction model 5. In the present embodiment, since the prediction model 5 is composed of a decision tree, the arithmetic processing of the prediction model 5 is a search process that follows a link from the root node of the decision tree to the leaf node. Therefore, the control unit 11 advances the search process of the decision tree as the arithmetic process of the prediction model 5.

具体的には、探索処理を1度も実行していない場合には、制御部11は、決定木の探索処理として、根ノードに設定された分岐条件を入力データ(特徴量61及び属性値62)が満たすか否かを判定する。そして、この判定結果に基づいて、制御部11は、2段階目の該当ノード(図7Aの例では、中間ノードN1又は中間ノードN2)に探索を進める。 Specifically, when the search process has never been executed, the control unit 11 inputs the branch condition set in the root node as input data (feature amount 61 and attribute value 62) as the search process of the decision tree. ) Satisfies or not. Then, based on this determination result, the control unit 11 proceeds with the search to the corresponding node in the second stage (intermediate node N1 or intermediate node N2 in the example of FIG. 7A).

同様に、探索処理を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 control unit 11 determines whether or not the input data satisfies the branch condition set in the corresponding intermediate node in the n + 1th stage. Then, based on this determination result, the control unit 11 proceeds with the search to the corresponding node in the n + 2nd stage.

このように決定木の探索処理を進行させると、制御部11は、次のステップS103に処理を進める。なお、本ステップS102の1回の処理において、探索処理を進行させる度合は、実施の形態に応じて適宜決定されてよい。探索処理を進行させる度合が深さk(kは、1以上の自然数)である場合には、制御部11は、上記分岐条件の判定処理をk回実行した後、次のステップS103に処理を進める。 When the decision tree search process is advanced in this way, the control unit 11 proceeds to the next step S103. The degree to which the search process proceeds in one process of this step S102 may be appropriately determined according to the embodiment. When the degree to which the search process is advanced is the depth k (k is a natural number of 1 or more), the control unit 11 executes the determination process of the branch condition k times, and then performs the process in the next step S103. Proceed.

(ステップS103)
ステップS103では、制御部11は、残処理時間算出部113として動作し、予測モデル5の演算処理が完了するまでの残処理時間を算出する。残処理時間を算出する方法は、実施の形態に応じて適宜決定されてよい。本実施形態では、制御部11は、演算処理の進捗状態を確認することで、当該演算処理の残処理量を算出し、算出した残処理量に基づいて残処理時間を算出する。具体的には、制御部11は、以下の(式1)の演算によって、残処理時間を算出する。
(Step S103)
In step S103, the control unit 11 operates as the remaining processing time calculation unit 113, and calculates the remaining processing time until the calculation processing of the prediction model 5 is completed. The method of calculating the remaining processing time may be appropriately determined according to the embodiment. In the present embodiment, the control unit 11 calculates the remaining processing amount of the calculation processing by checking the progress state of the calculation processing, and calculates the remaining processing time based on the calculated remaining processing amount. Specifically, the control unit 11 calculates the remaining processing time by the following calculation (Equation 1).

Figure 0006958461
「現在までの処理時間」は、ステップS101により予測モデル5の演算処理を開始してから本ステップS103を実行するまでの時間である。制御部11は、例えば、タイマ(不図示)等により、ステップS101により予測モデル5の演算処理を開始してからの時間を計測することで、現在までの処理時間の値を得ることができる。
Figure 0006958461
The “processing time up to now” is the time from the start of the arithmetic processing of the prediction model 5 in step S101 to the execution of this step S103. The control unit 11 can obtain the value of the processing time up to the present by measuring the time from the start of the arithmetic processing of the prediction model 5 in step S101 by, for example, a timer (not shown) or the like.

「現在までの処理量」は、ステップ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 prediction model 5 in step S101 to the execution of this step S103. For example, the control unit 11 can obtain the value of the processing amount up to the present by measuring the processing amount of the CPU after starting the arithmetic processing of the prediction model 5 in step S101. Further, in the present embodiment, since the prediction model 5 is composed of a decision tree, the control unit 11 can also measure the number of times the branch condition determination process in the decision tree search process is executed, for example. The value of the processing amount up to can be obtained.

「残処理量」は、予測モデル5の演算処理の全体の処理量と現在までの処理量との差分である。制御部11は、予測モデル5の演算処理の全体の処理量から現在までの処理量を差し引くことで、残処理量の値を得ることができる。 The “residual processing amount” is the difference between the total processing amount of the arithmetic processing of the prediction model 5 and the processing amount up to the present. The control unit 11 can obtain a value of the remaining processing amount by subtracting the processing amount up to the present from the total processing amount of the arithmetic processing of the prediction model 5.

予測モデル5の演算処理の全体の処理量は、実施の形態に応じて適宜推定されてよい。全体の処理量は、例えば、予測モデル5の演算処理をシミュレーションした結果、予測モデル5の演算処理を過去に実行した結果(実績値)等に基づいて推定されてよい。この場合、全体の処理量は、シミュレーション又は過去の演算処理の実行時間に応じて推定されてよい。 The total amount of arithmetic processing of the prediction model 5 may be estimated as appropriate according to the embodiment. The total amount of processing may be estimated based on, for example, the result of simulating the arithmetic processing of the prediction model 5, the result of executing the arithmetic processing of the prediction model 5 in the past (actual value), and the like. In this case, the total processing amount may be estimated according to the execution time of the simulation or the past arithmetic processing.

また、本実施形態では、予測モデル5は決定木により構成されている。この場合、予測モデル5の演算処理、すなわち、決定木の探索処理にかかる時間は、当該決定木の深さ(特に、根ノードから葉ノードに到達するまでに経由する中間ノードの数)に依存する。そのため、決定木の深さが固定されていれば、決定木の探索処理の全体の処理量は、決定木の探索処理のアルゴリズムから導出される理論値から変動し難い。そこで、全体の処理量は、例えば、予測モデル5のアルゴリズムから導出される理論値に基づいて推定されてもよい。 Further, in the present embodiment, the prediction model 5 is composed of a decision tree. In this case, the arithmetic processing of the prediction model 5, that is, the time required for the search processing of the decision tree depends on the depth of the decision tree (particularly, the number of intermediate nodes that pass from the root node to the leaf node). do. Therefore, if the depth of the decision tree is fixed, the total processing amount of the decision tree search process is unlikely to fluctuate from the theoretical value derived from the decision tree search algorithm. Therefore, the total amount of processing may be estimated based on, for example, a theoretical value derived from the algorithm of the prediction model 5.

上記各処理量を表現する形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各処理量は、例えば、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 prediction model 5 is 11, and the determination process of the branch condition is completed up to the intermediate node of the second layer (that is, the search reaches the intermediate node of the third layer). It is assumed). When expressing each processing amount by the depth of the decision tree, if the depth of the decision tree is 11, the number of search processes reaching the leaf node is 10, so the value of the total processing amount is "10". Can be expressed as. Further, the value of the processing amount up to now can be expressed as "2". Therefore, the value of the residual processing amount can be expressed as "10-2 = 8". At this time, assuming that the processing time up to now is 0.01 seconds, the control unit 11 calculates the remaining processing time to be 0 by the calculation of "0.01 (seconds) x ((10-2) / 2)". It can be calculated to be .04 (seconds).

なお、残処理時間の表現形式は、予測モデル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 prediction model 5 is completed can be expressed, and may be appropriately selected according to the embodiment. The remaining processing time may be expressed by a time system (seconds) according to the International System of Units, for example, as in the above example. Further, the remaining processing time may be expressed by, for example, the number of clocks of the CPU, the tact time indicating the operation cycle of the production apparatus 3, and the like. After calculating the remaining processing time, the control unit 11 proceeds to the next step S104.

(ステップS104)
ステップS104では、制御部11は、遅延判定部114として動作し、算出した残処理時間に基づいて、予測モデル5から得られる出力に基づく指令値の決定が、生産装置3による生産の動作を制御する制御タイミングに間に合うか否かを判定する。
(Step S104)
In step S104, the control unit 11 operates as the delay determination unit 114, and the determination of the command value based on the output obtained from the prediction model 5 based on the calculated remaining processing time controls the production operation by the production device 3. It is determined whether or not it is in time for the control timing to be performed.

本実施形態では、制御部11は、まず、以下の式2により、制御タイミングまでの残存時間を算出する。 In the present embodiment, the control unit 11 first calculates the remaining time until the control timing by the following equation 2.

Figure 0006958461
「制御予定時刻」は、制御タイミングの時刻であり、予め決定されている。制御部11は、例えば、制御プログラム81等の生産装置3の動作を制御する予定を示す情報から、制御予定時刻の値を取得することができる。また、「現在時刻」は、本ステップS104を実行する時刻である。制御部11は、例えば、タイマ(不図示)等により、現在時刻の値を取得することができる。ただし、残存時間の計算方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜変更されてよい。
Figure 0006958461
The "scheduled control time" is the time of the control timing and is determined in advance. The control unit 11 can acquire the value of the scheduled control time from, for example, the information indicating the schedule for controlling the operation of the production device 3 such as the control program 81. The "current time" is the time when the step S104 is executed. The control unit 11 can acquire the value of the current time by, for example, a timer (not shown) or the like. However, the method of calculating the remaining time does not have to be limited to such an example, and may be appropriately changed depending on the embodiment.

次に、制御部11は、算出した残存時間から残処理時間を差し引くことで差分を算出する。この差分は、予測モデル5の演算処理が完了してから制御タイミングまでの推定の空き時間を示す。つまり、この差分が負の値である場合には、予測モデル5の演算処理が制御タイミングよりも遅い時間に完了すると推定されることを示す。 Next, the control unit 11 calculates the difference by subtracting the remaining processing time from the calculated remaining time. This difference indicates the estimated free time from the completion of the arithmetic processing of the prediction model 5 to the control timing. That is, when this difference is a negative value, it is estimated that the arithmetic processing of the prediction model 5 is completed at a time later than the control timing.

そこで、制御部11は、残存時間から残処理時間を差し引くことで得られた差分が所定の閾値を超えるか否かを判定する。そして、得られた差分が所定の閾値を超える場合、制御部11は、指令値の決定が制御タイミングに間に合うと判定する。一方、得られた差分が所定の閾値以下である場合、制御部11は、指令値の決定が制御タイミングに間に合わないと判定する。 Therefore, the control unit 11 determines whether or not the difference obtained by subtracting the remaining processing time from the remaining time exceeds a predetermined threshold value. Then, when the obtained difference exceeds a predetermined threshold value, the control unit 11 determines that the determination of the command value is in time for the control timing. On the other hand, when the obtained difference is equal to or less than a predetermined threshold value, the control unit 11 determines that the command value is not determined in time for the control timing.

この所定の閾値は、適宜設定されてよい。所定の閾値は、指令値の決定が制御タイミングに間に合うと判定するための基準となる。また、所定の閾値は、予測モデル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 prediction model 5 is completed in a state where there is a time margin with respect to the control timing. That is, the predetermined threshold value may correspond to the grace (margin) time from the completion of the arithmetic processing of the prediction model 5 to the control of the operation of the production apparatus 3. Therefore, the control unit 11 determines whether or not the arithmetic processing of the prediction model 5 is completed in a state where there is a time margin with respect to the control timing as a determination as to whether or not the determination of the command value is in time for the control timing. You may.

以上により、制御部11は、指令値の決定が制御タイミングに間に合うか否かを判定することができる。指令値の決定が制御タイミングに間に合うと判定した場合、制御部11は、ステップS107に処理を進める。一方、指令値の決定が制御タイミングに間に合わないと判定した場合、制御部11は、ステップS105に処理を進める。ただし、指令値の決定が制御タイミングに間に合うか否かを判定する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜変更されてよい。 From the above, the control unit 11 can determine whether or not the determination of the command value is in time for the control timing. When it is determined that the command value is determined in time for the control timing, the control unit 11 proceeds to step S107. On the other hand, when it is determined that the determination of the command value is not in time for the control timing, the control unit 11 proceeds to the process in step S105. However, the method of determining whether or not the determination of the command value is in time for the control timing is not limited to such an example, and may be appropriately changed depending on the embodiment.

なお、残存時間の表現形式は、残処理時間と同様に、制御タイミングを表現可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。残存時間は、例えば、国際単位系に従う時刻系(秒)、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 production apparatus 3, and the like.

(ステップS105)
ステップS105では、制御部11は、加速処理部115として動作し、予測モデル5の演算処理の加速が可能か否かを判定する。
(Step S105)
In step S105, the control unit 11 operates as the acceleration processing unit 115, and determines whether or not the arithmetic processing of the prediction model 5 can be accelerated.

後述するステップS106では、例えば、予測モデル5の演算処理に対するハードウェアの演算資源を優先的に割り当てることで、予測モデル5の演算処理を加速する。そのため、本実施形態では、制御部11は、予測モデル5の演算処理に対して優先的に割り当てる演算資源の余地があるか否かを判定することで、予測モデル5の演算処理の加速が可能か否かを判定してもよい。 In step S106, which will be described later, for example, the computational processing of the prediction model 5 is accelerated by preferentially allocating the computational resources of the hardware to the arithmetic processing of the prediction model 5. Therefore, in the present embodiment, the control unit 11 can accelerate the arithmetic processing of the prediction model 5 by determining whether or not there is room for the computational resources to be preferentially allocated to the arithmetic processing of the prediction model 5. It may be determined whether or not.

予測モデル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 prediction model 5 and the arithmetic processing of the prediction model 5 can be accelerated, the control unit 11 performs the processing in step S106. Proceed. On the other hand, when it is determined that there is no room for preferentially allocating computational resources to the arithmetic processing of the prediction model 5 and it is not possible to accelerate the arithmetic processing of the prediction model 5, the control unit 11 performs the operation unit 11 in step S111. Proceed with processing. However, the method for determining whether or not the arithmetic processing of the prediction model 5 is possible is not limited to such an example, and may be appropriately changed depending on the embodiment.

(ステップS106)
ステップS106では、制御部11は、加速処理部115として動作し、予測モデル5の演算処理を加速する。制御部11は、例えば、予測モデル5の演算処理に対するハードウェアの演算資源を優先的に割り当てることで、予測モデル5の演算処理を加速することができる。演算資源は、例えば、CPU、メモリ等である。
(Step S106)
In step S106, the control unit 11 operates as the acceleration processing unit 115 to accelerate the arithmetic processing of the prediction model 5. The control unit 11 can accelerate the arithmetic processing of the prediction model 5, for example, by preferentially allocating the computational resources of the hardware to the arithmetic processing of the prediction model 5. Computational resources are, for example, a CPU, a memory, and the like.

ここで、図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 prediction model 5 will be described with reference to FIGS. 10 and 11. FIG. 10 schematically illustrates an example of allocation data 121 showing the status of task allocation to the CPU. FIG. 11 schematically illustrates an example of scheduling in which the CPU executes a task with respect to the assignment of the task shown in FIG.

ハードウェアプロセッサである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 control unit 11 can accelerate the arithmetic processing of the prediction model 5 by, for example, the following four methods.

(1)第1の方法
まず、図12Aを用いて、予測モデル5の演算処理を加速する第1の方法について説明する。図12Aは、予測モデル5の演算処理を加速する第1の方法を模式的に例示する。
(1) First Method First, a first method for accelerating the arithmetic processing of the prediction model 5 will be described with reference to FIG. 12A. FIG. 12A schematically illustrates a first method of accelerating the arithmetic processing of the prediction model 5.

第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 prediction model 5. In this state, the control unit 11 accelerates the arithmetic processing of the prediction model 5 by increasing the utilization rate of the assigned core with respect to the arithmetic processing of the prediction model 5.

図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 control unit 11 refers to the allocation data 121 and confirms whether or not there is a free area in the core 01 allocated to the task Z. If there is no free area in the core 01, the control unit 11 determines that it is impossible to accelerate the arithmetic processing by this first method. On the other hand, when there is a free area in the core 01, the control unit 11 determines that the arithmetic processing by the first method can be accelerated, and at least a part of the free area is assigned to the task Z. Further allocation increases the utilization rate of core 01 for task Z. The amount of free space allocated to task Z may be appropriately set according to the embodiment. As a result, the computational resources allocated to the arithmetic processing of the prediction model 5 can be increased, so that the control unit 11 can accelerate the arithmetic processing of the prediction model 5 (that is, increase the execution amount of the task Z). can.

(2)第2の方法
次に、図12Bを用いて、予測モデル5の演算処理を加速する第2の方法について説明する。図12Bは、予測モデル5の演算処理を加速する第2の方法を模式的に例示する。
(2) Second Method Next, a second method for accelerating the arithmetic processing of the prediction model 5 will be described with reference to FIG. 12B. FIG. 12B schematically illustrates a second method of accelerating the arithmetic processing of the prediction model 5.

第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 prediction model 5. In this state, the control unit 11 accelerates the arithmetic processing of the prediction model 5 by increasing the priority of the arithmetic processing of the prediction model 5 in the assigned core.

図12Bの例では、予測モデル5の演算処理(タスクZ)は、コア01に割り当てられている。コア01には、タスクZの他に、その他のタスクが割り当てられている。この場合、制御部11は、割当データ121を参照し、各タスクの優先度を確認する。そして、制御部11は、タスクZの優先度をその他のタスクよりも高めることができるか否かを確認する。 In the example of FIG. 12B, the arithmetic processing (task Z) of the prediction model 5 is assigned to the core 01. In addition to task Z, other tasks are assigned to core 01. In this case, the control unit 11 refers to the allocation data 121 and confirms the priority of each task. Then, the control unit 11 confirms whether or not the priority of the task Z can be higher than that of the other tasks.

タスク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 control unit 11 determines that it is impossible to accelerate the arithmetic processing by this second method.

一方、タスク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 control unit 11 determines that it is possible to accelerate the arithmetic processing by this second method, and determines that the priority of task Z is high. Is higher than other tasks. In the example of FIG. 12B, the priority of task Z is "low" and the priority of other tasks is "medium" in the state before acceleration. That is, the priority of task Z is set lower than the priority of other tasks. Therefore, the control unit 11 may change the priority of the task Z so as to be higher than the priority of the other tasks.

図12Bの例では、制御部11は、他のタスクの優先度を変更せず、タスクZの優先度を「低」から「高」に変更することで、タスクZの優先度を他のタスクの優先度よりも高くしている。ただし、タスクZの優先度を高める方法は、このような例に限定されなくてもよい。制御部11は、タスクZの優先度を変更すると共に又はタスクZの優先度を変更せずに、他のタスクの優先度を低くなるように変更してもよい。これらの方法によって、制御部11は、タスクZの優先度を他のタスクよりも相対的に高くすることができる。これにより、予測モデル5の演算処理を優先させることができるため、制御部11は、予測モデル5の演算処理を加速することができる。 In the example of FIG. 12B, the control unit 11 does not change the priority of the other task, but changes the priority of the task Z from "low" to "high", thereby changing the priority of the task Z to the other task. It is higher than the priority of. However, the method of increasing the priority of task Z does not have to be limited to such an example. The control unit 11 may change the priority of the task Z and may change the priority of the other tasks to be lower without changing the priority of the task Z. By these methods, the control unit 11 can give the priority of the task Z relatively higher than that of other tasks. As a result, the arithmetic processing of the prediction model 5 can be prioritized, so that the control unit 11 can accelerate the arithmetic processing of the prediction model 5.

(3)第3の方法
次に、図12Cを用いて、予測モデル5の演算処理を加速する第3の方法について説明する。図12Cは予測モデル5の演算処理を加速する第3の方法を模式的に例示する。
(3) Third Method Next, a third method for accelerating the arithmetic processing of the prediction model 5 will be described with reference to FIG. 12C. FIG. 12C schematically illustrates a third method of accelerating the arithmetic processing of the prediction model 5.

第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 prediction model 5. On the other hand, before the acceleration processing in step S106, it is assumed that there is a second core among the plurality of cores, which is not assigned to the arithmetic processing of the prediction model 5. There is. In the example of FIG. 12C, the core 01 is an example of the first core, and the core 02 is an example of the second core.

この状態で、制御部11は、予測モデル5の演算処理に割り当てられていなかった第2のコアを、予測モデル5の演算処理に更に割り当てることによって、当該予測モデル5の演算処理を加速する。すなわち、制御部11は、予測モデル5の演算処理に割り当てるコアの数を増やすことで、当該予測モデル5の演算処理を加速する。なお、第1のコア及び第2のコアの数はそれぞれ、1つであってもよいし、複数であってもよい。 In this state, the control unit 11 accelerates the arithmetic processing of the prediction model 5 by further allocating the second core that was not assigned to the arithmetic processing of the prediction model 5 to the arithmetic processing of the prediction model 5. That is, the control unit 11 accelerates the arithmetic processing of the prediction model 5 by increasing the number of cores assigned to the arithmetic processing of the prediction model 5. The number of the first core and the number of the second core may be one or plural.

図12Cの例では、予測モデル5の演算処理(タスクZ)は、コア01に割り当てられている。一方、コア02には、予測モデル5の演算処理が割り当てられておらず、他のタスクが割り当てられている。このコア02には、空き領域が存在している。制御部11は、割当データ121を参照し、タスクZが割り当てられておらず、かつ空き領域が存在する第2のコアが存在するか否かを確認する。 In the example of FIG. 12C, the arithmetic processing (task Z) of the prediction model 5 is assigned to the core 01. On the other hand, the arithmetic processing of the prediction model 5 is not assigned to the core 02, and other tasks are assigned. There is a free area in the core 02. The control unit 11 refers to the allocation data 121 and confirms whether or not there is a second core in which the task Z is not allocated and the free area exists.

そのような第2のコアが存在しない場合には、制御部11は、この第3の方法による演算処理の加速は不可能であると判定する。一方、第2のコアが存在する場合には、制御部11は、この第3の方法による演算処理の加速は可能であると判定し、第2のコアの空き領域のうちの少なくとも一部の領域をタスクZに割り当てる。タスクZに割り当てる空き領域の量は、実施の形態に応じて適宜決定されてよい。これにより、予測モデル5の演算処理に割り当てる演算資源を増加させることができるため、制御部11は、予測モデル5の演算処理を加速することができる。 If such a second core does not exist, the control unit 11 determines that it is impossible to accelerate the arithmetic processing by this third method. On the other hand, when the second core exists, the control unit 11 determines that the arithmetic processing by the third method can be accelerated, and at least a part of the free area of the second core. Allocate space to task Z. The amount of free space allocated to task Z may be appropriately determined according to the embodiment. As a result, the computational resources allocated to the arithmetic processing of the prediction model 5 can be increased, so that the control unit 11 can accelerate the arithmetic processing of the prediction model 5.

(4)第4の方法
次に、図12Dを用いて、予測モデル5の演算処理を加速する第4の方法について説明する。図12Dは、予測モデル5の演算処理を加速する第4の方法を模式的に例示する。
(4) Fourth Method Next, a fourth method for accelerating the arithmetic processing of the prediction model 5 will be described with reference to FIG. 12D. FIG. 12D schematically illustrates a fourth method of accelerating the arithmetic processing of the prediction model 5.

第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 prediction model 5. On the other hand, before the acceleration processing of this step S106, the plurality of cores are the fourth cores that are not assigned to the arithmetic processing of the prediction model 5, and are allocated to the arithmetic processing in the third core. It is assumed to contain a fourth core with more free space than the rate. In the example of FIG. 12D, the core 01 is an example of the third core, and the core 02 is an example of the fourth core.

この状態で、制御部11は、予測モデル5の演算処理に対する割り当てを第3のコアから第4のコアに置き換えて、第3のコアにおいて演算処理に割り振られていた利用率よりも大きな利用率を第4のコアにおいて演算処理に割り振ることで、当該予測モデル5の演算処理を加速する。すなわち、制御部11は、タスクZを割り振っていた元のコアからタスクZにより大きな利用率を割り振ることのできる新たなコアにタスクZに対して割り当てるコアを変更することで、予測モデル5の演算処理を加速する。なお、第3のコア及び第4のコアの数はそれぞれ、1つであってもよいし、複数であってもよい。 In this state, the control unit 11 replaces the allocation for the arithmetic processing of the prediction model 5 from the third core to the fourth core, and the utilization rate is larger than the utilization rate allocated for the arithmetic processing in the third core. Is allocated to the arithmetic processing in the fourth core, thereby accelerating the arithmetic processing of the prediction model 5. That is, the control unit 11 calculates the prediction model 5 by changing the core assigned to the task Z from the original core to which the task Z is assigned to a new core capable of allocating a larger utilization rate to the task Z. Accelerate processing. The number of the third core and the number of the fourth core may be one or a plurality, respectively.

図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 prediction model 5 is assigned to the core 01. On the other hand, the arithmetic processing of the prediction model 5 is not assigned to the core 02, and other tasks are assigned. The core 02 has a free area (“unused” area in the figure) that is larger than the utilization rate allocated to the task Z in the core 01. The control unit 11 refers to the allocation data 121 and confirms whether or not there is a fourth core in which the task Z is not allocated and there is a free area larger than the utilization rate of the task Z in the core 01. do.

そのような第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 control unit 11 determines that it is impossible to accelerate the arithmetic processing by this fourth method. On the other hand, when the fourth core is present, the control unit 11 determines that it is possible to accelerate the arithmetic processing by this fourth method. Then, the control unit 11 allocates at least a part of the free area of the fourth core to the task Z, which is larger than the utilization rate allocated to the task Z in the core 01. At this time, as shown in FIG. 12D, the control unit 11 may delete the assignment of task Z in the core 01 (third core). As a result, the computational resources allocated to the arithmetic processing of the prediction model 5 can be increased, so that the control unit 11 can accelerate the arithmetic processing of the prediction model 5.

なお、図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 control unit 11 may adopt the fourth method when there is no room for adopting the first method in the third core as described above. On the other hand, if there is room for increasing the utilization rate of the task Z in the third core, the control unit 11 may adopt the first method.

(5)その他
上記第1〜第4の方法のうちの少なくともいずれかを採用することで、制御部11は、予測モデル5の演算処理を加速することができる。上記第1〜第4の方法のうちの少なくともいずれかにより予測モデル5の演算処理を加速すると、制御部11は、次のステップS107に処理を進める。
(5) Others By adopting at least one of the first to fourth methods, the control unit 11 can accelerate the arithmetic processing of the prediction model 5. When the arithmetic processing of the prediction model 5 is accelerated by at least one of the first to fourth methods, the control unit 11 proceeds to the next step S107.

ただし、予測モデル5の演算処理を加速する方法は、これらの例に限定されなくてもよい。例えば、制御装置1の仮想メモリが、キャッシュメモリ(不図示)、制御部11のRAM、記憶部12により構成されていると想定する。加えて、キャッシュメモリ、制御部11のRAM、及び記憶部12の順にCPUに近いと想定する。この場合、制御部11は、予測モデル5の演算処理に割り当てる仮想メモリにおいてCPUにより近いメモリの比重が高くなるようにメモリの割り当てを制御してもよい。これにより、制御部11は、演算処理に利用するデータへのアクセス速度を高めることができるため、当該予測モデル5の演算処理を加速することができる。 However, the method of accelerating the arithmetic processing of the prediction model 5 does not have to be limited to these examples. For example, it is assumed that the virtual memory of the control device 1 is composed of a cache memory (not shown), a RAM of the control unit 11, and a storage unit 12. In addition, it is assumed that the cache memory, the RAM of the control unit 11, and the storage unit 12 are closer to the CPU in this order. In this case, the control unit 11 may control the allocation of the memory so that the specific weight of the memory closer to the CPU is higher in the virtual memory allocated to the arithmetic processing of the prediction model 5. As a result, the control unit 11 can increase the access speed to the data used for the arithmetic processing, so that the arithmetic processing of the prediction model 5 can be accelerated.

なお、上記ステップS105では、第1〜第4の方法のいずれも採用できない場合に、制御部11は、予測モデル5の演算処理の加速が可能ではないと判定してもよい。一方、第1〜第4の方法のうちの少なくともいずれかの方法が採用できる場合、制御部11は、予測モデル5の演算処理の加速が可能であると判定してもよい。 In step S105, if none of the first to fourth methods can be adopted, the control unit 11 may determine that the arithmetic processing of the prediction model 5 cannot be accelerated. On the other hand, if at least one of the first to fourth methods can be adopted, the control unit 11 may determine that the arithmetic processing of the prediction model 5 can be accelerated.

(ステップS107)
図9に戻り、ステップS107では、制御部11は、予測演算部112として動作し、予測モデル5の演算処理が完了したか否かを判定する。予測モデル5の演算処理が完了したか否かを判定する方法は、予測モデル5に採用するモデルの種別に応じて適宜決定されてよい。
(Step S107)
Returning to FIG. 9, in step S107, the control unit 11 operates as the prediction calculation unit 112, and determines whether or not the calculation processing of the prediction model 5 is completed. The method of determining whether or not the arithmetic processing of the prediction model 5 is completed may be appropriately determined according to the type of the model adopted in the prediction model 5.

本実施形態では、予測モデル5は決定木により構成されているため、制御部11は、上記ステップS102における探索処理が決定木のいずれかの葉ノードまで到達したか否かを判定する。探索処理がいずれかの葉ノードまで到達している場合には、制御部11は、予測モデル5の演算処理が完了したと判定し、次のステップS108に処理を進める。一方、探索処理がいずれの葉ノードまで到達していない場合、すなわち、探索処理が中間ノードまでしか進行していない場合には、制御部11は、予測モデル5の演算処理は完了していないと判定し、ステップS102から処理を繰り返す。 In the present embodiment, since the prediction model 5 is composed of a decision tree, the control unit 11 determines whether or not the search process in step S102 has reached any leaf node of the decision tree. When the search process has reached any of the leaf nodes, the control unit 11 determines that the arithmetic process of the prediction model 5 has been completed, and proceeds to the next step S108. On the other hand, when the search process has not reached any leaf node, that is, when the search process has progressed only to the intermediate node, the control unit 11 states that the arithmetic processing of the prediction model 5 has not been completed. The determination is made, and the process is repeated from step S102.

ステップ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 control unit 11 completes the arithmetic processing of the prediction model 5 by repeating the series of processes of steps S102 to S104 and S107. Continue until you do. As a result, the control unit 11 can acquire the output value from the prediction model 5 as the final result of the arithmetic processing. In the present embodiment, when the search process of the decision tree is completed, the control unit 11 can acquire the value associated with the leaf node reached in the search process as the final result.

また、ステップS106により予測モデル5の演算処理を加速した後、予測モデル5の演算処理が完了していないと判定される場合、制御部11は、ステップS102〜S104を再度実行する。ステップS106による加速が十分である場合には、再度実行したステップS104において、指令値の決定が制御タイミングに間に合うと判定されるようになる。これにより、制御部11は、予測モデル5の演算処理を完了するまで継続することができるようになる。 Further, after accelerating the arithmetic processing of the prediction model 5 in step S106, if it is determined that the arithmetic processing of the prediction model 5 is not completed, the control unit 11 executes steps S102 to S104 again. When the acceleration in step S106 is sufficient, it is determined in step S104 that the command value is determined in time for the control timing. As a result, the control unit 11 can continue until the arithmetic processing of the prediction model 5 is completed.

一方、ステップ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 control unit 11 executes step S106 until it is determined that the command value is determined in time for the control timing. It is possible to accelerate the arithmetic processing of. Then, by sufficiently accelerating the arithmetic processing of the prediction model 5, the control unit 11 can complete the arithmetic processing of the prediction model 5 so that the determination of the command value is in time for the control timing.

これに対して、ステップ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 prediction model 5 cannot be accelerated, the control unit. 11 proceeds to step S111 as described above. When it is determined again in step S104 executed after step S106 that the determination of the command value is not in time for the control timing, and in the subsequent step S105, it is determined that the arithmetic processing of the prediction model 5 cannot be accelerated. Is the same. As a result, the control unit 11 omits a series of processes from step S107 to step S109 described later, stops the arithmetic processing of the prediction model 5 as described later, and controls the operation of the production apparatus 3 by a method other than the prediction control. do.

(ステップS108)
ステップS108では、制御部11は、動作制御部116として動作し、予測モデル5から取得した出力に基づいて、生産装置3への指令値を決定する。指令値を決定する方法は、予測モデル5の出力の形式に応じて適宜決定されてよい。
(Step S108)
In step S108, the control unit 11 operates as the operation control unit 116, and determines the command value to the production device 3 based on the output acquired from the prediction model 5. The method of determining the command value may be appropriately determined according to the output format of the prediction model 5.

本実施形態では、上記のとおり、予測モデル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 prediction model 5 has a reference value 60 of the command value as an output value corresponding to the prediction result of the command value adapted to the production of the product 41. The correction value 63 for is associated with. Therefore, when the search process of the decision tree is completed, the control unit 11 can acquire the correction value 63 associated with the reached leaf node as the output from the prediction model 5. Therefore, the control unit 11 can determine the command value to the production device 3 by correcting the reference value 60 with the acquired correction value 63. When the command value is determined, the control unit 11 proceeds to the next step S109.

(ステップS109)
ステップS109では、制御部11は、動作制御部116として動作し、決定した指令値に基づいて、生産装置3の動作を制御する。指令値に基づいて生産装置3の動作を制御する方法は、指令値の形式に応じて適宜選択されてよい。
(Step S109)
In step S109, the control unit 11 operates as the operation control unit 116, and controls the operation of the production device 3 based on the determined command value. The method of controlling the operation of the production apparatus 3 based on the command value may be appropriately selected according to the format of the command value.

本実施形態では、生産装置3は、プレス機であり、上側金型32を駆動するサーボドライバ31を備えている。そのため、指令値は、サーボモータの駆動量を規定したパルス数を示してもよい。この場合、制御部11は、外部インタフェース14を介して、生産装置3のサーボドライバ31に対して指令値を送信する。サーボドライバ31は、制御装置1から受信した指令値に基づいてサーボモータを駆動する。これにより、制御部11は、決定した指令値に基づいて、生産装置3の動作を制御することができる。生産装置3の動作を制御すると、制御部11は、本動作例に係る処理を終了する。 In the present embodiment, the production apparatus 3 is a press machine and includes a servo driver 31 that drives the upper die 32. Therefore, the command value may indicate the number of pulses that defines the driving amount of the servomotor. In this case, the control unit 11 transmits a command value to the servo driver 31 of the production device 3 via the external interface 14. The servo driver 31 drives the servomotor based on the command value received from the control device 1. As a result, the control unit 11 can control the operation of the production device 3 based on the determined command value. When the operation of the production device 3 is controlled, the control unit 11 ends the process related to this operation example.

なお、指令値の形式は、このような例に限定されなくてもよい。指令値は、例えば、サーボモータの駆動量、上側金型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 upper mold 32. In this case, the control unit 11 may transmit the command value expressed by the intermediate index as it is to the production apparatus 3, or convert the command value expressed by the intermediate index into a directly usable format such as the number of pulses. Then, the changed command value may be transmitted to the production apparatus 3.

(ステップ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 prediction model 5 cannot be accelerated. That is, step S111 is executed when the arithmetic processing of the prediction model 5 cannot be accelerated so that the determination of the command value is in time for the control timing. In this step S111, the control unit 11 operates as the prediction calculation unit 112 and stops the calculation processing of the prediction model 5. When the arithmetic processing of the prediction model 5 is stopped, the control unit 11 proceeds to the next step S112.

(ステップS112)
ステップS112では、制御部11は、動作制御部116として動作し、予め与えられた設定値を指令値に指定する。
(Step S112)
In step S112, the control unit 11 operates as the operation control unit 116, and designates a set value given in advance as a command value.

予め与えられた設定値は、実施の形態に応じて適宜決定されてよい。予め与えられた設定値は、例えば、指令値の基準値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 production device 3 according to this operation example are repeatedly executed, the past command value may be, for example, the previous value when the operation of the production device 3 is controlled immediately before. good.

この前回値は、ステップS100で取得された入力データを問わずに、生産装置3の動作を直前に制御した際の指令値であってもよい。この場合、制御部11は、直前と今回と2回続けて同じ指令値を指定することになる。 This previous value may be a command value when the operation of the production apparatus 3 is controlled immediately before, regardless of the input data acquired in step S100. In this case, the control unit 11 specifies the same command value twice in succession, immediately before and this time.

また、前回値は、ステップS100で取得された入力データが同一又は近似するケースにおいて、生産装置3の動作を直前に制御した際の指令値であってもよい。なお、制御部11は、過去の制御した際の入力データと今回取得された入力データとの差分が閾値以下であるか否かを判定することにより、今回のケースと過去のケースとにおいて入力データが近似するか否かを判定することができる。 Further, the previous value may be a command value when the operation of the production apparatus 3 is controlled immediately before in the case where the input data acquired in step S100 is the same or similar. The control unit 11 determines whether or not the difference between the input data at the time of past control and the input data acquired this time is equal to or less than the threshold value, so that the input data in this case and the past case Can be determined whether or not they are similar.

この予め与えられた設定値は、記憶部12、制御部11のRAM等に保持されてよい。制御部11は、記憶部12、RAM等に保持された設定値を参照することで、生産装置3への指令値を指定することができる。指令値を指定すると、制御部11は、次のステップS113に処理を進める。 The preset value given in advance may be held in the RAM of the storage unit 12, the control unit 11, or the like. The control unit 11 can specify the command value to the production device 3 by referring to the set value held in the storage unit 12, the RAM, or the like. When the command value is specified, the control unit 11 proceeds to the next step S113.

(ステップS113)
ステップS113では、制御部11は、動作制御部116として動作し、指定した指令値に基づいて、生産装置3の動作を制御する。本ステップS113は、上記ステップS109と同様である。生産装置3の動作を制御すると、制御部11は、本動作例に係る処理を終了する。
(Step S113)
In step S113, the control unit 11 operates as the operation control unit 116 and controls the operation of the production device 3 based on the designated command value. This step S113 is the same as the above step S109. When the operation of the production device 3 is controlled, the control unit 11 ends the process related to this operation example.

(終了後)
以上により、制御部11は、本動作例に係る生産装置3の動作を制御する一連の処理を終了する。制御部11は、この一連の処理を繰り返し実行することで、生産装置3の動作を継続的に制御することができる。
(After the end)
As described above, the control unit 11 ends a series of processes for controlling the operation of the production apparatus 3 according to this operation example. The control unit 11 can continuously control the operation of the production device 3 by repeatedly executing this series of processes.

[学習装置]
次に、図13を用いて、学習装置2の動作例について説明する。図13は、学習装置2の処理手順の一例を例示するフローチャートである。なお、以下で説明する予測モデル5の機械学習に関する処理手順は、コンピュータによる学習方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[Learning device]
Next, an operation example of the learning device 2 will be described with reference to FIG. FIG. 13 is a flowchart illustrating an example of the processing procedure of the learning device 2. The processing procedure related to machine learning of the prediction model 5 described below is an example of a learning method by a computer. However, the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.

(ステップS201)
ステップS201では、制御部21は、学習データ取得部211として動作し、予測モデル5の機械学習に利用する学習データを取得する。学習用データの形式は、予測モデル5の種別に応じて適宜決定されてよい。
(Step S201)
In step S201, the control unit 21 operates as the learning data acquisition unit 211 to acquire the learning data used for machine learning of the prediction model 5. The format of the training data may be appropriately determined according to the type of the prediction model 5.

本実施形態では、予測モデル5は、決定木により構成される。更に、決定木は、ワーク40の特徴量61及び製品41を生産する環境の属性値62の入力に対して、指令値の基準値60に対する補正値63を出力するように構築される。そのため、制御部21は、ワークの特徴量2211及び製品を生産する環境の属性値2212と、それに適応した補正値2213との組み合わせにより構成される学習用データセット221を取得する。 In this embodiment, the prediction model 5 is composed of a decision tree. Further, the decision tree is constructed so as to output a correction value 63 with respect to the reference value 60 of the command value in response to the input of the feature amount 61 of the work 40 and the attribute value 62 of the environment in which the product 41 is produced. Therefore, the control unit 21 acquires a learning data set 221 composed of a combination of the feature amount 2211 of the work, the attribute value 2212 of the environment in which the product is produced, and the correction value 2213 adapted to the attribute value 2212.

この学習用データセット221は、実施の形態に応じて適宜生成されてよい。例えば、ワークの特徴量2211及び製品を生産する環境の属性値2212を様々な条件で取得する。特徴量2211及び属性値2212の取得には、公知のセンサが用いられてよい。例えば、属性値2212として温度を取得する場合には、温度センサが用いられてよい。そして、得られた特徴量2211及び属性値2212に対して、この条件において適切な指令値を得るための補正値2213を組み合わせる。これにより、学習用データセット221を生成することができる。 The learning data set 221 may be appropriately generated according to the embodiment. For example, the feature amount 2211 of the work and the attribute value 2212 of the environment in which the product is produced are acquired under various conditions. A known sensor may be used to acquire the feature amount 2211 and the attribute value 2212. For example, when acquiring the temperature as the attribute value 2212, a temperature sensor may be used. Then, the obtained feature amount 2211 and the attribute value 2212 are combined with the correction value 2213 for obtaining an appropriate command value under this condition. As a result, the training data set 221 can be generated.

この学習用データセット221の生成は、学習装置2により行われてもよい。この場合、制御部21は、オペレータによる入力装置24の操作に応じて、学習用データセット221を生成してもよい。また、制御部21は、学習プログラム82の処理により、学習用データセット221を自動的に生成してもよい。この生成処理を実行することで、本ステップS201では、制御部21は、学習用データセット221を取得することができる。 The generation of the learning data set 221 may be performed by the learning device 2. In this case, the control unit 21 may generate the learning data set 221 according to the operation of the input device 24 by the operator. Further, the control unit 21 may automatically generate the learning data set 221 by the processing of the learning program 82. By executing this generation process, in this step S201, the control unit 21 can acquire the learning data set 221.

また、学習用データセット221の生成は、学習装置2以外の他の情報処理装置により行われてもよい。他の情報処理装置では、学習用データセット221は、オペレータにより手動で生成されてもよいし、プログラムの処理により自動的に生成されてもよい。この場合、本ステップS201では、制御部21は、ネットワーク、記憶媒体92等を介して、他の情報処理装置により生成された学習用データセット221を取得することができる。 Further, the learning data set 221 may be generated by an information processing device other than the learning device 2. In other information processing devices, the learning data set 221 may be manually generated by the operator or automatically generated by the processing of the program. In this case, in this step S201, the control unit 21 can acquire the learning data set 221 generated by another information processing device via the network, the storage medium 92, or the like.

本ステップS201で取得する学習用データセット221の件数は、実施の形態に応じて適宜決定されてよく、例えば、決定木の機械学習を実施可能な程度に適宜決定されてよい。これにより、学習用データセット221を取得すると、制御部21は、次のステップS202に処理を進める。 The number of learning data sets 221 acquired in this step S201 may be appropriately determined according to the embodiment, and may be appropriately determined to the extent that machine learning of the decision tree can be performed, for example. As a result, when the learning data set 221 is acquired, the control unit 21 proceeds to the next step S202.

(ステップS202)
ステップS202では、制御部21は、学習処理部212として動作し、取得した学習用データセット221を利用した機械学習を行うことにより、学習済みの予測モデル5を構築する。
(Step S202)
In step S202, the control unit 21 operates as the learning processing unit 212 and constructs the trained prediction model 5 by performing machine learning using the acquired learning data set 221.

本実施形態では、制御部21は、特徴量2211及び属性値2212を入力すると、入力した特徴量2211及び属性値2212に関連付けられた補正値2213に対応するクラスの葉ノードに到達する探索が可能な決定木を構築する。この決定木の学習方法には、CLS(Concept Learning System)、ID3(Iterative Dichotomiser 3)、C4.5等が用いられてもよい。これにより、制御部21は、学習済みの予測モデル5を構築することができる。 In the present embodiment, when the feature amount 2211 and the attribute value 2212 are input, the control unit 21 can search to reach the leaf node of the class corresponding to the correction value 2213 associated with the input feature amount 2211 and the attribute value 2212. Build a decision tree. As a learning method of this decision tree, CLS (Concept Learning System), ID3 (Iterative Dichotomiser 3), C4.5 or the like may be used. As a result, the control unit 21 can build the trained prediction model 5.

(ステップS203)
ステップS203では、制御部21は、学習処理部212として動作して、機械学習により構築した決定木(学習済みの予測モデル5)の構成及び各分岐条件を示す情報を学習結果データ225として記憶部22に格納する。これにより、制御部21は、本動作例に係る予測モデル5の学習処理を終了する。
(Step S203)
In step S203, the control unit 21 operates as a learning processing unit 212 and stores information indicating the configuration of the decision tree (learned prediction model 5) constructed by machine learning and each branching condition as learning result data 225. Store in 22. As a result, the control unit 21 ends the learning process of the prediction model 5 according to this operation example.

なお、制御部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 control unit 21 may transfer the created learning result data 225 to the control device 1 after the process of step S203 is completed. Further, the control unit 21 may periodically update the learning result data 225 by periodically executing the learning processes of steps S201 to S203. Then, the control unit 21 may periodically update the learning result data 225 held by the control device 1 by transferring the created learning result data 225 to the control device 1 each time the learning process is executed. Further, for example, the control unit 21 may store the created learning result data 225 in a data server such as NAS (Network Attached Storage). In this case, the control device 1 may acquire the learning result data 225 from this data server. Further, the learning result data 225 created by the learning device 2 may be incorporated in the control device 1 in advance.

[特徴]
以上のとおり、本実施形態では、予測モデル5を利用して生産装置3への指令値を予測する際に、ステップS103及びステップS104により、残処理時間を算出し、算出した残処理時間に基づいて、予測モデル5による指令値の決定が制御タイミングに間に合うか否かを判定する。これにより、予測モデル5を利用した指令値の予測に関する演算処理が、その予測した指令値を利用して生産装置3の動作を制御するタイミングに間に合うか否かを特定することができる。つまり、ステップS108による指令値の決定が、生産装置3の動作を制御する制御予定時刻までに完了するか否かを特定することができる。したがって、本実施形態によれば、生産装置3の予測制御の演算時間を適切に管理することができる。
[feature]
As described above, in the present embodiment, when the command value to the production apparatus 3 is predicted by using the prediction model 5, the remaining processing time is calculated in steps S103 and S104, and the remaining processing time is calculated based on the calculated remaining processing time. Therefore, it is determined whether or not the determination of the command value by the prediction model 5 is in time for the control timing. Thereby, it is possible to specify whether or not the arithmetic processing related to the prediction of the command value using the prediction model 5 is in time for the timing of controlling the operation of the production apparatus 3 by using the predicted command value. That is, it is possible to specify whether or not the determination of the command value in step S108 is completed by the scheduled control time for controlling the operation of the production apparatus 3. Therefore, according to the present embodiment, it is possible to appropriately manage the calculation time of the prediction control of the production apparatus 3.

特に、制御装置1では、上記予測モデル5の演算処理以外の他のタスクを含む複数のタスクが処理され得る(例えば、図12B〜図12D)。この場合には、例えば、割込みのタスクが発生する等により、制御装置1における演算資源(ハードウェアプロセッサ、メモリ等)が同一の条件で利用できるとは限らない。すなわち、制御装置1における演算資源の状況は時々刻々と変化していき、それに伴って、予測モデル5の演算処理に用いることができる演算資源も変化し得る。したがって、予測モデル5の演算処理にかかる処理時間は常に一定であるとは限らない。そのため、シミュレーション等により予め特定した処理時間に基づいて、予測モデル5の演算処理は、制御タイミングに間に合うように処理可能であると判定されていたとしても、運用の際に、制御装置1は、生産装置3の制御タイミングに間に合うように予測モデル5の演算処理を常に完了できるとは限らない。これに対して、本実施形態では、制御装置1は、上記ステップS103において、予測モデル5の演算処理を実行する時点の演算資源の状況(具体的には、演算処理の進捗)を確認し、これに基づいて、演算処理にかかる残処理時間を算出する。これによって、演算資源の状況が時々刻々と変化しても、制御装置1は、ステップS104において、予測モデル5の演算処理が制御タイミングに間に合うか否かを適切に判定することができる。よって、本実施形態によれば、生産装置3の予測制御の演算時間を適切に管理することができる。 In particular, the control device 1 can process a plurality of tasks including tasks other than the arithmetic processing of the prediction model 5 (for example, FIGS. 12B to 12D). In this case, for example, due to the occurrence of an interrupt task, the computational resources (hardware processor, memory, etc.) in the control device 1 may not always be available under the same conditions. That is, the state of the computational resources in the control device 1 changes from moment to moment, and the computational resources that can be used for the computational processing of the prediction model 5 may change accordingly. Therefore, the processing time required for the arithmetic processing of the prediction model 5 is not always constant. Therefore, even if it is determined that the arithmetic processing of the prediction model 5 can be processed in time for the control timing based on the processing time specified in advance by simulation or the like, the control device 1 may perform the operation. It is not always possible to complete the arithmetic processing of the prediction model 5 in time for the control timing of the production apparatus 3. On the other hand, in the present embodiment, the control device 1 confirms the status of the computational resources (specifically, the progress of the arithmetic processing) at the time when the arithmetic processing of the prediction model 5 is executed in the step S103. Based on this, the remaining processing time required for the arithmetic processing is calculated. As a result, even if the state of the computational resources changes from moment to moment, the control device 1 can appropriately determine in step S104 whether or not the arithmetic processing of the prediction model 5 is in time for the control timing. Therefore, according to the present embodiment, it is possible to appropriately manage the calculation time of the prediction control of the production apparatus 3.

加えて、本実施形態では、ステップ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 control device 1 repeats the series of processes of steps S102 to S104 and S107, and then steps S108 and S108. The process of S109 is executed. As a result, the control device 1 can appropriately execute the predictive control as it is. On the other hand, if it is determined in step S104 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 prediction model 5 cannot be accelerated, the control device 1 determines. The arithmetic processing of the prediction model 5 is stopped. As a result, the control device 1 can stop the predictive control and appropriately control the operation of the production device 3 by another method (in the present embodiment, the set value given in advance is used). Therefore, according to the present embodiment, it is possible to prevent the process of controlling the operation of the production apparatus 3 from being delayed because the determination of the command value by the prediction model 5 is not in time for the control timing.

また、本実施形態では、ステップ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 prediction model 5 can be accelerated by executing the processing of step S106. As a result, the control device 1 can make the determination of the command value by the prediction model 5 in time for the control timing. Therefore, according to the present embodiment, the possibility of terminating the prediction control by the prediction model 5 can be reduced, and the prediction control can be appropriately implemented.

§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 prediction model 5 is not in time for the control timing, the control unit 11 accelerates the arithmetic processing of the prediction model 5 in steps S105 and S106. The process of accelerating the arithmetic process of the prediction model 5 may be omitted. When the acceleration processing is omitted, the steps S105 and S106 may be omitted, and the acceleration processing unit 115 may be omitted from the software configuration of the control device 1.

<4.2>
上記実施形態では、予測モデル5は、製品41の生産に適応した指令値の予測の結果として、指令値の基準値60に対する補正値63を出力するように構成されている。しかしながら、予測モデル5の出力形式は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、予測モデル5は、指令値そのものを出力するように構成されてもよい。
<4.2>
In the above embodiment, the prediction model 5 is configured to output a correction value 63 with respect to the reference value 60 of the command value as a result of prediction of the command value adapted to the production of the product 41. However, the output format of the prediction model 5 does not have to be limited to such an example, and may be appropriately determined according to the embodiment. For example, the prediction model 5 may be configured to output the command value itself.

<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 feature amount 61 of the work 40 and the attribute value 62 of the environment for producing the product 41 are used for the input of the prediction model 5. However, the input of the prediction model 5 does not have to be limited to such an example. One of the feature amount 61 of the work 40 and the attribute value 62 of the environment in which the product 41 is produced may be omitted. That is, the prediction model 5 may be constructed so as to predict a command value adapted to the production of the product 41 for at least one of the feature amount 61 of the work 40 and the attribute value 62 of the environment in which the product 41 is produced. .. Further, the input of the prediction model 5 is data on factors that may affect the production process of the product 41 by the production apparatus 3, other than the feature amount 61 of the work 40 and the attribute value 62 of the environment in which the product 41 is produced. Data may be used.

<4.4>
上記実施形態では、予測モデル5は、決定木により構成されている。しかしながら、予測モデル5の構成は、予測処理を実行する時点よりも先の時点(将来の時点)における生産装置3への指令値を予測可能であれば、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。予測モデル5には、例えば、ニューラルネットワーク、サポートベクタマシン等の決定木以外の学習モデルが用いられてもよい。また、予測モデル5には、学習モデル以外のモデル(例えば、所定の関数)が用いられてもよい。
<4.4>
In the above embodiment, the prediction model 5 is composed of a decision tree. However, the configuration of the prediction model 5 is not limited to such an example as long as the command value to the production apparatus 3 at a time point (future time point) before the time point at which the prediction process is executed can be predicted. Often, it may be appropriately selected according to the embodiment. For the prediction model 5, for example, a learning model other than a decision tree such as a neural network or a support vector machine may be used. Further, as the prediction model 5, a model other than the learning model (for example, a predetermined function) may be used.

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からのいずれか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からのいずれか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.
コンピュータのハードウェアプロセッサが、 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
を実行し、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.
コンピュータのハードウェアプロセッサが、 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
を実行し、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.
コンピュータのハードウェアプロセッサに、 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
前記予測モデルの演算処理を加速するステップを実行させた後に、前記ハードウェアプロセッサに、前記残処理時間を算出するステップ、及び前記指令値の決定が前記制御タイミングに間に合うか否かを判定するステップを再度実行させる、 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.
コンピュータのハードウェアプロセッサに、 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
前記ハードウェアプロセッサに、 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.
JP2018069320A 2018-03-30 2018-03-30 Control device, control method, and control program Active JP6958461B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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