(57)【要約】【課題】機械学習により状態量の変化が加工結果に及ぼす影響を予測することができる制御装置及び機械学習装置を提供する。【解決手段】加工機械によるワーク加工結果を予測する制御装置１００は、加工状態を示す状態量の変化と、加工結果との関係を学習する機械学習装置３００を備える。機械学習装置３００は、加工機械の状態及び周辺環境の状態のうち少なくともいずれか一方を含む状態量の時系列データを、環境の現在状態を表す状態変数として観測する状態観測部３０６と、加工結果を示す判定データを取得する判定データ取得部３０８と、状態変数と判定データとを用いて、加工状態を示す状態量の変化と、加工結果とを関連付けて学習する学習部３１０とを備える。【選択図】図１
2019032649.tif 000002
【特許請求の範囲】
【請求項１】
加工機械によるワークの加工結果を予測する制御装置であって、
加工状態を示す状態量の変化と、加工結果との関係を学習する機械学習装置を備え、
前記機械学習装置は、
前記加工機械の状態及び周辺環境の状態のうち少なくともいずれか一方を含む前記状態量の時系列データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記加工結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、加工状態を示す状態量の変化と、加工結果とを関連付けて学習する学習部と、
を備える制御装置。
【請求項２】
前記判定データは、加工された前記ワークの検査結果を含む、
請求項１記載の制御装置。
【請求項３】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１記載の制御装置。
【請求項４】
前記学習部による学習結果に基づいて、前記ワークの加工中の前記状態量に応じた前記加工結果を予測し、前記加工結果が不良となることが予測される場合に、加工の中断を促す通知を出力する判定出力部を更に備える、
請求項１記載の制御装置。
【請求項５】
前記判定出力部は、前記通知に加え、又は前記通知に代えて、加工不良を回避するための対応策を出力する、
請求項４記載の制御装置。
【請求項６】
前記学習部は、複数の前記加工機械のそれぞれについて得られた前記状態変数及び前記判定データを用いて、前記加工機械における加工状態を示す状態量の変化と、加工結果との関係を学習する、
請求項１記載の制御装置。
【請求項７】
前記機械学習装置は、クラウド、フォグ、エッジコンピューティング環境に配置される、
請求項１記載の制御装置。
【請求項８】
加工機械によるワークの加工における加工状態を示す状態量の変化と、加工結果との関係を学習する機械学習装置であって、
前記機械学習装置は、
前記加工機械の状態及び周辺環境の状態のうち少なくともいずれか一方を含む前記状態量の時系列データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記加工結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、加工状態を示す状態量の変化と、加工結果とを関連付けて学習する学習部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御装置及び機械学習装置に関し、特に機械学習により状態量の変化が加工結果に及ぼす影響を予測することができる制御装置及び機械学習装置に関する。
【背景技術】
【０００２】
加工機械（切削加工機等の工作機械、射出成形機、仕上げ加工を行うロボット等）を使用して、同種のワークを繰り返し加工することがある。このとき加工条件が同一であっても、加工条件以外の状態量（周辺温度、モータ電流値、モータの負荷、音、光等）の変化によって、加工されるワークの形状は変化する。例えば、周辺温度の変化やモータの発熱により加工機械が熱膨張して、加工精度に影響を与えることがある。こうした影響の結果、要求される寸法を実現できず加工不良が生じることもある。そうすると材料等に無駄が生じるばかりか、やり直しのための作業工数も余計にかかってしまう。
【０００３】
特許文献１には、加工時に発生する熱や力が加工精度に与える影響に関する理論的知識を予めデータベースに保持させておき、加工途中にセンサで検出した状態量とデータベースとを参照して加工終了後のワークの形状を予測する手法が記載されている。また、予測された加工形状と目標形状を比較することで、数値制御装置からの指令を補正する手法も開示されている。
【０００４】
また特許文献２には、加工精度に影響を与える外乱を予め定義しておき、設定された閾値を超える外乱が検出されたら加工を中断する手法が記載されている。これにより、不良品が作られる前に加工を中断でき、材料及び工数の浪費を防ぐことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２５６６３４５号
【特許文献２】特開２００８−０２７２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１記載の手法では、予め理論的知識を実装したデータベースを用意する必要がある。特に実際の加工では複数の状態量が複雑に影響するため、状態量と加工結果との関係を理論的に定式化することは困難である。また、特許文献１記載の手法では、状態量の変化により発生したずれをＮＣの指令値を補正することによって修正しており、根本的なずれの原因を解決しているわけではないため、引続き同様のずれが生じ続ける可能性がある。
【０００７】
また特許文献２記載の手法では、予め閾値を設定する必要がある。設定によっては、例えば加工結果の合否に影響を与えるほどの外乱でないにも関わらず加工を中断してしまうなど、却って工数がかかってしまうような不適切な動作を招く恐れがある。
【０００８】
本発明はこのような問題点を解決するためになされたものであって、機械学習により状態量の変化が加工結果に及ぼす影響を予測することができる制御装置及び機械学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施の形態にかかる制御装置は、加工機械によるワークの加工結果を予測する制御装置であって、加工状態を示す状態量の変化と、加工結果との関係を学習する機械学習装置を備え、前記機械学習装置は、前記加工機械の状態及び周辺環境の状態のうち少なくともいずれか一方を含む前記状態量の時系列データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記加工結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、加工状態を示す状態量の変化と、加工結果とを関連付けて学習する学習部と、を備える。
本発明の一実施の形態にかかる制御装置は、前記判定データは、加工された前記ワークの検査結果を含む。
本発明の一実施の形態にかかる制御装置は、前記学習部は、前記状態変数と前記判定データとを多層構造で演算する。
本発明の一実施の形態にかかる制御装置は、前記学習部による学習結果に基づいて、前記ワークの加工中の前記状態量に応じた前記加工結果を予測し、前記加工結果が不良となることが予測される場合に、加工の中断を促す通知を出力する判定出力部を更に備える。
本発明の一実施の形態にかかる制御装置は、前記判定出力部は、前記通知に加え、又は前記通知に代えて、加工不良を回避するための対応策を出力する。
本発明の一実施の形態にかかる制御装置は、前記学習部は、複数の前記加工機械のそれぞれについて得られた前記状態変数及び前記判定データを用いて、前記加工機械における加工状態を示す状態量の変化と、加工結果との関係を学習する。
本発明の一実施の形態にかかる制御装置は、前記機械学習装置は、クラウド、フォグ、エッジコンピューティング環境に配置される。
本発明の一実施の形態にかかる機械学習装置は、加工機械によるワークの加工における加工状態を示す状態量の変化と、加工結果との関係を学習する機械学習装置であって、前記機械学習装置は、前記加工機械の状態及び周辺環境の状態のうち少なくともいずれか一方を含む前記状態量の時系列データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記加工結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、加工状態を示す状態量の変化と、加工結果とを関連付けて学習する学習部と、を備える。
【発明の効果】
【００１０】
本発明によれば、機械学習により状態量の変化が加工結果に及ぼす影響を予測することができる制御装置及び機械学習装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】制御装置１００の構成を示すブロック図である。
【図２】制御装置１００の構成を示すブロック図である。
【図３】制御装置１００の構成を示すブロック図である。
【図４Ａ】ニューロンを説明する図である。
【図４Ｂ】ニューラルネットワークを説明する図である。
【図５】制御装置１００の構成を示すブロック図である。
【図６】制御システム２００の構成を示すブロック図である。
【図７】制御装置１００の動作を示すフローチャートである。
【図８】制御装置１００の構成を示すフローチャートである。
【発明を実施するための形態】
【００１２】
本発明の実施の形態について、図面を用いて説明する。
本発明の実施の形態にかかる制御装置１００は情報処理装置であり、ワークの加工中の状態量の変化と、加工結果とを収集し、両者の関係を機械学習によりモデル化する処理を行う（学習過程）。また、学習過程で作成したモデルを使用して、ワークの加工中の状態量の変化を観測して加工結果を予測する処理を行う（予測過程）。制御装置１００は、加工機械（例えば切削加工機等の工作機械、射出成形機、仕上げ加工を行うロボット等、ワークを加工するためのあらゆる機械を含む）を制御する装置（数値制御装置、ロボット制御装置等）であって良い。あるいは、加工機械の制御装置とは独立の情報処理装置であっても良い。
【００１３】
図１は制御装置１００の要部を示す概略的なハードウェア構成図である。ＣＰＵ１１は、制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って制御装置１００全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び外部から入力された各種データ等が一時的に格納される。
【００１４】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、制御装置１００の電源がオフされても記憶状態が保持されるメモリとして構成される。図示しないインタフェースを介して入力された各種プログラムやデータが記憶されている。不揮発性メモリ１４に記憶されたプログラムやデータは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、各種のシステム・プログラムがあらかじめ書き込まれている。
【００１５】
状態量測定装置６０は、加工中の各種状態量を所定の時間間隔で計測、出力する。状態量とは、加工状態を示す情報であって、加工機械の周辺環境の情報と加工機械の状態とを含む。状態量は、例えば加工中の周辺温度、加工機械の温度、オーバライド量、モータ電流値、モータの負荷、入力電源の電圧又は電流、加工時に発生する音、光、振動等の測定値である。状態量測定装置６０は、例えば温度センサやサーモグラフィ、マイク、光センサや撮像装置、加速度センサ等により周辺温度、音、光、振動の測定値を取得できる。また状態量測定装置６０は、加工機械の制御装置からモータ電流値、モータの負荷、入力電源の電圧又は電流等を示す値を取得できる。状態量測定装置６０は、複数種類の状態量Ｓ１，Ｓ２，Ｓ３・・・を同時に取得できる。制御装置１００は、インタフェース１８を介して状態量測定装置６０から状態量を受信し、ＣＰＵ１１に渡す。
【００１６】
加工結果入力装置７０は、加工済みワークの加工結果の評価値を生成する。加工結果入力装置７０は例えば検査装置であって、加工済みワークの各所の寸法を計測し、要求された寸法と比較し、合否判定の結果を加工結果として出力する。あるいは、加工結果入力装置７０は入力装置であり、熟練の検査者等が加工済みワークを検査して得られた合否判定結果の入力を直接又はファイル等を介して受け付け、加工結果として出力するものであっても良い。制御装置１００は、インタフェース１９を介して加工結果入力装置７０から加工結果を受信し、ＣＰＵ１１に渡す。
【００１７】
インタフェース２１は、制御装置１００と機械学習装置３００とを接続するためのインタフェースである。機械学習装置３００は、機械学習装置３００全体を統御するプロセッサ３０１と、システム・プログラム等を記憶したＲＯＭ３０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ３０３、及び学習モデル等の記憶に用いられる不揮発性メモリ３０４を備える。機械学習装置３００は、インタフェース２１を介して制御装置１００で取得可能な各情報（状態量、加工結果等）を観測することができる。
【００１８】
図２は、制御装置１００と機械学習装置３００の概略的な機能ブロック図である。機械学習装置３００は、状態量の変化と加工結果との相関関係を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ３０１等）を含む。制御装置１００が備える機械学習装置３００が学習するものは、状態量の変化と加工結果との相関性を表すモデル構造に相当する。
【００１９】
図２に機能ブロックで示すように、制御装置１００が備える機械学習装置３００は、状態量の時系列データを環境の現在状態を表す状態変数Ｓとして観測する状態観測部３０６と、加工結果を判定データＤとして取得する判定データ取得部３０８と、状態変数Ｓと判定データＤとを用いて、状態量の変化と加工結果とを関連付けて学習する学習部３１０とを備える。
【００２０】
状態観測部３０６は、例えばプロセッサ３０１の一機能として構成できる。或いは状態観測部３０６は、例えばプロセッサ３０１を機能させるためのＲＯＭ３０２に記憶されたソフトウェアとして構成できる。状態観測部３０６が観測する状態変数Ｓすなわち状態量の時系列データは、状態量測定装置６０が出力するものを取得することができる。状態量測定装置６０は、所定のサンプリング周期で取得された状態量の時系列データから、所定の時間帯に取得された１以上の状態量の時系列データを抽出し、状態変数Ｓとして状態観測部３０６に出力する。例えば状態量測定装置６０は、加工開始からｎ分間に取得された状態量のサンプリングデータを時系列に整序したデータセット（ベクトル）を状態変数Ｓとして出力する。また、状態量測定装置６０が複数の状態量Ｓ１，Ｓ２，Ｓ３・・・を取得している場合は、これらの複数の状態量の時系列データのセットが状態変数Ｓとして出力される。
【００２１】
判定データ取得部３０８は、例えばプロセッサ３０１の一機能として構成できる。或いは判定データ取得部３０８は、例えばプロセッサ３０１を機能させるためのＲＯＭ３０２に記憶されたソフトウェアとして構成できる。判定データ取得部３０８が観測する判定データＤすなわち加工結果は、加工結果入力装置７０が出力するものを取得することができる。
【００２２】
学習部３１０は、例えばプロセッサ３０１の一機能として構成できる。或いは学習部３１０は、例えばプロセッサ３０１を機能させるためのＲＯＭ３０２に記憶されたソフトウェアとして構成できる。学習部３１０は、機械学習と総称される任意の学習アルゴリズムに従い、状態量の変化と加工結果との相関関係を学習する。学習部３１０は、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。
【００２３】
このような学習サイクルを繰り返すことにより、学習部３１０は状態量の変化と加工結果との相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には状態量の変化と加工結果との相関性は実質的に未知であるが、学習部３１０は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。状態量の変化と加工結果との相関性が、ある程度信頼できる水準まで解釈されると、学習部３１０が反復出力する学習結果は、現在状態（状態量の変化）に対して、加工結果がどのようなものとなるべきかという推定を行うために使用できるものとなる。つまり学習部３１０は、学習アルゴリズムの進行に伴い、状態量の変化と加工結果との相関性を最適解に徐々に近づけることができる。
【００２４】
上記したように、制御装置１００が備える機械学習装置３００は、状態観測部３０６が観測した状態変数Ｓと判定データ取得部３０８が取得した判定データＤとを用いて、学習部３１０が機械学習アルゴリズムに従い、加工結果を学習するものである。状態変数Ｓは外乱の影響を受け難いデータで構成され、また判定データＤは一義的に求められる。したがって、制御装置１００が備える機械学習装置３００によれば、学習部３１０の学習結果を用いることで、状態量の変化に対応する加工結果を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００２５】
上記構成を有する機械学習装置３００では、学習部３１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図３は、図２に示す制御装置１００の一形態であって、学習アルゴリズムの一例として教師あり学習を実行する学習部３１０を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が予め大量に与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力（状態量の変化に対する加工結果）を推定するための相関性モデルを学習する手法である。
【００２６】
図３に示す制御装置１００が備える機械学習装置３００において、学習部３１０は、状態変数Ｓから加工結果を導く相関性モデルＭと予め用意された教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部３１１と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部３１２とを備える。学習部３１０は、モデル更新部３１２が相関性モデルＭの更新を繰り返すことによって状態量の変化と加工結果との相関関係を学習する。
【００２７】
相関性モデルＭは、回帰分析、強化学習、深層学習などで構築することができる。相関性モデルＭの初期値は、例えば、状態変数Ｓと形状データとの相関性を単純化して表現したものとして、教師あり学習の開始前に学習部３１０に与えられる。教師データＴは、例えば、過去の状態量の変化と加工結果との対応関係を記録することで蓄積された経験値（状態量の変化と加工結果との既知のデータセット）によって構成でき、教師あり学習の開始前に学習部３１０に与えられる。誤差計算部３１１は、学習部３１０に与えられた大量の教師データＴから状態量の変化と加工結果との相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部３１２は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００２８】
次の学習サイクルでは、誤差計算部３１１は、更新後の相関性モデルＭに従ってワークの加工行程及び検査行程を実行することにより得られた状態変数Ｓ及び判定データＤを用いて、それら状態変数Ｓ及び判定データＤに対応する相関性モデルＭに関し誤差Ｅを求め、モデル更新部３１２が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態（状態量の変化）とそれに対応する状態（加工結果）との相関性が徐々に明らかになる。つまり相関性モデルＭの更新により、状態量の変化と加工結果との関係が、最適解に徐々に近づけられる。
【００２９】
前述した教師あり学習を進める際に、例えばニューラルネットワークを用いることができる。図４Ａは、ニューロンのモデルを模式的に示す。図４Ｂは、図４Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００３０】
図４Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）に対する結果ｙを出力するものである。各入力ｘ１〜ｘ３には、この入力ｘに対応する重みｗ（ｗ１〜ｗ３）が掛けられる。これにより、ニューロンは、次の数１式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆｋは活性化関数である。
【００３１】
【数１】
2019032649.tif 000003
【００３２】
図４Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００３３】
図４Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴を表す。
【００３４】
図４Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
【００３５】
制御装置１００が備える機械学習装置３００においては、状態変数Ｓを入力ｘとして、学習部３１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、加工結果を推定値（結果ｙ）として出力することができる。なおニューラルネットワークの動作モードには、学習モードと判定モードとがあり、例えば学習モードで学習データセットを用いて重みＷを学習し、学習した重みＷを用いて判定モードで形状データの判定を行うことができる。なお判定モードでは、検出、分類、推論等を行うこともできる。
【００３６】
上記した制御装置１００及び機械学習装置３００の構成は、ＣＰＵ１１又はプロセッサ３０１が実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、状態量の変化に対応する加工結果を学習する機械学習方法であって、ＣＰＵ１１又はプロセッサ３０１が、状態量の変化を環境の現在状態を表す状態変数Ｓとして観測するステップと、加工結果を判定データＤとして取得するステップと、状態変数Ｓと判定データＤとを用いて、状態量の変化と加工結果とを関連付けて学習するステップとを有する。
【００３７】
本実施形態によれば、機械学習装置３００が、状態量の変化と加工結果との相関性を示すモデルを生成する。これにより、一度学習モデルを作成してしまえば、加工途中であっても、その時点までに取得できた状態量の変化に基づいて、加工結果を予測することが可能となる。
【００３８】
図５は、第２の実施の形態による制御装置１００を示す。制御装置１００は、機械学習装置３００と、データ取得部３３０とを備える。データ取得部２３０は、状態量測定装置６０や加工結果入力装置７０から、状態量の時系列データと加工結果とを取得する。
【００３９】
制御装置１００が有する機械学習装置３００は、第１の実施形態の機械学習装置３００が備える構成に加えて、学習部３１０が状態量の変化に基づいて推定した加工結果を、文字や画像、音又は音声等、又は任意の形式のデータとして出力する判定出力部３２０を含む。
【００４０】
判定出力部３２０は、例えばプロセッサ３０１の一機能として構成できる。或いは判定出力部３２０は、例えばプロセッサ３０１を機能させるためのソフトウェアとして構成できる。判定出力部３２０は、学習部３１０が状態量の変化に基づいて推定した加工結果を文字や画像、音又は音声等、又は任意の形式のデータとして外部に対して出力する。例えば判定出力部３２０は、加工結果が不合格と推定される場合、ユーザに対し加工の中断を促す通知を出力する。あるいは、単に不合格が予測される旨の通知を行っても良い。
【００４１】
上記構成を有する制御装置１００が備える機械学習装置３００は、前述した機械学習装置３００と同等の効果を奏する。特に第２の実施形態における機械学習装置３００は、判定出力部３２０の出力によって環境の状態を変化させることができる。他方、第１の実施形態の機械学習装置３００では、学習部１１０の学習結果を環境に反映させるための判定出力部３２０に相当する機能を、外部装置に求めることができる。
【００４２】
図６は、複数の加工機械を備えた制御システム２００を示す。制御システム２００は、制御装置１００と、同一の機械構成を有する複数の加工機械と、各加工機械と制御装置１００とを互いに接続するネットワーク２０１とを備える。加工機械は、それぞれが独立して制御装置を備えていても良いし、複数の加工機械が１つの制御装置（例えば制御装置１００）を共有していても良い。
【００４３】
上記構成を有する制御システム２００は、制御装置１００が、複数の加工機械のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての加工機械に共通する状態量の変化と加工結果との相関性を学習することができる。
【００４４】
制御システム２００は、制御装置１００が、ネットワーク２０１に用意されたクラウドサーバ等に存在する構成を有することができる。あるいはフォグコンピューティング、エッジコンピューティング環境等に制御装置１００を配置しても良い。この構成によれば、複数の加工機械のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数の加工機械を制御装置１００に接続することができる。
【００４５】
＜実施例１＞
実施例１として、制御装置１００が状態量の変化と加工結果との相関関係の学習モデルを生成し（学習過程）、当該学習モデルを用いて加工途中において加工結果を予測する（予測過程）処理について説明する。
【００４６】
図７のフローチャートを用いて、制御装置１００の学習過程における動作について説明する。
Ｓ１：加工機械がワークの加工を開始する。制御装置１００は、加工開始と同時に所定のサンプリング周期で状態量の測定を開始する。制御装置１００は、あらかじめ設定されたタイミングで、所定の時間にわたって、状態量を取得し記憶する。
Ｓ２：測定機が加工済みワークを検査する。制御装置１００は、測定機から加工結果を取得、記憶する。
Ｓ３：制御装置１００は、ステップＳ１で取得した状態量の時系列データを状態変数Ｓとし、ステップＳ２で取得した加工結果を判定データＤとして機械学習装置３００に入力し、状態変数Ｓと判定データＤとの相関関係を示す学習モデルを作成する。
制御装置１００は、所望の精度の学習モデルを得るのに十分な数の状態変数Ｓと判定データＤとが得られるまで、ステップＳ１乃至Ｓ３までの処理を繰り返す。なおこの学習過程においては、１個のワークを加工する毎に１回の学習サイクル（ステップＳ１乃至Ｓ３の処理）が実施されることになる。
【００４７】
続いて、図８のフローチャートを用いて、制御装置１００の予測過程における動作について説明する。
Ｓ１１：加工機械がワークの加工を開始する。なお加工が終了したならば、予測過程における処理も終了する。
Ｓ１２：制御装置１００は、加工開始と同時に所定のサンプリング周期で状態量の測定を開始する。制御装置１００は、あらかじめ設定されたタイミングで、所定の時間にわたって、状態量を取得し記憶する。
Ｓ１３：制御装置１００は、ステップＳ１２で取得した状態量の時系列データを状態変数Ｓとして機械学習装置３００に入力する。機械学習装置３００は、状態変数Ｓを学習済みモデルに入力し、状態変数Ｓに対応する判定データＤを予測値として出力する。
Ｓ１４：予測値が合格である場合、ステップＳ１１に戻り加工を継続する。予測値が不合格である場合、ステップＳ１５に遷移する。
Ｓ１５：制御装置１００は、ユーザに対し加工中断を促す通知を出力する。
Ｓ１６：加工が中断された場合、処理を終了する。加工が続行された場合、ステップＳ１１に戻って処理を継続する。
【００４８】
実施例１では、制御装置１００の機械学習装置３００が、加工開始後一定時間における状態量の変化と、加工結果と、の相関関係を学習した学習モデルを生成する。この学習モデルを用いることにより、制御装置１００は、加工途中までの状態量の変化に基づいて、加工結果を予測し、予測結果をユーザに通知することができる。
【００４９】
＜実施例２＞
実施例２として、制御装置１００が、加工結果が不合格であることを予測した場合に、加工中断を促すことに加えて又は代えて、加工不良を回避するために適切な対応策を提示する構成を示す。説明の簡略化のため、実施例１との相違点のみ言及する。
【００５０】
図７のフローチャートのステップＳ１において、制御装置１００は、状態量の取得時間を複数設ける。例えば、加工開始から１分間、５分間、１０分間の状態量の時系列データをそれぞれ取得する。
【００５１】
ステップＳ３において、制御装置１００は、ステップＳ１で取得した複数の時系列データそれぞれを、判定データＤとセットにして機械学習装置３００に入力する。すなわち加工開始から１分間の状態量の時系列データを状態変数Ｓとするもの、加工開始から５分間の状態量の時系列データを状態変数Ｓとするもの、加工開始から１０分間の状態量の時系列データを状態変数Ｓとするものの３種類の学習用データセットを機械学習装置３００に与える。
【００５２】
図８のフローチャートのステップＳ１２においても、ステップＳ１と同様に、状態量の取得時間を複数設ける。例えば制御装置１００は、加工開始から１分間、５分間、１０分間の状態量の時系列データをそれぞれ取得する。
【００５３】
ステップＳ１３において、制御装置１００は、ステップＳ１２で取得した複数の時系列データそれぞれを機械学習装置３００に入力する。すなわち加工開始から１分間の状態量の時系列データを状態変数Ｓとするもの、加工開始から５分間の状態量の時系列データを状態変数Ｓとするもの、加工開始から１０分間の状態量の時系列データを状態変数Ｓとするものの３種類の推定用データセットを機械学習装置３００に与える。
【００５４】
ステップＳ１４及びステップＳ１５において、制御装置１００は、全ての推定用データセットについて予測結果が不合格であった場合、加工中断をユーザに促す。他方、ある推定用データセットでは予測結果が不合格であるが、他の推定用データセットでは予測結果が合格である場合、制御装置１００は、予測結果が合格であった推定用データセットにおける状態量の動きをユーザに提示する。
【００５５】
例えば、加工開始から１分間の状態量の時系列データを状態変数Ｓとした場合の予測結果は不合格であったが（シナリオＡとする）、加工開始から５分間の状態量の時系列データを状態変数Ｓとした場合の予測結果は合格であったとする（シナリオＡ’とする）。これは、シナリオＡの状態で加工を継続すると加工不良となる可能性が高いが、例外的にシナリオＡ’のように状態量が推移すれば加工結果が良好に転ずる可能性も高いことを示している。したがって本実施例の制御装置１００は、シナリオＡ’における状態量の推移の特徴を、加工不良を回避するための対応策としてユーザに提示する。例えば、状態量の経時変化を示すグラフを表示したり、シナリオＡ’における状態量の統計量（平均値、中央値、最大値、最小値等）を表示したりすることができる。この際、シナリオＡ’の状態変数Ｓに複数の状態量Ｓ１，Ｓ２，Ｓ３・・・が含まれている場合は、そのうち支配的な状態量Ｓｘを特定し、状態量Ｓｘの推移の特徴のみをユーザに提示しても良い。なお支配的な状態量の抽出は公知技術により実現可能であるため、ここでは詳細な説明を省略する。
【００５６】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００５７】
例えば、上述の実施の形態で制御装置１００は、同種のワークを連続的に加工する際に得られる状態量及び検査結果を用いて学習を行った。ここで同種のワークとは、必ずしも同一形状のワークでなくても良い。例えばタップ径が異なるなど類似形状のワークも学習対象として差し支えない。なお、同一又は類似の形状であるが材料が異なるワーク、形状自体が大きく異るワークなどは必ずしも同種のワークとは言えないが、この場合、材料や形状を識別するための変数等を状態変数Ｓの１つとして入力することができる。これにより、材料や形状の異なるワークについても、一連の学習過程の中で、１つのモデルで学習を行うことが可能となる。
【符号の説明】
【００５８】
１００  制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８，１９，２１  インタフェース
２０  バス
６０  状態量測定装置
７０  加工結果入力装置
３００  機械学習装置
３０１  プロセッサ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  不揮発性メモリ
３０６  状態観測部
３０８  判定データ取得部
３１０  学習部
３１１  誤差計算部
３１２  モデル更新部
３２０  判定出力部
３３０  データ取得部
【図１】
2019032649.tif 000004
【図２】
2019032649.tif 000005
【図３】
2019032649.tif 000006
【図４Ａ】
2019032649.tif 000007
【図４Ｂ】
2019032649.tif 000008
【図５】
2019032649.tif 000009
【図６】
2019032649.tif 000010
【図７】
2019032649.tif 000011
【図８】
2019032649.tif 000012