JP7151547B2 - 予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム - Google Patents

予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム Download PDF

Info

Publication number
JP7151547B2
JP7151547B2 JP2019032027A JP2019032027A JP7151547B2 JP 7151547 B2 JP7151547 B2 JP 7151547B2 JP 2019032027 A JP2019032027 A JP 2019032027A JP 2019032027 A JP2019032027 A JP 2019032027A JP 7151547 B2 JP7151547 B2 JP 7151547B2
Authority
JP
Japan
Prior art keywords
prediction model
value
control
time
controlled
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
JP2019032027A
Other languages
English (en)
Other versions
JP2020135758A (ja
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 JP2019032027A priority Critical patent/JP7151547B2/ja
Priority to CN202080004438.0A priority patent/CN112534363B/zh
Priority to PCT/JP2020/007284 priority patent/WO2020175418A1/ja
Priority to EP20762061.8A priority patent/EP3933513A4/en
Priority to US17/270,455 priority patent/US11953866B2/en
Publication of JP2020135758A publication Critical patent/JP2020135758A/ja
Application granted granted Critical
Publication of JP7151547B2 publication Critical patent/JP7151547B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/402Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1105I-O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/25Manufacturing
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control

Description

本発明は、予測制御開発装置、予測制御開発方法、及び予測制御開発プログラムに関する。
制御対象装置の動作を制御するために、PLC(programmable logic controller)等のコントローラが一般的に利用されている。従来、コントローラの計算能力が限られていたため、コントローラは、例えば、PID(Proportional-Integral-Differential)制御、PI制御等の演算の比較的に簡単な制御方法により、制御対象装置の動作を制御するように構成されていた。しかしながら、近年、コントローラの計算能力が向上したことにより、予測モデルを利用した高度な制御方法の実装が可能となった。
例えば、特許文献1では、化学プラント、製油所等の工場プロセスの制御に利用するPLCに予測モデルを実装する方法が提案されている。具体的には、システムプロセスの動作結果を示すデータを収集し、得られたデータに基づいて、システムの状態を予測する予測モデルを生成し、生成した予測モデルを利用して、システムの制御を最適化することが提案されている。この方法によれば、工場プロセスを最適化し、品質の悪い製品が製造される確率を低減することができる。
米国特許出願公開第2014/0297002号明細書
本件発明者らは、上記のような、制御対象装置の状態(すなわち、制御量)を予測する予測モデルを利用した従来の予測制御には、次のような問題点があることを見出した。
すなわち、特許文献1では、化学プラント、製油所等の比較的に大規模な生産装置において、PLCの利用が想定されている。この大規模な生産装置では、例えば、ワークの切り替え、調整等の段取り替えが殆ど発生しないため、予測制御システムのモデル開発において、様々な状況下での制御結果を示すデータを収集することができる。そのため、収集されたデータに基づいて、制御量を高精度に予測可能な予測モデルを容易に生成することができる。
しかしながら、搬送機、プレス機等の比較的に小規模な生産装置を制御対象装置とする場合、生産装置の段取り替えが頻繁に発生するため、様々な状況下での制御結果を示すデータを収集する時間を十分に確保するのは困難である。そのため、収集されるデータには偏りが生じてしまい、制御量を高精度に予測可能な予測モデルを生成するのが困難である。これにより、予測精度の低い予測モデルが生成されてしまい、この予測モデルを利用した生産装置の予測制御が実施されることで、かえって品質の悪い製品の生成される確率が高くなってしまう可能性がある。本件発明者らは、予測モデルを利用した従来の予測制御には、このような問題点があることを見出した。
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、大規模な生産装置は勿論のこと、比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデルを生成するための技術を提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係る予測制御開発装置は、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第1時系列データを取得する第1取得部と、取得された前記第1時系列データを分析することで、前記制御量の予測モデルを生成するモデル生成部と、前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するモデル提供部と、前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第2時系列データを取得する第2取得部と、前記予測モデルにより予測される前記制御量の予測値及び前記第2時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するモデル評価部と、を備える。そして、前記予測モデルによる予測の精度が許容されないと評価された場合には、前記モデル生成部は、取得された前記第2時系列データを分析することで、前記制御量の予測モデルを再度生成し、前記モデル提供部は、再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新する。
当該構成に係る予測制御開発装置は、制御量の値の推移を示す第1時系列データを取得し、取得された第1時系列データを分析することで、制御量の予測モデルを生成する。生成された予測モデルは、制御対象装置の動作を制御するコントローラに提供される。コントローラは、得られた予測モデルを利用して、制御対象装置の予測制御を実行する。当該構成に係る予測制御開発装置は、この予測モデルを利用した予測制御の間における制御対象装置の制御量の値の推移を示す第2時系列データを取得する。次に、当該構成に係る予測制御開発装置は、予測モデルにより予測される制御量の予測値及び第2時系列データにより示される制御量の値の差に基づいて、予測モデルによる予測の精度が許容されるか否かを評価する。そして、予測モデルによる予測の精度が許容されないと評価された場合には、当該構成に係る予測制御開発装置は、第2時系列データを分析することで、制御量の予測モデルが再度生成し、再度生成された予測モデルをコントローラに提供することで、コントローラに保持される予測モデルを更新する。
すなわち、当該構成によれば、予測モデルをコントローラに提供した後に、この予測モデルによる予測の精度を検証することができる。そして、その検証の結果、予測モデルによる予測の精度が許容されない場合には、予測モデルを提供した環境下で新たに得られた第2時系列データに基づいて新たな予測モデルを生成し、生成された新たな予測モデルにより、予測制御に利用される予測モデルを更新することができる。これにより、第1時系列データを収集する時間が比較的に短時間であることで、得られた予測モデルによる制御量の予測の精度が低い場合であっても、この第2時系列データを利用した予測モデルの更新により、予測モデルによる予測の精度を改善することができる。つまり、予測モデルを運用しながらであっても、予測モデルによる制御量の予測の精度を改善し続けることができる。したがって、当該構成に係る予測制御開発装置によれば、大規模な生産装置は勿論のこと、比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデルを生成することができる。
なお、制御量は、例えば、モータの回転角度、回転速度等の制御の対象となる量である。制御量の時系列データは、シミュレーションで得られてもよいし、実機の駆動により得られてもよい。時系列データの取得には、センサが利用されてもよい。センサは、計測する制御量に応じて適宜選択されてよい。第1時系列データは、予測モデルを利用しない制御(すなわち、通常の制御)の間に得られてもよい。或いは、第1時系列データは、第2時系列データと同様に、予測モデルによる予測制御の間に得られてもよい。この場合、予測モデルは、予め与えられてよい。
操作量は、例えば、モータの電圧等の制御対象装置に与える量である。制御対象装置の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。制御対象装置は、例えば、プレス機、ウェブ搬送装置、射出成形機、NC旋盤、放電加工機、包装機等の生産ラインで利用される比較的に小規模な生産装置であってもよい。この比較的に小規模な生産装置の動作は、例えば、PLCに代表される小規模な制御装置によって制御されてよい。操作量として制御対象装置に与えられる指令値は、PID制御、PI制御等の公知の制御方法により決定されてよい。制御量の予測値に応じて指令値を補正することは、決定された指令値を予測値に応じて直接的に補正すること、及び予測値に応じて制御量の目標値を補正することで、決定される指令値を間接的に補正することを含んでよい。
予測モデルは、第1時刻における制御量の値(計測値又は予測値)から第1時刻より未来の第2時刻における制御量の予測値を予測するように構成される。つまり、予測モデルは、第1時刻における制御量の値が入力されると、第2時刻における制御量の予測値を出力するように構成される。予測モデルの入力には、1時刻の値が用いられてもよいし、過去の所定の時間区間内の複数の値が用いられてもよい。また、予測モデルの入力には、制御量の値以外のデータが更に用いられてもよい。制御量の値以外のデータとして、例えば、操作量の値、ワークの個体情報等が予測モデルに入力されてよい。
このような予測モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。予測モデルは、例えば、自己回帰モデル等の回帰モデルにより構成されてもよいし、例えば、ニューラルネットワーク等の機械学習モデルにより構成されてもよい。予測モデルを生成するために、時系列データを分析する方法は、特に限定されなくてもよく、予測モデルの種類に応じて適宜選択されてよい。予測モデルが自己回帰モデルにより構成される場合、分析方法には、最小二乗法等の公知の回帰分析方法が用いられてよい。また、予測モデルがニューラルネットワーク等の機械学習モデルにより構成される場合、分析方法には、誤差逆伝播法等の公知の機械学習方法が用いられてよい。
上記一側面に係る予測制御開発装置は、前記コントローラに、前記各指令値に対する前記補正の量を指定する補正量指定部を更に備えてもよい。当該構成によれば、予測モデルの検証及び更新を繰り返す際に、予測モデルによる予測制御の程度を調整することができる。これにより、当該予測モデルによる予測制御の最適化を図ることができる。
上記一側面に係る予測制御開発装置において、前記補正量指定部は、前記予測モデルが更新される度に、前記補正の量が大きくなるように指定してもよい。当該構成によれば、予測モデルの検証及び更新を繰り返す度に、予測モデルによる予測制御における各指令値に対する補正量を徐々に高めていく(すなわち、予測制御の程度を徐々に高めていく)ことで、当該予測モデルによる予測制御を最適化することができる。
上記一側面に係る予測制御開発装置は、前記予測モデルにより予測される前記制御量の予測値及び前記第2時系列データにより示される前記制御量の値を表示装置に表示させる出力部を更に備えてもよい。当該構成によれば、生成された予測モデルによる制御量の予測の精度を確認することができる。
上記一側面に係る予測制御開発装置において、前記制御対象装置は、金型により構成されたプレス機であってよく、前記操作量は、前記金型を駆動するサーボモータの電圧であってよく、前記制御量は、前記金型の位置であってもよい。当該構成によれば、金型の位置を高精度に予測可能でかつプレス機の予測制御に利用可能な予測モデルを生成することができる。これにより、プレス機を含む工場プロセスを最適化し、品質の悪い製品が製造される確率を低減することができる。
上記一側面に係る予測制御開発装置において、前記制御対象装置は、ウェブを搬送するように構成されたウェブ搬送装置であってよく、前記操作量は、前記ウェブの端部の位置を調節するためのアクチュエータの電圧であってよく前記制御量は、前記ウェブの端部の位置であってよい。当該構成によれば、ウェブの端部の位置を高精度に予測可能でかつウェブ搬送装置の予測制御に利用可能な予測モデルを生成することができる。これにより、ウェブ搬送装置を含む工場プロセスを最適化し、品質の悪い製品が製造される確率を低減することができる。
上記各形態に係る予測制御開発装置の別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
例えば、本発明の一側面に係る予測制御開発方法は、コンピュータが、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第1時系列データを取得するステップと、取得された前記第1時系列データを分析することで、前記制御量の予測モデルを生成するステップと、前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するステップと、前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第2時系列データを取得するステップと、前記予測モデルにより予測される前記制御量の予測値及び前記第2時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するステップと、を実行し、前記予測モデルによる予測の精度が許容されないと評価された場合、前記コンピュータは、取得された前記第2時系列データを分析することで、前記制御量の予測モデルを再度生成し、かつ再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新する、情報処理方法である。
また、例えば、本発明の一側面に係る予測制御開発プログラムは、コンピュータに、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第1時系列データを取得するステップと、取得された前記第1時系列データを分析することで、前記制御量の予測モデルを生成するステップと、前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するステップと、前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第2時系列データを取得するステップと、前記予測モデルにより予測される前記制御量の予測値及び前記第2時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するステップと、を実行させ、前記予測モデルによる予測の精度が許容されないと評価された場合、前記コンピュータに、取得された前記第2時系列データを分析することで、前記制御量の予測モデルを再度生成させ、かつ再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新させる、ための、プログラムである。
本発明によれば、比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデルを生成することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係る予測制御開発装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係るPLC(コントローラ)のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係るプレス機(制御対象装置)の一例を模式的に例示する。 図5Aは、図4のプレス機における生産工程の一例を模式的に例示する。 図5Bは、図4のプレス機における生産工程の一例を模式的に例示する。 図5Cは、図4のプレス機における生産工程の一例を模式的に例示する。 図5Dは、図4のプレス機における生産工程の一例を模式的に例示する。 図6は、実施の形態に係る予測制御開発装置のソフトウェア構成の一例を模式的に例示する。 図7は、実施の形態に係るPLC(コントローラ)のソフトウェア構成の一例を模式的に例示する。 図8は、実施の形態に係るPLC(コントローラ)の処理手順の一例を例示する。 図9は、実施の形態に係る予測制御開発装置の処理手順の一例を例示する。 図10は、実施の形態に係る評価結果の出力画面の一例を模式的に例示する。 図11は、本発明が適用される場面の他の一例を模式的に例示する。 図12は、図11のウェブ搬送装置において搬送されるウェブの端部の位置を調節する場面を模式的に例示する。 図13は、変形例に係る予測制御開発装置のソフトウェア構成の一例を模式的に例示する。 図14Aは、変形例に係る予測制御開発装置の処理手順の一例を例示する。 図14Bは、変形例に係る予測制御開発装置の処理手順の一例を例示する。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本実施形態に係る予測制御システム100の適用場面の一例を模式的に例示する。
図1に示されるとおり、本実施形態に係る予測制御システム100は、ネットワークを介して互いに接続される予測制御開発装置1及びPLC2を備えている。これにより、予測制御システム100は、制御対象装置の制御量を予測するための予測モデルを生成し、生成された予測モデルを利用して制御対象装置の動作を予測制御するように構成される。予測制御開発装置1及びPLC2の間のネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
PLC2は、制御対象装置の動作を制御するように構成されたコンピュータである。PLC2は、コントローラの一例である。本実施形態では、PLC2には、プレス機3が接続されている。プレス機3は、制御対象装置の一例である。ただし、コントローラ及び制御対象装置はそれぞれ、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
また、図1の例では、予測制御開発装置1及びPLC2は、互いに別個のコンピュータである。しかしながら、予測制御システム100の構成は、このような例に限定されなくてもよい。予測制御開発装置1及びPLC2は、一体のコンピュータで構成されてもよい。また、予測制御開発装置1及びPLC2はそれぞれ複数台のコンピュータにより構成されてよい。
本実施形態に係る予測制御開発装置1は、制御対象装置の予測制御に利用可能な予測モデルを生成するように構成されたコンピュータである。具体的に、本実施形態に係る予測制御開発装置1は、操作量の時系列データとして複数の指令値を制御対象装置に与えることによりコントローラが制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第1時系列データを取得する。予測制御開発装置1は、取得された第1時系列データを分析することで、制御量の予測モデルを生成する。制御量は、制御の対象となる量である。操作量は、制御対象装置に与える量である。制御量及び操作量はそれぞれ、制御対象装置に応じて適宜選択されてよい。
次に、本実施形態に係る予測制御開発装置1は、コントローラに、予測モデルにより予測される制御量の予測値に応じて各指令値を補正させ、かつ補正された各指令値を制御対象装置に与えることにより制御対象装置の動作を制御するように、予測モデルをコントローラに提供する。これにより、PLC2は、予測制御開発装置1により生成された予測モデルを取得する。PLC2は、予測モデルを利用して制御対象装置の動作を制御する予測制御モード、及び予測モデルを利用せずに、PID制御等の公知の制御方法により制御量の計測値から指令値を決定する通常の制御モードの2つのモードを切り替え可能に構成されてよい。
続いて、本実施形態に係る予測制御開発装置1は、コントローラが、補正された各指令値を制御対象装置に与えることにより当該制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第2時系列データを取得する。そして、予測制御開発装置1は、予測モデルにより予測される制御量の予測値及び第2時系列データにより示される制御量の値の差に基づいて、予測モデルによる予測の精度が許容されるか否かを評価する。
予測モデルによる予測の精度が許容されないと評価された場合、本実施形態に係る予測制御開発装置1は、取得された第2時系列データを分析することで、制御量の予測モデルを再度生成する。そして、予測制御開発装置1は、再度生成された予測モデルをコントローラに提供することで、コントローラの保持する予測モデルを更新する。つまり、予測モデルによる予測の精度が比較的に低い場合には、本実施形態に係る予測制御開発装置1は、第2時系列データに基づいて新たな予測モデルを生成し、生成された予測モデルによりPLC2の保持する予測モデルを更新する。
以上のとおり、本実施形態に係る予測制御システム100では、予測制御開発装置1により生成された予測モデルがPLC2に提供された後、この予測モデルによる予測の精度を検証することができる。そして、その検証の結果、予測モデルによる予測の精度が許容されない場合には、予測モデルを提供した環境下で新たに得られた第2時系列データに基づいて新たな予測モデルを生成し、生成された新たな予測モデルにより、予測制御に利用される予測モデルを更新することができる。これにより、第1時系列データを収集する時間が比較的に短時間であることに起因して、得られた予測モデルによる制御量の予測の精度が低い場合であっても、第2時系列データを利用した予測モデルの更新により、予測モデルによる予測の精度を改善することができる。つまり、予測モデルを運用しながらであっても、予測モデルの予測精度を改善し続けることができる。したがって、本実施形態によれば、大規模な生産装置は勿論のこと、プレス機3のような比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデルを生成することができる。
§2 構成例
[ハードウェア構成]
<予測制御開発装置>
次に、図2を用いて、本実施形態に係る予測制御開発装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る予測制御開発装置1のハードウェア構成の一例を模式的に例示する。
図2に示されるとおり、本実施形態に係る予測制御開発装置1は、制御部11、記憶部12、通信インタフェース13、入力装置14、表示装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、図2では、通信インタフェースを「通信I/F」と記載している。
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、予測制御開発プログラム81、第1時系列データ223、第2時系列データ225、生成結果データ125等の各種情報を記憶する。
予測制御開発プログラム81は、予測モデルの生成に関する後述の情報処理(図9)を予測制御開発装置1に実行させるためのプログラムである。予測制御開発プログラム81は、この情報処理の一連の命令群を含む。第1時系列データ223は、上記第1時系列データの一例であり、第2時系列データ225は、上記第2時系列データの一例である。生成結果データ125は、生成された予測モデルに関する情報を示す。生成結果データ125は、予測制御開発プログラム81を実行した結果として得られる。詳細は後述する。
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。予測制御開発装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、PLC2)と行うことができる。また、予測制御開発装置1は、この通信インタフェース13を利用することで、生成された生成結果データ125を外部の装置に配信することができる。
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、表示装置15は、出力装置の一例であり、例えば、ディスプレイである。オペレータは、入力装置14及び表示装置15を介して、予測制御開発装置1を操作することができる。なお、表示装置15は、タッチパネルディスプレイであってもよい。この場合、入力装置14は省略されてもよい。
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記予測制御開発プログラム81、第1時系列データ223、及び第2時系列データ225の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。予測制御開発装置1は、この記憶媒体91から、上記予測制御開発プログラム81、第1時系列データ223、及び第2時系列データ225の少なくともいずれかを取得してもよい。
ここで、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
なお、予測制御開発装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、入力装置14、表示装置15及びドライブ16の少なくともいずれかは省略されてもよい。予測制御開発装置1は、複数台の情報処理装置で構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、予測制御開発装置1には、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC(Personal Computer)等が用いられてもよい。
<PLC>
次に、図3を用いて、本実施形態に係るPLC2のハードウェア構成の一例を説明する。図3は、本実施形態に係るPLC2のハードウェア構成の一例を模式的に例示する。
図3に示されるとおり、PLC2は、制御部21、記憶部22、通信インタフェース23、及び外部インタフェース24が電気的に接続されたコンピュータである。これらにより、PLC2は、プレス機3等の制御対象装置の動作を制御するように構成される。なお、図3では、通信インタフェース及び外部インタフェースをそれぞれ「通信I/F」及び「外部I/F」と記載している。
制御部21は、CPU、RAM、ROM等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部22は、例えば、RAM、ROM等で構成され、制御プログラム82、目標値情報221、第1時系列データ223、第2時系列データ225、生成結果データ125等の各種情報を記憶する。制御プログラム82は、制御対象装置の動作を制御する後述の情報処理(図8)をPLC2に実行させるためのプログラムである。制御プログラム82は、当該情報処理の一連の命令群を含む。目標値情報221は、所定の動作を制御対象装置に実行させる際の制御量の一連の基礎目標値を示す。詳細は後述する。
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、有線又は無線通信を行うためのインタフェースである。PLC2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、予測制御開発装置1)と行うことができる。
外部インタフェース24は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース24の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、PLC2は、外部インタフェース24を介して、プレス機3に接続される。これにより、PLC2は、プレス機3に対して指令値を送信することで、プレス機3の動作を制御することができる。また、PLC2は、制御量の計測値をプレス機3から取得することができる。
なお、PLC2の具体的なハードウェア構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。例えば、制御部21は、複数のプロセッサを含んでもよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。記憶部22は、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置により構成されてもよい。また、PLC2は、提供されるサービス専用に設計された情報処理装置の他、制御する対象に応じて、デスクトップPC、タブレットPC等の汎用の情報処理装置に置き換えられてもよい。
<プレス機>
次に、図4を用いて、プレス機3のハードウェア構成の一例について説明する。図4は、本実施形態に係るプレス機3のハードウェア構成の一例を模式的に例示する。
本実施形態に係るプレス機3は、サーボドライバ31、上側金型32、下側金型33、及び位置センサ35を備えている。下側金型33が固定されているのに対して、上側金型32は、サーボモータ(不図示)によって、上下方向に移動可能に構成されている。位置センサ35は、下側金型33に対する上側金型32の位置を計測するように構成される。これにより、上側金型32は、その位置を制御されることで、下側金型33にワークを押し付けて、ワークの成形を行ったり、下側金型33から離れたりすることができる。サーボドライバ31は、PLC2からの指令値に基づいて、上側金型32のサーボモータを駆動するように構成される。本実施形態において、上側金型32を駆動するサーボモータの電圧が操作量の一例であり、上側金型32の位置が制御量の一例である。
ただし、プレス機3の構成は、このような例に限定されなくてもよい。プレス機3の構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。例えば、上側金型32及び下側金型33の両方が移動可能に構成されてもよい。また、位置センサ35の配置は、図4の例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。位置センサ35の種類は、上側金型32と下側金型33との間の距離を測定可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。位置センサ35には、公知のセンサが利用されてもよい。
次に、図5A~図5Dを用いて、プレス機3における生産工程の一例を模式的に例示する。プレス機3は、生産ラインに適宜配置されてよい。図5Aに示されるとおり、初期状態では、上側金型32は、下側金型33から離れた待機位置に配置され、下側金型33にワーク40が搬送されるまで待機する。ワーク40は、例えば、金属製の板材である。ただし、ワーク40の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ワーク40は、例えば、製品の原料、加工前の物、組み立て前の部品等であってよい。
下側金型33の所定の位置にワーク40が配置された後、プレス機3は、図5Bに示されるとおり、サーボドライバ31により上側金型32のサーボモータを駆動し、上側金型32を成形開始位置に配置する。成形開始位置は、例えば、上側金型32の先端がワーク40に接触する又はその直前の位置である。
そして、プレス機3は、図5Cに示されるとおり、サーボドライバ31により上側金型32のサーボモータを更に駆動し、上側金型32を目標位置(下死点)まで移動させ、上側金型32及び下側金型33によりワーク40の成形を行う。これにより、プレス機3は、ワーク40から製品41を生産することができる。なお、この製品41は、ワーク40に対してプレス機3が生産処理を行うことで得られる物であれば特に限定されなくてもよく、最終品であってもよいし、中間品(加工途中のもの)であってもよい。
成形が完了した後、プレス機3は、図5Dに示されるとおり、サーボドライバ31により上側金型32のサーボモータを駆動し、上側金型32を待機位置まで移動させる。そして、ワーク40を成形することで得られた製品41をベルトコンベア(不図示)等によりプレス機3から搬送する。これにより、ワーク40から製品41を生産する生産工程の一連の動作が完了する。PLC2は、この一連の生産工程をプレス機3に実行させるように、位置センサ35により得られる上側金型32の位置の計測値及び目標値から指令値を決定し、決定された指令値をサーボドライバ31に与えることで、プレス機3の動作を制御する。
[ソフトウェア構成]
<予測制御開発装置>
次に、図6を用いて、本実施形態に係る予測制御開発装置1のソフトウェア構成の一例について説明する。図6は、本実施形態に係る予測制御開発装置1のソフトウェア構成の一例を模式的に例示する。
予測制御開発装置1の制御部11は、記憶部12に記憶された予測制御開発プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された予測制御開発プログラム81をCPUにより解釈及び実行して、予測制御開発プログラム81に含まれる一連の命令群に基づいて、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係る予測制御開発装置1は、第1取得部111、モデル生成部112、モデル提供部113、補正量指定部114、第2取得部115、モデル評価部116、及び出力部117をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部11(CPU)により実現される。
第1取得部111は、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第1時系列データ223を取得する。モデル生成部112は、取得された第1時系列データ223を分析することで、制御量の予測モデル50を生成し、生成された予測モデル50を示す生成結果データ125を生成する。本実施形態では、コントローラはPLC2であり、制御対象装置はプレス機3である。
モデル提供部113は、生成結果データ125をコントローラに配信することで、生成された予測モデル50をコントローラに提供する。これにより、モデル提供部113は、コントローラに、予測モデル50により予測される制御量の予測値に応じて各指令値を補正させ、かつ補正された各指令値を制御対象装置に与えることにより当該制御対象装置の動作を制御させる。補正量指定部114は、コントローラに、各指令値に対する補正の量を指定する。
第2取得部115は、コントローラが、補正された各指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第2時系列データ225を取得する。モデル評価部116は、予測モデル50により予測される制御量の予測値及び第2時系列データ225により示される制御量の値の差に基づいて、予測モデル50による予測の精度が許容されるか否かを評価する。出力部117は、予測モデル50により予測される制御量の予測値及び第2時系列データ225により示される制御量の値を表示装置15に表示させる。
予測モデル50による予測の精度が許容されないと評価された場合、モデル生成部112は、取得された第2時系列データ225を分析することで、制御量の予測モデル50を再度生成する。これにより、モデル生成部112は、生成結果データ125を更新する。モデル提供部113は、更新された生成結果データ125をコントローラに配信することで、再度生成された予測モデル50をコントローラに提供する。これにより、モデル提供部113は、コントローラの保持する予測モデル50を更新する。
予測モデル50は、第1時刻における制御量の値(計測値又は予測値)から第1時刻より未来の第2時刻における制御量の予測値を予測するように構成される。つまり、予測モデル50は、第1時刻における制御量の値の入力に対して、第2時刻における制御量の予測値を出力するように構成される。予測モデル50の入力には、1時刻の値が用いられてもよいし、過去の所定の時間区間内の複数の値が用いられてもよい。また、予測モデル50の入力には、制御量の値以外のデータが更に用いられてもよい。制御量の値以外のデータとして、例えば、操作量の値、ワーク40の個体情報等が予測モデル50に入力されてよい。
予測モデル50は、制御量の入力値から予測値を算出するための演算パラメータを含むように構成される。このような予測モデル50の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。予測モデル50は、例えば、自己回帰モデル等の回帰モデルにより構成されてもよいし、例えば、ニューラルネットワーク等の機械学習モデルにより構成されてもよい。自己回帰モデルは、自己回帰係数を含む1又は複数の項を総和する回帰式により表現される。この自己回帰モデルにより予測モデル50が構成される場合、演算パラメータの一例は、当該自己回帰モデルの各項における自己回帰係数等である。また、ニューラルネットワークは、1又は複数のニューロン(ノード)を含む1又は複数の層を備える。複数の層を備える場合、典型的には、入力側から出力側に各層は配置され、隣接する層に含まれるニューロン同士は適宜結合される。各結合には重み(結合荷重)が設定される。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。このニューラルネットワークにより予測モデル50が構成される場合、演算パラメータの一例は、例えば、各ニューロン間の結合の重み、各ニューロンの閾値等である。
この予測モデル50を生成するために、時系列データを分析する方法は、特に限定されなくてもよく、予測モデル50の種類に応じて適宜選択されてよい。予測モデル50が自己回帰モデルにより構成される場合、モデル生成部112は、最小二乗法等の公知の回帰分析方法により、各項における自己回帰係数等の演算パラメータを導出することで、予測モデル50を生成してもよい。また、予測モデル50がニューラルネットワーク等の機械学習モデルにより構成される場合、モデル生成部112は、誤差逆伝播法等の公知の機械学習方法により、各ニューロン間の結合の重み、各ニューロンの閾値等の演算パラメータを導出することで、予測モデル50を生成してもよい。
<PLC>
次に、図7を用いて、本実施形態に係るPLC2のソフトウェア構成の一例について説明する。図7は、本実施形態に係るPLC2のソフトウェア構成の一例を模式的に例示する。
PLC2の制御部21は、記憶部22に記憶された制御プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された制御プログラム82をCPUにより解釈及び実行して、制御プログラム82に含まれる一連の命令群に基づいて、各構成要素を制御する。これによって、図7に示されるとおり、本実施形態に係るPLC2は、目標値取得部211、動作制御部212、補正処理部213、及びデータ収集部214をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
目標値取得部211は、上記生産工程の動作等の所定の動作を制御対象装置に実行させる際に、制御対象装置の制御量の目標となる基礎目標値を取得する。本実施形態では、所定の動作における一連の基礎目標値は、目標値情報221により与えられる。目標値取得部211は、目標値情報221を参照することで、制御量の基礎目標値を取得する。
動作制御部212は、制御対象装置の制御量の計測値を取得する。そして、動作制御部212は、制御量の計測値及び指令目標値に基づいて指令値を決定し、決定された指令値を制御対象装置に与えることで、制御対象装置の動作を制御する。本実施形態の一例では、制御量は、上側金型32の位置であり、操作量は、上側金型32を駆動するサーボモータの電圧である。動作制御部212は、位置センサ35により計測された上側金型32の位置の計測値を取得し、取得された計測値及び指令目標値に基づいて指令値を決定する。そして、動作制御部212は、決定された指令値を操作量としてサーボドライバ31に与えることで、プレス機3における上側金型32の位置を制御する。
予測制御を実施しない場合、動作制御部212は、基礎目標値を指令目標値として利用し、基礎目標値及び計測値から指令値60を決定する。他方、予測制御を実施する場合、補正処理部213が、予測モデル50を利用して、指令値60を補正する。本実施形態では、補正処理部213は、生成結果データ125を保持することで、予測モデル50を含んでいる。また、補正処理部213は、制御量の予測値に応じて、基礎目標値を補正するように構成された補正器55を含んでいる。補正器55は、計算式等により表現された演算モジュールにより構成されてよい。
補正処理部213は、生成結果データ125を参照することで、予測制御開発装置1により生成された予測モデル50を設定する。補正処理部213は、設定された予測モデル50を利用して、制御量の計測値から予測値を算出する。次に、補正処理部213は、補正器55を利用して、予測モデル50により予測された予測値に応じて、基礎目標値を補正することで、補正済みの目標値63を取得する。動作制御部212は、補正済みの目標値63を指令目標値として利用し、補正済みの目標値63及び計測値から指令値65を決定する。すなわち、本実施形態では、補正処理部213は、制御量の基礎目標値を補正することで、制御対象装置に与える指令値を間接的に補正する。
制御対象装置の動作を制御する間、動作制御部212及び補正処理部213の上記一連の処理は繰り返される。動作制御部212は、指令値(60、65)を生成し、生成された指令値(60、65)を制御対象装置に与える処理を繰り返す。これにより、動作制御部212は、操作量の時系列データとして複数の指令値(60、65)を制御対象装置に与えることで、所定の動作を実行するように制御対象装置を制御する。なお、繰り返すタイミング及び一度に生成する指令値(60、65)の数はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。動作制御部212は、例えば、制御周期毎に、上記処理を繰り返してもよい。
図7では、時刻tの指令値を決定する場面が例示されている。動作制御部212は、時刻tよりも前の時刻である時刻(t-a)に計測された制御量の計測値Y(t-a)を取得する。予測間隔aは、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。予測間隔aは、例えば、制御周期の整数倍(1以上)と一致してもよいし、制御周期とは無関係であってもよい。予測間隔aは、例えば、制御量を計測するセンサ(例えば、位置センサ35)に依存してもよい。予測制御を実施しない場合、動作制御部212は、時刻tに目標とする制御量の基礎目標値及び計測値Y(t-a)から指令値u(t)を決定し、決定された指令値u(t)を制御対象装置に与える。
予測制御を実施する場合、補正処理部213は、予測モデル50を利用して、計測値Y(t-a)から時刻tにおける制御量の予測値P(t)を予測する。続いて、補正処理部213は、補正器55を利用して、予測値P(t)に応じて、時刻tの基礎目標値を補正することで、補正済みの目標値63を取得する。動作制御部212は、時刻tの補正済みの目標値63及び計測値Y(t-a)から指令値U(t)を決定し、決定された指令値U(t)を制御対象装置に与える。
データ収集部214は、上記一連の処理により得られた制御量の計測値及び予測値を収集する。データ収集部214は、操作量の時系列データとして複数の指令値(60、65)を制御対象装置に与えることにより制御対象装置の動作を制御している間に得られた制御量の計測値を収集する。これにより、データ収集部214は、制御量の値の推移を示す第1時系列データ223を生成することができる。同様に、データ収集部214は、予測モデル50を利用して導出された各指令値65を制御対象装置に与えることにより制御対象装置の動作を制御している間に得られた制御量の計測値を収集する。これにより、データ収集部214は、制御量の値の推移を示す第2時系列データ225を生成することができる。また、データ収集部214は、各指令値65を導出する際に、予測モデル50により得られた予測値を収集する。これにより、データ収集部214は、予測制御の間に得られた一連の予測値を示す予測結果データ227を生成することができる。
<その他>
予測制御開発装置1及びPLC2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、予測制御開発装置1及びPLC2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、予測制御開発装置1及びPLC2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[PLC]
次に、図8を用いて、本実施形態に係るPLC2の動作例について説明する。図8は、本実施形態に係るPLC2の処理手順の一例を示すフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。依存関係のない処理の順序は適宜入れ替えられてよい。
(ステップS101)
ステップS101では、制御部21は、目標値取得部211として動作し、制御対象装置の制御量の目標となる基礎目標値を取得する。
本実施形態では、所定の動作における一連の基礎目標値を示す目標値情報221が記憶部22に保持されている。目標値情報221は、所定の動作を制御対象装置に実行させることができるように適宜生成されてよい。例えば、実機又はシミュレーションにより制御対象装置に所定の動作を実行させた結果に基づいて、目標値情報221の各基礎目標値が決定されてよい。また、例えば、各基礎目標値は、オペレータの指定により与えられてもよい。制御部21は、記憶部22に記憶された目標値情報221を参照することで、制御量の基礎目標値を取得する。
ただし、基礎目標値を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御量の目標値は、他の情報処理装置からの指示により与えられてもよいし、オペレータの指定により与えられてもよい。また、例えば、目標値情報221は、外部記憶装置、記憶メディア等の他の記憶領域に保存されていてもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってもよいし、PLC2に接続される外付けの記憶装置であってもよい。記憶メディアは、例えば、CD、DVD等であってよい。制御部21は、他の記憶領域から適宜目標値情報221を取得してもよい。
本実施形態の一例では、制御対象装置は、プレス機3であり、制御量は、上側金型32の位置である。この場合、目標値情報221の各基礎目標値は、上記生産工程によりワーク40を成形する際における上側金型32の目標の位置を示す。例えば、実機又はシミュレーションによりプレス機3に上記生産工程の動作を実行させた結果に基づいて、プレス不足等による不良が製品41に生じないように、各時点における上側金型32の位置を決定することで、目標値情報221の各基礎目標値は導出されてよい。制御量の基礎目標値を取得すると、制御部21は、次のステップS102に処理を進める。
(ステップS102)
ステップS102では、制御部21は、動作制御部212として動作し、制御対象装置の制御量の計測値を取得する。
制御量の計測には、センサが適宜利用されてよい。センサの種類は、特に限定されなくてもよく、制御対象装置及び制御量それぞれに応じて適宜選択されてよい。また、制御量の計測は、シミュレーション上で行われてもよいし、制御対象装置の実機を利用して行われてもよい。また、制御部21は、制御量の計測値を、制御対象装置から直接的に取得してもよいし、例えば、外部記憶装置、記憶メディア、他の情報処理装置等を介して制御対象装置から間接的に取得してもよい。
本実施形態の一例では、プレス機3は、下側金型33に対する上側金型32の位置を計測するための位置センサ35を備えている。制御部21は、位置センサ35により得られた上側金型32の位置の計測値を取得する。制御量の計測値を取得すると、制御部21は、次のステップS103に処理を進める。
(ステップS103)
ステップS103では、制御部21は、動作制御部212として動作し、制御対象装置の予測制御を実施するか否かを判定する。本実施形態の一例では、制御部21は、プレス機3における上側金型32の位置の予測制御を実施するか否かを判定する。
制御対象装置の予測制御を実施するか否かは適宜決定されてよい。例えば、制御対象装置の予測制御を実施するか否かは、予測制御開発装置1等の他の情報処理装置又はオペレータの指示により決定されてもよい。この場合、制御部21は、他の情報処理装置又はオペレータの指示に応じて、予測制御を実施するか否かを判定してもよい。
また、例えば、制御部21は、予測モデル50を保持しているか否かに応じて、予測制御を実施するか否かを判定してもよい。すなわち、制御部21は、予測モデル50を保持している場合に、予測制御を実施すると判定してもよく、予測モデル50を保持していない場合に、予測制御を実施しないと判定してもよい。
予測制御を実施すると判定した場合、制御部21は、次のステップS104に処理を進める。他方、予測制御を実施しないと判定した場合、制御部21は、ステップS104及びステップS105の処理を省略して、次のステップS106に処理を進める。
(ステップS104)
ステップS104では、制御部21は、補正処理部213として動作し、予測モデル50を利用して、制御量の予測値を予測する。
本実施形態では、制御部21は、生成結果データ125を参照することで、予測制御開発装置1により生成された予測モデル50を設定する。生成結果データ125は、ステップS104の処理を実行する前の任意のタイミングでPLC2に配信されてよい。制御部21は、設定された予測モデル50に制御量の計測値を入力し、予測モデル50の演算処理を実行する。これにより、制御部21は、制御量の予測値を算出する。
例えば、予測モデル50が自己回帰モデルにより構成される場合、生成結果データ125は、各項における自己回帰係数等の演算パラメータの値を示す。制御部21は、生成結果データ125を参照して、予測モデル50の回帰式の設定を行う。次に、制御部21は、回帰式の各項に制御量の計測値を入力して、回帰式の演算処理を実行する。この演算結果により、制御部21は、制御量の予測値を取得することができる。
また、例えば、予測モデル50がニューラルネットワークにより構成される場合、生成結果データ125は、各ニューロン間の結合の重み、各ニューロンの閾値等の演算パラメータの値を示す。制御部21は、生成結果データ125を参照して、学習済みのニューラルネットワークの設定を行う。次に、制御部21は、ニューラルネットワークの入力層に制御量の計測値を入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、制御量を予測した結果に対応する出力値(すなわち、制御量の予測値)を出力層から取得することができる。
なお、予測モデル50が、例えば、操作量の値、ワーク40の個体情報等の制御量の値以外の他のデータを更に入力可能に構成されている場合、制御部21は、ステップS104を実行する前に、他のデータを更に取得する。他のデータを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。制御部21は、得られた他のデータを予測モデル50に更に入力し、予測モデル50の演算処理を実行することで、制御量の予測値を取得することができる。
本実施形態の一例では、制御部21は、時間a後に予測される上側金型32の位置を示す予測値を取得する。制御量の予測値を取得すると、制御部21は、次のステップS105に処理を進める。
(ステップS105)
ステップS105では、制御部21は、予測モデル50により予測された予測値に応じて、基礎目標値を補正することで、補正済みの目標値63を取得する。本実施形態では、基礎目標値の補正に補正器55が利用される。補正器55は、制御量の予測値に応じて、基礎目標値から補正済みの目標値63を算出するように構成される。
この補正器55は、例えば、制御量の予測値と補正量との関係を示す計算式等の演算モジュールにより構成されてよい。制御量の予測値と補正量との関係は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。予測モデル50により得られる予測値が基礎目標値から乖離するということは、基礎目標値に基づいてそのまま制御対象装置を制御しても、外乱等の影響により、基礎目標値からずれた挙動で制御対象装置が動作することが予測されたことに相当し得る。そこで、制御量の予測値と補正量との関係は、例えば、制御量の予測値と基礎目標値との乖離を減らすように与えられてもよい。一例として、補正器55は、基礎目標値よりも予測値が小さい場合には基礎目標値を大きな値に補正し、基礎目標値よりも予測値が大きい場合には基礎目標値を小さな値に補正するように構成されてよい。これにより、基礎目標値に沿う挙動で制御対象装置を動作させることができるように、制御量の目標値を補正することができる。このような制御量の予測値と補正量との関係は、例えば、以下の式1により与えられてもよい。
Figure 0007151547000001
なお、R(t)は、時刻tにおける補正量の値(補正値)を示す。rは、比例定数を示す。E(t)は、時刻tにおける制御量の基礎目標値を示す。P(t)は、時刻tにおける制御量の予測値を示す。sは、定数項を示す。
この計算式では、比例定数r及び定数項sの値により、補正の度合いが決定される。比例定数r及び定数項sは、補正の度合いを定める重みの一例である。r及びsそれぞれの値は、後述するステップS204により決定されてよい。本実施形態では、補正器55は、この計算式の演算モジュールにより構成されてよい。ただし、制御量の予測値と補正量との関係は、式1の例に限られなくてもよく、実施の形態に応じて適宜決定されてよい。また、補正器55の構成は、上記の例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
制御部21は、取得された制御量の予測値及び基礎目標値を式1の各項に代入し、式1の演算処理を実行することで、補正値R(t)を算出する。すなわち、制御部21は、基礎目標値と予測値との差分を算出し、算出された差分及び重みに基づいて、補正値R(t)を決定する。具体的には、制御部21は、算出された差分と比例定数rとの積を算出し、算出された積に定数項sを加えることにより、補正値R(t)を算出する。そして、制御部21は、基礎目標値に補正値R(t)を加算することで、補正済みの目標値63を算出することができる。この加算処理は、減算処理により実現されてもよい。補正済みの目標値63を取得すると、制御部21は、次のステップS106に処理を進める。
(ステップS106)
ステップS106では、制御部21は、動作制御部212として動作し、制御量の指令目標値に従って、指令値(操作量)を決定する。予測制御を実施する場面では、ステップS105により得られた補正済みの目標値63が指令目標値として取り扱われる。他方、予測制御を実施しない場面、すなわち、通常の制御を実施する場面では、ステップS101により得られた制御量の基礎目標値がそのまま指令目標値として取り扱われる。
指令値を決定する方法は、実施の形態に応じて適宜選択されてよい。指令値を決定する方法には、例えば、PID制御、PI制御等の公知の方法が採用されてよい。この場合、制御部21は、設定された指令目標値と制御量の計測値との差分を算出し、算出された差分に応じて指令値を決定する。制御部21は、決定された指令値を制御対象装置に与えることで、制御対象装置の動作を制御する。
詳細には、予測制御を実施しない場合、制御部21は、基礎目標値と計測値との差分に応じて指令値60を決定し、決定された指令値60を制御対象装置に与えることで、制御対象装置の動作を制御する。他方、予測制御を実施する場合、制御部21は、補正された目標値63と計測値との差分に応じて指令値65を決定し、決定された指令値65を制御対象装置に与えることで、制御対象装置の動作を制御する。
本実施形態の一例では、指令値(60、65)は、上側金型32を目標の位置に移動させるために、上側金型32を駆動するサーボモータに加える電圧を示す。制御部21は、この指令値(60、65)をサーボドライバ31に与えることで、プレス機3における上側金型32の位置を制御する。当該動作の制御は、シミュレーション上で行われてもよいし、制御対象装置の実機を利用して行われてもよい。指令値(60、65)により制御対象装置の動作を制御すると、制御部21は、次のステップS107に処理を進める。
(ステップS107)
ステップS107では、制御部21は、データ収集部214として動作し、ステップS102により得られた制御量の計測値を所定の記憶領域に保存する。予測制御を実施した場合、制御部21は、ステップS104により得られた制御量の予測値を更に所定の記憶領域に保存する。所定の記憶領域は、例えば、記憶部22、外部記憶装置、記憶メディア等であってよい。計測値(及び予測値)を保存すると、制御部21は、次のステップS108に処理を進める。
(ステップS108)
ステップS108では、制御部21は、動作制御部212として動作し、制御対象装置の制御を終了するか否かを判定する。
制御対象装置の制御を終了するか否かは適宜決定されてよい。例えば、制御対象装置の制御を終了するか否かは、予測制御開発装置1等の他の情報処理装置又はオペレータの指示により決定されてもよい。この場合、制御部21は、他の情報処理装置又はオペレータの指示に応じて、制御対象装置の制御を終了するか否かを判定してもよい。
また、例えば、制御部21は、上記生産工程によりワーク40を成形する等の制御対象装置に実行させる一連の動作が完了したか否かに応じて、制御対象装置の制御を終了するか否かを判定してもよい。すなわち、制御部21は、制御対象装置に実行させる一連の動作が完了した場合に、制御対象装置の制御を終了すると判定してもよい。この場合、制御部21は、一連の動作が複数回繰り返し実行されたことに応じて、制御対象装置の制御を終了すると判定してもよい。また、制御部21は、一連の動作を繰り返した時間が所定時間を経過したことに応じて、制御対象装置の制御を終了すると判定してもよい。他方、制御対象装置に実行させる一連の動作が完了していない場合に、制御部21は、制御対象装置の制御を終了しないと判定してもよい。
制御対象装置の制御を終了すると判定した場合、制御部21は、本動作例に係る処理を終了する。一方、制御対象装置の制御を終了しない、換言すると、制御対象装置の制御を継続すると判定した場合、制御部21は、ステップS101に戻り、ステップS101~ステップS107の処理を繰り返す。
ステップS101~ステップS107の処理を繰り返す過程で、制御部21は、操作量の時系列データとして複数の指令値(60、65)を制御対象装置に与えることにより、所定の動作を実行するように制御対象装置を制御する。本実施形態の一例では、プレス機3の実機を利用した制御を実施することで、成形された製品41を生成することができる。なお、繰り返すタイミング及び一度に生成する指令値(60、65)の数はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。制御部21は、例えば、制御周期毎に、ステップS101~ステップS107の処理を繰り返してもよい。
また、繰り返しの過程で、制御部21は、ステップS107の処理により、制御量の計測値及び予測値を収集する。予測制御開発装置1により予測モデル50を生成する場面において、制御部21は、操作量の時系列データとして複数の指令値(60、65)を制御対象装置に与えることにより制御対象装置の動作を制御している間に得られた制御量の計測値を収集する。これにより、制御部21は、時系列に沿って制御量の値の推移を示す第1時系列データ223を生成することができる。
同様に、予測制御開発装置1により生成された予測モデル50の予測精度を検証する場面において、制御部21は、生成された予測モデル50を利用して導出された各指令値65を制御対象装置に与えることにより制御対象装置の動作を制御している間に得られた制御量の計測値を収集する。これにより、制御部21は、時系列に沿って制御量の値の推移を示す第2時系列データ225を生成することができる。更に、この場面において、制御部21は、ステップS104により算出された制御量の予測値を収集する。これにより、制御部21は、予測制御の間に得られた制御量の一連の予測値を時系列に沿って示す予測結果データ227を生成することができる。
なお、上記一連の処理が完了した後、又はステップS101~ステップS107の処理を繰り返す間に、制御部21は、制御対象装置を正常に動作させた際における制御量の計測値を収集してもよい。本実施形態の一例では、制御部21は、製品41に不良の生じなかった際における上側金型32の一連の位置の計測値を収集してもよい。そして、制御部21は、収集された各計測値に基づいて、各基礎目標値を修正することで、目標値情報221を更新してもよい。例えば、制御部21は、各基礎目標値と対応する時点における計測値との乖離を減らすように、各基礎目標値を修正してもよい。また、例えば、制御部21は、収集された各計測値を新たな基礎目標値に設定することで、目標値情報221を更新してもよい。
[予測制御開発装置]
次に、図9を用いて、本実施形態に係る予測制御開発装置1の動作例について説明する。図9は、本実施形態に係る予測制御開発装置1の処理手順の一例を示すフローチャートである。以下で説明する予測制御開発装置1の処理手順は、本発明の「予測制御開発方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。依存関係のない処理の順序は適宜入れ替えられてよい。
(ステップS201)
ステップS201では、制御部11は、第1取得部111として動作し、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第1時系列データ223を取得する。
本実施形態では、制御部11は、PLC2から第1時系列データ223を取得することができる。制御部11は、第1時系列データ223をPLC2から直接的に取得してもよいし、例えば、外部記憶装置、記憶媒体91等を介してPLC2から間接的に取得してもよい。ただし、第1時系列データ223の取得先は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、第1時系列データ223は、PLC2以外の他の情報処理装置により生成されてよい。この場合、制御部11は、第1時系列データ223を他の情報処理装置から取得してもよい。
上記のとおり、第1時系列データ223は、予測制御ではない通常の制御により制御対象装置を動作させることで得られたものであってもよいし、予測制御により制御対象装置を動作させることで得られたものであってもよい。第1時系列データ223が予測制御により得られたものである場合、PLC2には、本ステップS201よりも前に生成された予測モデルが予め与えられる。予め与えられる予測モデルは、以下のステップS202以降の処理により生成される予測モデル50と同様の方法で予測制御開発装置1により生成されたものであってもよいし、他の情報処理装置により生成されたものであってもよい。
本実施形態の一例では、第1時系列データ223は、複数の指令値(60、65)をサーボドライバ31に与えることで、PLC2がプレス機3の動作を制御している間における、上側金型32の位置の計測値を時系列に沿って示す。第1時系列データ223を取得すると、制御部11は、次のステップS202に処理を進める。
(ステップS202)
ステップS202では、制御部11は、モデル生成部112として動作し、取得された第1時系列データ223を分析することで、制御量の予測モデル50を生成し、生成された予測モデル50を示す生成結果データ125を生成する。
予測モデル50を生成するために、時系列データを分析する方法は、特に限定されなくてもよく、予測モデル50の種類に応じて適宜選択されてよい。本実施形態では、予測モデル50は、制御量の入力値から予測値を算出するための演算パラメータを含むように構成される。制御部11は、第1時系列データ223を分析して、演算パラメータの値を導出することで、予測モデル50を生成する。
例えば、予測モデル50が自己回帰モデルにより構成される場合、制御部11は、最小二乗法等の公知の回帰分析方法により、自己回帰係数等の演算パラメータの値を第1時系列データ223から導出する。これにより、制御部11は、予測モデル50を生成することができる。制御部11は、各項において導出された自己回帰係数を含む回帰式を示すデータを生成結果データ125として生成する。
また、例えば、予測モデル50がニューラルネットワーク等の機械学習モデルにより構成される場合、制御部11は、第1時系列データ223を学習データとして利用し、公知の機械学習方法により、機械学習モデルの演算パラメータの値を導出する。一例として、予測モデル50がニューラルネットワークにより構成される場合、制御部11は、第1時系列データ223の任意の時刻におけるサンプルを訓練データとして利用し、任意の時刻よりも未来の時刻におけるサンプルを教師データとして利用して、予測モデル50の機械学習を実行する。具体的には、制御部11は、誤差逆伝播法により演算パラメータの値を調整することで、訓練データの入力に対して教師データに適合する出力値を出力するように予測モデル50を訓練する。これにより、制御部11は、予測モデル50を生成することができる。制御部11は、導出された演算パラメータの値及び予測モデル50の構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)を示すデータを生成結果データ125として生成する。
予測モデル50が、例えば、操作量の値、ワーク40の個体情報等の制御量の値以外のデータを更に入力可能に構成される場合、制御部11は、他のデータを更に取得する。他のデータを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。制御部11は、上記の分析において、得られた他のデータを更に利用する。例えば、予測モデル50が自己回帰モデルにより構成される場合、制御部11は、自己回帰係数の導出に、得られた他のデータを更に利用する。また、例えば、予測モデル50がニューラルネットワークにより構成される場合、制御部11は、上記機械学習の処理において、得られた他のデータを訓練データとして更に利用する。これにより、制御部11は、制御量の値及び制御量の値以外のデータの入力に対して、制御量の予測値を出力するように構成された予測モデル50を生成することができる。
一例では、本ステップS202の処理により、予測モデル50は、プレス機3における上側金型32の位置を予測するように構成される。なお、制御部11は、第1時系列データ223のうち不要な部分を削除してもよい。予測モデル50を生成すると、制御部11は、次のステップS203に処理を進める。
(ステップS203)
ステップS203では、制御部11は、モデル提供部113として動作することで、生成結果データ125をコントローラに配信することで、生成された予測モデル50をコントローラに提供する。
生成結果データ125を配信する方法は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、自身の処理又はコントローラからの要求に応じて、ネットワークを介して生成結果データ125をコントローラに直接的に配信してもよい。また、例えば、制御部11は、データサーバ等の外部機構装置に生成結果データ125を送信し、コントローラに対して、外部記憶装置に保存された生成結果データ125を取得させるようにしてもよい。同様に、制御部11は、例えば、記憶媒体91等の記憶メディアに生成結果データ125を保存し、コントローラに対して、記憶メディアに保存された生成結果データ125を取得させるようにしてもよい。このように、制御部11は、コントローラに生成結果データ125を間接的に配信してもよい。
これにより、コントローラは、予測モデル50により予測される制御量の予測値に応じて各指令値を補正させ、かつ補正された各指令値を制御対象装置に与えることにより、制御対象装置の予測制御を実行することができるようになる。本実施形態の一例では、生成された予測モデル50はPLC2に提供される。PLC2は、上記ステップS104~ステップS106の処理により、提供された予測モデル50を利用して、プレス機3の予測制御を実行することができるようになる。生成された予測モデル50をコントローラに提供すると、制御部11は、次のステップS204に処理を進める。
(ステップS204)
ステップS204では、制御部11は、補正量指定部114として動作し、コントローラに、各指令値に対する補正量を指定する。補正量を指定する方法は、予測制御において指令値を補正する方法に応じて適宜決定されてよい。本実施形態の一例では、指令値に対する補正の度合いは、上記式1の比例定数r及び定数項sの値に応じて決定される。そのため、制御部11は、比例定数r及び定数項sの少なくともいずれかの値を定めることで、各指令値に対する補正量を指定する。これにより、PLC2は、予測制御開発装置1により指定された補正量に従った、プレス機3の予測制御における指令値の補正を実行することができるようになる。
なお、補正量の値(本実施形態では、比例定数r及び定数項sの少なくともいずれかの値)を決定する方法は、実施の形態に応じて適宜選択されてよい。補正量の値は、例えば、オペレータの指定により手動的に決定されてもよい。この場合、制御部11は、入力装置14を介してオペレータの指定を受け付け、オペレータの指定に応じて、補正量の値を決定してもよい。また、例えば、制御部11は、テンプレート等に応じて、補正量の値を自動的に決定してもよい。補正量を指定すると、制御部11は、次のステップS205に処理を進める。
(ステップS205)
ステップS205では、制御部11は、第2取得部115として動作し、コントローラが、補正された各指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第2時系列データ225を取得する。
本実施形態では、第1時系列データ223と同様に、制御部11は、PLC2から第2時系列データ225を取得することができる。制御部11は、第2時系列データ225をPLC2から直接的に取得してもよいし、例えば、外部記憶装置、記憶媒体91等を介してPLC2から間接的に取得してもよい。また、第2時系列データ225は、PLC2以外の他の情報処理装置により生成されてよい。この場合、制御部11は、第2時系列データ225を他の情報処理装置から取得してもよい。
一例では、第2時系列データ225は、予測モデル50を利用して導出された各指令値65をサーボドライバ31に与えることで、PLC2がプレス機3の動作を予測制御している間における、上側金型32の位置の計測値を時系列に沿って示す。第2時系列データ225を取得すると、制御部11は、次のステップS206に処理を進める。
(ステップS206及びステップS207)
ステップS206では、制御部11は、予測モデル50により予測される制御量の予測値及び第2時系列データ225により示される制御量の値の差に基づいて、予測モデル50による予測の精度が許容されるか否かを評価する。ステップS207では、制御部11は、出力部117として動作し、予測モデル50による予測の精度の評価に関する情報を表示装置15に表示させる。評価に関する情報は、予測モデル50により予測される制御量の予測値及び第2時系列データ225により示される制御量の値を含んでもよい。
本実施形態では、PLC2の上記ステップS107の処理により、予測制御を実行する過程において、各時点で予測された制御量の予測値を示す予測結果データ227が生成される。そのため、制御部11は、予測モデル50により予測される制御量の予測値を示す情報として、予測結果データ227をPLC2から取得することができる。ただし、予測値を取得する方法は、このような例に限定されなくてもよい。例えば、制御部11は、第2時系列データ225により示される制御量の各値を予測モデル50に入力し、予測モデル50の演算処理を実行することで、制御量の予測値を取得してもよい。
また、予測モデル50による予測の精度を評価する方法は、実施の形態に応じて適宜決定されてよい。本実施形態では、対応する時刻における制御量の予測値と計測値とが乖離するほど、予測モデル50による予測の精度が悪いと評価することができる。そこで、ステップS206では、制御部11は、予測結果データ227により示される制御量の予測値と第2時系列データ225により示される制御量の計測値との相違の程度を算出し、算出された相違の程度と閾値とを比較してもよい。閾値は、適宜決定されてよい。そして、制御部11は、算出された相違の程度が閾値を超えている場合に、予測モデル50による予測の精度が許容されないと評価し、そうではない場合に、予測モデル50による予測の精度が許容されると評価してもよい。相違の程度は、例えば、差分の合計値、相違の比率等により表現されてよい。これにより、制御部11は、予測モデル50による予測の精度が許容されるか否かを自動的に評価してもよい。なお、この場合、制御部11は、ステップS206の前及び後のいずれのタイミングで、ステップS207の処理を実行してもよい。
また、例えば、制御部11は、ステップS206を実行する前に、ステップS207の処理を実行して、予測モデル50による予測の精度の評価に関する情報を表示装置15に出力してもよい。当該情報は、予測モデル50により予測される制御量の予測値及び第2時系列データ225により示される制御量の計測値を含んでもよい。また、当該情報は、予測結果データ227により示される制御量の予測値と第2時系列データ225により示される制御量の計測値との相違の程度を算出した結果を含んでもよい。これに応じて、制御部11は、ステップS206の処理において、入力装置14を介して、予測モデル50による予測の精度が許容されるか否かに対するオペレータの入力を受け付けてもよい。この場合、制御部11は、オペレータの入力に応じて、予測モデル50による予測の精度が許容されるか否かを評価することができる。このように、予測モデル50による予測の精度が許容されるか否かは手動で評価されてもよい。
図10は、ステップS207により表示装置15に出力される画面150の一例を模式的に例示する。画面150は、複数の領域(1501、1502、1507、1508)に分けられている。領域1501には、予測モデル50により予測される制御量の予測値及び第2時系列データ225により示される制御量の計測値が時系列に沿って表示される。領域1502には、制御量の予測値と計測値との相違の程度を算出した結果に関する情報が表示される。図10の例では、相違の程度を算出した結果に関する情報として予測モデル50による予測の精度の値が領域1502に表示される。
領域1507には、制御対象(例えば、上側金型32を駆動するサーボモータ)に対応する変数のリストが表示される。領域1507から変数が選択されると、選択された変数に対応する制御対象に関する情報が領域1501及び領域1502に表示される。領域1508には、予測モデル50を生成するプロジェクトの一覧が表示される。プロジェクトは、生産ライン、制御対象装置等の制御単位毎に生成されてよい。領域1508からプロジェクトが選択されると、選択されたプロジェクトに関する情報が各領域(1501、1502、1507)に表示される。
また、画面150は、複数のボタン1503~1506を含む。ボタン1503は、ステップS202又は後述するステップS209により、予測モデル50を生成するために利用される。ボタン1504は、生成された予測モデル50による予測の精度を検証する、すなわち、ステップS205及びステップS206の処理を実行するために利用される。予測モデル50が生成された後、ボタン1503は、予測モデル50による予測の精度が許容されないことを受け付けるために利用されてよい。
また、一対のボタン(1505、1506)は、予測モデル50の一連の検証処理を実行するモードの切り替えに利用される。本実施形態では、予測モデル50の一連の検証処理を実行するモードとして、オフライン検証及びオンライン検証の2つのモードが用意される。オフライン検証は、第2時系列データ225及び予測結果データ227をPLC2から収集した後に、ステップS205及びステップS206の処理を実行して、予測モデル50による予測の精度を検証するモードである。一方、オンライン検証は、PLC2に接続して、第2時系列データ225及び予測結果データ227をPLC2からリアルタイムに収集しながら、ステップS205及びステップS206の処理を実行して、予測モデル50による予測の精度を検証するモードである。制御部11は、一対のボタン(1505、1506)による選択に応じて、オフライン検証及びオンライン検証のいずれかのモードで、ステップS205及びステップS206の処理を実行する。
一例では、制御部11は、PLC2によるプレス機3の予測制御において、予測モデル50による上側金型32の位置の予測の精度が許容されるか否かを評価する。予測モデル50による予測の精度を評価し、当該評価に関する情報を表示装置15に出力すると、制御部11は、次のステップS208に処理を進める。
(ステップS208)
ステップS208では、制御部11は、ステップS206の評価結果に基づいて、処理の分岐先を決定する。ステップS206において、予測モデル50による予測の精度が許容されないと評価された場合、制御部11は、次のステップS209に処理を進める。他方、ステップS206において、予測モデル50による予測の精度が許容されると評価された場合には、制御部11は、本動作例に係る処理を終了する。
(ステップS209)
ステップS209では、制御部11は、モデル生成部112として動作し、取得された第2時系列データ225を分析することで、制御量の予測モデル50を再度生成する。制御部11は、上記ステップS202と同様の処理により、第2時系列データ225を利用して、新たな予測モデル50を生成する。そして、制御部11は、生成された新たな予測モデル50を示すように生成結果データ125を更新する。なお、制御部11は、第2時系列データ225のうち不要な部分を削除してもよい。
予測モデル50を更新すると、制御部11は、ステップS203に戻り、ステップS203~ステップS207の処理を繰り返す。ステップS203では、制御部11は、モデル提供部113として動作し、更新された生成結果データ125をコントローラに配信することで、再度生成された予測モデル50をコントローラに提供する。これにより、制御部11は、コントローラの保持する予測モデル50を更新する。
これに応じて、コントローラは、更新された予測モデル50を利用して、制御対象装置の予測制御を実行することができるようになる。ステップS205では、制御部11は、更新された予測モデル50を利用した予測制御に関する第2時系列データ225を取得する。ステップS206では、制御部11は、更新された予測モデル50による予測の精度が許容されるか否かを評価する。予測モデル50による予測の精度が許容されるまで、この予測モデル50の生成及び評価の一連の処理が繰り返されてよい。
なお、基本的には、予測モデル50の生成を繰り返す度に、生成される予測モデル50による予測の精度は向上すると想定される。そこで、予測モデル50の生成を繰り返す場合、制御部11は、ステップS204の処理により、予測モデル50が更新される度に、補正量が大きくなるように当該補正量の値を決定してもよい。例えば、制御部11は、予測モデル50を更新する度に、補正量の値に所定の値を加える又は掛けることで、補正量の値を大きくしてもよい。所定の値及び補正量の初期値はそれぞれ適宜与えられてよい。所定の値及び補正量の初期値は、例えば、オペレータの指定等による手動で決定されてもよいし、テンプレート等により自動的に決定されてもよい。これにより、予測モデル50を利用した予測制御の程度を徐々に高めていきながら、予測モデル50による予測の精度の向上を図り、制御対象装置の動作を適切に制御することができるように、当該予測制御を最適化することができる。
[特徴]
以上のとおり、本実施形態に係る予測制御開発装置1は、予測モデル50がコントローラに提供された後、ステップS205及びステップS206により、この予測モデル50による予測の精度を検証することができる。そして、その検証の結果、予測モデル50による予測の精度が予測制御の利用に許容されない場合には、予測制御開発装置1は、ステップS209により、予測モデル50を提供した環境下で新たに得られた第2時系列データ225に基づいて新たな予測モデル50を生成する。そして、予測制御開発装置1は、生成した新たな予測モデル50による予測の精度が許容されるか否かを評価する。予測制御開発装置1は、生成した新たな予測モデル50による予測の精度が許容されるまで、この一連の処理を繰り返すことで、制御対象装置を運用する環境下で、予測モデル50による予測の精度を改善することができる。
この一連の処理の繰り返しによる予測モデル50の改善は、制御対象装置を実運用する前に実行されてもよいし、制御対象装置を実運用しながら実行されてもよい。つまり、本実施形態に係る予測制御開発装置1は、予測モデル50を実運用しながらであっても、当該予測モデル50の予測精度を改善し続けることができる。したがって、本実施形態に係る予測制御開発装置1によれば、大規模な生産装置は勿論のこと、プレス機3のような比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデル50を生成することができる。本実施形態の一例では、プレス機3を含む工場プロセスを最適化し、生産される製品41に不良が生じる可能性を低減することができる。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態において、制御対象装置の数は、1つに限られなくてもよく、実施の形態に応じて適宜決定されてよい。また、上記実施形態の一例では、制御対象装置はプレス機3である。しかしながら、制御対象装置の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。制御対象装置は、プレス機の他、例えば、ウェブ搬送装置、射出成形機、NC旋盤、放電加工機、包装機等の生産ラインで利用される比較的に小規模な生産装置であってもよい。この比較的に小規模な生産装置の動作は、例えば、PLCに代表される小規模な制御装置によって制御されてよい。また、上記実施形態の一例では、制御量は、上側金型32の位置であり、操作量は、上側金型32を駆動するサーボモータの電圧である。しかしながら、制御量及び操作量はそれぞれ、このような例に限定されなくてもよく、制御対象装置に応じて適宜選択されてよい。
図11は、本変形例に係る予測制御システム100Aの適用場面の一例を模式的に例示する。予測制御システム100Aは、上記実施形態に係る予測制御システム100と同様に、予測制御開発装置1及びPLC2を備えている。本変形例では、PLC2には、プレス機3に代えて、ウェブ搬送装置7が接続されている。この点を除き、本変形例は、上記実施形態と同様に構成される。ウェブ搬送装置7は、制御対象装置の他の一例である。ウェブ搬送装置7は、ウェブ70の端部の位置を調節しながら、当該ウェブ70を搬送するように構成されている。
図12を更に用いて、ウェブ搬送装置7の構成の一例について説明する。図12は、ウェブ搬送装置7においてウェブ70の端部の位置を調節する場面を模式的に例示する。図11に示されるとおり、本変形例に係るウェブ搬送装置7は、ウェブ70を供給する供給ロール71、及び供給されたウェブ70を回収する回収ロール76を備えている。ウェブ70の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ウェブ70は、例えば、ポリエチレンフィルム等の樹脂フィルムであってよい。供給ロール71及び回収ロール76の回転軸にはそれぞれサーボモータ(711、761)が取り付けられている。これにより、各サーボモータ(711、761)を駆動することで、供給ロール71からウェブ70が繰り出され、供給されたウェブ70が回収ロール76に巻き取られる。
供給ロール71及び回収ロール76の間には、3つの従動ローラ(72、73、741)が配置されている。これらのうち従動ローラ741において、ウェブ70の端部の位置を修正する(すなわち、変位させる)ように構成された修正装置74が設けられている。図12に示されるとおり、修正装置74は、従動ローラ741及びアクチュエータ743を備えている。従動ローラ741は、軸742を有し、ウェブ70を搬送するように軸742の周りに回転可能に構成されている。また、軸742にはアクチュエータ743が取り付けられており、従動ローラ741は、このアクチュエータ743の駆動により、軸方向にスライド可能に構成されている。この修正装置74によれば、アクチュエータ743の駆動により、従動ローラ741を軸方向にスライドさせることで、ウェブ70の端部の位置を修正することができる。具体的には、従動ローラ741をスライドさせた方向に、スライドさせた分に応じて、ウェブ70の端部の位置を変位させることができる。
修正装置74付近には、エッジセンサ75が配置されている。本実施形態では、エッジセンサ75は、ウェブ70の搬送方向に対して、修正装置74を備える従動ローラ741より回収ロール76側に配置されている。エッジセンサ75は、搬送されるウェブ70の端部の位置を検出するように構成される。エッジセンサ75の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。図12の例では、エッジセンサ75は、光学センサであり、コの字型の間を通過するウェブ70の端部の位置を測定可能に構成されている。
以上により、本実施形態に係るウェブ搬送装置7は、ウェブ70の端部の位置を調節しながら、当該ウェブ70を搬送するように構成されている。ただし、ウェブ搬送装置7の構成は、このような例に限定されなくてもよい。ウェブ搬送装置7の構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。例えば、従動ローラの数は、3つに限られなくてもよい。また、修正装置74の配置は、図11の例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。修正装置74の種類は、図12の例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。修正装置74の構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。
本変形例において、PLC2は、各ロール(71、76)の各サーボモータ(711、761)を操作することで、ウェブ70の搬送速度を制御することができる。そのため、各サーボモータ(711、761)の電圧が操作量として取り扱われ、ウェブ70の搬送速度が制御量として取り扱われてもよい。すなわち、予測制御開発装置1は、上記処理手順により、ウェブ70の搬送速度の推移を示す第1時系列データを取得し、取得された第1時系列データを分析することで、ウェブ70の搬送速度を予測するための予測モデルを生成してもよい。ウェブ70の搬送速度は、速度センサ(不図示)等により適宜計測されてよい。PLC2は、生成された予測モデルを利用して、各サーボモータ(711、761)に対する指令値を補正することで、ウェブ70の搬送速度を予測制御してもよい。予測制御開発装置1は、予測制御の間におけるウェブ70の搬送速度の推移を示す第2時系列データを取得し、予測モデルにより予測される予測値及び第2時系列データにより示される搬送速度の値の差に基づいて、予測モデルによる予測の精度が許容されるか否かを評価してもよい。そして、予測モデルによる予測の精度が許容されないと評価される場合には、予測制御開発装置1は、第2時系列データを分析することで、搬送速度の予測モデルを再度生成し、再度生成された予測モデルをPLC2に提供してもよい。
また、本変形例において、PLC2は、修正装置74のアクチュエータ743を操作することで、ウェブ70の端部の位置を制御することができる。そのため、ウェブ70の端部の位置を調節するためのアクチュエータ743の電圧が操作量として取り扱われ、ウェブ70の端部の位置が制御量として取り扱われてよい。すなわち、予測制御開発装置1は、上記処理手順により、ウェブ70の端部の位置の推移を示す第1時系列データを取得し、取得された第1時系列データを分析することで、ウェブ70の端部の位置を予測するための予測モデルを生成してもよい。ウェブ70の端部の位置は、エッジセンサ75により計測されてよい。PLC2は、生成された予測モデルを利用して、アクチュエータ743に対する指令値を補正することで、ウェブ70の端部の位置を予測制御してもよい。予測制御開発装置1は、予測制御の間におけるウェブ70の端部の位置の推移を示す第2時系列データを取得し、予測モデルにより予測される予測値及び第2時系列データにより示される端部の位置の値の差に基づいて、予測モデルによる予測の精度が許容されるか否かを評価してもよい。そして、予測モデルによる予測の精度が許容されないと評価される場合には、予測制御開発装置1は、第2時系列データを分析することで、端部位置の予測モデルを再度生成し、再度生成された予測モデルをPLC2に提供してもよい。本変形例によれば、ウェブ搬送装置7を含む工場プロセスを最適化し、品質の悪い製品が製造される確率を低減することができる。
<4.2>
上記実施形態では、予測制御開発装置1は、ステップS207において、予測モデル50の評価に関する情報を表示装置15に出力している。しかしながら、情報の出力先は、このような例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部11は、予測モデル50の評価に関する情報を、表示装置15とは別の表示装置に出力してもよいし、表示装置以外の出力先(例えば、メモリ、表示装置以外の出力装置)に出力してもよい。
<4.3>
上記実施形態では、予測モデル50及び補正器55は別体に構成されている。しかしながら、予測モデル50及び補正器55の構成は、このような例に限定されなくてもよい。予測モデル50は、補正器55を含んでもよい。すなわち、予測モデル50は、制御量の計測値及び基礎目標値の入力に対して、予測される制御量の予測値に応じて補正済みの目標値63を出力するように構成されてよい。この場合、予測制御開発装置1は、予測モデル50の生成に、制御量の計測値に対応する補正済みの目標値63を更に利用する。制御量の計測値に対応する補正済みの目標値63は適宜与えられてよい。また、上記実施形態において、予測モデル50の入力値及び出力値の少なくとも一方には、何らかの情報処理が実行されてよい。例えば、制御量の計測値は、特徴量に変換されてもよく、予測モデル50は、計測値から算出された特徴量の入力を受け付けるように構成されてもよい。なお、特徴量は、計測値の何らかの特徴を表し得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、特徴量は、計測値の時系列データから予測に利用する対象の特徴を抽出することで得られてもよい。また、例えば、特徴量は、集約された情報(例えば、単位区間毎の平均値の時系列)、予測時点から過去の位置区間の系列そのもの等であってよい。具体例として、特徴量は、例えば、最小値、最大値、平均値、尖度、微分値等であってよい。
また、上記実施形態では、予測制御において制御対象装置に与える指令値は、予測モデル50により予測される制御量の予測値に応じて制御量の基礎目標値を補正することで間接的に補正される。しかしながら、指令値を補正する方法は、このような例に限定されなくてもよい。指令値は、予測モデル50により予測される制御量の予測値に応じて直接的に補正されてもよい。例えば、PLC2の制御部21は、上記予測制御の処理において、例えば、PID制御、PI制御等の公知の方法により、制御量の基礎目標値に従って、指令値を決定してもよい。次に、制御部21は、ステップS104の処理を実行し、予測モデル50を利用して、取得された制御量の計測値から予測値を算出してもよい。そして、制御部21は、上記ステップS105に代えて、算出された制御量の予測値に応じて、決定された指令値を補正してもよい。指令値の補正量は適宜決定されてよい。例えば、指令値の補正量は、上記式1と同様の方法で算出されてよい。
なお、予測モデル50は、過去の複数の時刻における各値、複数種類の特徴量等の複数の値が入力されるように構成されてよい。基本的には、予測モデル50に入力される値の数が増えるほど、予測モデル50による予測の精度が向上する。一方で、予測モデル50に入力される値の数が増えると、予測モデル50の予測処理の計算量が増えるため、当該予測処理の実行時間が長くなってしまう。予測モデル50は、予測の精度が高く、かつ予測処理の実行時間が短くなるように生成されるのが好ましい。特に、PLC等の比較的に小規模な制御装置で予測モデル50を利用する場合には、予測処理の実行時間に起因して、予測制御を実施することができない可能性がある。そこで、上記実施形態に係る予測制御開発装置1は、予測モデル50を提供する前に、予測モデル50の予測精度及び予測処理の実行時間に基づいて、当該予測モデル50が予測制御に利用可能か否かを評価してもよい。
図13は、本変形例に係る予測制御開発装置1のソフトウェア構成の一例を模式的に例示する。当該変形例では、モデル評価部116は、テストデータ229を利用して、生成された予測モデル50の予測精度及び予測処理の実行時間を評価する。そして、モデル評価部116は、予測精度及び予測処理の実行時間の評価の結果に基づいて、生成された予測モデル50を予測制御に利用するか否かを判定する。生成された予測モデル50を予測制御に利用すると判定された場合、モデル提供部113は、生成された予測モデル50をコントローラに提供する。一方、生成された予測モデル50を予測制御に利用しないと判定された場合、モデル生成部112は、予測モデル50のパラメータを変更し、予測モデル50を再度生成する。パラメータは、予測モデル50の入力値及び出力値(予測値)の少なくともいずれかに対応する。パラメータを変更することは、入力項目を減らすこと、入力項目を増やすこと、特徴量の種類を変更すること等を含んでよい。これらの点を除き、本変形例は、上記実施形態と同様であってよい。
図14A及び図14Bは、本変形例に係る予測制御開発装置1の処理手順の一例を示すフローチャートである。本変形例では、制御部11は、上記ステップS201及びS202の処理を実行した後に、モデル評価部116として動作し、ステップS202U及びS202Wの処理を実行する。
ステップS202Uでは、制御部11は、テストデータ229を利用して、生成された予測モデル50の予測の精度及び予測処理の実行時間を評価する。テストデータ229は、第1時系列データ223及び第2時系列データ225と同様に、制御対象装置の制御量の値の推移を示す。ステップS202Uでは、テストデータ229は、第1時系列データ223と同様に取得されてよい。例えば、テストデータ229は、第1時系列データ223のうち、予測モデル50の生成に利用されなかった部分から取得されてよい。
テストデータ229を利用して、予測モデル50の予測の精度を評価する方法は、上記ステップS206とほぼ同様であってよい。例えば、制御部11は、生成された予測モデル50を利用した予測制御の動作、すなわち、上記ステップS101~S106の処理をシミュレートしてもよい。制御量の計測値には、テストデータ229により示される制御量の値が用いられてよい。制御部11は、これにより得られる一連の予測値とテストデータ229により示される制御量の値との相違の程度に基づいて、予測モデル50の予測の精度を算出してもよい。
また、予測処理の実行時間を評価する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。予測処理の実行時間を算出する方法には、プログラムの計算時間を算出する公知の方法が採用されてよい。例えば、制御部11は、コントローラ(PLC2)の演算資源の性能を示す情報に基づいて、予測モデル50を利用した予測制御の演算処理をシミュレートすることで、予測処理の実行時間を算出してもよい。演算資源は、例えば、メモリ、プロセッサ等である。予測制御の処理は、例えば、上記ステップS101~S106までの処理である。
また、例えば、コントローラ上での予測処理の実行時間を予測モデル50のパラメータから推定するための推定モデルが予め生成されてもよい。この推定モデルは、予測モデル50のパラメータとその予測モデル50をコントローラが利用した時の実行時間の実測値との相関関係から適宜生成されてよい。制御部11は、この推定モデルを利用して、生成された予測モデル50のパラメータから予測処理の実行時間を推定してもよい。
ステップS202Wでは、制御部11は、予測精度及び予測処理の実行時間それぞれを評価した結果に基づいて、生成された予測モデル50を予測制御に利用するか否かを判定する。例えば、制御部11は、ステップS202Uにより算出された予測モデル50の予測精度及び予測処理の実行時間を表示装置15に出力し、生成された予測モデル50を予測制御に利用するか否かの選択を受け付けてもよい。そして、制御部11は、オペレータによる当該選択に基づいて、生成された予測モデル50を予測制御に利用するか否かを判定してもよい。
また、例えば、制御部11は、ステップS202Uにより算出された予測モデル50の予測精度及び予測処理の実行時間それぞれと閾値との比較に基づいて、生成された予測モデル50を予測制御に利用するか否かを判定してもよい。予測精度に対する第1閾値及び予測処理の実行時間に対する第2閾値はそれぞれ適宜決定されてよい。各閾値は、オペレータ等により手動で設定されてもよいし、コントローラを利用した過去の実績から適宜決定されてもよい。制御部11は、算出された予測精度の値が第1閾値よりも高く、かつ算出された予測処理の実行時間の推定値が第2閾値よりも短い場合に、生成された予測モデル50を予測制御に利用すると判定してもよい。一方、そうではない場合に、制御部11は、生成された予測モデル50を予測制御に利用しないと判定してもよい。
生成された予測モデル50を予測制御に利用すると判定した場合、制御部11は、上記実施形態と同様に、ステップS203以降の処理を実行する。一方、生成された予測モデル50を予測制御に利用しないと判定した場合、制御部11は、ステップS202に戻って、予測モデル50の生成処理を繰り返す。この際、制御部11は、予測モデル50のパラメータを変更する。
パラメータの変更は、オペレータ等により手動で行われてよい。例えば、制御部11は、予測モデル50のパラメータを表示装置15に出力すると共に、当該パラメータの変更の指定を受け付けてもよい。そして、制御部11は、受け付けた内容に従って、予測モデル50のパラメータを変更してもよい。
また、例えば、制御部11は、予測精度及び予測処理の実行時間を評価した結果に基づいて、予測モデル50のパラメータを自動的に変更してもよい。一例として、予測処理の実行時間が閾値よりも長い場合、入力項目を減らすこと、及び対象の特徴量をより演算時間の短い特徴量に変更することのいずれか一方が選択されてよい。また、例えば、予測精度が閾値よりも低い場合に、入力項目を増やすこと、及び特徴量を変更することのいずれか一方が選択されてよい。
予測モデル50のパラメータを変更した後、制御部11は、ステップS202の処理を再度実行し、変更されたパラメータを有する予測モデル50を第1時系列データ223から生成する。そして、制御部11は、生成された予測モデル50に対してステップS202U及びS202Wの処理を実行する。
本変形例では、制御部11は、上記ステップS203~S209の処理を実行した後に、モデル評価部116として動作し、ステップS209U及びS209Wの処理を実行する。ステップS202で生成された予測モデル50からステップS209で生成された予測モデル50に評価の対象が変更される点を除き、ステップS209U及びS209Wは、上記ステップS202U及びS202Wと同様であってよい。ステップS209Wにおいて、生成された予測モデル50を予測制御に利用しないと判定した場合、制御部11は、ステップS209に戻って、予測モデル50の生成処理を繰り返す。この際、上記ステップS202と同様に、制御部11は、予測モデル50のパラメータを変更した上で、第2時系列データ225から予測モデル50を生成してもよい。なお、ステップS209Uにおいて、テストデータ229は、第1時系列データ223及び第2時系列データ225のうち、予測モデル50の生成に利用されなかった部分から取得されてよい。
<4.4>
上記実施形態において、予測制御開発装置1のソフトウェア構成から補正量指定部114が省略されてもよく、予測制御開発装置1の処理手順からステップS204が省略されてもよい。この場合、指令値に対する補正量の値は、予め与えられてもよい。また、ステップS204は、予測モデル50を利用するまでの任意のタイミングで実行されてよい。ステップS203~ステップS207の処理が繰り返される際、制御部11は、ステップS204において、指令値に対する補正量の値を適宜決定してもよい。また、予測制御開発装置1の処理手順からステップS207による出力処理が省略されてもよい。これに応じて、予測制御開発装置1のソフトウェア構成から出力部117が省略されてもよい。
1…予測制御開発装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…表示装置、16…ドライブ、
111…第1取得部、112…モデル生成部、
113…モデル提供部、114…補正量指定部、
115…第2取得部、116…モデル評価部、
117…出力部、
125…生成結果データ、
81…予測制御開発プログラム、91…記憶媒体、
2…PLC、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
211…目標値取得部、212…動作制御部、
213…補正処理部、214…データ収集部、
221…目標値情報、
223…第1時系列データ、225…第2時系列データ、
227…予測結果データ、
82…制御プログラム、
3…プレス機(制御対象装置)、
31…サーボドライバ、32…上側金型、33…下側金型、
35…位置センサ、
40…ワーク、41…製品、
50…予測モデル、55…補正器、
60…指令値、
150…画面

