(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-11
(45)【発行日】2022-07-20
(54)【発明の名称】故障予知装置、故障予知システム及び故障予知方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20220712BHJP
G05B 19/18 20060101ALI20220712BHJP
G05B 19/4155 20060101ALI20220712BHJP
B25J 19/06 20060101ALI20220712BHJP
【FI】
G05B23/02 302S
G05B19/18 X
G05B19/4155 V
B25J19/06
(21)【出願番号】P 2020167222
(22)【出願日】2020-10-01
(62)【分割の表示】P 2017020403の分割
【原出願日】2015-11-30
【審査請求日】2020-10-01
(31)【優先権主張番号】P 2015152572
(32)【優先日】2015-07-31
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100165191
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100151459
【氏名又は名称】中村 健一
(72)【発明者】
【氏名】稲垣 尚吾
(72)【発明者】
【氏名】中川 浩
(72)【発明者】
【氏名】岡野原 大輔
(72)【発明者】
【氏名】奥田 遼介
(72)【発明者】
【氏名】松元 叡一
(72)【発明者】
【氏名】河合 圭悟
【審査官】山村 秀政
(56)【参考文献】
【文献】国際公開第2008/120552(WO,A1)
【文献】特開平08-202444(JP,A)
【文献】特開2003-208220(JP,A)
【文献】特開2014-096050(JP,A)
【文献】特開平11-212637(JP,A)
【文献】特開平10-154900(JP,A)
【文献】特開平10-267509(JP,A)
【文献】特開2012-168799(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G05B 19/18
G05B 19/4155
B25J 19/06
(57)【特許請求の範囲】
【請求項1】
第1の機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られるデータの少なくとも1つを含む状態変数を取得する観測部と、
機械学習モデルに前記状態変数を入力した際の前記機械学習モデルからの出力に基づいて、前記第1の機械の故障情報と故障が発生する時期を取得し、前記故障が発生する時期から遡って所定期間で定められる時期より前に、少なくとも前記故障情報に基づいた情報を通知部に出力する出力部と、を備える、
故障予知装置。
【請求項2】
第1の機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られるデータの少なくとも1つを含む状態変数を取得する観測部と、
機械学習モデルに前記状態変数を入力した際の前記機械学習モデルからの出力に基づいて、前記第1の機械の故障の度合いを示す情報の時系列を通知部に出力する出力部と、を備
え、
前記故障の度合いを示す情報は、前記機械学習モデルからの出力に基づいて生成される、
故障予知装置。
【請求項3】
第1の機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られるデータの少なくとも1つを含む状態変数を取得する観測部と、
機械学習モデルに前記状態変数を入力した際の前記機械学習モデルからの出力に基づいて、前記第1の機械の故障の度合い
を示す情報と故障の発生する時期を通知部に出力する出力部と、を備
え、
前記故障の度合いを示す情報は、前記機械学習モデルからの出力に基づいて生成される、
故障予知装置。
【請求項4】
前記機械学習モデルは、少なくとも、前記第1の機械の状態変数と前記第1の機械の故障情報との組合せ、及び、第2の機械の状態変数と前記第2の機械の故障情報との組合せ、のいずれかを含む訓練データセットを用いて学習されたものである、
請求項1乃至3のいずれか1項に記載の故障予知装置。
【請求項5】
前記機械学習モデルは、少なくとも、前記第1の機械の故障が無いとき又は故障の度合いが低いときの状態変数、及び、前記第2の機械の故障が無いとき又は故障の度合いが低いときの状態変数、のいずれかを含む訓練データセットを用いて学習されたものである、
請求項
1乃至3のいずれか1項に記載の故障予知装置。
【請求項6】
前記第1の機械の故障がないとき又は故障の度合いが低いときは、前記第1の機械が出荷された後又はメンテナンスされた後を起点とした一定期間を表し、
前記第2の機械の故障がないとき又は故障の度合いが低いときは、前記第2の機械が出荷された後又はメンテナンスされた後を起点とした一定期間を表す、
請求項5に記載の故障予知装置。
【請求項7】
前記第1の機械の故障情報は、少なくとも、前記第1の機械の故障の有無、前記第1の機械の故障の度合い、及び、前記第1の機械が正常状態であること、のいずれかを示す情報である、
請求項1に記載の故障予知装置。
【請求項8】
前記機械学習モデルは、クラウドサーバ上に存在する、
請求項1乃至7のいずれか1項に記載の故障予知装置。
【請求項9】
前記機械学習モデルは、他の機械の故障予知にも利用される、
請求項1乃至8のいずれか1項に記載の故障予知装置。
【請求項10】
前記機械学習モデルは、時系列データを扱う機械学習モデルである、
請求項1乃至9のいずれか1項に記載の故障予知装置。
【請求項11】
前記機械学習モデルは、ニューラルネットワークである、
請求項1乃至10のいずれか1項に記載の故障予知装置。
【請求項12】
前記出力部は、前記機械学習モデルからの出力と正常モデルとに基づいて、前記第1の機械の故障情報を出力する、
請求項1乃至請求項11のいずれか1項に記載の故障予知装置。
【請求項13】
前記第1の機械は、少なくとも、産業用ロボット、サービス用ロボット、及び、コンピュータ数値制御装置で制御される機械のいずれか1つである、
請求項1乃至12のいずれか1項に記載の故障予知装置。
【請求項14】
請求項1乃至13のいずれか1項に記載の故障予知装置と、
前記通知部と、を備え、
前記通知部は、前記出力部からの出力をオペレータに通知する、
故障予知システム。
【請求項15】
前記通知部は、故障が発生する時期から遡って第1の所定期間で定められる時期より前であり、かつ、前記故障が発生する時期から遡って前記第1の所定期間よりも長い第2の所定期間で定められる時期より後に、前記出力部からの出力をオペレータに通知する、
請求項14に記載の故障予知システム。
【請求項16】
前記センサと、
前記第1の機械と、を更に備える、
請求項14又は15に記載の故障予知システム。
【請求項17】
第1の機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られるデータの少なくとも1つを含む状態変数を取得し、
機械学習モデルに前記状態変数を入力した際の前記機械学習モデルからの出力に基づいて、前記第1の機械の故障情報と故障が発生する時期を取得し、前記故障が発生する時期から遡って所定期間で定められる時期より前に、少なくとも前記故障情報に基づい
た情報を出力する、
故障予知方法。
【請求項18】
第1の機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られるデータの少なくとも1つを含む状態変数を取得し、
機械学習モデルに前記状態変数を入力した際の前記機械学習モデルからの出力に基づいて、前記第1の機械の故障の度合いを示す情報の時系列を出力
し、
前記故障の度合いを示す情報は、前記機械学習モデルからの出力に基づいて生成される、
故障予知方法。
【請求項19】
第1の機械の動作に関する情報を検出するセンサの出力データ、及び、前記出力データに基づいて得られるデータの少なくとも1つを含む状態変数を取得し、
機械学習モデルに前記状態変数を入力した際の前記機械学習モデルからの出力に基づいて、前記第1の機械の故障の度合い
を示す情報と故障の発生する時期を出力
し、
前記故障の度合いを示す情報は、前記機械学習モデルからの出力に基づいて生成される、
故障予知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システムに関する。
【背景技術】
【0002】
産業機械では、歩留まりを向上させ又は深刻な事故の発生を防止するために、構成部品の異常を事前に検知することが求められる場合がある。例えば、センサの出力値を予め定められる閾値と比較し、その結果に基づいて異常を検知する方法が公知である。ここで、「産業機械」の文言は、産業用ロボットやコンピュータ数値制御(CNC:Computer Numerical Control)装置で制御される機械だけでなく、サービス用ロボットや様々な機械装置を含む機械を意味するものとする。
【0003】
特許文献1には、正常状態のロボットの基準動作パターンと、稼働中のロボットの動作パターンを比較して、ロボットの故障を予知する故障予知診断方法が開示されている。
【0004】
特許文献2には、駆動軸の実際の動作状態に基づく負荷側の仕事率と、駆動軸への動作指令に基づく駆動側の仕事率との間の差を判定値と比較することによって、ロボット機構部の劣化の有無及び劣化レベルを評価する故障予知方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開昭63-123105号公報
【文献】特開平10-039908号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、産業機械の複雑化ないし高度化に伴って故障につながる要因も複雑化している。したがって、一定の基準に従って実行される従来の故障予知方法では、実際の状況に適用できなかったり、又は正確さを欠くことがあった。そこで、状況に応じて正確な故障予知を可能にする故障予知装置が求められている。
【課題を解決するための手段】
【0007】
本願の1番目の発明によれば、産業機械の故障に関連付けられる条件を学習する機械学習装置であって、前記産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも1つを含む状態変数を前記産業機械の動作中又は静止中に観測する状態観測部と、前記産業機械の故障の有無又は故障の度合いを表す判定データを取得する判定データ取得部と、前記状態変数及び前記判定データの組合せに基づいて作成される訓練データセットに従って、前記産業機械の故障に関連付けられる条件を教師あり学習によって学習する学習部と、を備える機械学習装置が提供される。
本願の2番目の発明によれば、産業機械の故障に関連付けられる条件を学習する機械学習装置であって、前記産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも1つを含む状態変数を前記産業機械の動作中又は静止中に観測する状態観測部と、前記産業機械の故障の有無又は故障の度合いを表す判定データを取得する判定データ取得部と、前記状態変数及び前記判定データの組合せに基づいて作成される訓練データセットに従って、前記産業機械の故障に関連付けられる条件を教師なし学習によって学習する学習部と、を備える機械学習装置が提供される。
本願の3番目の発明によれば、1番目又は2番目の発明に係る機械学習装置において、前記学習部は、複数の産業機械に対して作成される前記訓練データセットに従って、前記条件を学習するように構成される。
本願の4番目の発明によれば、1番目から3番目のいずれかの発明に係る機械学習装置において、前記学習部は、ある一定期間のみで正常状態を学習し、その後は、前記判定データ取得部による故障発生を検知するように構成される。
本願の5番目の発明によれば、1番目から4番目のいずれかの発明に係る機械学習装置において、前記学習部は、前記判定データ取得部が、前記産業機械の故障を表す判定データを取得したときに、前記訓練データセットに含まれる前記判定データを、故障発生時から前記判定データの取得時まで遡った時間の長さに応じて重み付けして前記条件を更新するように構成される。
本願の6番目の発明によれば、1番目から5番目のいずれかの発明に係る機械学習装置を備えた、前記産業機械の故障を予知する故障予知装置であって、前記学習部が前記訓練データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記産業機械の故障の有無又は故障の度合いを表す故障情報を出力する故障情報出力部をさらに備える、故障予知装置が提供される。
本願の7番目の発明によれば、6番目の発明に係る故障予知装置において、前記学習部は、前記現在の状態変数及び前記判定データの組合せに基づいて作成される追加の訓練データセットに従って、前記条件を再学習するように構成される。
本願の8番目の発明によれば、6番目又は7番目の発明に係る故障予知装置において、前記機械学習装置がネットワークを介して前記産業機械に接続され、前記状態観測部は、前記ネットワークを介して、前記現在の状態変数を取得するように構成される。
本願の9番目の発明によれば、8番目の発明に係る故障予知装置において、前記機械学習装置は、クラウドサーバ上に存在する。
本願の10番目の発明によれば、6番目から8番目のいずれかの発明に係る故障予知装置において、前記機械学習装置は、前記産業機械を制御する制御装置に内蔵されている。
本願の11番目の発明によれば、6番目から10番目のいずれかの発明に係る故障予知装置において、前記機械学習装置による学習結果は、複数の前記産業機械で共用される。
本願の12番目の発明によれば、6番目から11番目のいずれかの発明に係る故障予知装置と、前記出力データを出力するセンサと、前記故障情報をオペレータに通知する故障情報通知部と、を備える故障予知システムが提供される。
本願の13番目の発明によれば、12番目の発明に係る故障予知システムにおいて、前記故障情報通知部で前記故障情報がオペレータに通知される時期は、故障が発生する時期から遡って第1の所定期間で定められる時期より前である。
本願の14番目の発明によれば、13番目の発明に係る故障予知システムにおいて、前記故障情報通知部で前記故障情報がオペレータに通知される時期は、故障が発生する時期から遡って第1の所定期間で定められる時期より前であり、かつ、故障が発生する時期から遡って、前記第1の所定期間よりも長い第2の所定期間で定められる時期より後である。
本願の15番目の発明によれば、産業機械の故障に関連付けられる条件を学習する機械学習方法であって、前記産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも1つを含む状態変数を前記産業機械の動作中又は静止中に観測し、前記産業機械の故障の有無又は故障の度合いを表す判定データを取得し、前記状態変数及び前記判定データの組合せに基づいて作成される訓練データセットに従って、前記産業機械の故障に関連付けられる条件を教師あり学習によって学習する機械学習方法が提供される。
本願の16番目の発明によれば、産業機械の故障に関連付けられる条件を学習する機械学習方法であって、前記産業機械又は周囲環境の状態を検出するセンサの出力データ、前記産業機械を制御する制御ソフトウェアの内部データ、及び、前記出力データ又は前記内部データに基づいて得られる計算データの少なくとも1つを含む状態変数を前記産業機械の動作中又は静止中に観測し、前記産業機械の故障の有無又は故障の度合いを表す判定データを取得し、前記状態変数及び前記判定データの組合せに基づいて作成される訓練データセットに従って、前記産業機械の故障に関連付けられる条件を教師なし学習によって学習する機械学習方法が提供される。
【0008】
これら及び他の本発明の目的、特徴及び利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。
【発明の効果】
【0009】
本発明に係る機械学習装置及び機械学習方法は、状態変数及び判定データの組合せに基づいて作成される訓練データセットに従って、産業機械の故障に関連付けられる条件を学習する。産業機械を実際に動作させながら故障条件を学習するので、実際の使用状況に応じた正確な故障条件が学習される。また、本発明に係る故障予知装置及び故障予知システムによれば、故障条件を機械学習できる機械学習装置を備えているので、実際の使用状況に応じた正確な故障予知が可能になる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、一実施形態に係る故障予知システムの一例を示すブロック図である。
【
図2】
図2は、機械学習装置における学習過程の流れの一例を示すフローチャートである。
【
図3】
図3は、ニューラルネットワークの構成例を示す図である。
【
図4】
図4は、教師なしの学習の手法における学習期間の一例を説明するための図である。
【
図5】
図5は、リカレント型ニューラルネットワークの一例を説明するための図である。
【
図6】
図6は、他の実施形態に係る故障予知システムの一例を示すブロック図である。
【
図7】
図7は、実施形態に係る故障予知システムにおける故障の度合いを示す指標値の例を説明するための図(その1)である。
【
図8】
図8は、実施形態に係る故障予知システムにおける故障の度合いを示す指標値の例を説明するための図(その2)である。
【
図9】
図9は、学習結果を利用した故障予知の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明に係る機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システムの実施形態を説明する。図示される実施形態の構成要素は、本発明の理解を助けるために縮尺が適宜変更されている。また、同一又は対応する構成要素には、同一の参照符号が使用される。
【0012】
図1は、一実施形態に係る故障予知システムの一例を示すブロック図である。故障予知システム1は、機械学習機能を有する機械学習装置5を用いて産業機械の故障に関連付けられる条件(以下、「故障条件」と称することがある。)を学習することができる。また、故障予知システム1は、機械学習装置5が学習した結果に基づいて、産業機械及びその周囲環境の状態に応じた故障情報を作成することができる。
【0013】
本明細書において、「産業機械」は、産業用ロボット、サービス用ロボット及びコンピュータ数値制御(CNC)装置で制御される機械を含む様々な機械を意味するものとする。また、本明細書において、「産業機械の故障」は、産業機械の構成部品の故障を含んでいる。すなわち、「産業機械の故障」は、意図される産業機械の機能を実行できない状態に限定されず、例えば、正常時の動作を一時的又は恒久的に再現できないといった状態も含むものとする。
【0014】
故障予知システム1によって作成される「故障情報」は、産業機械の故障の有無を表す情報又は「故障の度合い」を表す情報を含んでいる。「故障情報」は、産業機械が正常な状態であることを表す情報を含んでいてもよい。「故障の度合い」は、故障の深刻さを意味する。「故障の度合い」は、最大値又は最小値のいずれか一方が制限されていてもよい。「故障の度合い」は、連続量であっても離散量であってもよい。オペレータは、「故障の度合い」に応じて、対象の構成部品の交換又は修理を直ちに行うべきか、或いは次回の保守作業時に行うべきかを判断することができる。
【0015】
以下の説明では、ロボット2の故障を予知するために使用される故障予知システム1について説明する。しかしながら、他の任意の産業機械に対しても本発明を同様に適用できることを当業者は認識するであろう。
【0016】
図1に例示されるロボット2は、モータによって各々の関節が駆動される6軸垂直多関節ロボットである。ロボット2は、公知の通信手段によってロボット制御装置3に接続されている。ロボット制御装置3は、制御プログラムに従ってロボット2に対する指令を作成する。
【0017】
ロボット制御装置3は、CPU、ROM、RAM、不揮発性メモリ及び外部装置に接続されるインタフェースを備えたデジタルコンピュータである。ロボット制御装置3は、
図1に示されるように、故障判定部31を備えている。
【0018】
故障判定部31は、公知の故障診断方法を利用してロボット2の故障を判定する。故障判定部31は、故障予知システム1によって作成される故障情報とは独立して、ロボット2の故障の有無又は故障の度合いを判定する。例えば、トルクセンサによって検出される外乱トルク、或いはセンサの出力データの振動の振幅が予め定められる閾値を超えたときに、故障判定部31は、故障が発生したと判定する。或いは、故障判定部31は、ロボット制御装置3に格納された制御ソフトウェアの内部データに基づいて、ロボット2の故障が発生したと判定してもよい。このように、故障判定部31は、様々な要因に基づく故障を判定する。なお、故障判定部31による判定結果は、後述する機械学習装置5の判定データ取得部51に入力される。
【0019】
別の実施形態において、機械学習装置5は、ロボット2の故障を発見し、或いは知得したオペレータの入力操作に応答して、故障情報が判定データ取得部51に入力されるように構成されていてもよい。
【0020】
故障予知システム1は、ロボット2又は周囲環境の状態を検出するセンサ11をさらに備えている。センサ11は、力センサ、トルクセンサ、振動センサ、集音センサ、撮像センサ、距離センサ、温度センサ、湿度センサ、流量センサ、光量センサ、pHセンサ、圧力センサ、粘度センサ及び臭気センサの少なくともいずれか1つを含んでいてもよい。センサ11から出力されるデータ(以下、単に「出力データ」と称することがある。)は、機械学習装置5の状態観測部52に入力される。
【0021】
機械学習装置5は、ロボット2の故障条件を学習する。一実施形態において、機械学習装置5は、ネットワークを介してロボット2に接続されていてロボット制御装置3とは別個のデジタルコンピュータであってもよい。
【0022】
別の実施形態において、機械学習装置5は、ロボット制御装置3に内蔵されていてもよい。その場合、機械学習装置5は、ロボット制御装置3のプロセッサを利用して機械学習を実行する。また別の実施形態において、機械学習装置5は、クラウドサーバ上に存在していてもよい。
【0023】
図1に示されるように、機械学習装置5は、判定データ取得部51と、状態観測部52と、学習部53と、を備えている。
【0024】
判定データ取得部51は、故障判定部31から判定データを取得する。判定データは、判定データ取得部51から学習部53に入力され、機械学習装置5が故障条件を学習する際に使用される。判定データは、故障の有無又は故障の度合いを判定したデータである。判定データは、故障有りの場合、すなわちロボット2が異常な状態にあることを表すデータを含んでいなくてもよい。
【0025】
状態観測部52は、機械学習の入力値としての状態変数をロボット2の動作中又は静止中に観測する。機械学習装置5がネットワークを介してロボット2及びセンサ11に接続されている実施形態において、状態観測部52は、ネットワークを介して状態変数を取得する。
【0026】
状態変数は、センサ11の出力データを含んでいてもよい。状態変数は、ロボット2を制御する制御ソフトウェアの内部データを含んでいてもよい。内部データは、トルク、位置、速度、加速度、加加速度、電流、電圧及び推定外乱値のうちの少なくともいずれか1つを含んでいてもよい。推定外乱値は、例えば、トルク指令及び速度フィードバックに基づいてオブザーバによって推定される外乱値である。
【0027】
状態変数は、出力データ又は内部データに基づいて得られる計算データを含んでいてもよい。計算データは、周波数解析、時間周波数解析及び自己相関解析のうちの少なくとも1つを利用して取得されてもよい。当然ながら、計算データは、より単純な計算、例えば係数乗算又は微分積分演算を利用して取得されてもよい。
【0028】
学習部53は、状態観測部52から出力される状態変数、及び判定データ取得部51から出力される判定データの組合せに基づいて作成される訓練データセットに従って、故障条件を学習する。訓練データセットは、状態変数及び判定データを互いに関連付けたデータである。
【0029】
図2を参照して、機械学習装置5における学習過程の一例について説明する。学習が開始されると、ステップS201において、状態観測部52が、出力データ、内部データ又は計算データなどを含む状態変数を取得する。ステップS202では、判定データ取得部51が、故障判定部31による判定結果に基づいて判定データを取得する。
【0030】
ステップS203では、学習部53が、ステップS201で取得された状態変数と、ステップS202で取得された判定データと、の組合せに基づいて作成される訓練データセットに従って、故障条件を学習する。ステップS201~S203の処理は、機械学習装置5が故障条件を十分に学習するまで繰返し実行される。
【0031】
一実施形態において、機械学習装置5の学習部53は、ニューラルネットワークモデルに従って故障条件を学習してもよい。
図3は、ニューラルネットワークモデルの例を示している。ニューラルネットワークは、l個のニューロンx
1、x
2、x
3、・・・、x
lを含む入力層と、m個のニューロンy
1、y
2、y
3、・・・、y
mを含む中間層(隠れ層)と、n個のニューロンz
1、z
2、z
3、・・・、z
nを含む出力層と、から構成されている。なお、
図3において、中間層は、1層のみ示されているものの、2層以上の中間層が設けられてもよい。なお、機械学習装置5(ニューラルネット)は、汎用の計算機若しくはプロセッサを用いてもよいが、GPGPU(General-Purpose computing on Graphics Processing Units)や大規模PCクラスターなどを適用すると、より高速に処理することが可能である。
【0032】
ニューラルネットワークは、ロボット2の故障に関連付けられる故障条件を学習する。ニューラルネットワークは、状態観測部52によって観測される状態変数と、判定データ取得部51によって取得される判定データとの組合せに基づいて作成される訓練データセットに従って、いわゆる教師あり学習によって、状態変数と故障発生との関係性、すなわち故障条件を学習する。教師あり学習とは、ある入力と結果(ラベル)のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、すなわちその関係性を帰納的に獲得することができるというものである。
【0033】
或いは、ニューラルネットワークは、故障無しの状態、すなわちロボット2が正常に動作しているときの状態変数のみを蓄積し、いわゆる教師なし学習によって、故障条件を学習することもできる。例えば、ロボット2の故障の頻度が極めて低い場合、教師なし学習の手法が有効であろう。教師なし学習とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。
【0034】
図4は、教師なしの学習の手法における学習期間の一例を説明するための図である。ここで、横軸は、時間(時間の経過)を示し、縦軸は、故障の度合いを示す。
図4に示されるように、上記の教師なしの学習の手法は、ロボット2が、出荷された直後もしくはメンテナンスされた直後などを起点としてある一定期間、例えば、数週間などを学習期間として、このときのみ状態変数を更新し、正常状態として定義する。そして、その後は状態変数の更新を行わず、ニューラルネットワークから出力される出力結果から正常モデルからの距離をもとに「故障の度合い」を出力して異常判定のみを行うことによって、異常検知を行うことを実現できる。
【0035】
また、本実施形態においては、例えば、時間的相関がある時系列データをモデル化するため、リカレント型と呼ばれるニューラルネットワークを使用するのも有効である。リカレントニューラルネットワーク(RNN:Recurrent Neural Network)は、現時刻だけの状態のみを使って学習モデルを形成するのではなく、これまでの時刻の内部状態も利用する。リカレントニューラルネットワークは時間軸のネットワークを展開して考えることで、一般的なニューラルネットワークと同様に扱うことができる。ここで、リカレントニューラルネットワークも多種あるが、一例として、単純再帰型ネットワーク(エルマンネットワーク:Elman Network)を説明する。
【0036】
図5は、リカレント型ニューラルネットワークの一例を説明するための図であり、
図5(a)は、エルマンネットワークの時間軸展開を示し、
図5(b)は、誤差逆伝播法(バックプロパゲーション:Backpropagation)のバックプロパゲーションタイムスルータイム(BPTT:Back Propagation Through Time)を示す。ここで、
図5(a)に示されるようなエルマンネットワークの構造であれば、バックプロパゲーションを適用することができる。
【0037】
ただし、エルマンネットワークでは、通常のニューラルネットワークと異なり、
図5(b)に示されるように、時間を遡るように誤差が伝搬し、このようなバックプロパゲーションをバックプロパゲーションスルータイム(BPTT)と呼ぶ。このようなニューラルネットワーク構造を適用することで、これまでの入力の遷移を踏まえた出力のモデルを推定することができ、例えば、その推定される出力値が、ある異常値であるかどうかを故障発生との関係性に使うことが可能になる。
【0038】
後述する故障予知を行う際、ニューラルネットワークの入力層に入力される状態変数に応答して、出力層が前述の故障情報に対応する故障の有無を表す情報又は「故障の度合い」を出力する。なお、「故障の度合い」の取り得る値は、最大値・最小値のいずれかが制限された値、或いは、連続量、もしくは離散量であってもよい。
【0039】
前述した実施形態に係る機械学習装置及び機械学習方法によれば、判定データ取得部51から出力される判定データによる故障条件よりも実際の使用状況に応じた正確な故障条件を学習できる。それにより、故障につながる要因が複雑であり、故障条件を予め設定するのが困難な場合であっても、高い精度の故障予知が可能になる。
【0040】
一実施形態において、判定データ取得部51がロボット2の故障を表す判定データを取得したときに、学習部53が、判定データを、故障発生時から各々の判定データの取得時まで遡った時間の長さに応じて、それぞれ重み付けして故障条件を更新するようにしてもよい。ここで、判定データを取得してから故障が実際に発生するまでの時間が短ければ短いほど、故障発生に直結する状態に近いことが推定される。したがって、訓練データセット取得時からの経過時間に応じて判定データを重み付けすれば、故障条件を効果的に学習することができる。
【0041】
一実施形態において、学習部53は、複数のロボット2に対して作成される訓練データセットに従って、故障条件を学習するようにしてもよい。なお、学習部53は、同一の現場で使用される複数のロボット2から訓練データセットを取得してもよいし、或いは、異なる現場で独立して稼働する複数のロボット2から収集される訓練データセットを利用して故障条件を学習してもよい。また、訓練データセットを収集するロボット2を途中で対象に追加し、或いは、逆に対象から除去することもできる。
【0042】
次に、複数のロボット2の訓練データセットを共有(共用)する方法として、以下に3つの例を挙げるが、それ以外の方法を適用することができるのはいうまでもない。まず、第1の例としては、ニューラルネットワークのモデルを同じになるように共有する方法であり、例えば、ネットワークの各重み係数について、各ロボット2間の差分を、通信手段を用いて送信して反映させるものである。また、第2の例としては、ニューラルネットワークの入力と出力のデータセットを共有することにより、学習装置5の重みなどを共有することができる。さらに、第3の例としては、あるデータベースを用意し、それにアクセスしてより妥当なニューラルネットワークのモデルをロードすることで状態を共有する(同じようなモデルとする)ものである。
【0043】
図6は、他の実施形態に係る故障予知システムの一例を示すブロック図である。故障予知システム1は、機械学習装置5によって学習された結果を利用して、ロボット2の故障情報を作成する故障予知装置4を備えている。
【0044】
故障予知装置4は、状態観測部41と、故障情報出力部42と、を備えている。状態観測部41は、
図1を参照して説明した状態観測部52と同様に機能し、ロボット2及び周囲の環境の状態を反映した状態変数を取得する。故障情報出力部42は、前述した機械学習装置5の学習部53が訓練データセットに従って学習した結果に基づいて、状態観測部41を介した状態変数の入力に応答して、ロボット2の故障情報を出力する。
【0045】
図6に示されるように、ロボット制御装置3は、通知部(故障情報通知部)32を備えることができる。通知部32は、故障情報出力部42によって出力される故障情報をオペレータに通知する。故障情報が通知される態様は、オペレータが知得可能であれば、特に限定されない。例えば、予知された故障の有無又は故障の度合いを図示されない表示装置に表示してもよいし、或いは、故障情報の内容に応じて警告音を発生させてもよい。
【0046】
図7および
図8は、実施形態に係る故障予知システムにおける故障の度合いを示す指標値の例(第1例~第4例)を説明するための図である。ここで、
図7(a),
図7(b),
図7(c)及び
図8において、横軸は、時間を示し、縦軸は、故障の度合いを示す。まず、
図7(a)に示されるように、例えば、第1例において、「故障の度合い」を示す指標値を、故障が近づくにつれて大きくなるように定め、学習によって得られた指標値をそのまま故障情報として故障情報出力部42が出力するように構成することができる。また、
図7(b)に示されるように、例えば、第2例において、前述の指標値に閾値を設け、閾値以上であれば異常、閾値未満であれば正常、というように故障の有無を表す情報を故障情報として故障情報出力部42が出力するように構成することもできる。さらに、
図7(c)に示されるように、例えば、第3例において、前述の指標値に閾値を複数(閾値1~閾値3)設け、各閾値別に区切られたレベル(故障レベル1~故障レベル4)を故障情報として故障情報出力部42が出力するように構成することもできる。
【0047】
図8に示されるように、例えば、第4例において、複数の故障に至ったデータ(教師データ)に基づいて、前述の指標値と故障に至るまでの時間の関係を求め、それを元に、故障が発生する時期から遡って第1の所定期間で定められる時期より前であることを満たすための第1の閾値を求める。また、故障が発生する時期から遡って第2の所定期間で定められる時期より後であることを満たすための第2の閾値を定める。そして、指標値が第1の閾値未満であることと、指標値が第2の閾値以上であることの少なくとも一方を満たす場合に、指標値そのもの、或いは、指標値を閾値で区切ったレベルを、故障情報として故障情報出力部42が出力することもできる。この場合の閾値の決め方は、例えば、過去の教師データが条件を全て満たすように閾値を設けることもでき、また、必要に応じてマージンを設けて閾値を設けることもでき、さらに、確率論的に、ある一定確率内での判定間違いを許すように閾値を定めることもできる。
【0048】
次に、
図9を参照して、機械学習装置が学習した結果を利用して実行される故障予知の一例について説明する。ステップS501では、状態観測部41が、例えばセンサ11からの出力データを含む現在の状態変数を取得する。ステップS502では、故障情報出力部42が、前述した機械学習装置5の学習結果に基づいて、ステップS501で取得された状態変数に応じた故障情報を出力する。故障予知システム1が通知部32を備えている場合は、故障情報をオペレータに通知する工程がステップS502の後に実行されてもよい。
【0049】
図9を参照して説明した故障予知装置4による故障予知は、ロボット2が予め定められる特定の動作を実行するときに行われてもよい。或いは、ロボット2の動作中又は静止中に並行してステップS501~S502の処理を継続して実行してもよい。或いは、予め定められた時刻に定期的に故障予知が行われてもよい。
【0050】
一実施形態において、故障予知装置4による故障予知を実行するのと並行して、機械学習装置5による機械学習が実行されてもよい。その場合、故障予知装置4が故障情報を作成するのと同時に、故障判定部31又はオペレータの操作を介して取得される判定データとその時点での状態変数に基づいて、機械学習装置5の学習部53が故障条件を再学習する。
【0051】
ニューラルネットワークを利用して機械学習する実施形態について説明したものの、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。また、繰り返しになるが、本明細書において、「産業機械」なる文言は、産業用ロボット、サービス用ロボット及びコンピュータ数値制御(CNC)装置で制御される機械を含む様々な機械を意味するのは、前述した通りである。
【0052】
以上、本発明の種々の実施形態について説明したが、当業者であれば、他の実施形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施形態の構成要素を削除又は置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【符号の説明】
【0053】
1 故障予知システム
2 ロボット
3 ロボット制御装置
4 故障予知装置
5 機械学習装置
11 センサ
31 故障判定部
32 通知部
41 状態観測部
42 故障情報出力部
51 判定データ取得部
52 状態観測部
53 学習部