(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-05
(45)【発行日】2024-06-13
(54)【発明の名称】コンピュータプログラム、異常判定方法及び異常判定装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240606BHJP
G05B 23/02 20060101ALI20240606BHJP
G01M 99/00 20110101ALI20240606BHJP
【FI】
G06N20/00
G05B23/02 302V
G01M99/00 A
(21)【出願番号】P 2020157342
(22)【出願日】2020-09-18
【審査請求日】2023-06-21
(73)【特許権者】
【識別番号】591030237
【氏名又は名称】BIPROGY株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】武井 宏将
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2020-030111(JP,A)
【文献】国際公開第2020/148904(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G05B 23/02
G01M 99/00
(57)【特許請求の範囲】
【請求項1】
機械の周期的な動作に伴って発生した時系列データに含まれ、前記時系列データの一周期部分である動作データを、オートエンコーダへ入力し、
前記オートエンコーダが出力したデータと前記動作データとの差分を計算することにより、一周期内の各時点における差分値からなる差分データを作成し、
前記差分データに含まれる各差分値と、正常時の各差分値の予め定められた最小値及び最大値との比較に基づいて、前記機械の異常の度合いを示す異常度を、一周期内の各時点について計算し、
計算した異常度に応じて、前記機械の異常を判定する
処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項2】
前記差分データに含まれる各差分値と前記最小値及び前記最大値の和の二分の一との差を、前記最小値及び前記最大値の差の二分の一で除した変換値を、計算し、
前記変換値の絶対値から所定値を減算した値とゼロの値との内の大きい方の値を、異常度とする
処理を更にコンピュータに実行させることを特徴とする請求項1に記載のコンピュータプログラム。
【請求項3】
前記異常度の一周期内の変化を表した異常度分布を作成し、
作成した異常度分布に基づいて、前記機械の異常の種類を判定する
処理を更にコンピュータに実行させることを特徴とする請求項1又は2に記載のコンピュータプログラム。
【請求項4】
夫々に異常の種類が関連付けられた複数の既存の異常度分布の中から、作成した異常度分布との類似度が高い既存の異常度分布を特定し、
特定した既存の異常度分布に関連付けられた異常の種類を、前記機械の異常の種類と判定する
処理を更にコンピュータに実行させることを特徴とする請求項3に記載のコンピュータプログラム。
【請求項5】
前記複数の既存の異常度分布を表す複数のグラフの画像の中から、作成した異常度分布を表すグラフの画像との類似度が高いグラフの画像を検索することにより、作成した異常度分布との類似度が高い既存の異常度分布を特定する
処理を更にコンピュータに実行させることを特徴とする請求項4に記載のコンピュータプログラム。
【請求項6】
周期的な動作を行う機械の異常を判定する異常判定方法において、
前記機械から、動作に伴って発生した時系列データを取得し、
前記時系列データに含まれ、前記時系列データの一周期部分である動作データを、オートエンコーダへ入力し、
前記オートエンコーダが出力したデータと前記動作データとの差分を計算することにより、一周期内の各時点における差分値からなる差分データを作成し、
正常時の各差分値の最小値及び最大値を予め記憶し、
前記差分データに含まれる各差分値と、前記最小値及び前記最大値との比較に基づいて、前記機械の異常の度合いを示す異常度を、一周期内の各時点について計算し、
計算した異常度に応じて、前記機械の異常を判定する
ことを特徴とする異常判定方法。
【請求項7】
周期的な動作を行う機械の異常を判定する異常判定装置において、
前記機械から、動作に伴って発生した時系列データを取得し、
時系列データの一周期部分である動作データを入力した場合に前記動作データに対応するデータを出力するオートエンコーダを備え、
取得した時系列データに含まれる動作データを前記オートエンコーダへ入力し、
前記オートエンコーダが出力したデータと前記動作データとの差分を計算することにより、一周期内の各時点における差分値からなる差分データを作成し、
正常時の各差分値の最小値及び最大値を予め記憶しており、
前記差分データに含まれる各差分値と、前記最小値及び前記最大値との比較に基づいて、前記機械の異常の度合いを示す異常度を、一周期内の各時点について計算し、
計算した異常度に応じて、前記機械の異常を判定する
ことを特徴とする異常判定装置。
【請求項8】
前記オートエンコーダは、正常な機械の動作に伴って発生した時系列データに含まれる複数の動作データを訓練データとして用いて学習されている
ことを特徴とする請求項7に記載の異常判定装置。
【請求項9】
前記異常度の一周期内の変化を表した異常度分布を作成し、
夫々に異常の種類が関連付けられた複数の既存の異常度分布に関する情報を予め記憶しており、
前記複数の既存の異常度分布の中から、作成した異常度分布との類似度が高い既存の異常度分布を特定し、
特定した既存の異常度分布に関連付けられた異常の種類を、前記機械の異常の種類と判定する
ことを特徴とする請求項7又は8に記載の異常判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、周期的な動作を行う機械の異常を判定するためのコンピュータプログラム、異常判定方法及び異常判定装置に関する。
【背景技術】
【0002】
現在、製造及び公共インフラ等の多くの分野で、周期的な動作を行う機械が利用されている。周期的な動作を行う機械は、例えば、電動機又はポンプ等の回転機械であり、例えば、プレス機械等の特定の動作を反復する機械である。このような機械に故障が発生した場合は、器物の破損による損失、又は機械が利用できないようことによる損失が発生する。そこで、機械に故障が発生する前に、故障の予兆となる機械の異常を検出し、機械を整備することが望まれる。特許文献1には、機械の故障の予兆を検知するための技術の例が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術には、機械の動作に伴って得られる振動等の時系列データを統計モデルに当てはめて異常度を計算し、異常度に基づいて異常を判定する技術がある。この技術には、変化が複雑な時系列データに対応することが困難であるという問題がある。そこで、オートエンコーダを利用し、オートエンコーダへ入力する前の時系列データとオートエンコーダからの出力との差分に基づいて、異常を判定する技術がある。この技術では、差分が大きいほど異常と判定され易い。プレス機械では、正常な状態であっても、被加工材に接触する都度、時系列データが大きく変動し、差分の絶対値が大きくなる。このように、従来技術では、機械によっては、正常であっても異常であると誤判定されることがある。
【0005】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、正常時に時系列データが大きく変動する機械であっても、正確に異常を判定するためのコンピュータプログラム、異常判定方法及び異常判定装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明に係るコンピュータプログラムは、機械の周期的な動作に伴って発生した時系列データに含まれ、前記時系列データの一周期部分である動作データを、オートエンコーダへ入力し、前記オートエンコーダが出力したデータと前記動作データとの差分を計算することにより、一周期内の各時点における差分値からなる差分データを作成し、前記差分データに含まれる各差分値と、正常時の各差分値の予め定められた最小値及び最大値との比較に基づいて、前記機械の異常の度合いを示す異常度を、一周期内の各時点について計算し、計算した異常度に応じて、前記機械の異常を判定する処理をコンピュータに実行させることを特徴とする。
【0007】
本発明に係るコンピュータプログラムは、前記差分データに含まれる各差分値と前記最小値及び前記最大値の和の二分の一との差を、前記最小値及び前記最大値の差の二分の一で除した変換値を、計算し、前記変換値の絶対値から所定値を減算した値とゼロの値との内の大きい方の値を、異常度とする処理を更にコンピュータに実行させることを特徴とする。
【0008】
本発明に係るコンピュータプログラムは、前記異常度の一周期内の変化を表した異常度分布を作成し、作成した異常度分布に基づいて、前記機械の異常の種類を判定する処理を更にコンピュータに実行させることを特徴とする。
【0009】
本発明に係るコンピュータプログラムは、夫々に異常の種類が関連付けられた複数の既存の異常度分布の中から、作成した異常度分布との類似度が高い既存の異常度分布を特定し、特定した既存の異常度分布に関連付けられた異常の種類を、前記機械の異常の種類と判定する処理を更にコンピュータに実行させることを特徴とする。
【0010】
本発明に係るコンピュータプログラムは、前記複数の既存の異常度分布を表す複数のグラフの画像の中から、作成した異常度分布を表すグラフの画像との類似度が高いグラフの画像を検索することにより、作成した異常度分布との類似度が高い既存の異常度分布を特定する処理を更にコンピュータに実行させることを特徴とする。
【0011】
本発明に係る異常判定方法は、周期的な動作を行う機械の異常を判定する異常判定方法において、前記機械から、動作に伴って発生した時系列データを取得し、前記時系列データに含まれ、前記時系列データの一周期部分である動作データを、オートエンコーダへ入力し、前記オートエンコーダが出力したデータと前記動作データとの差分を計算することにより、一周期内の各時点における差分値からなる差分データを作成し、正常時の各差分値の最小値及び最大値を予め記憶し、前記差分データに含まれる各差分値と、前記最小値及び前記最大値との比較に基づいて、前記機械の異常の度合いを示す異常度を、一周期内の各時点について計算し、計算した異常度に応じて、前記機械の異常を判定する
ことを特徴とする。
【0012】
本発明に係る異常判定装置は、周期的な動作を行う機械の異常を判定する異常判定装置において、前記機械から、動作に伴って発生した時系列データを取得し、時系列データの一周期部分である動作データを入力した場合に前記動作データに対応するデータを出力するオートエンコーダを備え、取得した時系列データに含まれる動作データを前記オートエンコーダへ入力し、前記オートエンコーダが出力したデータと前記動作データとの差分を計算することにより、一周期内の各時点における差分値からなる差分データを作成し、正常時の各差分値の最小値及び最大値を予め記憶しており、前記差分データに含まれる各差分値と、前記最小値及び前記最大値との比較に基づいて、前記機械の異常の度合いを示す異常度を、一周期内の各時点について計算し、計算した異常度に応じて、前記機械の異常を判定することを特徴とする。
【0013】
本発明に係る異常判定装置では、前記オートエンコーダは、正常な機械の動作に伴って発生した時系列データに含まれる複数の動作データを訓練データとして用いて学習されていることを特徴とする。
【0014】
本発明に係る異常判定装置は、前記異常度の一周期内の変化を表した異常度分布を作成し、夫々に異常の種類が関連付けられた複数の既存の異常度分布に関する情報を予め記憶しており、前記複数の既存の異常度分布の中から、作成した異常度分布との類似度が高い既存の異常度分布を特定し、特定した既存の異常度分布に関連付けられた異常の種類を、前記機械の異常の種類と判定することを特徴とする。
【0015】
本発明の一形態においては、周期的な動作を行う機械から得られた時系列データの一周期部分である動作データと、動作データを入力したオートエンコーダが出力したデータとの差分である差分データが作成される。差分データに含まれる各差分値と正常時の各差分値の最小値及び最大値との比較に基づいて、異常度が計算され、異常度に応じて機械の異常が判定される。機械の種類によっては、機械が正常であっても、時系列データが大きく変動し、差分値の絶対値が大きくなることがある。差分値の絶対値がある程度大きいとしても、正常時の最小値及び最大値と比較して大きくないようであれば、異常度が大きくならないようにすることができる。
【0016】
本発明の一形態においては、オートエンコーダは、正常時の動作データを訓練データとして学習されているので、機械が正常である場合は、オートエンコーダは動作データとほぼ同等のデータを出力する。ある時点における値が正常時の値からずれた場合は、その時点における差分値はゼロから離れた値となる。機械に異常がある場合は、動作データが正常時とは異なり、ゼロから離れた差分値が得られるようになる。
【0017】
本発明の一形態においては、差分データに含まれる各差分値と正常時の各差分値の最小値及び最大値の和の二分の一との差を、最小値及び最大値の差の二分の一で除した変換値が、計算される。変換値の絶対値から所定値を減算した値とゼロの値との内の大きい方の値が、異常度とされる。異常度がゼロである状態は、差分値が許容される範囲内に含まれている。異常度がゼロを超過する状態は、差分値が許容される範囲に含まれておらず、異常が発生している可能性がある。このため、異常度とゼロの値との比較結果は、機械が異常であるか否かを判定するための指標となり得る。
【0018】
本発明の一形態においては、異常度の一周期内の変化を表した異常度分布が作成され、異常度分布に基づいて機械の異常の種類が判定される。異常度分布は、一周期内の各時点と異常度の値とを関係を示す。機械の異常の種類が異なれば、異常度分布は異なるので、異常度分に基づいて機械の異常の種類の判定が可能となる。
【0019】
本発明の一形態においては、作成した異常度分布との類似度が高い既存の異常度分布が特定され、特定された既存の異常度分布に関連付けられた異常の種類が、機械の異常の種類であると判定される。過去に取得された異常度分布の分析結果に基づいて、容易に機械の異常の種類が判定される。
【0020】
本発明の一形態においては、作成した異常度分布との類似度が高い既存の異常度分布を特定するために、作成した異常度分布を表すグラフの画像との類似度が高いグラフの画像を検索する。画像検索の手法を用いることにより、グラフの時間的なずれがありながらも類似しているグラフの画像を容易に検索することができるので、作成した異常度分布との類似度が高い異常度分布を比較的に短時間で特定することができる。このため、容易に機械の異常の種類が判定される。
【発明の効果】
【0021】
正常時に時系列データが大きく変動する機械について、正常な状態を異常であると誤判定する可能性を低くしながら、正確に機械の異常を判定することができる等、本発明は優れた効果を奏する。
【図面の簡単な説明】
【0022】
【
図1】機械の異常を判定するための異常判定システムの構成を示す模式図である。
【
図2】異常判定装置の内部の機能構成例を示すブロック図である。
【
図3】異常判定装置が行う異常判定方法の処理の手順を示すフローチャートである。
【
図7】異常度分布DBの内容例を示す概念図である。
【発明を実施するための形態】
【0023】
以下本発明をその実施の形態を示す図面に基づき具体的に説明する。
図1は、機械2の異常を判定するための異常判定システムの構成を示す模式図である。機械2は、周期的な動作を行う機械である。例えば、機械2は、電動機又はポンプ等の回転機械、或は、プレス機械等の特定の動作を反復する機械である。機械2には、機械2の周期的な動作に伴って発生する物理量を測定するセンサ31が取り付けられている。センサ31が測定する物理量は、例えば、振動の加速度、圧力、電流、電圧、機械2によって動かされる流体の流量等である。センサ31が測定する物理量は、機械2を動作させるための電流又は電圧であってもよい。センサ31は、機械2から離れて設置されていてもよい。センサ31は、繰り返し測定を行い、測定値を示す信号を出力する。又は、センサ31は、連続的に測定を行い、測定値を示す信号を所定の時間間隔で出力する。
【0024】
センサ31は、A/D(analog-to-digital )変換器32に有線又は無線で接続されている。A/D変換器32は、順次、センサ31が出力した信号を受け付け、受け付けた信号が示す測定値をA/D変換し、デジタル化された測定値を示す信号を出力する。即ち、センサ31での測定値がA/D変換されてA/D変換器32から繰り返し出力され、繰り返し出力された測定値は時系列データを構成する。このように、センサ31及びA/D変換器32によって、機械2の周期的な動作に伴って、時系列データが発生し、A/D変換器32は時系列データを出力する。
【0025】
A/D変換器32は、機械2の異常を判定するための異常判定装置1に接続されている。異常判定装置1は、A/D変換器32が出力した信号を順次受け付けることにより、時系列データを取得する。センサ31とA/D変換器32とは一体になっていてもよい。また、A/D変換器32は、インターネット等の通信ネットワークを介して異常判定装置1に接続されていてもよい。
【0026】
図2は、異常判定装置1の内部の機能構成例を示すブロック図である。異常判定装置1は、パーソナルコンピュータ又はサーバ装置等のコンピュータを用いて構成されている。異常判定装置1は、演算部11と、演算に伴って発生する一時的なデータを記憶するメモリ12と、記憶部13とを備えている。演算部11は、例えばCPU(Central Processing Unit )、GPU(Graphics Processing Unit)、又はマルチコアCPUを用いて構成されている。また、演算部11は、量子コンピュータを用いて構成されていてもよい。メモリ12は、例えばRAM(Random Access Memory)である。記憶部13は、不揮発性であり、例えばハードディスクである。
【0027】
また、異常判定装置1は、光ディスク等の記録媒体10から情報を読み取るドライブ部14と、使用者からの操作を受け付ける操作部15と、画像を表示する表示部16と、通信部17とを備えている。操作部15は、使用者からの操作を受け付けることにより、テキスト等の情報を受け付ける。操作部15は、例えば、キーボード又はポインティングデバイスである。表示部16は、例えば液晶ディスプレイ又はELディスプレイ(Electroluminescent Display)である。通信部17は、信号の送受信を行う。通信部17には、A/D変換器32が有線又は無線で接続される。通信部17は、通信ネットワークを介してA/D変換器32が接続されてもよい。通信部17は、A/D変換器32が出力した信号を受け付ける。
【0028】
演算部11は、記録媒体10に記録されたコンピュータプログラム131をドライブ部14に読み取らせ、読み取ったコンピュータプログラム131を記憶部13に記憶させる。演算部11は、コンピュータプログラム131に従って、異常判定装置1に必要な処理を実行する。なお、コンピュータプログラム131は、異常判定装置1の外部からダウンロードされてもよい。この場合は、異常判定装置1はドライブ部14を備えていなくてもよい。異常判定装置1は、複数のコンピュータを用いて構成されていてもよい。例えば、異常判定装置1は、通信ネットワークを介して互いに接続された複数のコンピュータを用いて構成されていてもよい。
【0029】
異常判定装置1は、時系列データに基づいて機械2の異常を判定する異常判定方法を実行する。
図3は、異常判定装置1が行う異常判定方法の処理の手順を示すフローチャートである。以下、ステップをSと略す。演算部11は、コンピュータプログラム131に従って以下の処理を実行する。異常判定装置1は、A/D変換器32が出力した信号を通信部17で順次受け付けることにより、機械2の周期的な動作に伴って発生した時系列データを取得する(S1)。時系列データは、センサ31による測定値をデジタル化した値を複数含んでなる。測定値が得られる時間間隔は、予め定められている。複数の測定値は、取得された順に並んで時系列データに含まれる。演算部11は、取得した時系列データを記憶部13に記憶する。機械2、センサ31及びA/D変換器32が稼働している間は、S1の処理が継続される。
【0030】
演算部11は、機械2の動作の周期単位に、時系列データを複数の動作データに分割する(S2)。異常判定装置1は、適宜のタイミングで、S2以降の処理を実行する。例えば、使用者が操作部15を操作することにより、処理の開始の指示を受け付けた場合に、異常判定装置1は、S2以降の処理を実行する。
【0031】
機械2が周期的な動作を一巡させる一周期の時間は、予め定められている。記憶部13は、一周期の時間を予め記憶している。時系列データは、複数周期の間に取得された複数の測定値を含んでいる。S2では、演算部11は、時系列データから、一周期の間に取得された複数の測定値を取り出すことにより、動作データを作成する。演算部11は、複数周期の夫々について動作データを作成することにより、複数の動作データを作成する。夫々の動作データは、時系列データに含まれており、時系列データの一周期部分である。動作データには、一周期の間に取得された複数の測定値が取得された順に並んで含まれる。
【0032】
図4は、動作データの例を示すグラフである。
図4には、センサ31が圧力を測定した例を示す。
図4中の横軸は時間をミリ秒の単位で示し、縦軸は圧力を示す。
図4に示す例では、一周期の長さは四千数百ミリ秒である。動作データには、一周期内の各時点で取得された測定値が含まれる。例えば、測定値は一ミリ秒間隔で取得され、測定値は各時点に関連付けられている。
【0033】
異常判定装置1は、動作データを入力された場合に動作データに対応するデータを出力するオートエンコーダ132を備えている。オートエンコーダ132は、コンピュータプログラム131に従って演算部11が情報処理を実行することにより実現される。記憶部13は、オートエンコーダ132を実現するために必要なデータを記憶している。オートエンコーダ132は、ハードウェアを用いて構成されていてもよい。例えば、オートエンコーダ132は、プロセッサと、必要なプログラムおよびデータを記憶するメモリとを含んで構成されていてもよい。又は、オートエンコーダ132は、量子コンピュータを用いて実現されてもよい。
【0034】
オートエンコーダ132は、正常時の動作データを訓練データとして用いて、予め学習されている。正常時の動作データは、正常な機械2が周期的な動作を行った際に取得された時系列データを分割することにより、作成される。訓練データには、複数の動作データが含まれる。学習時には、オートエンコーダ132へ正常時の動作データが入力される。例えば、オートエンコーダ132の入力層に含まれる複数のノードへ、正常時の動作データに含まれる複数の測定値が入力される。オートエンコーダ132は、演算を行い、入力された動作データに対応するデータを出力する。出力されたデータには、複数の測定値に対応する複数の値が含まれる。
【0035】
入力された動作データと出力されたデータとを変数とする誤差関数により誤差が計算され、誤差が小さくなるように、オートエンコーダ132の入力層、中間層及び出力層に含まれる各ノードの演算のパラメータが調整される。訓練データに含まれる複数の動作データを用いて、処理が繰り返され、誤差が最小になるように、オートエンコーダ132のパラメータが調整される。例えば、誤差逆伝播法により、パラメータが調整される。このようにして、オートエンコーダ132の学習が行われる。オートエンコーダ132の学習は、異常判定装置1で行われてもよく、異常判定装置1以外の装置で行われてもよい。記憶部13は、学習されたオートエンコーダ132のパラメータを記憶する。
【0036】
演算部11は、S2で作成した動作データを、オートエンコーダ132へ入力する(S3)。オートエンコーダ132は、入力された動作データを用いて演算を行い、入力された動作データに対応するデータを出力する。なお、異常判定装置1は、S2での時系列データの分割を行わずにS3の処理を実行してもよい。例えば、異常判定装置1は、時系列データの一周期部分である動作データを時系列データから読み出し、読み出した動作データをオートエンコーダ132へ入力する。例えば、異常判定装置1は、時系列データの一周期分をオートエンコーダ132へ入力することにより、動作データをオートエンコーダ132へ入力する。
【0037】
演算部11は、次に、オートエンコーダ132へ入力した動作データとオートエンコーダ132が出力したデータとの差分を計算することにより、差分データを作成する(S4)。S4では、演算部11は、動作データに含まれる各測定値と、オートエンコーダ132が出力したデータに含まれる、各測定値に対応する値との差分である差分値を計算する。演算部11は、一周期内の各時点について差分値を計算する。差分データは、一周期内の各時点における差分値からなり、複数の差分値を含んでいる。
【0038】
図5は、差分データの例を示すグラフである。
図5には、
図4に示す動作データから作成された差分データの例を示す。
図5中の横軸は時間をミリ秒の単位で示し、縦軸は差分を示す。差分データには、一周期内の各時点における差分値が含まれる。オートエンコーダ132は、正常時の動作データを訓練データとして学習されているので、機械2が正常である場合は、オートエンコーダ132は動作データとほぼ同等のデータを出力し、差分値はほぼゼロとなる。ノイズ等の原因によってある時点における測定値が正常時の値からずれた場合は、その時点における差分値はゼロから離れた値となる。機械2に異常がある場合は、正常時とは動作データが異なり、ゼロから離れた差分値が得られる。
【0039】
記憶部13は、正常時の動作データから得られた正常時の差分データに含まれる各差分値の最小値及び最大値を記憶している。より詳しくは、記憶部13は、一周期内の各時点における差分値の最小値及び最大値が記録された正常時データ133を記憶している。各時点における差分値の最小値及び最大値は、予め定められている。
【0040】
機械2がプレス機械である場合、機械2が被加工材に接触する時点では、センサ31の測定値は大きく変動する。機械2が被加工材に接触する時点は、一周期内で特定の時点に定まっている。また、機械2が被加工材に接触する時点での測定値は、機械2が周期的な動作を繰り返す都度、異なった値となる。このため、機械2が正常であっても、機械2が周期的な動作を繰り返す都度、測定値が変化し、差分値がゼロから離れた値となることがある。これに対し、機械2が被加工材に接触しない時点での測定値は、機械2が周期的な動作を繰り返しても、ほぼ変動しない。このため、この時点での差分値はほぼゼロとなる。このように、周期的な動作を行う正常な機械2についての差分データでは、一周期の中に、差分値がゼロから大きく変動し得る時点と、差分値がゼロからあまり変動しない時点とが存在することがある。即ち、正常な機械2についての差分データでは、一周期内の各時点において取り得る差分値が異なり、差分値の最小値及び最大値が異なることがある。
【0041】
複数の正常時の動作データから作成された複数の正常時の差分データに基づいて、一周期内の各時点における差分値の最小値及び最大値が特定され、正常時データ133に記録される。機械2がプレス機械である場合、機械2が被加工材に接触する時点における差分値の最小値又は最大値は、ゼロから離れた値となり、他の時点における差分値の最小値又は最大値は、よりゼロに近い値となる。
【0042】
演算部11は、次に、差分データに含まれる各差分値を最小値及び最大値と比較するために変換した変換値を、計算する(S5)。S5では、演算部11は、各時点tにおける差分値の最小値をm(t)、最大値をM(t)として、下記の(1)式で表されるmid(t)と、下記の(2)式で表されるd(t)とを計算する。
mid(t)=(M(t)+m(t))/2 … (1)
d(t)=(M(t)-m(t))/2 … (2)
【0043】
演算部11は、各時点tにおける差分値をi(t)として、mid(t)及びd(t)を用いて、下記の(3)式で表される変換値i’(t)を計算する。
i’(t)=(i(t)-mid(t))/d(t) … (3)
【0044】
S5では、演算部11は、差分データに含まれる複数の差分値の夫々について、変換値i’(t)を計算する。なお、mid(t)及びd(t)はS5で計算されるのではなく、予め記憶部13に記憶されていてもよい。例えば、mid(t)及びd(t)は正常時データ133に記録されており、演算部11は、記録されているmid(t)及びd(t)を用いて変換値i’(t)を計算してもよい。
【0045】
演算部11は、次に、変換値i’(t)から、機械2の異常の度合いを示す異常度を計算する(S6)。S6では、演算部11は、予め定められた所定値をcとして、下記の(4)式で表される異常度abn(i(t))を、一周期の各時点について計算する。
abn(i(t))=max(0,|i’(t)|-c) … (4)
【0046】
差分値が各時点における最小値及び最大値の間にある場合は、異常度abn(i(t))はゼロとなる。異常度abn(i(t))がゼロである状態は、差分値が正常時に取り得る範囲内に含まれている。異常度abn(i(t))がゼロを超過する状態は、差分値が正常時に取り得る範囲に含まれておらず、異常が発生している可能性がある。このため、異常度とゼロの値との比較結果は、機械2が異常であるか否かを判定するための指標となり得る。
【0047】
所定値cに応じて、差分値が正常時に取り得る範囲として許容される差分値の範囲が定められる。例えば、所定値cは1である。所定値c=1の場合は、許容される差分値の範囲は、各時点における最小値から最大値までの範囲である。差分値が各時点における最小値未満又は最大値を超過しているときに、異常度abn(i(t))はゼロより大きい値となり、機械2に異常が発生している可能性がある。
【0048】
所定値cは1以外の値であってもよい。所定値cが1を超過する場合は、許容される差分値の範囲はより大きくなる。差分値が最小値を若干下回った又は最大値を若干超過した場合でも、異常度abn(i(t))はゼロとなる。所定値c=2の場合は、最小値及び最大値の平均と差分値との差の絶対値が最小値と最大値との差の絶対値を超過したときに、異常度abn(i(t))はゼロより大きい値となる。従って、差分値がこれまでになく大きく変動した場合に、初めて異常が検出される。例えば、所定値cが1未満である場合は、許容される差分値の範囲はより小さくなる。差分値の変動が小さい場合であっても、異常度abn(i(t))はゼロより大きい値となり、機械2が異常である可能性が示される。
【0049】
演算部11は、次に、異常度と一周期内の各時点とを関連付けることにより、一周期内の異常度の変化を表した異常度分布を作成する(S7)。
図6は、異常度分布の例を示すグラフである。
図6中の横軸は時間をミリ秒の単位で示し、縦軸は異常度を示す。異常度分布には、一周期内の各時点における異常度が含まれる。異常度分布は、一周期内の各時点と異常度の値との関係を示す。機械2が完全に正常であり、差分値に含まれる全ての差分値が正常時に取り得る範囲内に含まれている場合は、異常度分布に含まれる異常度は全てゼロとなる。
図6に示す例では、異常度分布には、ゼロを超過する異常度が含まれており、機械2が異常である可能性がある。S7では、例えば、演算部11は、
図6に示す如きグラフを作成する。
【0050】
演算部11は、次に、作成した異常度分布にゼロを超過する異常度が含まれるか否かを判定する(S8)。異常度分布にゼロを超過する異常度が含まれていない場合は(S8:NO)、演算部11は、機械2には異常が無いと判定する(S9)。S9では、演算部11は、異常が無いという判定結果を、表示部16に表示する。S9が終了した後、演算部11は、異常判定方法の処理を終了する。
【0051】
記憶部13は、既存の異常度分布に関する情報を記録した異常度分布DB(データベース)134を記憶している。
図7は、異常度分布DB134の内容例を示す概念図である。異常度分布DB134では、異常度分布に、機械2の異常の種類が関連付けられている。異常度分布DB134に情報が記録されている異常度分布は、過去に取得され、異常の種類が分析されたものである。複数の既存の異常度分布の夫々に、互いに異なる異常の種類が関連付けられている。
図7には、例として、機械2にシリンダ故障の異常が発生した場合に取得された異常度分布と、機械2にバルブ故障の異常が発生した場合に取得された異常度分布とが示されている。異常の種類が異なれば、異常度分布は異なる。
図7には、異常度分布を表すグラフの画像に異常の種類が関連付けられている状態を示しているが、実際には、グラフの画像以外の異常度分布に関する情報が記録されていてもよい。例えば、異常の種類が関連付けられた異常度分布の特徴を表す特徴量が記録されていてもよい。
【0052】
演算部11は、異常度分布DB134に情報が記録された複数の既存の異常度分布の中から、S7で作成した異常度分布と類似度の高い既存の異常度分布を特定する(S10)。S10では、演算部11は、画像検索の手法を利用して、異常度分布のグラフの画像に基づき、類似度の高い既存の異常度分布を特定する。例えば、異常度分布DB134には、既存の異常度分布のグラフの画像が記録されている。S10では、演算部11は、S7で作成した異常度分布のグラフの画像の分類を行い、既存の異常度分布のグラフの画像の中から、S7で作成した異常度分布のグラフの画像と分類が一致する既存の異常度分布のグラフの画像を検索する。グラフの画像の検索により、演算部11は、S7で作成した異常度分布と類似度の高い既存の異常度分布を特定する。又は、例えば、演算部11は、複数の既存の異常度分布のグラフの画像と、S7で作成した異常度分布のグラフの画像とのパターンマッチングを行う。演算部11は、最も類似度の高い既存の異常度分布のグラフの画像を抽出することにより、S7で作成した異常度分布と類似度の高い既存の異常度分布を特定する。
【0053】
S10では、演算部11は、異常度分布の特徴を表す特徴量を利用して、類似度の高い既存の異常度分布を特定してもよい。例えば、異常判定装置1は、異常度分布のグラフの画像を入力された場合に、異常度分布の特徴を表す特徴量を出力する学習モデルである特徴抽出モデルを利用する。特徴量は、例えば多次元のベクトルである。特徴抽出モデルは、例えば、ニューラルネットワークを用いて構成されている。特徴抽出モデルは、コンピュータプログラム131に従って演算部11が情報処理を実行することにより実現される。記憶部13は、特徴抽出モデルを実現するために必要なデータを記憶している。特徴抽出モデルは、ハードウェアを用いて構成されていてもよい。例えば、特徴抽出モデルは、プロセッサと、必要なプログラムおよびデータを記憶するメモリとを含んで構成されていてもよい。又は、特徴抽出モデルは、量子コンピュータを用いて実現されてもよい。
【0054】
特徴抽出モデルは、複数の既存の異常度分布を訓練データとして用いて、予め学習されている。訓練データには、機械2が異常である場合に得られた異常度分布が含まれる。学習時には、特徴抽出モデルへ異常度分布を表すグラフの画像が入力される。例えば、特徴抽出モデルの入力層に含まれる複数のノードへ、グラフの画像に含まれる各画素の値が入力される。特徴抽出モデルは、演算を行い、入力されたグラフの画像の特徴を表す特徴量を出力する。出力された特徴量は、異常度分布の特徴を表す。複数の異常度分布を表す複数のグラフの画像が特徴抽出モデルへ入力され、複数の特徴量が出力される。
【0055】
異常度分布に応じた特徴量から、二つの異常度分布の間の類似度が計算される。例えば、多次元のベクトルである特徴量に対応する多次元空間上の点を想定し、二つの異常度分布に応じた二つの点の間の距離を、類似度を示す数値として計算し、距離が小さいほど類似度が高いとする。複数の異常度分布の中で、類似している異常度分布の間の類似度が高くなり、類似していない異常度分布の間の類似度が低くなるように、特徴抽出モデルの入力層、中間層及び出力層に含まれる各ノードの演算のパラメータが調整される。訓練データに含まれる複数の異常度分布を用いて、処理が繰り返され、特徴抽出モデルのパラメータが調整される。このようにして、特徴抽出モデルの学習が行われる。特徴抽出モデルの学習は、異常判定装置1で行われてもよく、異常判定装置1以外の装置で行われてもよい。なお、特徴抽出モデルは、異常度分布を表すグラフの画像以外の画像を訓練データとして、学習されてもよい。記憶部13は、学習された特徴抽出モデルのパラメータを記憶する。特徴抽出モデルは、ニューラルネットワークとして、畳みこみニューラルネットワーク(CNN:Convolutional Neural Network)、又は再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)を用いてもよい。特徴抽出モデルは、ニューラルネットワーク以外の学習モデルであってもよい。
【0056】
異常度分布DB134には、異常の種類に関連付けられて、既存の異常度分布の特徴量が記録されている。演算部11は、S7で作成した異常度分布を表すグラフの画像を特徴抽出モデルへ入力する。特徴抽出モデルは、入力されたグラフの画像を用いて演算を行い、異常度分布の特徴を表す特徴量を出力する。このようにして、異常度分布の特徴量が計算される。演算部11は、S7で作成した異常度分布の特徴量と、異常度分布DB134に記録された既存の異常度分布の特徴量とを用いて、類似度を示す数値を計算する。例えば、演算部11は、特徴量に対応する多次元空間上の点と、既存の異常度分布の特徴量に対応する多次元空間上の点との間の距離を、類似度を示す数値として計算し、距離が小さいほど類似度が高いとする。演算部11は、S7で作成した異常度分布と夫々の既存の異常度分布との類似度を示す数値を計算し、異常度分布DB134に情報が記録された複数の既存の異常度分布の中から、類似度が最も高い異常度分布を検索する。このようにして、演算部11は、S7で作成した異常度分布と類似度の高い既存の異常度分布を特定する。異常判定装置1は、その他の画像検索の手法を利用して、類似する異常度分布を検索してもよい。
【0057】
画像検索の手法を利用することにより、異常判定装置1は、比較的に短時間で類似する異常度分布を検索することができる。画像検索の手法を用いない場合は、二つの異常度分布の各時点における異常度の差分を計算し、差分の二乗和を計算し、この二乗和を二つの異常度分布の間の距離とすることができる。距離が小さいほど、二つの異常度分布の類似度は高い。しかしながら、二つの異常度分布の一方において異常度分布のグラフが時間的に多少ずれた場合は、異常度の差分が大きくなり、距離が大きくなる。動的計画法を利用して、グラフの時間的な多少のずれを許容した距離を計算することも可能であるものの、その場合は計算コストが多大となる。このため、多くの既存の異常度分布の中から、作成した異常度分布と類似する異常度分布を検索するために、処理時間が長大となる。これに対し、画像検索の手法では、グラフの時間的なずれを許容してグラフの形状が近い画像を検索することができるので、グラフの時間的なずれがありながらも類似しているグラフの画像を容易に検索することができる。例えば、二つの異常度分布の間でグラフの時間的な多少のずれがあったとしても類似度があまり低くならないように学習した学習モデルを利用することにより、グラフの時間的なずれがありながらも類似しているグラフの画像を容易に検索することができる。このため、画像検索の手法を利用することにより、処理時間の長大化を抑制することができる。従って、異常判定装置1は、画像検索の手法を利用することにより、作成した異常度分布と類似する異常度分布を比較的に短時間で特定することができる。
【0058】
演算部11は、次に、機械2の異常の種類を判定する(S11)。S11では、演算部11は、S10で特定した既存の異常度分布に関連付けられている異常の種類を異常度分布DB134から読み出す。演算部11は、特定した既存の異常度分布に関連付けられている異常の種類を、機械2の異常の種類であると判定する。演算部11は、異常の種類を示す判定結果を、表示部16に表示する。S11が終了した後、演算部11は、異常判定方法の処理を終了する。異常判定装置1は、S2で作成した複数の動作データの夫々について、S3~S11の処理を実行する。なお、異常判定装置1は、単一の動作データのみについてS3~S11の処理を実行してもよい。
【0059】
以上詳述した如く、本実施形態においては、異常判定装置1は、機械2から得られた時系列データの一周期部分である動作データと、動作データを入力したオートエンコーダが出力したデータとの差分である差分データを作成する。異常判定装置1は、差分データに含まれる各差分値と正常時の各差分値の最小値及び最大値との比較に基づいて、異常度を計算し、異常度に応じて機械2の異常を判定する。機械2の種類によっては、機械2が正常であっても、時系列データが大きく変動し、差分値の絶対値が大きくなることがある。機械2は周期的な動作を行うので、一周期内で差分値の絶対値が大きくなる時点は予め定まっている。差分値の絶対値がある程度大きいとしても、正常時の最小値及び最大値と比較して大きくないようであれば、異常度が大きくならないようにすることができる。このため、正常時に時系列データが大きく変動する機械2について、正常な状態を異常であると誤判定する可能性が低くなる。
【0060】
また、差分値の絶対値が正常時の最小値及び最大値と比較して大きいようであれば、異常度を大きくすることができる。一周期内で、正常時には差分値の絶対値が大きくならない時点において、差分値の絶対値が大きくなった場合は、差分値の絶対値は正常時の最小値及び最大値と比較して大きくなり、異常度を大きくすることができる。このため、正常な状態では時系列データがあまり変動しない時点において時系列データが大きく変動する場合は、機械2が異常であると判定することができる。従って、異常判定装置1は、正確に機械2の異常を判定することができる。
【0061】
また、本実施形態では、異常判定装置1は、異常度分布を作成し、作成した異常度分布との類似度が高い既存の異常度分布を特定し、特定した既存の異常度分布に関連付けられた異常の種類を、機械2の異常の種類であると判定する。過去に取得された異常度分布に関連して機械2の異常の種類を分析した結果を利用して、容易に機械2の異常の種類を判定することができる。また、異常判定装置1は、既存の異常度分布を表すグラフの画像の中から、作成した異常度分布を表すグラフの画像との類似度が高いグラフの画像を検索することにより、作成した異常度分布との類似度が高い既存の異常度分布を特定する。画像検索の手法を用いることにより、作成した異常度分布と類似する異常度分布を比較的に短時間で特定することができるので、容易に機械2の異常の種類を判定することができる。
【0062】
なお、異常判定装置1は、画像検索手法を利用せずに、類似する異常度分布を検索する形態であってもよい。例えば、異常判定装置1は、異常度分布を異常度の時系列で表し、異常度の時系列を入力した場合に異常度分布の特徴量を出力する学習モデルを利用して、特徴量を計算し、特徴量から類似度を計算し、類似する異常度分布を検索する形態であってもよい。
【0063】
本実施形態では、単一のセンサ31が設けられた形態を示したが、異常判定システムは、一の機械2に対して複数のセンサ31が設けられた形態であってもよい。異常判定装置1は、複数のセンサ31を用いて得られた複数の時系列データの夫々について、異常判定方法の処理を実行する形態であってもよい。本実施形態では、センサ31が単一種類の物理量を測定する形態を示したが、センサ31は複数種類の物理量を測定する形態であってもよい。異常判定装置1は、複数種類の物理量に応じた複数種類の時系列データの夫々について、異常判定方法の処理を実行する形態であってもよい。
【0064】
本発明は上述した実施の形態の内容に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。即ち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態も本発明の技術的範囲に含まれる。
【符号の説明】
【0065】
1 異常判定装置
10 記録媒体
11 演算部
13 記憶部
131 コンピュータプログラム
132 オートエンコーダ
2 機械
31 センサ
32 A/D変換器