Claims (8)

  1. コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第1時系列データを取得する第1取得部と、
    取得された前記第1時系列データを分析することで、前記制御量の予測モデルを生成するモデル生成部と、
    前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するモデル提供部と、
    前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第2時系列データを取得する第2取得部と、
    前記予測モデルにより予測される前記制御量の予測値及び前記第2時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するモデル評価部と、
    を備え、
    前記予測モデルによる予測の精度が許容されないと評価された場合、
    前記モデル評価部により、前記予測モデルによる予測の精度が許容されると評価されるまで、前記モデル生成部は、取得された前記第2時系列データを分析することで、前記制御量の予測モデルを再度生成し、
    前記モデル提供部は、再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新する、
    予測制御開発装置。
  2. 前記コントローラに、前記各指令値に対する前記補正の量を指定する補正量指定部を更に備える、
    請求項1に記載の予測制御開発装置。
  3. 前記補正量指定部は、前記予測モデルが更新される度に、前記補正の量が大きくなるように指定する、
    請求項2に記載の予測制御開発装置。
  4. 前記予測モデルにより予測される前記制御量の予測値及び前記第2時系列データにより示される前記制御量の値を表示装置に表示させる出力部を更に備える、
    請求項1から3のいずれか1項に記載の予測制御開発装置。
  5. 前記制御対象装置は、金型により構成されたプレス機であり、
    前記操作量は、前記金型を駆動するサーボモータの電圧であり、
    前記制御量は、前記金型の位置である、
    請求項1から4のいずれか1項に記載の予測制御開発装置。
  6. 前記制御対象装置は、ウェブを搬送するように構成されたウェブ搬送装置であり、
    前記操作量は、前記ウェブの端部の位置を調節するためのアクチュエータの電圧であり、
    前記制御量は、前記ウェブの端部の位置である、
    請求項1から4のいずれか1項に記載の予測制御開発装置。
  7. コンピュータが、
    コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第1時系列データを取得するステップと、
    取得された前記第1時系列データを分析することで、前記制御量の予測モデルを生成するステップと、
    前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するステップと、
    前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第2時系列データを取得するステップと、
    前記予測モデルにより予測される前記制御量の予測値及び前記第2時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するステップと、
    を実行し、
    前記予測モデルによる予測の精度が許容されないと評価された場合、前記評価するステップにおいて、前記予測モデルによる予測の精度が許容されると評価されるまで、前記コンピュータは、取得された前記第2時系列データを分析することで、前記制御量の予測モデルを再度生成し、かつ再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新する、
    予測制御開発方法。
  8. コンピュータに、
    コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第1時系列データを取得するステップと、
    取得された前記第1時系列データを分析することで、前記制御量の予測モデルを生成するステップと、
    前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するステップと、
    前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第2時系列データを取得するステップと、
    前記予測モデルにより予測される前記制御量の予測値及び前記第2時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するステップと、
    を実行させ、
    前記予測モデルによる予測の精度が許容されないと評価された場合、前記評価するステップにおいて、前記予測モデルによる予測の精度が許容されると評価されるまで、前記コンピュータに、取得された前記第2時系列データを分析することで、前記制御量の予測モデルを再度生成させ、かつ再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新させる、
    ための、
    予測制御開発プログラム。
