(57)【要約】      （修正有）【課題】共振現象を利用してロボット装置の関節の検査を、従来よりも安全に実施する事ができ、装置復旧までの時間を短縮する。【解決手段】本発明におけるロボットの検査方法は、関節を駆動する駆動源を備え、通常の動作のために予め決められた軌道データに基づき位置姿勢が制御されるロボット装置の検査方法であって、検査対象の関節が共振する駆動速度であって、かつ、検査対象の関節が前記軌道データに基づく経路を通過するような検査用動作データを生成する生成工程と、前記検査用動作データに基づき前記関節の共振振幅を取得する共振振幅取得工程と、を備えたことを特徴とする。【選択図】図１
2020097085.tif 000002
【特許請求の範囲】
【請求項１】
関節を駆動する駆動源を備え、通常の動作のために予め決められた軌道データに基づき位置姿勢が制御されるロボット装置の検査方法において、
検査対象の関節が共振する駆動速度であって、かつ、検査対象の関節が前記軌道データに基づく経路を通過するような検査用動作データを生成する生成工程と、
前記検査用動作データに基づき前記関節の共振振幅を取得する共振振幅取得工程と、
を備えたことを特徴とするロボット装置の検査方法。
【請求項２】
前記関節が共振する駆動速度は、前記関節の姿勢の変化に応じて変化する固有振動数に対応することを特徴とする請求項１に記載の検査方法。
【請求項３】
さらに、共振振幅取得工程で得た前記関節の共振振幅に応じて変速機の状態を診断する診断工程を有することを特徴とする請求項１または２に記載の検査方法。
【請求項４】
前記生成工程は、前記駆動速度として、検査対象の関節が共振する共振周波数の定数倍の回転速度になるように駆動源の回転速度を設定することを特徴とする請求項１ないし３のいずれか１項に記載の検査方法。
【請求項５】
前記生成工程は、前記駆動速度として、検査対象の関節が共振する共振周波数の１／２数倍の駆動速度を設定することを特徴とする請求項１ないし４のいずれか１項に記載の検査方法。
【請求項６】
前記駆動源は回転駆動するモータで有ることを特徴とする請求項１ないし５のいずれか１項に記載の検査方法。
【請求項７】
前記関節は、回転駆動源と、前記回転駆動源により駆動される変速機と、前記変速機の出力側の回転軸の回転角度を測定する出力側角度センサと、前記変速機の入力側の回転軸の回転角度を測定する入力側角度センサとが設けられており、
前記共振振幅取得工程において、前記出力側角度センサおよび前記入力側角度センサの出力する角度情報の差分に基づき、共振振幅を取得することを特徴とする請求項１ないし６のいずれか１項に記載の検査方法。
【請求項８】
請求項１から７のいずれか１項に記載の検査方法をコンピュータにより実行させるためのプログラム。
【請求項９】
コンピュータが読み込み実行することで、請求項１から７のいずれか１項に記載の検査方法を実行可能なプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
請求項１から７のいずれか１項に記載の検査方法を実行する制御装置と、ロボット装置とを備えたことを特徴とするロボットシステム。
【請求項１１】
請求項１０に記載のロボットシステムを用いて物品を製造することを特徴とする物品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、関節を駆動する駆動源を備え、軌道データに基づき位置姿勢が制御されるロボット装置の検査方法ロボット装置の制御プログラム、およびロボットシステムに関する。
【背景技術】
【０００２】
近年、工業生産の分野で、人間の手のように複雑で高速な物品の製造作業を実現できる多関節のロボット装置（以下ロボット装置という）を利用した生産（製造）装置が普及しつつある。この種の複雑な動作が可能なロボット装置では、ロボットアームの動作の自由度が高くなる分、作業中に、ロボットアームと周囲環境のワークや工具等の他の物体と接触、干渉する可能性がある。例えば、ロボットアームが周囲の物体等と接触するなどしてアームの関節に配置された変速（減速）機に衝撃が加わると、減速機に歯飛び等の故障を引き起こすおそれがある。
【０００３】
この種のロボットアームの関節を駆動するアクチュエータは、例えばサーボモータおよび変速機から構成されている。この種の変速機は、一般にサーボモータのような回転駆動源の回転数領域と、アームのリンクを回転させるための回転数領域の関係から減速機として構成されることが多い。このため、以下では、この種のロボット装置で用いられる変速機を代表するものとして減速機を例示することがある。
【０００４】
この変速機は、サイズや形状に比して大きな減速比を得られる波動歯車機構を用いた変速機が広く用いられる。この波動歯車機構を利用した変速（減速）機では、歯飛びなどの故障によって関節の角度伝達精度が低下し、ロボットアームの作動精度を低下させる可能性がある。
【０００５】
以上のような事情に鑑み、近年、ロボットアームの干渉、衝突に関して様々な技術が提案されている。
【０００６】
アームの干渉、衝突後の関節の変速機の状態を検出する技術として例えば、検査対象の関節以外を一時停止し、対象関節のみ所定の位置指令を与えて所定の動作をさせた際のトルク検出値を、基準値と比較して変速機の異常を判定する技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２０２３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記の特許文献１に記載の技術は、検査対象以外の関節を停止させているため、軌道データに基づき通常動作する場合とは異なる動きとなり、アームやハンドが通過する領域も、通常動作の場合とは異なってしまう。そのため、検査を実施しようとすると、たとえばワークやツールを退避しておく設備など、通常動作状態ではぶつからないように設置されている周辺設備に衝突する危険が生じる。この危険を回避するためには、ロボットを装置から取外し、広い作業空間に据え直して検査を行うか、周りにおいてある関連設備を一時的に退避させておくなどの必要があった。しかも、このような回避策を実施すると、ロボットや周辺設備の復帰作業に加え、位置精度の確認作業が必要になるため、装置復帰までに長い時間がかかる、という問題も生じる。
【０００９】
そこで、本発明の課題は、ロボットを装置上に設置したまま変速機の状態を安全・高速検出できるようにすることで、装置復帰時間を短縮する事にある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明におけるロボットの検査方法は、関節を駆動する駆動源を備え、通常の動作のために予め決められた軌道データに基づき位置姿勢が制御されるロボット装置の検査方法であって、検査対象の関節が共振する駆動速度であって、かつ、検査対象の関節が前記軌道データに基づく経路を通過するような検査用動作データを生成する生成工程と、前記検査用動作データに基づき前記関節の共振振幅を取得する共振振幅取得工程と、を備えたことを特徴とする。
【発明の効果】
【００１１】
以上の構成によれば、共振現象を利用してロボット装置の関節の検査を、従来よりも安全に実施することができ、装置復旧までの時間を短縮できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るロボット装置の全体構成を示した斜視図である。
【図２】図１のロボット装置の関節近傍の構成を示した断面図である。
【図３】図２のロボット装置の制御装置の構成を示したブロック図である。
【図４】図２のロボット装置の制御装置の機能構成をブロック図である。
【図５】図１のロボット装置の検査に係る制御手順を示したフローチャート図である。
【図６】（ａ）〜（ｆ）はそれぞれ、図１のロボット装置の検査（または診断）において生産軌道を維持した検査動作を生成する手順を示した図である。
【図７】図１のロボット装置の検査において、振動検査結果から判定値Ａを算出する演算手順を示したフローチャート図である。
【図８】（ａ）、（ｂ）はそれぞれ、図１のロボット装置の検査処理（検査モード）において、判定値Ａの生成する際のＦＦＴ処理の方法を示した図である。
【発明を実施するための形態】
【００１３】
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１４】
本実施形態に係るロボット装置は、組み立て作業等を行う産業用のロボット装置であり、このロボット装置の変速機の劣化状態、特に故障検出および故障防止のための機能（状態を検査可能な機能）を備えている。本実施形態でいう故障とは、変速機の使用不能状態に加え、変速機を通常用途に使用することができない通常使用不能状態を含む。この通常使用不能状態とは、例えば所定の用途に要求される使用条件に対する許容範囲（通常使用可能状態）を超えた状態をいう。
【００１５】
上記のように、ロボット装置の関節の変速機は、一般にサーボモータのような回転駆動源の回転数領域と、アームのリンクを回転させるための回転数領域の関係から減速機として構成されることが多い。このため、以下では、この種のロボット装置で用いられる変速機を代表するものとして減速機を例示する。
【００１６】
本実施形態では、ロボット装置の関節部に発生する共振現象を介して、特に波動歯車機構を利用した減速機の（劣化）状態を検査する。このロボット装置の関節部の共振現象を介した関節部の変速機の劣化状態の検出は次のような原理に基づく。
【００１７】
上述の緩衝や衝突に起因する減速機の損傷が生じると、歯飛びや損傷により生じた小片の噛み込みなどにより、角度伝達誤差が生じる。この角度伝達誤差は、例えば減速機の１次側の入力角度と、変速比を介して減速機の２次側に得られる出力角度の誤差である。
【００１８】
一方で、波動歯車を利用した減速機を用いたロボットの関節には、次式（１）に示すような共振周波数ｆ（Ｈｚ：固有振動数）が存在する。
【００１９】
【数１】
2020097085.tif 000003
【００２０】
ここでｆは減速機を含む振動系の共振周波数（Ｈｚ：固有振動数）、Ｋは減速機のばね定数、Ｊは減速機が設けられた関節により駆動される負荷の負荷イナーシャ（Ｋｇｍ２）である。このうち、ばね定数Ｋは定数項であって、減速機の型式ごとに固有である。また、Ｊは対象の関節軸にかかる慣性モーメントに相当し、その大きさはロボットアームの姿勢によって変化する。
【００２１】
また、減速機は回転駆動系であり、上記の共振周波数ｆ（Ｈｚ：固有振動数）は次式（２）のような回転数Ｒ（ｒｐｍ：１分あたりの回転数）に相当する。
【００２２】
【数２】
2020097085.tif 000004
【００２３】
従って、減速機の入力側の回転速度が式（２）を満たす回転数Ｒになったとき、関節に共振現象が発生する。即ち、当該の関節を駆動すると、式（２）の駆動回転数近傍で上記の共振周波数ｆに一致する速度ムラが発生する。
【００２４】
このような減速機の角度伝達誤差と共振の大きさには関係がある。たとえば、衝突のような急激な過負荷によって欠けてしまった減速機歯車の歯片を他の歯が周期的に噛みこむことによって角度伝達誤差となり、それが共振周波数に一致した場合、アームは正常な状態よりも大きく共振する。また歯車に損傷がない場合でも、減速機（全体）が楕円状に歪んでしまっていると、減速機の波動歯車機構を構成する部品の１つであるウェブジェネレータが周期的に変形し、同様に大きく共振する。
【００２５】
以上のように、ロボットの関節に発生する共振現象は、減速機の角度伝達誤差がエンコーダや電流センサで検出可能な関節の振動という形で発現しているものと考えることができる。従って、ロボットアームの関節（の減速機）に生じる共振の強度、例えば振幅を測定し、この共振振幅を角度伝達誤差に応じたインデックス（目安）値として予め定めた基準値と比較することにより減速機を検査（または診断）することができる。
【００２６】
この検査（または診断）を行うとき、装置上でロボットが動作する時、最も安全なのは通常動作時のために予め設定されている軌道上である。つまり、もともと生産等のために設定された軌道上は障害物がないため、他の周辺装置がせり出してこない限り基本的に安全と言える。そこで、通常動作のために予め決められている軌道を維持しつつ共振を発生させる検査動作を実行することで、検査を装置上で安全に実施することができる。
【００２７】
ところで、一般的にロボットは複数の関節が同時に動作する場合が多く、その姿勢は刻々と変化していく。そのため各関節にかかる慣性モーメントは一定ではなく、関節の共振周波数もまた刻々と変化していく。生産動作と同じ軌道を維持しつつ共振を発生させるためには、変化していく共振周波数に合わせて対象関節の駆動源の回転数を制御しつつ、他の関節は、定められた生産軌道を維持するよう調整すればよい。
【００２８】
図１から図３は、本発明を実施可能なロボットシステム５００の構成の一例を示している。図１はロボットシステム５００の全体構成を模式的に示している。図２は図１のロボットシステム５００の１つの関節近傍の断面構造を示している。また、図３は図１のロボットシステム５００の制御装置２００の構成を示している。
【００２９】
図１に示すように、ロボットシステム５００は、ワークＷの組立てを行うロボット装置１００、このロボット装置１００を制御する制御装置２００、および制御装置２００に接続されたティーチングペンダント３００を備えている。
【００３０】
ロボット装置１００は、６軸多関節のロボットアーム１０１と、ロボットアーム１０１の先端に接続されたハンド（エンドエフェクタ）１０２と、ハンド１０２に作用する力等を検出可能な力センサ（不図示）とを備えている。
【００３１】
ロボットアーム１０１は、作業台に固定されるベース部１０３（基台）と、変位や力を伝達する複数のリンク１２１〜１２６と、各リンク１２１〜１２６を旋回又は回転可能に連結する複数の関節１１１〜１１６と、を備えている。本実施形態においては、複数の関節１１１〜１１６の構成は基本的には同一である。このため、以下では、関節１１１〜１１６に共通する構成については、代表してリンク１２１とリンク１２２との間の関節１１２の構成を説明することとし、他の関節１１１、１１３〜１１６の具体的な説明は省略するものとする。なお、関節１１２と同じ構成の関節は、ロボットアーム１０１の複数の関節１１１〜１１６のうちの少なくとも１カ所に備えていれば本実施例は実施可能である。
【００３２】
関節１１２は、図２に示すように、回転駆動源としてのサーボモータ（モータ）１と、サーボモータ１の出力を減速（変速）する減速機１１を備えている（変速機）。この関節１１２の減速機１１の出力側の回転角度（出力側回転角度）は出力側エンコーダ１６（ロータリエンコーダ）によって検出される。この出力側エンコーダ１６、および後述の入力側エンコーダ１０は一般的なロータリエンコーダと同様の構成を有し、光学式あるいは磁気式方式のロータリエンコーダデバイスにより構成される。
【００３３】
サーボモータ１は、例えばブラシレスＤＣモータやＡＣサーボモータなどの電磁モータにより構成することができる。サーボモータ１は、回転軸２とロータマグネット３とで構成された回転部４と、モータハウジング５と、回転軸２を回転自在に支持する軸受６、７と、回転部４を回転させるステータコイル８と、を備えている。軸受６、７はモータハウジング５に設けられ、ステータコイル８はモータハウジング５に取り付けられている。また、サーボモータ１はモータカバー９で囲われている。なお、サーボモータ１には、必要に応じて電源ＯＦＦ時にロボットアーム１０１の姿勢を保持するためのブレーキユニットを設けてもよい。
【００３４】
減速機１１は、入力部であるウェブジェネレータ１２と、出力部であるサーキュラスプライン１３と、ウェブジェネレータ１２とサーキュラスプライン１３との間に配置されたフレックススプライン１４と、を備えている。ウェブジェネレータ１２は、サーボモータ１の回転軸２の他端側に接続されている。サーキュラスプライン１３は、リンク１２２に接続されている。フレックススプライン１４は、リンク１２１に連結されている。つまり、サーボモータ１の回転軸２とウェブジェネレータ１２との結合部が、減速機１１の入力側となり、フレックススプライン１４とリンク１２１との結合部が減速機１１の出力側となる。そして、サーボモータ１の回転軸２は、減速機１１を介して１／Ｎに減速（減速比Ｎで減速）され、リンク１２１とリンク１２２とが相対的に回転する。このときの減速機１１の出力側の回転角度が、実出力角度、即ち関節１１２の角度となる。
【００３５】
出力側エンコーダ（出力側角度センサ）１６は、減速機１１の出力側に設けられており、リンク１２１とリンク１２２との相対角度を検出する。具体的には、出力側エンコーダ１６は、関節１１２の駆動（リンク１２１とリンク１２２との相対移動）に伴って出力側パルス信号を生成し、制御装置２００に生成した出力側パルス信号を出力する。リンク１２１とリンク１２２との間には、クロスローラベアリング１５が設けられており、リンク１２１とリンク１２２とは、クロスローラベアリング１５を介して回転自在に連結されている。
【００３６】
また、サーボモータ１の回転軸２、すなわち減速機１１の入力側には、入力側エンコーダ（入力側角度センサ）１０を配置することができる。
【００３７】
ハンド１０２は、ワークＷを把持可能な複数のフィンガと、複数のフィンガを駆動する不図示のアクチュエータと、を備えており、複数のフィンガを駆動することでワークを把持可能に構成されている。力センサは、ハンド１０２が複数のフィンガでワークＷを把持する際等にハンド１０２に作用する力やモーメントを検出する。
【００３８】
図３に示すように、制御装置２００は、ＣＰＵ（演算部）２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ（記憶部）２０４と、記録ディスクドライブ２０５と、各種のインタフェース２１１〜２１５と、を備えている。
【００３９】
ＣＰＵ２０１には、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、記録ディスクドライブ２０５および各種のインタフェース２１１〜２１５が、バス２１６を介して接続されている。ＲＯＭ２０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ２０３はＣＰＵ２０１の演算処理結果を一時的に記憶する記憶領域を構成する。
【００４０】
ＨＤＤ２０４は、ＣＰＵ２０１の演算処理結果である各種のデータ等を記憶する記憶部であると共に、ＣＰＵ２０１に、各種演算処理を実行させるための制御プログラム３３０（例えば、後述する検査プログラムを含む）を記録するものである。ＣＰＵ２０１は、ＨＤＤ２０４に記録（格納）された制御プログラム３３０に基づいて各種演算処理を実行する。記録ディスクドライブ２０５は、記録ディスク３３１に記録された各種データやプログラム等を読み出すことができる。
【００４１】
特に、コンピュータ（ＣＰＵ２０１）が実行する後述の制御手順に相当する制御プログラム３３０は、例えば図３のＨＤＤ２０４（あるいはＲＯＭ２０２）に格納する。これらのＲＯＭ２０２やＨＤＤ２０４のような記憶手段は、コンピュータ読み取り可能な記録媒体を構成する。また、これらのＲＯＭ２０２やＨＤＤ２０４のようなコンピュータ読み取り可能な記録媒体（の一部）は、着脱可能なフラッシュメモリデバイスや磁気／光ディスクによって構成されていてもよい。また、コンピュータ（ＣＰＵ２０１）が実行する後述の制御手順に相当するプログラムは、ネットワークなどを介してダウンロードされ、例えばＨＤＤ２０４などに導入する、あるいはそこに導入済みのソフトウェアを更新するような構成をとってもよい。
【００４２】
インタフェース２１１にはユーザによって操作されるティーチングペンダント３００が接続されている。ティーチングペンダント３００には、ＬＣＤパネルのような表示装置やキーボードなどから成るユーザインターフェイスが設けられている。このユーザインターフェイスを用いて、ユーザはロボット装置１００の教示操作を行うことができる。これにより、例えばロボットアーム１０１の手先などに設定された基準点の位置姿勢（教示点）を指定したり、各関節１１１〜１１６の関節角度を指定したりすることができる。ティーチングペンダント３００は、このようにして入力された各関節１１１〜１１６の目標関節角度をインタフェース２１１およびバス２１６を介してＣＰＵ２０１に出力する。
【００４３】
インタフェース２１２には、ロボットアーム１０１の各関節１１１〜１１６の出力側エンコーダ１６が接続されている。出力側エンコーダ１６は、前述のように関節角度に対応するパルス信号をインタフェース２１２およびバス２１６を介してＣＰＵ２０１に出力する。さらに、インタフェース２１３および２１４には、モニタ３１１、および外部記憶装置３１２（書き換え可能な不揮発性メモリや外付けＨＤＤなど）をそれぞれ接続することができる。モニタ３１１は例えばＬＣＤパネルなどの表示装置であって、ロボット装置１００の制御状態のモニタ表示などに用いられる他、後述の検査処理に関連する情報表示や警告メッセージの表示に用いることができる。
【００４４】
インタフェース２１５にはサーボ制御装置３１３が接続されており、ＣＰＵ２０１は、サーボモータ１の回転軸２の回転角度の制御量を示す駆動指令のデータを所定間隔でバス２１６およびインタフェース２１５を介してサーボ制御装置３１３に出力する。
【００４５】
サーボ制御装置３１３は、ＣＰＵ２０１から入力を受けた駆動指令に基づき、ロボットアーム１０１の各関節１１１〜１１６のサーボモータ１への電流の出力量を演算する。サーボ制御装置３１３は、得られた電流値に対応する電流をサーボモータ１に供給し、これによりロボットアーム１０１の関節１１１〜１１６の関節角度が制御される。即ち、ＣＰＵ２０１は、サーボ制御装置３１３を介して関節１１１〜１１６の角度が目標関節角度となるようにサーボモータ１による関節１１１〜１１６の駆動を制御することができる。
【００４６】
ここで、図４を参照して、本実施例の検査プログラム（例えば後述の図５）を実行する際に制御装置２００が実行する機能につき説明する。図４の各機能ブロックは、コンピュータ（ＣＰＵ２０１）のハードウェアおよびそのソフトウェアにより実装される。特にそのソフトウェア部分は、ＲＯＭ３０２やＨＤＤ２０４などのコンピュータ読み取り可能な記録媒体に格納される。
【００４７】
図４の機能構成は、実出力角演算部４０２、回転角度から共振による角度伝達誤差を算出する共振振幅演算部４０４、関節状態判定部４０６を含む。さらに、図４の機能構成は、関節の減速機１１の検査を行うための振幅の基準値記憶部４０５と、出力側エンコーダ１６が検出する出力側回転角度を記憶・蓄積する角度情報記憶部４０３と、検査用動作を記憶する検査用動作記憶部４０７と、検査用動作を生成する検査用動作生成部４０８を含む。
【００４８】
実出力角演算部４０２は出力側エンコーダ１６から受けた出力側パルス信号（ｓ４０１）をカウントして出力側回転角度（ｓ４０２）を求め、サーボ制御装置３０３と角度情報記憶部４０３へ出力する。サーボ制御装置３０３は、検査用動作記憶部４０７に記憶された検査用動作情報ｓ４０７に基づき、実出力角演算部４０２から出力された実出力角情報（ｓ４０２）を参照しつつサーボモータ１の関節角度制御を行う。
【００４９】
実出力角演算部４０２、共振振幅演算部４０４、関節状態判定部４０６、検査用動作生成部４０８は、本実施例を実行するためのプログラムに従って動作するＣＰＵによって実現している。ただし、これに限るものではなく、個別のハードウェアによって実現してもよい。
【００５０】
検査用動作情報ｓ４０７は、関節の検査時の検査用動作を定義し、通常の動作のために予め決められた軌道データに基づき、検査用動作生成部４０８にて生成され、検査用動作記憶部４０７に記憶される。式（１）、（２）によって示した特性が関節（１１１〜１１６）ごとに異なるため、検査用動作情報ｓ４０７は、検査する関節（１１１〜１１６）ごとに異なった内容となる。特に、検査用動作情報ｓ４０７は、検査対象の関節が共振する駆動速度であって、かつ、検査対象の関節が前記軌道データに基づく経路を通過するような検査用動作データを生成する。また、ロボットアームの姿勢に従い変化する検査対象関節の固有振動数に対応し、減速機入力側の回転速度が固有振動数の一定数倍となる回転速度を維持し、かつ、基準となった軌道データに基づき通常動作の軌道と同じ軌道を維持するよう調整される。このような検査動作とすることで、装置上で安全に検査を実施することができる。
【００５１】
角度情報記憶部４０３は、実出力角演算部４０２から出力された角度情報（ｓ４０２）を蓄積する。基準値記憶部４０５は判定に必要な基準値ｓ４０５を記憶し、関節状態判定部４０６へ出力する。共振振幅演算部４０４は、角度情報記憶部４０３から蓄積された角度情報ｓ４０３を読み出し、検査に必要な判定値Ａ（ｓ４０４）を算出し、関節状態判定部４０６へ出力する。関節状態判定部４０６は、基準値記憶部４０５から出力された基準値ｓ４０５と、共振振幅演算部４０４から算出された判定値Ａ（ｓ４０４）を比較し、ロボットの関節状態について判定を行う。
【００５２】
角度情報記憶部４０３、基準値記憶部４０５、検査用動作記憶部４０７は、いずれもＨＤＤ２０４に記憶されるものとするが、ＲＡＭなど、他の記憶装置であってもよい。
【００５３】
次に、図５を参照して上記構成において行われる関節（１１１〜１１６）の検査処理につき説明する。図５は、上記構成において制御装置２００、特にＣＰＵ２０１の制御によって実行される本実施例の関節（１１１〜１１６）の検査処理（検査モード）の流れを示している。
【００５４】
本実施例では、上述のように生産動作に準じた姿勢における対象関節の固有振動数に相当する共振周波数を中心とした周波数で生じる共振現象を利用して当該関節の状態を検査する。
【００５５】
図５の検査処理（検査モード）は、ロボットの定期検査時や、および意図しない干渉や衝突などの事象が発生した後に行う。図５の検査処理（検査モード）を実行する契機としては、例えばティーチングペンダント３００などのユーザインターフェイスを用いて操作者が検査モードを選択する操作が考えられる。
【００５６】
図５の検査処理（検査モード）は、関節（１１１〜１１６）のうち１軸ずつ実施する。操作者（ユーザ）によって検査処理（検査モード）が選択されると、図５のステップＳ５０１では検査を行う軸を決定する。図５の検査処理（検査モード）は、特定の軸（関節）から全軸（全関節）について実行するよう構成されているが、１軸のみについて実行したり、操作者（ユーザ）が指定した単数ないし複数の軸のみについて実行したりする制御を行ってもよい。通常は、全軸（全関節）について検査を実施するのが望ましい。検査する関節の順序はベース部１０３に近い軸から順でもよく、またユーザが任意の順番を指定してもよい。
【００５７】
次に、ステップＳ５０２では検査対象の軸の基準値ｓ４０５と検査用動作情報ｓ４０７を、基準値記憶部４０５と検査用動作記憶部４０７から読み込む。基準値記憶部４０５と検査用動作記憶部４０７は、例えばＨＤＤ２０４などにデータファイルなどの形式で配置しておくことができる。これらの基準値ｓ４０５と検査用動作情報ｓ４０７は、検査する関節（１１１〜１１６）ごとに異なる。例えば、式（１）、（２）によって示した特性が関節（１１１〜１１６）ごとに異なるためである。従って、基準値ｓ４０５と検査用動作情報ｓ４０７は、基準値記憶部４０５と検査用動作記憶部４０７に軸（慣性）別に用意され、検査を実行する段階で当該の関節に対応する情報を個別にＲＡＭ２０３などの作業領域に読み込む。もしくは、検査モードが選択された段階ですべての軸の基準値と検査用動作を一度にＲＡＭ２０３などの作業領域に読み込んでもよい。
【００５８】
ステップＳ５０３では、当該関節の検査用動作を行う。即ち、ステップＳ５０２で読み込まれた検査用動作情報ｓ４０７に従いサーボ制御装置３０３が検査対象の軸を駆動する。この時、一定周期ごとに出力側エンコーダ１６から取得されるパルス値（ｓ４０１）を実出力角演算部４０２によってカウントし、実出力角情報に変換した値（ｓ４０２）を角度情報記憶部４０３に記憶・蓄積していく。
【００５９】
ステップＳ５０３の検査用動作の処理は、図５の右列にステップＳ５０３１〜５０３７として詳細に示してある。ここで、ステップＳ５０３を構成するステップＳ５０３１〜５０３７につき詳細に説明する。
【００６０】
ステップＳ５０３１で検査用動作が開始されると、ステップＳ５０３２において、まず、ステップＳ５０２で読み込まれた検査用動作情報ｓ４０７に基づきサーボ制御装置３０３がロボットアーム１０１を開始姿勢へ移動させる。
【００６１】
次に、ステップＳ５０３３において、実出力角情報（ｓ４０２）を記憶・蓄積させるべく角度情報記憶部４０３を有効にし、実出力角演算部４０２から出力される実出力角情報（ｓ４０２）を記憶する記憶バッファを有効化する。
【００６２】
続いて、ステップＳ５０３４で、ステップＳ５０２で読み込まれた検査用動作情報ｓ４０７に応じた特定の動作パターンでサーボ制御装置３０３が対象関節を駆動する。この間、ステップＳ５０３５にて出力側エンコーダから得られたパルス値（ｓ４０１）は逐次実出力角演算部４０１にて実出力角情報（ｓ４０２）へ変換され、角度情報記憶部４０３へ記憶・蓄積していく（ステップＳ５０３６）。
【００６３】
検査用動作が終了すると、ステップＳ５０３７において角度情報記憶部４０３の記憶バッファをクローズし、軸出力角情報（ｓ４０２）を保存する。なお、出力側エンコーダ１６からパルス値（ｓ４０１）を読み出す間隔はサーボ制御装置３０３の制御周期と一致した取得周期とすることが望ましい。
【００６４】
ステップＳ５０４では、ステップＳ５０３で角度情報記憶部４０３に蓄積された実出力角情報（ｓ４０２）を処理し、共振による角度の振動幅を判定値ｓ４０４（Ａ）として算出する。
【００６５】
ステップＳ５０５〜Ｓ５０６は、減速機１１の状態を検査する検査工程に相当する。まず、ステップＳ５０５では、ステップＳ５０４にて算出された判定値Ａ（ｓ４０４）を、ステップＳ５０２で読み込んだ基準値Ａｌｉｍ（ｓ４０５）と比較する。ここで、判定値Ａ（ｓ４０４）が基準値Ａｌｉｍ（ｓ４０５）を超えていれば検査軸の減速機１１が損傷していると判定する。この判定結果に応じて、ステップＳ５０６で「減速機損傷なし」またはステップＳ５０７で「減速機損傷あり」（警告メッセージ）の出力を行う。これらの検査メッセージの出力は、例えばモニタ３１１や、ティーチングペンダント３００のディスプレイを用いて行う他、音声出力手段（不図示）を用いて音声出力などによって行うことにしてもよい。
【００６６】
ステップＳ５０５が終了すると、ステップＳ５０８で検査未実施の関節（軸）が残っているか確認する。検査未実施の関節（軸）が残っている場合はＳ５０１に戻り、上記と同様の処理を繰り返し、検査対象となっている全ての関節（軸）で検査を行う。
【００６７】
以上のように、図５のような検査処理（検査モード）を関節ごとに実施することができる。図５のような検査処理（検査モード）では、特定の検査対象の関節ごとに共振振幅取得工程を実施する。その際、用いられる検査用動作情報ｓ４０７は、対象の関節の固有振動数に対応し、減速機入力側の回転速度が固有振動数の一定数倍となる回転速度を維持し、かつ、基準となった生産軌道と同じ軌道を維持するよう調整された検査用動作を定義する。当該の関節の固有振動数は、式（１）によって予め計算することができ、また、式（２）によってその時の減速機入力軸の回転速度を予め決定することができる。
【００６８】
従って、図５のような検査処理（検査モード）を関節ごとに実施することにより、当該関節の共振振幅の判定値Ａを求めることができる。この共振振幅の判定値Ａは、例えば共振周波数を中心とした周波数成分の振幅の最大値として算出することができる。そして、この判定値Ａを、検査用動作情報ｓ４０７と同様に関節ごとに設定された基準値Ａｌｉｍ（ｓ４０５）と比較することにより、当該関節の検査、例えば、損傷が生じているか（あるいは寿命が到来しているか）などの検査を行うことができる。検査結果は、表示メッセージ（あるいは音声メッセージ）を出力することなどによって、ユーザに通知することができる。これらのメッセージの出力は、例えばモニタ３１１や、ティーチングペンダント３００のディスプレイによる表示出力、音声出力手段（不図示）などを用いた音声出力などによって行うことができる。
【００６９】
本実施例における検査処理（検査モード）の概略は図５に示した通りであるが、以下では上記の検査処理（検査モード）において実施するロボット制御の細部についてさらに説明する。
【００７０】
本実施例では、検査用動作情報ｓ４０７によって関節ごとに定義された検査用動作は、通常作業を行うために予め定められた所定の軌道を保ちつつ、検査対象の関節に共振を発生させる動作を行う点に特徴がある。検査用動作情報ｓ４０７は、予め定められた軌道データをもとに、検査用動作生成部４０８にて生成され、検査用動作記憶部４０７に記憶される。
【００７１】
ロボットのユーザは、関節ごとに生産動作の少なくとも１つを選択し、検査動作として設定しておく。この時、共振を確実に発生させるため、検査対象の関節が比較的大きく動いている動作を選択することが望ましい。具体的には、対象関節の減速機入力軸が３回転以上回転する動作を選択するとよい。
【００７２】
ところで、式（１）、（２）から明らかなように、検査時に生じさせるロボット関節部の共振の様相には、ロボットアームの姿勢と、関節の動作速度（駆動速度）という２つの要素が影響する。ロボットアーム１０１の姿勢が変化すると式（１）に従い負荷イナーシャの大きさが変化するため、定められた生産軌道を維持しつつ共振現象を介した検査を行おうとすれば、対象関節の駆動速度は式（２）によって定義される速度変化に従って動作することになる。
【００７３】
生産動作を元とした検査動作の生成について、図６の各図を用いて具体的に説明する。ロボットの姿勢に伴って対象関節の慣性モーメントＪが徐々に大きくなる場合を考える。これは、例えば図６（ａ）の点線のような状態から、実線ように腕を水平に伸ばしていった際の第二関節をイメージするとわかりやすい。この時、第二関節にかかる慣性モーメントＪは、一般的な力学問題としてロボットの姿勢と各部重量から計算により算出することができ、姿勢の変化に応じて図６（ｂ）のように変化していく。
【００７４】
この時、対象関節の共振周波数は、式１より図６（ｃ）のように姿勢の変化とともに変化する。関節に共振を発生させるためには、駆動源によって駆動される減速機の入力側の軸が、この共振周波数の定数倍の回転速度になるように駆動源の回転速度を設定すればよい。この倍数は、共振周波数の１／２倍であることが望ましい。これは、減速機のフレックススプラインとサーキュラスプラインが２点で接触していることによる。つまり、ウェブジェネレータ１回転につき、フレックススプラインの歯が損傷個所を２回通過するため、減速機入力軸の回転速度を共振周波数の１／２倍とすると、発生する振動の周波数は対象関節の共振周波数と一致するからである。式（２）より、減速機入力軸の回転速度は図６（ｄ）のようになる。これにより対象関節の姿勢に応じた駆動源の回転速度が決定できる。これを速度指令値とする。
【００７５】
次に、決定した駆動源の回転速度を維持したまま、検査動作で指定された地点まで動作するため、位置指令値を時間方向に調整する。調整の方法として、例えば、図６（ｅ）のように、基準となった生産動作における対象関節の駆動源の回転量と、検査動作における対象関節の駆動源の回転量が一致するように速度指令値の時間方向に倍率をかけ、伸長する方法がある。ここまでで、対象関節についてのみ動作を決定することができた。
【００７６】
続いて、上記で決定された対象関節の動作を元にして、生産動作の軌跡を維持するよう他の関節の動作を調整する。調整の方法として例えば、図６（ｆ）のように検査動作における各軸の角度情報と、ベースとなった生産動作における各軸の角度情報から、対象関節の角度が一致する点を探索し、その時の各関節角度を各々の関節に設定する方法がある。
【００７７】
このようにして生成された検査動作情報ｓ４０７は、生産動作と同じ軌跡を持ち、かつ対象関節に共振を発生させることができるため、これに基づきロボットを動作させることで、装置上で安全に減速機の状態を検査することができる。また、すべての軸に対して本方法を用いて検査動作情報ｓ４０７を生成することで、ロボットに搭載された関節すべての検査を装置上で実施することができる。
【００７８】
図６（ａ）に例示した検査姿勢や、図５に示すような検査シーケンス（検査用動作）は、検査用動作情報ｓ４０７によって記述することができ、検査用動作記憶部４０７に記憶させておく。
【００７９】
次に、図７により、図５のステップＳ５０４において角度情報記憶部４０３に蓄積された実出力角情報（ｓ４０２）から共振による角度伝達誤差分を算出する処理の構成例につき詳細に説明する。図７は図５の左列のステップＳ５０４以降の具体的な処理例を示したもので、ステップＳ５０４はステップＳ５０４１〜Ｓ５０４４により構成されている。
【００８０】
ステップＳ５０４２では、角度情報記憶部４０３に蓄積された実出力角情報（ｓ４０２）から、データを１つ読み出し、共振振幅演算部４０４へ出力する。
【００８１】
続いて、ステップＳ５０４３では、読み出した実出力角情報（ｓ４０２）から不要な成分を除外する。即ち、実出力角情報（ｓ４０２）には、検査用動作そのものの動きに共振による振動成分が重畳されているため、そこから共振成分のみを取り出す必要がある。共振成分を取り出す方法として、検査データを時間領域から周波数領域に変換するＦＦＴ処理を行う方法がある。
【００８２】
このＦＦＴ処理について、図８を用いてさらに説明する。ＦＦＴ処理は図８（ａ）のように、あるＦＦＴ区間を設け、読み出した実角度情報（ｓ４０２）の先頭から少しずつ区間をずらしながら実施する。こうすることにより、姿勢変化に合わせて変化していくロボットの振動を正確にとらえることができる。この時の区間は注目する周波数成分が取得できる程度以上にすることが望ましい。たとえば、１０Ｈｚに着目する場合は、時間区間を１００ｍｓｅｃより広く設定する。また、区間のずらし幅は設定可能な範囲でできる限り細かくすることが望ましい。このようにして得られたＦＦＴ結果（ｓ５０４３）は時間ｔと周波数ｆに対する振幅値として出力され、図８（ｂ）では、カラーマップとして表現している。
【００８３】
次に、ステップＳ５０４４にて、ＦＦＴ結果から判定値Ａを求める。ステップＳ５０４３にて出力されたＦＦＴ結果（ｓ５０４３）から、検査動作における対象関節の減速機入力軸の回転速度の２倍（すなわち式（１）にて算出される関節の共振周波数）に一致する成分の最大値を検出し、共振振幅の判定値Ａとする。検査動作における対象関節の減速機入力軸の回転速度は、検査動作情報ｓ４０７より求めることができる。
【００８４】
図８のステップＳ５０５以降の処理は、図５で説明したものと同じであり、上記のようにして算出した共振振幅の判定値Ａと、基準値Ａｌｉｍ（ｓ４０５）と、を比較してその結果に応じて通知ないし警告メッセージを出力するものである。
【００８５】
この判定（Ｓ５０５）で用いる基準値Ａｌｉｍ（ｓ４０５）としては、出力側エンコーダ１６で検出する値は角度情報であるから、例えばこの基準値（許容値）としては許容される角度誤差を用いることが考えられる。具体的には、基準値として減速機１１の角度伝達誤差の仕様値を用いることが考えられる。このような角度伝達誤差の仕様値は、減速機１１のカタログ仕様などとして公表されている値が利用できる場合がある。その場合にはカタログ公開値などを利用する、あるいは適当なマージンを加減算して、実際にその関節で用いる基準値Ａｌｉｍ（ｓ４０５）を決定することができる。
【００８６】
なお、減速機１１は関節ごとに異なる品種を用いる場合があるから、この基準値Ａｌｉｍ（ｓ４０５）もまた関節ごとに用意する必要がある。上記の図８のステップＳ５０４１では、当然ながら検査対象の関節について用意された基準値Ａｌｉｍ（ｓ４０５）を基準値記憶部４０５から読出すことになる。また、基準値Ａｌｉｍ（ｓ４０５）としては、上記の角度伝達誤差の仕様値の他、要求されるロボットアーム１０１の手先の位置精度から対象の関節に要求される位置偏差を算出し、その位置偏差を基準値として用いてもよい。
【００８７】
以上のようにして、本実施例によれば、所定の生産軌道を維持しながら、関節を共振させるような検査用動作データを生成する。このデータに基づきロボットを動作させて、関節の共振振幅を取得して、故障の判定に用いることで、ロボットシステムの周りに配置されている物体との衝突を回避しながら、検査が実行可能となる。このためロボット装置の部品交換判定などを装置上で迅速に行うことができる、という効果がある。また、変速（減速）機の出力側の回転軸の回転角度を測定する出力側角度センサを介して測定した関節の共振振幅に応じて、ロボット装置の関節に配置された変速機の状態を精度よく迅速に判定することができる。
【００８８】
以上では、今回の検査処理（検査モード）で測定した共振振幅を基準値と比較することにより変速（減速）機の状態を検査処理（検査モード）ごとに検査する構成を示した。しかしながら、過去の検査処理で取得した共振振幅と現在（今回）の検査処理で取得した共振振幅との変化の様子（例えば変化率）を用いて変速（減速）機の状態を検査することも考えられる。このためには、例えば検査処理（検査モード）で測定した共振振幅をＨＤＤ２０４などに配置したデータベースに蓄積していく構成とする。そして、今回の検査処理（検査モード）で取得した関節の共振振幅と、過去の検査処理で取得した共振振幅から共振振幅の変化率を算出し、算出した変化率に基づき変速機の状態を検査する。例えば、変化率のしきい値を予め定めておき、このしきい値を超えるような（例えば急峻な）共振振幅の変化率が検出された場合に、変速機が損傷している、あるいは寿命が到来し交換が必要である、といった検査を行うことができる。
【００８９】
なお、上記実施例では、減速機の状態をより正確に検査するために出力側エンコーダを用いた方法を示したが、モータ軸に取り付けられたエンコーダや、モータ駆動電流を取得する電流センサを用いても、本技術による検査は可能である。
【００９０】
なお、上記実施例で駆動速度は共振周波数に基づき決めていたが、共振周波数にある程度幅を持たせ、駆動速度もある程度幅を持たせた範囲で、検査用の軌道祖生成するようにしてもよい。共振時の振幅幅自体は多少小さくなるが、ある程度の共振状態が発現し、故障検査を行えるようであれば、共振周波数ズバリの値で軌道を決めなくても良い。
【００９１】
上記実施例に示したロボット装置の検査方法は、例えば各種の物品（工業製品）の製造に用いられる各種のロボットシステム（ロボット装置）に適用することができる。ロボットシステム（ロボット装置）の構成、例えばロボットアームの構成などは任意であり、２以上のリンクを結合する関節を有するロボットシステム（ロボット装置）であれば本発明の検査方法を実施することができる。本発明による検査方法を用いてロボットシステムの関節の検査を行えば、確実に関節の変速機の状態（故障や損傷の有無）を検査、確認することができ、関節（変速機）を適切な状態に維持することができる。このため、当該のロボットシステムを用いて、精度よく、また歩留まりよく対象の物品を製造することができる。
【００９２】
また、上記実施例に示したロボット装置の検査方法は、より一般的には、回転駆動源（モータ）と変速機から成る回転駆動装置の検査方法と考えることもできる。その場合、上記実施例に例示した本発明の回転駆動装置の検査方法は、各種の回転駆動源（モータ）と変速機から成る回転駆動装置の検査方法として、種々の機械装置で実施することができる。
【００９３】
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給しそのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９４】
１  サーボモータ（モータ）
２  回転軸
１１  減速機（変速機）
１６  出力側エンコーダ（出力側角度検出手段）
１００  ロボット装置
１１１〜１１６  関節
２００  制御装置
２０１  ＣＰＵ（演算部）
２０４  ＨＤＤ（記憶部）
３００  ティーチングペンダント
４０２  実出力角演算部
４０３  角度情報記憶部
４０４  共振振幅演算部
４０５  基準値記憶部
４０６  関節状態判定部
４０７  検査用動作記憶部
４０８  検査用動作生成部
ｓ４０１  出力側エンコーダパルス
ｓ４０２  出力側角度情報
ｓ４０３  蓄積された角度情報
ｓ４０４  判定値Ａ
ｓ４０５  判定用基準値
ｓ４０７  検査用動作情報
５００  ロボットシステム
Ｗ  ワーク
【図１】
2020097085.tif 000005
【図２】
2020097085.tif 000006
【図３】
2020097085.tif 000007
【図４】
2020097085.tif 000008
【図５】
2020097085.tif 000009
【図６】
2020097085.tif 000010
【図７】
2020097085.tif 000011
【図８】
2020097085.tif 000012