(57)【要約】【課題】遠隔地からでも制御対象や制御装置の故障診断及び故障部位の特定を時間のロスなく簡単に行え、工場のラインを止めず、通常のプレイバック運転時にも故障診断を行うことができる故障診断システム及び故障診断方法を提供する。【解決手段】モータを含む制御対象１２への入力データを生成する指令生成部１１と、前記入力データ及び前記制御対象１２の出力データを記憶するデータ記憶部１３を備えた制御装置１０と、前記制御対象１２を模擬した制御モデル２２を有し、前記制御モデル２２と前記入力データ及び前記出力データとから前記制御対象１２の故障を診断し故障部位を特定する故障判定部２３を備えた故障診断部２０と、前記制御装置１０と前記故障診断部２０とを接続する通信路１４とから構成され、前記故障診断部２０は、前記制御装置１０の外部又は前記制御装置１０の内部に配置される。【選択図】図１
2005216213.tif 000002
【特許請求の範囲】
【請求項１】
モータを含む制御対象への入力データを生成する指令生成部と、前記入力データ及び前記制御対象の出力データを記憶するデータ記憶部を備えた制御装置と、
前記制御対象を模擬した制御モデルを有し、前記制御モデルと前記入力データ及び前記出力データとから前記制御対象の故障を診断し故障部位を特定する故障判定部を備えた故障診断部と、
前記制御装置と前記故障診断部とを接続する通信路と
から構成されることを特徴とする故障診断システム。
【請求項２】
前記入力データは、前記制御対象への指令であり、前記出力データは前記指令に対する前記制御対象の応答であることを特徴とする請求項１記載の故障診断システム。
【請求項３】
前記データ記憶部は、前記入力データ及び前記出力データを前記故障診断部に送信し、前記故障判定部は、前記出力データと、前記入力データに対する前記制御モデルの出力データとを比較することで、故障診断することを特徴とする請求項１又は２記載の故障診断システム。
【請求項４】
前記故障判定部は、前記制御対象を故障と診断した場合に、前記制御対象及び前記制御モデルをそれらのハードウェア又はソフトウェアの構成によって複数個のモジュールに分割し、前記データ記憶部は前記分割された制御対象への各入力データ及び前記分割された制御対象の各出力データを前記故障診断部に送信し、
前記故障判定部は、前記各出力データと、前記各入力データに対する前記分割された制御モデルの各出力データとを比較することで、前記制御対象の故障部位を特定することを特徴とする請求項１乃至３記載の故障診断システム。
【請求項５】
前記制御装置又は前記故障診断部は、前記入力データと前記出力データ及び前記制御モデルの出力データを表示する表示画面を備えることを特徴とする請求項１乃至４記載の故障診断システム。
【請求項６】
前記制御装置又は前記故障診断部は、故障部位を特定する過程及び特定された故障部位を文字又は図形で表示する表示画面を備えることを特徴とする請求項１乃至５記載の故障診断システム。
【請求項７】
前記故障診断部は、履歴記憶部を備え、前記履歴記憶部は、特定された故障部位を記録し、前記表示画面に故障履歴を表示することを特徴とする請求項５又は６記載の故障診断システム。
【請求項８】
前記故障診断部は、前記制御対象の故障部位を特定する際に複数の候補が挙がった場合、
前記履歴記憶部に記憶された故障履歴又は予め設定された順位により、故障部位を特定することを特徴とする請求項７記載の故障診断システム。
【請求項９】
前記履歴記憶部は、前記出力データと前記制御モデルの出力データとの差分値を一定周期毎に記憶し、前記差分値の時間差分と予め設定されたしきい値とを比較することで、前記制御対象の故障を予想し、前記表示画面に警告を表示することを特徴とする請求項７又は８記載の故障診断システム。
【請求項１０】
モータを含む制御対象を制御する制御システムの故障診断方法において、
前記制御対象への入力データ及び前記制御対象の出力データを記憶し、
前記制御対象を模擬した制御モデルに前記入力データを入力し、
前記出力データと前記制御モデルの出力データとを比較して
前記制御対象の故障を診断することを特徴とする故障診断方法。
【請求項１１】
モータを含む制御対象を制御する制御システムの故障診断方法において、
前記制御対象への入力データ及び前記制御対象の出力データを記憶し、
前記制御対象を模擬した制御モデルに前記入力データを入力し、
前記出力データと前記制御モデルの出力データとを比較して
前記制御対象の故障を診断し、
故障と診断された場合は前記制御対象及び前記制御モデルをそれらのハードウェア又はソフトウェアの構成によって複数個のモジュールに分割し、
前記分割された制御対象への各入力データ及び前記分割された制御対象の各出力データを記憶し、
前記分割された制御モデルに前記各入力データを入力し、
前記分割された制御対象の各出力データと前記分割された制御モデルの各出力データとを比較して前記制御対象の故障部位を特定することを特徴とする故障診断方法。
【請求項１２】
モータを含む制御対象を制御する制御システムの故障診断方法において、
前記出力データと前記制御モデルの出力データとの差分値を一定周期毎に記憶し、前記差分値の時間差分と予め設定されたしきい値とを比較することで、前記制御対象の故障を予想することを特徴とする請求項１１又は１２記載の故障診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ロボットやサーボ、ＮＣ装置などのモータを含む制御対象の故障部位の特定や診断等を行う故障診断システム及びその故障診断方法に関する。
【背景技術】
【０００２】
遠隔地にあるユーザの工場に設置されたロボット、サーボ、ＮＣ装置などのモータを含む制御対象の故障検出や故障診断を行う場合には、ユーザ側の作業者では十分に対応できない場合がある。それは、工作機械の性能向上に伴うエレクトロニクス化により、制御対象や制御装置の構造ならびに操作システムが複雑化したためであり、故障診断のノウハウを持っていないユーザ側の作業者では膨大な時間を必要とする場合があった。
このため、メーカ側の作業員やユーザの工場近くにあるメーカ側のサービスセンタの作業員が現地に出向く必要があるが、時間と労力とコストがかかっていた。
更に、メーカ側の作業員がユーザの工場で故障検出や故障診断をする場合には、制御対象が設置されている工場のラインを止める必要があるため、ユーザの生産性にも影響が出ていた。また、工場のラインに大型の測定器を持ち込むような場合でも同様に工場のラインを止める必要があった。物理的に狭いラインでは測定器の持ち込みさえ困難な場合があった。
【０００３】
このような問題に対して、例えば、図１６に示すように、メーカの所有する管理コンピュータとユーザの所有する工作機械またはその端末器とを商用通信回線で接続することにより、対話形式で工作機械の定期診断、故障診断ならびに故障の修復を行う方式がある（例えば、特許文献１参照）。
この方式では、ユーザ側から工作機械の定期診断要求や故障診断要求があったときに、メーカの所有する定期診断あるいは故障診断用プログラムを内蔵した管理コンピュータから工作機械またはその端末器へ、商用通信回線を介して定期診断あるいは故障診断用プログラムを送出する。そして、このプログラムを工作機械に於いて実行した結果生成された定期診断あるいは故障診断に要する情報を、再度商用通信回線を介してメーカ側の管理コンピュータにフィードバックする。
管理コンピュータがこの定期診断または故障診断に要する情報に基づき、専用解析プログラムを実行して工作機械の定期診断または故障診断用プログラムを自動解析し、解析結果をユーザ側の工作機械またはその端末器へ商用通信回線を介して送出する。
また、ユーザ側の工作機械またはその端末器とメーカ側の管理コンピュータに定期診断及び故障診断用プログラムのディスプレイ装置を設け、このディスプレイ装置を介して対話形式で定期診断、故障診断および故障修復に要する情報を伝達する構成となっている。
【０００４】
また、ロボットの動作波形を診断するため、ロボットの動作データの波形を記憶し、基準波形と比較して特徴量を抽出する装置が開示されている（例えば、特許文献２参照）。
この装置では、ロボットの動作データの履歴を記憶するデータファイルと、基準波形と比較して、取り込んだ動作データの波形の特徴量を抽出する波形特徴抽出部と、基準波形と特徴量とからモデル化された標準データを作成する標準データ作成部と、標準データを動作データに合わせて調整する標準データ調整部と、調整された標準データと動作データを比較して予め設定された波形診断用コメントテーブルをルックアップしながら動作データの波形診断を行う波形診断部とを有しロボットコントローラと通信を行うワークステーションと、ロボットコントローラとを接続する。
【０００５】
【特許文献１】特開平０５−０３５７５１号公報
【特許文献２】特開平０７−１６０３２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、対話形式で工作機械の定期診断、故障診断ならびに故障の修復を行う方式では、定期診断または故障診断用のプログラムや専用解析プログラムの実行が必要であり、制御対象や制御装置が変更になると対応できないという問題があった。また、定期診断や故障診断を行う際に工場のラインを止める必要があるという問題は依然として残っていた。
また、対話形式ではユーザ側の作業者が不在の場合には対応できず時間のロスが発生し、制御対象がプレイバック運転中には一切の処理を行うことができず、定期診断や故障診断の自動化、故障部位の特定にも対応できなかった。さらには故障診断を実行するために常時複雑な専用解析プログラムを実行する必要があり、ＣＰＵパワー及び膨大な演算時間を必要とするという問題もあった。
一方、ロボットの動作データの波形を記憶し、基準波形と比較して特徴量を抽出する方式では、基準波形と比較することでロボットの動作データから特徴量を抽出して波形診断用コメントテーブルをルックアップしているが、動作データの抽出とその波形の自動判断だけであるため、上記方式と同様に、故障部位の特定ができる構成になっていなかった。また、所定の動作でしか動作データの波形を取ることができないため、ユーザ側の作業者が作成した作業プログラムによるプレイバック運転中の定期診断や故障診断には対応することができない。さらに上記方式と同様、データを抽出するためにＣＰＵパワー及び膨大な演算時間を必要とするという問題もあった。
【０００７】
そこで本発明は、遠隔地からでも制御対象や制御装置の故障診断及び故障部位の特定を時間のロスなく簡単に行え、工場のラインを止めず、通常のプレイバック運転時にも故障診断を行うことができる故障診断システム及び故障診断方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では、上記問題点を解決するため、以下のように構成したのである。
請求項１に記載の発明は、モータを含む制御対象への入力データを生成する指令生成部と、前記入力データ及び前記制御対象の出力データを記憶するデータ記憶部を備えた制御装置と、前記制御対象を模擬した制御モデルを有し、前記制御モデルと前記入力データ及び前記出力データとから前記制御対象の故障を診断し故障部位を特定する故障判定部を備えた故障診断部と、前記制御装置と前記故障診断部とを接続する通信路とから構成されることを特徴とする故障診断システムである。
請求項２に記載の発明は、前記入力データは、前記制御対象への指令であり、前記出力データは前記指令に対する前記制御対象の応答であることを特徴とする請求項１記載の故障診断システムである。
請求項３に記載の発明は、前記データ記憶部は、前記入力データ及び前記出力データを前記故障診断部に送信し、前記故障判定部は、前記出力データと、前記入力データに対する前記制御モデルの出力データとを比較することで、故障診断することを特徴とする請求項１又は２記載の故障診断システムである。
請求項４に記載の発明は、前記故障判定部は、前記制御対象を故障と診断した場合に、
前記制御対象及び前記制御モデルをそれらのハードウェア又はソフトウェアの構成によって複数個のモジュールに分割し、前記データ記憶部は前記分割された制御対象への各入力データ及び前記分割された制御対象の各出力データを前記故障診断部に送信し、前記故障判定部は、前記各出力データと、前記各入力データに対する前記分割された制御モデルの各出力データとを比較することで、前記制御対象の故障部位を特定することを特徴とする請求項１乃至３記載の故障診断システムである。
請求項５に記載の発明は、前記制御装置又は前記故障診断部は、前記入力データと前記出力データ及び前記制御モデルの出力データを表示する表示画面を備えることを特徴とする請求項１乃至４記載の故障診断システムである。
請求項６に記載の発明は、前記制御装置又は前記故障診断部は、故障部位を特定する過程及び特定された故障部位を文字又は図形で表示する表示画面を備えることを特徴とする請求項１乃至５記載の故障診断システムである。
請求項７に記載の発明は、前記故障診断部は、履歴記憶部を備え、前記履歴記憶部は、特定された故障部位を記録し、前記表示画面に故障履歴を表示することを特徴とする請求項５又は６記載の故障診断システムである。
請求項８に記載の発明は、前記故障診断部は、前記制御対象の故障部位を特定する際に複数の候補が挙がった場合、前記履歴記憶部に記憶された故障履歴又は予め設定された順位により、故障部位を特定することを特徴とする請求項７記載の故障診断システムである。
請求項９に記載の発明は、前記履歴記憶部は、前記出力データと前記制御モデルの出力データとの差分値を一定周期毎に記憶し、前記差分値の時間差分と予め設定されたしきい値とを比較することで、前記制御対象の故障を予想し、前記表示画面に警告を表示することを特徴とする請求項７又は８記載の故障診断システムである。
また、請求項１０に記載の発明は、モータを含む制御対象を制御する制御システムの故障診断方法において、前記制御対象への入力データ及び前記制御対象の出力データを記憶し、前記制御対象を模擬した制御モデルに前記入力データを入力し、前記出力データと前記制御モデルの出力データとを比較して前記制御対象の故障を診断することを特徴とするものである。
請求項１１に記載の発明は、モータを含む制御対象を制御する制御システムの故障診断方法において、前記制御対象への入力データ及び前記制御対象の出力データを記憶し、
前記制御対象を模擬した制御モデルに前記入力データを入力し、前記出力データと前記制御モデルの出力データとを比較して前記制御対象の故障を診断し、故障と診断された場合は前記制御対象及び前記制御モデルをそれらのハードウェア又はソフトウェアの構成によって複数個のモジュールに分割し、前記分割された制御対象への各入力データ及び前記分割された制御対象の各出力データを記憶し、前記分割された制御モデルに前記各入力データを入力し、前記分割された制御対象の各出力データと前記分割された制御モデルの各出力データとを比較して前記制御対象の故障部位を特定することを特徴とするものである。
請求項１２に記載の発明は、モータを含む制御対象を制御する制御システムの故障診断方法において、前記出力データと前記制御モデルの出力データとの差分値を一定周期毎に記憶し、前記差分値の時間差分と予め設定されたしきい値とを比較することで、前記制御対象の故障を予想することを特徴とする請求項１１又は１２記載の故障診断方法である。
【発明の効果】
【０００９】
請求項１、２及び３に記載の故障診断システムによると、制御対象や制御装置の故障診断及び故障部位の特定を遠隔地からや現場でも簡単に時間のロスなく行え、工場のラインを止める必要が無く、通常のプレイバック運転時にも故障診断を行うことができる。また、単純な波形比較だけで良いために特別なノウハウを必要とせず、故障部位の特定を自動的に行える。
請求項４に記載の故障診断システムによると、制御対象と制御モデルを分割して、各入出力を突合せて比較し、故障部位を特定するまで繰返すことにより、より詳細に故障部位を絞り込める。また、制御対象及び制御モデルを複数個に分割する場合に、ソフトウェア又はハードウェアのモジュール単位で分けた部分の入出力データを記憶することにより、ハードウェアによる故障とソフトウェアによる不具合を分離して診断でき、故障部位特定の時間を短縮することができる。
請求項５に記載の故障診断システムによると、入出力データの指令と応答及び制御モデルからの出力を画面に表示することにより、故障部位が特定された場所や条件などの結果を作業者が確認できる。また、故障判断のしきい値を調整する際にも直感的に行うことができる。
請求項６に記載の故障診断システムによると、故障部位を特定する過程及び特定された故障部位を文字又は図形で画面上に表示することにより、作業者が故障の詳細を即座に認識でき、故障に対する対応準備の時間を短縮できる。
請求項７に記載の故障診断システムによると、故障部位を記憶しデータベース化して作業者に提示することにより、故障部位診断の優先順位を簡単に設定することができる。
請求項８に記載の故障診断システムによると、故障部位を特定中に複数の部位が候補に挙がった場合、故障履歴又は予め設定された順位で、故障部位の特定に優先順位を付けることにより、熟練者の蓄積されたノウハウを利用でき、短時間で故障部位の特定ができる。
請求項９記載の故障診断システムによると、制御モデルからの出力と制御対象からの出力の差分値の時間変化を捉えることにより、簡単に故障予想を行うことができる。
請求項１０記載の故障診断方法によると、制御対象や制御装置の故障診断及び故障部位の特定を遠隔地からや現場でも簡単に時間のロスなく行え、工場のラインを止める必要が無く、通常のプレイバック運転時にも故障診断を行うことができる。また、単純な波形比較だけで良いために特別なノウハウを必要とせず、故障部位の特定を自動的に行える。
請求項１１記載の故障診断方法によると、より詳細に故障部位を絞り込める。
請求項１２記載の故障診断方法によると、制御対象や制御装置の故障予想を遠隔地からでも簡単に時間のロスなく行え、工場のラインを止める必要が無い。また、通常のプレイバック運転時にも故障予想を行える。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について図を参照して説明する。
【００１１】
本発明の第１の基本構成を図１に、処理の流れを図２に示して説明する。
ここでは、ユーザ側に配置されたモータを含む制御対象１２と、その制御対象を制御する制御装置１０の故障検出及び故障診断方法を、遠隔地のメーカ側の故障診断部２０で実施する基本的な処理の流れについて、３ステップに分けて説明する。各ステップは図２に示す処理フローの第１〜３ステップに対応している。
【００１２】
（１）第１ステップ
図１に示すように、制御装置１０内の指令生成部１１から制御対象１２に位置指令や速度指令などの指令データが入力される（以降、この入力データを実機入力データとする）。
制御対象１２は実機入力データに基づいて動作し、指令生成部１１に位置応答や速度応答などの応答データを出力する（以降、この出力データを実機出力データとする）。
これらの実機入力データと実機出力データは、制御対象１２の動作中に所定の周期（例えば、数十ms）毎に、データ記憶部１３に記憶される（以降、この実機入力データと実機出力データを合わせて入出力データとする）。
ここで、制御対象１２が複数個のモジュールに分割できる構造の場合には、予め各々のモジュールの入出力データをデータ記憶部１３に記憶するように構成する。例えば、図５に示すように、３つのモジュール１２a、１２ｂ、１２ｃが直列に接続されている場合には、モジュール１２aの第１の実機出力データをモジュール１２bへの実機入力データとし、モジュール１２bの第２の実機出力データをモジュール１２cへの実機入力データとし、モジュール１２cの第３の実機出力データとして、指令生成部１１からの実機入力データと書くモジュールの実機出力データ１２ａ、１２ｂ、１２ｃをそれぞれ取得して、入出力データとして記憶する。
【００１３】
（２）第２ステップ
入出力データは、電話回線やインターネットのような商用通信回線やＬＡＮなどの専用回線、あるいは無線通信などの通信路１４を介して、予め決められた一定周期（例えば、１作業や１時間）毎にメーカ側に配置された故障診断部２０に送信される。ここで、故障診断部２０へ最初に送信されるデータには、制御対象１２の機種情報や作業プログラムの内容などが添付されて送られ、故障診断部２０内の制御モデル２２を制御対象１２と同じ設定にする。
【００１４】
（３）第３ステップ
故障診断部２０は、制御対象１２を模擬した制御モデル２２と、故障を検出及び診断する故障判定部２３とを有しており、入出力データと制御モデル２２を基に故障判定部２３にて故障検出及び診断を行う。
故障診断は、入出力データに含まれる実機入力データを制御モデル２２に入力し、制御モデル２２から出力される応答データ（以降、この出力データをモデル出力データとする）を求め、故障判定部２３で入出力データに含まれる実機出力データとの差分値を求めることで行なう。
制御モデル２２は制御対象１２の機構の特性などを含んだモータの運動特性を反映しているので、同じ指令を入力すると制御対象１２とほぼ同じ出力が得られる。
そのため、制御対象１２に故障がない場合には実機出力データとモデル出力データとの差分値は小さくなり、故障がある場合には差分値は大きくなるため、この差分値の絶対値を予め設定されたしきい値と比較し、しきい値より大きい場合は故障とすることで、ノウハウや複雑な解析プログラムを必要とせずに故障を簡単に検出することができる。
【００１５】
また、前述のように制御対象１２が複数のモジュールから構成されている場合には、図６に示すように、予め制御モデルも複数に分割しておき、実機入力データを制御モデル２２ａに入力し、制御モデル２２aから出力される第１のモデル出力データを求め、故障判定部２３内の第１のデータ比較部２３１にて第１の実機出力データとの差分値の絶対値を求め、予め設定されたしきい値と比較する。
同様に、第２の実機入力データを制御モデル２２ｂに入力し、制御モデル２２ｂから出力される第２のモデル出力データを求め、故障判定部２３内の第２のデータ比較部２３２にて第２の実機出力データとの差分値の絶対値を求め、予め設定されたしきい値と比較し、  第３の実機入力データを制御モデル２２ｃに入力し、制御モデル２２ｃから出力される第３のモデル出力データを求め、故障判定部２３内の第３のデータ比較部２３３にてで第３の実機出力データとの差分値の絶対値を求め、予め設定されたしきい値と比較する。
このように、制御対象１２が複数のモジュールで構成されている場合には、故障検出された時点で、故障部位の特定まで完了することができる。
【００１６】
本発明の第２の基本構成を図３、図５及び図６に、処理の流れを図４に示して説明する。
第１の基本構成では制御対象１２が予め複数のモジュールから構成されていたのに対して、この第２の基本構成では故障診断する過程で制御対象１２及び制御モデル２２をモジュールに分割しながら故障部位を特定する過程を備える。
故障検出及び故障診断の方法について、７ステップに分けて説明する。各ステップは図４に示す処理フローの第１〜第７ステップに対応している。故障検出までの過程は図２と同じであるため、説明を省略する。故障が検出された場合には次の第４ステップに進む。
【００１７】
（４）第４ステップ
故障判定部２３で故障と診断された場合には故障部位を特定する過程に入る。図３に示すように、故障判定部２３から制御対象１２及び制御モデル２２をＮ個（Ｎ：自然数）に分割する命令が送られる。分割命令が送られると、制御対象１２及び制御モデル２２の応答データを取得する箇所をＮ箇所に変更し、制御対象１２及び制御モデル２２の内部状態量をより詳しく比較する。
具体的にはＮは、制御対象１２を構成する部品のうち、その出力が検出できるよう検出器が取付けられたものの数によって決まる。その数は前述の第２ステップの段階で制御装置１０から故障診断部２０へと送信しておく。
なお、制御装置１０と故障診断部２０の間のデータ転送量を極力減らすために制御対象１２及び制御モデル２２をまずＮ個に分割したあと、故障部位を詳細に特定する過程でモジュールをさらに複数に分割するという手順をとる。
ハードウェアのモジュール単位で３分割する例として、図５に示すように制御対象１２を第１の制御対象１２aから第３の制御対象１２cまでに分割する。同様に、制御モデル２２は、図６に示すように、第１の制御モデル２２aから第３の制御モデル２２cまでに分割する。以後、制御対象１２及び制御モデル２２が３個に分割された場合について説明する。
【００１８】
（５）第５ステップ
再度、上位からの動作指令に対して動作を実行することで、３個に分割された各制御対象１２ａ、１２ｂ、１２ｃの入出力データをデータ記憶部１３にそれぞれ記憶する。
または、動作実行毎に各制御対象１２ａ、１２ｂ、１２ｃの入出力データを全て記憶しておき、第２ステップの故障検出前には出力端である制御対象１２ｃの応答データのみを故障診断部２０に送信し、故障検出後には予め記憶しておいた各制御対象１２の３個の応答データを故障診断部２０に送信することで、故障発生後の制御対象１２の再動作を回避させても良い。
【００１９】
（６）第６ステップ
第２ステップと同様に、通信路１４を介して、各制御対象１２ａ、１２ｂ、１２ｃから出力された３個の入出力データを故障診断部２０に送信する。
【００２０】
（７）第７ステップ
第３ステップと同様に、入出力データと３個に分割された制御モデル２２とを基に、制御対象１２の故障部位を特定することを繰返す。
具体的には、図６に示すように、入出力データに含まれる実機入力データを第１の制御モデル２２aに入力し、第１の制御モデル２２aから出力される第１のモデル出力データを求める。更に、第１のモデル出力データを第２の制御モデル２２bに入力し、第２の制御モデル２２bから出力される第２のモデル出力データを求める。更に、第２のモデル出力データを第３の制御モデル２２ｃに入力し、第３の制御モデル２２ｃから出力される第３のモデル出力データを求める。
故障判定部２３において、３個のモデル出力データと入出力データに含まれる３個の実機出力データの各々の差分値の絶対値を取り、予め設定されたしきい値と比較することで、故障部位の特定を行う。
【００２１】
差分値の絶対値がしきい値を上回るモジュールが複数あって、故障部位を特定できない場合には、後述する優先順位に従って優先順位の高いモジュールについて故障部位の特定を行なうこととし、第４ステップに戻って優先順位の高いモジュールを更に分割し、故障部位を特定するための処理を繰返す。
故障部位を特定できた場合には故障診断を終了し、後述する表示部によってユーザ側の制御装置１０を操作している作業者及びメーカ側の故障診断部２０を操作している作業者に故障部位及び交換方法などを知らせる。
【００２２】
以上の処理は、通常の動作指令に対する実機とモデルの応答波形の比較で良いため、故障検出や故障診断のための特別な動作を行わずに済み、故障部位を特定するまで工場のラインを停止させる必要もなく、遠隔地からの故障診断を行える。また、単純な波形の比較であるため、簡単に自動化できる。更には、通常の故障検出までは制御装置１０と故障診断部２０間の通信データ量が少なくて済む。
【実施例１】
【００２３】
本発明の第１の具体的実施例を図７〜図１１に示して説明する。本実施例では、制御対象は図７に示すように減速機を介したモータにより各軸を駆動する垂直多関節型の６軸ロボット３０とし、ロボット３０はその手先に溶接冶具３１を持つ。また、ロボット３０を制御する制御装置１０には作業者がロボット３０を操作するための操作ペンダント１５が接続されている。
本実施例では、ロボット３０の故障部位は根元から４軸目のモータに接続された減速機であり、この減速機が摩耗により歯飛びしたと想定して、この故障部位を遠隔地のメーカ側に配置された故障診断部２０で特定する過程を説明する。簡略化のため、第４軸の関節軸の制御系に着目して説明を進める。
また、ロボット３０の各軸にあたる制御対象１２は図８に示すように、指令生成部１１から出力される動作指令からモータ１２２に対するトルク指令又は電流指令を生成するモータ制御部１２１と、トルク指令又は電流指令により駆動されるモータ１２２と、モータ１２２の状態量を検出する第１検出器１２３と、モータ１２２の駆動力を倍増させる減速機１２４と、減速機１２４に接続されたメカ１２５と、メカ１２５の状態量を検出する第２検出器１２６で構成されている。
図４の処理フローで説明したように、故障部位の特定過程は７ステップに分かれており、第１〜３ステップでは故障検出及び大まかな故障部位特定を実行し、第４〜７ステップでは詳細な故障部位特定を実行する。以下に詳細を説明する。
【００２４】
（１）第１ステップ
始めに、故障が発生していない状態から、故障の発生、その故障を検出するまでの過程を説明する。
例えばユーザ側に配置されたロボットを用いて溶接作業を行う場合、予め制御装置１０に記憶されている位置指令を指令生成部１１から制御対象１２に送ることで、ロボット３０は教示通りの溶接作業を行う。
図８に示すように、位置指令は制御対象１２内のモータ制御部１２１に送られ、モータ制御部１２１は駆動源であるモータ１２２に対して、トルク指令又は電流指令を出力する。
モータ１２２の出力は位置であり、減速機１２４への入力となる。減速機１２４の出力も位置であり、メカ１２５への入力となる。メカ１２５の出力も位置となり、第２検出器１２６で検出することができる。第２検出器の出力を指令生成部１１へ返信する。
ここで、制御対象１２に対する位置指令を実機入力データとし、第２検出器１２６の出力である位置応答を実機出力データとする。これらの実機入出力データは、データ記憶部１３で、６軸分の入出力データとして予め決められた一定周期（ここではトルク指令又は電流指令の演算周期時間）毎に記憶される。
【００２５】
（２）第２ステップ
入出力データは、インターネットなどの通信路１４により、第１ステップとは異なる予め決められた一定周期（ここでは１つのワークを溶接する周期とする）毎に、遠隔地にあるメーカ側の故障診断部２０に送信される。ここで、最初に送信されるデータには、故障診断部２０内の制御モデル２２を制御対象１２と同じ設定にするため、ロボットの機種情報（６軸各々のイナーシャ値、演算周期時間など）や作業プログラムの内容などが添付される。
【００２６】
（３）第３ステップ
故障診断部２０では、故障診断の開始時に図９に示すように、制御対象１２を模擬した制御モデル２２を作成する。制御モデル２２は、実機の制御対象１２の内、モータ制御部１２１を模擬したモータ制御モデル２２１と、モータ１２２を模擬したモータモデル２２２と、減速機１２４を模擬した減速機モデル２２４と、メカ１２５を模擬したメカモデル２２５で構成される。
ここで、演算量を削減するために、故障検出するまではメカモデル２２５を剛体として扱い、故障検出後には、故障部位を特定するために多慣性モデルとして扱う。よって、ここでは剛体モデルとして演算する。
実機入力データθrefを制御モデル２２に入力することで、モータモデル２２２の出力であるモデル出力データθfbmを得ることができる。この演算は、以下の（式１）〜（式３）で行なう。（式１）は、実機のモータ制御部１２１で演算するソフトウェアと同一の演算で、制御パラメータも同一で良いため、複雑な解析アルゴリズムが不要である。
【００２７】
Ｔrefm  ＝  J*Kv*( Kp*(θref − θfbm ) − ・θfbm)    ・・・（式１）
ここで、
Ｔrefm：モデルトルク指令
Ｊ：モータのロータイナーシャ＋機構部のイナーシャ（減速機を含む）
Kv：速度ループゲイン
Kp：位置ループゲイン
θref：指令生成部１１から位置指令（実機入力データ）
θfbm：モデル位置応答（モデル出力データ）
・θfbm：モデル速度応答
【００２８】
・θfbm ＝ Σ( dt * Ｔrefm / J )     ・・・（式２）
ここで、
Σ：積分
dt：演算周期時間
【００２９】
θfbm ＝ Σ( dt * ・θfbm )     ・・・（式３）
【００３０】
ここで、剛体モデルのイナーシャJの演算値は、実機のモータ制御部１２１での演算結果を定期的に故障診断部２０側へ送っても良く、又は入出力データに含まれる実機の位置応答θfbから故障診断部２０側で計算しても良い。同様に粘性摩擦なども、実動作で測定された摩擦値を定期的に故障診断部２０側に送ることで、実機とモデルの状態量をより一致させても良い。
故障診断は、入出力データのうち、実機入力データである位置指令θrefをもとに（式１）〜（式３）の演算を行なって、制御モデル２２の位置応答θfbmを求め、故障判定部２３内のデータ比較部２３１で、入出力データのうち実機出力データである実機の位置応答θfbと、制御モデル２２の位置応答θfbmの差分値Δθfbを求めることで行なう。
故障がない場合には差分値Δθfbが小さくなり、故障がある場合には差分値Δθfbが大きくなるため、この差分値Δθfbの絶対値を予め設定されたしきい値と比較し、しきい値より大きい場合は故障と判定することで、故障を検出できる。
故障と診断された場合には、後述する表示部によって、メーカ側の故障診断部２０を操作している作業者及びユーザ側の制御装置１０を操作している作業者に故障発生を知らせ、次の第４ステップ以降の故障部位特定モードに移行する。故障が検出されない場合には、第１ステップから第３ステップまでを繰返す。
本実施例では、第４軸目の実機減速機１２４の歯飛びにより、実機の位置応答θfbが通常値から外れるため、差分値Δθfbの絶対値が予め設定されたしきい値よりも大きくなり、第４軸目における故障が検出される。
【００３１】
（４）第４ステップ
故障判定部２３で故障と診断されたため、故障部位を特定するモードとなり、故障判定部２３からの分割命令により、図１０及び図１１に示すように、制御対象１２及び制御モデル２２を３分割する。
分割命令によって制御対象１２及び制御モデル２２を分割する際は、ソフトウェア又はハードウェアのモジュール単位で分ける。
【００３２】
制御対象１２内に、その出力が検出可能な最小単位のモジュールが多数ある場合には、まず故障部位の大まかな特定をするために、まず最小単位のモジュールを複数個組み合わせたパーツ単位のモジュールを作る。それらパーツ単位のモジュールの出力とモデルの出力の比較によって故障部位の大まかな特定を行い、特定されたパーツ単位のモジュールを再度最小単位のモジュールに分けて、詳細な故障部位を特定する。
この手法を実行するには、メーカ側のデータベースに蓄積された以前からの故障発生部位やメーカ側のノウハウに応じて、ソフトウェア又はハードウェアのどのモジュールで分割するかを予め決めておき、データ記憶部１３に保持しておく。また前述の故障診断の最初に故障診断部２０へ送信されるデータ（ロボットの機種情報や作業プログラムの内容など）に添付し、故障判定部２３にて記憶しておく。
また、１つのハードウェアモジュール上に複数のソフトウェアが搭載されている場合には、ソフトウェアのモジュール単位で分け、各入出力の変数をモニタすることで、各制御モジュール内のパラメータ設定やコーディングミスによる異常を検出することもできる。
【００３３】
ここでは、制御対象１２をそのソフトウェア構成又はハードウェア構成で分割した場合に、ソフトウェア及びハードウェアで構成された「モータ制御部」と、ハードウェアのみで構成された「モータと減速機とメカ」の２つのパーツに分けられる。
更にパーツ単位で分けた場合、「モータと減速機とメカ」は「モータ」と、「減速機とメカ」の２つのパーツに分けられ、計３つに分割する。
制御対象１２において、図５の第１の制御対象１２aは電子基板とプログラムで構成されたモータ制御部１２１とし、図５の第２の制御対象１２bは可動部であるモータ１２２及び第１検出器１２３とし、図５の第３の制御対象１２cは減速機１２４及びメカ１２５及び第２検出器１２６とする。
また、制御モデル２２において、図６の第１の制御モデル２２aは、モータ制御部１２１を模擬したモータ制御モデル２２１とし、図６の第２の制御モデル２２bはモータモデル２２２とし、図６の第３の制御モデル２２cは減速機モデル２２４及びメカモデル２２５の多慣性モデルとする。
【００３４】
（５）第５ステップ
再度、動作指令に対して動作を実行することで、３個に分割された制御対象１２の各モジュールの入出力データをそれぞれ記憶する。ここで、第１の制御対象１２aの出力データである第１の実機出力データはトルク指令であり、（式１）で求めることができる。また、第２の制御対象１２bの出力データである第２の実機出力データはモータ位置応答であり、第１検出器１２３であるエンコーダの出力を測定することで求めることができる。また、第３の制御対象１２cの出力データである第３の実機出力データはメカの位置応答であり、第２検出器１２６であるロボットの手先に配置した加速度センサの値を２階積分した値などで求めることができる。ロボットの手先位置は、加速度センサ以外にも外部に配置したカメラ画像やレーザセンサによっても求めることもできる。
【００３５】
（６）第６ステップ
第２ステップと同様に、通信路１４により、制御対象１２の各部から出力された３個の入出力データ（実機入力データ及び第１〜３の実機出力データ）を故障診断部２０に送信する。
【００３６】
（７）第７ステップ
第３ステップと同様に、入出力データと３個に分割された制御モデル２２とを基に、制御対象１２の故障部位を特定する。
具体的には、入出力データの実機入力データを制御モデル２２の分割された第１の制御モデル２２aに入力し、第１の制御モデル２２aから出力されるトルク指令を第１のモデル出力データとして求める。
更に、第１のモデル出力データを制御モデル２２の分割された第２の制御モデル２２bに入力し、第２の制御モデル２２bから出力されるモータモデル位置応答を第２のモデル出力データとして求める。
更に、第２のモデル出力データを制御モデル２２の分割された第３の制御モデル２２cに入力し、第３の制御モデル２２cから出力されるメカモデル位置応答を第３のモデル出力データとして求める。
これらのトルク指令とモータモデル位置応答とメカモデル位置応答は、（式１）、（式３）及び以下の（式４）、（式５）、（式６）で求めることができる。
【００３７】
・θfbm = Σ｛ dt * （Ｔrefm-Ｋ*（θfbm-Ｘfbm）） / Jm ｝    ・・・（式４）
ここで、
Ｋ：減速機バネ定数
Ｘfbm：メカモデル位置応答
Jm：モータのロータイナーシャ
【００３８】
・Ｘfbm = Σ｛ dt * Ｋ*（θfbm-Ｘfbm） / JL ｝    ・・・（式５）
ここで、
・Ｘfbm：メカモデル速度応答
JL：機構部のイナーシャ（減速機を含む）
【００３９】
Ｘfbm = Σ( dt * ・Ｘfbm )     ・・・（式６）
【００４０】
故障判定部２３において、第１〜３のモデル出力データと入出力データに含まれる第１〜３の実機出力データの差分値を取ることで、故障部位の特定を行う。
故障判定部２３内の第１のデータ比較部２３１では、第１の実機出力データと第１のモデル出力データとの差分Δtrefの絶対値を求め、予め設定されたトルク指令差分しきい値と比較することで、第１の制御対象１２aに故障部位があるかどうか判断する。
また、第２のデータ比較部２３２では、第２の実機出力データと第２のモデル出力データとの差分Δθfbの絶対値を求め、予め設定されたモータ位置応答差分しきい値と比較することで、第２の制御対象１２bに故障部位があるかどうか判断する。
また、第３のデータ比較部２３３では、第３の実機出力データと第３のモデル出力データとの差分ΔＸfbの絶対値を求め、予め設定されたメカ位置応答差分しきい値と比較することで、第３の制御対象１２cに故障部位があるかどうか判断する。
【００４１】
次に、図１２に、各制御対象１２と各制御モデル２２の状態量を示して説明する。
図１２(a)に示すように、第１のデータ比較部２３１に入力される第１の実機出力データ（実機トルク指令）と第１のモデル出力データ（モデルトルク指令）とはほぼ一致しているため、図１２(b)に示すように、差分ΔＴrefの絶対値がトルク指令差分しきい値よりも小さくなる。
また、図１２(c)に示すように、第２のデータ比較部２３２に入力される第２の実機出力データ（実機モータ位置応答）と第２のモデル出力データ（モータモデル位置応答）とはほぼ一致しているため、図１２(d)に示すように、差分Δθfbの絶対値がモータ位置応答差分しきい値よりも小さくなる。
一方、図１２(e) に示すように、第３のデータ比較部２３３に入力される第３の実機出力データ（実機メカ位置応答）と第３のモデル出力データ（メカモデル位置応答）は減速機１２４の歯飛びのために一致せず、図１２(f)に示すように、差分ΔＸfbの絶対値がメカ位置応答差分しきい値よりも大きくなり、減速機が故障部位と特定される。
このように、実機とモデルの出力同士の突合せによる単純な波形比較だけで良いために特別なノウハウや複雑な解析プログラムを必要とせず、故障部位の特定を簡単に短時間に自動的に行える。
【００４２】
本実施例では作業毎の入出力データから故障診断を行ったが、より長い期間のデータを蓄積することで、経年変化による故障を予想することもできる。その例を図１３及び図１４に示して説明する。
大まかな処理の流れは図１４の処理フローに示すように５つのステップに分けられる。
例えば、減速機１２４のグリース切れを予想する場合には、図１４の第４ステップに示すように、１日毎に実機の減速機１２４の摩擦値を測定して、故障診断部２０に送信し、制御モデル２２の減速機モデル２２４の摩擦値と実機の減速機１２４の摩擦値との差分値を履歴記憶部２４に記憶しておく。第５ステップに示すように、次の日に計測された差分値と１日前に記憶された差分値との差分の絶対値が予め設定された差分しきい値よりも大きくなった場合には、減速機１２４のグリース切れが近いと判断して、後述する表示部によってユーザ側の制御装置１０を操作している作業者及びメーカ側の故障診断部２０を操作している作業者に故障発生を知らせ、同時にグリース注入を要求する。
【００４３】
また、これまでは故障診断部２０がユーザ側の制御装置１０の遠隔地に設置されている例について説明したが、故障診断部２０はユーザ側の制御装置１０内に内蔵又は、その近傍に配置される構成としても良い。ユーザ側に故障診断部２０を配置することで、簡単な故障診断であれば遠隔地の故障診断部２０に送ることなく、ユーザ側の作業者が故障診断することができる。故障部位を特定する際の、制御対象１２及び制御モデル２２の分割方法やしきい値などの情報は、必要に応じてメーカ側のデータベースから取得することで通信にかかる時間を削減できる。
【００４４】
また、図４の第７ステップの故障部位の特定過程において、前述の例では第３のデータ比較部２３３において故障部位が１箇所に特定されたが、例えば、第１のデータ比較部２３１と第２のデータ比較部２３２で同時に故障検出がされる場合がある。この場合には、メーカ側のデータベースに蓄積されたそれまでの故障発生率やメーカ側のノウハウに応じて、故障頻度の高いものや故障発生により重大な危険を及ぼすものに予め故障部位を特定する優先順位を設けておき、データ記憶部１３に記憶しておく。そして優先順位の高いモジュールの比較処理を先に実行することで短時間に故障部位の特定ができる。
【実施例２】
【００４５】
本発明の第２の具体的実施例を図１５に示して説明する。
図７における操作ペンダント１５上の表示画面に、入出力データ、制御モデル２２の出力データや、実機出力データとモデル出力データとの差分値やそのしきい値を表示した例である。これらの値は実時間データを表示しても良いが、記憶されたデータを後からユーザの要求に応じた形式で表示させても良い。
図１５(a)では、前述の具体的な実施例１での第３の制御対象（減速機）の実機出力データとモデル出力データとの差分（図１２(f)）の波形を表示した例を示す。これらの波形を表示することで、ユーザ側で制御装置１０を操作している作業者が、特定された故障部位や、故障検出に用いるしきい値などを直感的に確認できる。
また、操作ペンダント１５上の表示画面に、故障部位を特定する過程及び特定された故障部位を文字又は図形で画面上に表示する。図１５(b)では、前述の具体的な実施例１の故障部位である減速機１２４の部位を図形で、また原因を文字で表示している例を示す。
このように故障部位や原因を画面に表示することで、ユーザ側で制御装置１０を操作している作業者が故障部位を直感的に認識でき、故障部品の手配等の対応が即座にできるため、故障から復旧に要する時間を短縮できる。
【００４６】
更には、メーカ側で故障診断部２０を操作している作業者が故障判断のしきい値を調整する操作を行なう際に、メーカ側に設置された故障診断部２０に接続された表示画面（図示せず）上にも同様の表示をすることで、調整操作を直感的に行うことができる。
また、メーカ側で故障診断部２０を操作している作業者は、図１５(a)のように差分値としきい値を表示させながら、診断過程を遡って、間違った個所の確認及び修正や、しきい値の再調整などを行なうことができる。
【００４７】
また、特定された故障部位についても故障診断部２０内の履歴記憶部２４に記憶される。制御装置１０又は故障診断部２０の表示画面に、以前の故障履歴（例えば、故障部位と故障回数）を表示させることにより、複数の故障部位候補に対する優先順位の設定を行う際の参考にでき、熟練者のノウハウが無くても優先順位の設定をすることができる。
【産業上の利用可能性】
【００４８】
本発明は，遠隔地に設置されたロボットやサーボ，ＮＣ装置などのモータを含む制御対象の入出力データと制御モデルからの出力を照会することで、実機とモデルとの違いを判断できるので、遠隔操作によるパラメータの同定や調整という用途にも適用できる。
【図面の簡単な説明】
【００４９】
【図１】本発明の第１の基本構成図
【図２】本発明の第１の基本的な処理を表すフローチャート
【図３】本発明の第２の基本構成図
【図４】本発明の第２の基本的な処理を表すフローチャート
【図５】本発明の第２の基本構成を表すブロック図
【図６】本発明の第２の基本構成を表すブロック図
【図７】本発明の第１の具体的実施例を表す外形図
【図８】本発明の第１の具体的実施例を表す第１のブロック図
【図９】本発明の第１の具体的実施例を表す第２のブロック図
【図１０】本発明の第１の具体的実施例を表す第３のブロック図
【図１１】本発明の第１の具体的実施例を表す第４のブロック図
【図１２】本発明の第１の具体的実施例での制御対象及び制御モデルの状態量を示す図
【図１３】本発明の第１の具体的実施例を表す第５のブロック図
【図１４】本発明の第１の具体的実施例での処理を表すフローチャート
【図１５】本発明の第２の具体的実施例を表す図
【図１６】従来の方式を示す図
【符号の説明】
【００５０】
１０  制御装置
１１  モータ制御部
１２  制御対象
１２ａ、１２ｂ、１２ｃ  第１の制御対象、第２の制御対象、第３の制御対象
１２１  モータ制御部
１２２  モータ
１２３  第１検出器
１２４  減速器
１２５  メカ
１２６  第２検出器
１３  データ記憶部
１４  通信路
１５  操作ペンダント
２０  故障診断部
２２  制御モデル
２２ａ、２２ｂ、２２ｃ、  第１の制御モデル、第２の制御モデル、第３の制御モデル
２２１  モータ制御モデル
２２２  モータモデル
２２４  減速器モデル
２２５  メカモデル
２３  故障判定部
２３１  第１のデータ比較部
２３２  第２のデータ比較部
２３３  第３のデータ比較部
２４  履歴記憶部
３０  ロボット
３１  溶接冶具
【図１】
2005216213.tif 000003
【図２】
2005216213.tif 000004
【図３】
2005216213.tif 000005
【図４】
2005216213.tif 000006
【図５】
2005216213.tif 000007
【図６】
2005216213.tif 000008
【図７】
2005216213.tif 000009
【図８】
2005216213.tif 000010
【図９】
2005216213.tif 000011
【図１０】
2005216213.tif 000012
【図１１】
2005216213.tif 000013
【図１２】
2005216213.tif 000014
【図１３】
2005216213.tif 000015
【図１４】
2005216213.tif 000016
【図１５】
2005216213.tif 000017
【図１６】
2005216213.tif 000018