JP2019032027A 2019-02-25 2019-02-25 予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム Active JP7151547B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019032027A JP7151547B2 (ja) 2019-02-25 2019-02-25 予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム
CN202080004438.0A CN112534363B (zh) 2019-02-25 2020-02-25 预测控制开发装置、开发方法及计算机可读取的存储介质
PCT/JP2020/007284 WO2020175418A1 (ja) 2019-02-25 2020-02-25 予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム
EP20762061.8A EP3933513A4 (en) 2019-02-25 2020-02-25 PREDICTIVE CONTROL DEVELOPMENT DEVICE, METHOD AND PROGRAM
US17/270,455 US11953866B2 (en) 2019-02-25 2020-02-25 Prediction control development device, prediction control development method, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019032027A JP7151547B2 (ja) 2019-02-25 2019-02-25 予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム

Publications (2)

Publication Number Publication Date
JP2020135758A JP2020135758A (ja) 2020-08-31
JP7151547B2 true JP7151547B2 (ja) 2022-10-12

Family

ID=72238883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019032027A Active JP7151547B2 (ja) 2019-02-25 2019-02-25 予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム

Country Status (5)

Country Link
US (1) US11953866B2 (ja)
EP (1) EP3933513A4 (ja)
JP (1) JP7151547B2 (ja)
CN (1) CN112534363B (ja)
WO (1) WO2020175418A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632810A (zh) * 2020-11-30 2021-04-09 江苏科技大学 一种杆件折弯上模下压量规律的预测方法
JP2023002081A (ja) * 2021-06-22 2023-01-10 オムロン株式会社 予測システム、情報処理装置および情報処理プログラム
CN114397865B (zh) * 2021-12-24 2023-10-20 广州市香港科大霍英东研究院 一种回收料混合比例在线检测方法、装置及存储介质
TWI832503B (zh) * 2022-10-20 2024-02-11 英業達股份有限公司 生產線零件進料時序資料誤差追認修正系統

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016115289A (ja) 2014-12-17 2016-06-23 富士通株式会社 センサ制御装置、センサ制御プログラム及びセンサ制御方法
JP2018116545A (ja) 2017-01-19 2018-07-26 オムロン株式会社 予測モデル作成装置、生産設備監視システム、及び生産設備監視方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003311496A (ja) * 2002-04-26 2003-11-05 Komatsu Ltd プレス機械のダイハイト調整装置
US7110924B2 (en) * 2002-05-15 2006-09-19 Caterpillar Inc. Method for controlling the performance of a target system
US7376472B2 (en) * 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
WO2009038563A1 (en) * 2007-09-20 2009-03-26 United Technologies Corporation Model-based egress support system
JP5196379B2 (ja) * 2009-06-24 2013-05-15 株式会社日立製作所 制御装置、制御モデル調整装置及び制御モデル調整方法
US8412357B2 (en) * 2010-05-10 2013-04-02 Johnson Controls Technology Company Process control systems and methods having learning features
US9367055B2 (en) 2013-04-02 2016-06-14 Siemens Aktiengesellschaft System and method for implementing model predictive control in PLC
JP2018041150A (ja) * 2016-09-05 2018-03-15 オムロン株式会社 モデル予測制御装置、モデル予測制御装置の制御方法、情報処理プログラム、および記録媒体
JP6859633B2 (ja) * 2016-09-05 2021-04-14 オムロン株式会社 モデル予測制御装置、モデル予測制御装置の制御方法、情報処理プログラム、および記録媒体
JP6508158B2 (ja) * 2016-10-17 2019-05-08 トヨタ自動車株式会社 プラント制御装置
JP2019010750A (ja) * 2017-06-29 2019-01-24 理想科学工業株式会社 印刷装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016115289A (ja) 2014-12-17 2016-06-23 富士通株式会社 センサ制御装置、センサ制御プログラム及びセンサ制御方法
JP2018116545A (ja) 2017-01-19 2018-07-26 オムロン株式会社 予測モデル作成装置、生産設備監視システム、及び生産設備監視方法

