JP7031502B2 - 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム - Google Patents

制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム Download PDF

Info

Publication number
JP7031502B2
JP7031502B2 JP2018109630A JP2018109630A JP7031502B2 JP 7031502 B2 JP7031502 B2 JP 7031502B2 JP 2018109630 A JP2018109630 A JP 2018109630A JP 2018109630 A JP2018109630 A JP 2018109630A JP 7031502 B2 JP7031502 B2 JP 7031502B2
Authority
JP
Japan
Prior art keywords
value
data
learning
command value
target device
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
JP2018109630A
Other languages
English (en)
Other versions
JP2019212164A (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 JP2018109630A priority Critical patent/JP7031502B2/ja
Priority to TW108107833A priority patent/TW202001706A/zh
Priority to CN201980030426.2A priority patent/CN112105994B/zh
Priority to US17/052,523 priority patent/US11681261B2/en
Priority to EP19814529.4A priority patent/EP3805875B1/en
Priority to PCT/JP2019/010189 priority patent/WO2019235018A1/ja
Publication of JP2019212164A publication Critical patent/JP2019212164A/ja
Application granted granted Critical
Publication of JP7031502B2 publication Critical patent/JP7031502B2/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
    • 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/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • 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/041Adaptive 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 in which a variable is automatically adjusted to optimise the performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Feedback Control In General (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本発明は、制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラムに関する。
近年、様々な装置において、未来の状態を予測し、予測した未来の状態に適した動作の制御を行うための予測制御の技術が開発されている。例えば、特許文献1では、制御対象の複数のモデルを有し、いずれかのモデルを用いて制御量の予測値を計算する制御システムが提案されている。具体的には、この制御システムは、外部環境に応じて予測計算に用いるモデルを選択し、選択したモデルを利用して操作量を決定する。これにより、外部環境に応じた対象装置の予測制御を実現することができる。
特開2000-099107号公報
予測モデルは、事前に収集した学習データを利用して構築される。そのため、この予測モデルによれば、学習データに表れる状況に同一又は類似するケースには、対象装置に対する指令値を適切に決定することができるが、未知のケースには、当該指令値を適切に決定できない可能性がある。換言すると、この予測モデルは、未知のケースにおいて対象装置の動作を制御する際に、可動域を超えた値、故障を発生させる値等の不適切な指令値を出力する可能性がある。そこで、予測モデルを用いる場合には、対象装置の動作の安全性を確保するために、指令値の範囲を制限する制約条件(閾値)が設けられる。例えば、特許文献1で提案されている制御システムでは、予め設定された制約条件の中で、モデルを用いて予測した制御量の予測値から最適な操作量を決定している。
しかしながら、本件発明者らは、このような予め設定された制約条件を利用する従来の制御システムでは、次のような問題点が生じ得ることを見出した。すなわち、制約条件(閾値)は、基本的には、制御システムを利用するユーザにより予め設定される。このときに、対象装置の動作の安全性を過度に考慮して、安全性を満たす範囲よりも指令値の許容範囲が狭くなるように、制約条件が設定されてしまう可能性がある。このように制約条件が設定されてしまうと、予測モデルによって決定された指令値が、安全性を満たすにも関わらず、制約条件を満たさないことで、対象装置の制御に用いる指令値として受け入れられずに、予測制御を適切に実施することができなくなってしまう。つまり、予め設定された制約条件を利用する制御システムでは、対象装置の動作の安全性を確保することはできるものの、予測モデルの性能を十分に発揮することができない可能性があるという問題点を本件発明者らは見出した。
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、予測モデルの性能を十分に発揮可能な予測制御を実施するための技術を提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係る制御システムは、対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得する学習データ取得部と、取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築する学習処理部と、取得した前記複数件の学習用データセットにおける前記第2データの分布から前記指令値の取り得る数値範囲を推定する推定部と、前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定する閾値決定部と、運用フェーズにおいて、前記要因に関する入力データを取得する入力データ取得部と、取得した入力データを前記予測モデルに入力することで、前記予測モデルから出力値を取得し、取得した前記出力値に基づいて、決定した前記第2の閾値により規定される第2の許容範囲内で、前記対象装置に対する指令値を決定する予測演算部と、決定した前記指令値に基づいて、前記対象装置の動作を制御する動作制御部と、を備える。
当該構成に係る制御システムは、予測モデルの構築に利用した学習用データセットにおける第2データの分布から、対象装置への指令値の取り得る数値範囲を推定する。そして、当該構成に係る制御システムは、指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した数値範囲に基づいて、当該指令値に対する第2の閾値を決定する。当該構成に係る制御システムは、この第2の閾値により規定される第2の許容範囲を指令値の制約条件として利用する。すなわち、当該構成に係る制御システムは、予測モデルを利用する運用フェーズにおいて、この第2の閾値により規定される第2の許容範囲内で、対象装置に対する指令値を決定する。
これにより、安全性を過度に考慮して第1の許容範囲が狭く設定された場合であっても、この第1の許容範囲を拡げるように設定された第2の許容範囲を制約条件として利用することで、対象装置の制御に用いる指令値を許容する範囲を拡げることができる。つまり、第1の許容範囲を制約条件として利用した場合には拒絶されるような指令値の一部を対象装置の制御に用いるようにすることができる。また、各件の学習用データセットは、特定のケースに適した動作の制御を実現するように収集され得るため、各件の学習用データセットにおける第2データに基づいて指定される指令値によれば、対象装置の動作を安全に制御することができる。よって、学習用データセットにおける第2データの分布から推定される数値範囲に基づくことで、対象装置の動作の安全性を確保するように、第2の許容範囲を規定する第2の閾値を決定することができる。したがって、当該構成に係る制御システムによれば、対象装置の動作の安全性を確保しつつ、予測モデルの性能を十分に発揮可能な予測制御を実施することができる。
なお、「対象装置」は、制御の対象となり得るあらゆる種類の装置を含んでもよく、例えば、ワークから製品を生産するように構成された生産装置を含んでもよい。「予測モデル」は、予測処理を実行する時点よりも先の時点(将来の時点)における生産装置への指令値を予測可能なモデルであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「予測モデル」には、例えば、決定木、ニューラルネットワーク、サポートベクタマン等の学習モデルが用いられてもよい。「第1データ」は、対象装置の動作を決定し得るあらゆる種類の要因に関するデータであってよい。「第2データ」は、対象装置への指令値を直接的に指定する値(すなわち、指令値そのもの)により構成されてもよいし、例えば、指令値の基準値に対する補正値等のように指令値を間接的に指定する値により構成されてよい。
上記一側面に係る制御システムにおいて、前記閾値決定部は、推定した前記数値範囲の境界値又は前記第1の閾値と当該境界値との間の値を前記第2の閾値として採用してもよい。当該構成によれば、予測モデルの性能を十分に発揮可能な予測制御を実施することができるように、第2の閾値を適切に決定することができる。
上記一側面に係る制御システムにおいて、前記第1の閾値は、前記第1の許容範囲の上限値であってよく、前記閾値決定部は、前記上限値を超える値を前記第2の閾値として採用してもよい。当該構成によれば、予測モデルの性能を十分に発揮可能な予測制御を実施することができるように、第2の閾値を適切に決定することができる。
上記一側面に係る制御システムにおいて、前記第1の閾値は、前記第1の許容範囲の下限値であってよく、前記閾値決定部は、前記下限値より小さい値を前記第2の閾値として採用してもよい。当該構成によれば、予測モデルの性能を十分に発揮可能な予測制御を実施することができるように、第2の閾値を適切に決定することができる。
上記一側面に係る制御システムにおいて、前記閾値決定部は、予め設定された安全条件を満たすように前記第2の閾値を決定してもよい。当該構成によれば、対象装置の動作の安全性を確実に確保することができる。なお、「安全条件」は、適宜設定されてよく、閾値により規定されてもよいし、シミュレーション又は実機の駆動の条件により規定されてもよい。
上記一側面に係る制御システムにおいて、前記第2データは、前記指令値の基準値に対する補正値により構成されてよい。当該構成によれば、予測モデルから得られる補正値を利用して、対象装置への指令値を適切に決定可能な制御システムを提供することができる。
上記一側面に係る制御システムにおいて、前記対象装置は、ワークから製品を生産する生産装置であってよく、前記第1データ及び前記入力データはそれぞれ、前記ワークの特徴量及び前記製品を生産する環境の属性値の少なくとも一方により構成されてよい。当該構成によれば、予測モデルの性能を十分に発揮可能な生産装置の予測制御を実施することができる。
なお、「生産装置」は、何らかの生産処理を行い、制御の対象となり得る装置であれば特に限定されなくてもよく、例えば、プレス機、射出成形機、NC旋盤、放電加工機、包装機、搬送機、検査機内の搬送機構等であってよい。「ワーク」は、生産装置の作業対象となり得る物であれば特に限定されなくてもよく、例えば、製品の原料、加工前の物、組み立て前の部品等であってよい。「製品」は、ワークに対して生産装置が生産処理を行うことで得られる物であり、最終品の他、中間品(加工途中のもの)を含んでもよい。
「ワークの特徴量」は、ワークの何らかの特徴を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ワークの特徴量は、例えば、硬さ、寸法、材質、重さ、熱等を示すものであってよい。また、ワークの特徴量は、ワークの特徴を直接的に示すものであってもよいし、ワークの特徴を間接的に示すものであってもよい。ワークの特徴を直接的に示すとは、例えば、ワークの硬さ(硬度)そのものを数値、クラス等で表現することである。一方、ワークの特徴を間接的に示すとは、例えば、ワークの硬さ(硬度)を測定する際に得られた2次的指標(例えば、ワークにかかる荷重、測定の際に作用させたトルク等)を数値、クラス等で表現することである。
また、「製品を生産する環境の属性値」は、生産装置が稼動する環境に関する何らかの属性を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品を生産する環境の属性値は、例えば、生産装置の周囲の温度、湿度、装置の劣化度合い(例えば、経年数、加工回数等)、振動等を示すものであってよい。
なお、上記各形態に係る制御システムの別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、上記各形態に係る制御システムの別の態様として、本発明の一側面は、以上の各構成の一部分(例えば、予測モデルを構築する部分、第2の閾値を決定する部分、予測モデル及び第2の閾値を利用する部分等)を実現する情報処理システムであってもよいし、情報処理装置であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。
例えば、本発明の一側面に係る制御方法は、コンピュータが、対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得するステップと、取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築するステップと、取得した前記複数件の学習用データセットにおける前記第2データの分布から前記指令値の取り得る数値範囲を推定するステップと、前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定するステップと、運用フェーズにおいて、前記要因に関する入力データを取得するステップと、取得した入力データを前記予測モデルに入力することで、前記予測モデルから出力値を取得するステップと、取得した前記出力値に基づいて、決定した前記第2の閾値により規定される第2の許容範囲内で、前記対象装置に対する指令値を決定するステップと、決定した前記指令値に基づいて、前記対象装置の動作を制御するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習装置は、対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得する学習データ取得部と、取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築する学習処理部と、取得した前記複数件の学習用データセットにおける前記第2データの分布から前記指令値の取り得る数値範囲を推定する推定部と、前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定する閾値決定部と、を備える。
また、例えば、本発明の一側面に係る制御装置は、対象装置の動作を決定する要因に関する入力データを取得する入力データ取得部と、取得した入力データを前記予測モデルに入力することで、前記予測モデルから出力値を取得し、取得した前記出力値に基づいて、上記構成に係る学習装置によって決定された前記第2の閾値により規定される第2の許容範囲内で、前記対象装置に対する指令値を決定する予測演算部と、決定した前記指令値に基づいて、前記対象装置の動作を制御する動作制御部と、を備える。
また、例えば、本発明の一側面に係る学習方法は、コンピュータが、対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得するステップと、取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築するステップと、取得した前記複数件の学習用データセットにおける前記第2データの分布から前記指令値の取り得る数値範囲を推定するステップと、前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習プログラムは、コンピュータに、対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得するステップと、取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築するステップと、取得した前記複数件の学習用データセットにおける前記第2データの分布から前記指令値の取り得る数値範囲を推定するステップと、前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定するステップと、を実行させるための、プログラムである。
本発明によれば、予測モデルの性能を十分に発揮可能な予測制御を実施することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係る制御装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係る生産装置の一例を模式的に例示する。 図5Aは、図4の生産装置における生産工程の一例を模式的に例示する。 図5Bは、図4の生産装置における生産工程の一例を模式的に例示する。 図5Cは、図4の生産装置における生産工程の一例を模式的に例示する。 図5Dは、図4の生産装置における生産工程の一例を模式的に例示する。 図6は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。 図7Aは、実施の形態に係る予測モデルの一例を模式的に例示する。 図7Bは、予測モデルに対する入力と出力との関係を模式的に例示する。 図8は、実施の形態に係る制御装置のソフトウェア構成の一例を模式的に例示する。 図9は、実施の形態に係る学習装置の処理手順の一例を例示する。 図10は、指令値に関する第2データの分布の一例を模式的に例示する。 図11Aは、第2の閾値を決定する方法の一例を模式的に例示する。 図11Bは、第2の閾値を決定する方法の一例を模式的に例示する。 図12は、実施の形態に係る制御装置の処理手順の一例を例示する。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本実施形態に係る制御システム100の利用場面の一例を模式的に例示する。
図1で例示される制御システム100は、ネットワークを介して接続される学習装置1及び制御装置2を備えており、生産装置3の動作を制御するように構成される。学習装置1及び制御装置2の間のネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
なお、図1の例では、学習装置1及び制御装置2は、互いに別個のコンピュータである。しかしながら、制御システム100の構成は、このような例に限定されなくてもよい。学習装置1及び制御装置2は、一体のコンピュータで構成されてもよい。また、学習装置1及び制御装置2はそれぞれ複数台のコンピュータにより構成されてよい。
本実施形態に係る学習装置1は、生産装置3の動作を予測制御するための予測モデル(後述する予測モデル5)を構築するように構成されたコンピュータである。生産装置3は、ワークから製品を生産するよう構成されており、本発明の「対象装置」の一例である。ただし、本発明の「対象装置」は、このような生産装置3に限定されなくてもよく、制御の対象となり得るあらゆる種類の装置を含んでもよい。また、図1の例では、生産装置3は、ワークを加工するプレス機である。このプレス機は、「生産装置」の一例である。制御装置2を適用可能な生産装置は、このようなプレス機に限られなくてもよく、実施の形態に応じて適宜選択されてよい。生産装置3は、例えば、プレス機の他、射出成形機、NC旋盤、放電加工機、包装機、搬送機、検査機内の搬送機構等であってよい。
本実施形態に係る学習装置1は、予測モデルを構築するために、複数件の学習用データセット(後述する学習用データセット121)を取得する。複数件の学習用データセットは、生産装置3の動作を決定する要因に関する第1データ(後述する特徴量1211及び属性値1212)、及び生産装置3への指令値であって、第1データにより示される要因に適応した指令値に関する第2データ(後述する補正値1213)の組み合わせによりそれぞれ構成される。学習装置1は、取得した複数件の学習用データセットそれぞれについて、第1データを入力すると、第2データに対応する値を出力するように予測モデルを構築する。
また、本実施形態に係る学習装置1は、取得した複数件の学習用データセットにおける第2データの分布から指令値の取り得る数値範囲を推定する。そして、学習装置1は、生産装置3への指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した数値範囲に基づいて、生産装置3への指令値に対する第2の閾値を決定する。
一方、本実施形態に係る制御装置2は、学習装置1により構築された予測モデルを利用して、生産装置3の動作を制御するように構成されたコンピュータである。具体的に、本実施形態に係る制御装置2は、生産装置3の動作を決定する要因に関する入力データ(後述する特徴量71及び属性値72)を取得する。続いて、制御装置2は、取得した入力データを予測モデルに入力することで、当該予測モデルから出力値を取得する。次に、制御装置2は、取得した出力値に基づいて、学習装置1によって決定された第2の閾値により規定される第2の許容範囲内で、生産装置3に対する指令値を決定する。そして、制御装置2は、決定した指令値に基づいて、生産装置3の動作を制御する。
以上のとおり、本実施形態に係る制御システム100では、予め設定された第1の閾値により規定される第1の許容範囲ではなく、第1の許容範囲を拡げるように設定された第2の閾値により規定される第2の許容範囲が指令値の制約条件として利用される。これにより、安全性を過度に考慮して第1の許容範囲が狭く設定された場合であっても、生産装置3の動作の制御に用いる指令値を許容する範囲を拡げることができる。つまり、第1の許容範囲を制約条件として利用した場合には拒絶されるような指令値の一部を生産装置3の動作の制御に用いるようにすることができる。
更に、各件の学習用データセットは、特定のケースに適した動作の制御を実現するように収集される。そのため、各件の学習用データセットにおける第2データに基づいて指定される指令値によれば、生産装置3の動作を安全に制御することができる。よって、学習用データセットにおける第2データの分布から推定される数値範囲に基づくことで、生産装置3の動作の安全性を確保するように、第2の許容範囲を規定する第2の閾値を決定することができる。したがって、本実施形態に係る制御システム100によれば、生産装置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は、制御部11(CPU)により実行される学習プログラム81、複数件の学習用データセット121、学習結果データ125等の各種情報を記憶する。
学習プログラム81は、予測モデルを構築する機械学習の後述する情報処理(図9)を学習装置1に実行させ、当該機械学習の結果として学習結果データ125を生成するためのプログラムである。学習プログラム81は、当該情報処理の一連の命令を含む。複数件の学習用データセット121は、生産装置3による製品の生産に適応した指令値を予測する能力を獲得した予測モデルを構築するための機械学習に利用されるデータである。詳細は後述する。
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、制御装置2)と行うことができる。また、学習装置1は、この通信インタフェース13を利用することで、生成した学習結果データ125を外部の装置に配信することができる。
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、学習装置1を操作することができる。
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記学習プログラム81及び学習用データセット121の少なくとも一方は、この記憶媒体91に記憶されていてもよい。
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置1は、この記憶媒体91から、上記学習プログラム81及び学習用データセット121の少なくとも一方を取得してもよい。
ここで、図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)等が用いられてもよい。
<制御装置>
次に、図3を用いて、本実施形態に係る制御装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る制御装置2のハードウェア構成の一例を模式的に例示する。
図3に示されるとおり、本実施形態に係る制御装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。なお、図3では、通信インタフェース及び外部インタフェースをそれぞれ「通信I/F」及び「外部I/F」と記載している。
制御部21は、上記制御部11と同様に、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、制御部21(CPU)により実行される制御プログラム82、学習結果データ125等の各種情報を記憶する。
制御プログラム82は、生産装置3の動作を制御する後述の情報処理(図12)を制御装置2に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。学習結果データ125は、学習済みの予測モデルの設定を行うためのデータである。詳細は後述する。
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。制御装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置1)と行うことができる。
外部インタフェース24は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース24の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、制御装置2は、外部インタフェース24を介して、生産装置3に接続される。これにより、制御装置2は、生産装置3に対して指令値を送信することで、生産装置3の動作を制御することができる。
入力装置25は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置26は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置25及び出力装置26を介して、制御装置2を操作することができる。
ドライブ27は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ27の種類は、記憶媒体92の種類に応じて適宜選択されてよい。上記制御プログラム82及び学習結果データ125の少なくとも一方は、この記憶媒体92に記憶されていてもよい。
記憶媒体92は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。制御装置2は、この記憶媒体92から、上記制御プログラム82及び学習結果データ125の少なくとも一方を取得してもよい。
ここで、図3では、上記図2と同様に、記憶媒体92の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体92の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
なお、制御装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26及びドライブ27の少なくともいずれかは省略されてもよい。制御装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、制御装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のコントローラ、汎用のサーバ装置、汎用のデスクトップPC、ノートPC、タブレットPC等であってもよい。
<生産装置>
次に、図4を用いて、本実施形態に係る生産装置3のハードウェア構成の一例について説明する。図4は、本実施形態に係る生産装置3のハードウェア構成の一例を模式的に例示する。
本実施形態に係る生産装置3は、サーボドライバ31、上側金型32、及び下側金型33を備えている。下側金型33が固定されているのに対して、上側金型32は、サーボモータ(不図示)によって、上下方向に移動可能に構成されている。これにより、上側金型32は、下側金型33にワークを押し付けて、ワークの成形を行ったり、下側金型33から離れたりすることができる。サーボドライバ31は、制御装置2からの指令値に基づいて、上側金型32のサーボモータを駆動するように構成される。
次に、図5A~図5Dを用いて、生産装置3における生産工程の一例を模式的に例示する。生産装置3は、例えば、生産ラインに配置される。図5Aに示されるとおり、初期状態では、上側金型32は、下側金型33から離れた待機位置に配置され、下側金型33にワーク40が搬送されるまで待機する。ワーク40は、例えば、金属製の板材である。ただし、ワーク40は、このような例に限定される訳ではなく、生産装置3の種類に応じて適宜選択されてよい。ワーク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を生産する一連の生産工程が完了する。
この生産工程において、図5Cにおけるプレス時間が不十分であったり、上側金型32が下死点に到達するまでサーボモータを駆動していなかったりすると、得られる製品41の品質が悪化してしまう。そこで、従来、現場の作業者が、定期的に製品の品質をチェックし、生産装置の動作の設定を調節することで、不良品の発生を抑制していた。これに対して、本実施形態に係る制御装置2は、予測モデルを利用することで、生産工程に不良が生じないように、生産装置3への適切な指令値を予測する。これにより、制御装置2は、不良品の発生を抑制するように、生産装置3の動作を自動的に調節する。
[ソフトウェア構成]
<学習装置>
次に、図6を用いて、本実施形態に係る学習装置1のソフトウェア構成の一例について説明する。図6は、本実施形態に係る学習装置1のソフトウェア構成の一例を模式的に例示する。
学習装置1の制御部11は、記憶部12に記憶された学習プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された学習プログラム81をCPUにより解釈及び実行して、学習プログラム81に含まれる一連の命令に基づいて、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係る学習装置1は、学習データ取得部111、学習処理部112、推定部113、及び閾値決定部114をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部11(CPU)により実現される。
学習データ取得部111は、予測モデル5の機械学習に利用する複数件の学習用データセット121を取得する。各件の学習用データセット121は、生産装置3の動作を決定する要因に関する第1データ、及び生産装置3への指令値であって、第1データにより示される要因に適応した指令値に関する第2データの組み合わせで構成される。具体的に、本実施形態では、第1データは、ワーク40の特徴量1211及び製品41を生産する環境の属性値1212により構成される。また、第2データは、指令値の基準値に対する補正値1213であって、特徴量1211及び属性値1212により示される状況に適応した指令値が得られるように決定された補正値1213により構成される。第1データは、訓練データ(入力データ)に対応し、第2データは、教師データ(正解データ)に対応する。
学習処理部112は、取得した複数件の学習用データセット121を利用した機械学習を行うことにより、学習済みの予測モデル5を構築する。すなわち、学習処理部112は、取得した各件の学習用データセット121について、第1データ(特徴量1211及び属性値1212)を入力すると、入力した第1データに関連付けられた第2データ(補正値1213)に対応する値を出力するように予測モデル5を構築する。そして、学習処理部112は、構築した学習済みの予測モデル5に関する情報を学習結果データ125として記憶部12に格納する。
推定部113は、取得した複数件の学習用データセット121における第2データ(補正値1213)の分布61から指令値の取り得る数値範囲を推定する。そして、閾値決定部114は、生産装置3への指令値に対して予め設定された第1の閾値60により規定される第1の許容範囲を拡げるように、推定した数値範囲に基づいて、生産装置3への指令値に対する第2の閾値62を決定する。
(予測モデル)
次に、図7A及び図7Bを更に用いて、本実施形態に係る予測モデル5について説明する。図7Aは、本実施形態に係る予測モデル5の構成の一例を模式的に例示する。また、図7Bは、予測モデル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)との間にそれぞれ、リンクが設けられている。
なお、図7Aの例では、決定木の深さは4であり、中間ノードの数は3つであり、葉ノードの数は5つである。しかしながら、決定木の深さ、中間ノードの数、及び葉ノードの数は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。また、図7Aの例では、根ノードRから各葉ノードL1~L5にリンクが設けられていない。しかしながら、決定木の構成は、このような例に限定されなくてもよく、根ノードからのリンクに接続される葉ノードが存在してもよい。
このような予測モデル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には、図7Bに示されるとおり、予測モデル5の演算処理の最終結果(クラスC1~C5)が紐付けられている。
本実施形態では、各葉ノードL1~L5(クラスC1~C5)には、入力される特徴量及び属性値に応じた補正値が紐付けられる。すなわち、学習処理部112は、特徴量1211及び属性値1212を入力すると、入力した特徴量1211及び属性値1212に関連付けられた補正値1213に対応するクラスの葉ノードに到達するように予測モデル5(決定木)を構築する。そして、学習処理部112は、構築した学習済みの予測モデル5の構成、各分岐条件を示す情報等を学習結果データ125として記憶部12に格納する。
<制御装置>
次に、図8を用いて、本実施形態に係る制御装置2のソフトウェア構成の一例について説明する。図8は、本実施形態に係る制御装置2のソフトウェア構成の一例を模式的に例示する。
制御装置2の制御部21は、記憶部22に記憶された制御プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された制御プログラム82をCPUにより解釈及び実行して、制御プログラム82に含まれる一連の命令に基づいて、各構成要素を制御する。これによって、図8に示されるとおり、本実施形態に係る制御装置2は、入力データ取得部211、予測演算部212、及び動作制御部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
入力データ取得部211は、生産装置3の動作を決定する要因に関する入力データを取得する。本実施形態では、予測モデル5は、ワーク40の特徴量及び製品41を生産する環境の属性値の入力に対して、製品41の生産に適応した指令値を予測するように構築される。そこで、入力データ取得部211は、ワーク40の特徴量71及び製品41を生産する環境の属性値72を入力データとして取得する。
予測演算部212は、学習装置1により生成された学習結果データ125を保持している。これにより、予測演算部212は、ワーク40から製品41を生産する生産装置3への指令値であって、生産装置3による製品41の生産に適応した指令値を予測するように構築された予測モデル5を備えている。予測演算部212は、学習結果データ125を参照し、予測制御に利用する予測モデル5の設定を行う。
次に、予測演算部212は、取得した入力データ(特徴量71及び属性値72)を予測モデル5に入力し、予測モデル5の演算処理を実行する。これにより、予測演算部212は、生産装置3による製品41の生産に適応した指令値を予測した結果に対応する出力値を当該予測モデル5から取得する。予測演算部212は、取得した出力値に基づいて、学習装置1によって決定された第2の閾値62により規定される第2の許容範囲内で、生産装置3に対する指令値を決定する。
本実施形態では、予測モデル5は、製品41の生産に適応した指令値の予測の結果に対応する出力値として、指令値の基準値70に対する補正値73を出力する決定木により構成されている。そのため、予測演算部212は、予測モデル5の演算処理として、決定木の探索処理を実行する。予測演算部212は、この予測モデル5の演算処理を完了することで、当該予測モデル5から補正値73に対応する出力値を取得することができる。
具体例として、図7Aに例示される決定木(予測モデル5)の探索処理について説明する。予測演算部212は、予測モデル5の根ノードRから探索処理を開始して、入力データが分岐条件を満たすか否かの判定を繰り返すことで、いずれかの葉ノードL1~L5に到達するまで、より深いノードに探索を進めていく。図7Aの例では、入力x0が特徴量71に対応し、入力x1が属性値72に対応している。図7Bは、各入力(x0、x1)と到達する葉ノードL1~L5に対応付けられたクラスC1~C5との関係を例示している。
例えば、入力x0が2000であり、入力x1が30であることを想定する。この場合、予測演算部212は、予測モデル5の1階層目の演算処理(探索処理)として、根ノードRに設定された分岐条件を入力x0が満たすか否かを判定する。図7Aの例では、根ノードRに設定された分岐条件は「x0<2500」であり、入力x0は2000であるため、予測演算部212は、根ノードRに設定された分岐条件を入力x0は満たすと判定し、次の階層の中間ノードN1に探索を進める。
次に、予測演算部212は、予測モデル5の2階層目の演算処理として、中間ノードN1に設定された分岐条件を入力x1が満たすか否かを判定する。図7Aの例では、中間ノードN1に設定された分岐条件は「x1<20」であり、入力x1が30であるため、予測演算部212は、中間ノードN1に設定された分岐条件を入力x1は満たさないと判定し、次の階層の葉ノードL2に進む。これにより、決定木の探索処理が葉ノードL2に到達するため、予測モデル5の演算処理が完了する。予測演算部212は、予測モデル5の演算処理の最終結果として、葉ノードL2のクラスC2に対応付けられた補正値73を取得することができる。
各クラスC1~C5に対応付けられた補正値73を取得する方法は、実施の形態に応じて適宜決定されてよい。例えば、各クラスC1~C5には、補正値が直接的に対応付けられていてもよい。また、例えば、制御装置2は、各クラスC1~C5と補正値との対応関係を示すテーブル形式等の参照情報を記憶部22に保持していてもよい。この参照情報は、上記予測モデル5の学習過程において生成されてよく、学習結果データ125に含まれていてもよい。この場合、予測演算部212は、いずれかの葉ノードに到達した後、到達した葉ノードのクラスを参照情報に照合することで、予測モデル5の演算処理の最終結果として、指令値の基準値70に対する補正値73を取得することができる。
続いて、予測演算部212は、取得した補正値73により基準値70を補正することで得られた値に基づいて、第2の許容範囲内で指令値75を決定する。補正値73により基準値70を補正することで得られた値が第2の許容範囲内である場合には、予測演算部212は、この得られた値を指令値75に決定する。一方、補正値73により基準値70を補正することで得られた値が第2の許容範囲内ではない場合には、予測演算部212は、得られた値を修正することで、第2の許容範囲内で指令値75を決定する。そして、動作制御部213は、決定した指令値75に基づいて、生産装置3の動作を制御する。
<その他>
学習装置1及び制御装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習装置1及び制御装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習装置1及び制御装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[学習装置]
次に、図9を用いて、学習装置1の動作例について説明する。図9は、学習装置1の処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、本発明の「学習方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS101)
ステップS101では、制御部11は、学習データ取得部111として動作し、予測モデル5の機械学習に利用する複数件の学習用データセット121を取得する。各件の学習用データセット121は、生産装置3の動作を決定する要因に関する第1データ、及び生産装置3への指令値であって、第1データにより示される要因に適応した指令値に関する第2データの組み合わせにより構成される。
第1データ及び第2データの構成はそれぞれ、対象装置の動作を予測制御するための予測モデル(本実施形態では、予測モデル5)の機械学習に利用可能であれば、実施の形態に応じて適宜決定されてよい。上記のとおり、本実施形態では、第1データは、ワーク40の特徴量1211及び製品41を生産する環境の属性値1212により構成される。また、第2データは、指令値の基準値に対する補正値1213であって、特徴量1211及び属性値1212により示される状況に適応した指令値が得られるように決定された補正値1213により構成される。
ワーク40の特徴量1211は、ワーク40の何らかの特徴を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、製品41を生産する環境の属性値1212は、生産装置3が稼動する環境に関する何らかの属性を示し得るものであれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
本実施形態では、生産装置3は、プレス機である。上記のとおり、生産装置3では、プレス時間が不十分であったり、上側金型32が下死点に到達するまでサーボモータを駆動していなかったりすると、得られる製品41の品質が悪化してしまう。そのため、ワーク40の特徴量1211及び製品41を生産する環境の属性値1212はそれぞれ、生産装置3におけるプレス成形の工程に関するものであるのが好ましい。
そこで、ワーク40の特徴量1211には、例えば、硬さ、寸法、材質、重さ、熱等を示すものが選択されてもよい。また、製品41を生産する環境の属性値1212には、例えば、生産装置3の周囲の温度、湿度、装置の劣化度合い(例えば、経年数、加工回数等)、振動等を示すものが選択されてよい。このとき、ワーク40の特徴量1211は、ワーク40の特徴を直接的に示すものであってもよいし、ワーク40の特徴を間接的に示すものであってもよい。ワーク40の特徴を直接的に示すとは、例えば、ワーク40の硬さ(硬度)そのものを数値、クラス等で表現することである。一方、ワーク40の特徴を間接的に示すとは、例えば、ワーク40の硬さ(硬度)を測定する際に得られた2次的指標(例えば、ワークにかかる荷重、測定の際に作用させたトルク等)を数値、クラス等で表現することである。属性値1212についても同様である。
このような各件の学習用データセット121は、実施の形態に応じて適宜生成されてよい。例えば、生産装置3を稼働させて、ワーク40の特徴量1211及び製品41を生産する環境の属性値1212を様々な条件で取得する。特徴量1211及び属性値1212の取得には、公知のセンサが用いられてよい。一例として、特徴量1211としてワーク40の硬さを取得する場合には、硬度計が用いられてよい。また、属性値1212として温度を取得する場合には、温度センサが用いられてよい。そして、得られた特徴量1211及び属性値1212に対して、この条件において適切な指令値を得るための補正値1213を組み合わせる。これにより、各件の学習用データセット121を生成することができる。
この学習用データセット121の生成は、学習装置1により行われてもよい。この場合、制御部11は、オペレータによる入力装置14の操作に応じて、各件の学習用データセット121を生成してもよい。また、制御部11は、学習プログラム81の処理により、各件の学習用データセット121を自動的に生成してもよい。この生成処理を実行することで、本ステップS101では、制御部11は、複数件の学習用データセット121を取得することができる。
また、学習用データセット121の生成は、学習装置1以外の他の情報処理装置により行われてもよい。他の情報処理装置では、各件の学習用データセット121は、オペレータにより手動で生成されてもよいし、プログラムの処理により自動的に生成されてもよい。この場合、本ステップ101では、制御部11は、ネットワーク、記憶媒体91等を介して、他の情報処理装置により生成された複数件の学習用データセット121を取得することができる。
なお、本ステップS101で取得する学習用データセット121の件数は、実施の形態に応じて適宜決定されてよく、例えば、決定木の機械学習を実施可能な程度に適宜決定されてよい。これにより、複数件の学習用データセット121を取得すると、制御部11は、次のステップS102に処理を進める。
(ステップS102)
ステップS102では、制御部11は、学習処理部112として動作し、取得した複数件の学習用データセット121を利用した機械学習を行うことにより、学習済みの予測モデル5を構築する。
本実施形態では、制御部11は、取得した各件の学習用データセット121について、特徴量1211及び属性値1212を入力すると、入力した特徴量1211及び属性値1212に関連付けられた補正値1213に対応する値を出力するように予測モデル5を構築する。より詳細には、制御部11は、特徴量1211及び属性値1212に基づいて根ノードから開始して、関連付けられた補正値1213に対応するクラスの葉ノードに到達する探索が可能な決定木を構築する。この決定木の学習方法には、CLS(Concept Learning System)、ID3(Iterative Dichotomiser 3)、C4.5等が用いられてもよい。これにより、制御部11は、学習済みの予測モデル5を構築することができる。学習済みの予測モデル5を構築すると、制御部11は、次のステップS103に処理を進める。
(ステップS103及びS104)
ステップS103では、制御部11は、推定部113として動作し、取得した複数件の学習用データセット121における第2データの分布61から指令値の取り得る数値範囲を推定する。ステップS104では、制御部11は、閾値決定部114として動作し、生産装置3への指令値に対して予め設定された第1の閾値60により規定される第1の許容範囲を拡げるように、推定した数値範囲に基づいて、生産装置3への指令値に対する第2の閾値62を決定する。
(A)表現形式
推定される指令値の取り得る数値範囲、第1の閾値60、及び第2の閾値62の表現形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、第2データは、補正値1213により構成される。そのため、本ステップS103では、制御部11は、補正値1213の取り得る数値範囲を推定することにより、指令値のとり得る数値範囲を間接的に推定してもよい。これに応じて、第1の閾値60及び第2の閾値62は、補正値に対して設定されることで、指令値の許容範囲を間接的に規定してもよい。また、制御部11は、補正値1213により基準値70を補正することで得られる値により、指令値の取り得る数値範囲を直接的に推定してもよい。これに応じて、第1の閾値60及び第2の閾値62は、指令値に対して設定されることで、当該指令値の許容範囲を直接的に設定されてよい。いずれのケースも同様に取り扱い可能である。以下では、説明の便宜のため、指令値の取り得る数値範囲が直接的に推定されるものとし、第1の閾値60及び第2の閾値62は、指令値に対して直接的に設定されるものと想定する。
(B)数値範囲の推定方法
次に、ステップS103において、第2データの分布から指令値の取り得る数値範囲を推定する方法について説明する。制御部11は、各件の学習用データセット121における補正値1213(第2データ)を参照することにより、当該補正値1213(第2データ)により指定される指令値の分布を把握することができる。このとき、制御部11は、正規分布、ガンマ分布、指数分布等の統計的手法を用いて、指令値の分布を近似してもよい。
図10は、正規分布により指令値の分布を近似した場面の一例を示す。正規分布により指令値の分布を近似する方法には、公知の統計処理が用いられてよい。この場合、制御部11は、近似した正規分布に基づいて、指令値の最小値及び最大値を算出することができる。本ステップS103では、制御部11は、この最小値から最大値までの数値範囲を指令値の取り得る数値範囲として推定してもよい。正規分布における指令値の最小値及び最大値はそれぞれ、当該指令値の取り得る数値範囲の境界値の一例である。
なお、指令値の取り得る数値範囲を推定する方法は、このような統計的手法に限定されなくてもよい。上記以外の方法として、例えば、制御部11は、各件の学習用データセット121における補正値1213(第2データ)を参照することにより把握した分布をそのまま指令値の取り得る数値範囲として利用してもよい。この場合、学習用データセット121の補正値1213(第2データ)により指定される指令値の最小値及び最大値がそれぞれ、当該指令値の取り得る数値範囲の境界値となる。制御部11は、この最小値から最大値までの数値範囲を指令値の取り得る数値範囲として推定してもよい。
(C)第2の閾値の決定方法
次に、ステップS104において、推定した数値範囲に基づいて、第2の閾値62を決定する方法について説明する。ステップS103により推定した数値範囲から第2の閾値62を導出する方法は、実施の形態に応じて適宜設定されてよい。例えば、制御部11は、当該数値範囲の境界値を利用することで、第2の閾値62を決定することができる。一例として、制御部11は、推定した数値範囲の境界値又は第1の閾値60と当該境界値との間の値を第2の閾値62として採用してもよい。
指令値の許容範囲は、下限値及び上限値の少なくとも一方を指定することにより規定することができる。第1の閾値60は、当該第1の許容範囲の下限値であってもよいし、当該第1の許容範囲の上限値であってもよい。また、第1の許容範囲が下限値及び上限値の両方により規定される場合、当該第1の許容範囲の下限値及び上限値それぞれが第1の閾値60として取り扱われてもよい。以下の図11A及び図11Bの例では、説明の便宜のため、第1の許容範囲の下限値及び上限値それぞれが第1の閾値60として取り扱われるものと想定する。
図11Aは、推定した数値範囲の境界値を第2の閾値62として採用する場面の一例を模式的に例示する。図11Bは、推定した数値範囲の境界値と第1の閾値60との間の値を第2の閾値62として採用する場面の一例を模式的に例示する。図11A及び図11Bの例において、グラフの横軸は、生産装置3への指令値(入力)に対応し、グラフの縦軸は、サーボモータのトルク(出力)に対応する。
第1の閾値60は、第2の閾値62を決定する前に予め与えられる。この第1の閾値60は、生産装置3を利用するユーザにより予め決定されてもよいし、生産装置3又は制御装置2において予め決定されていてもよい。第1の閾値60は、予測モデル5により生産装置3を予測制御する場面ではなく、生産装置3又は制御装置2をユーザが手動により操作する場面において、生産装置3の指令値に対する制約条件として利用されてもよい。制御部11は、ネットワーク等を介して制御装置2又は生産装置3に問い合わせることにより、第1の閾値60を取得してもよい。また、学習装置1は、第1の閾値60を記憶部12等に予め保持していてもよいし、オペレータの指定により第1の閾値60を取得してもよい。
図11Aの例では、ステップS103により推定した数値範囲の最大値が第1の許容範囲の上限値(第1の閾値60)を超える場合に、本ステップS104では、制御部11は、当該最大値を第2の閾値62として採用する。これにより、制御部11は、第1の許容範囲の上限値を超える値を第2の閾値62として採用することができる。この第2の閾値62は、第2の許容範囲の上限値として取り扱われる。
また、ステップS103により推定した数値範囲の最小値が第1の許容範囲の下限値(第1の閾値60)未満である場合に、本ステップS104では、制御部11は、当該最小値を第2の閾値62として採用する。これにより、制御部11は、第1の許容範囲の下限値より小さい値を第2の閾値62として採用することができる。この第2の閾値62は、第2の許容範囲の下限値として取り扱われる。
一方、図11Bの例では、ステップS103により推定した数値範囲の最大値が第1の許容範囲の上限値(第1の閾値60)を超える場合に、本ステップS104では、制御部11は、当該最大値と当該上限値との間の値を第2の閾値62として採用する。このとき、第2の閾値62として採用する値は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、推定した数値範囲の最大値と第1の許容範囲の上限値との平均値を第2の閾値62として採用してもよい。これにより、制御部11は、第1の許容範囲の上限値を超える値を第2の閾値62として採用することができる。この第2の閾値62は、第2の許容範囲の上限値として取り扱われる。
また、ステップS103により推定した数値範囲の最小値が第1の許容範囲の下限値(第1の閾値60)未満である場合に、本ステップS104では、制御部11は、当該最小値と当該下限値との間の値を第2の閾値62として採用する。このとき、上記上限値のケースと同様に、第2の閾値62として採用する値は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、推定した数値範囲の最小値と第1の許容範囲の下限値との平均値を第2の閾値62として採用してもよい。これにより、制御部11は、第1の許容範囲の下限値より小さい値を第2の閾値62として採用することができる。この第2の閾値62は、第2の許容範囲の下限値として取り扱われる。
図11A及び図11Bに示されるとおり、以上のいずれかの方法で決定された第2の閾値62により規定される第2の許容範囲は、第1の許容範囲よりも広くなる。したがって、本実施形態に係る制御部11は、以上のいずれかの方法により、予め設定された第1の閾値60により規定される第1の許容範囲を拡げるように、ステップS103により推定された数値範囲に基づいて、指令値に対する第2の閾値62を決定することができる。
このとき、制御部11は、予め設定された安全条件を満たすように第2の閾値62を決定してもよい。安全条件は、生産装置3の動作を安全に制御可能なように、実施の形態に応じて適宜規定されてよい。制御部11は、ネットワーク等を介して制御装置2又は生産装置3に問い合わせることにより、この安全条件を示す情報を取得してもよい。また、学習装置1は、安全条件を示す情報を記憶部12等に予め保持していてもよいし、オペレータの指定により安全条件を示す情報を取得してもよい。
例えば、安全条件は、ユーザ、生産装置3の製造者等により予め指定された安全制御用の閾値により規定されてもよい。この安全制御用の閾値が指令値の許容範囲の上限値について設定されている場合、制御部11は、ステップS104において決定した値(第2の許容範囲の上限値)が安全制御用の閾値以下であるか否かを判定してもよい。そして、ステップS104において決定した値が安全制御用の閾値以下であるときには、制御部11は、当該決定した値を第2の閾値62(すなわち、第2の許容範囲の上限値)として採用してもよい。一方、そうではないときには、制御部11は、安全制御用の閾値以下になるように当該値を修正し、修正した値を第2の閾値62として採用してもよい。
同様に、安全制御用の閾値が指令値の許容範囲の下限値について設定されている場合、制御部11は、ステップS104において決定した値(第2の許容範囲の下限値)が安全制御用の閾値以上であるか否かを判定してもよい。そして、ステップS104において決定した値が安全制御用の閾値以上であるときには、制御部11は、当該決定した値を第2の閾値62(すなわち、第2の許容範囲の下限値)として採用してもよい。一方、そうではないときには、制御部11は、安全制御用の閾値以上になるように当該値を修正し、修正した値を第2の閾値62として採用してもよい。
また、例えば、安全条件は、生産装置3の動作をシミュレーションする又は生産装置3を実際に駆動することにより規定されてもよい。この場合、制御部11は、シミュレーション又は実際の駆動の結果に基づいて、ステップS104において第2の閾値62として決定した値を指令値として採用した場合に、生産装置3を安全に動作させることができるか否かを判定してもよい。そして、生産装置3を安全に動作させることができると判定した場合、制御部11は、ステップS104において決定した値を第2の閾値62として採用してもよい。一方、生産装置3を安全に動作させることができないと判定した場合には、制御部11は、生産装置3を安全に動作可能なように当該値を修正し、修正した値を第2の閾値62として採用してもよい。第2の閾値62を決定すると、制御部11は、次のステップS105に処理を進める。
なお、ステップS103により推定した数値範囲の最大値が第1の許容範囲の上限値以下である場合には、制御部11は、上記いずれかの方法による第2の許容範囲の上限値(第2の閾値62)を決定する処理を省略してもよい。同様に、ステップS103により推定した数値範囲の最小値が第1の許容範囲の下限値以上である場合には、制御部11は、上記いずれかの方法による第2の閾値62を決定する処理を省略してもよい。また、第2の許容範囲の上限値及び下限値を決定する方法は互いに異なっていてもよい。例えば、制御部11は、第2の許容範囲の上限値を決定する方法に図11Aにより示される方法を採用し、第2の許容範囲の下限値を決定する方法に図11Bにより示される方法を採用してもよい。
また、図11A及び図11Bは、生産装置3への指令値(入力)と上側金型32を駆動するサーボモータのトルク(出力)との関係の一例を模式的に例示している。上記では、第1の閾値60及び第2の閾値62は、指令値に対して設定されている。しかしながら、第1の閾値60及び第2の閾値62の形式は、このような例に限定されなくてもよい。例えば、第1の閾値60及び第2の閾値62はそれぞれ、対象装置の出力(本実施形態では、サーボモータのトルク)に対して設定されることで、指令値の許容範囲を間接的に規定してもよい。
(ステップS105)
ステップS105では、制御部11は、学習処理部112として動作し、機械学習により構築した決定木(学習済みの予測モデル5)の構成及び各分岐条件を示す情報を学習結果データ125として記憶部12に格納する。また、制御部11は、閾値決定部114として動作し、ステップS104で決定した第2の閾値62を記憶部12に格納する。これにより、制御部11は、本動作例に係る学習処理を終了する。
なお、制御部11は、上記ステップS105の処理が完了した後、生成した学習結果データ125及び第2の閾値62を制御装置2に転送してもよい。また、制御部11は、上記ステップS101~S105の学習処理を定期的に実行することで、学習結果データ125及び第2の閾値62を定期的に更新してもよい。そして、制御部11は、生成した学習結果データ125及び第2の閾値62を学習処理の実行毎に制御装置2に転送することで、制御装置2の保持する学習結果データ125及び第2の閾値62を定期的に更新してもよい。また、例えば、制御部11は、生成した学習結果データ125及び第2の閾値62をNAS(Network Attached Storage)等のデータサーバに保管してもよい。この場合、制御装置2は、このデータサーバから学習結果データ125及び第2の閾値62を取得してもよい。また、学習装置1により生成された学習結果データ125及び第2の閾値62は、制御装置2に予め組み込まれてもよい。
[制御装置]
次に、図12を用いて、運用のフェーズにおける制御装置2の動作例について説明する。図12は、制御装置2の処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS201)
ステップS201では、制御部21は、入力データ取得部211として動作し、運用フェーズにおいて、要因に関する入力データを取得する。
本実施形態では、上記のとおり、予測モデル5は、ワーク40の特徴量1211及び製品41を生産する環境の属性値1212を第1データとして含む学習用データセット121を利用した機械学習により構築される。そのため、本ステップS201では、制御部21は、ワーク40の特徴量71及び製品41を生産する環境の属性値72を取得する。
特徴量71及び属性値72は、上記特徴量1211及び属性値1212と同種であればよい。また、特徴量71及び属性値72それぞれを取得する方法は、実施の形態に応じて適宜選択されてよい。例えば、ワーク40の特徴量71(例えば、硬さ等)及び環境の属性値72(例えば、温度等)それぞれを測定可能に構成された各種センサが生産装置3に配置されてもよい。各種センサには、測定対象となる特徴量71及び属性値72の種類に応じて公知のセンサが適宜用いられてよい。この場合、制御部21は、生産装置3に配置された各種センサから、特徴量71及び属性値72それぞれを取得することができる。特徴量71及び属性値72それぞれを取得すると、制御部21は、次のステップS202に処理を進める。
(ステップS202)
ステップS202では、制御部21は、予測演算部212として動作し、取得した入力データ(特徴量71及び属性値72)を予測モデル5に入力し、当該予測モデル5の演算処理を実行する。これにより、制御部21は、生産装置3による製品41の生産に適応した指令値を予測した結果に対応する出力値を当該予測モデル5から取得する。
本実施形態では、予測モデル5は決定木により構成されており、予測モデル5の構成及び各経路の分岐条件を示す情報は、学習結果データ125に含まれている。そこで、制御部21は、学習結果データ125を参照することで、予測モデル5の設定を行う。この設定処理によって、制御部21は、決定木(予測モデル5)の探索処理を開始することができる状態になる。
次に、制御部21は、決定木(予測モデル5)の根ノードから葉ノードに向けてリンクをたどる探索処理を実行する。具体的には、探索処理を1度も実行していない場合、制御部21は、決定木の探索処理として、根ノードに設定された分岐条件を入力データ(特徴量71及び属性値72)が満たすか否かを判定する。そして、この判定結果に基づいて、制御部21は、2段階目の該当ノード(図7Aの例では、中間ノードN1又は中間ノードN2)に探索を進める。
同様に、探索処理をn回実行した場合(nは、1以上の自然数)、探索は、n+1段目の中間ノードまで探索が進行している。この場合には、制御部21は、n+1段目の該当の中間ノードに設定された分岐条件を入力データが満たすか否かを判定する。そして、この判定結果に基づいて、制御部21は、n+2段目の該当ノードに探索を進める。
決定木のいずれかの葉ノードまでこの探索処理が到達することで、予測モデル5の演算処理が完了する。本実施形態では、予測モデル5を構成する決定木の各葉ノードには、製品41の生産に適応した指令値の予測の結果に対応する出力値として、指令値の基準値70に対する補正値73が対応付けられている。そのため、この予測モデル5の演算処理が完了することで、制御部21は、予測モデルからの出力値として、探索処理の到達した葉ノードに対応付けられた補正値73を取得することができる。この出力値を取得すると、制御部21は、次のステップS203に処理を進める。
(ステップS203)
ステップS203では、制御部21は、予測演算部212として動作し、予測モデル5から取得した出力値に基づいて、学習装置1により決定された第2の閾値62により規定される第2の許容範囲内で、生産装置3への指令値を決定する。
本実施形態では、上記ステップS202において、制御部21は、予測モデル5からの出力値として、基準値70に対する補正値73を取得している。そのため、制御部21は、取得した補正値73で基準値70を補正(例えば、加算、減算)することで、指令値の予測値を算出する。そして、制御部21は、算出した予測値が、第2の閾値62により規定される第2の許容範囲内であるか否かを判定する。
算出した予測値が第2の許容範囲内である場合、制御部21は、算出した予測値を指令値75に決定する。一方、算出した予測値が第2の許容範囲内ではない場合、制御部21は、第2の許容範囲内になるように、算出した予測値を適宜修正し、修正した値を指令値75に決定する。例えば、算出した予測値が第2の許容範囲の上限値を超えている場合、制御部21は、第2の許容範囲の上限値を指令値75に決定してもよい。また、例えば、算出した予測値が第2の許容範囲の下限値よりも小さい場合、制御部21は、第2の許容範囲の下限値を指令値75に決定してもよい。これにより、第2の許容範囲内で指令値75を決定すると、制御部21は、次のステップS204に処理を進める。
(ステップS204)
ステップS204では、制御部21は、動作制御部213として動作し、決定した指令値75に基づいて、生産装置3の動作を制御する。指令値75に基づいて生産装置3の動作を制御する方法は、指令値の形式に応じて適宜選択されてよい。
本実施形態では、生産装置3は、プレス機であり、上側金型32を駆動するサーボドライバ31を備えている。そのため、指令値75は、サーボモータの駆動量を規定したパルス数を示してもよい。この場合、制御部21は、外部インタフェース24を介して、生産装置3のサーボドライバ31に対して指令値75を送信する。サーボドライバ31は、制御装置2から受信した指令値75に基づいてサーボモータを駆動する。これにより、制御部21は、決定した指令値75に基づいて、生産装置3の動作を制御することができる。生産装置3の動作を制御すると、制御部21は、本動作例に係る処理を終了する。
なお、指令値75の形式は、このような例に限定されなくてもよい。指令値75は、例えば、サーボモータの駆動量、上側金型32の移動量等の中間指標により表現されてもよい。この場合、制御部21は、中間指標により表現された指令値75をそのまま生産装置3に送信してもよいし、中間指標により表現された指令値75を、パルス数等の直接利用可能な形式に変換し、変換した指令値75を生産装置3に送信してもよい。
(終了後)
以上により、制御部21は、本動作例に係る生産装置3の動作を制御する一連の処理を終了する。制御部21は、この一連の処理を繰り返し実行することで、生産装置3の動作を継続的に制御することができる。
なお、制御装置2は、上記予測モデル5を利用して生産装置3の動作を予測制御するモード(予測制御モード)と、ユーザの操作に応じて生産装置3の動作を制御するモード(手動制御モード)とを切り替え可能に構成されてよい。この場合、動作モードが予測制御モードに設定された場合に、制御部21は、上記ステップS201~S204の一連の処理を実行してもよい。また、動作モードが手動制御モードに設定された場合には、制御部21は、ユーザから指令値の指定を受け付けて、指定された指令値に基づいて、生産装置3の動作を制御してもよい。このとき、制御部21は、手動制御モードでは、第1の閾値60を制約条件として利用してもよい。つまり、制御部21は、第1の閾値60により規定される第1の許容範囲を超える値の指定を受け付けず、第1の許容範囲内で指令値の指定を受け付けてもよい。
[特徴]
以上のとおり、本実施形態では、上記ステップS203において、生産装置3への指令値を決定する際に、予め設定された第1の閾値60により規定される第1の許容範囲ではなく、上記ステップS104により第1の許容範囲を拡げるように設定された第2の閾値62により規定される第2の許容範囲が指令値の制約条件として利用される。これにより、安全性を過度に考慮して第1の許容範囲が狭く設定されていた場合であっても、生産装置3の動作の制御に用いる指令値75を許容する範囲を拡げることができる。つまり、上記ステップS204において、第1の許容範囲を制約条件として利用した場合には拒絶されるような指令値75の一部を生産装置3の動作の制御に用いるようにすることができる。
更に、上記ステップS101では、各件の学習用データセット121は、特定のケースに適した動作の制御を実現するように収集される。そのため、各件の学習用データセット121の第2データ(補正値1213)により指定される指令値によれば、生産装置3の動作を安全に制御することができる。よって、上記ステップS104では、学習用データセット121における第2データの分布から推定される数値範囲に基づくことで、生産装置3の動作の安全性を確保するように、第2の許容範囲を規定する第2の閾値62を決定することができる。特に、上記ステップS104において、予め設定された安全条件を満たすように第2の閾値62を決定するようにすることで、生産装置3の動作の安全性を確実に確保することができる。したがって、本実施形態に係る制御システム100によれば、生産装置3の動作の安全性を確保しつつ、予測モデル5の性能を十分に発揮可能な予測制御を実施することができる。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態では、第1データは、ワーク40の特徴量1211及び製品41を生産する環境の属性値1212の両方により構成されている。これに応じて、予測モデル5の入力には、ワーク40の特徴量71及び製品41を生産する環境の属性値72の両方が利用されている。しかしながら、予測モデル5の入力は、このような例に限定されなくてもよい。
例えば、ワーク40の特徴量及び製品を生産する環境の属性値のうちの一方は省略されてよい。すなわち、上記第1データは、ワーク40の特徴量1211及び製品41を生産する環境の属性値1212の少なくとも一方により構成されてよい。これに応じて、予測モデル5は、ワーク40の特徴量71及び製品41を生産する環境の属性値72の少なくとも一方の入力に対して、製品41の生産に適応した指令値を予測するように構築されてよい。
また、第1データは、対象装置の動作を決定し得るあらゆる種類の要因に関するデータであってよい。制御装置2は、上記生産装置3以外の種類の対象装置を制御するように構成されてよい。これらに応じて、予測モデル5は、第1データと同じ種類のデータの入力に対して、その入力データにより示される状況に適応した指令値を予測するように構築されてよい。
<4.2>
上記実施形態では、第2データは、指令値の基準値に対する補正値1213により構成されており、これに応じて、予測モデル5は、指令値の基準値70に対する補正値73を出力するように構成されている。しかしながら、予測モデル5の出力形式は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、予測モデル5は、指令値そのものを出力するように構成されてもよい。この場合、第2データは、指令値そのものにより構成されてよい。
<4.3>
上記実施形態では、予測モデル5は、決定木により構成されている。しかしながら、予測モデル5の構成は、予測処理を実行する時点よりも先の時点(将来の時点)における対象装置(一例では、上記生産装置3)への指令値を予測可能であれば、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。予測モデル5は、例えば、ニューラルネットワーク、サポートベクタマシン等の決定木以外の学習モデルが用いられてもよい。また、予測モデル5には、学習モデル以外のモデル(例えば、所定の関数)が用いられてもよい。
1…学習装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
111…学習データ取得部、112…学習処理部、
113…推定部、114…閾値決定部、
81…学習プログラム、121…学習用データセット、
125…学習結果データ、
91…記憶媒体、
2…制御装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、27…ドライブ、
211…入力データ取得部、212…予測演算部、
213…動作制御部、
82…制御プログラム、92…記憶媒体、
3…生産装置(対象装置)、
31…サーボドライバ、32…上金型、33…下金型、
40…ワーク、41…製品、
5…予測モデル(決定木)、
60…第1の閾値、61…分布、62…第2の閾値、
70…(指令値の)基準値、
71…特徴量、72…属性値、73…補正値

