(57)【要約】【課題】産業機械における測定データの取得に際して、同じ動作で測定されたデータであるか否かの確認を容易にする。【解決手段】機械学習を用いた、産業機械の異常検知を行うため、予め正常データのみからなる学習用データを取得する際に不適切なデータの混入の確認を容易にする学習用データ確認支援装置３であって、産業機械にある一定の動作を行わせた際の制御に係る所定の状態量及び制御量の少なくとも一方を表す時系列データを含む測定データを取得するデータ取得部３１と、前記データ取得部で取得した複数の時系列データを時間軸の方向に位置合わせした状態で、それぞれ同種データを重ねあわせてグラフ表示する表示制御部３２と、を備える。【選択図】図１
2020102001.tif 000002
【特許請求の範囲】
【請求項１】
機械学習を用いた、産業機械の異常検知を行うため、予め正常データのみからなる学習用データを取得する際に不適切なデータの混入の確認を容易にする学習用データ確認支援装置であって、
産業機械にある一定の動作を行わせた際の制御に係る所定の状態量及び制御量の少なくとも一方を表す時系列データを含む測定データを取得するデータ取得部と、
前記データ取得部で取得した複数の時系列データを時間軸の方向に位置合わせした状態で、それぞれ同種データを重ねあわせてグラフ表示する表示制御部と、
を備える、学習用データ確認支援装置。
【請求項２】
前記時系列データは、少なくとも、モータの電流値、モータの速度、推定外乱値を含む制御の状態量又は制御量の時系列データである、請求項１に記載の学習用データ確認支援装置。
【請求項３】
前記学習用データ確認支援装置は、さらに、
前記データ取得部で取得された時系列データを記憶するデータ記憶部と、
前記表示制御部により表示された複数の時系列データから不適切なデータとして選択される時系列データを前記データ記憶部から除外するデータ選択部と、
を備える、請求項１又は請求項２に記載の学習用データ確認支援装置。
【請求項４】
請求項３に記載の学習用データ確認支援装置と通信可能に接続される機械学習装置であって、
前記データ選択部により前記不適切なデータが除外されたデータ記憶部に記憶された時系列データに基づいて、教師なし機械学習によって学習する学習部を備える機械学習装置。
【請求項５】
請求項４に記載の機械学習装置と通信可能に接続される故障予知装置であって、
前記データ取得部により取得された測定データの入力に応答して、前記学習部により生成された学習モデルに基づいて、前記産業機械の異常診断を行う異常診断部を備える、故障予知装置。
【請求項６】
前記故障予知装置は、さらに、
異常を報知する異常報知部を備え、
前記異常診断部は、前記産業機械の異常診断結果に基づいて、異常報知部に報知を指示する、請求項５に記載の故障予知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習時に用いる訓練データの取得に際して、不適切なデータが混入していないかの確認を容易にする学習用データ確認支援装置、機械学習装置、及び故障予知装置に関する。
【背景技術】
【０００２】
アクチュエータとしてモータを使う６軸ロボット（産業用ロボット）において、モータのトルクを減速機を介してロボットアームに伝える構成がよく知られていが、このようなロボットでは減速機が最も壊れやすい（故障しやすい）部品となっている。また、工作機械における、主軸や主軸を駆動するモータの故障の原因の多くは、モータの軸受の劣化や破損に起因している。
ここで、産業用ロボットや工作機械等を含む産業機械を、例えば減速機が劣化した状態、又は主軸が劣化した状態等で使用すると、歩留りが大幅に低下する原因となる。そして、減速機や主軸等が故障すると、その復旧に時間がかかり、産業用ロボットや工作機械等を含む産業機械に大きなダウンタイム（停止時間）が生じ、産業機械の稼働率低下を招く。
【０００３】
そこで、産業機械において、減速機や主軸等が完全に故障する前にその兆候（劣化）を検知し、例えば、減速機や主軸等を修理する等の適切な措置を行えば、産業機械のダウンタイムを大幅に削減して産業用ロボットや工作機械等を含む産業機械の稼働率を向上させることが可能になる。そのため、産業機械において、減速機や主軸等における故障の予兆を検知すること（「異常検知」ともいう）が試みられている。
【０００４】
例えば、産業用ロボットや工作機械等を含む産業機械の異常検知においては、定期的に、産業用ロボットや工作機械等にある一定の動作を行わせ、その際のロボット制御又は工作機械の制御に係る制御量の時系列データ（例えば、モータ速度等）、ロボット制御又は工作機械の制御の状態量の時系列データ（例えば、モータの電流値、推定外乱値等）、及び温度等の動作環境データ等（以下、これらを総称して「測定データ」ともいう）を取得し、これを学習用データ又は劣化状態を診断するための診断用データとして使用することが行なわれている。
【０００５】
例えば、特許文献１には、工作機械の主軸又は主軸を駆動するモータが故障に至る前に、その故障の兆候を検出することができる機械学習装置が開示されている。具体的には、機械学習装置が、工作機械の主軸又は主軸を駆動するモータの故障予知を機械学習する機械学習装置であって、モータを制御するモータ制御装置の出力データ、モータの状態を検出する検出器の出力データ、及び主軸又はモータの状態を測定する測定器の出力データの少なくとも１つを含む状態変数を観測する状態観測部と、主軸又はモータの故障の有無又は故障の度合いを判定した判定データを取得する判定データ取得部と、状態変数及び判定データの組合せに基づいて作成されるデータセットに従って、主軸又はモータの故障予知を学習する学習部と、を備えている。
【０００６】
特許文献２には、状況に応じて正確な故障予知を可能にする故障予知システムが開示されている。具体的には、故障予知システムは、ロボットの故障に関連付けられる条件を学習する機械学習装置を備えている。機械学習装置は、センサの出力データ、制御ソフトウェアの内部データ、又はそれらに基づいて得られる計算データ等から構成される状態変数をロボットの動作中又は静止中に観測する状態観測部と、状態変数及び判定データの組合せに基づいて作成される訓練データセットに従って、機械学習する学習部と、を備えている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１７−１８８０３０号公報
【特許文献２】特開２０１７−１２０６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
産業用ロボットや工作機械等を含む産業機械は、あまり故障しないように作製されているものが多く、学習用データとして、異常状態のデータを取得することが困難な場合が多い。このため、故障無しの状態、すなわち産業用ロボットや工作機械等が正常に動作しているときの測定データのみを学習用データとして蓄積し、いわゆる教師なし学習によって、故障条件を学習することがなされている。ここで、教師なし学習とは、正常データのみを入力データとして大量に学習装置に与えることで、正常データがどのような分布をしているか学習し、対応する教師出力データ（ラベルデータ）を与えなくても、入力データに対して圧縮・分類・整形等を行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすること等ができる。こうして得られる学習モデルに基づいて、異常診断を実施することが行なわれている。
【０００９】
一般に、教師なし学習は、例えば産業用ロボットや工作機械等が、出荷された直後もしくはメンテナンスされた直後等を起点としてある一定期間、例えば、数週間等を学習期間として、このときの測定データを正常データとして定義し、学習する。
具体的には、正常データとしての測定データのデータ取得処理は、毎回同じ条件でなされる必要がある。このため、データ取得処理は、通常、工作機械やロボットシステムの稼働シーケンスに組み込まれて、例えば、ロボットや工作機械等の稼働開始前又は稼働終了後等の一定の時間に自動的に実行されるように組み込まれる。そうすることで、毎回同じ条件で、同じ動作で、測定データが取得されると仮定している。
【００１０】
しかしながら、一時的な設定変更等により、通常とは異なる条件や動作でデータ取得されてしまうことがある。例えば、ロボットの動作を目視で確認しながら動かしていて、途中で一時停止させた場合、ロボットの動作を確認しようとして、安全のため通常より速度オーバーライドを下げて動かした場合、データ取得中に同じラインの別装置で異常が発生してライン停止したため、ロボットの動作も止まった場合等がある。
このような通常とは異なる条件や動作において取得された測定データは正常データとしては不適切であり、このようなデータが正常データとして混入され、正常データとして機械学習されると、学習結果として得られる学習モデルが極めて不適切なものになる可能性が高い。
このため、機械学習する前に、学習用データの中に、通常とは異なる条件や動作でデータ取得された、不適切なデータが混入していないか否かを確認するとともに、通常とは異なる条件や動作において取得された測定データを選別して除外する必要がある。しかしながら、測定データである時系列データが大量にあることから、測定データの中から、通常とは異なる条件や動作で取得されたものか否かを数値で比較確認する作業には多くの労力を要する。
【００１１】
この点、特許文献１の図８及び図９には、故障予知システムにおける故障の度合いを示す指標値を時間軸に沿って例示したグラフが記載されている。しかしながら、通常とは異なる条件や動作でデータ取得された、不適切なデータが混入していないか否かを確認するとともに、通常とは異なる条件や動作において取得された測定データを選別して除外する方策について記載も示唆もない。また、特許文献２の図７及び図８にも、故障予知システムにおける故障の度合いを示す指標値を時間軸に沿って例示したグラフが記載されている。しかしながら、特許文献１と同様に、通常とは異なる条件や動作でデータ取得された、不適切なデータが混入していないか否かを確認するとともに、通常とは異なる条件や動作において取得された測定データを選別して除外する方策について記載も示唆もない。
【００１２】
本発明は、産業用ロボットや工作機械等を含む産業機械における学習用データの取得に際して、同じ動作で測定されたデータであるか否かの確認を容易にする、学習用データ確認支援装置、機械学習装置、及び故障予知装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
（１）  本発明は、機械学習を用いた、産業機械（例えば、後述のロボット１）の異常検知を行うため、予め正常データのみからなる学習用データを取得する際に不適切なデータの混入の確認を容易にする学習用データ確認支援装置（例えば、後述の学習用データ確認支援装置３）であって、産業機械にある一定の動作を行わせた際の制御に係る所定の状態量及び制御量の少なくとも一方を表す時系列データを含む測定データを取得するデータ取得部（例えば、後述のデータ取得部３１）と、前記データ取得部で取得した複数の時系列データを時間軸の方向に位置合わせした状態で、それぞれ同種データを重ねあわせてグラフ表示する表示制御部（例えば、後述の表示制御部３２）と、を備える、学習用データ確認支援装置に関する。
【００１４】
（２）  上記（１）の学習用データ確認支援装置において、前記時系列データは、少なくとも、モータの電流値、モータの速度、推定外乱値を含む制御の状態量又は制御量の時系列データであるようにしてもよい。
【００１５】
（３）  上記（１）又は（２）の学習用データ確認支援装置は、前記データ取得部で取得された時系列データを記憶するデータ記憶部（例えば、後述の測定データ記憶部３６１）と、前記表示制御部により表示された複数の時系列データから不適切なデータとして選択される時系列データを前記データ記憶部から除外するデータ選択部（例えば、後述のデータ選択部３３）と、を備えてもよい。
【００１６】
（４）  本発明に係る機械学習装置（例えば、後述の機械学習装置４）は、上記（３）の学習用データ確認支援装置と通信可能に接続され、前記データ選択部により前記不適切なデータが除外されたデータ記憶部に記憶された時系列データに基づいて、教師なし機械学習によって学習する学習部を備える機械学習装置である。
【００１７】
（５）  本発明に係る故障予知装置（例えば、後述の故障予知装置５）は、上記（４）の機械学習装置と通信可能に接続され、前記データ取得部により取得された測定データの入力に応答して、前記学習部により生成された学習モデルに基づいて、前記産業機械の異常診断を行う異常診断部（例えば、後述の異常診断部５１）を備える、故障予知装置である。
【００１８】
（６）  上記（５）の故障予知装置は、さらに、異常を報知する異常報知部（例えば、後述の異常報知部５２）を備え、前記異常診断部は、前記産業機械の異常診断結果に基づいて、異常報知部に報知を指示するようにしてもよい。
【発明の効果】
【００１９】
本発明によれば、機械学習時に用いる訓練データの取得に際して、不適切なデータが混入していないかの確認を容易にする学習用データ確認支援装置、機械学習装置、及び故障予知装置を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態の、学習用データ確認支援装置を含む故障予知システムを示すブロック図である。
【図２Ａ】学習用データとして取得して記憶された、全モータ電流値（状態量データ）を重ね合わせて表示させた例を示す図である。
【図２Ｂ】学習用データとして取得して記憶された、全モータ電流値（状態量データ）を重ね合わせて表示させた例を示す図である。
【図２Ｃ】学習用データとして取得して記憶された、全モータ電流値（状態量データ）を重ね合わせて表示させた例を示す図である。
【図３Ａ】学習用データと同時に取得し記憶された、全モータ速度値（制御量データ）を重ね合わせて表示させた例を示す図である。
【図３Ｂ】学習用データと同時に取得し記憶された、全モータ速度値（制御量データ）を重ね合わせて表示させた例を示す図である。
【図４Ａ】選択された期間内に取得されたロボット制御の状態量であるモータ電流値に係る時系列データを、時間軸の方向に位置合わせして、これらのデータを当該データの取得時間の順番に表示する例を示す図である。
【図４Ｂ】選択された期間内に取得されたロボット制御の制御量であるモータ速度値に係る時系列データを、時間軸の方向に位置合わせして、これらのデータを当該データの取得時間の順番に表示する例を示す図である。
【図５Ａ】本実施形態の学習モデル（正常モデル）を作成するまでの処理に係るフローチャートである。
【図５Ｂ】学習モデル（正常モデル）作成後、学習モデルに基づいて、異常診断を行う処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について図面を用いて詳細に説明する。
（第１の実施形態）
【００２２】
図１は本発明の一実施形態に係る、産業機械としてのロボット１、ロボット制御装置２、学習用データ確認支援装置３、機械学習装置４、及び故障予知装置５を含む故障予知システム１００の一例を示すブロック図である。
本実施形態では、産業機械としてロボット１を例示するが、本発明における産業機械はロボットに限られない。産業機械としては、例えば数値制御装置やロボット制御装置等で制御される工作機械や産業用ロボット、サービス用ロボットや様々な機械を含むことができる。
以下の説明では、ロボット１の駆動部等の故障を診断するために使用される、学習用データ確認支援装置３、機械学習装置４、及び故障予知装置５について説明する。しかしながら、他の任意の産業機械に対しても本発明を同様に適用することができる。
【００２３】
図１に例示されるロボット１は、モータによって各々の関節が駆動される、例えば６軸垂直多関節ロボットである。ロボット１は、公知の通信手段によってロボット制御装置２に接続されている。ロボット制御装置２は、制御プログラムに従ってロボット１に対する指令を作成する。ロボット制御装置２は、ＣＰＵ、ＲＯＭ、ＲＡＭ、不揮発性メモリ及び外部装置に接続されるインタフェースを備えたデジタルコンピュータである。
また、故障予知システム１００は、ロボット１又は周囲環境の状態を検出するセンサ１１を備えていてもよい。例えば、センサ１１は、温度センサ、湿度センサ、振動センサ、又はトルクセンサ等の少なくともいずれか１つを備えてもよい。そうすることで、後述するデータ取得部３１は、センサ１１から出力されるデータを取得することができる。
なお、本実施形態においては、予め設定された所定のスケジュールで定期的、例えば起動時（稼働開始前）に起動信号がロボット制御装置２に入力され、又は稼働終了後に所定のプログラムの実行指示信号がロボット制御装置２に入力されると、ロボット制御装置２は、所定のプログラムに従ってロボット１に対する指令を作成して、ロボット１の駆動部（図示せず）に出力する。そうすることで、ロボット１の駆動部は、指令に基づいて、一定の条件で一定の動作を行うものとする。
ここで、所定のプログラムは、例えばロボット１に予め設定された一定の動作を行わせるヘルスチェック用の制御プログラム（「ヘルスチェックプログラム」ともいう）であって、当該制御プログラムを用いてロボット１を駆動することで、毎回同じ動作をさせて、その動作中のロボット１の駆動部等の動作特性を示す情報（例えば、モータ電流値の時系列データ）を取得し、この取得された情報を、故障予知診断用学習モデルを機械学習するための学習用データ又は駆動部等の故障予知診断に用いる故障予知診断用データとする。ヘルスチェックプログラムは、製造のためのプログラムとは別に、異常を診断するためのプログラムをライン稼働前やライン稼働後に実行し、毎回同じ動作をさせた際のロボット１の駆動部等の動作特性を示す情報（例えば、モータ電流値の時系列データ）を取得するものである。
また、本発明の機械学習は、故障なしの状態、すなわちロボット１が正常に動作しているときのデータのみを学習用データとして蓄積し、教師なし学習によって故障条件を学習する。このため、学習用データを収取する学習期間としては、例えば、ロボット１が出荷された直後又はメンテナンスされた直後等を起点としてある一定期間を学習期間として、学習用データを取得して、蓄積する。一定期間経過後は、後述するように、学習用データを用いて教師なし機械学習をすることで、学習モデル（正常モデル）を作成する。
その後、学習用データを取得したときと同じスケジュールで、所定プログラムを用いてロボット１を駆動することで、その動作中のロボット１の駆動部等の動作特性を示す情報（例えば、モータ電流値の時系列データ）を取得し、ロボット１の駆動部等の故障予知診断に用いる故障予知診断用データとする。こうして取得した故障予知診断用データを学習済みモデル（正常モデル）に入力することで故障の兆候を診断する。具体的には、例えば、定期的に故障予知診断用データを取得した際に、学習済みモデル（正常モデル）からどの程度隔離しているかを算出して、ロボット１の駆動部等が異常か否かを判定する。
なお、ロボット制御装置２に係る機能は、公知であり詳細な説明は省略する。
【００２４】
［学習用データ確認支援装置３］
学習用データ確認支援装置３は、前述したように、故障予知診断用学習モデルを機械学習するための学習用データ又は駆動部等の故障予知診断に用いる故障予知診断用データを取得することができる。特に、学習用データ確認支援装置３は、機械学習を用いたロボット１の駆動部等の異常検知を行うため、予め正常データのみからなる学習用データを取得する際に不適切なデータの混入の確認を容易にするための装置である。
具体的には、学習用データ確認支援装置３は、データ取得部３１と、表示制御部３２と、データ選択部３３と、記憶部３６と、表示器３７と入力器３８と、を備える。記憶部３６は、測定データ記憶部３６１を含む。
【００２５】
＜データ取得部３１＞
データ取得部３１は、前述したように、予め設定されたスケジュール等で、ロボット制御装置２がヘルスチェックプログラムに従って、ロボット１にある一定の動作を行わせると、当該動作を行った際の制御に係る所定の状態量及び制御量の少なくとも一方を表す時系列データを含む測定データを取得して、取得した時系列データを、学習用データ又は故障診断用データとして、その取得時刻（タイムスタンプ）とともに、測定データ記憶部３６１に記憶する。
具体的には、データ取得部３１は、ヘルスチェックプログラムによりロボット１の動作中又は静止中における、駆動部等の少なくともモータの電流値、モータの速度、推定外乱値を含む制御の状態量又は制御量の時系列データを、学習用データ又は故障診断用データとして取得する。データ取得部３１は、この外、トルク、位置、加速度、加加速度、電圧値の時系列データを取得するようにしてもよい。また、例えば、駆動部等の温度の動作環境データ、モータの振動データ等を取得するようにしてもよい。以下、これらのデータを総称して「測定データ」ともいう。
データ取得部３１は、制御の状態量又は制御量の時系列データ（状態変数）をロボット２の動作中又は静止中に取得する。学習用データ確認支援装置３がネットワークを介してロボット１及びセンサ１１に接続されている実施形態において、データ取得部３１は、ネットワークを介して制御の状態量又は制御量の時系列データ（状態変数）を取得する。
【００２６】
制御の状態量又は制御量の時系列データ（状態変数）は、センサ１１の出力データを含んでいてもよい。制御の状態量又は制御量の時系列データ（状態変数）は、ロボット１を制御する制御プログラムの内部データを含んでいてもよい。内部データは、トルク、位置、速度、加速度、加加速度、電流、電圧及び推定外乱値のうちの少なくともいずれか１つを含んでいてもよい。推定外乱値は、例えば、トルク指令及び速度フィードバックに基づいてオブザーバによって推定される外乱値である。
データ取得部３１は、このように取得したロボット制御の状態量又は制御量の時系列データ（状態変数）等を含む測定データを学習用データ又は故障診断用データとして、その取得時刻（タイムスタンプ）とともに、測定データ記憶部３６１に記憶する。
【００２７】
＜表示制御部３２＞
表示制御部３２は、データ取得部３１で取得した複数の時系列データを時間軸の方向に位置合わせした状態で、それぞれ同種データを重ねあわせて表示器３７にグラフ表示する。
具体的には、表示制御部３２は、選択された学習期間内に取得されたロボット制御の状態量毎又は制御量毎の時系列データを含む測定データを、時間軸の方向に位置合わせして、これらのデータを重ね合わせた状態で表示器３７に表示する。ここで、選択された期間のデフォルト値を、測定データ記憶部３６１に記憶された測定データを含む全学習期間としてもよい。以下、状態量データの１つであるモータ電流値及び制御量データであるモータ速度値を例として説明する。
図２Ａ、図２Ｂ、図３Ａ、及び図３Ｂに測定データ記憶部３６１に記憶された全測定データが選択された場合の表示例を示す。
図２Ａ及び図２Ｂは、学習用データとして取得し、測定データ記憶部３６１に記憶された、全モータ電流値（状態量データ）を重ね合わせて表示させた例を示す図である。図３Ａ及び図３Ｂは、学習用データと同時に取得し測定データ記憶部３６１に記憶された、全モータ速度値（制御量データ）を重ね合わせて表示させた例を示す図である。
図２Ａ及び図３Ａのように、測定データを重ね合わせて表示させたときに、異なる波形が見当たらず、ほぼ重なっている場合は、ヘルスチェックプログラムの動作指示どおりに動作させて測定された適切な学習用データであると判断できる。
これに対して、図２Ｂ及び図３Ｂのように、異なる波形が重ね合わせて表示されるときには、ヘルスチェックプログラムの動作指示とは異なる条件や動作で指令された場合に測定された、不適切な測定データを含むものである可能性があると判断できる。
ここで、ヘルスチェックプログラムの動作指示とは異なる条件や動作で指令された場合に測定された場合として、前述したように、例えば一時的な設定変更等により、通常とは異なる条件や動作でデータ取得する場合がある。一例として、例えば、ロボット１の動作を目視で確認しながら動かしていて、途中で一時停止させた場合、ロボット１の動作を確認しようとして、安全のため通常より速度オーバーライドを下げて動かした場合、データ取得中に同じラインの別装置で異常が発生してライン停止したため、ロボット１の動作も止まった場合等がある。
【００２８】
しかしながら、ヘルスチェックプログラムの同じ動作指示により取得される時系列データであっても、その波形を重ね合わせて表示した場合、異なる波形が重ね合わせて表示されるケースがあり得る。例えば、図２Ａ及び図２Ｂのように、確認するためのデータとして学習用データであるモータ電流値（状態量）を使う場合がそれに該当する。
具体的には、ロボット１の減速機内部では金属部品が組み合わされ、グリースで潤滑されているため、温度によってグリースの粘度が大きく変わる場合がある。
そうすると、ロボット１を定期的に毎回同じ速度や位置を再現するように動かした場合であっても、モータ電流値の波形はグリースの粘度の違いの影響を受けて変化する。つまり、温度によってグリースの粘度が大きく変わると、モータ電流値の波形も変わる。このように、モータ電流値の波形は、温度によって波形が変わる可能性があることから、ヘルスチェックプログラムの同じ動作指示により取得される時系列データであっても、その波形を重ね合わせて表示した場合、図２Ｃのように、全ての波形がおよそ１本の線に重ならずに、異なる波形が表示される可能性がある。
【００２９】
これに対して、例えば、速度制御されるロボットの場合、ヘルスチェックプログラムの動作指示どおりに動作させた場合に、制御量であるモータ速度は、測定された時系列データを時間軸の方向に位置合わせして、これらのデータを重ね合わせた状態で表示器３７に表示すると、図３Ａのように全ての波形がおよそ１本の線に重なることがわかる。
したがって、このような場合、表示制御部３２は、例えば、制御量であるモータ速度に係る時系列データを時間軸の方向に位置合わせして、これらのデータを重ね合わせた状態で表示器３７に表示する。そして、例えばモータ速度に係る全ての時系列データがおよそ１本の線に重なることが確認されると、操作者は、モータ電流値の波形が、ヘルスチェックプログラムの同じ動作指示により取得される時系列データであると推定することができる。
このように、制御量は、グリースの粘度等の外乱の影響を比較的受けにくい。このような場合、正常データか否かを確認するデータとして制御量を選ぶことで、予め設定された一定の動作を行わせたか否かの確認をすることができる。
このように例えば速度制御しているロボットでは、学習用データを確認するためのデータとして、状態量の内の一つであるモータ電流値でなく、制御量であるモータ速度を同時に取得して使えばよい。
【００３０】
また、表示制御部３２は、複数の時系列データを時間軸の方向に位置合わせして、これらのデータを重ね合わせた状態で表示器３７に表示する方式に換えて、図４Ａ及び図４Ｂに示すように、選択された期間内に取得されたロボット制御の状態量毎又は制御量毎の時系列データを、時間軸の方向に位置合わせして、これらのデータを当該データの取得時間の順番に表示器３７に表示することができる。ここで、図４Ａは、選択された期間内に取得されたロボット制御の状態量であるモータ電流値に係る時系列データを、時間軸の方向に位置合わせして、これらのデータを当該データの取得時間の順番に表示器３７に表示する例を示す図である。図４Ｂは、選択された期間内に取得されたロボット制御の制御量であるモータ速度値に係る時系列データを、時間軸の方向に位置合わせして、これらのデータを当該データの取得時間の順番に表示器３７に表示する例を示す図である。
図４Ａ及び図４Ｂに示すように、操作者は例えば、スクロール処理を行うことで、各時系列データを当該データの取得時間毎に順番に表示させることができる。こうすることで、例えば、波形を重ね合わせて表示した場合、全ての波形がおよそ１本の線に重ならずに、異なる波形が表示される場合に、操作者は、どの時刻に取得された時系列データの波形が異なっているのか、を容易に判断することができる。
こうすることで、学習用データ又は同時に取得した制御量データを、グラフ波形で視覚的に一覧できるようにすることで、学習用データとして適切なデータであるか否かの確認作業に係る操作者の負荷を軽減することができる。
以上、表示制御部３２の説明において、状態量データの１つであるモータ電流値及び制御量データであるモータ速度値を例として説明したが、これに限られない。例えば、状態量データとして、推定外乱値を用いてもよい。ここで、推定外乱値は、外乱オブザーバを用いて推定される外乱成分の推定値である。外乱オブザーバ及び外乱推定値は、当業者にとって公知であり、詳細な説明は省略する。
【００３１】
＜データ選択部３３＞
データ選択部３３は、表示制御部３２により表示された複数の時系列データから学習用データとして不適切なデータと判断される時系列データを、測定データ記憶部３６１から除外する。
具体的には、表示器３７に、学習用データとして測定データ記憶部３６１に記憶された、例えば制御量であるモータ速度に係る時系列データ（波形）を重ね合わせて表示した場合、全ての波形がおよそ１本の線に重ならずに、異なる波形が表示される場合に、これらの波形の中から操作者により選択された波形の測定時刻に対応する全ての測定データを学習用データとして不適切なデータとして、測定データ記憶部３６１から除外する。
なお、図４Ａ又は図４Ｂに示すように、データ選択部３３は、選択された期間内に学習用データとして取得されたロボット制御の状態量毎又は制御量毎の時系列データを、時間軸の方向に位置合わせして、これらのデータをタイムスタンプ毎に表示器３７に表示した状態で、操作者により選択された波形に対応する測定データを測定データ記憶部３６１から除外するようにしてもよい。
こうすることで、学習用データ又は同時に取得した制御量データを、グラフ波形で視覚的に一覧することで、学習用データとして不適切な測定データの除外作業に係る操作者の負荷を軽減することができる。
以上、学習用データ確認支援装置３について説明した。次に、機械学習装置４について説明する。
【００３２】
［機械学習装置４］
図１に示すように、機械学習装置４は、学習部４１を含む。前述したように、学習部４１が行う機械学習としては、教師なし学習を想定する。教師なし学習とは、入力データと出力すべきデータであるラベルとを含む訓練データを与えて学習する教師あり学習とは異なり、入力データは与えるがラベルは与えないという学習方法である。教師なし学習では、入力データ（本実施形態では、測定データ群に相当）に含まれるパターンや特徴を学習してモデル化する。例えば、クラスタリングを行うために、ｋ−ｍｅａｎｓ法や、ウォード法といったアルゴリズムを用いて学習モデルを構築する。そして、構築した学習モデルを用いて、与えられた入力データを外的基準なしに自動的に分類するクラスタリングを行う。これにより、例えば不具合や故障の検知を行うようなことができる。
このような教師なし学習の方法として、例えば１クラスＳＶＭ法、マハラノビスタグチ法等様々な方法を用いて学習モデル（正常モデル）の作成が可能である。
【００３３】
より詳細に説明すると、ロボットや工作機械等を含む産業機械の不具合や故障の検知の場合であれば、正常データである学習用データのそれぞれの値の確率分布を推定する。そして、推定した確率分布を用いて、新たに入力された測定データの発生確率を導く。そして、導いた発生確率が、一定以下ならば、ロボットや工作機械等を含む産業機械の挙動が正常時の挙動と異なるので、異常が発生していると判断する。つまり、産業機械の挙動が正常時の挙動と異なるので、産業機械に、不具合や故障が発生している又は不具合や故障が発生する兆候があるということを検知できる。
【００３４】
このような確率分布の推定に基づく異常検出の方法としては、例えば外れ値検出が考えられる。外れ値検出では、推定した確率分布を用いて、機械学習の対象とした正常データ群から値が大きく外れた珍しいものを検出する。例えば、振動の振幅の値が通常時と比べてかけ離れた大きな値であるような場合に、産業機械の挙動が正常時の挙動と異なるので、産業機械に、不具合や故障が発生している又は不具合や故障が発生する兆候があるということを検知できる。
なお、本実施形態においては、学習モデル（正常モデル）作成のための状態量として、例えばモータ電流値又は推定外乱値を用いる場合を例示しているが、これに限られない。
以上、機械学習装置４について説明した。次に、故障予知装置５について説明する。
【００３５】
［故障予知装置５］
故障予知装置５は、前述したように、学習期間に蓄積された学習用データにより作成された学習済みモデル（正常モデル）に基づいて、例えば学習用データ確認支援装置３のデータ取得部３１により取得した故障診断用データを入力として、ロボット１の駆動部等の異常の有無、すなわち不具合や故障が発生している又は不具合や故障が発生する兆候があるか否か、に係る異常診断情報を出力する。このため、故障予知装置５は、図１に示すように、異常診断部５１と、異常報知部５２と、を含む。
【００３６】
＜異常診断部５１＞
異常診断部５１は、機械学習装置４で学習した学習済みモデル（正常モデル）（図示せず）を備え、ヘルスチェックプログラムを用いてロボット１を駆動することで、例えば前述したデータ取得部３１により取得されるロボット１の駆動部等の動作特性を示す情報（測定データ、例えばモータ電流値の時系列データ）を故障予知診断に用いる故障予知診断用データとして、入力することで、学習済みモデル（正常モデル）に基づいて、ロボット１の駆動部等の異常の有無、すなわち不具合や故障が発生している又は不具合や故障が発生する兆候があるか否か、を判定する。
なお、異常診断部５１に入力する前に、データ取得部３１により取得された測定データが故障予知診断用データとして適切であることを、例えばモータ速度等の制御量データに基づいて確認することが好ましい。
異常診断部５１は、異常診断結果を異常報知部５２に入力し、ロボット１の異常診断結果を報知するように指示する。
【００３７】
＜異常報知部５２＞
異常報知部５２は、異常診断部５１による異常診断結果に基づいて、ロボット１の診断情報を例えば、表示器５７に出力する。
こうすることで、故障予知装置５は、学習済みモデル（正常モデル）に基づいて、故障診断用データを入力として、ロボット１の駆動部等の異常の有無、すなわち不具合や故障が発生している又は不具合や故障が発生する兆候があるか否か、に係る異常診断情報を出力することができる。
以上、本実施形態の故障予知システム１００の各機能部の実施形態を、ロボット１、ロボット制御装置２、学習用データ確認支援装置３、機械学習装置４、及び故障予知装置５の構成に基づいて説明した。
【００３８】
次に、図５Ａ及び図５Ｂのフローチャートを参照して、本実施形態の動作について説明する。図５Ａは、学習済みモデル（正常モデル）を作成するまでの処理に係るフローチャートである。図５Ｂは、学習済みモデル（正常モデル）作成後、学習モデルに基づいて、異常診断を行う処理を示すフローチャートである。
なお、図５Ａ及び図５Ｂに示すフローチャートは一例であって、これに限られない。
【００３９】
まず、学習用データを作成して、学習用データを用いて教師なし学習を行い、学習モデル（正常モデル）を作成する処理について説明する。
ステップＳ１１において、学習用データ確認支援装置３（データ取得部３１）は、予め設定された学習期間中、予め設定されたスケジュールで、ヘルスチェックプログラムに従ってロボット１に動作を行わせ、当該動作を行った際の制御に係る状態量及び制御量の少なくとも一方を表す時系列データを含む測定データを取得して、学習用データとしてその取得時刻とともに、測定データ記憶部３６１に記憶する。
【００４０】
ステップＳ１２において、学習用データ確認支援装置３（表示制御部３２）は、操作者の指示により、測定データ記憶部３６１に記憶された、学習用データを重ね合わせて表示する。
ステップＳ１３において、学習用データ確認支援装置３（データ選択部３３）は、操作者の指示により、学習用データとして不適切な測定データを除外する。
ステップＳ１４において、機械学習装置４（学習部４１）は、操作者の指示により、学習用データを用いて教師なし学習をして学習済みモデル（正常モデル）を作成する。
【００４１】
次に、学習済みモデル（正常モデル）作成後、故障診断用データを入力として、ロボット１の駆動部等の異常の有無、すなわち不具合や故障が発生しているか否か、又は不具合や故障が発生する兆候があるか否か、に係る異常診断情報を出力する処理について説明する。
まず、ステップＳ２１において、学習用データ確認支援装置３（データ取得部３１）は、予め設定されたスケジュールで、ヘルスチェックプログラムに従ってロボット１に動作を行わせ、当該動作を行った際の制御に係る状態量及び制御量の少なくとも一方を表す時系列データを含む測定データを取得する。
【００４２】
ステップＳ２２において、学習用データ確認支援装置３（表示制御部３２）は、操作者の指示により、ステップ２１において取得された測定データを記憶部３６１に記憶された、学習用データに重ね合わせて表示する。
【００４３】
ステップＳ２３において、故障予知装置５（異常診断部５１）は、故障予知診断用データとして取得された測定データが適切なデータとして操作者により判定されたか否かをチェックする。適切なデータと判定された場合（Ｙｅｓ）、ステップＳ２４に移る。不適切なデータと判定された場合、ステップＳ２１に戻る。
なお、故障予知診断用データとして適切であることを確認しない場合、ステップＳ２２、Ｓ２３は省くことができる。
【００４４】
ステップＳ２４において、故障予知装置５（異常報知部５２）は、故障予知診断用データを入力して、学習済みモデル（正常モデル）に基づいて、異常診断を行う。
ステップＳ２５において、故障予知装置５（異常診断部５１）は、異常診断結果に基づいて、ロボット１の診断情報を表示器５７に出力する。
以上の処理フローにより、故障診断がなされ、故障診断処理を終了する。
【００４５】
上述したロボット制御装置２、学習用データ確認支援装置３、機械学習装置４、及び故障予知装置５に含まれる各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の学習用データ確認支援装置３及び機械学習装置４に含まれる各構成部のそれぞれの協働により行なわれる機械学習方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００４６】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。
【００４７】
以上、本実施形態によれば、学習用データ確認支援装置３により、ロボット制御の状態量毎又は制御量毎の時系列データを含む測定データを、時間軸の方向に位置合わせして、これらのデータを重ね合わせた状態でグラフ波形で視覚的に一覧できるように、表示器３７に表示する。これにより、各測定データが学習用データとして適切か不適切か、が可視化される。そうすることで、操作者は、学習用データとして不適切なデータを容易に判定し、除外することができる。
これにより、機械学習装置４は、故障なしの状態、すなわちロボット１が正常に動作しているときの動作特性を示すデータのみが蓄積された測定データを学習用データとして、教師なし学習を行うことで、適切な学習済みモデル（正常モデル）を構築することができる。
また適切な学習済みモデル（正常モデル）の作成後、故障予知装置５により、定期的に取得した測定データが学習済みモデル（正常モデル）からどの程度隔離しているかを判定することで、ロボット１の駆動部等における異常の有無、すなわち不具合や故障が発生している又は不具合や故障が発生する兆候があるか否か、を判定することができる。
【００４８】
上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００４９】
［変形例１］
上述した実施形態では、産業機械としてロボットとロボット制御装置を含む産業用ロボットを例に用いて説明したが、これに限られない。例えば、産業機械として、各種工作機械及び数値制御装置を用いてもよい。
【００５０】
［変形例２］
また、上述した実施形態では、ロボット制御装置２、学習用データ確認支援装置３、機械学習装置４、及び故障予知装置５をそれぞれ独立した装置としたが、これに限られない。
例えば、ロボット制御装置２が、学習用データ確認支援装置３、機械学習装置４、及び故障予知装置５を含むようにしてもよい。また、ロボット制御装置２が、故障予知装置５を含むようにしてもよい。ロボット制御装置２が少なくとも学習用データ確認支援装置３、機械学習装置４、及び故障予知装置５の内の１つを含むようにしてもよい。いずれにしても、これらの装置の包含関係については、当業者にとっては単なる設計事項である。また、ロボット制御装置２、学習用データ確認支援装置３、機械学習装置４、及び故障予知装置５の備える各機能を１つ以上のサーバに分散する分散処理システムとしてもよい。
【００５１】
［変形例３］
上述した実施形態では、測定データを学習用データとして機械学習装置４（学習部４１）に入力して、学習済みモデル（正常モデル）を作成したが、これに限られない。
機械学習装置４は、例えば周波数解析部（図示せず）を備え、測定データ記憶部３６１に記憶された測定データ群に対してフーリエ変換を行うことにより周波数スペクトルを抽出する。そして、学習部４１はこの周波数スペクトルを用いて機械学習を行うことにより特徴データによる学習モデル（正常モデル）を作成してもよい。
【符号の説明】
【００５２】
１００  故障予知システム
１  ロボット
１１  センサ
２  ロボット制御装置
３  学習用データ確認支援装置
３１  データ取得部
３２  表示制御部
３３  データ選択部
３６  記憶部
３６１  測定データ記憶部
３７  表示器
３８  入力器
４  機械学習装置
４１  学習部
５  故障予知装置
５１  異常診断部
５２  異常報知部
【図１】
2020102001.tif 000003
【図２Ａ】
2020102001.tif 000004
【図２Ｂ】
2020102001.tif 000005
【図２Ｃ】
2020102001.tif 000006
【図３Ａ】
2020102001.tif 000007
【図３Ｂ】
2020102001.tif 000008
【図４Ａ】
2020102001.tif 000009
【図４Ｂ】
2020102001.tif 000010
【図５Ａ】
2020102001.tif 000011
【図５Ｂ】
2020102001.tif 000012