(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6140331
(24)【登録日】2017年5月12日
(45)【発行日】2017年5月31日
(54)【発明の名称】主軸または主軸を駆動するモータの故障予知を学習する機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システム
(51)【国際特許分類】
G05B 19/18 20060101AFI20170522BHJP
G06N 99/00 20100101ALI20170522BHJP
G06N 3/08 20060101ALI20170522BHJP
G05B 19/4062 20060101ALI20170522BHJP
G05B 23/02 20060101ALI20170522BHJP
G05B 19/4063 20060101ALI20170522BHJP
【FI】
G05B19/18 X
G06N99/00 153
G06N3/08
G05B19/4062
G05B23/02 R
G05B23/02 T
G05B19/4063 Z
【請求項の数】15
【全頁数】18
(21)【出願番号】特願2016-78247(P2016-78247)
(22)【出願日】2016年4月8日
【審査請求日】2016年4月15日
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100151459
【弁理士】
【氏名又は名称】中村 健一
(72)【発明者】
【氏名】神谷 洋平
(72)【発明者】
【氏名】山田 泰生
【審査官】
牧 初
(56)【参考文献】
【文献】
特開2015−203646(JP,A)
【文献】
特開2014−96050(JP,A)
【文献】
特許第5684941(JP,B1)
【文献】
特開2006−92241(JP,A)
【文献】
特許第3288255(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18−19/416
G05B 19/42−19/46
G05B 23/00−23/02
(57)【特許請求の範囲】
【請求項1】
工作機械の主軸または主軸を駆動するモータの故障予知を学習する機械学習装置であって、
前記モータを制御するモータ制御装置の出力データ、前記モータの状態を検出する検出器の出力データ、および、前記主軸または前記モータの状態を測定する測定器の出力データの少なくとも1つを含む状態変数を観測する状態観測部と、
前記主軸または前記モータの故障の有無または故障の度合いを判定した判定データを取得する判定データ取得部と、
前記状態変数および前記判定データの組合せに基づいて作成されるデータセットに従って、前記主軸または前記モータの故障予知を学習する学習部と、を備え、
前記学習部は、前記判定データ取得部が、前記主軸または前記モータの故障を表す判定データを取得したときに、前記データセットに含まれる前記判定データを、故障発生時から前記判定データの取得時まで遡った時間の長さに応じて重み付けして、前記主軸または前記モータの故障予知に用いる条件式を更新する、
ことを特徴とする機械学習装置。
【請求項2】
前記モータ制御装置の出力データは、前記モータを駆動するトルク指令値および速度指令値を含み、
前記検出器は、前記モータの電流を検出する電流検出部、および、前記モータの速度を検出する速度検出部の少なくとも一方を含み、
前記測定器は、前記主軸または前記モータの振動を測定する振動測定部、前記主軸または前記モータの近傍の音を測定する音測定部、および、前記主軸または前記モータの近傍の温度を測定する温度測定部のうち少なくとも1つを含む、
ことを特徴とする請求項1に記載の機械学習装置。
【請求項3】
前記主軸は、予め定められた時間以上の間隔をおいて予め定められた動作パターンを実行し、
前記状態観測部は、前記動作パターンにおける前記主軸の加速中、前記主軸の一定速度運転中、前記主軸の減速中または駆動力を遮断した際の惰走中のうち少なくとも1つの状態で前記状態変数を観測する、
ことを特徴とする請求項1または請求項2に記載の機械学習装置。
【請求項4】
前記学習部は、前記主軸または前記モータに対して作成される複数の前記データセットに従って、前記主軸または前記モータの故障予知を学習する、
ことを特徴とする請求項1乃至請求項3のいずれか1項に記載の機械学習装置。
【請求項5】
前記学習部は、ある一定期間のみ正常状態を学習し、その後は、前記判定データ取得部による故障発生を検知する、
ことを特徴とする請求項1乃至請求項4のいずれか1項に記載の機械学習装置。
【請求項6】
前記状態観測部は、ネットワークを介して現在の前記状態変数を取得する、
ことを特徴とする請求項1乃至請求項5のいずれか1項に記載の機械学習装置。
【請求項7】
請求項1乃至請求項6のいずれか1項に記載の機械学習装置を備えた、前記主軸または前記モータの故障予知を行う故障予知装置であって、
前記学習部が前記データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記主軸または前記モータの故障の有無または故障の度合いを表す故障情報を出力する故障情報出力部をさらに備える、
ことを特徴とする故障予知装置。
【請求項8】
工作機械の主軸または主軸を駆動するモータの故障予知を学習する機械学習装置を備え、前記主軸または前記モータの故障予知を行う故障予知装置であって、
前記機械学習装置は、
前記モータを制御するモータ制御装置の出力データ、前記モータの状態を検出する検出器の出力データ、および、前記主軸または前記モータの状態を測定する測定器の出力データの少なくとも1つを含む状態変数を観測する状態観測部と、
前記主軸または前記モータの故障の有無または故障の度合いを判定した判定データを取得する判定データ取得部と、
前記状態変数および前記判定データの組合せに基づいて作成されるデータセットに従って、前記主軸または前記モータの故障予知を学習する学習部と、を備え、
前記故障予知装置は、
前記学習部が前記データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記主軸または前記モータの故障の有無または故障の度合いを表す故障情報を出力する故障情報出力部をさらに備え、
前記学習部は、現在の前記状態変数および前記判定データの組合せに基づいて作成される追加のデータセットに従って、前記主軸または前記モータの故障予知を再学習する、
ことを特徴とする故障予知装置。
【請求項9】
前記機械学習装置は、クラウドサーバ上に存在する、
ことを特徴とする請求項7または請求項8に記載の故障予知装置。
【請求項10】
前記機械学習装置は、前記工作機械を制御する制御装置に内蔵されている、
ことを特徴とする請求項7または請求項8に記載の故障予知装置。
【請求項11】
前記機械学習装置による学習結果は、複数の前記工作機械で共用される、
ことを特徴とする請求項7乃至請求項10のいずれか1項に記載の故障予知装置。
【請求項12】
請求項7乃至請求項11のいずれか1項に記載の故障予知装置と、
前記検出器と、
前記測定器と、
前記故障情報をオペレータに通知する故障情報通知部と、を備える、
ことを特徴とする故障予知システム。
【請求項13】
前記故障情報通知部で前記故障情報がオペレータに通知される時期が、故障が発生する時期から遡って第1の所定期間で定められる時期より前であること、および、故障が発生する時期から遡って、前記第1の所定期間よりも長い第2の所定期間で定められる時期より後であることを満たす、
ことを特徴とする請求項12に記載の故障予知システム。
【請求項14】
工作機械の主軸または主軸を駆動するモータの故障予知を学習する機械学習方法であって、
前記モータを制御するモータ制御装置の出力データ、前記モータの状態を検出する検出器の出力データ、および、前記主軸または前記モータの状態を測定する測定器の出力データの少なくとも1つを含む状態変数を観測し、
前記主軸または前記モータの故障の有無または故障の度合いを判定した判定データを取得し、
前記状態変数および前記判定データの組合せに基づいて作成されるデータセットに従って、前記主軸または前記モータの故障予知を学習し、
前記主軸または前記モータの故障予知を学習するのは、前記主軸または前記モータの故障を表す判定データを取得したときに、前記データセットに含まれる前記判定データを、故障発生時から前記判定データの取得時まで遡った時間の長さに応じて重み付けして、前記主軸または前記モータの故障予知に用いる条件式を更新する、
ことを特徴とする機械学習方法。
【請求項15】
工作機械の主軸または主軸を駆動するモータの故障予知を学習する機械学習方法であって、
前記モータを制御するモータ制御装置の出力データ、前記モータの状態を検出する検出器の出力データ、および、前記主軸または前記モータの状態を測定する測定器の出力データの少なくとも1つを含む状態変数を観測し、
前記主軸または前記モータの故障の有無または故障の度合いを判定した判定データを取得し、
前記状態変数および前記判定データの組合せに基づいて作成されるデータセットに従って、前記主軸または前記モータの故障予知を学習し、
前記データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記主軸または前記モータの故障の有無または故障の度合いを表す故障情報を出力し、
現在の前記状態変数および前記判定データの組合せに基づいて作成される追加のデータセットに従って、前記主軸または前記モータの故障予知を再学習する、
ことを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主軸または主軸を駆動するモータの故障予知を学習する機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムに関する。
【背景技術】
【0002】
工作機械の主軸または該主軸を駆動する主軸モータ(モータ)の故障の原因の多くは、主軸またはモータの軸受の劣化や破損に起因している。ここで、主軸が完全に故障した状態で工作機械を使用すると、例えば、ワークの加工精度が低下して不良品となる。また、主軸の復旧に時間がかかると、工作機械に大きなダウンタイム(停止時間)が生じ、工作機械の稼働率低下を招くことになる。
【0003】
そこで、主軸が完全に故障する前にその兆候(劣化)を検知し、例えば、主軸を修理する等の適切な措置を行えば、ダウンタイムを削減(短縮)して工作機械の稼働率を向上させることが可能になる。従来、主軸の異常を検知する方法としては、例えば、主軸またはモータの振動の悪化を計測するものや、異音を検知することで主軸の異常を検出するものが知られている。
【0004】
例えば、特許文献1には、工作機械の状態監視装置が開示されており、ここでは、主軸回転指令と送り軸駆動指令を受けて、AEセンサ,増幅器およびバンドパスフィルタを用いて振動データを計測する。そして、その計測された振動データが、主軸回転情報から求められたしきい値を超えた数を、レベルカウント回路でカウントし、そのカウント数とアラームレベルを比較して主軸の状態を判断し、必要ならばアラーム表示器にアラームを表示させる、といった内容が記載されている。
【0005】
また、特許文献2には、工作機械用の磁気軸受装置が開示されており、ここでは、主軸の振動を検出する振動検出手段と、振動検出手段の出力信号の主軸の回転に同期した振動成分を抽出する周波数特性可変フィルタと、抽出された信号の周波数特性可変フィルタの出力信号のレベルが規定レベルを超えた状態を異常状態であると判定する判定手段とを設けることで、ツーリングの装着不良や回転不良等の異常状態を自動検出でき、ワークの加工劣化を低減できる、といった内容が記載されている。
【0006】
さらに、特許文献3には、正常状態のロボットの基準動作パターンと、稼働中のロボットの動作パターンを比較して、ロボットの故障を予知する故障予知診断方法が開示されている。
【0007】
そして、特許文献4には、駆動軸の実際の動作状態に基づく負荷側の仕事率と、駆動軸への動作指令に基づく駆動側の仕事率との間の差を判定値と比較することによって、ロボット機構部の劣化の有無および劣化レベルを評価する故障予知方法が開示されている。
【0008】
なお、本明細書において、「工作機械」なる文言は、産業用ロボットやコンピュータ数値制御(CNC:Computer Numerical Control)装置で制御される産業機械だけでなく、サービス用ロボットや様々な機械装置を含むものとする。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2005−074545号公報
【特許文献2】特開2001−259972号公報
【特許文献3】特開昭63−123105号公報
【特許文献4】特開平10−039908号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
例えば、工作機械の主軸の振動を検出するためには、モータまたは主軸に振動計測器等を取り付ける必要があるが、人手で振動を計測する場合、作業者等が該振動計測器を持ち、工作機械の各部の振動を定期的に計測しなければならず、これは作業者にとって大きな負担となる。一方、主軸の振動を振動センサ等で自動的に計測することも考えられるが、この場合は、該振動センサを主軸に常に取り付ける必要があり、工作機械のコストアップにつながる。
【0011】
また、例えば、主軸の異音を聞き取ることで異常を検知する場合、人の聴覚により各々の工作機械の異音を定期的に調査することは、やはり作業者にとっては大きな労力となる。一方、マイクロフォン等を用いて自動で異音を検出することも考えられるが、一般的に、工作機械が設置される工場内は騒音が大きいので異音を適切に検出することは容易ではなく、さらに、マイクロフォンの設置に要する費用もかかる。
【0012】
ところで、近年、工作機械の複雑化や高度化に伴って故障につながる要因も複雑化し、工作機械の主軸または主軸を駆動するモータの故障予知も難しくなってきている。すなわち、一定の基準に従って実行される故障予知方法では、実際の状況に適用できず、或いは、正確さを欠くといったことがあり、状況に応じて正確な故障予知を可能にする技術が求められている。
【0013】
そこで、本発明は、工作機械の主軸または主軸を駆動するモータが故障に至る前に、その故障の兆候(異常)を検出することができる機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムの提供を目的とする。また、本発明は、上述した従来技術よりも早く工作機械の主軸やモータにおける故障の予兆を発見し、ダウンタイムを削減することができる機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムの提供も目的とする。さらに、本発明は、例えば、過去学習との比較により主軸等の寿命を推定することで、より計画的に修理や保守品の手配を可能としてダウンタイムの削減やコストカットに貢献することができる機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムの提供も目的とする。
【課題を解決するための手段】
【0014】
本発明に係る第1実施形態によれば、工作機械の主軸または主軸を駆動するモータの故障予知を学習する機械学習装置であって、前記モータを制御するモータ制御装置の出力データ、前記モータの状態を検出する検出器の出力データ、および、前記主軸または前記モータの状態を測定する測定器の出力データの少なくとも1つを含む状態変数を観測する状態観測部と、前記主軸または前記モータの故障の有無または故障の度合いを判定した判定データを取得する判定データ取得部と、前記状態変数および前記判定データの組合せに基づいて作成されるデータセットに従って、前記主軸または前記モータの故障予知を学習する学習部と、を備える機械学習装置が提供される。
【0015】
前記モータ制御装置の出力データは、前記モータを駆動するトルク指令値および速度指令値を含み、前記検出器は、前記モータの電流を検出する電流検出部、および、前記モータの速度を検出する速度検出部の少なくとも一方を含み、前記測定器は、前記主軸または前記モータの振動を測定する振動測定部、前記主軸または前記モータの近傍の音を測定する音測定部、および、前記主軸または前記モータの近傍の温度を測定する温度測定部のうち少なくとも1つを含むように構成するのが好ましい。前記主軸は、予め定められた時間以上の間隔をおいて予め定められた動作パターンを実行し、前記状態観測部は、前記動作パターンにおける前記主軸の加速中、前記主軸の一定速度運転中、前記主軸の減速中または駆動力を遮断した際の惰走中のうち少なくとも1つの状態で前記状態変数を観測することができる。
【0016】
前記学習部は、前記主軸または前記モータに対して作成される複数の前記データセットに従って、前記主軸または前記モータの故障予知を学習するように構成してもよい。また、前記学習部は、ある一定期間のみ正常状態を学習し、その後は、前記判定データ取得部による故障発生を検知するのが好ましい。前記学習部は、前記判定データ取得部が、前記主軸または前記モータの故障を表す判定データを取得したときに、前記データセットに含まれる前記判定データを、故障発生時から前記判定データの取得時まで遡った時間の長さに応じて重み付けして、前記主軸または前記モータの故障予知に用いる条件式を更新することができる。前記状態観測部は、ネットワークを介して現在の前記状態変数を取得してもよい。
【0017】
本発明に係る第2実施形態によれば、上述した第1実施形態の機械学習装置を備えた、前記主軸または前記モータの故障予知を行う故障予知装置であって、前記学習部が前記データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記主軸または前記モータの故障の有無または故障の度合いを表す故障情報を出力する故障情報出力部をさらに備える故障予知装置が提供される。
【0018】
前記学習部は、現在の前記状態変数および前記判定データの組合せに基づいて作成される追加のデータセットに従って、前記主軸または前記モータの故障予知を再学習することができる。前記機械学習装置は、クラウドサーバ上に存在してもよい。前記機械学習装置は、前記工作機械を制御する制御装置に内蔵されていてもよい。前記機械学習装置による学習結果は、複数の前記工作機械で共用されるように構成することができる。
【0019】
本発明に係る第3実施形態によれば、上述した第2実施形態の故障予知装置と、前記検出器と、前記測定器と、前記故障情報をオペレータに通知する故障情報通知部と、を備える故障予知システムが提供される。前記故障情報通知部で前記故障情報がオペレータに通知される時期が、故障が発生する時期から遡って第1の所定期間で定められる時期より前であること、および、故障が発生する時期から遡って第2の所定期間で定められる時期より後であること、の少なくとも一方を満たすように構成するのが好ましい。
【0020】
本発明に係る第4実施形態によれば、工作機械の主軸または主軸を駆動するモータの故障予知を学習する機械学習方法であって、前記モータを制御するモータ制御装置の出力データ、前記モータの状態を検出する検出器の出力データ、および、前記主軸または前記モータの状態を測定する測定器の出力データの少なくとも1つを含む状態変数を観測し、前記主軸または前記モータの故障の有無または故障の度合いを判定した判定データを取得し、前記状態変数および前記判定データの組合せに基づいて作成されるデータセットに従って、前記主軸または前記モータの故障予知を学習する機械学習方法が提供される。
【発明の効果】
【0021】
本発明に係る機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムは、工作機械の主軸または主軸を駆動するモータが故障に至る前に、その故障の兆候を検出することができるという効果を奏する。また、本発明に係る機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムは、従来技術よりも早く工作機械の主軸やモータにおける故障の予兆を発見し、ダウンタイムを削減することができるという効果も奏する。さらに、本発明に係る機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムは、過去学習との比較により主軸等の寿命を推定することで、より計画的に修理や保守品の手配を可能としてダウンタイムの削減やコストカットに貢献することができるという効果も奏する。
【図面の簡単な説明】
【0022】
【
図1】
図1は、一実施形態に係る故障予知システムの一例を示すブロック図である。
【
図2】
図2は、
図1における機械学習装置による学習処理の一例を説明するためのフローチャートである。
【
図3】
図3は、
図1に示す故障予知システムに適用する動作パターンの例を説明するための図である。
【
図4】
図4は、ニューラルネットワークの構成例を示す図である。
【
図5】
図5は、教師なしの学習の手法における学習期間の一例を説明するための図である。
【
図6】
図6は、リカレント型ニューラルネットワークの一例を説明するための図である。
【
図7】
図7は、他の実施形態に係る故障予知システムの一例を示すブロック図である。
【
図8】
図8は、実施形態に係る故障予知システムにおける故障の度合いを示す指標値の例を説明するための図(その1)である。
【
図9】
図9は、実施形態に係る故障予知システムにおける故障の度合いを示す指標値の例を説明するための図(その2)である。
【
図10】
図10は、学習結果を利用した故障予知の処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0023】
以下、添付図面を参照して、本発明に係る機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムの実施形態を説明する。
図1は、一実施形態に係る故障予知システムの一例を示すブロック図であり、要部のみ図示したものである。ここで、故障予知システム1は、機械学習機能を有する機械学習装置5を用いて工作機械2の主軸212または主軸212を駆動するモータ214の故障予知を学習する。また、故障予知システム1は、機械学習装置5が学習した結果に基づいて、工作機械2の主軸212または主軸212を駆動するモータ214の故障の有無または故障の度合いを表す故障情報を作成することができる。
【0024】
本明細書において、「工作機械」は、産業用ロボット、サービス用ロボットおよびコンピュータ数値制御(CNC)装置で制御される機械を含む様々な機械装置を意味するものとする。また、「工作機械の主軸または主軸を駆動するモータの故障」は、工作機械の構成部品の故障を含んでいる。すなわち、「工作機械の主軸または主軸を駆動するモータの故障」は、意図される工作機械の機能を実行できない状態に限定されず、例えば、正常時の動作を一時的または恒久的に再現できないといった状態も含まれるのはいうまでもない。
【0025】
故障予知システム1によって作成される「故障情報」は、工作機械2の主軸212または主軸212を駆動するモータ214の故障の有無を表す情報または故障の度合いを表す情報を含んでいる。また、「故障情報」は、工作機械が正常な状態であることを表す情報を含んでいてもよい。ここで、「故障の度合い」は、故障の深刻さを意味し、例えば、最大値または最小値のいずれか一方が制限されていてもよい。「故障の度合い」は、連続量であっても離散量であってもよく、例えば、オペレータは、「故障の度合い」に応じて、対象の構成部品の交換または修理を直ちに行うべきか、或いは、次回の保守作業時に行うべきか等を判断することができる。
【0026】
以下の説明では、工作機械(産業機械)2の主軸212、または、主軸212を駆動するモータ214の故障を予知するために使用される故障予知システム1について説明する。しかしながら、他の任意の工作機械(機械装置)に対しても本発明を同様に適用できることができるのはいうまでもない。
【0027】
図1に示されるように、本実施形態の故障予知システム1は、例えば、モータ制御装置3、モータ駆動アンプ30、故障判定部31、検出器11、測定器12および機械学習装置5を含む。機械学習装置5は、判定データ取得部51、状態観測部52および学習部53を含む。
【0028】
工作機械2には、例えば、主軸212、および、主軸212を回転駆動するサーボモータ等のモータ214が含まれ、モータ214は、モータ駆動アンプ30を介してモータ制御装置3により制御される。主軸212は、回転可能に構成された主軸ロータ218、および、主軸ロータ218の軸方向の両端部を回転可能に支持する主軸軸受220,222を含む。また、モータ214は、回転可能に構成されたモータロータ224、および、モータロータ224の軸方向の両端部を回転可能に支持するモータ軸受226,228を含む。
【0029】
モータ制御装置3は、例えば、図示しないCPU、ROM、RAM、不揮発性メモリおよび外部装置に接続されるインタフェース等を備えたデジタルコンピュータであり、モータ駆動アンプ30を介してモータ214を制御すると共に、例えば、モータ214を駆動するトルク指令値および速度指令値を、機械学習装置5の状態観測部52に出力する。故障判定部31は、工作機械2(モータ214)の故障の有無または故障の度合いを判定し、その判定したデータ(判定データ)を、機械学習装置5の判定データ取得部51に出力する。
【0030】
すなわち、故障判定部31は、例えば、公知の故障診断方法を利用して工作機械2の故障を判定する。ここで、故障判定部31は、故障予知システム1によって作成される故障情報とは独立して、工作機械2の故障の有無または故障の度合いを判定する。例えば、トルクセンサによって検出される外乱トルク、或いは、センサの出力データの振動の振幅が予め定められる閾値を超えたときに、故障判定部31は、故障が発生したと判定する。また、故障判定部31は、例えば、モータ制御装置3に格納された制御ソフトウェアの内部データに基づいて、工作機械2の故障が発生したと判定してもよい。このように、故障判定部31は、様々な要因に基づく故障を判定する。なお、故障判定部31による判定結果は、後述する機械学習装置5の判定データ取得部51に入力される。また、他の実施形態において、機械学習装置5は、工作機械2の故障を発見し、或いは、知得したオペレータの入力操作に応答して、故障情報が判定データ取得部51に入力されるように構成されていてもよい。
【0031】
検出器11は、例えば、モータ214を駆動する電流および速度を検出して、状態観測部52に出力する。すなわち、検出器11は、例えば、工作機械2におけるモータ214の駆動電流を検出する電流検出部111、および、モータ214の速度(回転速度)を検出する速度検出部112を含む。なお、検出器11における電流検出部111および速度検出部112は、通常、モータを駆動制御する場合に必要とされるものであり、新たな構成を追加しなくてもよい。
【0032】
測定器12は、主軸212またはモータ214の状態を測定するもので、例えば、主軸212またはモータ214の振動を測定する振動測定部121、主軸212またはモータ214の近傍の音を測定する音測定部122、並びに、主軸212またはモータ214の近傍の温度を測定する温度測定部123を含む。
【0033】
ここで、振動測定部121は、例えば、主軸軸受220またはモータ軸受226に設けられた振動センサにより、主軸軸受220(主軸212)またはモータ軸受226(モータ214)の振動を測定して出力する。また、音測定部122は、例えば、主軸軸受220またはモータ軸受226の近傍に設けられた集音マイクにより、主軸212またはモータ214の近傍の音を測定して出力する。さらに、温度測定部123は、例えば、主軸軸受220またはモータ軸受226に設けられた温度センサにより、主軸212またはモータ214の近傍の温度を測定して出力する。なお、温度測定部123は、例えば、熱電対(温度センサ)およびデータロガー(熱電対対応温度データロガー)により実現可能である。また、振動センサ、集音マイクおよび温度センサは、工作機械2の種類や形状および仕様等に応じて、最適な位置に設けることができるのはいうまでもない。
【0034】
このように、機械学習装置5において、判定データ取得部51は、故障判定部31から出力される主軸212またはモータ214の故障の有無または故障の度合いを判定した判定データを取得する。また、状態観測部52は、モータ制御装置3から出力されるモータ214を駆動するトルク指令値および速度指令値、検出器11(電流検出部111,速度検出部112)から出力されるモータ214の駆動電流および回転速度、並びに、測定器12(振動測定部121,音測定部122,温度測定部123)から出力される主軸212またはモータ214の振動,主軸212またはモータ214の近傍の音および温度といった工作機械2の状態変数(状態量)が入力される。なお、状態観測部52は、上述した全ての状態変数を受け取らなくても、それらの一部であってもよく、また、さらなる状態変数を受け取ってもよい。
【0035】
学習部53は、状態観測部52から出力される状態変数、および、判定データ取得部51から出力される判定データの組合せに基づいて作成されるデータセットに基づいて、故障予知を学習する。ここで、データセットは、状態変数および判定データを互いに関連付けたデータである。すなわち、一般に、工作機械2が使用される環境では、例えば、周囲の騒音や振動が大きいため、単に、閾値を設けて制御する手法では、主軸212またはモータ214の故障予知を行うのは難しい。これに対して、本実施形態の故障予知システムでは、機械学習によって、例えば、周囲の影響を分離して、主軸212またはモータ214の故障に与える影響(状態変数)の特徴に基づいて、より正確な故障予知を行うことが可能となる。
【0036】
なお、機械学習装置5は、主軸212を駆動するモータ214の故障予知を学習するために使用されるが、この機械学習装置5は、例えば、ネットワークを介して工作機械2に接続され、モータ制御装置3とは別個のデジタルコンピュータであってもよい。また、他の実施形態において、機械学習装置5は、モータ制御装置3に内蔵されていてもよい。その場合、機械学習装置5は、モータ制御装置3のプロセッサを利用して機械学習を実行する。そして、さらに他の実施形態において、機械学習装置5は、クラウドサーバ上に存在していてもよい。
【0037】
図2は、
図1における機械学習装置による学習処理の一例を説明するためのフローチャートである。
図2に示されるように、機械学習装置5による学習処理の一例が介しすると、ステップS201において、状態観測部52は、例えば、モータ制御装置3から出力されるトルク指令値および速度指令値、検出器11から出力される駆動電流および回転速度、並びに、測定器12からの主軸212またはモータ214の振動,主軸212またはモータ214の近傍の音および温度といった状態変数を取得する。
【0038】
さらに、ステップS202に進んで、判定データ取得部51は、故障判定部31から出力される主軸212またはモータ214の故障の有無または故障の度合いを判定した判定データを取得する。そして、ステップS203に進み、学習部53は、ステップS201で取得した状態変数、および、ステップS202で取得した判定データの組合せに基づいて作成されるデータセットに従って、故障予知を学習する。
【0039】
なお、ステップS201〜S203の処理は、例えば、機械学習装置5により主軸212またはモータ214の故障予知を十分に学習するまで繰り返し実行される。ここで、主軸212(モータ214)は、例えば、予め定められた時間以上の間隔をおいて予め定められた動作パターンを実行するのが好ましい。
【0040】
図3は、
図1に示す故障予知システムに適用する動作パターンの例を説明するための図である。ここで、
図3(a)は、主軸212を[加速]→[一定速度]→[減速]と変化させたときの時間に対する主軸212の速度変化の一例(予め定められた動作パターンの一例)を示し、
図3(b)は、主軸212を[加速]→[一定速度]→[惰走]したときの時間に対する主軸212の速度変化の他の例(予め定められた動作パターンの他の例)を示す。なお、
図3(b)に示す[惰走]は、主軸212(モータ214)を一定速度で回転制御していたときに駆動力を遮断することで惰性により動作している状態を示す。
【0041】
機械学習装置5により主軸212またはモータ214の故障予知を学習する場合、例えば、
図2(a)および
図2(b)に示されるような予め定められた時間以上の間隔をおいて予め定められた動作パターンを実行し、状態観測部52が、その動作パターンにおける主軸212の加速中、主軸212の一定速度運転中、および、主軸212の減速中または惰走中のうち少なくとも1つの状態で状態変数を観測するのが好ましい。
【0042】
すなわち、
図2(a)および
図2(b)のような予め定められた動作パターンの実行は、ヘルスチェック動作に相当し、このようなヘルスチェック動作に基づいて機械学習を行うことにより、データ測定時の条件を揃えて学習を促進することが可能になり、また、データ測定を、特徴のある動作に限ることでデータサイズを抑えることが可能になる。
【0043】
さらに、例えば、主軸212は、高速(高速回転)であるため、故障の予兆も高周波に現れることが多いと考えられる。このように、高周波の予兆を捉えるためには、サンプリングを高速化することが求められるが、その場合、単位時間当たりのデータサイズが大きくなり、長時間データを取得すると、その取得したデータの処理が困難となるため、予め定められた時間以上の間隔をおいて予め定められた動作パターンを実行するのが好ましいことになる。なお、惰走は、上述したように、モータ214に対する動力の遮断により行う。なお、惰走では、電流の測定は行えないが、その代わりに、電流の影響を排除した状態を観測することができるため、減速の場合とは異なる故障の予兆を捉えることができる。
【0044】
図4は、ニューラルネットワークの構成例を示す図である。上述した機械学習装置5における学習部53は、例えば、ニューラルネットワークモデルに従って故障予知を学習してもよい。
図4に示されるように、ニューラルネットワークは、1個のニューロン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を含む出力層を含む。なお、
図4において、中間層は、1層のみ示されているが、2層以上の中間層を設けることもできる。また、機械学習装置5(ニューラルネット)は、汎用の計算機若しくはプロセッサを用いてもよいが、GPGPU(General-Purpose computing on Graphics Processing Units)や大規模PCクラスター等を適用すると、より高速に処理することが可能である。
【0045】
ニューラルネットワークは、工作機械2の故障に関連付けられる主軸212または主軸212を駆動するモータ214の故障予知を学習する。ニューラルネットワークは、状態観測部52によって観測される状態変数、並びに、判定データ取得部51によって取得される判定データの組合せに基づいて作成されるデータセットに従って、いわゆる「教師あり学習」により、状態変数と故障発生との関係性、すなわち、主軸212またはモータ214の故障予知を学習する。ここで、「教師あり学習」とは、ある入力と結果(ラベル)のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、すなわち、その関係性を帰納的に獲得することができるというものである。
【0046】
或いは、ニューラルネットワークは、故障無しの状態、すなわち、工作機械2が正常に動作しているときの状態変数のみを蓄積し、いわゆる「教師なし学習」によって、主軸212またはモータ214の故障予知を学習することもできる。例えば、工作機械2の故障の頻度が極めて低い場合、「教師なし学習」の手法が有効であろう。ここで、「教師なし学習」とは、入力データのみを大量に機械学習装置5に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形等を行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また、「教師なし学習」と「教師あり学習」の中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。
【0047】
図5は、教師なしの学習の手法における学習期間の一例を説明するための図である。ここで、横軸は、時間(時間の経過)を示し、縦軸は、故障の度合いを示す。
図5に示されるように、上述した「教師なしの学習」の手法は、例えば、工作機械2が出荷された直後、若しくは、メンテナンスされた直後等を起点として、ある一定期間、例えば、数週間を学習期間とし、その学習期間のみ状態変数を更新し、正常状態として定義する。そして、その学習期間の後は、状態変数の更新を行わず、ニューラルネットワークから出力される出力結果から、正常モデルからの距離に基づいて「故障の度合い」を出力し、異常判定のみを行うことで、異常検知を行うことを実現できる。
【0048】
また、本実施形態においては、例えば、時間的相関がある時系列データをモデル化するため、リカレント型と呼ばれるニューラルネットワークを使用するのも有効である。リカレントニューラルネットワーク(RNN:Recurrent Neural Network)は、現時刻だけの状態のみを使って学習モデルを形成するのではなく、これまでの時刻の内部状態も利用する。リカレントニューラルネットワークは、時間軸のネットワークを展開して考えることで、一般的なニューラルネットワークと同様に扱うことができる。ここで、リカレントニューラルネットワークも多種あるが、一例として、単純再帰型ネットワーク(エルマンネットワーク:Elman Network)を説明する。
【0049】
図6は、リカレント型ニューラルネットワークの一例を説明するための図であり、
図6(a)は、エルマンネットワークの時間軸展開を示し、
図6(b)は、誤差逆伝播法(バックプロパゲーション:Backpropagation)のバックプロパゲーションタイムスルータイム(BPTT:Back Propagation Through Time)を示す。ここで、
図6(a)に示されるようなエルマンネットワークの構造であれば、バックプロパゲーションを適用することができる。
【0050】
ただし、エルマンネットワークでは、通常のニューラルネットワークと異なり、
図6(b)に示されるように、時間を遡るように誤差が伝搬し、このようなバックプロパゲーションをBPTT(バックプロパゲーションスルータイム)と呼ぶ。このようなニューラルネットワーク構造を適用することで、これまでの入力の遷移を踏まえた出力のモデルを推定することができ、例えば、その推定される出力値が、ある異常値であるかどうかを故障発生との関係性に使うことが可能になる。
【0051】
後述する故障予知を行う際、ニューラルネットワークの入力層に入力される状態変数に応答して、出力層が前述の故障情報に対応する故障の有無を表す情報または「故障の度合い」を出力する。なお、「故障の度合い」の取り得る値は、最大値・最小値のいずれかが制限された値、或いは、連続量、若しくは、離散量のいずれであってもよい。
【0052】
前述した実施形態に係る機械学習装置および機械学習方法によれば、判定データ取得部51から出力される判定データによる故障予知よりも、実際の使用状況に応じた正確な故障予知を学習することができる。すなわち、故障につながる要因が複雑であり、また、故障予知を予め設定するのが困難な場合であっても、高い精度の故障予知が可能になる。
【0053】
一実施形態において、判定データ取得部51が工作機械2の故障を表す判定データを取得したときに、学習部53が、その判定データを、故障発生時から各々の判定データの取得時まで遡った時間の長さに応じて、それぞれ重み付けして故障予知を更新するようにしてもよい。ここで、判定データを取得してから故障が実際に発生するまでの時間が短ければ短いほど、故障発生に直結する状態に近いことが推定される。従って、データセット取得時からの経過時間に応じて判定データを重み付けすれば、前述した故障予知を効果的に学習することができる。
【0054】
また、一実施形態において、学習部53は、複数の工作機械2に対して作成されるデータセットに従って、主軸212または主軸212を駆動するモータ214の故障予知を学習するようにしてもよい。なお、学習部53は、同一の現場で使用される複数の工作機械2からデータセットを取得してもよいし、或いは、異なる現場で独立して稼働する複数の工作機械2から収集されるデータセットを利用して故障予知を学習してもよい。さらに、データセットを収集する工作機械2を途中で対象に追加し、或いは、逆に対象から除去することも可能である。
【0055】
次に、複数の工作機械2のデータセットを共有(共用)する方法として、以下に3つの例を挙げるが、それ以外の方法を適用することができるのはいうまでもない。まず、第1の例としては、ニューラルネットワークのモデルを同じになるように共有する方法であり、例えば、ネットワークの各重み係数について、各工作機械2間の差分を、通信手段を用いて送信して反映させるものである。また、第2の例としては、ニューラルネットワークの入力と出力のデータセットを共有することにより、機械学習装置5の重み等を共有することができる。さらに、第3の例としては、あるデータベースを用意し、それにアクセスしてより妥当なニューラルネットワークのモデルをロードすることで状態を共有する(同じようなモデルとする)ものである。
【0056】
図7は、他の実施形態に係る故障予知システムの一例を示すブロック図である。
図7に示されるように、本実施形態の故障予知システム1は、機械学習装置5によって学習された結果を利用して、工作機械2の故障情報を作成する故障予知装置4を備えている。なお、
図7において、機械学習装置5および工作機械2における参照符合等は省略されている。
【0057】
故障予知装置4は、状態観測部41と、故障情報出力部42と、を備えている。状態観測部41は、
図1を参照して説明した状態観測部52と同様に機能し、工作機械2および周囲の環境の状態を反映した状態変数を取得する。故障情報出力部42は、前述した機械学習装置5の学習部53がデータセットに従って学習した結果に基づいて、状態観測部41を介した状態変数の入力に応答して、工作機械2の故障情報を出力する。
【0058】
図7に示されるように、モータ制御装置3は、通知部(故障情報通知部)32を含むようになっている。通知部32は、故障情報出力部42によって出力される故障情報をオペレータに通知する。故障情報が通知される態様は、オペレータが知得可能であれば、特に限定されるものではない。例えば、予知された故障の有無または故障の度合いを図示しない表示装置に表示する、或いは、故障情報の内容に応じて警告音を発生するといった様々な態様が可能である。
【0059】
図8および
図9は、実施形態に係る故障予知システムにおける故障の度合いを示す指標値の例(第1例〜第4例)を説明するための図である。ここで、
図8(a),
図8(b),
図8(c)および
図9において、時間(時間の経過)を示し、縦軸は、故障の度合いを示す。まず、
図8(a)に示されるように、例えば、第1例において、「故障の度合い」を示す指標値を、故障が近づくにつれて大きくなるように定め、学習によって得られた指標値をそのまま故障情報として故障情報出力部42が出力するように構成することができる。また、
図8(b)に示されるように、例えば、第2例において、前述の指標値に閾値を設け、閾値以上であれば異常、閾値未満であれば正常、というように故障の有無を表す情報を故障情報として故障情報出力部42が出力するように構成することもできる。さらに、
図8(c)に示されるように、例えば、第3例において、前述の指標値に閾値を複数(閾値1〜閾値3)設け、各閾値別に区切られたレベル(故障レベル1〜故障レベル4)を故障情報として故障情報出力部42が出力するように構成することもできる。
【0060】
図9に示されるように、例えば、第4例において、複数の故障に至ったデータ(教師データ)に基づいて、前述の指標値と故障に至るまでの時間の関係を求め、それを元に、故障が発生する時期から遡って第1の所定期間で定められる時期より前であることを満たすための第1の閾値を求める。また、故障が発生する時期から遡って第2の所定期間で定められる時期より後であることを満たすための第2の閾値を定める。そして、指標値が第1の閾値未満であることと、指標値が第2の閾値以上であることの少なくとも一方を満たす場合に、指標値そのもの、或いは、指標値を閾値で区切ったレベルを、故障情報として故障情報出力部42が出力することもできる。この場合の閾値の決め方は、例えば、過去の教師データが条件を全て満たすように閾値を設け、或いは、必要に応じてマージンを設定した閾値を設けることもでき、さらに、確率論的に、ある一定確率内での判定間違いを許容するように閾値を定めることもできる。
【0061】
図10は、学習結果を利用した故障予知の処理の一例を説明するためのフローチャートである。
図10に示されるように、機械学習装置5が学習した結果を利用した故障予知の処理の一例が開始すると、ステップS501において、状態観測部41は、例えば、モータ制御装置3から出力されるトルク指令値および速度指令値、検出器11から出力される駆動電流および回転速度、並びに、測定器12からの主軸212またはモータ214の振動,主軸212またはモータ214の近傍の音および温度といった状態変数を取得する。
【0062】
さらに、ステップS502に進んで、故障情報出力部42は、前述した機械学習装置5の学習結果に基づいて、ステップS501で取得された状態変数に応じた故障情報を出力する。なお、故障予知システム1が通知部32を備えている場合は、故障情報をオペレータに通知する工程がステップS502の後に実行されてもよい。
【0063】
図10を参照して説明した故障予知装置4による故障予知の処理は、工作機械2が予め定められた特定の動作を実行するときに行われてもよい。或いは、工作機械2の動作中または静止中に並行してステップS501およびS502の処理を継続して実行してもよい。或いは、予め定められた時刻に定期的に故障予知の処理が行われてもよい。
【0064】
本実施形態において、故障予知装置4による故障予知を実行するのと並行して、機械学習装置5による機械学習が実行されてもよい。その場合、故障予知装置4が故障情報を作成するのと同時に、故障判定部31またはオペレータの操作を介して取得される判定データとその時点での状態変数に基づいて、機械学習装置5の学習部53が故障予知を再学習することになる。
【0065】
上述した説明では、ニューラルネットワークを利用して機械学習する実施形態について説明したが、他のしられている手法、例えば、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシン等に従って機械学習を実行することもできる。また、繰り返しになるが、本明細書において、「工作機械」なる文言は、産業用ロボット、サービス用ロボットおよびコンピュータ数値制御(CNC)装置で制御される機械を含む様々な機械装置を意味するのは、前述した通りである。
【0066】
このように、本実施形態に係る機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムは、工作機械の主軸または主軸を駆動するモータが故障に至る前に、その故障の兆候を検出することができる。また、本実施形態に係る機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムは、従来技術よりも早く工作機械の主軸やモータにおける故障の予兆を発見し、ダウンタイムを削減することができる。さらに、本実施形態に係る機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムは、過去学習との比較により主軸等の寿命を推定することで、より計画的に修理や保守品の手配を可能としてダウンタイムの削減やコストカットに貢献することができる。
【0067】
以上、本発明の種々の実施形態について説明したが、当業者であれば、他の実施形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施形態の構成要素を削除または置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的または暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【符号の説明】
【0068】
1 故障予知システム
2 工作機械
3 モータ制御装置
4 故障予知装置
5 機械学習装置
11 検出器
12 測定器
30 モータ駆動アンプ
31 故障判定部
32 故障情報通知部
41,52 状態観測部
42 故障情報出力部
51 判定データ取得部
53 学習部
111 電流検出部
112 速度検出部
121 振動測定部
122 音測定部
123 温度測定部
【要約】
【課題】工作機械の主軸または主軸を駆動するモータが故障に至る前に、その故障の兆候を検出することができる機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システムを提供する。
【解決手段】工作機械2の主軸212または主軸を駆動するモータ214の故障予知を学習する機械学習装置5であって、前記モータを制御するモータ制御装置3の出力データ、前記モータの状態を検出する検出器11の出力データ、および、前記主軸または前記モータの状態を測定する測定器12の出力データの少なくとも1つを含む状態変数を観測する状態観測部52と、前記主軸または前記モータの故障の有無または故障の度合いを判定した判定データを取得する判定データ取得部51と、前記状態変数および前記判定データの組合せに基づいて作成されるデータセットに従って、前記主軸または前記モータの故障予知を学習する学習部53と、を備える。
【選択図】
図1