Claims (12)

  1. 対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得する学習データ取得部と、
    取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築する学習処理部と、
    取得した前記複数件の学習用データセットにおける前記第2データにより指定される前記指令値の正規分布、ガンマ分布、指数分布の何れかにより近似した前記指令値の分布から前記指令値の取り得る数値範囲を推定する推定部と、
    前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定する閾値決定部と、
    運用フェーズにおいて、前記要因に関する入力データを取得する入力データ取得部と、
    取得した入力データを前記予測モデルに入力することで、前記予測モデルから出力値を取得し、取得した前記出力値に基づいて、決定した前記第2の閾値により規定される第2の許容範囲内で、前記対象装置に対する指令値を決定する予測演算部と、
    決定した前記指令値に基づいて、前記対象装置の動作を制御する動作制御部と、
    を備える、
    制御システム。
  2. 前記閾値決定部は、推定した前記数値範囲の境界値又は前記第1の閾値と当該境界値との間の値を前記第2の閾値として採用する、
    請求項1に記載の制御システム。
  3. 前記第1の閾値は、前記第1の許容範囲の上限値であり、
    前記閾値決定部は、前記上限値を超える値を前記第2の閾値として採用する、
    請求項1又は2に記載の制御システム。
  4. 前記第1の閾値は、前記第1の許容範囲の下限値であり、
    前記閾値決定部は、前記下限値より小さい値を前記第2の閾値として採用する、
    請求項1又は2に記載の制御システム。
  5. 前記閾値決定部は、予め設定された安全条件を満たすように前記第2の閾値を決定する、
    請求項1から4のいずれか1項に記載の制御システム。
  6. 前記第2データは、前記指令値の基準値に対する補正値により構成される、
    請求項1から5のいずれか1項に記載の制御システム。
  7. 前記対象装置は、ワークから製品を生産する生産装置であって、
    前記第1データ及び前記入力データはそれぞれ、前記ワークの特徴量及び前記製品を生産する環境の属性値の少なくとも一方により構成される、
    請求項1から6のいずれか1項に記載の制御システム。
  8. コンピュータが、
    対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得するステップと、
    取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築するステップと、
    取得した前記複数件の学習用データセットにおける前記第2データにより指定される前記指令値の正規分布、ガンマ分布、指数分布の何れかにより近似した前記指令値の分布から前記指令値の取り得る数値範囲を推定するステップと、
    前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定するステップと、
    運用フェーズにおいて、前記要因に関する入力データを取得するステップと、
    取得した入力データを前記予測モデルに入力することで、前記予測モデルから出力値を取得するステップと、
    取得した前記出力値に基づいて、決定した前記第2の閾値により規定される第2の許容範囲内で、前記対象装置に対する指令値を決定するステップと、
    決定した前記指令値に基づいて、前記対象装置の動作を制御するステップと、
    を実行する、
    制御方法。
  9. 対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得する学習データ取得部と、
    取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築する学習処理部と、
    取得した前記複数件の学習用データセットにおける前記第2データにより指定される前記指令値の正規分布、ガンマ分布、指数分布の何れかにより近似した前記指令値の分布から前記指令値の取り得る数値範囲を推定する推定部と、
    前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定する閾値決定部と、
    を備える、
    学習装置。
  10. 対象装置の動作を決定する要因に関する入力データを取得する入力データ取得部と、
    取得した入力データを前記予測モデルに入力することで、前記予測モデルから出力値を取得し、取得した前記出力値に基づいて、請求項9に記載の学習装置によって決定された前記第2の閾値により規定される第2の許容範囲内で、前記対象装置に対する指令値を決定する予測演算部と、
    決定した前記指令値に基づいて、前記対象装置の動作を制御する動作制御部と、
    を備える、
    制御装置。
  11. コンピュータが、
    対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得するステップと、
    取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築するステップと、
    取得した前記複数件の学習用データセットにおける前記第2データにより指定される前記指令値の正規分布、ガンマ分布、指数分布の何れかにより近似した前記指令値の分布から前記指令値の取り得る数値範囲を推定するステップと、
    前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定するステップと、
    を実行する、
    学習方法。
  12. コンピュータに、
    対象装置の動作を決定する要因に関する第1データ、及び前記対象装置への指令値であって、前記第1データにより示される前記要因に適応した指令値に関する第2データの組み合わせによりそれぞれ構成された複数件の学習用データセットを取得するステップと、
    取得した前記複数件の学習用データセットそれぞれについて、前記第1データを入力すると、前記第2データに対応する値を出力するように予測モデルを構築するステップと、
    取得した前記複数件の学習用データセットにおける前記第2データにより指定される前記指令値の正規分布、ガンマ分布、指数分布の何れかにより近似した前記指令値の分布から前記指令値の取り得る数値範囲を推定するステップと、
    前記対象装置への前記指令値に対して予め設定された第1の閾値により規定される第1の許容範囲を拡げるように、推定した前記数値範囲に基づいて、前記対象装置への前記指令値に対する第2の閾値を決定するステップと、
    を実行させるための、
    学習プログラム。
