(58)【調査した分野】(Int.Cl.,DB名)
対象装置の動作の種類ごとに定められた複数のコンテキスト情報のうち現在の動作に対応するコンテキスト情報と、前記対象装置の動作に応じて変化する周波数成分を含む物理量の検知情報と、を前記対象装置から受信する受信部と、
前記受信部により受信された前記検知情報から、該検知情報の周波数を、予め設定された基準周波数に変換して変換情報を得る第1前処理部と、
前記第1前処理部により変換された前記変換情報と、1以上の前記コンテキスト情報それぞれに対して定められる1以上のモデルのうち前記受信部により受信された前記コンテキスト情報に対応するモデルと、を用いて、前記対象装置の動作が正常であるか否かを判定する判定部と、
を備え、
前記基準周波数は、予め複数設定されており、
前記第1前処理部は、複数の前記基準周波数から、前記検知情報の周波数特性と前記変換情報の周波数特性との差が小さくなるような前記基準周波数を選択し、前記検知情報から、該検知情報の周波数を、選択した前記基準周波数に変換して前記変換情報を得る診断装置。
前記判定部は、前記受信部により受信された前記検知情報のうち、前記受信部により受信された前記コンテキスト情報で特定される期間の検知情報から前記第1前処理部により変換された前記変換情報と、前記受信部により受信された前記コンテキスト情報に対応するモデルと、を用いて、前記期間の前記対象装置の動作が正常であるか否かを判定する請求項1に記載の診断装置。
前記第1前処理部は、複数の前記基準周波数から、前記受信部により受信された前記検知情報の周波数が前記基準周波数よりも小さい場合は該基準周波数に対する該周波数の割合を求め、前記検知情報の周波数が前記基準周波数よりも大きい場合は該周波数に対する該基準周波数の割合を求め、求めた前記割合が最も大きい基準周波数を選択する請求項1〜3のいずれか一項に記載の診断装置。
前記受信部によりモデルが定められていないコンテキスト情報が受信された場合に、前記コンテキスト情報に対応する前記検知情報を用いて、モデルが定められていないコンテキスト情報に対するモデルを生成する生成部を、さらに備えた請求項1〜4のいずれか一項に記載の診断装置。
前記判定部は、前記コンテキスト情報で特定される期間のうち、判定に用いる期間を、前記受信部により受信された前記検知情報に基づいて決定し、決定した期間に対応する前記検知情報と、前記モデルとを用いて、前記対象装置の動作が正常であるか否かを判定する請求項1〜9のいずれか一項に記載の診断装置。
前記判定部は、前記受信部により受信された前記検知情報の前記モデルに対する尤度を求め、前記尤度、および、該尤度の変動を示す値のうち少なくとも一方と、閾値と、を比較することにより、前記対象装置の動作が正常であるか否かを判定する請求項1〜10のいずれか一項に記載の診断装置。
対象装置の動作の種類ごとに定められた複数のコンテキスト情報のうち現在の動作に対応するコンテキスト情報と、前記対象装置の動作に応じて変化する周波数成分を含む物理量の検知情報と、を前記対象装置から受信する受信ステップと、
受信した前記検知情報から、該検知情報の周波数を、予め設定された基準周波数に変換して変換情報を得る前処理ステップと、
変換した前記変換情報と、1以上の前記コンテキスト情報それぞれに対して定められる1以上のモデルのうち受信した前記コンテキスト情報に対応するモデルと、を用いて、前記対象装置の動作が正常であるか否かを判定する判定ステップと、
を有し、
前記基準周波数は、予め複数設定されており、
前記前処理ステップでは、複数の前記基準周波数から、前記検知情報の周波数特性と前記変換情報の周波数特性との差が小さくなるような前記基準周波数を選択し、前記検知情報から、該検知情報の周波数を、選択した前記基準周波数に変換して前記変換情報を得る診断方法。
【発明を実施するための形態】
【0011】
以下に、図面を参照しながら、本発明に係る診断装置、診断システム、診断方法およびプログラムの実施の形態を詳細に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【0012】
[第1の実施形態]
(診断システムの構成)
図1は、第1の実施形態に係る診断システムの構成例を示す図である。
図1を参照しながら、本実施形態に係る診断システムの構成について説明する。
【0013】
図1に示すように、診断システムは、加工機200(対象装置の一例)と、診断装置100と、を含む。加工機200は、診断装置100による診断の対象となる対象装置の一例である。
【0014】
加工機200と診断装置100とは、どのような接続形態で接続されてもよい。例えば、加工機200と診断装置100とは、専用線、有線LAN(Local Area Network)等の有線ネットワーク、または、無線ネットワーク等により接続される。
【0015】
加工機200は、数値制御部201と、通信制御部202と、駆動制御部203と、駆動部204と、検知部211と、を備えている。なお、検知部211は、加工機200に予め備えられている場合、または、完成機械である加工機200に対して後から取り付けられる場合等がある。
【0016】
加工機200は、数値制御部201の制御に従い加工対象を加工する機械である。加工機200は、数値制御部201の制御により動作する駆動部204を含む。駆動部204は、例えば、モータ等であり、加工に用いられ、数値制御の対象となるものであればどのようなものであってもよい。なお、駆動部204は、2以上備えられていてもよい。
【0017】
数値制御部201は、駆動部204による加工を数値制御(NC:Numerical Control)により実行する。例えば、数値制御部201は、駆動部204の動作を制御するための数値制御データを生成して出力する。また、数値制御部201は、コンテキスト情報を通信制御部202に出力する。ここで、コンテキスト情報とは、加工機200の動作の種類ごとに複数定められる情報である。コンテキスト情報は、例えば、駆動部204を識別する情報、駆動部204の回転数、駆動部204の回転速度、駆動部204に係る負荷、駆動部204の大きさ、および、駆動部204の使用開始からの累積使用時間等を含む。
【0018】
数値制御部201は、例えば、現在の動作を示すコンテキスト情報を、通信制御部202を介して診断装置100に送信する。数値制御部201は、加工対象を加工する際、加工の工程に応じて、駆動する駆動部204の種類、駆動部204の駆動状態(回転数、回転速度等)を変更する。数値制御部201は、動作の種類を変更するごとに、変更した動作の種類に対応するコンテキスト情報を、通信制御部202を介して診断装置100に逐次送信する。
【0019】
通信制御部202は、診断装置100等の外部装置との間の通信を制御する。例えば、通信制御部202は、現在の動作に対応するコンテキスト情報を診断装置100に送信する。
【0020】
駆動制御部203は、数値制御部201により求められた数値制御データに基づいて、駆動部204を駆動制御する。
【0021】
検知部211は、加工機200の動作に応じて変化する物理量を検知し、検知情報(センサデータ)を出力する。なお、検知部211の種類、および、検知する物理量はどのようなものであってもよい。例えば、検知部211を、マイク、加速度センサ、または、AE(Acoustic Emission)センサとし、それぞれ、音響データ、加速度データ、振動データまたは、AE波を示すデータを検知情報としてもよい。また、検知部211の個数は任意であってよい。また、同一の物理量を検知する複数の検知部211を備えてもよいし、相互に異なる物理量を検知する複数の検知部211を備えてもよい。
【0022】
例えば、加工に用いる刃の折れ、および、刃のチッピング等が発生すると、加工時の音が変化する。このため、検知部211(マイク)で音響データを検知し、正常音を示すモデル等と比較することにより、加工機200の動作の異常を検知可能となる。
【0023】
診断装置100は、通信制御部101と、判定部102と、を備えている。
【0024】
通信制御部101は、加工機200等の外部装置との間の通信を制御する。例えば、通信制御部101は、コンテキスト情報および検知情報を加工機200から受信する。判定部102は、コンテキスト情報および検知情報を参照して、加工機200の動作が正常であるか否かを判定する。各部の機能の詳細は後述する。
【0025】
(加工機のハードウェア構成)
図2は、第1の実施形態の加工機のハードウェア構成の一例を示す図である。
図2を参照しながら、本実施形態の加工機200のハードウェア構成について説明する。
【0026】
図2に示すように、加工機200は、CPU(Central Processing Unit)51と、ROM(Read Only Memory)52と、RAM(Random Access Memory)53と、通信I/F(インターフェース)54と、駆動制御回路55と、モータ56と、がバス58で接続された構成となっている。
【0027】
CPU51は、加工機200の全体を制御する。CPU51は、例えば、RAM53をワークエリア(作業領域)としてROM52等に格納されたプログラムを実行することで、加工機200全体の動作を制御し、加工機能を実現する。
【0028】
通信I/F54は、診断装置100等の外部装置と通信するためのインターフェースである。駆動制御回路55は、モータ56の駆動を制御する回路である。モータ56は、ドリル、カッタ、および、テーブル等の加工に用いる工具を駆動する。モータ56は、例えば、
図1に示す駆動部204に相当する。センサ57は、加工機200の動作に応じて変化する物理量を検知し、検知情報を診断装置100へ出力する。センサ57は、例えば、
図1に示す検知部211に相当する。
【0029】
なお、
図1に示す数値制御部201および通信制御部202は、
図2に示すCPU51にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【0030】
(診断装置のハードウェア構成)
図3は、第1の実施形態に係る診断装置のハードウェア構成の一例を示す図である。
図3を参照しながら、本実施形態に係る診断装置100のハードウェア構成について説明する。
【0031】
図3に示すように、診断装置100は、CPU61と、ROM62と、RAM63と、通信I/F64と、入出力I/F65と、入力装置66と、ディスプレイ67と、補助記憶装置68と、がバス69で接続された構成となっている。
【0032】
CPU61は、診断装置100の全体を制御する。CPU61は、例えば、RAM63をワークエリア(作業領域)としてROM62等に格納されたプログラムを実行することで、診断装置100全体の動作を制御し、診断機能を実現する。
【0033】
通信I/F64は、加工機200等の外部装置と通信するためのインターフェースである。
【0034】
入出力I/F65は、各種装置(例えば、入力装置66およびディスプレイ67)とバス69とを接続するためのインターフェースである。
【0035】
入力装置66は、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行うためのマウスまたはキーボード等の入力装置である。
【0036】
ディスプレイ67は、カーソル、メニュー、ウィンドウ、文字または画像等の各種情報を表示するLCD(Liquid Crystal Display)、プラズマディスプレイ、または有機EL(Electro−Luminescence)ディスプレイ等の表示装置である。
【0037】
補助記憶装置68は、診断装置100の設定情報、加工機200から受信された検知情報、OS(Operating System)、アプリケーションプログラム、および各種データを記憶するHDD(Hard Disk Drive)、SSD(Solid State Drive)、またはEEPROM(Electrically Erasable Programmable Read−Only Memory)等の不揮発性の記憶装置である。なお、補助記憶装置68は、診断装置100が備えるものとしているが、これに限定されるものではなく、例えば、診断装置100の外部に設置された記憶装置であってもよく、または、診断装置100とデータ通信可能なサーバ装置が備えた記憶装置であってもよい。
【0038】
(診断装置の機能ブロックの構成)
図4は、第1の実施形態に係る診断装置の機能ブロックの構成の一例を示す図である。
図4を参照しながら、本実施形態に係る診断装置100の機能ブロックの構成について説明する。
【0039】
図4に示すように、診断装置100は、上述の通信制御部101および判定部102に加え、受付部103と、特徴抽出部104と、生成部105と、前処理部106(第1前処理部)と、記憶部111と、を備えている。
【0040】
記憶部111は、診断装置100による診断機能で必要な各種情報を記憶する。記憶部111は、例えば、
図3のRAM63および補助記憶装置68等により実現できる。例えば、記憶部111は、異常の判定に用いる1以上のモデルを記憶する。
【0041】
モデルは、例えば、加工機200が正常に動作しているときに検知部211により検知された検知情報を用いて、学習により生成される。学習方法、および、学習するモデルの形式は、どのような方法であってもよい。例えば、GMM(ガウス混合モデル)、および、HMM(隠れマルコフモデル)等のモデルおよび対応するモデル学習方法を適用できる。
【0042】
本実施形態では、モデルは、コンテキスト情報ごとに生成される。記憶部111は、例えば、コンテキスト情報と、当該コンテキスト情報に対応するモデルとを対応付けて記憶する。さらに、後述するが、記憶部111が記憶するあるコンテキスト情報に対応するモデルとして、上述の検知部211が検知する検知情報のうち特定の回転周波数である基準回転周波数の検知情報から生成されたモデルが記憶されている。
【0043】
通信制御部101は、受信部101aと、送信部101bと、を備えている。受信部101aは、加工機200等の外部装置から送信された各種情報を受信する。例えば、受信部101aは、加工機200の現在の動作に対応するコンテキスト情報と、検知部211により送信された検知情報と、を受信する。送信部101bは、外部装置に対して各種情報を送信する。
【0044】
前処理部106は、受信部101aにより受信された検知情報を特徴抽出部104へ送信する前に、予め決められた基準に従って変換処理(前処理)をする。変換するための基準は複数あってもよく、例えば、検知情報が加工機200のドリルで切削中の振動データだとすると、前処理部106は、コンテキスト情報から得られた加工中のドリルの回転周波数を予め決められた1以上の基準回転周波数のうち、元の振動データとの変化が少ない基準回転周波数となるようなデータ(以下、「変換情報」と称する場合がある)へ変換する。この際、モデル作成のための振動データを予め決められた基準回転周波数の学習データとして用意して、それを基にモデルを作成しておき、前処理部106は、判定の対象となる振動データの回転周波数を、用意した学習データの基準回転周波数に合わせるように変換する。なお、前処理部106は、コンテキスト情報から加工中のドリル等の回転周波数を得るものとしたが、これに限定されるものではなく、検知情報を解析して回転周波数を得るものとしてもよい。
【0045】
特徴抽出部104は、モデルの生成で用いる特徴情報を検知情報から抽出し、判定部102による判定で用いる特徴情報を、前処理部106から受け取った変換情報から抽出する。特徴情報は、検知情報の特徴を示す情報であればどのような情報であってもよい。例えば、検知情報がマイクにより集音された音響データである場合、特徴抽出部104は、エネルギー、周波数スペクトル、および、MFCC(メル周波数ケプストラム係数)等を特徴情報として抽出してもよい。
【0046】
生成部105は、正常動作時の検知情報から抽出された特徴情報を用いた学習により、正常動作を判定するためのモデルを作成する。モデルを外部装置で生成する場合は、生成部105は備えなくてもよい。生成部105は、モデルが定められていないコンテキスト情報と、当該コンテキスト情報に対応する検知情報が入力された場合に、この検知情報から抽出された特徴情報を用いて、当該コンテキスト情報に対応するモデルを生成してもよい。
【0047】
判定部102は、前処理部106により検知情報から変換された変換情報と、受信部101aにより受信されたコンテキスト情報、および検知情報を変換した基準回転周波数に対応するモデルと、を用いて、加工機200の動作が正常であるか否かを判定する。例えば、判定部102は、特徴抽出部104に対して変換情報からの特徴情報の抽出を依頼する。判定部102は、変換情報から抽出された特徴情報が正常であることの尤もらしさを示す尤度を、対応するモデルを用いて算出する。判定部102は、尤度と、予め定められた閾値とを比較し、例えば尤度が閾値以上である場合に、加工機200の動作は正常であると判定する。また、判定部102は、尤度が閾値未満である場合に、加工機200の動作は異常であると判定する。
【0048】
なお、加工機200の動作が正常か否かの判定方法はこれに限られるものではなく、変換情報とモデルとを用いて、加工機200の動作が正常か否かを判定できる方法であればどのような方法であってもよい。例えば、尤度の値を直接閾値と比較する代わりに、尤度の変動を示す値と閾値とを比較してもよい。
【0049】
受付部103は、受信部101aが加工機200から受信するコンテキスト情報とは異なるコンテキスト情報の入力を受け付ける。例えば、累積使用時間は、加工機200から取得するように構成できる。この場合、加工機200は、例えば、工具を交換したときに累積使用時間をリセット(初期化)する機能を備えていてもよい。
【0050】
なお、累積使用時間を加工機200から取得せず、受付部103が受け付けるように構成することもできる。受付部103は、例えば、キーボードおよびタッチパネル等の操作部から入力されたコンテキスト情報を受け付ける。受付部103で受け付けるコンテキスト情報は、累積使用時間に限らず、例えば、使用する工具の仕様の情報(刃の直径、刃数、材質、工具にコーティングが施されているか否か等)や、加工する材料の情報(材質等)の情報でもよい。受付部103が、サーバ装置およびPC(Personal Computer)等の外部装置からコンテキスト情報を受信するように構成してもよい。加工機200以外からコンテキスト情報を受け付ける必要がない場合は、受付部103は備えなくてもよい。
【0051】
なお、
図4の各部(通信制御部101、判定部102、受付部103、特徴抽出部104、生成部105、前処理部106)は、
図3のCPU61にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【0052】
また、
図4に示した診断装置100の各機能部(通信制御部101、受信部101a、送信部101b、判定部102、受付部103、特徴抽出部104、生成部105、前処理部106、および記憶部111)は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、
図4で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、
図4の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0053】
(診断装置による診断処理)
図5は、第1の実施形態における診断処理の一例を示すフローチャートである。
図6−1は、検知情報の生データの一例を示すグラフである。
図6−2は、検知情報を基準回転周波数に変換したデータの一例を示すグラフである。
図7−1および
図7−2は、検知情報の周波数スペクトルの一例を示すグラフである。
図7−3は、検知情報を基準回転周波数に変換したデータの周波数スペクトルの一例を示すグラフである。
図5、
図6−1、
図6−2、および
図7−1〜
図7−3を参照しながら、本実施形態に係る診断装置100による診断処理について説明する。
【0054】
上述のように、加工機200の数値制御部201は、現在の動作を示すコンテキスト情報を逐次、診断装置100に送信する。受信部101aは、このようにして加工機200から送信されたコンテキスト情報を受信する(ステップS101)。また加工機200の検知部211は、加工時の検知情報を逐次出力する。受信部101aは、このようにして加工機200から送信された検知情報(センサデータ)を受信する(ステップS102)。
【0055】
前処理部106は、受信部101aにより受信された検知情報を特徴抽出部104へ送信する前に、予め決められた基準に従って変換処理(前処理)をする。すなわち、前処理部106は、検知情報を、コンテキスト情報から得られた駆動部204の回転周波数を予め決められた1以上の基準回転周波数のうち、元の検知情報との変化が少ない基準回転周波数となるようなデータ(変換情報)へ変換する(ステップS103)。
【0056】
ここで、
図6−1に示すグラフは、受信部101aにより受信された検知情報の生データを示している。このうち、
図6−1(a)は、回転周波数が25[Hz]の検知情報を示し、
図6−1(b)は、回転周波数が2.8[Hz]の検知情報を示している。そして、
図6−2に示すグラフは、前処理部106によって、
図6−1に示す検知情報を、基準回転周波数の一例である3[Hz]に変換した場合の変換情報を示している。このうち、
図6−2(a)は、回転周波数が25[Hz]の検知情報を、基準回転周波数である3[Hz]に変換した変換情報を示し、
図6−2(b)は、回転周波数が2.8[Hz]の検知情報を、基準回転周波数である3[Hz]に変換した変換情報を示す。すなわち、
図6−2(a)に示す変換情報は、元の検知情報の回転周波数を下げるアップサンプリングした情報であり、
図6−2(b)に示す変換情報は、元の検知情報の回転周波数を上げるダウンサンプリングした情報であり、それぞれサンプリングレートを変えずに変換された情報である。また、
図6−2に示す変換情報は、いずれも3[Hz]に変換された情報であるので、振動の周期がほぼ一致している。
【0057】
また、
図7−1〜
図7−3は、それぞれ、25[Hz]の生データである検知情報(
図6−1(a))、2.8[Hz]の生データである検知情報(
図6−1(b))、および、25[Hz]の検知情報から3[Hz]に変換した変換情報(
図6−2(a))のパワースペクトル(周波数スペクトル)を示す。
図7−3のパワースペクトルの縦軸のスケールが大きいのは、振幅に関して正規化を行っているためである。また、25[Hz]の変換前のパワースペクトル(
図7−1)より変換後のパワースペクトル(
図7−3)の方が周期的な振幅を示す、くし状のスペクトルが現れており、傾向として
図7−2の検知情報のパワースペクトルに近づいている。したがって、25[Hz]の検知情報に対して、3[Hz]の基準回転周波数に対応したモデルを用いて、異常の判定を行うよりも、上述のように、25[Hz]の検知情報を基準回転周波数の3[Hz]となるように変換した変換情報に対して、3[Hz]の基準回転周波数に対応したモデルを用いて、異常の判定を行う方が精度よく判定を行うことができる。
【0058】
また、上述の例では、25[Hz]の検知情報を変換して3[Hz]の変換情報としているため約8倍のアップサンプリングが行われている。しかし、元の25[Hz]のセンサデータ(検知情報)には、駆動部204によって駆動される回転体等によらない振動成分も含まれているため、変換によって不自然な信号が得られる場合がある。そこで元のセンサデータ(検知情報)を大きく変化させるようなアップサンプリングおよびダウンサンプリングを行わないようにするために、複数の基準回転周波数を設定してもよく、前処理部106は、複数の基準回転周波数のうち、最も元の検知情報からの変化が小さい基準回転周波数へ変換を行うようにしてもよい。
【0059】
例えば、複数の基準回転周波数として、予め5[Hz]、10[Hz]、20[Hz]および40[Hz]の基準回転周波数が設定されているものとする。そして、前処理部106は、以下の式(1)で求まる指標値f(x,y)(回転周波数の基準回転周波数に対する割合、または、基準回転周波数の回転周波数に対する割合)に基づいて、最適な基準回転周波数を選択する。
【0060】
f(x,y)=x/y (x<yの場合)
f(x,y)=y/x (x≧yの場合) ・・・(1)
【0061】
この式(1)において、xは、受信部101aにより受信された検知情報(センサデータ)の回転周波数であり、yは、基準回転周波数である。ここで、検知情報の回転周波数を25[Hz]とした場合、上述の4つの基準回転周波数に対応する指標値f(x,y)はそれぞれ、以下のように求まる。
【0062】
f(25,5)=5/25=0.2
f(25,10)=10/25=0.4
f(25,20)=20/25=0.8
f(25,40)=25/40=0.625
【0063】
このように算出された各基準回転周波数に対応する指標値のうち、最大となる指標値に対応する基準回転周波数を、変換する回転周波数として選択する。すなわち、このように選択された基準回転周波数によって変換され変換情報が、最も元の検知情報からの変化が小さいものと判断する。ここでは、指標値0.8が最大なので、前処理部106は、基準回転周波数20[Hz]を選択し、検知情報の回転周波数をこの基準回転周波数となるように変換する。
【0064】
なお、上述のように、式(1)に従う指標値に基づいて基準回転周波数を選択する方法以外に、例えば、単純に、検知情報の回転周波数に最も近い基準回転周波数を選択するものとしてもよい。
【0065】
特徴抽出部104は、前処理部106により変換された変換情報から特徴情報を抽出する(ステップS104)。判定部102は、抽出された特徴情報と、受信されたコンテキスト情報、および検知情報を変換した変換情報の基準回転周波数に対応するモデルと、を用いて、加工機200が正常に動作しているか否かを判定する(ステップS105)。判定部102は、判定結果を出力する(ステップS106)。判定結果の出力方法はどのような方法であってもよい。判定部102は、例えば、診断装置100のディスプレイ67に判定結果を表示してもよい。あるいは、判定部102が、サーバ装置およびPC等の外部装置に判定結果を出力してもよい。
【0066】
なお、上述の回転周波数を変換する処理の対象となる検知情報の発生元は、ドリル、砥石、エンドミル、もしくはフライス等の工具でもよく、または、部材を加工する工具ではなく軸受け等の回転体であってもよい。
【0067】
(診断装置によるモデル生成処理)
図8は、第1の実施形態におけるモデル生成処理の一例を示すフローチャートである。
図8を参照しながら、本実施形態に係る診断装置100によるモデル生成処理について説明する。なお、モデル生成処理は、例えば、診断処理の前に事前に実行される。あるいは、モデルが定められていないコンテキスト情報が入力された場合にモデル生成処理を実行するように構成してもよい。また、上述のようにモデルを外部で生成する場合は、モデル生成処理は実行されなくてもよい。
【0068】
受信部101aは、加工機200から送信されたコンテキスト情報を受信する(ステップS201)。受信部101aは、加工機200から送信された検知情報(センサデータ)を受信する(ステップS202)。
【0069】
このように受信されたコンテキスト情報および検知情報が、モデルの生成に利用される。モデルは、コンテキスト情報ごと、かつ、基準回転周波数ごとに生成されるため、検知情報は、対応するコンテキスト情報および基準回転周波数に関連付けられる必要がある。すなわち、基準回転周波数に対応したモデルを生成するためには、受信部101aは、回転周波数が基準回転周波数である検知情報を受信する必要がある。そのため、例えば、受信部101aは、受信した検知情報を、同じタイミングで受信したコンテキスト情報と、基準回転周波数とに対応づけて記憶部111等に記憶させる。各情報を記憶部111等に一旦記憶し、正常時の情報であることを確認し、正常時の情報のみを用いてモデルを生成してもよい。すなわち、正常であるとラベルづけされた検知情報を用いてモデルを生成してもよい。
【0070】
正常であるか否かの確認(ラベルづけ)は、情報を記憶部111等に記憶した後の任意のタイミングで実行してもよいし、加工機200を動作させながらリアルタイムに実行してもよい。ラベルづけを実行せず、情報が正常であると仮定してモデルを生成してもよい。正常であると仮定した情報が実際は異常であった場合は、生成されたモデルにより正しく判定処理が実行されなくなる。異常と判定される頻度等によりこのような状況であるかを判断でき、誤って生成されたモデルを削除する等の対応を取ることができる。また、異常であった情報から生成されたモデルを、異常であることを判定するモデルとして利用してもよい。
【0071】
特徴抽出部104は、収集された検知情報から特徴情報を抽出する(ステップS203)。生成部105は、同じコンテキスト情報に対応づけられた検知情報から抽出された特徴情報を用いて、このコンテキスト情報についてのモデルを生成する(ステップS204)。この場合、生成部105は、生成したモデルに対して、ラベルデータを付与してもよい。例えば、ラベルデータとして、新品の工具からの検知情報によって生成されたモデルには「0」を付与し、摩耗が進んだ工具からの検知情報によって生成されたモデルには「1」を付与するものとしてもよい。
【0072】
生成部105は、生成したモデルを、例えば、コンテキスト情報および基準回転周波数に対応付けて、記憶部111に記憶する(ステップS205)。
【0073】
このように、基準回転周波数に調整された生データである検知情報を用いてモデルを生成しているので、誤差の混入を抑制したモデルを生成することができる。ただし、検知情報の回転周波数を基準回転周波数に調整して受信することが困難な環境である場合、受信した検知情報の回転周波数を、前処理部106により基準回転周波数に変換して、モデルを生成するものとしてもよい。これにより、モデルに誤差がある程度含まれるものの、上述のように、特定の基準回転周波数に変換された変換情報に対して、異なる回転周波数の検知情報で生成したモデルを用いて異常の判定を行うよりも、精度よく判定を行うことができる。
【0074】
(モデル生成処理および診断処理の具体例)
図9は、第1の実施の形態におけるモデル生成処理および診断処理の具体例を説明する図である。
図10は、一部のコンテキスト情報についてモデル生成処理および診断処理を行う具体例を説明する図である。
図11は、共通のモデルを他の加工工程で使用する例を説明する図である。
図12は、累積使用時間をコンテキスト情報として利用する場合の例を説明する図である。
図13は、モデルが生成されていないコンテキスト情報が入力された場合にモデルを生成する動作を説明する図である。
図9〜
図13を参照しながら、本実施形態に係る診断装置100によるモデル生成処理および診断処理の具体例について説明する。
【0075】
図9は、例えば、ある部品を加工する工程の一部についてのモデル生成処理、および、診断処理を示す。モデル生成処理では、コンテキスト情報701とともに受信された複数の検知情報(
図9では、検知情報711a〜711c)が利用される。なお、検知情報の個数は3に限られるものではなく、任意の個数とすることができる。
【0076】
コンテキスト情報701は、加工工程が、4つのモータ(モータA、モータB、モータC、モータD)を駆動する動作を含むことを示している。特徴抽出部104は、受信された検知情報から特徴情報を抽出する。生成部105は、各モータに対応するコンテキスト情報ごと、かつ、設定された基準回転周波数ごとに、対応する検知情報から抽出された特徴情報を用いてモデルを生成する。生成されたモデルは、記憶部111等に記憶される。
図9では、モータBが駆動される場合のコンテキスト情報に対して生成された、各基準回転周波数ごとのモデル(「モータB」)が記憶部111に記憶された例が示されている。記憶されたモデルは、その後の診断処理で参照される。
【0077】
診断処理では、モデル生成処理と同様に、コンテキスト情報701とともに、検知情報721が受信される。コンテキスト情報が「モータBが駆動されていること」を示す場合、前処理部106は、同じくコンテキスト情報が示す検知情報721の回転周波数を、1以上の基準回転周波数から上述の方法で選択した基準回転周波数に変換して変換情報を生成する。そして、判定部102は、例えば、このコンテキスト情報が受信された期間に受信された検知情報から変換された変換情報と、記憶部111に記憶されている、変換情報の基準回転周波数に対応するモデル「モータB」とを用いて、加工機200の動作が正常であるか否かを判定する。
【0078】
他のコンテキスト情報が受信される場合も同様に、対応する検知情報から変換された変換情報と、その変換情報の基準回転周波数に対応するモデルとを用いて、判定部102による判定が実行される。
【0079】
なお、すべてのコンテキスト情報に対して判定を実行する必要はない。例えば、
図10は、一部のコンテキスト情報に対して判定を実行する例を示す図である。
【0080】
図10の例では、コンテキスト情報が「モータBが駆動されていること」を示す場合のみモデルが生成される。また、診断処理は、「モータBが駆動されていること」を示すコンテキスト情報701−2が受信された場合に実行される。これにより、異常の判定に有効な検知情報のみを用いて診断処理を実行することができる。例えば、検知情報として音響データを用いる場合、無音区間等判定する必要がない区間が加工工程に含まれる場合がある。このような不要な区間を判定対象から外すことによって、誤判定を減らすこと、および、計算コストを減らすことが可能となる。すなわち、診断処理の高精度化および効率化が実現可能となる。
【0081】
また、相互に異なる加工工程であっても、例えば、同一のモータ等を使用する場合は、対応するモデルを共通に利用して診断処理を実行してもよい。例えば、
図11は、共通のモデルを他の加工工程で使用する例を示す図である。
【0082】
図11のコンテキスト情報901は、加工工程が、4つのモータ(モータX、モータY、モータZ、モータB)を駆動する動作を含むことを示している。モータBを使用する点は、例えば、
図9に示す加工工程と共通する。このため、
図11の加工工程でも、判定部102は、同一のモデル「モータB」と、検知情報921が変換された変換情報とを用いて診断処理を実行できる。
【0083】
また、
図12は、累積使用時間をコンテキスト情報として利用する場合の例を示す図である。コンテキスト情報1001は、各モータの累積使用時間を示す。
図12の例では、累積使用時間の範囲(0月〜6月、6月〜12月、・・・等)ごと、モータの種類ごと、かつ、基準回転周波数ごとにモデルが生成される。例えば、記憶部111aは、累積使用時間が0〜6月の各モータのモデルを記憶する。記憶部111bは、累積使用時間が6〜12月の各モータのモデルを記憶する。記憶部111cは、累積使用時間が例えば12月以上の各モータのモデルを記憶する。記憶部111a〜111cは、物理的に異なる記憶媒体で実現してもよいし、物理的に同一の記憶媒体(記憶部111)で実現してもよい。判定部102は、コンテキスト情報701とともに、コンテキスト情報1001を用いて対応するモデルを特定し、特定したモデルを用いて診断処理を実行する。
【0084】
また、
図13は、モデルが定められていないコンテキスト情報が入力された場合にモデルを生成する例を示す図である。
図13のコンテキスト情報1101は、加工工程が、4つのモータ(モータX、モータC、モータD、モータB)を駆動する動作を含むことを示している。モータXの駆動を示すコンテキスト情報に対して、モデルが生成されていないものとする。
【0085】
この場合、特徴抽出部104は、基準回転周波数を有する複数の検知情報(
図11では、検知情報1111a、1111b、1111c)それぞれについて、「モータXが駆動されていること」を示すコンテキスト情報に対応する期間の検知情報から特徴情報を抽出する。生成部105は、抽出された特徴情報を用いて、「モータXが駆動されていること」を示すコンテキスト情報に対応するモデル「モータX」を生成し、記憶部111に記憶する。これにより、今後モータXを駆動する期間についても異常の判定が可能となる。
【0086】
このように、第1の実施形態では、検知部211から得られた検知情報を、所定の基準回転周波数のデータとなるように変換して変換情報とし、この変換情報に対し、当該基準回転周波数に対応したモデルを用いて異常を判定するものとしている。これによって、同じ回転周波数に対応する変換情報とモデルとの比較で異常の判定をするので、装置(例えば、加工機200)の異常を診断する精度を維持または向上させることができる。さらに、記憶部111等に記憶させておくモデルとして、あらゆる回転周波数に対応したモデルを記憶させておく必要がなく、1以上の基準回転周波数に対応するモデルを記憶させておけばよいので、記憶部111に記憶させるモデルのデータ量を削減できる。
【0087】
また、第1の実施形態では、現在の動作を示すコンテキスト情報を加工機200から受信し、受信したコンテキスト情報に対応するモデルを用いて異常を判定できる。従って、動作する駆動部を高精度に特定し、異常をより高精度に診断可能となる。
【0088】
[第2の実施形態]
第1の実施形態では、1種類の検知情報を用いて正常か否かを判定していた。判定に用いる検知情報の個数は1に限られず、2以上であってもよい。第2の実施形態の診断システムは、複数の検知情報を用いて加工機200の異常を判定する。
【0089】
(診断装置の機能ブロックの構成)
図14は、第2の実施形態に係る診断装置の機能ブロックの構成の一例を示す図である。
図14を参照しながら、本実施形態に係る診断装置100−2の機能ブロックの構成について説明する。
【0090】
第2の実施形態の診断システムの構成は、第1の実施形態の構成を示す
図1と同様であるため説明を省略する。
図14に示すように、診断装置100−2は、通信制御部101と、判定部102−2と、受付部103と、特徴抽出部104と、生成部105と、前処理部106−2(第1前処理部)と、記憶部111と、を備えている。
【0091】
第2の実施形態では、判定部102−2および前処理部106−2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態に係る診断装置100のブロック図である
図4と同様であるので、同一符号を付し、ここでの説明は省略する。
【0092】
前処理部106−2は、複数の検知情報それぞれを、コンテキスト情報に応じて、基準回転周波数に変換して変換情報を得る。この場合、基準回転周波数は、コンテキスト情報に対応したものであり、当該コンテキスト情報に対応する1以上の基準回転周波数からどの基準回転周波数を選択するかは、第1の実施形態で説明した通りである。
【0093】
判定部102−2は、複数の検知情報からそれぞれ変換された変換情報を用いて加工機200の動作が正常であるか否かを判定する。例えば、判定部102−2は、コンテキスト情報に応じて、判定に用いる変換情報を切り替える。
【0094】
(本実施形態による処理の具体例)
図15は、駆動部によって異なる検知情報を判定対象とすることを説明する図である。
図16は、検知情報の決定に用いられる対応情報のデータ構造の一例を示す図である。
図15および
図16を参照しながら、本実施形態による処理の具体例を説明する。
【0095】
図15の例では、コンテキスト情報1201と、複数種類の検知情報1221a、1221bとが受信される。検知情報1221aは、例えば、加速度データである。検知情報1221bは、例えば、音響データである。
【0096】
前処理部106−2は、コンテキスト情報が「モータAが駆動されていること」を示す場合、検知情報1221bのうち、当該コンテキスト情報に対応する期間の検知情報1222bの回転周波数を、当該コンテキスト情報に対応する基準回転周波数に変換して変換情報を得る。また、前処理部106−2は、コンテキスト情報が「モータBが駆動されていること」を示す場合、検知情報1221aのうち、当該コンテキスト情報に対応する期間の検知情報1222aの回転周波数を、当該コンテキスト情報に対応する基準回転周波数に変換して変換情報を得る。
【0097】
判定部102−2は、コンテキスト情報が「モータAが駆動されていること」を示す場合、検知情報1221bのうち、当該コンテキスト情報に対応する期間の検知情報1222bから変換された変換情報から抽出された特徴情報を用いて判定を実行する。このとき、判定部102−2は、当該コンテキスト情報、かつ、変換情報の基準回転周波数に対応するモデルを記憶部111a−2から読み出して使用する。また、判定部102−2は、コンテキスト情報が「モータBが駆動されていること」を示す場合、検知情報1221aのうち、当該コンテキスト情報に対応する期間の検知情報1222aから変換された変換情報から抽出された特徴情報を用いて判定を実行する。このとき、判定部102−2は、当該コンテキスト情報、かつ、変換情報の基準回転周波数に対応するモデルを記憶部111b−2から読み出して使用する。
【0098】
コンテキスト情報に対応する検知情報は、例えば、記憶部111に記憶される対応情報を用いて決定されてもよい。
図16は、検知情報の決定に用いられる対応情報のデータ構造の一例を示す図である。対応情報は、例えば、センサデータと、コンテキスト情報と、を含む。前処理部106−2および判定部102−2は、このような対応情報を参照することにより、コンテキスト情報に対応する検知情報を決定することができる。
【0099】
[第3の実施形態]
第1の実施形態では、装置の異常の判定に用いる基準回転周波数に対応したモデルを生成する場合、回転周波数が基準回転周波数に調整された検知情報を受信して行っていた。第3の実施形態の診断システムは、モデルを生成する場合に受信した検知情報の回転周波数が、予め設定されている基準回転周波数のうち一致しないものがある場合、その一致しない基準回転周波数に変換して、その変換情報を用いて当該基準回転周波数に対応したモデルを生成する。
【0100】
(診断装置の機能ブロックの構成)
図17は、第3の実施形態に係る診断装置の機能ブロックの構成の一例を示す図である。
図17を参照しながら、本実施形態に係る診断装置100−3の機能ブロックの構成について説明する。
【0101】
図17に示すように、診断装置100−3は、通信制御部101と、判定部102と、受付部103と、特徴抽出部104と、生成部105と、第1前処理部107と、第2前処理部107−2と、記憶部111と、を備えている。
【0102】
第3の実施形態では、第1前処理部107および第2前処理部107−2の構成が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態に係る診断装置100のブロック図である
図4と同様であるので、同一符号を付し、ここでの説明は省略する。
【0103】
第1前処理部107は、第1の実施形態の前処理部106と同様の処理を行う。すなわち、第1前処理部107は、診断処理において、コンテキスト情報から得られた駆動部204の回転周波数を予め決められた1以上の基準回転周波数のうち、元の検知情報との変化が少ない基準回転周波数となるような変換情報へ変換する。ここで、1以上の基準回転周波数から1の基準回転周波数の選択方法は、第1の実施形態で説明した方法と同様である。
【0104】
第2前処理部107−2は、モデルを生成する場合に、設定された基準回転周波数の検知情報が得られない場合等に、受信部101aにより受信された検知情報を、設定された基準回転周波数に変換して変換情報を得る。
【0105】
(本実施形態による処理の具体例)
図18は、複数の基準回転周波数に変換した検知情報からモデルを生成する動作の一例を示す図である。
図18を参照しながら、本実施形態による処理の具体例を説明する。
【0106】
図18の例では、例えば、受信部101aにより受信可能な検知情報の回転周波数が25[Hz]であり、設定された基準回転周波数が10[Hz]および5[Hz]であるものとする。この場合、受信部101aにより、10[Hz]および5[Hz]の検知情報を受信することが困難である場合、それぞれの回転周波数(基準回転周波数)に対応したモデルを生成することができないことになる。そこで、第2前処理部107−2は、受信部101aから受信された回転周波数が25[Hz]の検知情報を、回転周波数がそれぞれ基準回転周波数10[Hz]および5[Hz]となるように変換して変換情報を生成する。
【0107】
そして、特徴抽出部104は、第2前処理部107−2により変換された変換情報から特徴情報を抽出する。そして、生成部105は、同じコンテキスト情報に対応付けられた変換情報から抽出された特徴情報を用いて、このコンテキスト情報、および、当該変換情報の基準回転周波数についてのモデルを生成する。
【0108】
これによって、受信部101aにより基準回転周波数とは異なる検知情報しか得られない状況でも、当該基準回転周波数に対応したモデルを生成することが可能となる。
【0109】
なお、受信部101aにより受信される検知情報の回転周波数と、作成するモデルに対応する基準回転周波数とが一致する場合、第2前処理部107−2による変換処理は必要なく、特徴抽出部104は、受信部101aにより受信された検知情報から直接、特徴情報を抽出するものとすればよい。
【0110】
[第4の実施形態]
第1の実施形態では、加工機200と通信可能な診断装置100が、加工機200からコンテキスト情報を受信し、そのコンテキスト情報を用いて、モデル生成処理および診断処理を行っていた。第4の実施形態では、診断装置が加工機200に接続されていない場合等により加工機200と通信ができない場合に、手動でコンテキスト情報を診断装置に入力可能とする。
【0111】
(診断装置の機能ブロックの構成)
図19は、第4の実施形態に係る診断装置の機能ブロックの構成の一例を示す図である。
図19を参照しながら、本実施形態に係る診断装置100−4の機能ブロックの構成について説明する。
【0112】
図19に示すように、診断装置100−4は、通信制御部101と、判定部102と、受付部103と、特徴抽出部104と、生成部105と、前処理部106(第1前処理部)と、操作部108と、記憶部111と、を備えている。
【0113】
第4の実施形態では、第1の実施形態の構成に加えて、操作部108が加わっている。その他の構成および機能は、第1の実施形態に係る診断装置100のブロック図である
図4と同様であるので、同一符号を付し、ここでの説明は省略する。
【0114】
操作部108は、ユーザが、現在の加工機200のコンテキスト情報(例えば、駆動部204の内容、および回転周波数等)等の必要な情報を入力するための機能部である。操作部108は、例えば、
図3に示す入力装置66により実現される。
【0115】
以上のような構成によって、診断対象となる装置と診断装置が物理的、または無線を用いたネットワークで接続されていない場等の場合のようにコンテキスト情報が使えない場合、または、コンテキスト情報に目的となる情報(例えば、回転周波数等)が含まれない場合、診断装置100−4に対して手動で回転周波数等の必要な情報を入力することができ、このような場合でも、モデルの生成処理および診断処理が可能となる。
【0116】
次に、上述の各実施形態に適用可能な変形例について説明する。
【0117】
[変形例1]
図20は、コンテキスト情報と加工区間との関係の一例を示す図である。
図21は、加工区間の特定方法の一例を示す図である。
【0118】
コンテキスト情報は、ある駆動部204が駆動されている区間を示しているだけであり、例えば、この駆動部204により工具が回転し材料に当たって加工している、実際の加工区間を厳密に抽出できない場合がある。すなわち、異常判定の精度が悪くなる場合がある。
【0119】
図20では、コンテキスト情報1501は、モータBが駆動されていることを示す。コンテキスト情報1501のみに基づくと、例えば、検知情報のうち波形区間1512に相当する検知情報が特定される。しかし、実際に材料を加工している区間は波形区間1511である。例えば、音響データを検知情報としている場合、波形区間1511は、工具が材料に接触して音が発生することにより検出される音響データの区間に相当する。
【0120】
そこで、変形例1では、コンテキスト情報と検知情報とを組合せて、実際の加工区間を特定するように構成する。すなわち、判定部102は、受信されたコンテキスト情報で特定される期間のうち判定に用いる期間を、受信された検知情報に基づいて決定し、決定した期間の検知情報とモデルとを用いて判定を実行する。
【0121】
例えば、判定部102は、検知情報の特徴が切り替わる時刻を特定することにより、加工区間を求める。
図21の例では、判定部102は、検知情報の振幅が予め定められた閾値(例えば「a」および「−a」)を超えるように切り替わった時刻1601と、その後、閾値を下回るように切り替わった時刻1602とを特定する。判定部102は、時刻1601と時刻1602の間の区間1611を抽出する。そして、判定部102は、区間1611の検知情報から抽出された特徴情報を用いて判定を実行する。これにより、実際の加工区間に相当する区間の検知情報を用いて、より高精度に判定を実行可能となる。
【0122】
[変形例2]
図22は、尤度と判定値r(k)との関係の一例を示すグラフである。
【0123】
上述のように、正常か否かを判定するとき、尤度の値自体を用いてもよいし、尤度の変動を示す値を用いてもよい。変形例2では、尤度の変動を示す値の例について説明する。尤度の変動を示す値として、例えば、尤度の分散を用いることができる。例えば、区間Xでの尤度の分散は、以下の式(2)により算出される。nXは区間Xでのフレーム数、kはフレームのインデックス、xiはフレームiでの尤度(フレーム尤度)、μXは区間Xでのフレーム尤度の平均、を表す。なお、フレームは、尤度を算出する単位区間に相当する。
【0125】
さらに式(2)のような分散を元にスコア化した値を判定に用いてもよい。例えば、以下の式(3)に示すr(k)を判定に用いてもよい。
【0126】
r(k)=VS(k)/VL(k) ・・・(3)
【0127】
S、Lは、区間Xの種類を表す。Sは、短い区間(Short区間)を表し、Lは長い区間(Long区間)を表す。VS(k)は、短い区間に対して式(2)で算出される値を示す。VL(k)は、長い区間に対して式(2)で算出される値を示す。SおよびLのそれぞれに対して、nX、μXに対応する値であるnS、μS、および、nL、μLが算出される。
【0128】
例えば、
図22に示すように、尤度と閾値とを比較する判定方法では、閾値を0.97とすると、200〜300フレームの間では正常と判定される。一方、判定値r(k)と閾値(例えば、1.0)とを比較する判定方法では、200〜300フレームの間での尤度の変動を検出し、異常と判定することが可能となる。
【0129】
なお、上述の各実施形態および各変形例では、検知部211で検出される回転体等が発する検知情報の回転周波数および基準回転周波数を扱ったが、必ずしも、回転周波数に限定されるものではなく、振動データであれば振動周波数でもよく、周期的な信号成分を含む情報であればよい。この場合、回転周波数を単に「周波数」と呼称し、基準回転周波数を「基準周波数」を呼称するものとすればよい。
【0130】
なお、上述の各実施形態および各変形例の診断装置で実行されるプログラムは、ROM等に予め組み込まれて提供される。
【0131】
上述の各実施形態および各変形例の診断装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk−Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成してもよい。
【0132】
さらに、上述の各実施形態および各変形例の診断装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態および各変形例の診断装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0133】
上述の各実施形態および各変形例の診断装置で実行されるプログラムは、上述した各部(通信制御部、判定部等)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。