以下に添付図面を参照して、本発明に係る診断装置、診断システム、診断方法およびプログラムの一実施形態を詳細に説明する。
[第1の実施形態]
(診断システムの構成)
図1は、第1の実施形態に係る診断システムの構成の一例を示す図である。図1に示すように、診断システムは、加工機200と、診断装置100と、を含む。加工機200は、診断装置100による診断の対象となる対象装置の一例である。
加工機200と診断装置100とは、どのような接続形態で接続されてもよい。例えば、加工機200と診断装置100とは、専用の接続線、有線LAN(Local Area Network)等の有線ネットワーク、および、無線ネットワーク等により接続される。
加工機200は、数値制御部201と、通信制御部202と、工作機械203と、を備えている。工作機械203は、検知部211と、駆動部212と、を備えている。
工作機械203は、数値制御部201の制御に従い、加工対象を加工する機械である。工作機械203は、数値制御部201の制御により動作する駆動部212を含む。駆動部212は、例えば、モータ等であり、加工に用いられ、数値制御の対象となるものであればどのようなものであってもよい。なお、駆動部212は1以上備えられていてもよい。
数値制御部201は、工作機械203による加工を数値制御(NC:Numerical Control)により実行する。例えば、数値制御部201は、駆動部212の動作を制御するための数値制御データを生成して出力する。また、数値制御部201は、コンテキスト情報を通信制御部202に出力する。コンテキスト情報とは、加工機200の動作の種類ごとに複数定められる情報である。コンテキスト情報は、例えば、駆動部212を識別する情報、駆動部212の回転数、駆動部212の回転速度、駆動部212に係る負荷、駆動部212の大きさ、および、駆動部212の使用開始からの累積使用時間等を含む。
数値制御部201は、例えば、現在の動作を示すコンテキスト情報を、通信制御部202を介して診断装置100に送信する。数値制御部201は、加工対象を加工する際、加工の工程に応じて、駆動する駆動部212の種類、駆動部212の駆動状態(回転数、回転速度等)を変更する。数値制御部201は、動作の種類を変更するごとに、変更した動作の種類に対応するコンテキスト情報を、通信制御部202を介して診断装置100に逐次送信する。
通信制御部202は、診断装置100等の外部装置との間の通信を制御する。例えば、通信制御部202は、現在の動作に対応するコンテキスト情報を診断装置100に送信する。
検知部211は、加工機200の動作に応じて変化する物理量を検知し、検知情報(センサデータ)を出力する。なお、検知部211の種類、および、検知する物理量はどのようなものであってもよい。例えば、検知部211を、マイク、加速度センサ、または、AE(Acoustic Emission)センサとし、それぞれ、音響データ、加速度データ、または、AE波を示すデータを検知情報としてもよい。また、検知部211の個数は任意である。同一の物理量を検知する複数の検知部211を備えてもよいし、相互に異なる物理量を検知する複数の検知部211を備えてもよい。
例えば、加工に用いる刃の折れ、および、刃のチッピング等が発生すると、加工時の音が変化する。このため、検知部211(マイク)で音響データを検知し、正常音を示すモデル等と比較することにより、加工機200の動作の異常を検知可能となる。
診断装置100は、通信制御部101と、判定部102と、を備えている。通信制御部101は、加工機200等の外部装置との間の通信を制御する。例えば、通信制御部101は、コンテキスト情報および検知情報を加工機200から受信する。判定部102は、コンテキスト情報および検知情報を参照して、加工機200の動作が正常であるか否かを判定する。各部の機能の詳細は後述する。
(加工機のハードウェア構成)
図2は、第1の実施形態の加工機のハードウェア構成の一例を示す図である。図2に示すように、加工機200は、CPU(Central Processing Unit)51と、ROM(Read Only Memory)52と、RAM(Random Access Memory)53と、通信I/F(インターフェース)54と、駆動制御回路55と、モータ56と、バス58で接続された構成となっている。センサ57は、診断装置100に通信可能に接続されている。
CPU51は、加工機200の全体を制御する。CPU51は、例えば、RAM53をワークエリア(作業領域)としてROM52等に格納されたプログラムを実行することで、加工機200全体の動作を制御し、加工機能を実現する。
通信I/F54は、診断装置100等の外部装置と通信するためのインターフェースである。駆動制御回路55は、モータ56の駆動を制御する回路である。モータ56は、ドリル、砥石、カッタ、および、テーブル等の加工に用いる工具を駆動する。モータ56は、例えば、図1の駆動部212に相当する。センサ57は、加工機200の動作に応じて変化する物理量を検知し、検知情報を出力する。センサ57は、例えば、図1の検知部211に相当する。
なお、図1の数値制御部201および通信制御部202は、図2のCPU51にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
(診断装置のハードウェア構成)
図3は、第1の実施形態の診断装置のハードウェア構成の一例を示す図である。図3に示すように、診断装置100は、CPU61と、ROM62と、RAM63と、通信I/F64と、入出力I/F65と、補助記憶装置68とが、バス69で接続された構成となっている。
CPU61は、診断装置100の全体を制御する。CPU61は、例えば、RAM63をワークエリア(作業領域)としてROM62等に格納されたプログラムを実行することで、診断装置100全体の動作を制御し、診断機能を実現する。
通信I/F64は、加工機200等の外部装置と通信するためのインターフェースである。入出力I/F65は、各種装置(例えば、入力装置66およびディスプレイ67)とバス69とを接続するためのインターフェースである。
入力装置66は、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行うためのマウスまたはキーボード等の入力装置である。
ディスプレイ67は、カーソル、メニュー、ウィンドウ、文字または画像等の各種情報を表示するLCD(Liquid Crystal Display)、プラズマディスプレイ、または有機EL(Electro−Luminescence)ディスプレイ等の表示装置である。
補助記憶装置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とデータ通信可能なサーバ装置が備えた記憶装置であってもよい。
(診断装置の機能ブロックの構成)
図4は、第1の実施形態の診断装置の機能ブロックの構成の一例を示す図である。図4に示すように、診断装置100は、上述の通信制御部101および判定部102に加え、受付部103と、特徴抽出部104と、生成部105と、反映条件設定部106(設定部)と、モデル選択部107(選択部)と、入力部108と、表示制御部109と、表示部110と、記憶部111と、を備えている。また、診断装置100は、診断機能を発揮する動作モードとして、通常モードと、モデル適正判断モードと、を有する。通常モードとは、モデル選択部107により選択されたモデルを用いて、加工機200から受信した検知情報から加工機200の異常を診断するモードである。モデル適正判断モードとは、複数のモデルを用いて、加工機200から受信した検知情報についての尤度を求めて、モデルの選択を支援するモードである。これらの動作モードは、例えば、入力部108を介した操作入力(入力情報)に基づいて、切り替えられるものとすればよい。
記憶部111は、診断装置100による診断機能で必要な各種情報を記憶する。記憶部111は、例えば、図3のRAM63および補助記憶装置68等により実現できる。例えば、記憶部111は、異常の判定に用いる1以上のモデルを記憶する。
モデルは、例えば、加工機200が正常に動作しているときに検知部211により検知された検知情報を用いて、学習により生成される。学習方法、および、学習するモデルの形式はどのような方法であってもよい。例えば、GMM(ガウス混合モデル)、および、HMM(隠れマルコフモデル)等のモデルおよび対応するモデル学習方法を適用できる。
本実施形態では、モデルは、コンテキスト情報ごとに1以上生成される。記憶部111は、例えば、コンテキスト情報と、当該コンテキスト情報に対応する1以上のモデルとを対応付けて記憶する。記憶部111におけるモデルの記憶構成については、図12で後述する。
通信制御部101は、受信部101aと、送信部101bと、を備えている。受信部101aは、加工機200等の外部装置から送信された各種情報を受信する。例えば、受信部101aは、加工機200の現在の動作に対応するコンテキスト情報と、検知部211により送信された検知情報と、を受信する。送信部101bは、外部装置に対して各種情報を送信する。
特徴抽出部104は、モデルの生成、および、判定部102による判定で用いる特徴情報を、検知情報から抽出する。特徴情報は、検知情報の特徴を示す情報であればどのような情報であってもよい。例えば、検知情報がマイクにより集音された音響データである場合、特徴抽出部104は、エネルギー、周波数スペクトル、および、MFCC(メル周波数ケプストラム係数)等を特徴情報として抽出してもよい。
生成部105は、正常動作時の検知情報から抽出された特徴情報を用いた学習により、正常動作を判定するためのモデルを作成する。なお、モデルを外部装置で生成する場合は、生成部105は備えなくてもよい。生成部105は、モデルが定められていないコンテキスト情報と、当該コンテキスト情報に対応する検知情報が入力された場合に、この検知情報から抽出された特徴情報を用いて、当該コンテキスト情報に対応するモデルを生成してもよい。
判定部102は、受信部101aにより受信された検知情報と、受信されたコンテキスト情報に対応し、かつ、モデル選択部107により選択されたモデルと、を用いて、加工機200の動作が正常であるか否かを判定する。例えば、判定部102は、特徴抽出部104に対して検知情報からの特徴情報の抽出を依頼する。判定部102は、検知情報から抽出された特徴情報が正常であることの尤もらしさを示す尤度を、対応するモデルを用いて算出する。判定部102は、尤度と、予め定められた閾値とを比較し、例えば、尤度が閾値以上である場合に、加工機200の動作は正常であると判定する。また、判定部102は、尤度が閾値未満である場合に、加工機200の動作は異常であると判定する。
また、判定部102は、第1判定器102aと、第2判定器102bと、結果処理部102cと、を備えている。第1判定器102aは、モデル適正判断モードにおいて、受信部101aにより受信された検知情報と、受信部101aにより受信されたコンテキスト情報に対応する複数のモデルのうち特定のモデルと、を用いて、尤度を求め、加工機200の動作が正常であるか否かを判定する。第2判定器102bは、モデル適正判断モードにおいて、受信部101aにより受信された検知情報と、受信部101aにより受信されたコンテキスト情報に対応するモデルであって、第1判定器102aが用いるモデルとは異なるモデルと、を用いて、尤度を求め、加工機200の動作が正常であるか否かを判定する。結果処理部102cは、第1判定器102aおよび第2判定器102bの判定結果を、表示制御部109に対して表示部110に表示させる。
なお、判定部102が備える判定器は2つに限定されるものではなく、3つ以上の判定器を備えるものとしてもよい。この場合、3つ以上の判定器が、同一のコンテキスト情報に対応する別々のモデルをそれぞれ用いて、尤度を求める。また、判定器は1つであってもよい。この場合、1つの判定器が、同一のコンテキスト情報に対応する複数のモデルそれぞれに対応する尤度を求めるものとすればよい。
また、加工機200の動作が正常か否かの判定方法はこれに限られるものではなく、検知情報とモデルとを用いて、正常か否かを判定できる方法であればどのような方法であってもよい。例えば、尤度の値を直接閾値と比較する代わりに、尤度の変動を示す値と閾値とを比較してもよい。
受付部103は、受信部101aが加工機200から受信するコンテキスト情報とは異なるコンテキスト情報の入力を受け付ける。例えば、累積使用時間は、加工機200から取得するように構成できる。この場合、加工機200は、例えば、工具を交換したときに累積使用時間をリセット(初期化)する機能を備えていてもよい。
なお、累積使用時間を加工機200から取得せず、受付部103が受け付けるように構成することもできる。受付部103は、例えば、キーボードおよびタッチパネル等である入力部108から入力されたコンテキスト情報を受け付ける。受付部103で受け付けるコンテキスト情報は、累積使用時間に限らず、例えば、使用する工具の仕様の情報(刃の直径、刃数、材質、工具にコーティングが施されているか否か等)や、加工する材料の情報(材質等)の情報でもよい。受付部103が、サーバ装置およびPC(Personal Computer)等の外部装置からコンテキスト情報を受信するように構成してもよい。加工機200以外からコンテキスト情報を受け付ける必要がない場合は、受付部103は備えなくてもよい。
反映条件設定部106は、管理者が通常モードで適用しようとするモデルを選択した場合、そのモデルを通常モードに反映する条件を設定する。反映条件設定部106の動作の詳細は、後述する。
モデル選択部107は、反映条件設定部106等により設定された条件に従って、選択されたモデルを反映する。モデル選択部107の動作の詳細は、後述する。
入力部108は、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行うための機能部である。入力部108は、例えば、図3の入力装置66により実現できる。
表示制御部109は、表示部110の表示動作を制御する。表示部110は、表示制御部109による制御に従って各種情報を表示する。表示部110は、例えば、図3のディスプレイ67により実現できる。
なお、図4の各部(通信制御部101、判定部102、受付部103、特徴抽出部104、生成部105、反映条件設定部106、モデル選択部107および表示制御部109)は、図3のCPU61にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
また、図4に示した診断装置100の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図4で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図4の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(診断装置による診断処理)
次に、このように構成された第1の実施形態に係る診断装置100による診断処理について図5を用いて説明する。図5は、第1の実施形態における診断処理の一例を示すフローチャートである。
上述のように、加工機200の数値制御部201は、現在の動作を示すコンテキスト情報を逐次診断装置100に送信する。通常モードにおいて、受信部101aは、このようにして加工機200から送信されたコンテキスト情報を受信する(ステップS101)。また、加工機200の検知部211は、加工時の検知情報を逐次出力する。受信部101aは、このようにして加工機200から送信された検知情報(センサデータ)を受信する(ステップS102)。
特徴抽出部104は、受信された検知情報から特徴情報を抽出する(ステップS103)。判定部102は、抽出された特徴情報と、受信されたコンテキスト情報に対応するモデルとを用いて、加工機200が正常に動作しているか否かを判定する(ステップS104)。判定部102は、判定結果を出力する(ステップS105)。判定結果の出力方法はどのような方法であってもよい。判定部102は、例えば、診断装置100の表示制御部109に対して、判定結果を表示部110に表示させてもよい。または、判定部102が、サーバ装置およびPC等の外部装置に判定結果を出力してもよい。
(診断装置によるモデル生成処理)
次に、このように構成された第1の実施形態に係る診断装置100によるモデル生成処理について図6を用いて説明する。図6は、第1の実施形態におけるモデル生成処理の一例を示すフローチャートである。なお、モデル生成処理は、例えば、診断処理の前に事前に実行される。あるいは、モデルが定められていないコンテキスト情報が入力された場合にモデル生成処理を実行するように構成してもよい。また、上述のようにモデルを外部で生成する場合は、モデル生成処理は実行されなくてもよい。
受信部101aは、加工機200から送信されたコンテキスト情報を受信する(ステップS201)。受信部101aは、加工機200から送信された検知情報(センサデータ)を受信する(ステップS202)。
このように受信されたコンテキスト情報および検知情報が、モデルの生成に利用される。モデルは、コンテキスト情報ごとに生成されるため、検知情報は、対応するコンテキスト情報に関連付けられる必要がある。このため、例えば、受信部101aは、受信した検知情報を、同じタイミングで受信したコンテキスト情報と対応付けて記憶部111等に記憶させる。各情報を記憶部111等に一旦記憶し、正常時の情報であることを確認し、正常時の情報のみを用いてモデルを生成してもよい。すなわち、正常であるとラベルづけされた検知情報を用いてモデルを生成してもよい。
正常であるか否かの確認(ラベルづけ)は、情報を記憶部111等に記憶した後の任意のタイミングで実行してもよいし、加工機200を動作させながらリアルタイムに実行してもよい。ラベルづけを実行せず、情報が正常であると仮定してモデルを生成してもよい。正常であると仮定した情報が実際は異常であった情報であった場合は、生成されたモデルにより正しく判定処理が実行されなくなる。異常と判定される頻度等によりこのような状況であるかを判断でき、誤って生成されたモデルを削除する等の対応を取ることができる。また、異常であった情報から生成されたモデルを、異常であることを判定するモデルとして利用してもよい。
特徴抽出部104は、収集された検知情報から特徴情報を抽出する(ステップS203)。生成部105は、同じコンテキスト情報に対応付けられた検知情報から抽出された特徴情報を用いて、このコンテキスト情報についてのモデルを生成する(ステップS204)。生成部105は、生成したモデルを、例えば、コンテキスト情報に対応付けて、記憶部111に記憶する(ステップS205)。
(モデル生成処理および診断処理の具体例)
次に、本実施形態によるモデル生成処理および診断処理の具体例について説明する。図7は、第1の実施形態におけるモデル生成処理および診断処理の具体例を説明する図である。
図7は、例えば、ある部品を加工する工程の一部についてのモデル生成処理、および、診断処理を示す。モデル生成処理では、コンテキスト情報701とともに受信された複数の検知情報(図7では検知情報711a〜711c)が利用される。なお、検知情報の個数は3に限られるものではなく、任意の個数とすることができる。
コンテキスト情報701は、加工工程が、4つのモータ(モータA、モータB、モータC、モータD)を駆動する動作を含むことを示している。特徴抽出部104は、受信された検知情報から特徴情報を抽出する。生成部105は、各モータに対応するコンテキスト情報ごとに、対応する検知情報から抽出された特徴情報を用いてモデルを生成する。生成されたモデルは、対応するコンテキスト情報と対応付けられて記憶部111等に記憶される。図7では、モータBが駆動される場合のコンテキスト情報に対して生成されたモデル(「モータB」)が記憶部111に記憶された例が示されている。記憶されたモデルは、その後の診断処理で参照される。
診断処理では、モデル生成処理と同様に、コンテキスト情報701とともに、検知情報721が受信される。コンテキスト情報が「モータBが駆動されていること」を示す場合、判定部102は、例えば、このコンテキスト情報が受信された期間に受信された検知情報と、記憶部111に記憶されているモデル「モータB」とを用いて、加工機200の動作が正常であるか否かを判定する。
他のコンテキスト情報が受信される場合も同様に、対応する検知情報と、対応するモデルとを用いて、判定部102による判定が実行される。
なお、すべてのコンテキスト情報に対して判定を実行する必要はない。図8は、一部のコンテキスト情報についてモデル生成処理および診断処理を行う具体例を説明する図である。
図8の例では、コンテキスト情報が「モータBが駆動されていること」を示す場合のみモデルが生成される。また、診断処理は、「モータBが駆動されていること」を示すコンテキスト情報701−2が受信された場合に実行される。これにより、異常の判定に有効な検知情報のみを用いて診断処理を実行することができる。例えば、検知情報として音響データを用いる場合、無音区間等判定する必要がない区間が加工工程に含まれる場合がある。このような不要な区間を判定対象から外すことによって、誤判定を減らすこと、および、計算コストを減らすことが可能となる。すなわち、診断処理の高精度化および効率化が実現可能となる。
また、相互に異なる加工工程であっても、例えば、同一のモータ等を使用する場合は、対応するモデルを共通に利用して診断処理を実行してもよい。図9は、共通のモデルを他の加工工程で使用する例を説明する図である。
図9のコンテキスト情報901は、加工工程が、4つのモータ(モータX、モータY、モータZ、モータB)を駆動する動作を含むことを示している。モータBを使用する点は、例えば、図7に示す加工工程と共通する。このため、図9の加工工程でも、判定部102は、同一のモデル「モータB」と、検知情報921とを用いて診断処理を実行できる。
また、図10は、累積使用時間をコンテキスト情報として利用する場合の例を説明する図である。コンテキスト情報1001は、各モータの累積使用時間を示す。図10の例では、累積使用時間の範囲(0〜6月、6月〜12月、・・・等)ごと、かつ、モータの種類ごとにモデルが生成される。例えば、記憶部111aは、累積使用時間が0〜6月の各モータのモデルを記憶する。記憶部111bは、累積使用時間が6〜12月の各モータのモデルを記憶する。記憶部111cは、累積使用時間が例えば12月以上の各モータのモデルを記憶する。記憶部111a〜111cは、物理的に異なる記憶媒体で実現してもよいし、物理的に同一の記憶媒体(記憶部111)で実現してもよい。判定部102は、コンテキスト情報701とともに、コンテキスト情報1001を用いて対応するモデルを特定し、特定したモデルを用いて診断処理を実行する。
また、図11は、モデルが生成されていないコンテキスト情報が入力された場合にモデルを生成する動作を説明する図である。図11のコンテキスト情報1101は、加工工程が、4つのモータ(モータX、モータC、モータD、モータB)を駆動する動作を含むことを示している。モータXの駆動を示すコンテキスト情報に対して、モデルが生成されていないものとする。
この場合、特徴抽出部104は、複数の検知情報(図11では、検知情報1111a、1111b、1111c)それぞれについて、「モータXが駆動されていること」を示すコンテキスト情報に対応する期間の検知情報から特徴情報を抽出する。生成部105は、抽出された特徴情報を用いて、「モータXが駆動されていること」を示すコンテキスト情報に対応するモデル「モータX」を生成し、記憶部111に記憶する。これにより、今後モータXを駆動する期間についても異常の判定が可能となる。
このように、現在の動作を示すコンテキスト情報を加工機200から受信し、受信したコンテキスト情報に対応するモデルを用いて異常を判定できる。したがって、動作する駆動部を高精度に特定し、異常をより高精度に診断可能となる。
(複数のモデルから特定のモデルを選択するための支援処理)
次に、特定のコンテキスト情報に対応する複数のモデルから適正なモデルを選択するための支援処理を行うモデル適正判断モードの動作を中心に説明する。
<記憶部におけるモデルの記憶構成>
図12は、記憶部におけるモデルの記憶構成を説明する図である。図12を参照しながら、記憶部111に記憶されている複数のモデルの記憶構成について説明する。
図12に示す例では、例えば、記憶部111の記憶領域のうちモデル記憶領域1110に、コンテキスト情報aに対応する複数のモデル(モデルaA、モデルaB、モデルaC、・・・)、コンテキスト情報bに対応する複数のモデル(モデルbA、モデルbB、モデルbC、・・・)、およびコンテキスト情報cに対応する複数のモデル(モデルcA、モデルcB、・・・)が記憶されている。すなわち、モデル記憶領域1110には、各コンテキスト情報に対応付けられてそれぞれ1以上のモデルが記憶されている。
<モデル適正判断モードにおける複数のモデルによる診断処理>
図13は、第1の実施形態における複数のモデルによって診断処理を行う場合の一例を示すフローチャートである。図13を参照しながら、モデル適正判断モードにおける複数のモデルによる診断処理について説明する。なお、以下では説明を簡潔にするため、同一のコンテキスト情報に対応する2つのモデルを用いた診断処理について説明する。
上述のように、加工機200の数値制御部201は、現在の動作を示すコンテキスト情報を逐次診断装置100に送信する。モデル適正判断モードにおいて、受信部101aは、このようにして加工機200から送信されたコンテキスト情報を受信する(ステップS301)。また、加工機200の検知部211は、加工時の検知情報を逐次出力する。受信部101aは、このようにして加工機200から送信された検知情報(センサデータ)を受信する(ステップS302)。
特徴抽出部104は、受信された検知情報から特徴情報を抽出する(ステップS303)。
判定部102の第1判定器102aは、抽出された特徴情報と、受信されたコンテキスト情報に対応する特定のモデル(モデルA)と、を用いて、尤度を求め、加工機200の動作の異常の有無を判定する(ステップS304)。ここで、特定のモデルとは、例えば、当該コンテキスト情報に対応するモデルとして直近に使用していたモデルとすればよい。
判定部102の第2判定器102bは、抽出された特徴情報と、受信されたコンテキスト情報に対応するモデルであって、第1判定器102aが用いるモデルとは異なるモデル(モデルB)と、を用いて、尤度を求め、加工機200の動作の異常の有無を判定する(ステップS305)。ここで、第1判定器102aが用いるモデルとは異なるモデルとは、例えば、当該コンテキスト情報に対応するモデルとして新しく導入(選択)しようとしているモデルとすればよい。
なお、ステップS304およびS305において、第1判定器102aおよび第2判定器102bにより、特徴情報と、2つのモデルを用いて、それぞれのモデルに対応する尤度を求めるものとしているが、上述のように、判定器は3以上でもよいので、この場合、3つのモデルを用いて、それぞれに対応する尤度を求めてもよい。また、1つの判定器でもよく、この場合、連続的に複数のモデルを用いた判定を行い、それぞれのモデルに対応する尤度を連続的に求めればよい。また、判定器が複数の場合、判定器の数と同数のモデルを用いて、それぞれのモデルに対応する尤度を求めることに限定されるものではなく、それぞれの判定器が連続的に複数のモデルを用いた判定を行い、それぞれのモデルに対応する尤度を連続的に求めるものとしてもよい。この場合、判定器の数より多い数のモデルに対応する尤度を求めることができる。
判定部102の結果処理部102cは、モデルA、Bによる判定結果を出力する(ステップS306)。判定結果の出力方法として、本実施形態では、例えば、表示部110に判定結果を表示させる。判定結果の表示内容の詳細については、後述する。
<診断処理における判定結果の表示内容>
図14は、第1の実施形態における表示部の表示画面において判定結果を表示する構成の一例を示す図である。図15および図16は、第1の実施形態における表示部の表示画面において判定結果を表示する具体例を示す図である。図17は、第1の実施形態における表示部の表示画面において複数のモデルに基づく尤度の経時変化を表示する例を示す図である。図18は、特定のモデルが他のモデルよりも良化している例を示す図である。図19は、特定のモデルが他のモデルよりも悪化している例を示す図である。図20は、特定のモデルが他のモデルよりも良化しているか悪化しているかを判断できない例を示す図である。図21は、追加で行う診断処理により良化しているか悪化しているかを判断できる例を示す図である。図14〜図21を参照しながら、モデル適正判断モードの診断処理における判定結果の表示内容について説明する。
結果処理部102cは、上述のように、2つのモデル(モデルA、B)による判定結果を出力する態様として、表示制御部109に対して、例えば、表示部110に図14に示すような表示構成によって判定結果を表示させる。図14に示す例では、表示部110の表示画面300の表示領域のうち、判定結果表示領域301に、モデルAの判定結果である第1結果、および、モデルBの判定結果である第2結果を表示している。判定結果表示領域301に表示する具体的な判定結果の表示方法の類型としては、例えば、図15〜図17に示す判定結果の表示方法がある。
図15は、尤度の経時変化について、尤度を段階的にランク付け(例えば、後述する図44に示すような品質ランク)して、第1判定器102aおよび第2判定器102bにより求められた尤度がどの品質ランク(尤度の基づく情報の一例)に対応するかを表示した例を示す。具体的には、第1結果としてモデルAに対応する品質ランクとして「B」を表示し、第2結果としてモデルBに対応する品質ランクとして「C」を表示している。
図16は、第1判定器102aおよび第2判定器102bにより求められた尤度に基づいて求めた異常発生確率(尤度の基づく情報の一例)を表示した例を示す。具体的には、第1結果としてモデルAに対応する異常発生確率として「30%」を表示し、第2結果としてモデルBに対応する異常発生確率として「40%」を表示している。
なお、図15および図16に示すように、それぞれ品質ランクおよび異常発生確率をグラフ(例えば、棒グラフ)にして視覚的に表示してもよい。
図14〜図16に示すように、複数のモデル(ここでは2つのモデルA、B)に対応する判定結果を判定結果表示領域301に並べて表示させているので、いずれのモデルによる判定結果が現状の加工機200の動作状態を適切に表しているかについて判断がしやすくなる。
図17は、判定結果表示領域301に、複数のモデル(ここでは2つのモデルA、B)に基づく尤度の経時変化のグラフを表示した例を示す。図17に示すように、尤度の経時変化のグラフは、横軸を時間、縦軸を尤度としており、複数のモデルに基づく尤度の経時変化のグラフを重畳して表示することにより、尤度の変化の状態を比較することができ、いずれのモデルによる判定結果が現状の加工機200の動作状態を適切に表しているかについて判断がしやすくなる。
また、例えば、判定の対象となっているコンテキスト情報に対応するモデルとして新しく導入(選択)しようとしているモデルBの判定結果を、他のモデルであるモデルAの判定結果よりも目立つように表示してもよい。ここで、目立つように表示するとは、例えば、判定結果の表示文字を大きくする、表示文字を太くする、コントラストの高い背景と文字色との組み合わせにする、判定結果の表示の周辺を修飾し判定結果の表示部分に注意が向くようにする、グラフの線を太くする、コントラスの高い背景と線の色との組み合わせにする、または、グラフを実線にする等によって表示することをいう。また、コントラストが高いとは、例えば、周囲の表示物より彩度の高い色を使う、周囲の表示物より明度の高い色を使う、周囲の表示物より彩度の低い色を使う、周囲の表示物より明度の低い色を使う、または、暖色系の周辺色と寒色系の表示色を使う等を示す。
また、例えば、判定の対象となっているコンテキスト情報に対応するモデルとして新しく導入(選択)しようとしているモデルB以外のモデルであるモデルAの判定結果を、モデルBの判定結果よりも目立たないように表示してもよい。ここで、目立たないように表示するとは、例えば、判定結果の表示文字を小さくする、文字を細くする、コントラストの低い背景と文字色の組み合わせにする、画面の隅に表示する、グラフの線を細くする、コントラストの低い背景と線の色との組み合わせにする、または、破線にする等によって表示することをいう。また、コントラストが低いとは、例えば、周囲の表示物と彩度がほぼ同じ色を使う、または、周囲の表示と明度がほぼ同じ色を使う等を示す。
図18は、図17に示すように、複数のモデル(ここでは2つのモデルA、B)に基づく尤度の経時変化のグラフを重畳して表示する場合に、今まで用いてきたモデルAよりも、モデルBの方が良化している場合を示す。すなわち、工具の破損前に異常が判定され、かつ、十分な品質(ここでは尤度)が確保されている状態で工具が使用されている場合のモデルが適正なモデルであるものとすると、図18に示すように、モデルAに対応する尤度は、工具が破損した時点でも正常と判定されているのに対し、モデルBに対応する尤度は、工具が破損する前に、閾値に達して異常と判定できるので、モデルAに対してモデルBは良化していると判断できる。
また、図19は、図17に示すように、複数のモデル(ここでは2つのモデルA、B)に基づく尤度の経時変化のグラフを重畳して表示する場合に、今まで用いてきたモデルAよりも、モデルBの方が悪化している場合を示す。すなわち、図19に示すように、モデルAに対応する尤度が閾値に達して、異常と判定される前に、モデルBに対応する尤度が閾値に達して、異常と判定されているので、モデルAに対して、モデルBは悪化していると判断できる。
上述の図18および図19に示す例は、モデルBに対応する尤度が閾値に達して異常と判定された後も、その工具で加工動作を継続した場合を示すが、通常、異常と判定された時点で工具を交換する。そのため、図20に示すように、モデルAに対応する尤度が閾値に達して異常と判定された場合、工具が交換されるため、モデルの良否が判断できない。この場合、図21に示すように、別途交換した工具について、同じモデル(モデルA、B)を用いて、尤度を継続して求めることにより、モデルの良否の判断を支援することができる。図21に示す例では、モデルBの方が、高い尤度を保ちつつ、モデルAの場合よりも、工具の破損のタイミングに近い時点で尤度が閾値に達しているので、モデルBはモデルAよりも適正なモデルであると判断できる。
(複数のモデルからの特定のモデルの選択処理)
図22は、第1の実施形態において選択したモデルを即時反映するモデル選択処理の一例を示すフローチャートである。図23は、モデルを選択する設定画面の一例を示す図である。図22および図23を参照しながら、上述のように、モデルの選択するための支援処理により、管理者等が選択したモデルを、通常モードにおいて、即時反映するモデル選択処理について説明する。
上述のように、加工機200の数値制御部201は、現在の動作を示すコンテキスト情報を逐次診断装置100に送信する。通常モードにおいて、受信部101aは、このようにして加工機200から送信されたコンテキスト情報であって、新しくモデルを決定(選択)する対象となるコンテキスト情報を受信したものとする(ステップS401)。
受信部101aによりコンテキスト情報が受信されると、モデル選択部107は、表示制御部109に対して、例えば、図23に示すようなモデルを選択する設定画面を表示部110の表示画面300に表示させる。この設定画面では、図23に示すように、受信したコンテキスト情報に対応するモデルの一覧が表示される(ステップS402)。
管理者は、入力部108を介して、表示画面300に表示されたモデルの一覧から採用しようとするモデルの選択操作を行う。モデル選択部107は、入力部108を介してモデルの選択操作を受け付ける(ステップS403)。
そして、モデル選択部107は、選択されたモデルの情報を記憶部111に記憶し、現在実行されている診断処理、または次回実行される診断処理で使用される当該コンテキスト情報に対応するモデルとして、選択されたモデルを反映する(ステップS404)。
なお、上述の図22および図23で示したように、管理者が選択したモデルを即時反映するのではなく、例えば、以下の図24および図25で示すような、設定された指定条件を満たした場合に、選択されたモデルを反映するものとしてもよい。図24は、第1の実施形態において選択したモデルを指定条件で反映するモデル選択処理の一例を示すフローチャートである。図25は、モデルおよび指定条件を選択する設定画面の一例を示す図である。
上述のように、加工機200の数値制御部201は、現在の動作を示すコンテキスト情報を逐次診断装置100に送信する。通常モードにおいて、受信部101aは、このようにして加工機200から送信されたコンテキスト情報であって、新しくモデルを決定(選択)する対象となるコンテキスト情報を受信したものとする(ステップS501)。
受信部101aによりコンテキスト情報が受信されると、モデル選択部107は、表示制御部109に対して、例えば、図25に示すようなモデルを選択する設定画面を表示部110の表示画面300に表示させる。この設定画面では、図25に示すように、受信したコンテキスト情報に対応するモデルの一覧が表示される(ステップS502)。
管理者は、入力部108を介して、表示画面300に表示されたモデルの一覧から採用しようとするモデルの選択操作を行う。モデル選択部107は、入力部108を介してモデルの選択操作を受け付ける(ステップS503)。
管理者は、さらに、入力部108を介して表示画面300に表示された設定画面における反映条件選択部302において、選択したモデルを反映する条件を指定する操作を行う。モデル選択部107は、入力部108を介して選択されたモデルを反映する条件の指定操作を受け付ける(ステップS504)。ここで、モデルを反映する条件とは、例えば、選択操作を行った時点で反映させる即時反映、工具交換時、モデルに対応するコンテキスト情報を次回受信した時、または、加工機200の再起動時等である。
そして、モデル選択部107は、選択されたモデルの情報、および選択されたモデルを反映する条件として指定された条件を記憶部111に記憶する(ステップS505)。モデル選択部107は、指定された条件を満たしたタイミングで、選択されたモデルを通常モードの診断処理に用いるモデルとして反映する。
(第1の実施形態の変形例1−1)
本変形例では、モデル適正判断モードにおいて、複数のモデルによって診断処理を行い、閾値判定に基づいて停止命令を送信する動作について説明する。
<診断装置の機能ブロックの構成>
図26は、第1の実施形態の変形例1−1の診断装置の機能ブロックの構成の一例を示す図である。図26に示すように、診断装置100aは、通信制御部101と、判定部102と、受付部103と、特徴抽出部104と、生成部105と、反映条件設定部106(設定部)と、モデル選択部107(選択部)と、入力部108と、表示制御部109と、表示部110と、記憶部111と、動作命令部112(命令部)と、を備えている。なお、通信制御部101、判定部102、受付部103、特徴抽出部104、生成部105、反映条件設定部106、モデル選択部107、入力部108、表示制御部109、表示部110、および記憶部111の機能は、それぞれ図4で上述した機能と同様である。
動作命令部112は、第1判定器102aまたは第2判定器102bの少なくともいずれかによって、尤度に対する閾値判定により、加工機200の動作が異常と判定された場合、送信部101bを介して、加工機200に対して停止命令を送信する。
なお、図26の各部(通信制御部101、判定部102、受付部103、特徴抽出部104、生成部105、反映条件設定部106、モデル選択部107、表示制御部109おおび動作命令部112)は、図3のCPU61にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
また、図26に示した診断装置100aの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図26で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図26の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
<モデル適正判断モードにおける複数のモデルによる診断処理>
図27は、第1の実施形態の変形例1−1における複数のモデルによって診断処理を行い、閾値判定に基づいて停止命令を送信する動作の一例を示すフローチャートである。図28は、第1の実施形態の変形例1−1における複数のモデルによって診断処理を行い、閾値判定に基づいて停止命令を送信する場合の尤度の経時変化の一例を示す図である。図27および図28を参照しながら、本変形例でのモデル適正判断モードにおける複数のモデルによる診断処理について説明する。なお、以下では説明を簡潔にするため、同一のコンテキスト情報に対応する2つのモデルを用いた診断処理について説明する。
上述のように、加工機200の数値制御部201は、現在の動作を示すコンテキスト情報を逐次診断装置100aに送信する。モデル適正判断モードにおいて、受信部101aは、このようにして加工機200から送信されたコンテキスト情報を受信する(ステップS601)。また、加工機200の検知部211は、加工時の検知情報を逐次出力する。受信部101aは、このようにして加工機200から送信された検知情報(センサデータ)を受信する(ステップS602)。
特徴抽出部104は、受信された検知情報から特徴情報を抽出する(ステップS603)。
判定部102の第1判定器102aは、抽出された特徴情報と、受信されたコンテキスト情報に対応する特定のモデル(モデルA)と、を用いて、尤度を求め、加工機200の動作の異常の有無を判定する(ステップS604)。
判定部102の第2判定器102bは、抽出された特徴情報と、受信されたコンテキスト情報に対応するモデルであって、第1判定器102aが用いるモデルとは異なるモデル(モデルB)と、を用いて、尤度を求め、加工機200の動作の異常の有無を判定する(ステップS605)。
判定部102の結果処理部102cは、モデルA、Bによる判定結果を出力する(ステップS606)。判定結果の出力方法として、本実施形態では、例えば、表示部110に判定結果を表示させる。
第1判定器102aまたは第2判定器102bの少なくともいずれかによって、尤度に対する閾値判定により、加工機200の動作が異常と判定された場合(ステップS607:異常)、ステップS608へ移行する。一方、第1判定器102aおよび第2判定器102bの双方の尤度に対する閾値判定の結果、加工機200の動作が正常と判定された場合(ステップS607:正常)、モデル適正判断モードにおける複数のモデルによる診断処理を継続する。
動作命令部112は、第1判定器102aまたは第2判定器102bの少なくともいずれかによって、尤度に対する閾値判定により、加工機200の動作が異常と判定された場合、送信部101bを介して、加工機200に対して停止命令を送信する(ステップS608)。この場合、診断装置100aから停止命令を受信した加工機200は、異常の発声率が高いとみなして加工動作を停止する。作業者は、加工機200の加工動作が停止したことを確認した後、工具の交換を行う。
なお、動作命令部112は、第1判定器102aまたは第2判定器102bの少なくともいずれかによって、尤度に対する閾値判定により、加工機200の動作が異常と判定された場合、停止命令を送信するものとしたが、これに限定されるものではない。例えば、モデルA、Bのうちいずれか一方についての尤度に対する閾値判定が異常となった場合、図28に示すように複数のモデル(ここでは、モデルA、B)の尤度のグラフのうち異常寄りの部分についての閾値判定が異常となった場合、または、複数のモデルの尤度のグラフのうち正常寄りの部分についての閾値判定が異常となった場合に、停止命令を送信するものとしてもよい。
以上のように、複数のモデルによる判定を行うモデル適正判断モードにおいて、閾値判定の結果、異常と判定された場合、加工機200の加工動作を停止させることによって、工具の破損を抑制することができる。
(第1の実施形態の変形例1−2)
本変形例では、モデル適正判断モードにおいて、複数のモデルによって診断処理を行っている場合、閾値判定に基づいて警報通知を行う動作について説明する。
<診断装置の機能ブロックの構成>
図29は、第1の実施形態の変形例1−2の診断装置の機能ブロックの構成の一例を示す図である。図30は、警報設定を行う設定画面の一例を示す図である。図29に示すように、診断装置100bは、通信制御部101と、判定部102と、受付部103と、特徴抽出部104と、生成部105と、反映条件設定部106(設定部)と、モデル選択部107(選択部)と、入力部108と、表示制御部109と、表示部110と、記憶部111と、警報設定部113と、警報部114と、を備えている。なお、通信制御部101、判定部102、受付部103、特徴抽出部104、生成部105、反映条件設定部106、モデル選択部107、入力部108、表示制御部109、表示部110、および記憶部111の機能は、それぞれ図4で上述した機能と同様である。
警報設定部113は、表示制御部109に対して、例えば、図30に示すような、尤度に対する閾値の設定、警報の方式、警報メールの送信先、および警報電話の呼び出し先を設定する設定画面を、表示部110の表示画面300に表示させ、作業者による入力部108を介した操作入力に応じて当該設定項目の設定を行う。
警報部114は、第1判定器102aまたは第2判定器102bの少なくともいずれかによって、尤度に対する警報設定部113により設定された閾値の判定により、加工機200の動作が異常と判定された場合、表示制御部109に対して、警報を通知する画面を表示部110に表示させる。さらに、警報部114は、警報設定部113により設定された送信先に警報メールを送信し、設定された呼び出し先に警報電話をかける。なお、警報部114は、表示部110に警報と通知する画面を表示させることだけはなく、例えば、スピーカにより警告音を鳴動させたりして、警報を通知ものとしてもよい。
なお、図29の各部(通信制御部101、判定部102、受付部103、特徴抽出部104、生成部105、反映条件設定部106、モデル選択部107、表示制御部109、警報設定部113および警報部114)は、図3のCPU61にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
また、図29に示した診断装置100bの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図29で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図29の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
<モデル適正判断モードにおける複数のモデルによる診断処理>
図31は、第1の実施形態の変形例1−2における複数のモデルによって診断処理を行い、閾値判定に基づいて警報通知をする動作の一例を示すフローチャートである。図32および図33は、警報画面の一例を示す図である。図31〜図33を参照しながら、本変形例でのモデル適正判断モードにおける複数のモデルによる診断処理について説明する。なお、以下では説明を簡潔にするため、同一のコンテキスト情報に対応する2つのモデルを用いた診断処理について説明する。
上述のように、加工機200の数値制御部201は、現在の動作を示すコンテキスト情報を逐次診断装置100bに送信する。モデル適正判断モードにおいて、受信部101aは、このようにして加工機200から送信されたコンテキスト情報を受信する(ステップS701)。また、加工機200の検知部211は、加工時の検知情報を逐次出力する。受信部101aは、このようにして加工機200から送信された検知情報(センサデータ)を受信する(ステップS702)。
特徴抽出部104は、受信された検知情報から特徴情報を抽出する(ステップS703)。
判定部102の第1判定器102aは、抽出された特徴情報と、受信されたコンテキスト情報に対応する特定のモデル(モデルA)と、を用いて、尤度を求め、加工機200の動作の異常の有無を判定する(ステップS704)。
判定部102の第2判定器102bは、抽出された特徴情報と、受信されたコンテキスト情報に対応するモデルであって、第1判定器102aが用いるモデルとは異なるモデル(モデルB)と、を用いて、尤度を求め、加工機200の動作の異常の有無を判定する(ステップS705)。
判定部102の結果処理部102cは、モデルA、Bによる判定結果を出力する(ステップS706)。判定結果の出力方法として、本実施形態では、例えば、表示部110に判定結果を表示させる。
第1判定器102aまたは第2判定器102bの少なくともいずれかによって、尤度に対する閾値判定により、加工機200の動作が異常と判定された場合(ステップS707:異常)、ステップS708へ移行する。一方、第1判定器102aおよび第2判定器102bの双方の尤度に対する閾値判定の結果、加工機200の動作が正常と判定された場合(ステップS707:正常)、モデル適正判断モードにおける複数のモデルによる診断処理を継続する。
警報部114は、警報設定部113により設定された警報設定を読み取る(ステップS708)。例えば、警報設定部113により設定された警報設定の内容は、記憶部111に記憶されているものとし、警報部114は、記憶部111に記憶された警報設定を読み取るものとすればよい。
警報部114は、第1判定器102aまたは第2判定器102bの少なくともいずれかによって、尤度に対する警報設定部113により設定された閾値の判定により、加工機200の動作が異常と判定された場合、表示制御部109に対して、警報を通知する画面を表示部110に表示させる(ステップS709)。例えば、警報部114は、表示制御部109に対して、図32に示すようなどのモデルを用いた閾値判定で異常が発生したかを示す画面を、表示部110の表示画面300に表示させる。例えば、警報部114は、図32に示す表示画面300において「OK」ボタンが押下された場合、図33に示すように、以後の処理を選択させる画面を表示画面300に表示させてもよい。図33に示す画面において、例えば、「無視」ボタン、または「誤報とみなし無視」ボタンが押下された場合、警報通知を無視して加工機200による加工動作、および診断装置100bによる診断処理を継続させる。また、「工具交換」ボタンが押下された場合、上述の図26の動作命令部112に相当する機能部が、加工機200に対して停止命令を送信して、加工機200に加工動作を停止させ、工具が交換できる状態にしてもよい。
さらに、警報部114は、警報設定部113により設定された送信先に警報メールを送信し、設定された呼び出し先に警報電話をかける。
以上のように、複数のモデルによる判定を行うモデル適正判断モードにおいて、閾値判定の結果、異常と判定された場合、警報を通知する画面を表示すること等によって作業者に警報通知を行う。これによって、作業者は、加工機200の動作の異常を認識しやすくなり、加工動作を停止させることによって、工具の破損を抑制することもできる。
(第1の実施形態の変形例1−3)
本変形例では、モデル適正判断モードにおいて、診断装置は、診断処理に用いている複数のモデルそれぞれに対して良否スコアを算出し、良否スコアに基づいて、通常モードで使用するモデルを自動で選択する動作について説明する。
<診断装置の機能ブロックの構成>
図34は、第1の実施形態の変形例1−3の診断装置の機能ブロックの構成の一例を示す図である。図35は、理想通知期間を設定する設定画面の一例を示す図である。図34に示すように、診断装置100cは、通信制御部101と、判定部102と、受付部103と、特徴抽出部104と、生成部105と、反映条件設定部106(設定部)と、モデル選択部107(選択部)と、入力部108と、表示制御部109と、表示部110と、記憶部111と、期間設定部115と、算出部116と、を備えている。なお、通信制御部101、判定部102、受付部103、特徴抽出部104、生成部105、反映条件設定部106、モデル選択部107、入力部108、表示制御部109、表示部110、および記憶部111の機能は、それぞれ図4で上述した機能と同様である。
期間設定部115は、表示制御部109に対して、例えば、図35に示すような、閾値判定に用いるモデルが異常判定されて通知される理想の期間である理想通知期間を設定する設定画面を、表示部110お表示画面300に表示させる。そして、期間設定部115は、作業者による入力部108を介した操作入力によって調整されたカーソル303a、303bの位置に基づいて、理想通知期間を設定する。図35の例では、カーソル303aが破損のタイミングの一日前に設定され、カーソル303bが破損のタイミングの一週間前に設定された結果、破損のタイミングから一週間前から一日前までの期間を理想通知期間として設定されている。このように、期間設定部115による理想通知期間が設定可能であることにより、例えば、加工対象品により早めに通知がほしい場合、または、工具を破損寸前まで使用したい場合等の管理者または作業者の要望に応じたモデルの選択が可能となる。
算出部116は、モデル適正判断モードの所定の期間(試行期間)において、診断処理に用いられる複数のモデルそれぞれについて、以下の式(1)により算出される良否スコア(指標値の一例)を算出する。
(良否スコア)=1×(理想通知期間内に通知(異常判定)された回数)−2×(理想通知期間外に通知)−10×(通知せず破損が起きた回数) ・・・(1)
モデル選択部107は、算出部116により算出された複数のモデルにそれぞれ対応する良否スコアのうち、値が最も高いモデルを通常モードにおける診断処理に利用するモデルとして選択する。
なお、図34の各部(通信制御部101、判定部102、受付部103、特徴抽出部104、生成部105、反映条件設定部106、モデル選択部107、表示制御部109、期間設定部115および算出部116)は、図3のCPU61にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
また、図34に示した診断装置100cの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図34で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図34の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
<複数のモデルからの特定のモデルの選択処理>
図36は、第1の実施形態の変形例1−3の自動でモデルを選択するモデル選択処理の一例を示すフローチャートである。図36を参照しながら、良否スコアに基づいて自動でモデルを選択するモデル選択処理について説明する。
モデル適正判断モードにおいて、所定の試行期間の間、診断装置100cは診断処理を実行し、算出部116は、期間設定部115により設定された理想通知期間を用いて、上述の式(1)中のそれぞれの回数をカウントする。そして、算出部116は、所定の試行期間が終了したことを確認する(ステップS801)。
算出部116は、試行期間中にカウントした上述の式(1)中のそれぞれの回数を用いて、複数のモデルそれぞれに対応する良否スコアを算出する(ステップS802)。モデル選択部107は、算出部116により算出された複数のモデルにそれぞれ対応する良否スコアのうち、値が最も高いモデルを通常モードにおける診断処理に利用するモデルとして選択する(ステップS803)。
そして、モデル選択部107は、選択されたモデルの情報を記憶部111に記憶し、例えば、現在実行されている診断処理、または次回実行される診断処理で使用される当該コンテキスト情報に対応するモデルとして、選択されたモデルを反映する(ステップS804)。
以上のように、設定された理想通知期間に基づいた良否スコアを算出し、良否スコアが最も高いモデルを、通常モードの診断処理に使用するモデルとして自動で選択するものとしている。これによって、管理者が、モデル適正判断モードにおける診断処理の結果により、複数のモデルのうちどのモデルが適正かどうかを判断する必要がないので、モデルを選択する作業負荷を軽減することができる。
[第2の実施形態]
第1の実施形態では、1種類の検知情報を用いて正常か否かを判定していた。判定に用いる検知情報の個数は1に限られず、2以上であってもよい。第2の実施形態の診断システムは、複数の検知情報を用いて加工機200の異常を判定する。なお、第2の実施形態の診断システムの構成は、第1の実施形態の構成を示す図1と同様であるため説明を省略する。
(診断装置の機能ブロックの構成)
図37は、第2の実施形態の診断装置の機能ブロックの構成の一例を示す図である。図37に示すように、診断装置100−2は、通信制御部101と、判定部102−2と、受付部103と、特徴抽出部104と、生成部105と、反映条件設定部106(設定部)と、モデル選択部107(選択部)と、入力部108と、表示制御部109と、表示部110と、記憶部111と、を備えている。
第2の実施形態では、判定部102−2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態に係る診断装置100のブロック図である図4と同様であるので、同一符号を付し、ここでの説明は省略する。
判定部102−2は、複数の検知情報を用いて加工機200の動作が正常であるか否かを判定する。例えば、判定部102は、コンテキスト情報に応じて、判定に用いる検知情報を切り替える。
(診断処理の具体例)
図38は、第2の実施形態による処理の具体例を説明するための図である。図38の例では、コンテキスト情報1201と、複数種類の検知情報1221a、1221bとが受信される。検知情報1221aは、例えば音響データである。検知情報1221bは、例えば加速度データである。
判定部102−2は、コンテキスト情報が「モータAが駆動されていること」を示す場合、検知情報1221bのうち、当該コンテキスト情報に対応する期間の検知情報1222bから抽出された特徴情報を用いて判定を実行する。この場合、判定部102−2は、コンテキスト情報に対応するモデル「モータA」を記憶部111a−2のモデルDB_加速度から読み出して使用する。
また、判定部102−2は、コンテキスト情報が「モータBが駆動されていること」を示す場合、検知情報1221aのうち、当該コンテキスト情報に対応する期間の検知情報1222aから抽出された特徴情報を用いて判定を実行する。この場合、判定部102−2は、コンテキスト情報に対応するモデル「モータB」を1記憶部111b−2のモデルDB_音響から読み出して使用する。
コンテキスト情報に対応する検知情報は、例えば、記憶部111に記憶される対応情報を用いて決定されてもよい。図39は、検知情報の決定に用いられる対応情報のデータ構造の一例を示す図である。対応情報は、例えば、センサデータと、コンテキスト情報と、を含む。判定部102−2は、このような対応情報を参照することにより、コンテキスト情報に対応する検知情報を決定することができる。
以上のような本実施形態のように、複数の検知情報を用いて加工機200の異常を判定する場合において、複数の検知情報それぞれに対応するコンテキスト情報に対応するモデルが複数ある場合、第1の実施形態で説明したように、そのコンテキスト情報に対応する複数のモデルから適正なモデルを選択するための支援処理を行うモデル適正判断モードの動作、および、モデルの選択処理を適用することが可能である。
次に、上述の各実施形態に適用可能な変形例について説明する。
[変形例1]
コンテキスト情報は、ある駆動部212が駆動されている区間を示しているだけであり、例えば、この駆動部212により工具が回転し材料に当たって加工している、実際の加工区間を厳密に抽出できない場合がある。すなわち、異常判定の精度が悪くなる場合がある。
図40は、コンテキスト情報と加工区間との関係の例を示す図である。コンテキスト情報1501は、モータBが駆動されていることを示す。コンテキスト情報1501のみに基づくと、例えば、検知情報のうち波形区間1512に相当する検知情報が特定される。しかし、実際に材料を加工している区間は波形区間1511である。例えば、音響データを検知情報としている場合、波形区間1511は、工具が材料に接触して音が発生することにより検出される音響データの区間に相当する。
そこで、変形例1では、コンテキスト情報と検知情報とを組合せて、実際の加工区間を特定するように構成する。すなわち、判定部102は、受信されたコンテキスト情報で特定される期間のうち判定に用いる期間を、受信された検知情報に基づいて決定し、決定した期間の検知情報とモデルとを用いて判定を実行する。
例えば、判定部102は、検知情報の特徴が切り替わる時刻を特定することにより、加工区間を求める。図41は、加工区間の特定方法の一例を示す図である。図41の例では、判定部102は、検知情報の振幅が予め定められた閾値(例えば「a」および「−a」)を超えるように切り替わった時刻1601と、その後、閾値を下回るように切り替わった時刻1602とを特定する。判定部102は、時刻1601と時刻1602との間の区間1611を抽出する。そして、判定部102は、区間1611の検知情報から抽出された特徴情報を用いて判定を実行する。これにより、実際の加工区間に相当する区間の検知情報を用いて、より高精度に判定を実行可能となる。
[変形例2]
上述のように、正常か否かを判定するとき、尤度の値自体を用いてもよいし、尤度の変動を示す値を用いてもよい。変形例2では、尤度の変動を示す値の例について説明する。尤度の変動を示す値として、例えば、尤度の分散を用いることができる。例えば、区間Xでの尤度の分散は、以下の式(2)式により算出される。n
Xは区間Xでのフレーム数、kはフレームのインデックス、x
iはフレームiでの尤度(フレーム尤度)、μ
Xは区間Xでのフレーム尤度の平均、を表す。なお、フレームは、尤度を算出する単位区間に相当する。
さらに、式(2)のような分散を元にスコア化した値を判定に用いてもよい。例えば、以下の式(3)に示すr(k)を判定に用いてもよい。
r(k)=VS(k)/VL(k) ・・・(3)
S、Lは、区間Xの種類を表す。Sは、短い区間(Short区間)を表し、Lは長い区間(Long区間)を表す。VS(k)は、短い区間に対して式(2)で算出される値を示す。VL(k)は、長い区間に対して式(2)で算出される値を示す。SおよびLのそれぞれに対して、nX、μXに対応する値であるnS、μS、および、nL、μLが算出される。
図42は、尤度と判定値r(k)との関係の一例を示すグラフである。尤度と閾値とを比較する判定方法では、例えば、閾値を0.97とすると、200〜300フレームの間では正常と判定される。一方、判定値r(k)と閾値(例えば1.0)とを比較する判定方法では、200〜300フレームの間での尤度の変動を検出し、異常と判定することが可能となる。
[変形例3]
判定部102は、尤度と閾値との比較で正常か異常かを判定するだけでなく、尤度の経時変化も判定して出力するように構成してもよい。例えば、1つの正常時のモデルを用いる場合、判定部102は、算出した尤度を記憶部111等に記憶し、尤度の変化(経時的に減少しているか、等)を求めてもよい。
図43は、尤度の経時変化の一例を示す図である。判定部102は、例えば、判定した時間と尤度とを記憶することにより尤度の経時変化を求めることができる。判定部102は、尤度が閾値を下回ったときに異常と判定する点は上述の各実施形態と同様である。判定部102は、さらに、尤度の経時変化を示す情報、および、尤度が閾値を下回ると予測される時間等を求めて出力するように構成してもよい。
[変形例4]
判定部102は、複数の閾値を用いて品質の程度(ランク、レベル)を判定するように構成してもよい。図44および図45は、複数の閾値を用いる例を説明するための図である。各図は、4つの閾値(閾値1〜閾値4)を用いる例であるが、閾値の個数は4に限られない。
図44では、4つ閾値との大小関係により品質ランクをR1〜R5の5つに分ける例が示されている。判定部102は、各閾値と尤度との比較により、品質ランクを決定して出力する。品質ランクは、例えば、加工機200により加工された物体(加工物)の品質を示す情報(品質情報)として利用できる。
図45では、4つ閾値との大小関係により、正常であるか(問題なし)、要注意であるか、および、異常であるか(品質基準以下であるか)を判定する例が示されている。正常である場合は、さらに2つのレベルであるL11、L12に分けられる。同様に、要注意である場合は、さらに2つのレベルであるL21、L22に分けられる。3以上にさらに細分化してもよい。
[変形例5]
判定部102は、品質ランクに応じて定められる複数のモデルを用いて複数の尤度を算出し、正常か否かの判定とともに、正常である場合の品質ランクを判定してもよい。図46−1〜図46−3は、変形例5による判定方法の一例を説明するための図である。
図46−1、図46−2、および、図46−3は、それぞれ品質ランクR1、R2、および、R3を判定するモデルにより算出される尤度の例を示す。品質ランクR1は、例えば、経時変化の初期の期間1で正常と判定される品質を表す。品質ランクR2は、例えば、経時変化の中間の期間2で正常と判定される品質を表す。品質ランクR3は、例えば、経時変化の終期の期間3で正常と判定される品質を表す。
判定部102は、このような複数の品質ランクに対応する複数のモデルを用いて、複数の尤度を算出する。通常は、いずれか1つのモデルを用いたときの尤度が閾値を超える。判定部102は、閾値を超えたときの尤度を算出したモデルが示す品質ランクを決定して判定結果として出力する。いずれのモデルを用いたときも尤度が閾値を超えない場合、判定部102は、異常であると判定する。
複数のモデルは、品質ランクごとに予め生成しておけばよい。本変形例によれば、単に正常か否かを判定するだけでなく、品質のレベルも判定することが可能となる。また、現在、経時変化のいずれの期間に相当するかを判定することも可能となる。
[変形例6]
判定部102は、複数のモデルを経過時間に応じて切り替えて使用して判定を実行してもよい。図47−1〜図47−3は、変形例6による判定方法の一例を説明するための図である。
図47−1、図47−2、および、図47−3は、それぞれ期間1、期間2、および、期間3に対して生成されたモデルにより算出される尤度の例を示す。期間1、期間2、および、期間3は、それぞれ経時変化の初期、中期、および、終期の期間に相当する。各モデルは、対応する期間の検出情報を用いて予め生成しておけばよい。
判定部102は、例えば、累積使用時間等の期間を特定するためのコンテキスト情報を用いて、いずれの期間のモデルを適用するかを判定する。判定部102は、特定したモデルを用いて正常か否かを判定する。本変形例によれば現時点の状態が妥当な経時変化(正常な状態)であるか、妥当な経時変化から外れた状態(異常な状態)であるかを判定することが可能となる。
[変形例7]
判定部102は、品質ランクに応じて定められる複数のモデルのうち、指定されたモデルを用いて判定を実行してもよい。例えば、より高品質な加工物が要求される場合は、判定部102は、高い品質ランクに対して定められるモデルを用いる。通常の品質の加工物が要求される場合は、判定部102は、高品質ランクより小さい品質ランクに対して定められるモデルを用いる。いずれのモデルを用いるかは、例えば、受信部101aにより受信されるコンテキスト情報、および、受付部103等を介して受け付けられる情報等を用いて決定してもよい。
以上のような変形例1〜変形例7においても、コンテキスト情報に対応するモデルが複数ある場合、第1の実施形態で説明したように、そのコンテキスト情報に対応する複数のモデルから適正なモデルを選択するための支援処理を行うモデル適正判断モードの動作、および、モデルの選択処理を適用することが可能である。
なお、上述の各実施形態および各変形例の診断装置で実行されるプログラムは、ROM等に予め組み込まれて提供される。
上述の各実施形態および各変形例の診断装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk−Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成してもよい。
さらに、上述の各実施形態および各変形例の診断装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述の各実施形態および各変形例の診断装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、上述の各実施形態および各変形例の診断装置で実行されるプログラムは、上述した各部(通信制御部、判定部等)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。