JP2018109630A 2018-06-07 2018-06-07 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム Active JP7031502B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2018109630A JP7031502B2 (ja) 2018-06-07 2018-06-07 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム
TW108107833A TW202001706A (zh) 2018-06-07 2019-03-08 控制系統、控制方法、學習裝置、控制裝置以及學習方法
CN201980030426.2A CN112105994B (zh) 2018-06-07 2019-03-13 控制系统、装置与方法、学习装置与方法及介质
US17/052,523 US11681261B2 (en) 2018-06-07 2019-03-13 Control system, control method, learning device, control device, learning method for controlling an operation of a subject device on basis of a detemined command value
EP19814529.4A EP3805875B1 (en) 2018-06-07 2019-03-13 Control system and method for controlling the operation of a production device
PCT/JP2019/010189 WO2019235018A1 (ja) 2018-06-07 2019-03-13 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018109630A JP7031502B2 (ja) 2018-06-07 2018-06-07 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム

Publications (2)

Publication Number Publication Date
JP2019212164A JP2019212164A (ja) 2019-12-12
JP7031502B2 true JP7031502B2 (ja) 2022-03-08

Family

ID=68769305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018109630A Active JP7031502B2 (ja) 2018-06-07 2018-06-07 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム

Country Status (6)

