(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
異常要因の切り分けの方法としては、特許文献1に開示されるように、産業機械の部位毎にセンサを設置し、センサの反応の強弱によって異常要因を特定する方法が考えられるが、コストやメンテナンスの面からセンサ数は出来る限り少ないことが望ましい。
【0006】
また、異常要因毎に発生する現象の詳細が事前に分かっていれば、特許文献3に開示されるように、事前知識を用いて異常要因を切り分けることが可能だが、一般的に産業機械の故障はまれな現象であり、故障に起因する機械の異常に関する知識を収集することが困難な事が多い。また、センサ観測値は機械の設置環境や個体差による影響が無視できない場合が多く、事前知識を用意したとしてもセンサの設置環境や個体差に合わせて事前知識を調整しなければ使い物にならない場合も多いので、センサ観測値に関する事前知識は出来るだけ用いないことが望ましい。
【0007】
そこで本発明の目的は、異常の予兆から異常要因の切り分けを行う異常要因特定装置を提供することである。
【課題を解決するための手段】
【0008】
本発明の異常要因特定装置は、機械の動作状況に関する情報とセンサ信号を組み合わせて異常要因の切り分けを行うことで、上記課題を解決する。本発明の異常要因特定装置は、複数の異なる機械の動作状況においてセンサ信号に基づいて動作の異常度を計算し、異常度の時系列的な変化傾向を示す履歴データを作成した上で機械の動作状況に関連付けて記憶しておく。そして、機械の複数の動作状況における異常度の変化傾向を解析することで、異常要因の切り分けを行う。
【0009】
そして、本発明の一態様は、機械において発生する異常の要因を特定する異常要因特定装置において、前記機械の物理状態に関するセンサ信号を取得するセンサ信号取得部と、前記機械から取得した情報に基づいて前記機械の動作状況を判定する動作状況判定部と、前記動作状況判定部が判定した前記機械の動作状況毎に、前記センサ信号の異常度を計算する異常度計算部と、前記動作状況毎の前記異常度の系列である履歴データ
の変化傾向から前記機械の異常の要因を判定する要因特定部と、を備えた異常要因特定装置である。
【発明の効果】
【0010】
本発明により、異常要因の切り分けの精度は従来のやり方と比較して向上し、特に、少数のセンサ値を用いている環境下においても、ある程度の精度を保ったまま異常要因の切り分けを行うことができるようになる。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による異常要因特定装置の要部を示す概略的なハードウェア構成図である。異常要因特定装置1は、ロボットや工作機械等の機械を制御する制御装置として実装することができる。また、異常要因特定装置1は、機械を制御する制御装置と併設されたパソコンや、制御装置とネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。
図1は、機械を制御する制御装置として異常要因特定装置1を実装した場合の例を示している。
【0013】
本実施形態による異常要因特定装置1が備えるCPU11は、異常要因特定装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って異常要因特定装置1全体を制御する。RAM13には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【0014】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされるなどして、異常要因特定装置1の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれた制御プログラムや表示器/MDIユニット70を介して入力された制御プログラム、異常要因特定装置1の各部や工作機械、センサ等から取得された各種データ(例えば、制御プログラムによる指令の実行状態、工作機械の動作状態を示す各種信号、サーボモータ50やスピンドルモータ62の位置,速度,電流・電圧値、振動センサや温度センサ等のセンサによる検出値、加工条件、工具やワークの情報等)が記憶される。不揮発性メモリ14に記憶された制御プログラムや各種データは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種のシステム・プログラムがあらかじめ書き込まれている。
【0015】
インタフェース15は、異常要因特定装置1とアダプタ等の外部機器72と接続するためのインタフェースである。外部機器72側からはプログラムや各種パラメータ等が読み込まれる。また、異常要因特定装置1内で編集したプログラムや各種パラメータ等は、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、異常要因特定装置1に内蔵されたシーケンス・プログラムで工作機械及び該工作機械の周辺装置(例えば、工具交換用のロボットハンドといったアクチュエータ、工作機械に設置されたセンサ等)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチや周辺装置等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0016】
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は表示器/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。インタフェース19は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤71に接続されている。
【0017】
工作機械が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、
図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数だけ用意される。
【0018】
スピンドル制御回路60は、主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
【0019】
図2は、第1の実施形態による異常要因特定装置1の概略的な機能ブロック図である。
図2に示した各機能ブロックは、
図1に示した異常要因特定装置1が備えるCPU11が、それぞれのシステム・プログラムを実行し、異常要因特定装置1の各部の動作を制御することにより実現される。
【0020】
本実施形態の異常要因特定装置1は、不揮発性メモリ14から読み出された制御プログラムに基づいて機械2を制御する制御部34と、制御部34及び機械2から取得した情報に基づいて、機械2の動作状況を判定する動作状況判定部36と、機械に設置されたセンサ3が検出した検出値をセンサ信号として取得するセンサ信号取得部38と、動作状況判定部36が判定した機械の動作状況と、センサ信号取得部38がセンサ3から取得したセンサ信号とに基づいて、機械2の動作の異常度を計算して機械2の動作状況と関連付けた履歴データとして不揮発性メモリ14に記憶する異常度計算部42と、不揮発性メモリ14に記憶された機械2の動作の異常度の履歴データに基づいて機械2の異常を検出すると共にその異常要因を特定する要因特定部44と、を備える。
【0021】
制御部34は、不揮発性メモリ14から制御プログラムのブロックを読み出して、外部ロックによる指令に基づいて機械2を制御する機能手段である。制御部34は、制御プログラムのブロックが機械2が備える軸の移動を指令する場合に当該軸を駆動するサーボモータ50に対して制御周期毎に移動量を出力する、制御プログラムのブロックが機械2に備え付けられた図示しない周辺装置の動作を指令する場合に当該周辺装置に動作指令を出力する等のように、機械2の各部を制御するための一般的な機能を備える。また、制御部34は、要因特定部44が異常を検出した場合に、要因特定部44が特定した以上要因に基づいて、表示器/MDIユニットに対して警告を表示する、機械2の現在の動作を停止する、といった異常発生時の制御を行う。
【0022】
動作状況判定部36は、制御部34による機械2の制御の内容や、機械2から取得された情報に基づいて、機械2の動作状況を判定する機能手段である。動作状況判定部36は、例えば制御部34が早送り指令を実行している場合に機械2が備えるサーボモータ50が駆動している状況であると判定し、制御部34が切削送り指令を実行している場合に機械2がサーボモータ50を駆動させながら切削を行っている状況であると判定する。また、動作状況判定部36は、例えば機械2から切削送り中であることを示す信号を検知した場合に機械2がサーボモータ50を駆動させながら切削を行っている状況であると判定するようにしても良く、また、機械2が備える周辺装置からの動作信号を検知することで該周辺装置が動作している状況であると判定するようにしても良い。この様に、動作状況判定部36には、制御部34による制御の情報と機械2から取得される情報、更に必要であればセンサ信号取得部38がセンサ3から取得したセンサ信号に基づいて総合的に機械2の動作状況を判定させるようにすると、効果的に機械2の動作状況を判定することができる。また、動作状況判定部36は、軸駆動中及び加速中、軸駆動中及び減速中等といった様に、同時点において成立し得る機械2の複数の動作状況を判定するようにしても良い。
【0023】
動作状況判定部36は、例えば
図3に例示される、機械動作状況判定テーブルを用いて機械2の動作状況を判定するようにしても良い。
図3の機械動作状況判定テーブルでは、制御部34による制御内容及び機械から取得された情報に対して、機械の動作状況を関連付けたものとしている。また、
図3の機械動作状況判定テーブルでは、内容を問わない項目については「−」で表わしている。この様に、予め制御部34による制御内容及び機械から取得された情報に対して、機械の動作状況を関連付けたテーブルを作成しておくことで、動作状況判定部36は速やかに機械2の現在の動作状況を判定することができる。
図3に例示する以外にも、例えば予め制御部34による制御内容(指令、座標値等)および機械から取得された情報を引数として機械の動作状況を求める関数を作成しておいてこれを用いるようにしても良いし、制御部34による制御内容(指令、座標値等)および機械から取得された情報を入力とし、機械2の動作状況を出力する機械学習器を用いるようにしても良く、現在の機械2の動作状況を的確且つ速やかに判定できるのであれば、その実装方法は問わない。
【0024】
センサ信号取得部38は、機械2に設置されているセンサ3が検出した検出値をセンサ信号として取得する機能手段である。センサ信号取得部38が検出値を取得する対象となるセンサ3としては、例えばサーボモータ50やスピンドルモータ62に備え付けられている位置・速度検出器やポジションコーダ63、機械2の温度を測定する温度センサ、機械2に発生している振動を検出する加速度センサ、機械2が発している音を検出する音センサ等であって良い。なお、センサ信号取得部38は、複数のセンサ3からのセンサ信号を取得できるように構成されていて良いが、コストやメンテナンスの面を考えている場合にはセンサ3の数は出来る限り少ないことが望まれる。本発明の異常要因特定装置1では、その異常要因の切り分け方法の特徴から、2〜3つの少数、或いは極論を言えば1つのセンサ3からセンサ信号を取得できれば、それなりの精度で異常要因の切り分けを行うことができる。センサ3の数を少なくした分の異常要因特定の精度の低下は、動作状況判定部36により判定された機械2の動作状況の情報を用いることで十分に補われる。
【0025】
センサ信号取得部38が取得するセンサ信号は、瞬間的な検出値であっても良く、また、機械2の同じ動作状況下において連続して取得される時系列的な検出値であっても良いが、異常度計算部42ではセンサ3により検出された検出値の変化を用いたり、統計的手法で異常度を算出したりすることも考えられるため、機械2の同じ動作状況下における時系列的な検出値を取得すると良い。センサ信号取得部38が取得するセンサ信号は、通常の機械2の運転時に取得するようにしても良いし、例えば、その日の機械2の運転を開始する前に、所定の動作試験運転を行うようにし、その動作試験運転の中でセンサ信号を取得するようにしても良い。
【0026】
また、センサ信号取得部38は、作業者からの表示器/MDIユニット70を介した操作指令に基づいて、機械2の動作状況毎にセンサ信号取得部38が取得したセンサ信号を基準となるセンサ信号として動作状況と関連付けて不揮発性メモリ14に記憶するようにしても良い。ここで不揮発性メモリ14に記憶される基準となるセンサ信号は、機械2が正常に動作する状態で取得されたものであることが望ましく、異常度計算部42が機械2の動作の異常度を算出するための基準として用いるものである。不揮発性メモリ14には、同じ動作状況に関連付けたセンサ信号について、異常度計算部42が統計的な処理をするために十分な数のデータを記憶しておくと良い。なお、機械2の設置環境や動作環境によってセンサ3が検出する検出値が変化することを考慮するのであれば、機械2を実際に運転する環境に設置した初期において、実際に機械2を試験的に運転し、複数の動作状況においてセンサ信号の基準となるデータを取得し、取得した基準となるセンサ信号をそれぞれの動作状況と関連付けて不揮発性メモリ14に記憶しておくことが好ましい。
【0027】
異常度計算部42は、動作状況判定部36が判定した動作状況毎の機械2の動作の異常度をセンサ信号取得部38が取得したセンサ信号に基づいて計算し、計算した動作状況毎の機械2の動作の異常度の履歴データを不揮発性メモリ14に記憶する機能手段である。異常度計算部42は、例えば不揮発性メモリ14に記憶された動作状況毎の基準となるセンサ信号のデータ(群)からみてどの程度乖離しているのかを示す度合いを予め定めた関数等を用いて計算して異常度として用いるようにしても良く、その場合、例えば一般的な外れ値検定、K近傍法、MT法等の公知の手法を用いれば良い。異常度計算部42が不揮発性メモリ14に記憶する履歴データは、それぞれの異常度が計算された時間的な流れが把握できるように構成される。例えば、履歴データに含まれる動作状況毎の機械2の動作の異常度のそれぞれは、該異常度が計算された順序を示す情報を含んでいても良く、又は、該異常度の計算の元となったセンサ信号が取得された時刻を含むようにしても良い。
【0028】
要因特定部44は、不揮発性メモリ14に記憶された機械2の動作の異常度の履歴データに基づいて機械2の異常を検出すると共にその異常要因を特定する機能手段である。要因特定部44は、機械2の動作状況毎の履歴データのそれぞれについて、異常度の時系列的な変化傾向を分析し、その結果として得られた動作状況毎の異常度の変化傾向に基づいて、異常要因(異常が発生した部位、異常の種類)の切り分けを行う。要因特定部44は、機械2の複数の動作状況の履歴データについて、例えば異常度の変化速度を求め、それぞれの動作状況における異常度の値と異常度の変化速度とに基づいて異常要因の切り分けを行うようにしても良い。
【0029】
図4,5は、不揮発性メモリ14に記憶された、機械2の動作状況毎の機械2の動作におけるモータの速度フィードバック値の異常度の履歴データの例を示している。
図4,5において、th
1,th
2は、それぞれの動作状況における機械2の動作が異常の予兆を示していると判定するための異常度の閾値である。なお、
図4,5は、説明を簡単にするために、機械2の動作状況が軸駆動中(非切削中)、軸駆動中(切削中)の異常度の履歴データのみを示しているが、実際には不揮発性メモリ14には多くの動作状況に関連付けて異常度の履歴データが記憶される。
【0030】
図4に示す例では、機械2の動作状況が軸駆動中(非切削中)である場合の異常度には、大きな変化が見られず、一方で、機械2の動作状況が軸駆動中(切削中)である場合の異常度は異常の兆候を示しており(閾値th
2を越え)、異常要因の切り分け時までの4日間において緩やかに異常度が上昇している。この様な場合には、工具の部分に摩耗等の異常が発生したと特定できる。
一方で、
図5に示す例では、機械2の動作状況が軸駆動中(非切削中)である場合の異常度と、機械2の動作状況が軸駆動中(切削中)である場合の異常度が異常の兆候を示しており(閾値th
1,th
2を越え)、異常要因の切り分け時の4日前に急激に異常度が上昇している。この様な場合には、主軸の機構内(スピンドルモータ62のベアリング等)に破損等の異常が発生したと特定できる。
なお、この様な主軸に掛かる異常の特定には、他にも加速度センサ(主軸の振動)や温度センサ(主軸の温度)、音センサ(主軸の振動及び異音)等が検出したセンサ信号に基づいて行うようにしても良い。
【0031】
上記以外にも様々な機械の動作状況に基づく異常要因の特定が可能である。例えば、機械2が工作機械である場合に、動作状況が軸駆動中(切削突入時)である場合の異常度が突然上昇し、他の動作状況の時の異常度はあまり上昇していない場合等には、主軸又はテーブルを支持する部分に異常要因がある可能性があり、機械2がロボットである場合において、ロボットのアームを上昇させる動作状況(軸駆動中:逆重力方向)の場合に計算された異常度は日を追う毎に緩やかに上昇し、下降させる動作状況(軸駆動中:重力方向)の場合に計算された異常度は急激に上昇している場合には、ロボットの関節の減速機に異常要因がある可能性が高い。このように、機械2の様々な動作状況における異常度の変化に基づいた異常要因の特定を行うことができる。
【0032】
要因特定部44は、最も単純に異常要因の特定を行う場合には、
図4,5で例示するような特定処理を、例えば機械2のメーカ等が作成したテーブルやルール等に基づいて行うようにすれば良い。この様にする場合、例えば
図6に例示されるような、異常要因特定テーブルを作成して不揮発性メモリ14に記憶しておいて、要因特定部44は異常要因特定テーブルを用いて異常部位、異常種類の判定をするようにしても良い。機械2の動作状況毎の異常度の履歴データの変化の傾向は、センサ信号を直接用いるものではなく異常度という形で丸めたパラメータを見るものなので、同型の機械2であれば大きく異なることは無く、メーカが作成した異常要因特定テーブルをそのまま使用しても大きな問題は生じない。また、必要に応じて、機械2を運用する現場に設置した後に、動作状況毎に取得されるセンサ信号を確認しながら、異常要因特定テーブルに含まれる異常要因の特定のためのルールのパラメータ(閾値等)を調整することで、現場に設置された機械2の特性や設置環境に対して対応させることも可能である。
【0033】
また、要因特定部44に機械学習器を導入して、これを用いて異常度の履歴データに基づいた異常部位及び異常種類の特定処理をするようにしても良い。この様にする場合、例えば過去に発生した(そして対処された)機械2(或いはその同型機)の異常の異常要因と、その際に不揮発性メモリ14に記録されていた異常度の履歴データに基づく機械学習を機械学習器に行わせ、その学習結果に基づいて異常度の履歴データに基づいた異常部位及び異常種類の機械学習器に行わせるようにすることで、異常要因の特定を行うようにすれば良い。機械学習器の導入は、学習のプロセスにコストが掛かる点で問題を抱えているものの、機械2の特性や設置環境に対して柔軟に対応することができる点で有利である。また、機械2のメーカにおいて同型機を用いて機械学習を行わせた汎用の学習モデルを用意しておき、機械2を運用する工場等に設置した後に、該汎用の学習モデルを用いた追加の機械学習を行わせることで派生モデルを作成して利用することで、学習コストをある程度抑えることもできる。
【0034】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。