(57)【要約】【課題】ベルトの張力を検出するロードセルを用いずに、ベルトのメンテナンスの時期を自己診断する。【解決手段】駆動ユニット１２０は、サーボモータ１２１と、サーボモータ１２１の出力軸１２１Ａの回転を減速する減速機１２３と、サーボモータ１２１の出力軸１２１Ａの回転を減速機１２３に伝達するベルト１２４と、を有する。また、駆動ユニット１２０は、サーボモータ１２１の出力軸１２１Ａの回転角度θｉｎを検出するエンコーダ１２２と、減速機１２３の出力軸１２３Ａの回転角度θｏｕｔを検出するエンコーダ１２５とを有する。回転角度θｉｎを、減速機１２３の減速比Ｎを用いて角度変換し、角度変換した回転角度θｉｎ／Ｎと回転角度θｏｕｔとの誤差Δθに基づき、ベルト１２４のメンテナンスが必要か否かを判断する。【選択図】図２
2015093360.tif 000002
【特許請求の範囲】
【請求項１】
回転モータと、
前記回転モータの出力軸の回転を減速する減速機と、
前記回転モータの出力軸の回転を前記減速機に伝達するベルトと、
前記回転モータの出力軸の回転角度を検出する第１角度検出部と、
前記減速機の出力軸の回転角度を検出する第２角度検出部と、
前記第１角度検出部により検出された回転角度、及び前記第２角度検出部により検出された回転角度のうちいずれか一方の回転角度を、前記減速機の減速比を用いて角度変換し、角度変換した前記一方の回転角度と他方の回転角度との誤差に基づき、前記ベルトのメンテナンスが必要か否かを判断する制御部と、を備えたことを特徴とする駆動装置。
【請求項２】
前記制御部は、前記誤差を前記ベルトの張力に換算し、前記ベルトの張力が所定張力を下回った場合に、前記ベルトのメンテナンスが必要と判断することを特徴とする請求項１に記載の駆動装置。
【請求項３】
前記誤差と前記ベルトの張力との関係を記憶する張力記憶部を備え、
前記制御部は、前記張力記憶部に記憶された関係に基づき、前記誤差に対応する前記ベルトの張力を求めることを特徴とする請求項２に記載の駆動装置。
【請求項４】
前記制御部は、前記回転モータの出力軸を正逆方向に回転させる周波数を変えながら、前記誤差の周波数特性を求め、該周波数特性における前記誤差のピーク値から前記ベルトによる固有振動数を求め、該固有振動数が所定周波数を下回った場合に、前記ベルトのメンテナンスが必要と判断することを特徴とする請求項１に記載の駆動装置。
【請求項５】
前記制御部は、前記減速機の出力軸における慣性質量を変化させた際に、前記周波数特性における周波数の変化が大きい第１ピーク値と周波数の変化が小さい第２ピーク値とのうち、前記第２ピーク値に該当する周波数を、前記ベルトの固有振動数とすることを特徴とする請求項４に記載の駆動装置。
【請求項６】
回転モータと、
前記回転モータの出力軸の回転を減速する減速機と、
前記回転モータの出力軸の回転を前記減速機に伝達するベルトと、
前記減速機の出力軸の回転角度を検出する角度検出部と、
前記回転モータの出力軸を回転させた際の前記角度検出部により検出された回転角度の応答特性から応答時間を求め、該応答時間に基づき、前記ベルトのメンテナンスが必要か否かを判断する制御部と、を備えたことを特徴とする駆動装置。
【請求項７】
前記ベルトのメンテナンスが必要か否かを表示する表示部を備えたことを特徴とする請求項１乃至６のいずれか１項に記載の駆動装置。
【請求項８】
関節で連結された複数のリンクと、
前記関節を駆動する、請求項１乃至７のいずれか１項に記載の駆動装置と、を備えたことを特徴とするロボット装置。
【請求項９】
回転モータと、前記回転モータの出力軸の回転を減速する減速機と、前記回転モータの出力軸の回転を前記減速機に伝達するベルトと、前記回転モータを制御する制御部と、前記回転モータの出力軸の回転角度を検出する第１角度検出部と、前記減速機の出力軸の回転角度を検出する第２角度検出部と、を有する駆動装置の制御方法であって、
前記制御部が、前記第１角度検出部から前記回転モータの出力軸の回転角度を取得する第１角度取得工程と、
前記制御部が、前記第２角度検出部から前記減速機の出力軸の回転角度を取得する第２角度取得工程と、
前記制御部が、前記第１角度取得工程にて取得した回転角度、及び前記第２角度取得工程にて取得した回転角度のうちいずれか一方の回転角度を、前記減速機の減速比を用いて角度変換し、角度変換した前記一方の回転角度と他方の回転角度との誤差に基づき、前記ベルトのメンテナンスが必要か否かを判断する判断工程と、を備えたことを特徴とする駆動装置の制御方法。
【請求項１０】
回転モータと、前記回転モータの出力軸の回転を減速する減速機と、前記回転モータの出力軸の回転を前記減速機に伝達するベルトと、前記回転モータを制御する制御部と、前記減速機の出力軸の回転角度を検出する角度検出部と、を有する駆動装置の制御方法であって、
前記制御部が、前記角度検出部から前記減速機の出力軸の回転角度を取得する角度取得工程と、
前記制御部が、前記回転モータの出力軸を回転させた際の前記角度取得工程にて取得した回転角度の応答特性から応答時間を求め、該応答時間に基づき、前記ベルトのメンテナンスが必要か否かを判断する判断工程と、を備えたことを特徴とする駆動装置の制御方法。
【請求項１１】
コンピュータに請求項９又は１０に記載の駆動装置の制御方法の各工程を実行させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベルトにより回転モータの回転を減速機に伝達する駆動装置、駆動装置を備えたロボット装置、駆動装置の制御方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
一般に、ロボットアームの関節の駆動には、ＡＣサーボモータやＤＣブラシレスサーボモータ等の回転モータであるサーボモータが用いられており、高出力のトルクを得るために減速機が設けられ、その間をベルトで動力伝達されることが多い。
【０００３】
従来、ロボットアームの各関節の角度制御は、サーボモータの出力軸に直結されたロータリーエンコーダ（エンコーダ）でサーボモータの出力軸の回転角度を検出して行っていた。しかしながら、サーボモータに結合した減速機は、構造上、ねじれやガタが生じるため、関節にねじれが生じ、サーボモータの出力軸の回転角度では、正確に関節の角度を求めることができなかった。そのため、ロボットアーム先端等、ロボット本体の位置誤差となっていた。
【０００４】
近年、ロボットアームの位置誤差を小さくするために、減速機の出力軸にエンコーダを設けて位置を検出するものが提案されている（特許文献１参照）。関節の角度を直接検出することができるため、ロボットアームの位置誤差も小さくすることができる。
【０００５】
一方、ロボットに限らず製造装置では、製造における稼働率を上げるためメンテナンスによる停止時間を極力小さくすることを求められている。ベルトは使用を続けるとベルトの伸びにより張力の低下が生じる。また、歯付ベルト（タイミングベルト）では歯の摩耗によってもベルトの張力が低下する。ベルトの張力には適正な範囲が定められ、適正な張力を下回ったまま動作させると動力伝達性能が著しく低下し、場合によっては破損することがある。回転モータ、ベルト及び減速機を有する駆動装置を備えたロボット装置は、ベルトの張力が適正値より低下することを防止するために、ベルトの張力を管理する必要がある。
【０００６】
従来、ベルトの張力を管理するには、ベルト張力測定器をベルトに当てて、張力の変化を定期的に測定していた。しかし、ロボットアームの関節駆動部を構成する駆動装置は、外装カバーに覆われていることが多く、さらにベルト伝達機構部が多い多関節のロボットアームでは、定期的なメンテナンスの度に多大な時間をかけてカバーを分解し張力測定する行為が必要となる。これに対して、ロボットアームの内部にロードセルを設置して、ロボットアームを分解せずにベルトの張力を検出することが提案されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１７６９１３号公報
【特許文献２】特開２０１１−６４２４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献２のようにベルトの張力をロードセルによって計測する場合、ロボットアームの内部にロードセルを設置するためのスペースが必要となり、駆動装置、ひいてはロボットアームが大型化していた。
【０００９】
そこで、本発明は、ベルトのメンテナンスの時期を自己診断するためのベルトの張力を検出するロードセルが不要な駆動装置、ロボット装置、駆動装置の制御方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の駆動装置は、回転モータと、前記回転モータの出力軸の回転を減速する減速機と、前記回転モータの出力軸の回転を前記減速機に伝達するベルトと、前記回転モータの出力軸の回転角度を検出する第１角度検出部と、前記減速機の出力軸の回転角度を検出する第２角度検出部と、前記第１角度検出部により検出された回転角度、及び前記第２角度検出部により検出された回転角度のうちいずれか一方の回転角度を、前記減速機の減速比を用いて角度変換し、角度変換した前記一方の回転角度と他方の回転角度との誤差に基づき、前記ベルトのメンテナンスが必要か否かを判断する制御部と、を備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ベルトの張力を検出するロードセルを用いなくても、ベルトのメンテナンス時期を自動的に判断することができ、ローコストで小型の装置を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係るロボット装置の概略構成を示す斜視図である。
【図２】ロボットアームの関節の部分斜視図である。
【図３】ロボット装置の制御装置の構成を示すブロック図である。
【図４】第１実施形態に係るロボット装置の制御系を示す機能ブロック図である。
【図５】第１実施形態に係るロボット装置の制御系による制御動作を示すフローチャートである。
【図６】誤差とベルトの張力との関係を示すグラフである。
【図７】ロボットアームの各サーボモータに電源が投入されサーボオン状態になった以降のベルトの張力を示したグラフである。
【図８】第１実施形態におけるＣＰＵによる関節の角度の制御動作を示すフローチャートである。
【図９】第２実施形態に係るロボット装置の制御系を示す機能ブロック図である。
【図１０】第２実施形態に係るロボット装置の制御系による制御動作を示すフローチャートである。
【図１１】サーボモータを正弦波掃引駆動した際に入力側エンコーダで検出された回転角度、及び出力側エンコーダで検出された回転角度をＮ倍した際の回転角度を示す波形図である。
【図１２】誤差の周波数特性を示す図である。
【図１３】ロボットアームの姿勢を示す説明図である。
【図１４】ロボットアームの姿勢を変更した際の誤差の周波数特性を示すグラフである。
【図１５】第３実施形態に係るロボット装置の制御系を示す機能ブロック図である。
【図１６】第３実施形態に係るロボット装置の制御系による制御動作を示すフローチャートである。
【図１７】サーボモータの出力軸を回転させた際の減速機の出力軸の回転角度の応答特性を示すグラフである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１４】
［第１実施形態］
（１）ロボット装置の構成の説明
図１は、本発明の第１実施形態に係るロボット装置の概略構成を示す斜視図である。図１に示すロボット装置５００は、例えば組立作業等を行う産業ロボットである。ロボット装置５００は、垂直多関節型のロボット１００と、ロボット１００に接続され、ロボット１００を制御する制御装置２００と、制御装置２００に接続され、ロボット１００を教示する教示装置であるティーチングペンダント３００と、を備えている。ロボット１００は、多軸（６軸）のロボットアーム１０１と、ロボットアーム１０１の先端に取り付けられたエンドエフェクタとしてのロボットハンド１０２と、を有している。
【００１５】
ロボットアーム１０１は、作業台に固定された基端リンクであるベース部１１１と、変位や力を伝達する複数のリンク（フレーム）１１２〜１１７と、を有している。各リンク１１１〜１１７は、複数の関節Ｊ１〜Ｊ６で旋回又は回転可能に連結されている。
【００１６】
また、ロボットアーム１０１の先端、即ち先端リンクであるリンク１１７には、ロボットハンド１０２が連結されている。ロボットハンド１０２は、任意のワークＷに対して把持等の作業を行うエンドエフェクタである。
【００１７】
各関節Ｊ１〜Ｊ６には、制御装置２００からの指令により関節を駆動する駆動ユニットが設けられている。
【００１８】
（２）関節Ｊ２を例とした関節構造の詳細説明
以下、関節Ｊ１〜Ｊ６を代表して、関節Ｊ２を例に説明する。なお、他の関節Ｊ１、Ｊ３〜Ｊ６も略同様の構成であるため、図示及び説明を省略する。図２は、ロボットアーム１０１の関節Ｊ２の部分斜視図である。
【００１９】
図２に示すように、関節Ｊ２には、駆動ユニット１２０が設けられている。駆動ユニット１２０は、回転モータである電磁モータとしてのサーボモータ１２１と、サーボモータ１２１の出力軸（回転軸）１２１Ａの回転角度を検出する第１角度検出部としてのエンコーダ（入力側エンコーダ）１２２と、を有している。また、駆動ユニット１２０は、サーボモータ１２１のトルクを増大させるためにサーボモータ１２１の出力（出力軸１２１Ａの回転）を減速する減速機１２３と、減速機１２３にサーボモータ１２１の回転駆動を伝達するベルト１２４と、を有している。また、駆動ユニット１２０は、減速機１２３の出力軸１２３Ａの回転角度、即ちリンク１１２とリンク１１３との相対角度を検出する第２角度検出部としてのエンコーダ（出力側エンコーダ）１２５を有している。
【００２０】
サーボモータ１２１は、例えばブラシレスＤＣサーボモータやＡＣサーボモータである。減速機１２３は、ベルト１２４を介して伝達されたサーボモータ１２１の回転角度を減速する。減速機１２３は、小型軽量で減速比Ｎの大きい波動歯車減速機を用いるのが望ましい。減速機１２３の出力軸１２３Ａは、リンク１１２（図１）に接続されている。減速機１２３の出力軸１２３Ａの回転角度が、出力角度、即ち関節Ｊ２の関節角度である。
【００２１】
入力側エンコーダ１２２は、インクリメンタル型のロータリーエンコーダでもよいが、サーボモータ１２１の出力軸１２１Ａの所定の回転位置を原点とした絶対角度が検出できるアブソリュート型のロータリーエンコーダであるのが望ましい。ロータリーエンコーダである入力側エンコーダ１２２は、サーボモータ１２１の出力軸１２１Ａの一端部に設けられている。そして、入力側エンコーダ１２２は、サーボモータ１２１の出力軸１２１Ａの回転に伴って、出力軸１２１Ａの回転角度を示すパルス信号を生成し、制御装置２００（図１）に出力する。
【００２２】
出力側エンコーダ１２５は、入力側エンコーダ１２２に対して減速機１２３の減速比Ｎ倍の分解能を持つことが望ましい。出力側エンコーダ１２５は、関節Ｊ２の駆動に伴って、即ち出力軸１２３Ａの回転に伴って、出力軸１２３Ａの回転角度を示すパルス信号を生成し、制御装置２００（図１）に出力する。出力側エンコーダ１２５は、光学式ロータリーエンコーダや磁気式ロータリーエンコーダ等のいずれの方式でもよい。
【００２３】
サーボモータ１２１の出力軸１２１Ａの他端部には、駆動プーリ１２６が取り付けられている。減速機１２３の入力軸１２３Ｂには、従動プーリ１２７が取り付けられている。駆動プーリ１２６の回転駆動力は従動プーリ１２７へベルト１２４を介して伝達される。
【００２４】
ベルト１２４は、無端状のベルトであり、組立作業等を行うロボットアーム１０１では正確な位置決めが求められるので、歯付ベルトであることが望ましい。ベルト１２４による減速、或いは増速がない場合、サーボモータ１２１の出力軸１２１Ａの回転（動力）は、ベルト１２４を介して減速機１２３の入力軸１２３Ｂに伝達される。減速機１２３の出力軸１２３Ａは、入力軸１２３Ｂの回転に対して１／Ｎに減速されて回転する。本実施形態ではベルト１２４による減速や増速が無い場合について説明する。
【００２５】
以上の構成により、ロボットアーム１０１の関節Ｊ２は、サーボモータ１２１により減速機１２３を介して駆動される。なお、第１実施形態では、ロボット全体を制御する制御装置２００と、駆動ユニット１２０により駆動装置が構成されている。
【００２６】
（３）ロボット装置の制御装置の説明
図３は、ロボット装置５００の制御装置２００の構成を示すブロック図である。制御装置２００は、制御部（演算部）としてのＣＰＵ（Central  Processing  Unit）２０１を備えたコンピュータである。制御装置２００は、記憶部としてＲＯＭ（Read  Only  Memory）２０２、ＲＡＭ（Random  Access  Memory）２０３及びＨＤＤ（Hard  Disk  Drive）２０４を備えている。また、制御装置２００は、記録ディスクドライブ２０５と、各種のインタフェース２１１〜２１５とを備えている。
【００２７】
ＣＰＵ２０１には、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、記録ディスクドライブ２０５及び各種のインタフェース２１１〜２１５が、バス２１６を介して接続されている。ＲＯＭ２０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ２０３は、ＣＰＵ２０１の演算処理結果を一時的に記憶する記憶装置である。
【００２８】
ＨＤＤ２０４は、ＣＰＵ２０１の演算処理結果である各種のデータ等を記憶する記憶装置であると共に、ＣＰＵ２０１に、後述する各種演算処理（工程）を実行させるためのプログラム２３０を記録するものである。ＣＰＵ２０１は、ＨＤＤ２０４に記録（格納）されたプログラム２３０に基づいて各種演算処理を実行する。
【００２９】
記録ディスクドライブ２０５は、記録ディスク２３１に記録された各種データやプログラム等を読み出すことができる。
【００３０】
インタフェース２１１には、ティーチングペンダント３００が接続されている。ティーチングペンダント３００は、ユーザが操作するものであり、ユーザの操作により各関節Ｊ１〜Ｊ６の目標関節角度を出力する。ＣＰＵ２０１は、インタフェース２１１及びバス２１６を介してティーチングペンダント３００からの目標関節角度のデータ信号の入力を受ける。
【００３１】
インタフェース２１２には、エンコーダ１２２，１２５が接続されている。エンコーダ１２２，１２５からは、検出角度を示すパルス信号が出力される。ＣＰＵ２０１は、インタフェース２１２及びバス２１６を介してエンコーダ１２２，１２５からのパルス信号の入力を受ける。
【００３２】
インタフェース２１３には、表示部としてのモニタ３１１が接続されており、モニタ３１１には、ＣＰＵ２０１の制御の下、各種画像が表示される。インタフェース２１４には、書き換え可能な不揮発性メモリや外付けＨＤＤ等の外部記憶装置３１２が接続されている。
【００３３】
インタフェース２１５には、サーボ制御装置３１３が接続されている。ＣＰＵ２０１は、サーボモータ１２１の出力軸１２１Ａの回転角度の制御量を示す駆動指令のデータを所定時間間隔でバス２１６及びインタフェース２１５を介してサーボ制御装置３１３に出力する。サーボ制御装置３１３は、制御部としてのＣＰＵ２０１から入力を受けた駆動指令に基づき、サーボモータ１２１への電流の出力量を演算し、サーボモータ１２１へ電流を供給して、ロボットアーム１０１の関節Ｊ１〜Ｊ６の関節角度制御を行う。
【００３４】
即ち、ＣＰＵ２０１は、サーボ制御装置３１３を介して、各関節Ｊ１〜Ｊ６の角度が目標関節角度となるように、各駆動ユニットのサーボモータ１２１による各関節Ｊ１〜Ｊ６の駆動を制御する。
【００３５】
（４）構成をブロック化し、その機能とブロック間の関係の説明
図４は、第１実施形態に係るロボット装置５００の制御系を示す機能ブロック図である。図５は、第１実施形態に係るロボット装置５００の制御系による制御動作を示すフローチャートである。ここで、図３に示す制御部としてのＣＰＵ２０１は、プログラム２３０を実行することにより、図４に示す各部４０１〜４０５として機能する。なお、各記憶部４０６〜４０８は、例えばＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４及び外部記憶装置３１２のうちの少なくとも一つで構成されている。以下、各部の動作、即ち、駆動装置（ロボット装置）の制御方法の各工程についてフローチャートを用いて説明する。
【００３６】
まず、ＣＰＵ２０１は、ユーザが制御装置２００又はティーチングペンダント３００を操作することにより送られた指令に基づき、ベルトメンテナンスを診断するプログラム２３０を実行処理するベルトメンテナンス診断モードに変更する（Ｓ１）。通常、ＣＰＵ２０１は、ロボット１００を動作させる動作モードに設定してあるが、ユーザからの指令を受けて、ベルトメンテナンス診断モードに設定を変更する。ＣＰＵ２０１は、このベルトメンテナンス診断モードに移行した際、図４に示す各部４０１〜４０４として機能する。
【００３７】
ＣＰＵ２０１は、ベルト１２４の張力を診断する動作を実行する（Ｓ２）。ステップＳ２では、サーボ制御装置３１３がプログラム２３０に従って動作するＣＰＵ２０１からの指令に基づきサーボモータ１２１に駆動電流を供給して、ロボットアーム１０１の関節Ｊ１〜Ｊ６の関節角度制御を行う。
【００３８】
即ち、駆動指令部４０１は、プログラム２３０に基づき、ロボットアーム１０１の各関節Ｊ１〜Ｊ６を動作させる駆動指令信号をサーボ制御装置３１３へ送信する。サーボ制御装置３１３は、受けた駆動指令に基づき、サーボモータ１２１への電流の出力量を演算し、サーボモータ１２１へ電流を供給してサーボモータ１２１の回転を制御する。サーボ制御装置３１３は、入力側エンコーダ１２２により検出された回転角度θｉｎ及び入出力角度誤差演算部４０２により演算された誤差Δθからサーボモータ１２１の制御量を決定して、サーボモータ１２１の駆動を制御する。サーボモータ１２１は、サーボ制御装置３１３から電力供給を受けて駆動トルクを発生し、出力軸１２１Ａと共に入力側エンコーダ１２２と駆動プーリ１２６を回転させる。入力側エンコーダ１２２は、出力軸１２１Ａの回転に伴って回転角度θｉｎをサーボ制御装置３１３と入出力角度誤差演算部４０２へ出力する。駆動プーリ１２６は従動プーリ１２７とベルト１２４を介して接続され、サーボモータ１２１で発生した回転駆動力を減速機１２３側へ伝達する。減速機１２３は伝達されたサーボモータ１２１の回転を１／Ｎに減速して出力軸１２３Ａへ所定角を出力する。減速機１２３の出力された回転角度θｏｕｔは出力側に設置された出力側エンコーダ１２５により検出される。出力側エンコーダ１２５は出力軸１２３Ａの回転に伴って回転角度θｏｕｔを入出力角度誤差演算部４０２へ出力する。
【００３９】
入出力角度誤差演算部４０２は、入力側エンコーダ１２２により検出された回転角度（検出角度）θｉｎと、出力側エンコーダ１２５により検出された回転角度（検出角度）θｏｕｔとをそれぞれ取得する（第１角度取得工程，第２角度取得工程）。入出力角度誤差演算部４０２は、回転角度θｉｎ，θｏｕｔ及び減速機１２３の減速比Ｎから、各関節Ｊ１〜Ｊ６に生じたそれぞれの入出力角度誤差（誤差）Δθを算出する。各誤差Δθは、各関節Ｊ１〜Ｊ６にねじれない場合の理想状態の関節角度と、実際の使用で各関節Ｊ１〜Ｊ６にねじれが生じた場合の実使用時の関節角度との差分である。
【００４０】
入出力角度誤差演算部４０２は、以下の示す（式１）の演算を行うことで誤差Δθを求める。
【００４１】
【数１】
2015093360.tif 000003
【００４２】
具体的には、入出力角度誤差演算部４０２は、回転角度θｉｎ，θｏｕｔのうちいずれか一方の回転角度（第１実施形態では、回転角度θｉｎ）を減速機１２３の減速比Ｎを用いて角度変換（即ちθｉｎ／Ｎを演算）する。そして、入出力角度誤差演算部４０２は、角度変換した一方の回転角度θｉｎ／Ｎと他方の回転角度θｏｕｔとの誤差Δθを演算する。誤差Δθが生じる理由としては、ベルト１２４の伸びや減速機１２３の弾性ねじれ変形などの要因である。
【００４３】
ベルト張力換算部４０３は、入出力角度誤差演算部４０２で算出された誤差Δθに基づき、ベルト１２４の張力Ｔを演算する。
【００４４】
図６は、誤差Δθとベルトの張力Ｔとの関係を示すグラフである。同じ荷重条件であれば、一般に減速機１２３は歯車で構成されるので、入力軸１２３Ｂと出力軸１２３Ａの剛性は一定である。剛性が一定であるので、同じ荷重条件であれば、ねじれ量も一定になる。これに対し、ベルト１２４は、使用によりベルト１２４の摩擦等でベルト１２４の張力Ｔが小さくなり、剛性も劣化することが知られている。すなわち、誤差Δθの変化の支配的な要因は、ベルト１２４の張力Ｔの変化である。誤差Δθはベルト１２４の張力Ｔと対応関係にあるため、誤差Δθからベルト１２４の張力Ｔを算出できる。このため、予め誤差Δθとベルト１２４の張力Ｔとの関係を実験的に求めておけばよい。
【００４５】
図６に示すように、初期状態における誤差Δθは、ベルト１２４の張力Ｔが正常値であるため、減速機１２３のねじれ量が支配的となる。そして、ベルト１２４の劣化により、ベルト１２４が伸びて張力Ｔが小さくなり、誤差Δθが初期状態よりも大きくなる。
【００４６】
張力記憶部としてのΔθ−Ｔ記憶部４０６には、予め実験により求めておいた、誤差Δθとベルト１２４の張力Ｔとの関係式又はテーブル等の関係が記憶されている。具体的には、Δθ−Ｔ記憶部４０６には、ベルト１２４が初期状態から劣化した状態までの誤差Δθとベルト１２４の張力Ｔとの関係式又はテーブル等の関係が記憶されている。
【００４７】
ベルト張力換算部４０３は、Δθ−Ｔ記憶部４０６に記憶された関係（関係式又はテーブル）に基づき、誤差Δθに対応するベルト１２４の張力Ｔを求める（Ｓ３）。
【００４８】
許容値記憶部４０７には、演算した張力Ｔとの比較に用いる許容値（所定張力）Ｔｒｅｆが記憶されている。この許容値Ｔｒｅｆは、ユーザが任意に設定することができ、第１実施形態では、ベルト１２４の交換や修理、調整等のメンテナンスが必要となる張力よりも大きな値に設定されており、例えばデータシートに記載されている値や、実験により求めた値とする。
【００４９】
条件記憶部４０８は、許容値記憶部４０７で張力を記憶した際のロボットアーム１０１の姿勢、ロボットアーム１０１の先端状態（先端荷重条件）、及びロボットアーム１０１の温度条件の記憶を行う。減速機１２３の出力軸１２３Ａにおける慣性質量は、ロボットアーム１０１の姿勢及び先端荷重条件によって異なる。このため、本実施形態のように許容値と検出値を比較する場合には、ロボットアーム１０１の姿勢と先端荷重条件を同等にしなければならない。
【００５０】
先端荷重条件はロボットハンド１０２とワークＷの質量と重心位置である。ベルト１２４のスパン長となるサーボモータ１２１の出力軸１２１Ａと減速機１２３の入力軸１２３Ｂとの距離は、ロボットアーム１０１の温度条件による熱膨張量によって異なる。このため、本実施形態のように許容値と検出値を比較する場合には、ロボットアーム１０１の温度条件を同等にしなければならない。したがって、各エンコーダ１２２，１２５による回転角度の検出結果の取得は、特定のエンドエフェクタをロボットアーム１０１の先端に取り付け、ロボットアーム１０１の暖機運転後の熱平衡状態のときに、ロボットアーム１０１の特定の姿勢で行うのがよい。
【００５１】
図７は、ロボットアーム１０１の各サーボモータ１２１に電源が投入されサーボオン状態（暖機運転状態）になった以降のベルト１２４の張力を示したグラフである。時刻０のとき、ロボットアーム１０１の各サーボモータ１２１に電源が投入される前であり、ベルト１２４の張力はＴ１３３である。時刻０〜ｔ１３１の間、サーボ制御装置３１３からロボットアーム１０１の各サーボモータ１２１に電源（一定の電流値の電流Ｉ）が投入され、サーボオン状態（暖機運転状態）になる。
【００５２】
サーボモータ１２１内のモータ巻線の巻線抵抗値がＲだった場合、サーボモータ１２１は熱量Ｉ２×Ｒで発熱する。サーボモータ１２１が発熱すると固定されているリンク１１３へ伝熱し、熱平衡に達するまで温度上昇する。リンク１１３は金属部材で製作され温度上昇すると熱膨張を起こし、リンク１１３に固定されているサーボモータ１２１と減速機１２３の軸間距離も伸びることになる。軸間距離が伸びると、ベルト１２４の張力が上昇することになる。サーボモータ１２１と減速機１２３の軸間距離が伸びると、間にあるベルト１２４の張力は熱平衡に達する時刻ｔ１３２までに張力Ｔ１３３から張力Ｔ１３４まで増加する。時刻ｔ１３１以降リンク１１３は熱平衡に達し、ベルト１２４の張力はＴ１３４で安定する。
【００５３】
許容値記憶部４０７に記憶されるベルト１２４の張力の許容値Ｔｒｅｆは、ロボットアーム１０１の温度変化による誤差を小さくするために、時刻ｔ１３２のベルト１２４の張力Ｔ１３４を記憶する。そして条件記憶部４０８は、許容値記憶部４０７でベルト張力Ｔ１３４を記憶した際のロボットアーム１０１の温度条件の記憶を行う。
【００５４】
メンテナンス判断部４０４は、誤差Δθに基づき、ベルト１２４のメンテナンスが必要か否かを判断する（Ｓ４：判断工程）。つまり、メンテナンス判断部４０４は、ベルト張力換算部４０３で換算されたベルト１２４の張力Ｔと許容値記憶部４０７の情報（許容値Ｔｒｅｆ）とを比較して、ベルト１２４のメンテナンスが必要な状態かを否かを判断する。具体的に説明すると、メンテナンス判断部４０４は、張力Ｔが許容値Ｔｒｅｆ以上であるか否かを判断する。即ち、メンテナンス判断部４０４は、ベルト１２４の張力Ｔが所定張力（許容値）Ｔｒｅｆ以上の場合に、ベルト１２４が正常であると判断する（Ｓ４：Ｙｅｓ）。また、メンテナンス判断部４０４は、ベルト１２４の張力Ｔが所定張力（許容値）Ｔｒｅｆを下回った場合に、前記ベルト１２４のメンテナンスが必要と判断する（Ｓ４：Ｎｏ）。
【００５５】
メンテナンス判断部４０４は、判断の際に、条件記憶部４０８の情報を読み出し、検出時の姿勢、先端荷重条件、及び温度条件が同じであるかをも判断し、異なる場合はユーザに通知する。
【００５６】
メンテナンス通知部４０５は、メンテナンス判断部４０４にてベルト１２４のメンテナンスが必要ない判断された場合（Ｓ４：Ｙｅｓ）、ベルト１２４が正常であることをティーチングペンダント３００又はモニタ３２１等の表示部に表示させる（Ｓ５）。
【００５７】
メンテナンス通知部４０５は、メンテナンス判断部４０４にてベルト１２４のメンテナンスが必要である判断された場合（Ｓ４：Ｎｏ）、メンテナンスが必要であることをティーチングペンダント３００又はモニタ３２１等の表示部に表示させる（Ｓ６）。これにより、ベルト１２４のメンテナンスが必要であることをロボット使用者に通知する。つまり、ティーチングペンダント３００又はモニタ３２１には、ベルト１２４のメンテナンスが必要か否か（判断結果）が表示される。
【００５８】
なお、第１実施形態では、誤差Δθを張力Ｔに換算し、張力Ｔが許容値Ｔｒｅｆ以上であるか否かを判断しているが、張力Ｔへの換算作業を省略してもよい。つまり、誤差Δθは、張力Ｔに対応しているので、誤差Δθそのものでベルト１２４のメンテナンスが必要か否かを判断してもよい。その際、誤差Δθに対する許容値θｒｅｆを設定し、誤差Δθが許容値θｒｅｆ以下であるか否かを判断すればよい。そして、誤差Δθが許容値θｒｅｆを上回れば、ベルト１２４のメンテナンスが必要と判断すればよい。
【００５９】
（５）ＣＰＵ２０１の関節角度の制御動作（動作モード）の説明
次に、本第１実施形態の制御部であるＣＰＵ２０１によるロボット制御方法、即ち関節Ｊ２の角度の制御動作について説明する。図８は、第１実施形態におけるＣＰＵ２０１による関節Ｊ２の角度の制御動作を示すフローチャートである。なお、図８に示す各処理ステップは、ＣＰＵ２０１がプログラム２３０を読み出してプログラム２３０を実行することにより実行されるものである。
【００６０】
ＣＰＵ２０１は、第１制御処理として、サーボモータ１２１の制御中、入力側エンコーダ１２２で検出された回転角度（検出角度）θｉｎ、つまりサーボモータ１２１の出力軸１２１Ａの回転角度θｉｎを取得する。
【００６１】
そして、ＣＰＵ２０１は、サーボモータ１２１の出力軸１２１Ａの回転角度θｉｎ及び減速機１２３の減速比Ｎから、関節Ｊ２にねじれがない理想状態における関節Ｊ２の角度を逐次推定している。具体的には、ＣＰＵ２０１は、回転角度θｉｎを減速比Ｎで割り算することで、理想時（減速機１２３のねじれ、ベルト１２４の伸びがない状態）の関節角度θｉｎ／Ｎを求める（Ｓ１１）。
【００６２】
ＣＰＵ２０１は、この関節角度θｉｎ／Ｎが動作プログラムやティーチングペンダント３００から取得した目標関節角度になるようにサーボモータ１２１を動作させる。次に、ＣＰＵ２０１は、関節誤差演算処理として、関節Ｊ２の誤差Δθの算出を実行する（Ｓ１２）。次に、ＣＰＵ２０１は、補正制御処理として、推定関節角度が誤差Δθの分補正されるように、サーボモータ１２１を動作させる（Ｓ１３）。なお、ＣＰＵ２０１は、次の目標関節角度のデータの入力を受けた場合は、再度、ステップＳ１１〜Ｓ１３を繰り返し実行する。
【００６３】
以上、第１実施形態によれば、サーボモータ１２１の出力軸１２１Ａの回転角度θｉｎ、及び減速機１２３の出力軸１２３Ａの回転角度θｏｕｔからベルト１２４の張力Ｔを求めている。そして、ベルト１２４の張力Ｔから、ベルト１２４の張力の低下（劣化）を判断し、ロボット使用者へベルト１２４のメンテナンスが必要か否かを通知している。これにより定期的にロボットアーム１０１を分解してベルト１２４の張力Ｔを測定する必要がなくなる。よって定期メンテナンスによるロボット装置５００の稼働率低下を抑えることが可能となる。しかも、張力計測用のロードセルを実装する構成に比べ、駆動装置（具体的には駆動ユニット１２０）、ひいてはロボット装置５００（具体的にはロボットアーム１０１）を、小型でローコストとすることができる。
【００６４】
なお、第１実施形態では、入出力角度誤差演算部４０２は、回転角度θｉｎを減速比Ｎで角度変換して、角度変換した回転角度θｉｎ／Ｎと回転角度θｏｕｔとの誤差Δθを演算していたが、回転角度θｏｕｔを角度変換してもよい。即ち、角度変換したθｏｕｔ×Ｎと、回転角度θｉｎとの誤差Δθを演算してもよい。その際、Δθ−Ｔ記憶部４０６には、この誤差Δθと張力Ｔとの関係を記憶させておけばよい。
【００６５】
［第２実施形態］
次に、本発明の第２実施形態に係るロボット装置について説明する。図９は、本発明の第２実施形態に係るロボット装置の制御系を示す機能ブロック図である。図１０は、本発明の第２実施形態に係るロボット装置の制御系による制御動作を示すフローチャートである。なお、ロボット装置の各部の構成は、上記第１実施形態の図１〜図３で説明した構成と同様であり、詳細な説明は省略する。第２実施形態において、上記第１実施形態と異なるのは、制御部であるＣＰＵ２０１を用いた駆動装置の制御方法（ロボット装置の制御方法）、即ちプログラム２３０の内容が異なるものであり、以下、上記第１実施形態と異なる部分について説明する。
【００６６】
第２実施形態では、関節の正弦波掃引駆動動作で誤差（入出力角度誤差）Δθの周波数特性の推移を求め、ベルト１２４の張力劣化を判断する場合について説明する。
【００６７】
関節の固有振動数は下記（式２）で表わされる。なお、関節の固有振動数は関節剛性と慣性モーメントによって決まる。関節の剛性は減速機、ベルト、関節軸、プーリ等の伝達駆動系の合成値となる。一般に関節の剛性は、減速機とベルトが支配的であるため、第２実施形態においても関節の剛性は、減速機１２３とベルト１２４の合成値として説明する。（式３）は減速機１２３とベルト１２４の剛性の合成値を示す。
【００６８】
【数２】
2015093360.tif 000004
【００６９】
一般にベルト１２４の張力が小さくなると、ベルト１２４の剛性も小さくなる。ベルト１２４の剛性が小さくなると関節のばね定数も上記（式３）に示すように小さくなる。予めベルト１２４の張力と関節のばね定数の関係を実験的に求めておく。そして関節のばね定数は上記（式２）の通り固有振動数から求めることができる。つまり関節の固有振動数からベルト１２４の張力の検出を行う。
【００７０】
ここで、図３に示す制御部としてのＣＰＵ２０１は、プログラム２３０を実行することにより、図９に示す各部４０１，４１１〜４１４として機能する。なお、各記憶部４１５，４１６は、例えばＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４及び外部記憶装置３１２のうちの少なくとも一つで構成されている。以下、各部の動作についてフローチャートを用いて説明する。
【００７１】
まず、ＣＰＵ２０１は、ユーザが制御装置２００又はティーチングペンダント３００を操作することにより送られた指令に基づき、ベルトメンテナンスを診断するプログラム２３０を実行処理するベルトメンテナンス診断モードに変更する（Ｓ２１）。通常、ＣＰＵ２０１は、ロボット１００を動作させる動作モードに設定してあるが、ユーザからの指令を受けて、ベルトメンテナンス診断モードに設定を変更する。ＣＰＵ２０１は、このベルトメンテナンス診断モードに移行した際、図９に示す各部４０１，４１１〜４１４として機能する。
【００７２】
ＣＰＵ２０１は、ベルト１２４の張力を診断する動作を実行する（Ｓ２２）。ステップＳ２２では、サーボ制御装置３１３がプログラム２３０に従って動作するＣＰＵ２０１からの指令に基づきサーボモータ１２１に駆動電流を供給して、ロボットアーム１０１の関節Ｊ１〜Ｊ６の関節角度制御を行う。
【００７３】
即ち、駆動指令部４０１は、プログラム２３０に基づき、ロボットアーム１０１の各関節Ｊ１〜Ｊ６を動作させる駆動指令信号をサーボ制御装置３１３へ送信する。サーボ制御装置３１３は、受けた駆動指令に基づき、サーボモータ１２１への電流の出力量を演算し、サーボモータ１２１へ電流を供給してサーボモータ１２１の回転を制御する。サーボ制御装置３１３は、入力側エンコーダ１２２により検出された回転角度θｉｎ及び入出力角度誤差演算部４１１により演算された誤差Δθからサーボモータ１２１の制御量を決定して、サーボモータ１２１の駆動を制御する。サーボモータ１２１は、サーボ制御装置３１３から電力供給を受けて駆動トルクを発生し、出力軸１２１Ａと共に入力側エンコーダ１２２と駆動プーリ１２６を回転させる。入力側エンコーダ１２２は、出力軸１２１Ａの回転に伴って回転角度θｉｎをサーボ制御装置３１３と入出力角度誤差演算部４１１へ出力する。駆動プーリ１２６は従動プーリ１２７とベルト１２４を介して接続され、サーボモータ１２１で発生した回転駆動力を減速機１２３側へ伝達する。減速機１２３は伝達されたサーボモータ１２１の回転を１／Ｎに減速して出力軸１２３Ａへ所定角を出力する。減速機１２３の出力された回転角度θｏｕｔは出力側に設置された出力側エンコーダ１２５により検出される。出力側エンコーダ１２５は出力軸１２３Ａの回転に伴って回転角度θｏｕｔを入出力角度誤差演算部４１１へ出力する。
【００７４】
入出力角度誤差演算部４１１は、入力側エンコーダ１２２により検出された回転角度θｉｎと、出力側エンコーダ１２５により検出された回転角度θｏｕｔとをそれぞれ取得する（第１角度取得工程，第２角度取得工程）。入出力角度誤差演算部４１１は、回転角度θｉｎ，θｏｕｔ及び減速機１２３の減速比Ｎから、各関節Ｊ１〜Ｊ６に生じたそれぞれの入出力角度誤差（誤差）Δθを算出する。各誤差Δθは、各関節Ｊ１〜Ｊ６にねじれない場合の理想状態の関節角度と、実際の使用で各関節Ｊ１〜Ｊ６にねじれが生じた場合の実使用時の関節角度との差分である。
【００７５】
入出力角度誤差演算部４１１は、以下の（式４）の演算を行うことで誤差Δθを求める。
【００７６】
【数３】
2015093360.tif 000005
【００７７】
具体的には、入出力角度誤差演算部４１１は、回転角度θｉｎ，θｏｕｔのうちいずれか一方の回転角度（第２実施形態では、回転角度θｏｕｔ）を減速機１２３の減速比Ｎを用いて角度変換（即ちθｏｕｔ×Ｎを演算）する。そして、入出力角度誤差演算部４１１は、角度変換した一方の回転角度θｏｕｔ×Ｎと他方の回転角度θｉｎとの誤差Δθを演算する。
【００７８】
このとき、関節Ｊ１〜Ｊ６の関節角度は正弦波掃引された動作を行う。サーボモータ１２１が正転と逆転を繰返し、そして正転と逆転とを反転させる間隔を徐々に短くしてく動作である。サーボモータ１２１の動作時の回転角度θｉｎは、出力側エンコーダ１２５で検出可能な角度以上の回転を行う。
【００７９】
図１１は、サーボモータ１２１を正弦波掃引駆動した際に入力側エンコーダ１２２で検出された回転角度、及び出力側エンコーダ１２５で検出された回転角度をＮ倍した際の回転角度を示す波形図である。図１１において、実線で示す波形Ｗ１１は、正弦波掃引駆動時の入力側エンコーダ１２２で検出される波形、破線で示す波形Ｗ１２は、出力側エンコーダ１２５で検出された角度に減速比Ｎ倍した波形を表わす。図１１に示すように、サーボモータ１２１の出力軸１２１Ａを角度θ１〜角度−θ１の範囲で正弦波掃引駆動する。
【００８０】
入出力角度誤差演算部４１１は、図１１の波形Ｗ１１と波形Ｗ１２との誤差（差分）Δθを算出する。その際、入出力角度誤差演算部４１１は、周波数毎に誤差Δθを求める。つまり、入出力角度誤差演算部４１１は、サーボモータ１２１の出力軸１２１Ａを正逆方向に回転させる周波数を変えながら、誤差Δθの周波数特性を求める。
【００８１】
次に、周波数演算部４１２は、求めた周波数特性における誤差Δθのピーク値からベルト１２４による固有振動数ｆ１を求める（Ｓ２３）。
【００８２】
そして、メンテナンス判断部４１３は、誤差Δθ、即ち誤差Δθの周波数特性から得られるベルト１２４の固有振動数ｆ１に基づき、ベルト１２４のメンテナンスが必要か否かを判断する（Ｓ２４：判断工程）。具体的には、メンテナンス判断部４１３は、ベルト１２４の固有振動数ｆ１が許容値（所定周波数）ｆｒｅｆ以上である場合、ベルト１２４のメンテナンスは必要ない（ベルト１２４は正常である）と判断する（Ｓ２４：Ｙｅｓ）。また、メンテナンス判断部４１３は、ベルト１２４の固有振動数ｆ１が許容値（所定周波数）ｆｒｅｆを下回った場合、ベルト１２４のメンテナンスが必要と判断する（Ｓ２４：Ｎｏ）。ここで、許容値ｆｒｅｆは、許容値記憶部４１５に記憶されている。この許容値ｆｒｅｆは、ユーザが任意に設定可能である。第２実施形態では、許容値ｆｒｅｆは、ベルト１２４の交換や修理、調整等のメンテナンスが必要となる周波数よりも大きな値に設定されており、例えば実験により求めた値とする。なお許容値ｆｒｅｆは、条件記憶部４１６に記憶されている姿勢と先端荷重条件に関連付けられている。
【００８３】
メンテナンス判断部４１３は、判断の際に、条件記憶部４１６の情報を読み出し、検出時の姿勢、先端荷重条件、及び温度条件が同じであるかをも判断し、異なる場合はユーザに通知する。
【００８４】
メンテナンス通知部４１４は、メンテナンス判断部４１３にてベルト１２４のメンテナンスが必要ない判断された場合（Ｓ２４：Ｙｅｓ）、ベルト１２４が正常であることをティーチングペンダント３００又はモニタ３２１等の表示部に表示させる（Ｓ２５）。
【００８５】
メンテナンス通知部４１４は、メンテナンス判断部４１３にてベルト１２４のメンテナンスが必要である判断された場合（Ｓ２４：Ｎｏ）、メンテナンスが必要であることをティーチングペンダント３００又はモニタ３２１等の表示部に表示させる（Ｓ２６）。これにより、ベルト１２４のメンテナンスが必要であることをロボット使用者に通知する。つまり、ティーチングペンダント３００又はモニタ３２１には、ベルト１２４のメンテナンスが必要か否か（判断結果）が表示される。
【００８６】
図１２は、誤差Δθの周波数特性を示す図である。図１２に示す周波数ｆ１は得られたベルト１２４の固有振動数で、周波数ｆｒｅｆはベルト１２４の許容値（正常時の下限閾値）となる固有振動数である。図１２では、ベルト１２４の固有振動数ｆ１がｆｒｅｆ≦ｆ１であるのでステップＳ２５へ処理が進む。もしベルト１２４の固有振動数ｆ１が閾値ｆｒｅｆ未満の場合は、ステップＳ２６へ処理が進む。
【００８７】
これにより、ベルトの張力を検出するロードセルを用いなくても、ベルト１２４のメンテナンス時期を自動的に判断することができ、ローコストで小型の駆動装置（ロボット装置）を実現することができる。
【００８８】
ここで、周波数演算部４１２は、誤差Δθの周波数特性に含まれる２つのピーク値のうち減速機１２３の出力軸１２３Ａにおける慣性質量を変化させた際に変化しない（変化量が小さい）ピーク値に該当する周波数を、ベルト１２４の固有振動数ｆ１とする。
【００８９】
以下、関節の正弦波掃引動作で入出力角度誤差Δθの周波数特性の推移を求める際に、ロボットアーム１０１の姿勢変更することにより、ベルト１２４と減速機１２３の固有振動数の重なりを分離して精度よく検出する方法について述べる。
【００９０】
図１３は、ロボットアーム１０１の姿勢を示す説明図であり、図１３（ａ）はロボットアーム１０１の関節Ｊ３を折畳んだ姿勢（第１姿勢）、図１３（ｂ）はロボットアーム１０１の関節Ｊ３を水平方向に延ばした姿勢（第２姿勢）を示している。
【００９１】
図１３（ａ）の場合の減速機１２３のばね定数を、ＫＧＢＡ９、減速機１２３の出力軸１２３Ａの慣性質量をＪ９とする。関節にかかる慣性質量は、ロボットアーム１０１の姿勢や先端荷重条件によって変化する。そして慣性質量が変化すると減速機１２３のばね定数も変化する。
【００９２】
図１３（ａ）の姿勢から図１３（ｂ）の姿勢への変化で増加する減速機１２３の出力軸１２３Ａの慣性質量をΔＪとすると、図１３（ｂ）の姿勢での減速機１２３の出力軸１２３Ａの慣性質量は（Ｊ９＋ΔＪ）となる。そして図１３（ａ）の姿勢から図１３（ｂ）の姿勢への変化で増加する減速機１２３のばね定数をΔＫとすると、図１３（ｂ）の姿勢での減速機１２３のばね定数は（ＫＧＢＡ９＋ΔＫ）となる。
【００９３】
図１３（ａ）の姿勢時の関節Ｊ２の固有振動数は下記（式５）、図１３（ｂ）の姿勢時の関節Ｊ２の固有振動数は下記（式６）で表わされる。
【００９４】
【数４】
2015093360.tif 000006
【００９５】
図１４は、ロボットアーム１０１の姿勢を変更した際の誤差Δθの周波数特性を示すグラフである。図１４に示す波形Ｗ２１は、ロボットアーム１０１が図１３（ａ）に示す姿勢のときの入出力角度誤差Δθを表わし、周波数ｆ２が減速機１２３の固有振動数、周波数ｆ１がベルト１２４の固有振動数である。波形Ｗ２２は、ロボットアーム１０１が図１３（ｂ）の姿勢のときの入出力角度誤差Δθを表わし、周波数ｆ５が減速機１２３の固有振動数、周波数ｆ１がベルト１２４の固有振動数である。
【００９６】
即ち、誤差Δθの周波数特性には、減速機１２３の固有振動数によるピーク値（第１ピーク値）と、ベルト１２４の固有振動数によるピーク値（第２ピーク値）の２つのピーク値が含まれている。
【００９７】
周波数演算部４１２は、ロボットアーム１０１が図１３（ａ）に示す姿勢での誤差Δθの周波数特性と、ロボットアーム１０１が図１３（ｂ）に示す姿勢での誤差Δθの周波数特性とを求める。ロボットアーム１０１を図１３（ａ）の姿勢から図１３（ｂ）の姿勢へ移動変更すると、減速機１２３の出力軸１２３Ａの慣性質量が変化し、減速機１２３の固有振動数は、上記（式６）で示したように変化する。ロボットアーム１０１の姿勢を変化させたときの周波数特性で、周波数の変化が大きい方のピーク値（第１ピーク値）と周波数の変化が小さい方のピーク値（第２ピーク値）との２つのピーク値が存在する。周波数演算部４１２は、これら２つのピーク値のうち、周波数の変化が小さい方のピーク値に該当する周波数を、ベルト１２４の固有振動数ｆ１とする。
【００９８】
これにより、波形Ｗ２２ではベルト１２４の固有振動数ｆ１と減速機１２３の固有振動数ｆ５が分離され、より精度よくベルト１２４の固有振動数ｆ１の検出が可能となり、ベルト１２４のメンテナンス時期を正確に求めることができる。
【００９９】
なお、第２実施形態では、入出力角度誤差演算部４１１は、回転角度θｏｕｔを減速比Ｎで角度変換して、角度変換した回転角度θｏｕｔ×Ｎと回転角度θｉｎとの誤差Δθを演算していたが、回転角度θｉｎを角度変換してもよい。即ち、角度変換したθｉｎ／Ｎと、回転角度θｏｕｔとの誤差Δθを演算してもよい。
【０１００】
［第３実施形態］
次に、本発明の第３実施形態に係るロボット装置について説明する。図１５は、本発明の第３実施形態に係るロボット装置の制御系を示す機能ブロック図である。図１６は、本発明の第３実施形態に係るロボット装置の制御系による制御動作を示すフローチャートである。なお、ロボット装置の各部の構成は、上記第１実施形態の図１〜図３で説明した構成と同様であり、詳細な説明は省略する。第３実施形態において、上記第１実施形態と異なるのは、制御部であるＣＰＵ２０１を用いた駆動装置の制御方法（ロボット装置の制御方法）、即ちプログラム２３０の内容が異なるものであり、以下、上記第１実施形態と異なる部分について説明する。
【０１０１】
第３実施形態では、関節のステップ駆動動作で出力側エンコーダ１２５の回転角度θｏｕｔの応答時間の推移を求め、ベルト１２４の張力劣化を判断する場合について説明する。
【０１０２】
一般に、ベルト１２４の張力が小さくなると、ベルト１２４の剛性も小さくなる。ベルト１２４の剛性が小さくなると関節の応答特性の時定数は大きくなる。関節の応答特性の時定数が大きくなると、出力側エンコーダ１２５の回転角度θｏｕｔの応答時間（緩和時間）が大きくなる。
【０１０３】
第３実施形態では、予めベルト１２４の張力と出力側エンコーダ１２５の回転角度の応答時間との関係を実験的に求めておく。そして出力側エンコーダ１２５の回転角度の応答時間は下記（式７）の通り求めることができる。
【０１０４】
【数５】
2015093360.tif 000007
【０１０５】
つまり、第３実施形態では、出力側エンコーダ１２５の回転角度θｏｕｔの応答時間からベルト１２４のメンテナンスが必要か否かの判断を行う。
【０１０６】
ここで、図３に示す制御部としてのＣＰＵ２０１は、プログラム２３０を実行することにより、図１５に示す各部４０１，４２１〜４２３として機能する。なお、各記憶部４２４，４２５は、例えばＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４及び外部記憶装置３１２のうちの少なくとも一つで構成されている。以下、各部の動作についてフローチャートを用いて説明する。
【０１０７】
まず、ＣＰＵ２０１は、ユーザが制御装置２００又はティーチングペンダント３００を操作することにより送られた指令に基づき、ベルトメンテナンスを診断するプログラム２３０を実行処理するベルトメンテナンス診断モードに変更する（Ｓ３１）。通常、ＣＰＵ２０１は、ロボット１００を動作させる動作モードに設定してあるが、ユーザからの指令を受けて、ベルトメンテナンス診断モードに設定を変更する。ＣＰＵ２０１は、このベルトメンテナンス診断モードに移行した際、図１５に示す各部４０１，４２１〜４２３として機能する。
【０１０８】
なお、ステップＳ３１におけるベルトメンテナンス診断モードの作業は、定期メンテナンスまたはロボット始動前に行うのが好ましい。また、ベルトメンテナンス診断モードは定期メンテナンス以外の通常動作の中で実行してもよい。
【０１０９】
ＣＰＵ２０１は、ベルト１２４の張力を診断する動作を実行する（Ｓ３２）。ステップＳ３２では、サーボ制御装置３１３がプログラム２３０に従って動作するＣＰＵ２０１からの指令に基づきサーボモータ１２１に駆動電流を供給して、ロボットアーム１０１の関節Ｊ１〜Ｊ６の関節角度制御を行う。
【０１１０】
このとき、第３実施形態では、関節Ｊ１〜Ｊ６の関節角度は、ステップ駆動動作を行う。つまりサーボモータ１２１の出力軸１２１Ａを、微小角度、ステップ状に回転させる動作である。ただし、サーボモータ１２１の動作時の回転角度は、出力側エンコーダ１２５で検出可能な角度以上回転を行う。
【０１１１】
応答遅れ演算部４２１は、ステップＳ３２の動作により、入力側エンコーダ１２２で検出される信号に対する出力側エンコーダ１２５で検出される信号の応答特性を求め、遅れ時間（応答時間）を求める（Ｓ３３）。つまり、応答遅れ演算部４２１は、入力側エンコーダ１２２から検出角度を取得すると共に、出力側エンコーダ１２５から検出角度を取得し（角度取得工程）、減速機１２３の出力軸１２３Ａの応答特性を求めて、応答特性から応答時間を求める。
【０１１２】
図１７は、サーボモータ１２１の出力軸１２１Ａを回転させた際の出力側エンコーダ１２５により検出される減速機１２３の出力軸１２３Ａの回転角度（検出角度）の応答特性を示すグラフである。図１７に実線で示す波形Ｗ１０１及び破線で示す波形Ｗ１０２は、サーボモータ１２１のステップ駆動時に、出力側エンコーダ１２５で検出される回転角度（検出角度）θｏｕｔの応答特性を示す波形である。
【０１１３】
波形Ｗ１０１は、ベルト１２４の張力が正常時におけるサーボモータ１２１をステップ駆動した際の出力側エンコーダ１２５の応答特性を示している。波形Ｗ１０２は、ベルト１２４の張力が低下（ベルト１２４が劣化）したときにサーボモータ１２１をステップ駆動した際の出力側エンコーダ１２５の応答特性を示している。
【０１１４】
図１７に示すように、ベルト１２４が劣化してくると、回転角度（検出角度）θｏｕｔの応答時間がｔ１からｔ２に長くなる。ここで、応答時間ｔ１，ｔ２は、検出角度θｏｕｔがある角度に立ち上がるのに要する立ち上がり時間を示す。
【０１１５】
従って、メンテナンス判断部４２２は、応答遅れ演算部４２１にて求めた応答時間に基づき、ベルト１２４のメンテナンスが必要か否か、具体的には応答時間（遅れ時間）が許容値（所定時間）ｔｒｅｆ以下であるか否かを判断する（Ｓ３４：判断工程）。つまり、メンテナンス判断部４２２は、ステップＳ３４では、ステップＳ３３で検出された応答特性から、応答時間が許容値ｔｒｅｆ以下の場合は、ベルト１２４が正常、つまりベルト１２４のメンテナンスの必要はないと判断する。メンテナンス判断部４２２は、応答時間が許容値ｔｒｅｆを上回った場合は、ベルト１２４のメンテナンスが必要であると判断する。このように、メンテナンス判断部４２２は、実質的にベルト１２４がメンテナンスの必要な張力であるか否かの判断処理を行う。
【０１１６】
判断処理の閾値は許容値記憶部４２４に記憶されている応答時間の許容値（所定時間）ｔｒｅｆである。この許容値ｔｒｅｆは、ユーザが任意に設定可能であり、第３実施形態では、ベルト１２４の交換や修理、調整等のメンテナンスが必要となる応答時間よりも小さな値に設定されており、例えば実験により求めた値とする。なお応答時間の許容値ｔｒｅｆは、条件記憶部４２５に記憶されている姿勢と先端荷重条件に関連付けられている。
【０１１７】
メンテナンス判断部４２２は、判断の際に、条件記憶部４１６の情報を読み出し、検出時の姿勢、先端荷重条件、及び温度条件が同じであるかをも判断し、異なる場合はユーザに通知する。
【０１１８】
メンテナンス通知部４２３は、メンテナンス判断部４２２にてベルト１２４のメンテナンスが必要ない判断された場合（Ｓ３４：Ｙｅｓ）、ベルト１２４が正常であることをティーチングペンダント３００又はモニタ３２１等の表示部に表示させる（Ｓ３５）。
【０１１９】
メンテナンス通知部４２３は、メンテナンス判断部４２２にてベルト１２４のメンテナンスが必要である判断された場合（Ｓ３４：Ｎｏ）、メンテナンスが必要であることをティーチングペンダント３００又はモニタ３２１等の表示部に表示させる（Ｓ３６）。これにより、ベルト１２４のメンテナンスが必要であることをロボット使用者に通知する。つまり、ティーチングペンダント３００又はモニタ３２１には、ベルト１２４のメンテナンスが必要か否か（判断結果）が表示される。
【０１２０】
図１７の例で説明すると、波形Ｗ１０１では、応答時間ｔ１がｔｒｅｆ≧ｔ１であるのでステップＳ３５へ処理が進む。波形Ｗ１０２では、応答時間ｔ２がｔｒｅｆ＜ｔ２であるので、ステップＳ３６へ処理が進む。ステップＳ３５では、メンテナンス通知部４２３においてベルト張力が正常値であるためベルト張力がまだ不要であることをユーザに通知する。ステップＳ３６では、メンテナンス通知部４２３においてベルト張力がメンテナンスを要するほどに低下していることをユーザに通知する。なおユーザへの通知方法はティーチングペンダント３００、制御装置２００のモニタ３２１に表示させる等のいずれの方式でもよい。また、不図示のランプによる発光やスピーカからの音声でユーザに通知してもよい。
【０１２１】
以上、第３実施形態によれば、ベルトの張力を検出するロードセルを用いなくても、ベルト１２４のメンテナンス時期を自動的に判断することができ、ローコストで小型の駆動装置（ロボット装置）を実現することができる。
【０１２２】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
【０１２３】
上記実施形態では、駆動装置をロボット装置に適用した場合ついて説明したが、ロボット装置に限定するものではない。即ち、ベルトによってモータの動力を減速機へ伝達する駆動装置を備えた任意の装置において本発明の適用が可能である。
【０１２４】
また、上記実施形態の各処理動作は具体的にはＣＰＵ２０１により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体を制御装置２００に供給し、制御装置２００のコンピュータ（ＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
【０１２５】
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ２０４であり、ＨＤＤ２０４にプログラム２３０が格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図３に示すＲＯＭ２０２、記録ディスク２３１、外部記憶装置３１２等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、書き換え可能な不揮発性のメモリ（例えばＵＳＢメモリ）、ＲＯＭ等を用いることができる。
【０１２６】
また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
【０１２７】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１２８】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
【０１２９】
また、上記実施形態では、コンピュータがＨＤＤ等の記録媒体に記録されたプログラムを実行することにより、画像処理を行う場合について説明したが、これに限定するものではない。プログラムに基づいて動作する制御部の一部又は全部の機能をＡＳＩＣやＦＰＧＡ等の専用ＬＳＩで構成してもよい。なお、ＡＳＩＣはApplication  Specific  Integrated  Circuit、ＦＰＧＡはField-Programmable  Gate  Arrayの頭字語である。
【符号の説明】
【０１３０】
１００…ロボット、１０１…ロボットアーム、１０２…ロボットハンド、１１１〜１１７…リンク、１２１…サーボモータ（回転モータ）、１２１Ａ…出力軸、１２２…入力側エンコーダ（第１角度検出部）、１２３…減速機、１２３Ａ…出力軸、１２４…ベルト、１２５…出力側エンコーダ（第２角度検出部、角度検出部）、２０１…ＣＰＵ（制御部）、２３０…プログラム、５００…ロボット装置
【図１】
2015093360.tif 000008
【図２】
2015093360.tif 000009
【図３】
2015093360.tif 000010
【図４】
2015093360.tif 000011
【図５】
2015093360.tif 000012
【図６】
2015093360.tif 000013
【図７】
2015093360.tif 000014
【図８】
2015093360.tif 000015
【図９】
2015093360.tif 000016
【図１０】
2015093360.tif 000017
【図１１】
2015093360.tif 000018
【図１２】
2015093360.tif 000019
【図１３】
2015093360.tif 000020
【図１４】
2015093360.tif 000021
【図１５】
2015093360.tif 000022
【図１６】
2015093360.tif 000023
【図１７】
2015093360.tif 000024