(57)【特許請求の範囲】
【請求項１】
産業機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られる計算データの少なくとも１つを含む状態変数と、前記産業機械の故障の有無又は故障の度合いを表す判定データとの組合せを含む訓練データセットに従ってニューラルネットワークで故障条件を学習する学習部、を備え、
前記産業機械は、少なくとも、産業用ロボット、サービス用ロボット、及び、コンピュータ数値制御装置で制御される機械のいずれか１つである、
ことを特徴とする機械学習装置。
【請求項２】
前記産業機械の動作中又は静止中に前記状態変数を観測する状態観測部と、
前記産業機械の故障の有無又は故障の度合いを判定する故障判定部と、
前記故障判定部から前記判定データを取得する判定データ取得部と、をさらに備える、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項３】
産業機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られる計算データの少なくとも１つを含む状態変数であって、前記産業機械の故障が無いとき又は故障の度合いが低いときの前記状態変数を含む訓練データセットに従ってニューラルネットワークで故障条件を学習する学習部、を備え、
前記産業機械は、少なくとも、産業用ロボット、サービス用ロボット、及び、コンピュータ数値制御装置で制御される機械のいずれか１つである、
ことを特徴とする機械学習装置。
【請求項４】
前記学習部は、少なくとも、前記産業機械の運転開始後又は前記産業機械のメンテナンス終了後のいずれかを起点とする所定期間に取得された前記状態変数を用いて、前記ニューラルネットワークで故障条件を学習する、
ことを特徴とする請求項３に記載の機械学習装置。
【請求項５】
前記学習部は、複数の産業機械に対して作成される訓練データセットに従って、前記ニューラルネットワークで故障条件を学習する、
ことを特徴とする請求項１から請求項４のいずれか１項に記載の機械学習装置。
【請求項６】
前記ニューラルネットワークは、時系列データを扱うニューラルネットワークである、
ことを特徴とする請求項１から請求項５のいずれか１項に記載の機械学習装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の機械学習装置を備えた、前記産業機械の故障を予知する故障予知装置であって、
前記ニューラルネットワークに基づいて、現在の前記状態変数の入力に応答して、前記産業機械の故障の有無又は故障の度合いを表す故障情報を出力する故障情報出力部をさらに備える、
ことを特徴とする故障予知装置。
【請求項８】
請求項３又は請求項４に記載の機械学習装置を備えた、前記産業機械の故障を予知する故障予知装置であって、
現在の前記状態変数を入力した場合の前記ニューラルネットワークからの出力と正常モデルとに基づいて、前記産業機械の故障の有無又は故障の度合いを表す故障情報を出力する故障情報出力部をさらに備える、
ことを特徴とする故障予知装置。
【請求項９】
前記学習部は、前記現在の状態変数に基づいて作成される追加の訓練データセットに従って、前記ニューラルネットワークで故障条件を再学習する、
ことを特徴とする請求項７又は請求項８に記載の故障予知装置。
【請求項１０】
前記機械学習装置は、ネットワークを介して前記産業機械に接続され、
前記現在の状態変数は、前記ネットワークを介して取得される、
ことを特徴とする請求項７から請求項９のいずれか１項に記載の故障予知装置。
【請求項１１】
前記機械学習装置は、クラウドサーバ上に存在する、
ことを特徴とする請求項７から請求項１０のいずれか１項に記載の故障予知装置。
【請求項１２】
前記機械学習装置は、前記産業機械を制御する制御装置に内蔵されている、
ことを特徴とする請求項７から請求項１０のいずれか１項に記載の故障予知装置。
【請求項１３】
産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも１つを含む状態変数であって、前記産業機械の故障が無いとき又は故障の度合いが低いときの前記状態変数を含む訓練データセットに従って、ニューラルネットワークで故障条件を学習する学習部と、
現在の前記状態変数を入力した場合の前記ニューラルネットワークからの出力と正常モデルとに基づいて、前記産業機械の故障の有無又は故障の度合いを表す故障情報を出力する故障情報出力部と、を備える、
ことを特徴とする故障予知装置。
【請求項１４】
前記学習部は、少なくとも、前記産業機械の運転開始後又は前記産業機械のメンテナンス終了後のいずれかを起点とする所定期間に取得された前記状態変数を用いて、前記ニューラルネットワークで故障条件を学習する、
ことを特徴とする請求項１３に記載の故障予知装置。
【請求項１５】
前記ニューラルネットワークは、複数の前記産業機械で共用される、
ことを特徴とする請求項７から請求項１４のいずれか１項に記載の故障予知装置。
【請求項１６】
請求項７から請求項１５のいずれか１項に記載の故障予知装置と、
前記出力データを出力するセンサと、
前記故障情報をオペレータに通知する故障情報通知部と、を備える、
ことを特徴とする故障予知システム。
【請求項１７】
前記故障情報通知部で前記故障情報がオペレータに通知される時期は、故障が発生する時期から遡って第１の所定期間で定められる時期より前である、
ことを特徴とする請求項１６に記載の故障予知システム。
【請求項１８】
前記故障情報通知部で前記故障情報がオペレータに通知される時期は、故障が発生する時期から遡って第１の所定期間で定められる時期より前であり、かつ、故障が発生する時期から遡って、前記第１の所定期間よりも長い第２の所定期間で定められる時期より後である、
ことを特徴とする請求項１６に記載の故障予知システム。 
【請求項１９】
産業機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られる計算データの少なくとも１つを含む状態変数と、前記産業機械の故障の有無又は故障の度合いを表す判定データとの組合せを含む訓練データセットに従ってニューラルネットワークで故障条件を学習し、
前記産業機械は、少なくとも、産業用ロボット、サービス用ロボット、及び、コンピュータ数値制御装置で制御される機械のいずれか１つである、
ことを特徴とする機械学習方法。
【請求項２０】
産業機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られる計算データの少なくとも１つを含む状態変数であって、前記産業機械の故障が無いとき又は故障の度合いが低いときの前記状態変数を含む訓練データセットに従ってニューラルネットワークで故障条件を学習し、
前記産業機械は、少なくとも、産業用ロボット、サービス用ロボット、及び、コンピュータ数値制御装置で制御される機械のいずれか１つである、
ことを特徴とする機械学習方法。
【請求項２１】
産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも１つを含む状態変数であって、前記産業機械の故障が無いとき又は故障の度合いが低いときの前記状態変数を含む訓練データセットに従って、ニューラルネットワークで故障条件を学習し、
現在の前記状態変数を入力した場合の前記ニューラルネットワークからの出力と正常モデルとに基づいて、前記産業機械の故障の有無又は故障の度合いを表す故障情報を出力する、
ことを特徴とする故障予知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システムに関する。
【背景技術】
【０００２】
産業機械では、歩留まりを向上させ又は深刻な事故の発生を防止するために、構成部品の異常を事前に検知することが求められる場合がある。例えば、センサの出力値を予め定められる閾値と比較し、その結果に基づいて異常を検知する方法が公知である。ここで、「産業機械」の文言は、産業用ロボットやコンピュータ数値制御（ＣＮＣ：Computer Numerical Control）装置で制御される機械だけでなく、サービス用ロボットや様々な機械装置を含む機械を意味するものとする。
【０００３】
特許文献１には、正常状態のロボットの基準動作パターンと、稼働中のロボットの動作パターンを比較して、ロボットの故障を予知する故障予知診断方法が開示されている。
【０００４】
特許文献２には、駆動軸の実際の動作状態に基づく負荷側の仕事率と、駆動軸への動作指令に基づく駆動側の仕事率との間の差を判定値と比較することによって、ロボット機構部の劣化の有無及び劣化レベルを評価する故障予知方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６３−１２３１０５号公報
【特許文献２】特開平１０−０３９９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、産業機械の複雑化ないし高度化に伴って故障につながる要因も複雑化している。したがって、一定の基準に従って実行される従来の故障予知方法では、実際の状況に適用できなかったり、又は正確さを欠くことがあった。そこで、状況に応じて正確な故障予知を可能にする故障予知装置が求められている。
【課題を解決するための手段】
【０００７】
本願の１番目の発明によれば、産業機械の故障に関連付けられる条件を学習する機械学習装置であって、前記産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも１つを含む状態変数を前記産業機械の動作中又は静止中に観測する状態観測部と、前記産業機械の故障の有無又は故障の度合いを表す判定データを取得する判定データ取得部と、前記状態変数及び前記判定データの組合せに基づいて作成される訓練データセットに従って、前記産業機械の故障に関連付けられる条件を教師あり学習によって学習する学習部と、を備える機械学習装置が提供される。
本願の２番目の発明によれば、産業機械の故障に関連付けられる条件を学習する機械学習装置であって、前記産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも１つを含む状態変数を前記産業機械の動作中又は静止中に観測する状態観測部と、前記産業機械の故障の有無又は故障の度合いを表す判定データを取得する判定データ取得部と、前記状態変数及び前記判定データの組合せに基づいて作成される訓練データセットに従って、前記産業機械の故障に関連付けられる条件を教師なし学習によって学習する学習部と、を備える機械学習装置が提供される。
本願の３番目の発明によれば、１番目又は２番目の発明に係る機械学習装置において、前記学習部は、複数の産業機械に対して作成される前記訓練データセットに従って、前記条件を学習するように構成される。
本願の４番目の発明によれば、１番目から３番目のいずれかの発明に係る機械学習装置において、前記学習部は、ある一定期間のみで正常状態を学習し、その後は、前記判定データ取得部による故障発生を検知するように構成される。
本願の５番目の発明によれば、１番目から４番目のいずれかの発明に係る機械学習装置において、前記学習部は、前記判定データ取得部が、前記産業機械の故障を表す判定データを取得したときに、前記訓練データセットに含まれる前記判定データを、故障発生時から前記判定データの取得時まで遡った時間の長さに応じて重み付けして前記条件を更新するように構成される。
本願の６番目の発明によれば、１番目から５番目のいずれかの発明に係る機械学習装置を備えた、前記産業機械の故障を予知する故障予知装置であって、前記学習部が前記訓練データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記産業機械の故障の有無又は故障の度合いを表す故障情報を出力する故障情報出力部をさらに備える、故障予知装置が提供される。
本願の７番目の発明によれば、６番目の発明に係る故障予知装置において、前記学習部は、前記現在の状態変数及び前記判定データの組合せに基づいて作成される追加の訓練データセットに従って、前記条件を再学習するように構成される。
本願の８番目の発明によれば、６番目又は７番目の発明に係る故障予知装置において、前記機械学習装置がネットワークを介して前記産業機械に接続され、前記状態観測部は、前記ネットワークを介して、前記現在の状態変数を取得するように構成される。
本願の９番目の発明によれば、８番目の発明に係る故障予知装置において、前記機械学習装置は、クラウドサーバ上に存在する。
本願の１０番目の発明によれば、６番目から８番目のいずれかの発明に係る故障予知装置において、前記機械学習装置は、前記産業機械を制御する制御装置に内蔵されている。
本願の１１番目の発明によれば、６番目から１０番目のいずれかの発明に係る故障予知装置において、前記機械学習装置による学習結果は、複数の前記産業機械で共用される。
本願の１２番目の発明によれば、６番目から１１番目のいずれかの発明に係る故障予知装置と、前記出力データを出力するセンサと、前記故障情報をオペレータに通知する故障情報通知部と、を備える故障予知システムが提供される。
本願の１３番目の発明によれば、１２番目の発明に係る故障予知システムにおいて、前記故障情報通知部で前記故障情報がオペレータに通知される時期は、故障が発生する時期から遡って第１の所定期間で定められる時期より前である。
本願の１４番目の発明によれば、１３番目の発明に係る故障予知システムにおいて、前記故障情報通知部で前記故障情報がオペレータに通知される時期は、故障が発生する時期から遡って第１の所定期間で定められる時期より前であり、かつ、故障が発生する時期から遡って、前記第１の所定期間よりも長い第２の所定期間で定められる時期より後である。
本願の１５番目の発明によれば、産業機械の故障に関連付けられる条件を学習する機械学習方法であって、前記産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも１つを含む状態変数を前記産業機械の動作中又は静止中に観測し、前記産業機械の故障の有無又は故障の度合いを表す判定データを取得し、前記状態変数及び前記判定データの組合せに基づいて作成される訓練データセットに従って、前記産業機械の故障に関連付けられる条件を教師あり学習によって学習する機械学習方法が提供される。
本願の１６番目の発明によれば、産業機械の故障に関連付けられる条件を学習する機械学習方法であって、前記産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも１つを含む状態変数を前記産業機械の動作中又は静止中に観測し、前記産業機械の故障の有無又は故障の度合いを表す判定データを取得し、前記状態変数及び前記判定データの組合せに基づいて作成される訓練データセットに従って、前記産業機械の故障に関連付けられる条件を教師なし学習によって学習する機械学習方法が提供される。
【０００８】
これら及び他の本発明の目的、特徴及び利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。
【発明の効果】
【０００９】
本発明に係る機械学習装置及び機械学習方法は、状態変数及び判定データの組合せに基づいて作成される訓練データセットに従って、産業機械の故障に関連付けられる条件を学習する。産業機械を実際に動作させながら故障条件を学習するので、実際の使用状況に応じた正確な故障条件が学習される。また、本発明に係る故障予知装置及び故障予知システムによれば、故障条件を機械学習できる機械学習装置を備えているので、実際の使用状況に応じた正確な故障予知が可能になる。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係る故障予知システムの一例を示すブロック図である。
【図２】図２は、機械学習装置における学習過程の流れの一例を示すフローチャートである。
【図３】図３は、ニューラルネットワークの構成例を示す図である。
【図４】図４は、教師なしの学習の手法における学習期間の一例を説明するための図である。
【図５】図５は、リカレント型ニューラルネットワークの一例を説明するための図である。
【図６】図６は、他の実施形態に係る故障予知システムの一例を示すブロック図である。
【図７】図７は、実施形態に係る故障予知システムにおける故障の度合いを示す指標値の例を説明するための図（その１）である。
【図８】図８は、実施形態に係る故障予知システムにおける故障の度合いを示す指標値の例を説明するための図（その２）である。
【図９】図９は、学習結果を利用した故障予知の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明に係る機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システムの実施形態を説明する。図示される実施形態の構成要素は、本発明の理解を助けるために縮尺が適宜変更されている。また、同一又は対応する構成要素には、同一の参照符号が使用される。
【００１２】
図１は、一実施形態に係る故障予知システムの一例を示すブロック図である。故障予知システム１は、機械学習機能を有する機械学習装置５を用いて産業機械の故障に関連付けられる条件（以下、「故障条件」と称することがある。）を学習することができる。また、故障予知システム１は、機械学習装置５が学習した結果に基づいて、産業機械及びその周囲環境の状態に応じた故障情報を作成することができる。
【００１３】
本明細書において、「産業機械」は、産業用ロボット、サービス用ロボット及びコンピュータ数値制御（ＣＮＣ）装置で制御される機械を含む様々な機械を意味するものとする。また、本明細書において、「産業機械の故障」は、産業機械の構成部品の故障を含んでいる。すなわち、「産業機械の故障」は、意図される産業機械の機能を実行できない状態に限定されず、例えば、正常時の動作を一時的又は恒久的に再現できないといった状態も含むものとする。
【００１４】
故障予知システム１によって作成される「故障情報」は、産業機械の故障の有無を表す情報又は「故障の度合い」を表す情報を含んでいる。「故障情報」は、産業機械が正常な状態であることを表す情報を含んでいてもよい。「故障の度合い」は、故障の深刻さを意味する。「故障の度合い」は、最大値又は最小値のいずれか一方が制限されていてもよい。「故障の度合い」は、連続量であっても離散量であってもよい。オペレータは、「故障の度合い」に応じて、対象の構成部品の交換又は修理を直ちに行うべきか、或いは次回の保守作業時に行うべきかを判断することができる。
【００１５】
以下の説明では、ロボット２の故障を予知するために使用される故障予知システム１について説明する。しかしながら、他の任意の産業機械に対しても本発明を同様に適用できることを当業者は認識するであろう。
【００１６】
図１に例示されるロボット２は、モータによって各々の関節が駆動される６軸垂直多関節ロボットである。ロボット２は、公知の通信手段によってロボット制御装置３に接続されている。ロボット制御装置３は、制御プログラムに従ってロボット２に対する指令を作成する。
【００１７】
ロボット制御装置３は、ＣＰＵ、ＲＯＭ、ＲＡＭ、不揮発性メモリ及び外部装置に接続されるインタフェースを備えたデジタルコンピュータである。ロボット制御装置３は、図１に示されるように、故障判定部３１を備えている。
【００１８】
故障判定部３１は、公知の故障診断方法を利用してロボット２の故障を判定する。故障判定部３１は、故障予知システム１によって作成される故障情報とは独立して、ロボット２の故障の有無又は故障の度合いを判定する。例えば、トルクセンサによって検出される外乱トルク、或いはセンサの出力データの振動の振幅が予め定められる閾値を超えたときに、故障判定部３１は、故障が発生したと判定する。或いは、故障判定部３１は、ロボット制御装置３に格納された制御ソフトウェアの内部データに基づいて、ロボット２の故障が発生したと判定してもよい。このように、故障判定部３１は、様々な要因に基づく故障を判定する。なお、故障判定部３１による判定結果は、後述する機械学習装置５の判定データ取得部５１に入力される。
【００１９】
別の実施形態において、機械学習装置５は、ロボット２の故障を発見し、或いは知得したオペレータの入力操作に応答して、故障情報が判定データ取得部５１に入力されるように構成されていてもよい。
【００２０】
故障予知システム１は、ロボット２又は周囲環境の状態を検出するセンサ１１をさらに備えている。センサ１１は、力センサ、トルクセンサ、振動センサ、集音センサ、撮像センサ、距離センサ、温度センサ、湿度センサ、流量センサ、光量センサ、pHセンサ、圧力センサ、粘度センサ及び臭気センサの少なくともいずれか１つを含んでいてもよい。センサ１１から出力されるデータ（以下、単に「出力データ」と称することがある。）は、機械学習装置５の状態観測部５２に入力される。
【００２１】
機械学習装置５は、ロボット２の故障条件を学習する。一実施形態において、機械学習装置５は、ネットワークを介してロボット２に接続されていてロボット制御装置３とは別個のデジタルコンピュータであってもよい。
【００２２】
別の実施形態において、機械学習装置５は、ロボット制御装置３に内蔵されていてもよい。その場合、機械学習装置５は、ロボット制御装置３のプロセッサを利用して機械学習を実行する。また別の実施形態において、機械学習装置５は、クラウドサーバ上に存在していてもよい。
【００２３】
図１に示されるように、機械学習装置５は、判定データ取得部５１と、状態観測部５２と、学習部５３と、を備えている。
【００２４】
判定データ取得部５１は、故障判定部３１から判定データを取得する。判定データは、判定データ取得部５１から学習部５３に入力され、機械学習装置５が故障条件を学習する際に使用される。判定データは、故障の有無又は故障の度合いを判定したデータである。判定データは、故障有りの場合、すなわちロボット２が異常な状態にあることを表すデータを含んでいなくてもよい。
【００２５】
状態観測部５２は、機械学習の入力値としての状態変数をロボット２の動作中又は静止中に観測する。機械学習装置５がネットワークを介してロボット２及びセンサ１１に接続されている実施形態において、状態観測部５２は、ネットワークを介して状態変数を取得する。
【００２６】
状態変数は、センサ１１の出力データを含んでいてもよい。状態変数は、ロボット２を制御する制御ソフトウェアの内部データを含んでいてもよい。内部データは、トルク、位置、速度、加速度、加加速度、電流、電圧及び推定外乱値のうちの少なくともいずれか１つを含んでいてもよい。推定外乱値は、例えば、トルク指令及び速度フィードバックに基づいてオブザーバによって推定される外乱値である。
【００２７】
状態変数は、出力データ又は内部データに基づいて得られる計算データを含んでいてもよい。計算データは、周波数解析、時間周波数解析及び自己相関解析のうちの少なくとも１つを利用して取得されてもよい。当然ながら、計算データは、より単純な計算、例えば係数乗算又は微分積分演算を利用して取得されてもよい。
【００２８】
学習部５３は、状態観測部５２から出力される状態変数、及び判定データ取得部５１から出力される判定データの組合せに基づいて作成される訓練データセットに従って、故障条件を学習する。訓練データセットは、状態変数及び判定データを互いに関連付けたデータである。
【００２９】
図２を参照して、機械学習装置５における学習過程の一例について説明する。学習が開始されると、ステップＳ２０１において、状態観測部５２が、出力データ、内部データ又は計算データなどを含む状態変数を取得する。ステップＳ２０２では、判定データ取得部５１が、故障判定部３１による判定結果に基づいて判定データを取得する。
【００３０】
ステップＳ２０３では、学習部５３が、ステップＳ２０１で取得された状態変数と、ステップＳ２０２で取得された判定データと、の組合せに基づいて作成される訓練データセットに従って、故障条件を学習する。ステップＳ２０１〜Ｓ２０３の処理は、機械学習装置５が故障条件を十分に学習するまで繰返し実行される。
【００３１】
一実施形態において、機械学習装置５の学習部５３は、ニューラルネットワークモデルに従って故障条件を学習してもよい。図３は、ニューラルネットワークモデルの例を示している。ニューラルネットワークは、ｌ個のニューロンｘ1、ｘ2、ｘ3、・・・、ｘlを含む入力層と、ｍ個のニューロンｙ1、ｙ2、ｙ3、・・・、ｙmを含む中間層（隠れ層）と、ｎ個のニューロンｚ1、ｚ2、ｚ3、・・・、ｚnを含む出力層と、から構成されている。なお、図３において、中間層は、１層のみ示されているものの、２層以上の中間層が設けられてもよい。なお、機械学習装置５（ニューラルネット）は、汎用の計算機若しくはプロセッサを用いてもよいが、ＧＰＧＰＵ（General-Purpose computing on Graphics Processing Units）や大規模ＰＣクラスターなどを適用すると、より高速に処理することが可能である。
【００３２】
ニューラルネットワークは、ロボット２の故障に関連付けられる故障条件を学習する。ニューラルネットワークは、状態観測部５２によって観測される状態変数と、判定データ取得部５１によって取得される判定データとの組合せに基づいて作成される訓練データセットに従って、いわゆる教師あり学習によって、状態変数と故障発生との関係性、すなわち故障条件を学習する。教師あり学習とは、ある入力と結果（ラベル）のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、すなわちその関係性を帰納的に獲得することができるというものである。
【００３３】
或いは、ニューラルネットワークは、故障無しの状態、すなわちロボット２が正常に動作しているときの状態変数のみを蓄積し、いわゆる教師なし学習によって、故障条件を学習することもできる。例えば、ロボット２の故障の頻度が極めて低い場合、教師なし学習の手法が有効であろう。教師なし学習とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。
【００３４】
図４は、教師なしの学習の手法における学習期間の一例を説明するための図である。ここで、横軸は、時間（時間の経過）を示し、縦軸は、故障の度合いを示す。図４に示されるように、上記の教師なしの学習の手法は、ロボット２が、出荷された直後もしくはメンテナンスされた直後などを起点としてある一定期間、例えば、数週間などを学習期間として、このときのみ状態変数を更新し、正常状態として定義する。そして、その後は状態変数の更新を行わず、ニューラルネットワークから出力される出力結果から正常モデルからの距離をもとに「故障の度合い」を出力して異常判定のみを行うことによって、異常検知を行うことを実現できる。
【００３５】
また、本実施形態においては、例えば、時間的相関がある時系列データをモデル化するため、リカレント型と呼ばれるニューラルネットワークを使用するのも有効である。リカレントニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）は、現時刻だけの状態のみを使って学習モデルを形成するのではなく、これまでの時刻の内部状態も利用する。リカレントニューラルネットワークは時間軸のネットワークを展開して考えることで、一般的なニューラルネットワークと同様に扱うことができる。ここで、リカレントニューラルネットワークも多種あるが、一例として、単純再帰型ネットワーク（エルマンネットワーク：Elman Network）を説明する。
【００３６】
図５は、リカレント型ニューラルネットワークの一例を説明するための図であり、図５(a)は、エルマンネットワークの時間軸展開を示し、図５(b)は、誤差逆伝播法（バックプロパゲーション：Backpropagation）のバックプロパゲーションタイムスルータイム（ＢＰＴＴ：Back Propagation Through Time）を示す。ここで、図５(a)に示されるようなエルマンネットワークの構造であれば、バックプロパゲーションを適用することができる。
【００３７】
ただし、エルマンネットワークでは、通常のニューラルネットワークと異なり、図５(b)に示されるように、時間を遡るように誤差が伝搬し、このようなバックプロパゲーションをバックプロパゲーションスルータイム（ＢＰＴＴ）と呼ぶ。このようなニューラルネットワーク構造を適用することで、これまでの入力の遷移を踏まえた出力のモデルを推定することができ、例えば、その推定される出力値が、ある異常値であるかどうかを故障発生との関係性に使うことが可能になる。
【００３８】
後述する故障予知を行う際、ニューラルネットワークの入力層に入力される状態変数に応答して、出力層が前述の故障情報に対応する故障の有無を表す情報又は「故障の度合い」を出力する。なお、「故障の度合い」の取り得る値は、最大値・最小値のいずれかが制限された値、或いは、連続量、もしくは離散量であってもよい。
【００３９】
前述した実施形態に係る機械学習装置及び機械学習方法によれば、判定データ取得部５１から出力される判定データによる故障条件よりも実際の使用状況に応じた正確な故障条件を学習できる。それにより、故障につながる要因が複雑であり、故障条件を予め設定するのが困難な場合であっても、高い精度の故障予知が可能になる。
【００４０】
一実施形態において、判定データ取得部５１がロボット２の故障を表す判定データを取得したときに、学習部５３が、判定データを、故障発生時から各々の判定データの取得時まで遡った時間の長さに応じて、それぞれ重み付けして故障条件を更新するようにしてもよい。ここで、判定データを取得してから故障が実際に発生するまでの時間が短ければ短いほど、故障発生に直結する状態に近いことが推定される。したがって、訓練データセット取得時からの経過時間に応じて判定データを重み付けすれば、故障条件を効果的に学習することができる。
【００４１】
一実施形態において、学習部５３は、複数のロボット２に対して作成される訓練データセットに従って、故障条件を学習するようにしてもよい。なお、学習部５３は、同一の現場で使用される複数のロボット２から訓練データセットを取得してもよいし、或いは、異なる現場で独立して稼働する複数のロボット２から収集される訓練データセットを利用して故障条件を学習してもよい。また、訓練データセットを収集するロボット２を途中で対象に追加し、或いは、逆に対象から除去することもできる。
【００４２】
次に、複数のロボット２の訓練データセットを共有（共用）する方法として、以下に３つの例を挙げるが、それ以外の方法を適用することができるのはいうまでもない。まず、第１の例としては、ニューラルネットワークのモデルを同じになるように共有する方法であり、例えば、ネットワークの各重み係数について、各ロボット２間の差分を、通信手段を用いて送信して反映させるものである。また、第２の例としては、ニューラルネットワークの入力と出力のデータセットを共有することにより、学習装置５の重みなどを共有することができる。さらに、第３の例としては、あるデータベースを用意し、それにアクセスしてより妥当なニューラルネットワークのモデルをロードすることで状態を共有する（同じようなモデルとする）ものである。
【００４３】
図６は、他の実施形態に係る故障予知システムの一例を示すブロック図である。故障予知システム１は、機械学習装置５によって学習された結果を利用して、ロボット２の故障情報を作成する故障予知装置４を備えている。
【００４４】
故障予知装置４は、状態観測部４１と、故障情報出力部４２と、を備えている。状態観測部４１は、図１を参照して説明した状態観測部５２と同様に機能し、ロボット２及び周囲の環境の状態を反映した状態変数を取得する。故障情報出力部４２は、前述した機械学習装置５の学習部５３が訓練データセットに従って学習した結果に基づいて、状態観測部４１を介した状態変数の入力に応答して、ロボット２の故障情報を出力する。
【００４５】
図６に示されるように、ロボット制御装置３は、通知部（故障情報通知部）３２を備えることができる。通知部３２は、故障情報出力部４２によって出力される故障情報をオペレータに通知する。故障情報が通知される態様は、オペレータが知得可能であれば、特に限定されない。例えば、予知された故障の有無又は故障の度合いを図示されない表示装置に表示してもよいし、或いは、故障情報の内容に応じて警告音を発生させてもよい。
【００４６】
図７および図８は、実施形態に係る故障予知システムにおける故障の度合いを示す指標値の例（第１例〜第４例）を説明するための図である。ここで、図７(a)，図７(b)，図７(c)及び図８において、横軸は、時間を示し、縦軸は、故障の度合いを示す。まず、図７(a)に示されるように、例えば、第１例において、「故障の度合い」を示す指標値を、故障が近づくにつれて大きくなるように定め、学習によって得られた指標値をそのまま故障情報として故障情報出力部４２が出力するように構成することができる。また、図７(b)に示されるように、例えば、第２例において、前述の指標値に閾値を設け、閾値以上であれば異常、閾値未満であれば正常、というように故障の有無を表す情報を故障情報として故障情報出力部４２が出力するように構成することもできる。さらに、図７(c)に示されるように、例えば、第３例において、前述の指標値に閾値を複数（閾値１〜閾値３）設け、各閾値別に区切られたレベル（故障レベル１〜故障レベル４）を故障情報として故障情報出力部４２が出力するように構成することもできる。
【００４７】
図８に示されるように、例えば、第４例において、複数の故障に至ったデータ（教師データ）に基づいて、前述の指標値と故障に至るまでの時間の関係を求め、それを元に、故障が発生する時期から遡って第１の所定期間で定められる時期より前であることを満たすための第１の閾値を求める。また、故障が発生する時期から遡って第２の所定期間で定められる時期より後であることを満たすための第２の閾値を定める。そして、指標値が第１の閾値未満であることと、指標値が第２の閾値以上であることの少なくとも一方を満たす場合に、指標値そのもの、或いは、指標値を閾値で区切ったレベルを、故障情報として故障情報出力部４２が出力することもできる。この場合の閾値の決め方は、例えば、過去の教師データが条件を全て満たすように閾値を設けることもでき、また、必要に応じてマージンを設けて閾値を設けることもでき、さらに、確率論的に、ある一定確率内での判定間違いを許すように閾値を定めることもできる。
【００４８】
次に、図９を参照して、機械学習装置が学習した結果を利用して実行される故障予知の一例について説明する。ステップＳ５０１では、状態観測部４１が、例えばセンサ１１からの出力データを含む現在の状態変数を取得する。ステップＳ５０２では、故障情報出力部４２が、前述した機械学習装置５の学習結果に基づいて、ステップＳ５０１で取得された状態変数に応じた故障情報を出力する。故障予知システム１が通知部３２を備えている場合は、故障情報をオペレータに通知する工程がステップＳ５０２の後に実行されてもよい。
【００４９】
図９を参照して説明した故障予知装置４による故障予知は、ロボット２が予め定められる特定の動作を実行するときに行われてもよい。或いは、ロボット２の動作中又は静止中に並行してステップＳ５０１〜Ｓ５０２の処理を継続して実行してもよい。或いは、予め定められた時刻に定期的に故障予知が行われてもよい。
【００５０】
一実施形態において、故障予知装置４による故障予知を実行するのと並行して、機械学習装置５による機械学習が実行されてもよい。その場合、故障予知装置４が故障情報を作成するのと同時に、故障判定部３１又はオペレータの操作を介して取得される判定データとその時点での状態変数に基づいて、機械学習装置５の学習部５３が故障条件を再学習する。
【００５１】
ニューラルネットワークを利用して機械学習する実施形態について説明したものの、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。また、繰り返しになるが、本明細書において、「産業機械」なる文言は、産業用ロボット、サービス用ロボット及びコンピュータ数値制御（ＣＮＣ）装置で制御される機械を含む様々な機械を意味するのは、前述した通りである。
【００５２】
以上、本発明の種々の実施形態について説明したが、当業者であれば、他の実施形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施形態の構成要素を削除又は置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【符号の説明】
【００５３】
１    故障予知システム
２    ロボット
３    ロボット制御装置
４    故障予知装置
５    機械学習装置
１１    センサ
３１    故障判定部
３２    通知部
４１    状態観測部
４２    故障情報出力部
５１    判定データ取得部
５２    状態観測部
５３    学習部
【図１】
0006773582.tif 000002
【図２】
0006773582.tif 000003
【図３】
0006773582.tif 000004
【図４】
0006773582.tif 000005
【図５】
0006773582.tif 000006
【図６】
0006773582.tif 000007
【図７】
0006773582.tif 000008
【図８】
0006773582.tif 000009
【図９】
0006773582.tif 000010