(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、一実施の形態について図面を参照しつつ説明する。
【0012】
<1:異常判定システムの全体構成>
図1を参照しつつ、本実施形態に係る異常判定システムの全体構成の一例について説明する。
【0013】
図1は、異常判定システムの概略的なブロック構成を表している。
図1に示すように、異常判定システム100は、モータ駆動機構1と、サーボアンプ2と、上位制御装置3と、エッジサーバ4とを有する。
【0014】
モータ駆動機構1は、当該異常判定システム100によってその駆動が制御されるとともに、その駆動に関する各種の異常が判定される対象の機械システムである。このモータ駆動機構1は、エンコーダ11を備えたモータ12と、このモータ12により駆動される駆動機械13とを有している。本実施形態の例では、モータ12は回転型の電動モータであり、エンコーダ11はモータの回転位置を光学的に検出し出力するセンサであり、駆動機構13はタイミングベルトを回転させるタイミングベルト機構(特に図示せず)である。
【0015】
サーボアンプ2(モータ制御装置)は、後述の上位制御装置3から入力される位置指令に上記モータ12の出力位置を追従させるよう駆動電力をモータ12に給電し駆動制御する機能(モータ駆動制御機能)を有している。また本実施形態の例においてサーボアンプ2は、駆動電力を給電する過程で生成されるトルク指令と、エンコーダ11から出力されたモータ12の出力位置に基づいて生成される出力速度と、推定外乱と、速度偏差の4つのデータを時系列検出データとして逐次取得し(後述の
図2参照)、後述のエッジサーバ4に出力する機能も有している。また本実施形態の例においてサーボアンプ2は、上記の時系列検出データに基づいたデータ異常判定と、データ異常判定の判定態様に基づいた機器異常発生判定を行う機能も有している(後に詳述する)。
【0016】
上位制御装置3は、後述のエッジサーバから入力された上位制御指令に基づいて、駆動機械13に所望の経時的な駆動動作を行わせるためにモータ12への位置指令を逐次出力する機能(モーション制御機能)を有している。
【0017】
エッジサーバ4(異常判定装置)は、例えば汎用パーソナルコンピュータで構成され、上位制御装置3に対し 駆動機械13に所望の経時的な駆動動作を行わせるための上位制御指令を出力する機能を有する。なお、この上位制御指令の出力は、特に図示しない他のPLC(Programmable Logic Contoroller)を介して上位制御装置3に出力してもよい。また本実施形態の例において、このエッジサーバ4は、当該異常判定システム100の通常運用を行う前(つまり後述する正常駆動時)の準備処理を行う機能と、通常運用中(つまり後述する観測駆動時)でのモータ駆動機構1における機器異常原因推定を行う機能も有している。上記の準備処理として、後述する正常駆動時にサーボアンプ2から入力された時系列検出データに基づいて、サーボアンプ2及び当該エッジサーバ4が上記データ異常判定を行う際に必要となる標本平均、標本共分散行列、及びデータ異常判定しきい値を算出してサーボアンプ2に出力する処理を行う(後述の
図5参照)。また本実施形態の例においてエッジサーバ4は、サーボアンプ2から入力された時系列検出データを記憶し、後述する観測駆動時には、それら時系列検出データに基づいたデータ異常判定と、データ異常判定の判定態様に基づいた動作異常種類判定と機器異常原因推定を行う機能も有している。
【0018】
<2:サーボアンプの制御ブロック>
図2は、本実施形態におけるサーボアンプ2の制御ブロックを伝達関数形式で表している。なお本実施形態の例では、この
図2に示す制御ブロックは、サーボアンプ2が備えるCPU(特に図示せず)により実行されるソフトウェアで実現される。
【0019】
この
図2において、サーボアンプ2は、減算器21と、位置制御部22と、減算器23と、速度制御部24と、電流制御部25と、速度変換部26と、外乱オブザーバ27を有している。減算器21は、上位制御装置3から入力された位置指令から後述する出力位置(フィードバック位置)を減算して位置偏差を出力する。位置制御部22は、この位置偏差に基づいていわゆるPID制御などにより速度指令を出力する。減算器23は、この速度指令から後述する出力速度(フィードバック速度)を減算して速度偏差を出力する。速度制御部24は、この速度偏差に基づいていわゆるPID制御などによりトルク指令を出力する。電流制御部25は、このトルク指令に基づく電力変換により駆動電力を出力し、モータ12に給電する。そしてこのモータ12が駆動機械13を駆動した際の出力位置をエンコーダ11が検出し、サーボアンプ2にフィードバックする。この出力位置は、上記減算器21において位置指令から減算されるとともに、速度変換部26に入力される。速度変換部26は、この出力位置に基づいてモータ12の駆動速度である出力速度を出力する。なお、この速度変換部26は、出力位置を時間微分する微分器等で構成すればよい。また外、乱オブザーバ27は、トルク指令と出力速度に基づいてモータ12に付加される外乱を推定し出力している。
【0020】
以上における減算器21、位置制御部22、減算器23、速度制御部24、電流制御部25、及び速度変換部26は、外部のモータ12及びエンコーダ11とともに、いわゆる位置制御フィードバックループと速度制御フィードバックループの2重フィードバックループを構成する。なお、電流制御部25の内部にも電流制御フィードバックループを備えているが、図中では省略している。これらのフィードバックループにおいて、減算器21による位置偏差の出力は位置指令の時間微分処理と同等であり、減算器23による速度偏差の出力は速度指令の時間微分処理と同等である。したがって、サーボアンプ2が備える上記の2重フィードバックループにおいては、
(k:ばね係数、μ:摩擦係数、m:可動部分の慣性モーメント)
の運動方程式に基づくフィードバック制御が行われているとみなせる。
【0021】
そして本実施形態では、サーボアンプ2がトルク指令、出力速度、推定外乱、及び速度偏差を時系列検出データとしてシステムサイクル等の短い周期で逐次検出し、エッジサーバ4へ出力する。
【0022】
<3:本実施形態の特徴>
<3−1:本実施形態の判定内容>
近年では、機械システムに対する付加価値向上の一環として予防保全がキーワードになりつつある。これまでにも寿命モニタや設置環境モニタ等により予防保全の一助となる情報を上位制御装置3に提示する構成が取られていたが、これらとは別にモータ駆動機構1の機器異常とその内容を判定することが要望されている。本実施形態の異常判定システム100は、この要望を受けてモータ駆動機構1の機器異常の内容を判定するためのものである。
【0023】
サーボアンプ2で判定可能な異常状態はモータ12の異常状態でしかない。これまでにはモータ12の異常状態を判定するために、統計学的手法に基づく機械学習を利用することで上記の時系列検出データのデータ異常を判定し、このデータ異常の判定態様に基づいて当該モータ12の動作異常を判定することができていた。
【0024】
これに対し本実施形態では、エッジサーバ4が、モータ駆動機構1、モータ12、及びサーボアンプ2を含めた機械システムに関する状態量を取得し、機械学習プロセスでの学習内容を利用して、状態量に基づき機械システムにおける異常の発生有無、発生箇所、及び発生原因の少なくとも1つを判定する。例えばモータ駆動機構1の機器異常の内容は、その状態量である上記時系列検出データのデータ異常の判定内容との間に相関関係があることから、本実施形態ではモータ駆動機構1の機器異常の内容を判定することができる。この結果、機械システムの具体的な機器異常の内容を判定できる。このデータ異常と動作異常と機器異常のそれぞれの判定手法について、以下に順を追って説明する。
【0025】
<3−2:データ異常と動作異常と機器異常の定義について>
ここで本実施形態におけるデータ異常、動作異常、及び機器異常の用語について説明する。本実施形態の例では、上述したように、モータ駆動機械1としてタイミングベルトを回転させるタイミングベルト機構(特に図示せず)を適用する場合を説明する。このタイミングベルト機構の駆動制御時に発生する異常として、
・1:機構全体での経年劣化による異常
・2:タイミングベルト機構における異常
・2a:ベルトのゆるみ(発振)
・2b:ベルトの劣化(摩擦の増加)
・2c:ベアリングのグリス不足(摩擦の増加)
・2d:異物の挟み込み(瞬間的な摩擦の増加)
・2e:歯飛び(瞬間的な摩擦の増加)
等がある。
【0026】
上記の各異常において、ベルトのゆるみ、ベルトの劣化、ベアリングのグリス不足、異物の挟み込み、及び歯飛びは、それぞれタイミングベルト機構(モータ駆動機構1)における機械的な異常であるとし、すなわち本実施形態における機器異常と称呼する。またこの機器異常については、モータ駆動機構1を駆動するモータ12そのものや当該モータ12の駆動制御を行うモータ制御機器(上記
図1におけるエンコーダ11、サーボアンプ2、上位制御装置3、及びその他のモータ制御に関連する周辺機器)における機械的、回路的な異常も含めるものとする。例えば、サーボアンプ2内の平滑コンデンサやパワー素子等の劣化(電子部品寿命劣化)やダイナミックブレーキ回路の劣化(使用するリレーの接点寿命劣化)、モータコイルの絶縁劣化、モータブレーキの摩耗劣化、などの異常も機器異常に含めるとする。なお以下の説明においては、説明を簡易にするために、モータ駆動機構1における機器異常のみに限定して説明する。そしてモータ駆動機構1の機器異常の発生に起因してモータ12の制御動作上で発生する発振、摩擦の増加、及び瞬間的な摩擦の増加などの現象がモータ12の動作における異常とし、すなわち本実施形態における動作異常(とその種類)と称呼する。そしてデータ異常は、このモータ12における動作異常の発生とその種類を判定するための時系列検出データの異常を意味する。以下、各異常の判定について順を追って説明する。
【0027】
<4:データ異常判定について>
<4−1:機械学習によるデータ異常判定>
一般に人間が波形を観測して正常/異常の判断を行うのは、主として経験によるところが大きい。この経験を数式として表現し、計算機上で行う手法が機械学習である。機械学習による変化検出手法の基本的な考え方は、基準とするデータ群(以下、基準データという)の正規分布を作成し、運用段階で取得したデータ(以下、観測データという)が正規分布から外れているか否かを確認するというものである。
【0028】
データ異常判定を行う上で、基準データは、データ的に全て正常であることを前提とする場合と、データ的に正常と異常にラベル付けされた基準データが混在している場合が考えられる。しかし、機構部品の経年変化に適用する場合は、事前に異常な基準データを準備することは難しいため、基準データは全て正常であるという前提をとることが現実的と考えられる。
【0029】
正規分布から外れていることを判断するためには、正規分布の端にデータ異常判定用のしきい値を設定し、観測データが正規分布中心に対してデータ異常判定しきい値よりも離れていることを確認すればよい。
【0030】
<4−2:時系列検出データについて>
本実施形態では、基準データや観測データを複数種類で取得する場合は、以下のように配列で定義した時系列検出データDとして取得する。
例えば、同一の駆動機械13を2つのモータ12で駆動するモータ駆動機構1(タイミングベルト機構を想定、特に図示せず)で、各モータ12それぞれのトルク指令と出力速度を時系列検出データとして取得した場合(つまり自由度M=変数の種類数=2)には、時系列検出データDは以下のようになる。ただし、Dの添え字は時刻を示す。
【0031】
<4−3:ホテリングのT
2法について>
本実施形態では、機械学習による変化検出手法としてホテリングのT
2法を適用する。ホテリングのT
2法は、複数種類のデータの変化波形を並列に観測する多変数解析の一手法であり、その処理は以下の(工程1)〜(工程6)で行う。
【0032】
(工程1)誤報率を決定する
データには正常データと異常データが存在するが、正規分布からどれくらい大きく外れた場合を異常データとするかの指標が誤報率αとなる。例えば、誤報率1%と考えるならα=0.01となる。なお、確率統計論の考え型では、誤報率を0とした場合には全てのデータが正常となってしまうため、原理的に誤報率αを0にはしない。
【0033】
(工程2)カイ2乗分布を算出する
自由度M、スケール因子s=1として、カイ2乗分布を次式から計算する。なお、自由度Mは、独立した基準データの種類の数(上述した多変数解析における変数の種類の数)を指定するパラメータである。
ただし、Γはガンマ関数を表し、次式で定義される。
【0034】
(工程3)データ異常判定しきい値を算出する
上記(工程1)で決定した誤報率αと、上記(工程2)で算出したカイ2乗分布から、
を満たすデータ異常判定しきい値a
thを算出する。
【0035】
(工程4)標本平均と標本共分散行列を算出する
正常データである基準データから標本平均μ(文中の表記ではハットを省略、以下同様)と標本共分散行列Σ(文中の表記ではハットを省略、以下同様)を次式から算出する。
ただし、はn番目の種類の基準データである。
【0036】
(工程5)マハラノビス距離を算出する
上記(工程4)で算出した標本平均μと標本共分散行列Σ、及び検出した観測データに基づいて、マハラノビス距離a(x’)を次式から算出する。
【0037】
(工程6)データ異常判定しきい値とマハラノビス距離を比較する
上記(工程3)で算出したデータ異常判定しきい値a
thと、上記(工程5)で算出したマハラノビス距離a(x’)とを比較する。マハラノビス距離a(x’)がデータ異常判定しきい値a
thを越えている場合(a(x’)>a
th)には、上記(工程5)で用いた観測データがデータ異常の状態にあると判定する。
【0038】
図3に示すように、カイ2乗分布は自由度M別に分布が変化する確率分布であり、いわゆる再生性を有している特性から多変数解析での適用に好適である。例えば上述したような変数の種類(トルク指令、出力速度)の数が2つの時系列検出データを取得する場合、自由度M=2となって
図3中の実線で示されるカイ2乗分布が利用される。このカイ2乗分布で誤報率αに相当するデータ異常判定しきい値a
thよりもマハラノビス距離a(x’)が大きい場合、当該マハラノビス距離a(x’)の算出に用いた観測データにデータ異常が発生しているとみなせる。つまり変数の種類数が2つである多変数解析において、それら2つのデータの組み合わせによる多元的な異常の度合い(どれだけ正常からかけ離れているかの度合い)を、データ異常判定しきい値a
thとマハラノビス距離a(x’)の一元的な比較により判定できる。なお、マハラノビス距離a(x’)の算出時に標本平均μと標本共分散行列Σを用いていることで、2種類のデータそれぞれの正規分布間の相関による影響を相殺している。なお、データの種類別でそれぞれ自由度=1としたホテリングT
2法のデータ異常判定を個別に適用することもできる。
【0039】
<4−4:具体的なデータ異常判定>
まず比較例として、機械学習を利用せずにデータ異常を判定する方法について説明する。
(事前準備)
1:基準データとして正常なデータを複数取得する。
2:基準データ群から各時刻における正規分布を作成する。
3:各時刻における正規分布に対してデータ異常判定しきい値を設定する。
(データ異常判定)
1:観測データを取得する。
2:取得時刻に対応する正規分布に加える。
3:観測データが正規分布に設定したデータ異常判定しきい値を超えていたら異常と判定する。
【0040】
上記比較例の方法では、時刻ごとに正規分布とデータ異常判定しきい値を作成する必要があり、さらに観測データでも正規分布を計算する必要がある。正規分布の計算には平均値と標準偏差の計算が必要であるが、標準偏差の計算は煩雑なため、時刻ごとに計算を実施するのは現実的ではない。また、データ異常判定しきい値も各時刻の正規分布に対して設定するため時刻ごとに異なった値となる。
【0041】
次に、上記比較例の問題を解決するために機械学習を利用する場合について説明する。機械学習を利用することで処理は以下のようになる。
(事前準備)
1:基準データとして正常なデータを複数取得する。
2:基準データ群から標本平均μと標本共分散行列Σを計算する。
3:誤報率αとカイ2乗分布からデータ異常判定しきい値a
thを計算する。
(データ異常判定)
1:観測データを取得する。
2:観測データに対してマハラノビス距離a(x’)を計算する。
3:マハラノビス距離a(x’)がデータ異常判定しきい値a
thを超えていたらデータ異常と判定する。
【0042】
このように機械学習を利用した方法では、正規分布の計算の代わりに標本平均μ、標本共分散行列Σ、及びマハラノビス距離a(x’)の計算を行う。これらの計算は単純な四則演算であるため、長期間に渡るモータ駆動機構1の実運用時間中において短い周期で逐次計算しても大きな負荷処理にはならない。また、データ異常判定しきい値a
thは計算式こそ複雑だが、時刻に依存しない定数となるため事前に一度計算しておくだけで済む。
【0043】
<5:動作異常の発生判定について>
上記のデータ異常判定によれば、時系列検出データを取得した時点におけるデータ上で見た異常状態の有/無(つまり異常/正常)を2値的に判定することができる。しかし、後述する実験結果に示すように1度でもデータ異常が判定されたからといって機械システム全体に動作異常や機器異常が発生したと判定すべきではない。また、データ異常が複数回発生した際にその発生態様に基づいて動作異常の内容を一次的に推定することが可能である。本実施形態では、
図4に示すように、経年劣化が進行するに従ってデータ異常の発生頻度が徐々に増加するとの考察に基づき、データ異常の発生頻度が所定値を越えた場合には、モータ駆動機構1及びモータ制御機器に経年劣化の種類の機器異常とそれによるモータ12の動作異常が発生していると判定する。
【0044】
<6:具体的な制御フロー>
上述した経年劣化の機器異常による動作異常の発生を判定するための具体的な制御フローの一例を、以下に詳細に説明する。まず
図5は、データ異常判定に機械学習を利用する場合の上記事前準備に相当する準備処理の制御手順を示すフローチャートである。このフローチャートは、データ異常がほぼ生じないと確信できるモータ駆動機構1の正常駆動の駆動状態中に、
図1中に示すエッジサーバ4のCPUが実行する。なお正常駆動としては、例えばモータ駆動機構1が組立製造後に十分な調整が行われた状態でほぼ設計通りに動作すると確信できる状態(初期運用又は試験運用)での駆動が考えられる。
【0045】
まずステップS5で、エッジサーバ4のCPUは、誤報率αを決定する。これはユーザからの入力により任意に決定してもよいし、予め設定された値や所定の手法に基づいて算出された値で決定してもよい。
【0046】
次にステップS10へ移り、エッジサーバ4のCPUは、変数の種類数を自由度Mとしたカイ2乗分布を算出する。本実施形態では、1つのモータ12に対しトルク指令と出力速度の2種類の時系列検出データが取得されるため、自由度M=2となる。
【0047】
次にステップS15へ移り、エッジサーバ4のCPUは、誤報率αとカイ2乗分布に基づいてデータ異常判定しきい値a
thを算出する。
【0048】
次にステップS20へ移り、エッジサーバ4のCPUは、上位制御装置3とサーボアンプ2を介したモーション制御及びモータ駆動制御によりモータ駆動機構1の正常駆動を開始する。
【0049】
次にステップS25へ移り、エッジサーバ4のCPUは、システムサイクルなどの所定時間毎に各変数(各軸のトルク指令及び出力速度)の時系列基準データを、サーボアンプ2から取得する。
【0050】
次にステップS30へ移り、エッジサーバ4のCPUは、正常駆動が終了したか否かを判定する。正常駆動がまだ終了しない場合、判定は満たされず、ステップS25に戻って同様の手順を繰り返す。
【0051】
一方、正常駆動が終了した場合、判定が満たされ、ステップS35へ移る。
【0052】
ステップS35では、エッジサーバ4のCPUは、モータ駆動機構1の正常駆動を停止する。
【0053】
次にステップS40へ移り、エッジサーバ4のCPUは、上記ステップS25で取得した時系列基準データ群から、標本平均μと標本共分散行列Σを算出する。そして、このフローを終了する。
【0054】
以上の準備処理のフローにより、特に計算処理の負荷が大きい機械学習の準備処理(工程1〜4)を比較的CPUパワーの高いエッジサーバ4であらかじめ行うことができ、異常判定システム100全体におけるリソース負担を軽減できる。
【0055】
次に
図6は、データ異常判定と動作異常判定を行う動作異常発生判定処理の制御手順を示すフローチャートである。このフローチャートは、データ異常が生じ得るモータ駆動機構1の観測駆動の駆動状態中に、
図1中に示すサーボアンプ2のCPUが実行する。なお観測駆動としては、例えばモータ駆動機構1が十分長い期間で運用された状態(実務運用)での駆動が考えられる。
【0056】
まずステップS105で、サーボアンプ2のCPUは、モーション制御及びモータ駆動制御によりモータ駆動機構1の観測駆動を開始する。
【0057】
次にステップS110へ移り、サーボアンプ2のCPUは、システムサイクルなどの所定時間毎に各変数(各軸のトルク指令及び出力速度)の時系列観測データを取得するとともにエッジサーバ4へ送信する。
【0058】
次にステップS115へ移り、サーボアンプ2のCPUは、上記ステップS40であらかじめ算出された標本平均μと標本共分散行列Σ、及び上記ステップS110で取得した時系列観測データ群からマハラノビス距離a(x’)を算出する。
【0059】
次にステップS120へ移り、サーボアンプ2のCPUは、上記ステップS115で算出したマハラノビス距離a(x’)が、上記ステップS15であらかじめ算出されたデータ異常判定しきい値a
th(図中では「しきい値」と略記)を越えているか否かを判定する。言い換えると、上記ステップS110で取得した時系列観測データがデータ異常の状態であるか否かを判定する。マハラノビス距離a(x’)がデータ異常判定しきい値a
thを越えていない場合、判定は満たされず、ステップS125へ移る。言い換えると、データ異常が発生していないとみなされる。
【0060】
ステップS125では、サーボアンプ2のCPUは、観測駆動が終了したか否かを判定する。観測駆動がまだ終了しない場合、判定は満たされず、ステップS110に戻って同様の手順を繰り返す。
【0061】
一方、観測駆動が終了した場合、判定が満たされ、ステップS130へ移る。
【0062】
ステップS130では、サーボアンプ2のCPUは、モータ駆動機構1の観測駆動を停止する。そして、このフローを終了する。
【0063】
一方、上記ステップS120の判定において、マハラノビス距離a(x’)がデータ異常判定しきい値a
thを越えていた場合、判定が満たされ、ステップS135へ移る。言い換えると、データ異常が発生したとみなされる。
【0064】
ステップS135では、サーボアンプ2のCPUは、それまでの過去直近で所定回数行われたデータ異常判定における異常の判定頻度(異常と判定された時系列観測データの取得頻度)が所定値(所定しきい値)より大きいか否かを判定する。言い換えると、経年劣化の機器異常が発生したか否かを判定する。直近所定回数におけるデータ異常判定頻度が所定値より大きい場合、判定が満たされ、ステップS140へ移る。言い換えると、経年劣化の機器異常が発生したとみなされる。
【0065】
ステップS140では、サーボアンプ2のCPUは、モータ駆動機構1及びモータ制御機器に経年劣化による機器異常とモータ12における動作異常が発生したとする判定結果をエッジサーバ4に送信する。そして、ステップS130へ移る。
【0066】
一方、上記ステップS135の判定において、直近所定回数におけるデータ異常判定頻度が所定値以下である場合、判定は満たされず、ステップS125へ移る。言い換えると、経年劣化の機器異常が発生してないとみなされる。
【0067】
以上の動作異常発生判定処理のフローにより、計算処理の負荷が比較的小さい機械学習の判定処理(工程5、6)と動作異常発生判定処理を、比較的CPUパワーの低いサーボアンプ2でも行うことができ、異常判定システム100全体におけるリソース負担を軽減できる。
【0068】
なお、ステップS25及びステップS110の手順が各請求項記載の時系列検出データ取得部に相当し、ステップS5、ステップS10、ステップS15、ステップS40、ステップS115、及びステップS120の手順が各請求項記載のデータ異常判定部に相当し、ステップS135の手順が各請求項記載の動作異常発生判定部に相当する。また、ステップS5の手順が各請求項記載の誤報率決定部に相当し、ステップS10の手順が各請求項記載のカイ2乗分布算出部に相当し、ステップS15の手順が各請求項記載のしきい値算出部に相当し、ステップS40の手順が各請求項記載の標本平均算出部と標本共分散行列算出部に相当し、ステップS115の手順が各請求項記載のマハラノビス距離算出部に相当し、ステップS120の手順が各請求項記載の判定部に相当する。
【0069】
<7:動作異常の種類の判定について>
上述したように、エッジサーバ4は観測駆動時の間もサーボアンプ2から時系列検出データを逐次受信して記録しており、動作異常が発生した際にはその判定結果をサーボアンプ2から受信する。またデータ異常判定に必要な基準データについても、エッジサーバ4自体がすでに正常駆動時の準備処理で作成している。これにより、エッジサーバ4は、サーボアンプ2から動作異常発生判定を受信した際に、当該エッジサーバ4自体で基準データと時系列検出データからマハラノビス距離の算出も含めたデータ異常の判定が行える。しかし上記の動作異常発生判定処理では、モータ12において動作異常が発生したか否かの判定までしか行えない。
【0070】
これに対してエッジサーバ4では、さらに上記
図4の下方側に示すようなマハラノビス距離の時系列分布パターンに基づいて動作異常の種類の判定も行う。ここで、このマハラノビス距離の時系列分布パターンは、時系列検出データの種類ごとに作成されるものであり、その時系列検出データそのものの時系列パターンやその周波数領域での分布パターン(両方とも特に図示せず)よりも特に当該モータ12における動作異常の程度や特徴を強調して示していると見なせる。そこで本実施形態の例では、エッジサーバ4がこのマハラノビス距離の時系列分布パターンに対して機械学習を利用したパターンマッチングにより動作異常の種類の判定を行う場合の具体的な一例を以下に説明する。
【0071】
図7は、エッジサーバ4において動作異常の種類判定処理を行う動作異常種類判定部のニューラルネットワーク構成モデルの一例を表している。この動作異常種類判定部31は、各時系列検出データ(トルク指令、出力速度、速度偏差、及び推定外乱)それぞれについて生成したマハラノビス距離時系列分布パターンに対して、モータ12の動作異常種類をクラスタリング出力するよう設計、調整されている。その出力される動作異常種類は、機械学習プロセス(深層学習)での学習内容に基づくものであり、すなわち、この動作異常種類判定部31のニューラルネットワークは、マハラノビス距離時系列分布パターンに含まれる波形パターンと動作異常種類との相関を表す特徴量を学習している。
【0072】
以上の基本仕様にあるニューラルネットワークにおいては、例えば入力層の直近をいわゆる畳み込み層とプーリング層の組み合わせである畳み込みニューラルネットワーク(特に図示せず)で構成することで柔軟なパターンの認識が可能となる。また例えば、出力層の直近を最適値演算に適した全結合層(特に図示せず)で構成することも好適である。
【0073】
このニューラルネットの学習手法としては、いわゆる教師あり学習によって行うことが可能である。教師あり学習を行う場合には、既知の動作異常種類での動作異常状態にあるモータ12の時系列検出データから生成したマハラノビス距離時系列分布パターンを入力データとし、その既知の動作異常種類を出力データとした組み合わせの教師データを用いればよい。このような教師データを多数用いて、ニューラルネットワークの入力層と出力層の間の関係性が成立するよう各ノードどうしをつなぐ各エッジの重み係数を調整するいわゆるバックプロパゲーション処理(誤差逆伝搬処理)により学習を行う。なお、このようなバックプロパゲーションの他にも、いわゆる積層オートエンコーダ、ドロップアウト、ノイズ付加、及びスパース正則化などの公知の多様な学習手法を併用して処理精度を向上させてもよい。
【0074】
なお、動作異常種類判定部31の処理アルゴリズムは、図示したニューラルネットワークを用いた深層学習(ディープラーニング)によるもの以外にも、例えばサポートベクトルマシンやベイジアンネットワーク等を利用した他の機械学習の処理アルゴリズム(特に図示せず)や、その他の統計的手法を適用してもよい。以上のような機械学習等による動作異常種類判定は、比較的CPUパワーの高いエッジサーバ4でしか行えない。
【0075】
<8:機器異常の原因の推定について>
上述したように、例えば摩擦の増加といった種類のモータ12の動作異常が発生した場合には、タイミングベルト機構のモータ駆動機構1においてベルトの劣化やベアリングのグリス不足などのような特定の機器異常が発生したと想定できる。このようにモータ12の動作異常種類と、モータ駆動機構1及びモータ制御機器において発生する機器異常の原因とは特定の因果関係を有する場合が多く、その因果関係は当該モータ駆動機構1及びモータ制御機器の機械的、回路的な構成及び仕様に依存するものである。そこで本実施形態では、そのようなモータ駆動機構1の機械的、回路的な構成及び仕様に由来するモータ12の動作異常種類とモータ駆動機構1及びモータ制御機器の機器異常の原因との因果関係を所定の関係ルールで関連付け、エッジサーバ4においてデータベース化する(特に図示せず)。これによりエッジサーバ4は、先に判定されたモータ12の動作異常種類から、そのルールベースに基づいてモータ駆動機構1及びモータ制御機器に発生している機器異常の原因を推定できる。なお、このようにエッジサーバ4で実行する機器異常の原因の推定処理が、各請求項記載の機器異常判定部及び機器異常原因推定部に相当する。そして、以上説明した本実施形態の異常判定システム100の観測駆動時における各種情報の流れと各種処理等の関係をまとめると、
図8に示すようになる。なお、図中における各種処理は全てエッジサーバ4で実行可能であるが、そのうちのマハラノビス距離演算、データ異常判定、及び動作異常発生判定について本実施形態の場合にはサーボアンプ2で実行するものとしている。
【0076】
<9:本実施形態の効果>
以上説明したように、本実施形態の異常判定システム100によれば、データ異常と判定された時系列検出データの取得態様に基づいて、モータ12の動作異常を判定する動作異常発生判定処理及び動作異常種類判定部31と、動作異常種類判定部31の判定内容に基づいて、モータ駆動機構1及びモータ制御機器の機器異常を判定する機器異常判定部と、を有している。これにより、データ異常の判定内容又はモータ12の動作異常の判定内容に基づいて、これらと特性の相関関係にあるモータ駆動機構1及びモータ制御機器の機器異常の内容を判定することができる。この結果、機械システムの具体的な機器異常の内容を判定できる。
【0077】
また、本実施形態では特に、データ異常判定部は、ホテリングのT
2法により判定する。これにより、信頼性の高い多変数解析によるデータ異常判定を実現できる。
【0078】
また、本実施形態では特に、上記ホテリングのT
2法において、正常駆動時に取得した時系列標本データに基づいて標本平均μと標本共分散行列Σを算出する。また異常判定システム100は、これら標本平均μと標本共分散行列Σとともに観測駆動時に取得した時系列観測データに基づいてマハラノビス距離a(x’)を算出する。そして異常判定システム100は、マハラノビス距離a(x’)とデータ異常判定しきい値a
thの比較により、時系列観測データのデータ異常を判定する。これにより、いわゆる「教師あり学習」でホテリングT
2法の機械学習を実行できることから、データ異常判定の信頼性を向上できる。なお、クラスタリングなどによるいわゆる「教師なし学習」で機械学習を利用してもよい。
【0079】
また、本実施形態では特に、サーボアンプ2は、動作異常の発生を判定する動作異常発生判定処理を実行する。これにより、計算処理の負荷が比較的小さい機械学習の判定処理(工程5、6)と動作異常発生判定処理を、比較的CPUパワーの低いサーボアンプ2でも行うことができ、異常判定システム100全体におけるリソース負担を軽減できる。
【0080】
また、本実施形態では特に、サーボアンプ2で実行される動作異常発生判定処理では、データ異常の発生頻度に基づいて動作異常の発生を判定する。これにより、高い信頼性で経年劣化による動作異常を判定できる。なお、動作異常及び機器異常の発生を判定する手法としては、このデータ異常の発生頻度に限られない。例えば、データ異常の発生時刻、発生周波数、連続発生期間などの他の多様な発生態様に基づいて動作異常(機器異常)の発生を判定してもよく、経年劣化も含めた多様な動作異常種類による判定が可能となる。
【0081】
また、本実施形態では特に、エッジサーバ4が有する動作異常種類判定部31は、動作異常の種類を判定する。これにより、モータ12で発生している動作異常の種類を具体的に特定できる。
【0082】
また、本実施形態では特に、エッジサーバ4の動作異常種類判定部31は、機械学習プロセスでの学習内容に基づいて、マハラノビス距離の時系列分布パターンに対するパターンマッチングにより動作異常の種類を判定する。これにより、人為的な数理モデルの設計によらず、高い精度で動作異常の種類を判定できる。なお、上記
図7に示すように4つ全ての時系列検出データに対応するマハラノビス距離時系列分布パターンによらずとも、そのうちのいくつか(1つ乃至3つ)でのパターンマッチングで動作異常の種類を判定してもよい。また、上記動作異常種類判定部31に入力する状態量の時系列パターンデータについては、時系列検出データの各時点におけるマハラノビス距離の長さを時系列的に表すマハラノビス距離時系列分布パターンに限られない。例えば、時系列検出データの各時点におけるマハラノビス距離の長さを不要とし、その代わりに各時点にけるマハラノビス距離がデータ異常判定しきい値a
thを越えているか否か、つまりデータ異常の有無を時系列で2値的に表す時系列ビットパターンを用いてもよい(特に図示せず)。この場合、動作異常種類の判定精度が低下する可能性があるものの、動作異常種類判定部31のニューラルネットワークの構成を簡素化できるという利点がある。
【0083】
また、本実施形態では特に、エッジサーバ4で行う機器異常の判定は、機器異常の原因を推定する。これにより、モータ駆動機構1で発生している機器異常の原因を具体的に特定できる。
【0084】
また、本実施形態では特に、エッジサーバ4で行う機器異常の原因の判定は、動作異常の種類判定の判定内容に基づくルールベースで機器異常の原因を推定する。これにより、モータ駆動機構1の機械的構成に由来するモータ12の動作異常種類とモータ駆動機構1及びモータ制御機器の機器異常の種類との因果関係に従った機器異常の原因の推定が可能となる。
【0085】
なおサーボアンプ2とエッジサーバ4の各CPUにおける、準備処理と動作異常発生判定処理、データ異常の判定と動作異常種類の判定と機器異常種類の推定、などの各処理の分担は上記実施形態に限られない。例えば、サーボアンプ2と上位制御装置3とエッジサーバ4の各CPUがどのような組み合わせで一体化してもよく、またどのような分担で実行してもよい。例えば、特に図示しないが、サーボアンプ2は時系列検出データの取得と送信だけ行い、データ異常判定、動作異常発生判定、動作異常種類判定、及び機器異常種類判定のいずれもエッジサーバ4で行ってもよい。
【0086】
<10:変形例>
<10−1:パターンマッチングによる機器異常の原因推定>
なお、開示の実施形態は、上記に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。例えば、上記実施形態ではエッジサーバ4における機器異常原因推定はルールベースで行っていたが、これに限られない。例えば、マハラノビス距離の時系列分布パターンにおいて、当該モータ駆動機構1及びモータ制御機器における機器異常の程度や特徴まで強調して示している場合がある。このため、
図9に示すように、ニューラルネットワークで実装した機器異常原因推定部32で、各時系列検出データのマハラノビス距離時系列分布パターンからのパターンマッチングにより直接的に機器異常の原因(図中ではタイミングベルト機構の例の機器異常だけを図示)を推定してもよい。これにより、モータ12における動作異常の種類の判定を省略して、より簡易にモータ駆動機構1及びモータ制御機器の機器異常の原因を推定できる。
【0087】
<10−2:パターンマッチングによる機器異常の箇所推定>
また、マハラノビス距離の時系列分布パターンにおいて、当該モータ駆動機構1及びモータ制御機器における機器異常の発生箇所に関する特徴まで強調して示している場合がある。このため、
図10に示すように、ニューラルネットワークで実装した機器異常箇所推定部33で、各時系列検出データのマハラノビス距離時系列分布パターンからのパターンマッチングにより直接的に機器異常の発生箇所(図中ではタイミングベルト機構の例の機器異常だけを図示)を推定してもよい。これにより、簡易にモータ駆動機構1及びモータ制御機器の機器異常の発生箇所を推定できる。
【0088】
<10−3:機器特性推定値を用いた機器異常の原因推定、箇所推定>
上記実施形態及び変形例で示した機器異常の原因推定及び箇所推定では、動作異常種類判定の内容からのルールベースで推定したり、各時系列検出データのマハラノビス距離時系列分布パターンからのパターンマッチングにより推定するなどの手法を説明した。しかしこれらの手法以外にも、状態量である各時系列検出データから推定した当該モータ駆動機構1の機械的な特性値に基づいてその機器異常の原因推定及び箇所推定を行うことも可能である。
【0089】
具体的にこの機器特性値としては、例えば共振周波数、クーロン摩擦係数や粘性摩擦係数などの各種摩擦係数、及び慣性モーメント(イナーシャ)などがある。これらは、サーボアンプ2で検出されるトルク指令、出力位置、出力速度、推定外乱、及び速度偏差などの各時系列検出データに基づいて所定の公知の数理モデルを用いた演算式や解析手法により推定値として算出できる。なお、その解析手法としては、いわゆるFFT等を用いた周波数解析によるメカニカルアナライズなどがある。また一方で、
図11に示すようにニューラルネットワークで実装した機器特性推定部34で、各時系列検出データ(特定動作期間の時系列パターン)からのパターンマッチングにより直接的にその時点におけるモータ駆動機構1の機器特性推定値(図中ではモータ(駆動機械含む)の機器特性値だけを図示)を回帰出力(多値出力)で推定してもよい。
【0090】
そして、これら推定された各種の機器特性推定値の組合せは、その時点のモータ駆動機構1における機器異常の発生原因や発生箇所に関する特徴を強調して示している場合がある。これにより、上記の機器異常原因推定部32や機器異常箇所推定部33に対して、各種のマハラノビス距離時系列分布パターンの代わりに上記各種の機器特性推定値を入力して機器異常の発生原因や発生箇所を推定させてもよいし(特に図示せず)、もしくはマハラノビス距離時系列分布パターンと機器特性推定値の両方を入力してより高い推定精度で機器異常の発生原因や発生箇所を推定させてもよい(後述の
図12参照)。
【0091】
そして、以上説明した各変形例での観測駆動時における各種情報の流れと各種処理等の関係をまとめると、
図12に示すようになる。なお、図中における各種処理は全てエッジサーバ4で実行可能であるが、そのうちのマハラノビス距離演算、データ異常判定、動作異常発生判定、及び機器特性推定についてはサーボアンプ2でも実行可能である。
【0092】
また、特に図示しないが、モータ駆動機構1が備えるモータ12は直動型のリニアモータであってもよく、その場合にはエンコーダ11の代わりにリニアスケールが用いられ、トルク指令の代わりに推力指令が時系列検出データとして取得される。
【0093】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【0094】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【0095】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【解決手段】モータ駆動機構1の機器異常を判定する異常判定システム100であって、サーボアンプ2がモータ駆動機構1の駆動中におけるモータ12の入出力に関する時系列検出データを取得する制御手順を実行し、サーボアンプ2とエッジサーバ4が時系列検出データのデータ異常を判定する制御手順を実行し、エッジサーバ4がデータ異常と判定された時系列検出データの取得態様に基づいて、モータの動作異常を判定する制御手順と、データ異常の判定内容又は動作異常の判定内容に基づいて、モータ駆動機構1の機器異常を判定する制御手順とを実行する。