Country Link
US (1) US11681261B2 (ja)
EP (1) EP3805875B1 (ja)
JP (1) JP7031502B2 (ja)
CN (1) CN112105994B (ja)
TW (1) TW202001706A (ja)
WO (1) WO2019235018A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7031502B2 (ja) * 2018-06-07 2022-03-08 オムロン株式会社 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム
US11138003B2 (en) * 2019-04-02 2021-10-05 Taplytics Inc. Methods and systems for automatic determination of a device-specific configuration for a software application operating on a user device
JP2021096639A (ja) * 2019-12-17 2021-06-24 キヤノン株式会社 制御方法、制御装置、機械設備、制御プログラム、記録媒体
JP7299184B2 (ja) * 2020-03-11 2023-06-27 日立Geニュークリア・エナジー株式会社 液圧駆動装置、液圧駆動装置の制御方法
JP2022127675A (ja) * 2021-02-22 2022-09-01 オムロン株式会社 モデル生成装置、モデル生成方法、モデル生成プログラム、推定装置、推定方法、及び推定プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102613A (ja) 2015-11-30 2017-06-08 ファナック株式会社 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3367214B2 (ja) * 1994-08-24 2003-01-14 株式会社日立製作所 ニューラルネット制御方法及び装置
JP3510021B2 (ja) * 1995-09-29 2004-03-22 松下電器産業株式会社 内燃機関の空燃比制御装置
JP2000099107A (ja) 1998-09-25 2000-04-07 Hitachi Ltd モデル予測制御システム
US20060247798A1 (en) 2005-04-28 2006-11-02 Subbu Rajesh V Method and system for performing multi-objective predictive modeling, monitoring, and update for an asset
US7526463B2 (en) 2005-05-13 2009-04-28 Rockwell Automation Technologies, Inc. Neural network using spatially dependent data for controlling a web-based process
KR101096793B1 (ko) * 2010-04-19 2011-12-21 비앤에프테크놀로지 주식회사 산업설비의 공정 여유도 감시 시스템용 데이터 수집 방법 및 그 저장매체
US10339465B2 (en) * 2014-06-30 2019-07-02 Amazon Technologies, Inc. Optimized decision tree based models
US10318882B2 (en) * 2014-09-11 2019-06-11 Amazon Technologies, Inc. Optimized training of linear machine learning models
US11086310B2 (en) * 2015-05-27 2021-08-10 Honeywell International Inc. Method and apparatus for real time model predictive control operator support in industrial process control and automation systems
US9904916B2 (en) * 2015-07-01 2018-02-27 Klarna Ab Incremental login and authentication to user portal without username/password
US20180284735A1 (en) * 2016-05-09 2018-10-04 StrongForce IoT Portfolio 2016, LLC Methods and systems for industrial internet of things data collection in a network sensitive upstream oil and gas environment
CN107290965B (zh) 2017-08-01 2019-11-08 浙江大学 基于局部加权贝叶斯网络的自适应软测量预测方法
JP6797780B2 (ja) * 2017-11-07 2020-12-09 株式会社東芝 情報処理装置、情報処理方法及びプログラム
JP7019396B2 (ja) * 2017-11-30 2022-02-15 日本電産マシンツール株式会社 工作機械の制御方法、工作機械の制御装置、工作機械の設定支援装置、工作機械の制御システム及びプログラム
CN108076224B (zh) * 2017-12-21 2021-06-29 Oppo广东移动通信有限公司 应用程序控制方法、装置及存储介质和移动终端
JP6888577B2 (ja) * 2018-03-30 2021-06-16 オムロン株式会社 制御装置、制御方法、及び制御プログラム
JP6740278B2 (ja) * 2018-04-13 2020-08-12 ファナック株式会社 機械学習装置、制御装置、及び機械学習方法
JP7031502B2 (ja) * 2018-06-07 2022-03-08 オムロン株式会社 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102613A (ja) 2015-11-30 2017-06-08 ファナック株式会社 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置

