(57)【要約】【課題】ロボット装置の関節駆動系の偏芯量を測定し、その偏芯量に基づき、ロボット装置の診断を容易かつ的確に行えるようにする。【解決手段】ロボットアーム１００の関節（１０３〜１０８）は、減速機（１２７〜１３２）を介してモータ（１２１〜１２６）の回転駆動力により駆動される。第１の位置検出器（１１５〜１２０）、第２の位置検出器（１３９〜１４４）により、減速機の入力軸および出力軸の回転角度を検出する。第１および第２の位置検出器がそれぞれ出力する入力軸および出力軸の回転角度を同期的に記録し、同期的に記録した入力軸および出力軸の回転角度のいずれか一方を減速機の減速比を用いて換算する。その換算後において、入力軸回転角度に対する出力軸回転角度の振幅を算出し、算出された振幅に基づき減速機の入力軸の回転中心と出力軸の回転中心との偏芯量を算出する。【選択図】図１
2016221615.tif 000002
【特許請求の範囲】
【請求項１】
モータの回転駆動力により、入力軸と出力軸が同軸となるよう配置される減速機を介して関節の回転角度を制御するロボット装置の診断方法において、
制御装置が、前記モータを回転させつつ、前記減速機の入力軸の回転角度を検出する第１の角度センサ、および前記減速機の出力軸の回転角度を検出する第２の角度センサがそれぞれ出力する入力軸回転角度、および出力軸回転角度を同期的に記録する記録工程と、
制御装置が、前記記録工程において同期的に記録した前記入力軸回転角度、および前記出力軸回転角度のいずれか一方を前記減速機の減速比を用いて換算し、その換算後において、前記記録工程における前記入力軸回転角度に対する前記出力軸回転角度の振幅を算出する振幅値算出工程と、
制御装置が、前記振幅値算出工程で算出された前記振幅に基づき前記入力軸の回転中心と前記出力軸の回転中心の偏芯量を算出する偏芯量算出工程と、
を備えたことを特徴とするロボット装置の診断方法。
【請求項２】
請求項１に記載のロボット装置の診断方法において、前記制御装置が、前記偏芯量算出工程で算出された前記偏芯量を出力する出力工程を備えたことを特徴とするロボット装置の診断方法。
【請求項３】
請求項１または２に記載のロボット装置の診断方法において、前記制御装置が、前記偏芯量算出工程で算出された偏芯量に基づき前記ロボット装置の故障を検出する検出工程を備えたことを特徴とするロボット装置の診断方法。
【請求項４】
請求項１から３のいずれか１項に記載のロボット装置の診断方法において、前記制御装置が、前記振幅値算出工程で算出された振幅に基づき前記入力軸の回転中心と前記出力軸の回転中心の偏芯位置を算出し、算出された偏芯位置を出力装置に出力することを特徴とするロボット装置の診断方法。
【請求項５】
請求項１から４のいずれか１項に記載のロボット装置の診断方法において、前記減速機が波動歯車機構を用いて構成されることを特徴とするロボット装置の診断方法。
【請求項６】
前記制御装置に、請求項１から５のいずれか１項に記載の各工程を実行させるための制御プログラム。
【請求項７】
請求項６に記載の制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
モータの回転駆動力により、入力軸と出力軸が同軸となるよう配置された減速機を介してロボットアームの関節の回転角度を制御するロボットシステムにおいて、
前記減速機の入力軸の回転角度を検出する第１の角度センサと、
前記減速機の出力軸の回転角度を検出する第２の角度センサと、
前記第１の角度センサ、および前記第２の角度センサがそれぞれ出力する入力軸回転角度、および出力軸回転角度を同期的に記録し、同期的に記録した前記入力軸回転角度、および前記出力軸回転角度のいずれか一方を前記減速機の減速比を用いて換算し、その換算後において、前記入力軸回転角度に対する前記出力軸回転角度の振幅を算出し、算出された前記振幅に基づき前記入力軸の回転中心と前記出力軸の回転中心との偏芯量を算出し、算出された前記偏芯量を出力させる制御装置と、
を備えたことを特徴とするロボットシステム。
【請求項９】
請求項８に記載のロボットシステムにおいて、前記制御装置が、算出した前記偏芯量を出力装置に出力することを特徴とするロボットシステム。
【請求項１０】
請求項８または９に記載のロボットシステムにおいて、前記制御装置が、算出した偏芯量に基づき前記ロボットアームの故障を検出することを特徴とするロボットシステム。
【請求項１１】
請求項８から１０のいずれか１項に記載のロボットシステムにおいて、前記制御装置が、算出した前記振幅に基づき前記入力軸の回転中心と前記出力軸の回転中心の偏芯位置を算出し、算出された前記偏芯位置を出力装置に出力することを特徴とするロボットシステム。
【請求項１２】
請求項８から１１のいずれか１項に記載のロボットシステムにおいて、前記減速機が波動歯車機構を用いて構成されることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの回転駆動力により、減速機を介して関節の回転角度を制御するロボット装置の診断方法、およびロボットシステムに関する。
【背景技術】
【０００２】
産業用ロボットなどのロボット装置では、モータの回転駆動力により、減速機を介して関節の回転角度を制御する。このような減速機を配置するのは、比較的高速な回転数を有するモータのような回転駆動源から、所望の範囲の関節駆動トルクと回転数を得るためである。この種の減速機には、大きな減速比を達成し、またコンパクトに実装できる波動歯車機構を用いた減速機が広く用いられている。通常、このような波動歯車機構を用いた減速機は、モータ側の入力軸と、出力リンク側の出力軸が同軸となるよう配置される。
【０００３】
上記のようなロボット装置の関節の駆動系において、組立時の組み付け不良や、動作中に加わった衝撃等により関節軸である出力軸の回転中心と、入力軸であるモータ軸回転中心との軸ズレが発生する場合がある。関節軸回転中心とモータ軸回転中心との軸ズレ（芯ズレ、偏芯）は、ロボットアーム動作軌道の変動や、動作時の振動を発生させる原因となる。特に、ロボット装置を用いた精密組み立て動作においては、このような関節軸の偏芯に起因する障害が発生すると、自動組み立てを停止させるなどの必要が生じ、生産性を低下させる可能性がある。
【０００４】
従来ではこの種のロボット装置の関節の駆動系のモータ軸に減速機を取付ける場合、関節の減速機の入力軸および出力軸の偏芯のような故障を特定、確認する必要があった。このロボット関節の減速機の入力軸および出力軸の偏芯は、例えば組立時の減速機取り付け誤差や、上記のような衝突時の衝撃、摩耗などの経年変化によって生じる。このような減速機を含む関節駆動系の確認方法として種々の手法が提案されている。例えば、ロボット装置の各関節軸を所定動作で駆動してロボット装置に設置された加速度センサにより、動作中の加速度変動を観測することによって、関節軸の故障等を検出する手法が知られている（例えば下記の特許文献１）。また、関節の駆動軸に歪センサを設け、所定動作駆動時の関節軸の歪信号を検出して予め設定された規範信号との比較判定により関節の故障等を検出する手法が提案されている（例えば下記の特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２８１４２１号公報
【特許文献２】特開２０１２−１３９７７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１のように加速度センサを用いる構成では、駆動時の振動信号による故障診断を行っている。このため、検出信号にはモータ回転軸と関節回転軸の偏芯による振動の他、フレームのたわみ、ロボット装置の設置架台等の他要因による振動も外乱として含まれることになる。従って、このような外乱に影響され、モータ回転軸と関節軸との微小な偏芯を判別できない可能性がある。
【０００７】
また、特許文献２に開示されている歪センサを利用した故障診断方法は、ロボット装置の各関節個別に異常検出を行うことができない。このため、異常個所の特定に時間が要し装置を停止する時間が長くなることや、モータ回転軸と関節軸の微小な偏芯は歪信号として検出できない可能性がある。また、ロボット装置の所定動作時の歪信号と規範信号との比較によりロボット装置の異常検出を行うため、ロボット装置組立時には、規範信号の設定が困難であり、ロボット装置組立後の組み付け異常を検出するのが困難である可能性がある。
【０００８】
本発明は、上述の問題点に鑑み、ロボット装置の関節駆動系の偏芯量を測定し、その偏芯量に基づき、組付異常診断、衝突などの障害後の組付異常診断、経年変化による異常診断などを容易かつ的確に実行できるようにすることにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明においては、例えば、モータの回転駆動力により、入力軸と出力軸が同軸となるよう配置される減速機を介して関節の回転角度を制御するロボット装置の診断方法において、制御装置が、前記モータを回転させつつ、前記減速機の入力軸の回転角度を検出する第１の角度センサ、および前記減速機の出力軸の回転角度を検出する第２の角度センサがそれぞれ出力する入力軸回転角度、および出力軸回転角度を同期的に記録する記録工程と、制御装置が、前記記録工程において同期的に記録した前記入力軸回転角度、および前記出力軸回転角度のいずれか一方を前記減速機の減速比を用いて換算し、その換算後において、前記記録工程における前記入力軸回転角度に対する前記出力軸回転角度の振幅を算出する振幅値算出工程と、制御装置が、前記振幅値算出工程で算出された前記振幅に基づき前記入力軸の回転中心と前記出力軸の回転中心の偏芯量を算出する偏芯量算出工程と、を備えたことを特徴とする。
【発明の効果】
【００１０】
上記構成により、減速機の入力軸回転角度、および出力軸回転角度のいずれか一方を前記減速機の減速比を用いて換算し、その換算後において、入力軸回転角度に対する出力軸回転角度の振幅に基づき、減速機の入力軸と出力軸の偏芯量を算出することができる。そして、この偏芯量を用いて、ロボット装置の関節駆動系の組付異常診断、衝突後の組付異常診断、経年変化による異常診断などを容易かつ的確に実行することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明を実施可能な故障診断方法によるロボットシステムの構成を示したブロック図である。
【図２】図１のモータ制御器の要部構成例を示したブロック図である。
【図３】図１のロボットシステムの制御装置およびロボットアームのモータ制御器の間の通信シーケンスを示した説明図である。
【図４】図１のロボットシステムにおける故障診断制御手順を示したフローチャート図である。
【図５】（ａ）〜（ｆ）は図１のロボットアームの関節、第１軸〜第６軸の故障診断時の動作例を示した説明図である。
【図６】（ａ）〜（ｆ）は図５（ａ）〜（ｆ）に対応して故障診断時の図１のロボットアームの関節、第１軸〜第６軸の動作プロフィールを示した線図である。
【図７】（ａ）〜（ｆ）は図５および図６（ａ）〜（ｆ）に対応して故障診断時の図１のロボットアームの関節、第１軸〜第６軸における減速機の入力軸側の回転角度に対する減速機の出力軸側の回転角度の振幅波形を示した線図である。
【図８】図１のロボットアームの関節、第１軸の偏芯量（関節軸変位）を横軸に回転角度を取って示した線図である。
【図９】図１のロボットシステムにおける減速機の出力軸側の位置検出器の検出分解能と可能な偏芯量見積誤差の関係を示した表図である。
【図１０】図１のロボットアームの関節、第１軸〜第６軸の減速機の入力軸側の回転角度に対する減速機の出力軸側の回転角度の振幅、およびこれに基づき算出された偏芯見積量を示した表図である。
【図１１】図１のロボットアームの関節、第１軸の調整前と調整後の減速機の入力軸側の回転角度に対する減速機の出力軸側の回転角度の振幅、およびこれに基づき算出された偏芯見積量を示した表図である。
【図１２】図１のロボットアームの関節、第２軸の内部構成の一例を示した断面図である。
【図１３】図１のロボットシステムの制御装置の構成例を示したブロック図である。
【発明を実施するための形態】
【００１２】
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１３】
以下では、モータ軸と関節に位置検出装置を具備した６軸多関節ロボットに関する実施例につき詳細に説明する。しかしながら、本発明の故障診断方法は、以下に実施例として示す構成のみに限定されるものではなく、モータ軸とモータで駆動を行う出力軸に位置検出装置を具備したモーションコントローラ等にも利用することができる。
【実施例１】
【００１４】
図１に本実施例のロボットシステム９９の構成を示す。本実施例のロボットシステム９９は、関節の駆動系に位置検出器を配置した６軸多関節のロボットアーム１００を用いている。
【００１５】
図１では、ロボットアーム１００の構成ブロックとして、１０３〜１０８の関節の回路構成を示している。これらの関節でそれぞれ可動的に結合されるロボットリンク１３３〜１３８は、１０３〜１０８の各関節のブロック内に示してある。ロボットアーム１００において、これらリンクと関節の関係は例えば次のようになっている。例えば、各関節のうち第１軸１０３は、不図示の基部（図５の５０１）上にロボットリンク１３３（の基部側）を回動支持する。第２軸１０４はロボットリンク１３３の先端部に対して、ロボットリンク１３４（の基部側）を回動支持する。以下、同様にリンク〜関節が結合され、ロボットリンク１３７の先端部に対して第６軸１０８を介してロボットリンク１３８が回動支持される。このアーム先端側のロボットリンク１３８は、例えば、エンドエフェクタ（４０３）の装着部位などとなる。なお、以上のリンク〜関節の結合順は一例であって、他の順序で結合されていても、後述のロボット制御は直接影響を受けない。
【００１６】
上述の順序で、各関節（１０３〜１０８）で各ロボットリンク（１３３〜１３８）を結合して成るロボットアーム１００の構成例は、後述の図５（ａ）〜（ｆ）に示されている。図５（ａ）〜（ｆ）において５０１はロボットアーム１００の基部であり、アーム先端側のロボットリンク１３８はエンドエフェクタ４０３が装着されている。
【００１７】
図１のロボットシステム９９は、操作盤１４７、ロボットアーム１００、制御装置１０２、および電源１０１から構成されている。
【００１８】
制御装置１０２は、ロボットアーム１００の基準位置を所望の位置姿勢に制御するため、ロボットアーム１００の各関節（１０３〜１０８）のモータ１２１〜１２６の回転角度を生成する。このモータ１２１〜１２６の回転角度の指令値は例えば後述の駆動指令コマンドのような形式でシリアル通信線１４６を介して各関節に送信する。また、各関節（１０３〜１０８）のモータ１２１〜１２６への電源供給制御は、制御装置１０２の電源回路１０を介して行われる。制御装置１０２の電源回路１０は、必要な駆動タイミングにおいて、給電配線１４５を介して各関節（１０３〜１０８）のモータ制御器（１０９〜１１４）の電源回路１０に駆動電力を供給する。
【００１９】
操作盤１４７は、制御装置１０２のインターフェイス（ＩＦ）９８と通信線により接続されている。操作盤１４７は、例えばティーチングペンダントなどと呼ばれる教示装置（あるいはロボットプログラミング用の制御端末）である。操作盤１４７には、ロボット操作のためのジョグキー、ファンクションキーなどから成るキーボード、状態表示などのためのＬＣＤパネルなどから成る表示装置などによって構成されたユーザインターフェイス手段が実装される。
【００２０】
制御装置１０２は、上記の電源回路１０、インターフェイス９８の他、シリアル通信線１４６を介して制御情報を送信する、通信制御器２０軌道生成器３０、メモリ４０を含む。軌道生成器３０は、ロボット制御の基幹部分に相当し、例えば、ロボットアーム１００の手先などに定義されたロボット基準点の軌道を生成する。このロボット軌道は、例えば操作盤１４７で逐次指定されたロボット基準点の位置姿勢の目標値である教示点の集合などによって画成される。軌道生成器３０は、例えばある教示点から次の教示点へとロボット基準点の軌道を生成し、その軌道を達成するための各関節（１０３〜１０８）の目標回転角度を生成する。軌道生成器３０で生成された各関節（１０３〜１０８）の目標回転角度は、通信制御器２０によってシリアル通信線１４６を介して各関節（１０３〜１０８）のモータ制御器（１０９〜１１４）の通信制御器２０に制御情報として送信される。
【００２１】
なお、より詳細には、制御装置１０２の要部は、例えば図１３に示すように、汎用マイクロプロセッサなどを用いたＣＰＵ６０１を中心として構成することができる。図１３において、制御装置１０２は、例えばＣＰＵ６０１と、各部を制御するための制御プログラムを記憶するＲＯＭ６０２と、データを一時的に記憶するＲＡＭ６０３と、インターフェイス回路６０４、６０５、出力装置６０６から構成することができる。
【００２２】
ＲＯＭ６０２は、後述のようなロボット制御プログラム（例えば図４）を記憶するコンピュータ（ＣＰＵ６０１）により読み取り可能な記録媒体に相当する。ＣＰＵ６０１は、例えばＲＯＭ６０２に格納されたロボット制御プログラムを実行することにより、後述のロボット制御を実行する。
【００２３】
なお、ＲＯＭ６０２の一部は、Ｅ（Ｅ）ＰＲＯＭのような書き換え可能な不揮発領域により構成できる。その場合、不図示のフラッシュメモリや光ディスクのようなコンピュータ読み取り可能な記録媒体や、ネットワークなどを介して取得したロボット制御プログラムを新たに上記書き換え可能な不揮発領域にインストールすることができる。また、上記書き換え可能な不揮発領域に格納されているロボット制御プログラムは、上記コンピュータ読み取り可能な記録媒体や、ネットワークなどを介して取得したデータによって更新することもできる。
【００２４】
インターフェイス回路６０４は、例えば図１のインターフェイス９８に相当し、操作盤１４７との間のデータ入出力に用いることができる。また、インターフェイス回路６０５は、例えば上述のシリアル通信線１４６を介して各関節（１０３〜１０８）のモータ制御器１０９〜１１４と通信する通信制御器２０の通信回路に相当し、例えばシリアルポートなどから構成される。
【００２５】
なお、ロボットアーム１００のロボット制御情報は、例えば複数の教示点データ、あるいはロボット制御プログラムなどの形式で記述される。このロボット制御情報は、操作盤１４７または制御装置１０２のいずれかに配置された不図示の記憶装置（例えばＲＡＭ、ＲＯＭやＨＤＤやＳＳＤなどの外部記憶装置）に格納される。
【００２６】
出力装置６０６は、例えば各種ディスプレイ装置や音声合成装置などから構成され、各種情報、例えば後述の故障診断処理において得られた偏芯量や故障診断結果に関する情報の通知出力に用いられる。この出力装置６０６により、故障診断処理において得られた偏芯量や故障診断結果をユーザ（管理者）に通知することができる。また、出力装置６０６は、図１２ではＣＰＵ６０１に接続して示してあるが、例えばネットワークインターフェイスを介して接続された外部の管理サーバ（のディスプレイや音声出力装置など）であってもよい。
【００２７】
図１において、ロボットアーム１００の各関節は、上記のように第１軸１０３、第２軸１０４、第３軸１０５、第４軸１０６、第５軸１０７、第６軸１０８から成る。各関節（１０３〜１０８）には、回転駆動源であるモータ１２１〜１２６のモータ駆動制御を行うモータ制御器１０９、１１０、１１１、１１２、１１３、１１４がそれぞれ設けられている。
【００２８】
図１のモータ制御器１０９〜１１４の構成は共通であり、モータ制御器１０９の構成部材にのみ参照符号を付して示してある。即ち、モータ制御器１０９〜１１４は、上述の電源回路１０、通信制御器２０、および演算器５０、シリアル通信器６０、ＡＤコンバータ７０、電流検出器８０、モータドライバ９０から構成されている。
【００２９】
シリアル通信器６０は、後述の位置検出器１１５〜１２０、および位置検出器１３９〜１４４との入出力に用いられる。これら位置検出器１１５〜１２０、１３９〜１４４は、回転角度検出を行うエンコーダ素子などから構成される。モータ制御器１０９〜１１４は、シリアル通信器６０を介してこれら位置検出器１１５〜１２０、１３９〜１４４のセンサデバイスから位置検出出力を取得する。
【００３０】
演算器５０、ＡＤコンバータ７０、電流検出器８０、モータドライバ９０は各関節（１０３〜１０８）の回転駆動源としての３相ブラシレスモータなどから成るモータ１２１〜１２６の駆動制御に用いられる。演算器５０は制御装置１０２から送信された角度指令値に基づき、モータ１２１〜１２６のフィードバック制御を行う。電流検出器８０は、例えばサーボ制御のため、モータ１２１〜１２６の駆動電流を検出する。モータドライバ９０は、サーボ制御情報から、実際にモータ１２１〜１２６に印加する駆動信号を生成する。
【００３１】
各関節（１０３〜１０８）の回転駆動源としてのモータ１２１、１２２、１２３、１２４、１２５、１２６の出力軸は、波動歯車機構などを用いた減速機１２７、１２８、１２９、１３０、１３１、１３２の入力側と結合される。即ち、モータ１２１〜１２６の回転駆動力が各モータの出力軸を介して減速機１２７〜１３２に入力される。減速機１２７、１２８、１２９、１３０、１３１、１３２に波動歯車機構などを用いた減速機構を用いる場合、入力軸と出力軸が同軸となるよう配置でき、また大きな減速比を作用させることができる。減速機１２７、１２８、１２９、１３０、１３１、１３２の出力軸には、出力節としてロボットリンク１３３、１３４、１３５、１３６、１３７、１３８が結合される。
【００３２】
モータ１２１〜１２６の出力軸、即ち減速機１２７〜１３２の入力軸には、それぞれこれら各軸の回転角度を検出する角度センサとして位置検出器１１５、１１６、１１７、１１８、１１９、１２０が配置されている。また、減速機１２７〜１３２の出力軸には、これら各軸の回転角度を検出する角度センサとして位置検出器１３９、１４０、１４１、１４２、１４３、１４４が配置されている。これら減速機１２７〜１３２の減速比や各位置検出器（１１５〜１２０、１３９〜１４４）の分解能の一例については後述する。
【００３３】
ここで、各関節（１０３〜１０８）のハードウェア的構成、特にモータ（１２１〜１２６）、減速機（１２７〜１３２）、および位置検出器（１１５〜１２０、１３９〜１４４）廻りの構成例につき説明する。ここでは各関節（１０３〜１０８）の第２軸１０４の構成を例にとり、説明する。
【００３４】
図１２は、図１の第２軸１０４の近傍のロボットアーム１００の断面を示している。同図に示すように、この関節（第２軸１０４）には、モータ１２２、およびモータ１２２の出力（回転角度）を減速する減速機１２８が設けられている。モータ１２２は、３相ブラシレスモータなどから構成される。
【００３５】
モータ１２２の回転機構は、主に回転軸１２２２とロータマグネット１２２３から構成されている。また、モータ１２２のモータハウジング１２２４，１２２５には、回転軸１２２２を回転自在に支持する軸受１２２６，１２２７が設けられており、モータハウジング１２２４には、ステータコイル１２２８が取付けられている。モータ１２２はモータカバー１２２９内に収容されている。
【００３６】
減速機１２８の入力側、すなわちモータ１２２の回転軸１２２２の一端には、位置検出器１１６（第１の角度センサ）が設けられている。この位置検出器１１６は例えば回転軸１２２２の回転角度を検出するロータリーエンコーダにより構成される。位置検出器１１６はモータ１２２の回転軸１２２２の回転に伴って、入力側パルス信号を生成し、図１の制御装置１０２に出力する。このようにして、位置検出器１１６によって、減速機１２８の入力軸の駆動量を検出することができる。なお、必要に応じて、モータ１２２と位置検出器１１６との間に、不図示のブレーキユニットを設けることもできる。
【００３７】
一方、モータ１２２の回転軸１２２２の他方の端部には減速機１２８が取付けられている。波動歯車減速機を用いる場合、減速機１２８は入力部であるウェブジェネレータ１２８２、サーキュラスプライン１２８３、フレックススプライン１２８４から構成される。動力伝達部として機能するフレックススプライン１２８４は、ウェブジェネレータ１２８２とサーキュラスプライン１２８３との間に配置される。
【００３８】
フレックススプライン１２８４は、この関節（第２軸１０４）で可動支持されるロボットリンク１３４に結合されており、減速機１２８で減速された速度でロボットリンク１３４が駆動される。サーキュラスプライン１２８３は、この関節（第２軸１０４）の手元側のリンク１３３に結合されている。一方、入力側のウェブジェネレータ１２８２は、モータ１２２の回転軸１２２２に結合されている。
【００３９】
以上の構成において、モータ１２２の回転軸１２２２とウェブジェネレータ１２８２との結合部が、減速機１２８の入力軸、フレックススプライン１２８４とロボットリンク１３４の結合部が減速機１２８の出力軸として機能する。このような構成では、減速機１２８の出力軸の回転角度が、実出力角度、すなわち関節（１０４）の角度となる。
【００４０】
ロボットリンク１３３とリンク１３４との間には、クロスローラベアリング１０３５が設けられており、ロボットリンク１３３と１３４は、クロスローラベアリング１０３５を介して回転自在に結合されている。以上の構成において、モータ１２２の回転軸１２２２の回転は、減速機１２８を介して減速され、ロボットリンク１３３とリンク１３４とが相対的に回転する。
【００４１】
減速機１２８の出力側には、位置検出器１４０（第２の角度センサ）が設けられ、この関節（第２軸１０４）のロボットリンク１３３、１３４の相対的な回転角度を検出する。位置検出器１４０は、この関節（第２軸１０４）の駆動に伴って出力側パルス信号を生成し、制御装置１０２（図１）に出力する。すなわち、位置検出器１４０は、減速機１２８の出軸の駆動量を検出することができる。位置検出器１１６、１４０は、光学式や磁気式のロータリーエンコーダなどから構成することができる。
【００４２】
上記の通り、図１２では、ロボットアーム１００の第２軸１０４を例にモータ、減速機、および位置検出器（角度センサ）廻りの構造につき説明した。他の関節（１０３、１０５〜１０８）についても上記と同様の構成が設けられるものとする。なお、第４軸１０６、第６軸１０８などの場合、上述の第２軸１０４とは異なり、例えば回動軸とロボットリンクの中心軸がほぼ一致するような配置となっている。このような構成においても、例えばリンクの伸びる方向や形状に係る構成が図１２の図示とは異なるものの、構成部材やそれらの位置関係は上述の構成と実質同等である。
【００４３】
各モータ１２１〜１２６の出力軸に接続される各減速機の減速比は、例えば減速機１２７が５０対１、減速機１２８が８７．５対１、減速機１２９が５８対１、減速機１３０が５０対１、減速機１３１が５０対１、減速機１３２が５１対１とする。
【００４４】
減速機１２７〜１３２の入力軸に設けた位置検出器１１５〜１２０は、例えばアブソリュートエンコーダであり、その分解能は各軸共通で例えば２１７パルス／回転とする。一方、減速機１２７〜１３２の出力軸に設けた位置検出器１３９〜１４４は、例えばアブソリュートエンコーダであり、その分解能は各軸共通で例えば２２２パルス／回転とする。
【００４５】
なお、上記の減速機１２７〜１３２の出力側の位置検出器１３９〜１４４の分解能は、ロボット装置を利用した自動組立工程の要求される軌道精度やコストにより適宜決定すればよい。
【００４６】
例えば、上記のように、モータ軸回転角度を検出する位置検出器の分解能が２１７パルス／回転、各関節軸に配設される各減速機の減速比が５０〜８７．５程度である場合を考える。このような設計条件において、モータ軸回転角度と同等の分解能で関節軸の回転角度を検出するには、位置検出器１３９〜１４４の分解能は２２３〜２２４パルス／回転程度とするのが望ましい。
【００４７】
本実施例の故障診断と組付調整においては、減速機１２７〜１３２の出力軸の位置検出器１３９〜１４４の分解能と、検出可能なモータ軸回転中心と関節軸回転中心の偏芯量見積り精度の対応を図９に示す。偏芯量見積り精度を、０．００１［ｍｍ］より小さい偏芯量を検出できるよう設定するなら、図９に示すように、減速機１２７〜１３２の出力軸の位置検出器１３９〜１４４の分解能は位置検出器の分解能は、少なくとも２２０／回転以上有していればよい。この偏芯量見積り精度を、０．００１［ｍｍ］は、減速機の入力軸（モータ軸）の回転中心と、減速機の出力軸（モータ軸）の回転中心の偏芯の検出精度としては充分に高精度である。
【００４８】
ここで、図２にモータ制御器１０９〜１１４のより詳細な構成例を示す。なお、図２は、制御ブロック図としてモータ制御器１０９〜１１４、特にその演算器５０の制御機能を図示しているが、図２の制御機能はハードウェア回路又はソフトウェアによって実現できる。例えば、図２の制御機能の任意の一部は、演算器５０を構成するマイクロプロセッサなどの演算ハードウェアと、この演算ハードウェア上で実行される制御ソフトウェアによって実現することもできる。
【００４９】
各モータ制御器１０９〜１１４の構成は実質同等であって、図２では、図１と異なる参照符号で図１のモータ１２１〜１２６廻りの制御系を図示してある。即ち、図２において、図１の各関節（１０３〜１０８）の回転駆動源としてのモータ１２１〜１２６はモータ２１４として示してある。モータ２１４の出力軸（即ち減速機１２７〜１３２の入力軸側）の位置検出器１１５〜１２０は位置検出器２１５として示してある。また、図２では、減速機１２７〜１３２は減速機２１６として示され、また、ロボットリンク１３３〜１３８はロボットリンク２１７として示されている。ロボットリンク２１７側、即ち減速機１２７〜１３２の出力軸側の位置検出器１３９〜１４４は位置検出器２１８として示してある。以下では、図２の構成については、便宜上、上記の図２における参照符号を主に用いて説明するが、図１の部材との対応については上記の通りである。
【００５０】
モータ制御器１０９〜１１４（の演算器５０）は、減速機２１６の入力軸、および出力軸の位置検出器２１５と、位置検出器２１８からモータ軸回転角度情報、および関節軸回転角度情報を取得する。また、モータ制御器１０９〜１１４（の演算器５０）は、モータ２１４の駆動電流をデジタル変換した電流値情報を入力する。そして、モータ制御器１０９〜１１４（の演算器５０）は、入力した減速機２１６の入力軸側、および出力軸側のモータ軸回転角度情報、および関節軸回転角度情報、およびモータ２１４の駆動電流値に基づき、モータ２１４のフィードバック制御を行う。このモータ制御器１０９〜１１４（の演算器５０）のフィードバック制御には、位置フィードバック制御処理（２０２）、速度フィードバック制御処理（２０３）、電流フィードバック制御処理（２０６、２０７）が含まれる。
【００５１】
図２の構成でいえば、上記のモータ制御器１０９〜１１４（の演算器５０）の制御機能は、位置制御器（ＰＩＤ制御器）２０２、速度制御器（ＰＩＤ制御器）２０３により実現される。特に、より詳細なサーボモータ制御機能は、ｑ軸電流制御器（ＰＩＤ制御器）２０６、ｄ軸電流制御器（ＰＩＤ制御器）２０７により実現される。制御装置１０２から入力されるモータ回転位置の目標値（２０１）は、位置制御器（ＰＩＤ制御器）２０２に入力される。速度制御器（ＰＩＤ制御器）２０３の後段には、トルクリミッタ２０４、およびノッチフィルタ２０５が配置され、その出力が、電流フィードバック制御処理を行うｑ軸電流制御器２０６、ｄ軸電流制御器２０７に入力される。
【００５２】
ｑ軸電流制御器２０６、ｄ軸電流制御器２０７の出力はクラーク／パーク変換器２０８を介してＰＷＭ波形生成器２０９に入力される。そして、ＰＷＭ波形生成器２０９のＰＷＭ制御によりモータの回転位置目標値２０１を実現するためのモータ２１４の駆動エネルギーが決定される。ＰＷＭ波形生成器２０９がモータ２１４に対して出力する３相の駆動電流は、逆クラーク／パーク変換器２１０を介して検出され、ローパスフィルタを介してｑ軸電流制御器２０６、ｄ軸電流制御器２０７の前段にフィードバックされる。また、逆クラーク／パーク変換器２１０の後段のローパスフィルタの出力は、ｄｑ軸電流非干渉器２１２を介してｑ軸電流制御器２０６、ｄ軸電流制御器２０７の後段にフィードバックされる。ｄｑ軸電流非干渉器２１２は、電気角演算器２１１を介してモータ２１４の回転軸（減速機２１６の入力軸）側の位置検出器の出力を入力する。
【００５３】
また、ロボットリンク２１７（減速機２１６の出力軸）側の位置検出器２１８から取得される出力軸回転角度は出力軸フィードバック制御器２１９に入力される。出力軸フィードバック制御器２１９は、入力された出力軸回転角度の実際値に基づき位置目標値補正信号を生成する。出力軸フィードバック制御器２１９が生成した位置目標値補正信号は位置制御器（ＰＩＤ制御器）２０２が出力する位置目標値に加算される。また、位置フィードバック目標値補正信号を微分処理した後に速度目標値補正信号として速度制御器（ＰＩＤ制御器）２０３の速度目標値に加算する処理が行われる。
【００５４】
出力軸フィードバック制御器２１９では、減速機および関節軸の挙動を模擬した計算モデルより補正値を算出する処理を行う。位置制御器（ＰＩＤ制御器）２０２の位置フィードバック制御処理は２ミリ秒毎、速度制御器（ＰＩＤ制御器）２０３の速度フィードバック制御処理は０．５ミリ秒毎に実行される。また、ｑ軸電流制御器２０６、ｄ軸電流制御器２０７による電流フィードバック制御処理は０．１ミリ秒毎に実行される。位置フィードバック制御処理（２０２）、速度フィードバック制御処理（２０３）、電流フィードバック制御処理（２０６、２０７）により決定されたモータ出力値は、クラーク／パーク変換器２０８（座標変換ブロック）によりモータ出力に換算される。そして、クラーク／パーク変換器２０８（座標変換ブロック）の出力がＰＷＭ波形生成器２０９に入力され、ＰＷＭ変換されてモータドライバを介してモータ２１４に出力される。
【００５５】
図１において、制御装置１０２は、ロボットアーム１００の各関節軸の軌道生成を実行した後、通信線１４６を介して各関節（１０３〜１０８）に対して目標モータ回転角度をそれぞれ送信する。
【００５６】
図３に、制御装置１０２と、ロボットアーム１００の各関節（１０３〜１０８）のモータ制御器１０９〜１１４との間の通信シーケンスの一例を示す。図３では、制御装置１０２は、ロボットアーム１００が、２つの教示点に相当する位置姿勢を取るよう２回の目標値生成を行っている（３０１１、３０２１）。そして、図３では、各関節（１０３〜１０８）のモータ制御器１０９〜１１４に、それぞれの関節が取るべき目標値（関節角度）を送信し、制御を実行させる２サイクル分のシーケンスが実行されている（３０１、３０２）。
【００５７】
図３において、制御装置１０２は、ロボットアームの各関節軸のモータ回転角度の目標値を格納した駆動指令コマンドＣｊ，ｉを各関節（１０３〜１０８）のモータ制御器１０９〜１１４へそれぞれ個別に送信する。駆動指令コマンドＣｊ，ｉには、モータ回転角度目標値の他、必要な制御パラメータ更新データなどが格納される。
【００５８】
その後、各軸に駆動指令コマンド実行を開始するトリガとなる制御実行コマンドＥｉをモータ制御器１０９〜１１４へ同時送信（ブロードキャスト）することにより指令コマンドを更新してロボットアーム１００を動作させる。制御実行コマンドＥｉは、クロックパルスなどに同期して例えば２ミリ秒毎に常時繰り返し制御装置１０２から送信されるよう制御される。
【００５９】
制御実行コマンドＥｉを受信すると、各軸のモータ制御器１０９〜１１４は、それぞれモータ（１２１〜１２６）を駆動指令コマンドＣｊ，ｉで指定された回転角度だけ動作させる。続いて、モータ制御器１０９〜１１４から、現在のエラー発生状況などを含むステータス情報Ｓｊ，ｉが制御装置１０２に返送される。ステータス情報Ｓｊ，ｉには、少なくとも位置検出器１１５〜１２０から得たモータ軸回転角度情報、位置検出器１３９〜１４４から得た出力軸回転角度情報が格納されて制御装置１０２に返送される。
【００６０】
なお、図３中のインデックス（添字）ｊは、モータ制御器１０９〜１１４の識別インデックスであり、モータ制御器１０９〜１１４は、順にｊ＝１〜６に対応する。上述の通り、モータ制御器１０９〜１１４はそれぞれ第１軸〜第６軸（１０３〜１０８）の各関節であって、ｊ＝１〜６はそれぞれ第１軸〜第６軸（１０３〜１０８）を示すものとして読み取ることができる。一方、インデックスｉは、制御実行コマンドＥｉが送信される毎に１ずつ増加する指令実行インデックスを表し、図３のｉ＝１、ｉ＝２は３０１、３０２の２回のシーケンスに相当する。例えば、制御装置１０２がモータ制御器１１１（第３軸１０５）に３０１のシーケンスで送信する駆動指令コマンド（目標値）はＣ３，１である。
【００６１】
以上のようにして、制御装置１０２とモータ制御器１０９〜１１４間で、例えば駆動指令コマンドＣｊ，ｉ、制御実行コマンドＥｉ、ステータス情報Ｓｊ，ｉを双方向にハンドシェイクすることによりロボット制御が行われる。図３に例示した制御（通信）シーケンスは、ロボットアーム１００の起動時から継続して行われる。
【００６２】
以上の構成において、本実施例のロボット装置の診断方法では、関節（第ｊ軸）を駆動するモータを回転させつつ、その関節の減速機の入力軸の回転角度を位置検出器（第１の角度センサ：図２の２１５）により検出する。また、同時に、その関節の減速機の出力軸の回転角度を検出する位置検出器（第２の角度センサ：図２の２１８）により検出する。これらの入力軸回転角度、および出力軸回転角度は同期的に記録する（記録工程）。そして、同期的に記録した減速機の入力軸および出力軸の回転角度のいずれか一方を減速機の減速比を用いて換算し、その換算後において、入力軸回転角度に対する出力軸回転角度の振幅を算出する（振幅値算出工程）。さらに、算出された前記振幅に基づき減速機の入力軸の回転中心と出力軸の回転中心の偏芯量を算出する（偏芯量算出工程）。
【００６３】
上記のようにして算出した振幅や偏芯量は必要に応じてユーザ（管理者）に通知し、また、他の管理端末などに出力することができる。また、算出した偏芯量の大きさによって当該の関節が故障しているかどうかの判定を行うことができる。
【００６４】
次に、本ロボットシステムにおける故障診断の具体的な制御手順につき、図４を用いてさらに詳細に説明する。図４の故障診断制御手順は、例えば図１３の構成において、制御装置１０２を構成するＣＰＵ６０１の制御プログラムとして記述され、ＲＯＭ６０２（あるいは不図示の外部記憶装置）などのコンピュータ読み取り可能な記録媒体に格納される。図４の故障診断制御は、例えば操作盤１４７で診断プログラム実行を選択する操作を行うことなどにより起動される。
【００６５】
図４の故障診断制御手順が起動されると、ＣＰＵ６０１はステップＳ４０１において、内部変数の初期化を行う。ステップＳ４０２では、ＣＰＵ６０１はロボットアーム１００の故障診断のための各関節軸６軸分の軌道データ作成と駆動指令コマンドの生成を行う。
【００６６】
ステップＳ４０３以降に示したループが、第ｊ軸に関する診断処理で、処理中の関節を識別するインデックス（ｊ）のカウンタをインクリメント（ステップＳ４１３）しながら、ステップＳ４０３〜Ｓ４１６で１軸づつ各関節（１０３〜１０８）の診断を行う。この診断処理は、ステップＳ４１２でｊ＝６、すなわち第６軸の診断処理を実行することが確認されるまで繰り返される。
【００６７】
ステップＳ４０３では、駆動指令コマンドＣｊ，ｉによって、生成した例えば２ミリ秒毎の回転角度目標値を各関節（１０３〜１０８）のモータ制御器１０９〜１１４に送信する。その後、制御実行コマンドＥｉを送信すると、ロボットアーム１００は駆動指令コマンドＣｊ，ｉによって指定された故障診断動作を実行する。
【００６８】
この故障診断動作では、例えば、第１軸１０３、第２軸１０４、第３軸１０５、第４軸１０６、第５軸１０７、第６軸１０８の順序で各関節を個別に順次動作させる。なお、故障診断動作の際の各関節（１０３〜１０８）の起動パターンには任意の構成が考えられるが、例えば各関節で駆動されるロボットリンク（１３３〜１３８）が干渉しないように軌道を生成して、各関節軸を順次動作ではなく同時動作させてもよい。
【００６９】
本実施例の故障診断動作において各関節（１０３〜１０８）に順次実行させる動作の例を図５（ａ）〜（ｆ）に示す。図５（ａ）〜（ｆ）は、それぞれ故障診断動作で実行させる第１軸１０３、第２軸１０４、第３軸１０５、第４軸１０６、第５軸１０７、第６軸１０８の動作を示している。図中の矢印１０３ａ、１０４ａ、１０５ａ、１０６ａ、１０７ａ、１０８ａは、それぞれ各関節（１０３〜１０８）の回動動作を示している。また、図中の破線は各各関節（１０３〜１０８）の回動動作終了時の姿勢を示している。
【００７０】
本実施例では、図５（ａ）〜（ｃ）に示す第１軸１０３の駆動範囲は−１８０〜１８０［ｄｅｇ］、第２軸１０４の駆動範囲は−８０〜＋８０［ｄｅｇ］、第３軸１０５の駆動範囲は−６０〜＋９０［ｄｅｇ］としてある。また、図５（ｄ）〜（ｆ）に示す第４軸１０６の駆動範囲は−１７０〜＋１７０［ｄｅｇ］、第５軸１０７の駆動範囲は−１０５〜＋１０５［ｄｅｇ］、第６軸１０８の駆動範囲は−１８０〜＋１８０［ｄｅｇ］としてある。
【００７１】
なお、上記のような各関節（１０３〜１０８）の駆動範囲は、あくまでも一例であって、本発明を実施するロボットアームの可動範囲に基づいて設定すればよい。また、各関節の駆動範囲は１回転程度駆動させる方が正確にモータ軸と関節軸の偏芯量を見積もれるため、設定する駆動範囲は、診断を実施するロボット装置の最大可動範囲で駆動することが望ましい。
【００７２】
図５（ａ）〜（ｆ）に示す各関節（１０３〜１０８）の回動動作は、例えば関節負荷より制限される最大加速度で加速を行った後に等速動作、続いて減速を行う、といったパターンとする。各関節（１０３〜１０８）の動作加速度および速度は、各関節の負荷により設定すればよく、本実施例では例えば各関節（１０３〜１０８）共通で、上記の等速動作時に３２［ｄｅｇ／秒］で設定した。
【００７３】
ここで、ステップＳ４０２で生成した駆動指令コマンドで指令する各関節（１０３〜１０８）の軌道プロファイルをそれぞれ図６（ａ）〜（ｆ）に示す。図６（ａ）〜（ｆ）の軌道プロファイルは、上記の図５（ａ）〜（ｆ）の各関節（１０３〜１０８）の回動動作に相当する。図６（ａ）は第１軸１０３の、図６（ｂ）は第２軸１０４の、また図６（ｃ）は第３軸１０５の軌道プロファイルを示している。図６（ｄ）は第４軸１０６の、図６（ｅ）は第５軸１０７の、また図６（ｆ）は第６軸１０８の軌道プロファイルを示している。図６（ａ）〜（ｆ）の横軸は時間（秒）、縦軸は各関節（１０３〜１０８）の関節軸角度である。
【００７４】
続いて、ステップＳ４０８で終了判定を行いながらステップＳ４０４〜Ｓ４０７のマイナーループを実行する。このステップＳ４０４〜Ｓ４０７のループは故障診断動作中、常時繰り返し実行される。ステップＳ４０４では、モータ軸（減速機の入力軸）の回転角度を位置検出器１１５〜１２０より取得する。続いて、ステップＳ４０５では、取得したモータ軸の回転角度をモータ制御器１０９〜１１４に設けた内部メモリ（不図示）に記録する。
【００７５】
また、ステップＳ４０６において関節軸（減速機の出力軸）の回転角度を位置検出器１３９〜１４４より取得する。続いて、ステップＳ４０７では、取得した関節軸の回転角度をモータ制御器１０９〜１１４に設けた内部メモリ（不図示）に記憶する。
【００７６】
なお、ステップＳ４０７で関節軸（減速機の出力軸）の回転角度を検出する際、位置検出器１３９〜１４４のうち複数の位置検出センサによって位置情報補正などが行われている場合には、この補正機能を無効化して関節軸の回転角度を取得する必要がある。
【００７７】
ステップＳ４０４〜Ｓ４０７のループは、例えばクロックパルスなどに同期して、０．１ミリ秒毎に同時実行させ、ステップＳ４０８の終了判定で動作終了まで繰り返し実行される。ステップＳ４０８の終了判定は、当該の関節軸（第ｊ軸）に指定した動作が全て実行されたか否かの判定によって行う。ステップＳ４０８での終了判定後には、０．１ミリ秒毎に同期的に取得されたモータ軸回転角度情報と関節軸回転角度情報の時系列データが同期的に内部メモリに記録されることになる。即ち、ステップＳ４０４〜Ｓ４０８の期間が当該の関節軸（第ｊ軸）の減速機の入力軸回転角度および出力軸回転角度の記録期間（記録工程）となる。
【００７８】
続いて、ステップＳ４０９において、モータ制御器１０９〜１１４の内部メモリ内よりモータ軸回転角度情報と関節軸回転角度情報の時系列データを読み出して、モータ軸回転角度を基準とした関節軸回転角度を算出する（振幅値算出工程）。このステップＳ４０９は、制御装置１０２のＣＰＵ６０１、またはモータ制御器１０９〜１１４に実装される演算器５０のいずれかによって実行することができる。この振幅計算には例えば以下の式（１）のような計算式を用いることができる。
【００７９】
【数１】
2016221615.tif 000003
【００８０】
ここで、ｊは関節軸インデックス（ｊ＝１，２…６）、ｉは０．１ミリ秒時系列のデータインデックス（ｉ＝１，２…）、Ａは振幅値である。また、θｏは減速機の出力軸の回転角度（パルス数単位）、θｉは減速機の入力軸の回転角度（パルス数単位）、Ｋは減速比を示す。
【００８１】
ここで、上記の減速比Ｋを作用させる演算は、必要に応じて２つの軸の回転角度の領域が整合するよう行う換算に相当する。そして、上記の式（１）を用いた振幅値算出工程は、換算後において、例えば入力軸の回転角度に対する出力軸の回転角度の振幅を算出する過程に相当する。
【００８２】
なお、減速機の入力軸と出力軸の回転角度の差分として振幅Ａを求める場合、上記の式（１）では減速比Ｋをθｏに乗算しているが、減速比Ｋをθｏを作用させるのは減速機の入力軸と出力軸の回転角度のいずれか一方でよい。ただし、その場合、必要に応じて２つの軸の回転角度の領域が整合するよう、減速比Ｋは上記の式（１）のものとは逆数に取るなどの措置が必要である。
【００８３】
上記式（１）により得られた各関節（１０３〜１０８）の回転角度の振幅データを、それぞれ図７（ａ）〜（ｆ）に示す。なお、この例で使用したロボットアーム１００では、可動範囲制限により、１周期分の振幅データが取得できなかった第２軸１０４、第３軸１０５、第４軸１０６、第５軸１０７については不足分データを補完した。この補完では、定速動作中の振幅を正弦波形として振幅波形を補完した。
【００８４】
図７（ａ）〜（ｆ）の振幅のパルス数は、各関節（１０３〜１０８）の振幅データから算出される振幅値は関節軸（減速機の出力軸）側の位置検出器（１３９〜１４４）の単位換算で示されている。図７（ａ）〜（ｃ）に示す通り、関節（１０３〜１０５）の回転角度の振幅は第１軸１０３が１２０［パルス］、第２軸１０４が８４［パルス］、第３軸１０５が４４［パルス］となっている。また、図７（ｄ）〜（ｆ）に示す通り、各関節（１０６〜１０８）の回転角度の振幅は第４軸１０６が２４［パルス］、第５軸１０７が７６［パルス］、第６軸１０８が３８［パルス］となっている。
【００８５】
上記の通り、図７（ａ）〜（ｆ）の振幅波形は、減速機１２７〜１３２の減速比を用いて減速機１２７〜１３２の入力軸、および出力軸の回転角度を比較した差分波形に相当する。このため、理想的な関節駆動状態においては、各関節（１０６〜１０８）の図７（ａ）〜（ｆ）の振幅波形は差分ゼロで水平になるはずである。これに対して、例えば減速機１２７〜１３２の入力軸および出力軸の偏芯があれば、その偏芯量に応じて回転角度の振幅波形は変化する。このような減速機１２７〜１３２の入力軸と出力軸の偏芯は、組み付け不良や経時変化による摩耗、動作中にロボットアーム１００に与えられた衝撃などによって生じる。
【００８６】
本実施例の故障診断においては、少なくとも減速機１２７〜１３２の入力軸および出力軸の回転角度の振幅から偏芯量を求め、これら振幅や偏芯量を必要に応じてユーザ（管理者）に通知し、また、他の管理端末などに出力する。また、算出した偏芯量の大きさによって当該の関節が故障しているかどうかの判定を行うことができる。上記の振幅や偏芯量、故障判断結果の通知出力は、例えば出力装置６０６（図１２）により行うことができる。
【００８７】
図４のステップＳ４１０では、ステップＳ４０９にて算出された振幅値より、各関節（１０３〜１０８）のモータ軸回転中心と関節軸中心、即ち減速機１２７〜１３２の入力軸および出力軸の偏芯量を算出する。このステップＳ４１０は、制御装置１０２のＣＰＵ６０１、またはモータ制御器１０９〜１１４に実装される演算器５０のいずれかによって実行することができる。この偏芯量算出には例えば以下の式（２）のような計算式を用いることができる。
【００８８】
【数２】
2016221615.tif 000004
【００８９】
ここで、ｊは関節軸インデックス（ｊ＝１，２…６）、Ｐは振幅［ｒａｄ］、ωは減速機の出力軸動作速度［ｒａｄ／秒］を示す。また、Ｌは減速機の出力軸の位置検出器設置長で、関節軸回転中心〜位置検出器の距離に相当する。
【００９０】
上記の式（２）により算出された関節（１０３〜１０８）の偏芯見積量を図１０に示す。本実施例では、故障診断判定基準、即ち、当該の関節の故障と判定するための減速機１２７〜１３２の入力軸および出力軸の偏芯量は例えば０．５［ｍｍ］に設定する。また、本例で用いたロボットアーム１００において、故障診断判定基準の０．５［ｍｍ］の偏芯量は、減速機１２７〜１３２の入力軸および出力軸の偏芯量は１００［パルス］の振幅に相当する。
【００９１】
この故障診断判定の偏芯量には、位置検出器（１１５〜１２０、１３９〜１４４）の位置検出センサの実装誤差、ロボットアームにおける作業位置精度などに応じて決定すればよい。もちろん、上記の故障診断判定基準の偏芯量の値は一例であり、実際のロボットアーム１００の構成や仕様によって異なる値に設定することができる。特に、上記の故障診断判定基準の偏芯量は、例えば位置検出器（１１５〜１２０、１３９〜１４４）の精度誤差、ロボット装置の位置精度等を考慮して決定される値である。従って、この故障診断判定基準の偏芯量は、当業者において、対象のロボットシステムを利用して行われる作業で要求される位置精度などに応じて、適宜決定すればよい。
【００９２】
図４のステップＳ４１１では、診断中の第ｊ軸の偏芯量と、上記の故障診断判定基準の偏芯量を比較し、第ｊ軸の偏芯量が、故障診断判定基準以上である場合には当該関節故障と判定し、ステップＳ４１４に移行する。また、第ｊ軸の偏芯量が、故障診断判定基準よりも小さければステップＳ４１２に移行する。
【００９３】
図１０において、算出された各関節（１０３〜１０８）の偏芯量は、上記の故障診断判定基準の偏芯量である０．５［ｍｍ］（振幅で１００［パルス］）を勘案すると、第１軸１０３がこの故障診断判定基準を超過していることが判る。図１０において、第１軸１０３の偏芯量は、振幅１２０［パルス］／偏芯見積量０．５７２［ｍｍ］であって、上記の故障診断判定基準を超過している。従って、図１０の例では、第１軸１０３のみが故障、と判定され、ステップＳ４１１からＳ４１４への分岐が生じる。
【００９４】
ステップＳ４１２では、故障診断終了判定を行い全関節軸の故障診断が終了していない場合は、ステップＳ４１３により故障診断を行う対象関節軸のインデックスｊのカウンタを更新する。これにより、順次、ステップＳ４０３〜ステップＳ４１３をすべての関節軸の故障診断が終了するまで上記の処理を繰り返す。
【００９５】
ステップＳ４１１で故障と判定された関節に関しては、図４ではステップＳ４１４、Ｓ４１５、Ｓ４１６に示す措置を講じるものとしている。
【００９６】
例えば、図１０の例では、故障（異常）と判断された第１軸１０３について、モータ軸回転中心と関節軸回転中心の組付調整を実施する。例えば、ステップＳ４１４において、ステップＳ４０９で算出された振幅データより、モータ軸回転中心と関節軸回転中心の偏芯量が最大（振幅のピーク）となる関節軸回転角度（偏芯位置）を算出する。図８は、本例において第１軸１０３の関節軸回転中心の変位［パルス単位］を横軸に当該関節の回動角度を取って示している。この例では、第１軸１０３の偏芯量が最大（振幅のピーク）となる関節軸回転角度（偏芯位置）は回転角度：１２［ｄｅｇ］に相当する。
【００９７】
この偏芯量が最大（振幅のピーク）となる関節軸回転角度（偏芯位置）は、例えば出力装置６０６によって表示ないしは音声メッセージなどの形式で出力し、ユーザ（管理者）に通知することができる。
【００９８】
さらに、この通知出力に加え、下記のように偏芯量が最大（振幅のピーク）となる関節軸回転角度（偏芯位置）まで、当該関節を実際に回転駆動し、その位置で停止させユーザ（管理者）の作業を待つように制御すると便利である。即ち、ステップＳ４１５において、ステップＳ４０９、ステップＳ４１４にて算出された偏芯量、および偏芯位置（図８の第１軸１０３回転角度：１２［ｄｅｇ］）を特定し、偏芯データを得る。ステップＳ４１６にて第１軸１０３をこの偏芯位置まで回動させて停止させる。なお、この時、当該の関節（この例では第１軸１０３）を停止させる偏芯位置は、出力装置６０６を用いて例えば表示出力し、ユーザ（管理者）に通知してもよい。この時の表示形式には、回転角度値の数値表示（例えば度数やパルス数単位による）や、関節の角度の状態を表示する画像表示、などの各種の形式を利用することができる。
【００９９】
その後、ユーザ（管理者）は、例えばマイクロゲージ等の検出器からなる軸調整治具を第１軸１０３へ固定設置する。そして、制御装置１０２へ送信されるモータ軸回転角度および関節軸回転角度情報と第１軸１０３に設置された軸調整治具での測定位置を参照しながら、組付調整を行う。例えば、ステップＳ４０９で算出された振幅データの振幅幅（最大値−最小値）／２だけ第１軸１０３の関節軸を移動させる、といった組付調整を行うことができる。
【０１００】
本例において、上記の組付調整前、および後の第１軸１０３のモータ軸回転角度を基準とした振幅と偏芯見積量を図１１に示す。図１１に示すように、上記の故障診断に基づく組付調整を行うことにより、モータ軸回転中心と関節軸回転中心の偏芯量が改善されていることが判る。
【０１０１】
以上のように、本実施例によれば、減速機の入力軸回転角度、および出力軸回転角度のいずれか一方を前記減速機の減速比を用いて換算する。この換算後において、入力軸回転角度に対する出力軸回転角度の振幅に基づき、減速機の入力軸と出力軸の偏芯量を算出することができる。そして、この偏芯量を用いて、ロボット装置の関節駆動系の組付異常診断、衝突後の組付異常診断、経年変化による異常診断などを容易かつ的確に実行することができる。本実施例の故障（異常）診断は、生産現場などにおけるロボット作業時の異常検出や調整のみならず、ロボット装置の自動組立工程時の、衝突や経年劣化等の故障診断にも利用可能である。
【符号の説明】
【０１０２】
１０１…電源、１０２…制御回路、１０３〜１０８…関節（第１軸〜第６軸）、１０９〜１１４…モータ制御器、１１５〜１２０、１３９〜１４４…位置検出器（角度センサ）、１２１〜１２６…モータ、１２７〜１３２…減速機、１３３〜１３８…ロボットリンク、１４７…操作盤、２０２…位置制御器（PID制御器）、２０３…速度制御器（PID制御器）、２０４…トルクリミッタ、２０５…ノッチフィルタ、２０６…ｑ軸電流制御器（PID制御器）、２０７…ｄ軸電流制御器（PID制御器）、２０８…クラーク／パーク変換器、２０９…PWM波形生成器、２１０…逆クラーク／パーク変換器、２１１…電気角演算器、２１２…ｄｑ軸電流非干渉器、２１４…モータ、２１５、２１８…位置検出器、２１６…減速機、２１７…ロボットリンク、２１９…出力軸フィードバック制御器、４０３  エンドエフェクタ。
【図１】
2016221615.tif 000005
【図２】
2016221615.tif 000006
【図３】
2016221615.tif 000007
【図４】
2016221615.tif 000008
【図５】
2016221615.tif 000009
【図６】
2016221615.tif 000010
【図７】
2016221615.tif 000011
【図８】
2016221615.tif 000012
【図９】
2016221615.tif 000013
【図１０】
2016221615.tif 000014
【図１１】
2016221615.tif 000015
【図１２】
2016221615.tif 000016
【図１３】
2016221615.tif 000017