Also Published As

Publication number Publication date
JP2020135758A (ja) 2020-08-31
EP3933513A1 (en) 2022-01-05
WO2020175418A1 (ja) 2020-09-03
CN112534363B (zh) 2022-04-12
US20210325838A1 (en) 2021-10-21
CN112534363A (zh) 2021-03-19
EP3933513A4 (en) 2023-01-04
US11953866B2 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
JP7151547B2 (ja) 予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム
JP6836577B2 (ja) 研磨工具摩耗量予測装置、機械学習装置及びシステム
US20170308052A1 (en) Cell controller for optimizing motion of production system including industrial machines
CN112534362B (zh) 控制装置、控制方法及计算机可读存储介质
CN110116371B (zh) 研磨工具磨损量预测装置、机器学习装置以及系统
US20170157767A1 (en) Machine learning device, laminated core manufacturing apparatus, laminated core manufacturing system, and machine learning method for learning operation for stacking core sheets
JP7031502B2 (ja) 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム
JP6781242B2 (ja) 制御装置、機械学習装置及びシステム
JP2018181217A (ja) 加減速制御装置
US11579000B2 (en) Measurement operation parameter adjustment apparatus, machine learning device, and system
CN110174871A (zh) 控制装置、机器学习装置以及系统
JP7006640B2 (ja) 制御装置、制御方法、及び制御プログラム
CN113168136A (zh) 用于控制制造设施的控制装置以及制造设施和方法
JP5077831B2 (ja) プラント制御システムおよびプラント制御方法
JP6829271B2 (ja) 測定動作パラメータ調整装置、機械学習装置及びシステム
WO2021256215A1 (ja) 制御装置、上位コントローラ、制御方法、及び制御プログラム
CN108693841B (zh) 制造系统以及制造方法
TWI830193B (zh) 預測系統、資訊處理裝置以及資訊處理程式
WO2022210472A1 (ja) 加工条件調整装置
WO2018029393A1 (en) A method, system, computer program product and computer data-base for controlling an industrial process or machine
JP2022127675A (ja) モデル生成装置、モデル生成方法、モデル生成プログラム、推定装置、推定方法、及び推定プログラム
JP2019160176A (ja) 部品供給量推定装置及び機械学習装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220328

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: 20220830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220912

R150 Certificate of patent or registration of utility model

Ref document number: 7151547

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150