Also Published As

Publication number Publication date
CN112105994B (zh) 2022-10-11
TW202001706A (zh) 2020-01-01
EP3805875B1 (en) 2023-10-18
EP3805875A1 (en) 2021-04-14
JP2019212164A (ja) 2019-12-12
US20210240144A1 (en) 2021-08-05
WO2019235018A1 (ja) 2019-12-12
US11681261B2 (en) 2023-06-20
CN112105994A (zh) 2020-12-18
EP3805875A4 (en) 2022-03-02

Similar Documents

Publication Publication Date Title
JP7031502B2 (ja) 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム
JP6888577B2 (ja) 制御装置、制御方法、及び制御プログラム
US10121107B2 (en) Machine learning device and method for optimizing frequency of tool compensation of machine tool, and machine tool having the machine learning device
US10589368B2 (en) Machine learning device having function of adjusting welding positions of core in wire electric discharge machine
US20170308052A1 (en) Cell controller for optimizing motion of production system including industrial machines
US20180164756A1 (en) Control system and machine learning device
US20170206469A1 (en) Model adaption and online learning for unstable environments
CN112534363B (zh) 预测控制开发装置、开发方法及计算机可读取的存储介质
US20190033839A1 (en) Machining equipment system and manufacturing system
US11762344B2 (en) Control device, control method, and control program
US11579000B2 (en) Measurement operation parameter adjustment apparatus, machine learning device, and system
JP6958461B2 (ja) 制御装置、制御方法、及び制御プログラム
US20230141311A1 (en) Reduction of friction within a machine tool
JP6659260B2 (ja) Plcプログラムの最適化機能を備えた制御装置及び機械学習器
JP6829271B2 (ja) 測定動作パラメータ調整装置、機械学習装置及びシステム
JP6909616B2 (ja) 製造システムおよび製造方法
US20240231289A1 (en) Systems and methods for monitoring and training a manufacturing system
WO2022210472A1 (ja) 加工条件調整装置
CN118331181A (zh) 用于监测和训练制造系统的系统和方法
JP2020071510A (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: 20211019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211110

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220207

R150 Certificate of patent or registration of utility model

Ref document number: 7031502

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150