(57)【要約】【課題】  ロボットの位置決め精度の温度補償をする際、システムに別途温度センサを付加することなく位置決め精度を向上させる。【解決手段】  エンコーダ１５に内蔵された温度センサ１７の検出温度を利用し、エンコーダ１５の温度と位置決め精度の関係により求められる位置補正量によって、温度補償する。【選択図】図１
2006285301.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを駆動するモータのエンコーダに設けられた温度センサの温度データが入力されるロボット制御装置おいて、
予め測定した前記温度データと前記ロボットの位置決め精度のデータとから求められた補正関数に基づき、
前記温度データに応じて前記ロボットの位置決め精度を補償する補償手段を備えたことを特徴とするロボット制御装置。
【請求項２】
ロボットを駆動する複数のモータのエンコーダに設けられた各温度センサの温度データが入力されるロボット制御装置おいて、
予め測定した前記温度データの平均値と前記ロボットの位置決め精度のデータとから求められた補正関数に基づき、
前記温度データの平均値に応じて前記ロボットの位置決め精度を補償する補償手段を備えたことを特徴とするロボット制御装置。
【請求項３】
前記温度データの平均値に代えて、前記各温度センサの温度データに対して重み付けを行って求めた温度データとしたことを特徴とする請求項２記載のロボット制御装置。
【請求項４】
前記予め測定した前記温度データは、測定時間に応じて測定対象とする温度センサを切り替えることで求められることを特徴とする請求項２記載のロボット制御装置。
【請求項５】
ロボットを駆動する複数のモータのエンコーダに設けられた温度センサの温度データが入力されるロボット制御装置おいて、
予め測定した前記温度データと前記各モータが駆動する前記ロボットの関節角度精度のデータとから求められた補正関数に基づき、
前記温度データに応じて前記各モータの角度を補償することで、
前記ロボットの位置決め精度を補償する補償手段を備えたことを特徴とするロボット制御装置。
【請求項６】
前記温度センサの温度データが入力されるフィルタ手段を備え、
前記フィルタ手段によって出力される温度データとロボットの位置決め精度のデータとの時定数を一致させたことを特徴とする請求項１、２、５いずれかに記載のロボット制御装置。
【請求項７】
前記フィルタ手段のフィルタ時定数は、前記温度センサの温度データの時定数とロボットの位置決め精度データとの差に基づいて求められることを特徴とする請求項６記載のロボット制御装置。
【請求項８】
前記エンコーダに設けられた温度センサに代えて、モータに設けられた温度センサとしたことを特徴とする請求項１、２、５いずれかに記載のロボット制御装置。
【請求項９】
前記補正関数に代えて、補正テーブルとしたことを特徴とする請求項１、２、５いずれかに記載のロボット制御装置。
【請求項１０】
ロボットを駆動するモータのエンコーダに設けられた温度センサの温度データが入力されるロボット制御装置おいて、
予め測定した前記温度データと前記ロボットの位置決め精度のデータに基づいて補正関数を求め、
前記求められた補正関数に基づき、前記温度データに応じて前記ロボットの位置決め精度を補償する
という手順で処理することを特徴とするロボットの位置決め精度補正方法。
【請求項１１】
ロボットを駆動する複数のモータのエンコーダに設けられた各温度センサの温度データが入力されるロボット制御装置おいて、
予め測定した前記温度データの平均値と前記ロボットの位置決め精度のデータに基づいて補正関数を求め、
前記求められた補正関数に基づき、前記温度データの平均値に応じて前記ロボットの位置決め精度を補償する
という手順で処理することを特徴とするロボットの位置決め精度補正方法。
【請求項１２】
前記温度データの平均値に代えて、前記各温度センサの温度データに対して重み付けを行って求めた温度データとしたことを特徴とする請求項１１記載のロボットの位置決め精度補正方法。
【請求項１３】
前記予め測定した前記温度データは、測定時間に応じて測定対象とする温度センサを切り替えることで求められることを特徴とする請求項１１記載のロボットの位置決め精度補正方法。
【請求項１４】
ロボットを駆動する複数のモータのエンコーダに設けられた温度センサの温度データが入力されるロボット制御装置おいて、
予め測定した前記温度データと前記各モータが駆動する前記ロボットの関節角度精度のデータに基づいて補正関数を求め、
前記求められた補正関数に基づき、前記温度データに応じて前記各モータの角度を補償することで、前記ロボットの位置決め精度を補償する
という手順で処理することを特徴とするロボットの位置決め精度補正方法。
【請求項１５】
前記温度センサの出力にフィルタを適用することで、前記温度データのフィルタ出力とロボットの位置決め精度の時定数を一致させたことを特徴とする請求項１０、１１、１４いずれかに記載のロボットの位置決め精度補正方法。
【請求項１６】
前記フィルタ手段のフィルタ時定数は、前記温度センサの温度データの時定数とロボットの位置決め精度データとの差に基づいて求められることを特徴とする請求項１５記載のロボットの位置決め精度補正方法。
【請求項１７】
前記エンコーダに設けられた温度センサに代えて、モータに設けられた温度センサとしたことを特徴とする請求項１０、１１、１４いずれかに記載のロボットの位置決め精度補正方法。
【請求項１８】
前記補正関数に代えて、補正テーブルとしたことを特徴とする請求項１０、１１、１４いずれかに記載のロボットの位置決め精度補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置決め精度を補正するロボット制御装置およびロボット制御装置の位置決め精度補正方法に関し、特に、温度補償に関する。
【背景技術】
【０００２】
従来のロボット制御装置は、位置決め精度を温度補償するために、ロボットに別途温度センサを設けている（例えば、特許文献１、２参照）。
特許文献１には、アームの温度を測定する温度センサを設け、制御部が所定の基準温度におけるアームの寸法と、温度センサによって測定されるアームの温度とに基づいて、その測定温度における前記アームの各部の寸法を演算し、該演算結果に基づいて前記アームを駆動する制御データを作成し出力する技術が開示されている。
また、特許文献２には、周囲温度を取り込む温度センサを別途設けて、教示を行って手先座標を記憶する一方、上記温度センサから再生時の温度を取り込み、上記教示時と再生時との温度差により手先座標を補正する技術が開示されている。
【０００３】
また、シリコンウエハ搬送や液晶表示パネル用ガラス基板搬送においては、クリーン環境下で動作するロボットが使用されている。このようなロボットの駆動系は、一般的にベルトやプーリ、ギア等の伝達機構により構成させている。
ところが、ロボットの運転を開始すると、駆動モータ、エンコーダの発熱や駆動機構、関節の摩擦など、様々な要因に起因してロボット自身が発熱し、ベルトの長さ、プーリの直径、ギアの直径およびアームの長さ等が徐々に変化するため、位置決め精度は伝達部の温度が一定になるまで安定しなかった。そのため、高い位置決め精度が要求されるアプリケーションにおいては、ロボットの運転に際しては、事前の十分なウォームアップを必要としていた。
一方、従来、ロボットを駆動するモータのエンコーダには、温度監視用の温度センサが設けられており、その温度センサのデータは、ロボット制御装置に入力され、温度監視がなされていた。
【特許文献１】実開平６−４８０８号公報（第５〜６頁、図１）
【特許文献２】特開２０００−４２９６１号公報（第２〜３頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のロボット制御装置は、温度センサをロボットアームに取り付けていたので、センサラインの取り回し、メンテナンス性およびコスト等の問題が発生していた。
また、ロボットの運転に際して事前にウォームアップをすることは、生産性の低下につながるという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、ロボットを駆動するモータのエンコーダに設けられた温度センサを利用して、ロボットの位置決め精度を補正することのできるロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、ロボットを駆動するモータのエンコーダに設けられた温度センサの温度データが入力されるロボット制御装置おいて、予め測定した前記温度データと前記ロボットの位置決め精度のデータとから求められた補正関数に基づき、前記温度データに応じて前記ロボットの位置決め精度を補償する補償手段を備えたことを特徴とするものである。
請求項２に記載の発明は、ロボットを駆動する複数のモータのエンコーダに設けられた各温度センサの温度データが入力されるロボット制御装置おいて、予め測定した前記温度データの平均値と前記ロボットの位置決め精度のデータとから求められた補正関数に基づき、前記温度データの平均値に応じて前記ロボットの位置決め精度を補償する補償手段を備えたことを特徴とするものである。。
請求項３に記載の発明は、前記温度データの平均値に代えて、前記各温度センサの温度データに対して重み付けを行って求めた温度データとしたことを特徴とするものである。
請求項４に記載の発明は、前記予め測定した前記温度データは、測定時間に応じて測定対象とする温度センサを切り替えることで求められることを特徴とするものである。
請求項５に記載の発明は、ロボットを駆動する複数のモータのエンコーダに設けられた温度センサの温度データが入力されるロボット制御装置おいて、予め測定した前記温度データと前記各モータが駆動する前記ロボットの関節角度精度のデータとから求められた補正関数に基づき、前記温度データに応じて前記各モータの角度を補償することで、前記ロボットの位置決め精度を補償する補償手段を備えたことを特徴とするものである。
請求項６に記載の発明は、前記温度センサの温度データが入力されるフィルタ手段を備え、前記フィルタ手段によって出力される温度データとロボットの位置決め精度のデータとの時定数を一致させたことを特徴とするものである。
請求項７に記載の発明は、前記フィルタ手段のフィルタ時定数は、前記温度センサの温度データの時定数とロボットの位置決め精度データとの差に基づいて求められることを特徴とするものである。
請求項８に記載の発明は、前記エンコーダに設けられた温度センサに代えて、モータに設けられた温度センサとしたことを特徴とするものである。
請求項９に記載の発明は、前記補正関数に代えて、補正テーブルとしたことを特徴とするものである。
請求項１０に記載の発明は、ロボットを駆動するモータのエンコーダに設けられた温度センサの温度データが入力されるロボット制御装置おいて、予め測定した前記温度データと前記ロボットの位置決め精度のデータに基づいて補正関数を求め、前記求められた補正関数に基づき、前記温度データに応じて前記ロボットの位置決め精度を補償するという手順で処理することを特徴とするものである。
請求項１１に記載の発明は、ロボットを駆動する複数のモータのエンコーダに設けられた各温度センサの温度データが入力されるロボット制御装置おいて、予め測定した前記温度データの平均値と前記ロボットの位置決め精度のデータに基づいて補正関数を求め、前記求められた補正関数に基づき、前記温度データの平均値に応じて前記ロボットの位置決め精度を補償するという手順で処理することを特徴とするものである。
請求項１２に記載の発明は、前記温度データの平均値に代えて、前記各温度センサの温度データに対して重み付けを行って求めた温度データとしたことを特徴とするものである。
請求項１３に記載の発明は、
前記予め測定した前記温度データは、測定時間に応じて測定対象とする温度センサを切り替えることで求められることを特徴とするものである。
請求項１４に記載の発明は、ロボットを駆動する複数のモータのエンコーダに設けられた温度センサの温度データが入力されるロボット制御装置おいて、予め測定した前記温度データと前記各モータが駆動する前記ロボットの関節角度精度のデータに基づいて補正関数を求め、前記求められた補正関数に基づき、前記温度データに応じて前記各モータの角度を補償することで、前記ロボットの位置決め精度を補償するという手順で処理することを特徴とするものである。
請求項１５に記載の発明は、前記温度センサの出力にフィルタを適用することで、前記温度データのフィルタ出力とロボットの位置決め精度の時定数を一致させたことを特徴とする請求項１０乃至１１いずれかに記載のロボットの位置決め精度補正方法。
請求項１６に記載の発明は、前記フィルタ手段のフィルタ時定数は、前記温度センサの温度データの時定数とロボットの位置決め精度データとの差に基づいて求められることを特徴とするものである。
請求項１７に記載の発明は、前記エンコーダに設けられた温度センサに代えて、モータに設けられた温度センサとしたことを特徴とするものである。
請求項１８に記載の発明は、前記補正関数に代えて、補正テーブルとしたことを特徴とするものである。
【発明の効果】
【０００６】
本発明によると、システムに別途温度センサを付加することなくロボットの位置決め精度の温度補正をすることができ、システムが複雑化することがないので、信頼性が向上する。また、センサラインの取り回しが不要となるので、メンテナンス性が向上する。
また、事前のウォームアップ動作が不要になり、生産性が向上する。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００８】
図１は本発明の方法を適用する制御システム全体を示すブロック図である。図において、１６はロボットを制御する制御盤である。制御盤は、後述する指令生成部１１、Ｉ／Ｆ部１２および、サーボ制御部１３を備えている。１１は、指令生成部であり、目標位置に基づき位置、速度指令を作成し、Ｉ／Ｆ部１２を介してサーボ制御部１３に渡す。１３は、サーボ制御部であり、指令を元に駆動トルクを算出し、ロボット１４を制御する。１５は、ロボットを駆動するモータに付加されたエンコーダである。エンコーダ１５には過熱から保護するために温度センサ１７が設けられており、温度センサ１７が検出した温度データは通信手段を介して制御盤１６に取り込まれ、最終的に前述の指令生成部１１に取り込まれている。
本発明が特許文献１、２と異なる部分は、別途温度センサを設けることなく、エンコーダに設けられた温度センサにより位置決め精度の温度補償を行う点である。
【０００９】
次に、本発明の位置決め精度補正方法について以下に説明する。
一般的に、物質を温めた時の物質と外気の温度差Ｙと加熱量Ｘとの関係は、近似的に以下の方程式で表される。
Ｘ（ｔ）＝ｃ＊ｍ＊ｄＹ（ｔ）／ｄｔ＋ｈ＊Ｙ（ｔ）              （１）
ただし、ｔ：時間、比熱：ｃ［Ｊ／（ｋｇ＊Ｋ）］、質量：ｍ［ｋｇ］、放熱係数：ｈ［Ｊ／（ｓ＊Ｋ）］、加熱量：Ｘ［Ｊ／ｓ］、物質と外気の温度差：Ｙ［Ｋ］である。
【００１０】
加熱量を一定（Ｘ（ｔ）＝ａ）とみなすと、物質と外気の温度差Ｙと時間ｔの関係は、以下のように表される。
Ｙ（ｔ）＝ａ／ｈ＊（１−ｅｘｐ（−ｔ／（ｃｍ／ｈ）））
＝  Ａ＊（１−ｅｘｐ（−ｔ／Ｔ））                           （２）
ただし、Ａ＝ａ／ｈ、Ｔ＝ｃｍ／ｈ（時定数）である。                         
ここで、半導体製造の工場内は温度管理がなされており、外気温は一定とみなせるので、
Ｙは物質（エンコーダ）と外気（工場内の一定気温）の温度差となるから、エンコーダの温度上昇を表すこととなる。
【００１１】
一方、位置決め精度Ｅと時間ｔとの関係は、近似的に以下のように表され、数式（２）同様に一次遅れの関数となる。
Ｅ（ｔ）＝  Ｂ＊（１−ｅｘｐ（−ｔ／ＴＥ））                 （３）
ただし、ｔ：時間、Ｂ：定数、ＴＥ：時定数である。
【００１２】
上記前提の下で、まず、温度補償に必要なデータを求めるための測定を行う。測定は、ロボットを運転する前のロボット自身が発熱していない状態から、エンコーダ温度と位置決め精度が安定するまでプレイバックを行い、エンコーダ温度と位置決め精度のデータをそれぞれ測定する。本測定は、事前に１回のみ行えばよい。
そして、測定したエンコーダ温度データから、数式（２）の定数Ａ、時定数Ｔを求め、エンコーダ温度の時間変化を示す関数を決定する。数式（２）の関数の定数Ａ、時定数Ｔは、以下の通り求めることができる。
（１）Ａは定常状態を考えることで求めることができる。すなわち、定常状態のときは数式（２）における時間ｔを∞として、以下のように表される。
Ｙ（∞）＝Ａ                                                 （４）
よって、定常状態のときのエンコーダ（物質）と工場内の一定気温（外気）の温度差Ｙが定数Ａとなる。
（２）時定数Ｔは以下のように求めることができる。
数式（２）における時間ｔ＝Ｔとすると、以下のように表される。
Ｙ（Ｔ）＝Ａ（１−ｅｘｐ（−１））≒０．６３２Ａ                （５）
よって、エンコーダ（物質）と工場内の一定気温（外気）の温度差Ｙが０．６３２Ａとなる時の時間が時定数Ｔとなる。
一方、位置決め精度の測定データから、位置決め精度の時間変化を示す関数を決定する。当該関数は、上記エンコーダ温度の場合と同様、定数Ｂと時定数ＴＥから求めることができるので、詳細は省略する。
【００１３】
以上から、エンコーダ温度は時間ｔの関数として、近似的に表され、位置決め精度も同様に時間ｔの関数として求めることができる。すなわち、両関数からエンコーダ温度と位置決め精度との関係を表す補正関数（以下、温度−位置決め精度関数）を求めることができる。
【００１４】
次に、実際のロボット動作を行う際は、求められた温度−位置決め精度関数から、ロボット動作中における位置補正量を求める。
図２はロボット動作中における位置補正量を求める処理手順を示すフローチャートである。この図を用いて位置補正方法について順を追って説明する。
まず、ロボットに対する移動命令を開始する（ステップ２１）。
次に、エンコーダ温度データを取得する（ステップ２２）。
次に、エンコーダ温度に対応した位置決め精度を上記関数から計算し、補正量を求める（ステップ２３）。
次に、求められた補正量を目標位置へ付加し、新たな目標位置とする（ステップ２４）。
最後に、軌道生成処理を行い、ロボットは生成された軌道に従って移動する（ステップ２５）
なお、上記のステップ２１〜２５の処理は図１における指令生成部１１が行うものである。
【００１５】
以上のように、本実施例によれば、システムに別途温度センサを付加することなくロボットの位置決め精度の温度補償をすることができる。
ただし、温度補正モータ、もしくはエンコーダ温度および位置決め精度の時定数は材質によって異なるので、補正の効果はそれらによって異なるものとなる。すなわち、時定数が同一の場合は全時間領域において、補正が完全に行われる。また、位置決め精度の時定数のほうがエンコーダ温度の時定数より短い場合にも、補正が完全に行われる。一方、図３および図４に示すように、位置決め精度の時定数のほうがエンコーダ温度の時定数より長い場合には、全時間領域において補正を完全に行うことはできない。すなわち、途中までしか補償できない。しかし、図３における動作開始直後（時間ｔ＝０の近傍）での位置決め精度が悪いため、図５に示すような時定数の短いエンコーダ温度の静定までの補償であったとしても、図６に示すように十分な位置決め精度の改善が可能である。
【実施例２】
【００１６】
上記実施例１は、対象とする温度センサが１つだけであったが、一般的にロボットは、複数のモータで駆動されている。本実施例は、ロボット運転前の温度補償に必要なデータを求めるための測定の際に、複数のモータそれぞれの温度センサから、温度−位置決め精度関数を求めるためのエンコーダ温度を決定するものである。構成については、実施例１の温度センサが複数となる以外は同様であるので省略する。
本実施例でのエンコーダ温度を求める方法は、温度補償に必要なデータを求めるための測定を行う際に、複数モータのエンコーダ温度の平均値をもって、エンコーダ温度とするものである。複数モータのエンコーダの平均をとってロボット全体の発熱と擬制することで、温度−位置決め精度関数を精度良く求めることができる。
なお、平均値を求める際は、全てのエンコーダの温度センサの平均値ではなく、一部のエンコーダの温度センサの平均値をもって、エンコーダ温度としても良い。
【実施例３】
【００１７】
本実施例は、実施例２の複数のエンコーダの温度センサからエンコーダ温度を決定する際に、平均値ではなく、温度センサごとに重み付けを行ってエンコーダ温度とするものである。
具体的には、アーム先端に近いエンコーダの温度センサのデータについては、重みを重くし、逆に遠いものについては、重みを軽くするものである。
本実施例によれば、ロボットを駆動するモータの配置がアーム先端から見て偏りがある場合であっても、温度−位置決め精度関数を精度良く求めることができる。
【００１８】
なお、全てのエンコーダの温度センサを測定対象とせずとも、一部のエンコーダの温度センサのみを考慮して重み付けを行っても良い。
また、アーム先端からの位置に基づいて重み付けをするのではなく、アームを駆動するモータに設けられたエンコーダの温度センサについて、重みを重くしても良い。さらには、これらを両方考慮して重み付けを行っても良い。
【実施例４】
【００１９】
本実施例は、実施例２の複数のエンコーダの温度センサから、エンコーダ温度を決定する際に、測定時間に応じて測定対象とする温度センサを切り替えるものである。
具体的には、温度測定開始時はアーム先端に近いエンコーダの温度センサの出力をもってエンコーダ温度とし、所定の時間が経過したのちは、残りの複数のエンコーダの温度センサ出力の平均値をもって、エンコーダ温度とするものである。
【００２０】
なお、切り替え前後の測定対象となるエンコーダは、１つであっても複数であってもよく、複数の場合には、実施例２、３の方法によりその平均値や重み付けにより温度データとしても良い。すなわち、実施例２、３および本実施例を組合わせたあらゆる変形例が考えられる。
また、切り替え時間を決定する所定の時間は複数設け、当該複数の所定の時間の経過ごとに、対象とするエンコーダを切り替えてもよい。
【実施例５】
【００２１】
本実施例は、複数のモータでロボットが駆動されている場合に補正量をモータ軸毎に持たせるものである。
具体的には、まず、温度補償に必要なデータを事前測定する際に、モータ軸毎に動作させ、対応する各関節軸の補正量（角度）を求める。
次に、各モータのエンコーダ温度の時間ｔの関数と対応する関節角度の時間ｔの関数とからエンコーダ温度と関節角度の位置決め精度との関係を表す補正関数（以下、温度−関節角度精度関数）を求める。
そして、プレイバック時に、温度−関節角度精度関数をもとにモータ軸ごとに補正量を付加し、新たな目標位置とすることで、最終的にロボットの位置決め精度を補償する。
ここで、モータ軸ごとの補正量は、温度−関節角度精度関数から補正すべき関節角度を求め、求められた補正すべき関節角度を動かすために必要なモータ角度を逆算することで求めるものである。
実施例２とは、補正量を求める際に温度−位置決め精度関数ではなく、温度−関節角度精度関数を用いる点およびモータ軸ごとに補正量を付加する点が異なる。
なお、本実施例に対して上記実施例２〜４を組合わせてもよい。
以上のように、本実施例によれば、各軸毎に補正関数を求めるため、複数軸により構成されるロボットをより正確に補正が行える。
【実施例６】
【００２２】
上記実施例においては、図３および図４に示すように、位置決め精度の時定数のほうがエンコーダ温度の時定数より長い場合には、全時間領域において補正を完全に行うことはできない。すなわち、図６に示すように、ある時間から微小ではあるが、位置決め誤差が生じてしまう。
そこで、本実施例においては、動作中のエンコーダ温度データ、または位置補正量に以下に示す遅れフィルタを適用し、時定数の調整を行うことで、以上の二つの問題を解決する。
一般に、遅れフィルタとして用いるＩＩＲ型フィルタは以下の離散式で表される。
Ｙ（ｋ）＝ｒ＊Ｕ（ｋ）＋（１−ｒ）＊Ｙ（ｋ−１）  （０≦ｒ≦１）  （６）
ただし、ｒ：フィルタ定数、Ｙ（ｋ）：現時点のフィルタ後のエンコーダ温度、または位置補正量、Ｕ（ｋ）：現時点のエンコーダ温度、または位置補正量、Ｙ（ｋ−１）：一時点前のフィルタ後のエンコーダ温度、または位置補正量である。
ここで、処理周期は遅れフィルタの特性（時定数）に依存するため、時定数自体も計算で求めなければならない。そこで、以下の通りＩＩＲ型フィルタを、フィルタと温度補正の処理周期、遅れさせたい時定数により設計できるものとする。
【００２３】
上記数式（６）をＺ変換すると、以下のように表される。
Ｙ（ｚ）＝ｒ＊Ｕ（ｚ）＋（１−ｒ）＊Ｙ（ｚ）／ｚ                 （７）
ここで、温度の時定数に対し、温度補正の処理周期は十分小さいので、連続系とみなしてもよい。そこで、ラプラス変換すると、以下のように表される。
Ｙ（ｓ）＝ｒ＊Ｕ（ｓ）＋（１−ｒ）＊Ｙ（ｓ）＊ｅｘｐ（−Ｔ＊ｓ）  （８）
ただし、Ｔ：サンプリング周期（温度補正の演算周期）である。
また、伝達関数は、以下のように表される。
Ｇ（ｓ）＝Ｙ（ｓ）／Ｕ（ｓ）＝１／［１／ｒ＋（ｒ−１）／ｒ  ＊ｅｘｐ（−Ｔ＊ｓ）］                                                        （９）
ここで、
ｅｘｐ（−Ｔ＊ｓ）≒１−Ｔ＊ｓ                             （１０）
と近似すると、
Ｇ（ｓ）≒１／［１／ｒ＋（ｒ−１）／ｒ  （１−Ｔ＊ｓ）］     （１１）
Ｇ（ｓ）≒１／［１−（ｒ−１）／ｒ  Ｔ＊ｓ］                 （１２）
ここで、ｒ≪１とすると、以下のように表され、一次遅れ系の伝達関数となる。
Ｇ（ｓ）≒１／（Ｔ／ｒ＊ｓ＋１）                             （１３）
ただし、Ｔ’＝Ｔ／ｒ：遅れフィルタの時定数、ｒ＝Ｔ／Ｔ’となる。
よって、ＩＩＲ型フィルタは以下のように表される。
Ｙ（ｋ）＝  Ｔ／Ｔ’＊Ｕ（ｋ）＋（１−  Ｔ／Ｔ’）＊Ｙ（ｋ−１）  （１４）
【００２４】
このようにＩＩＲ型フィルタを、フィルタと温度補正の処理周期、フィルタ時定数にて設計する。
ここで、フィルタと温度補正の処理周期は、ハードウエア上の制約で決まる。一方、遅フィルタ時定数は、位置決め精度の時定数とエンコーダ温度の時定数の差から求めることができる。
なお、ｒ≪１より、演算周期Ｔに対し、遅れフィルタの時定数は十分大きくとる必要があるが、ＣＰＵの処理能力と温度上昇の時間応答の遅さを考慮すると十分満たすことができる。
【００２５】
以上のように、本実施例によれば、フィルタと温度補正の処理周期にて設計できるようにしておけば、温度補正の処理周期（ＣＰＵの性能等に起因する）の異なるコントローラを使用した場合にもパラメータひとつでフィルタの性能をほぼ落さなくてすむ。
遅れさせたい時定数の設計は、エンコーダ温度の時間変化を示す関数と位置決め精度の時間変化を示す関数の時定数の差を埋めることができる。
また、エンコーダ温度のデータの最小単位が大きい場合にも、フィルタにて急峻に温度補正量を変えることなく滑らかに補正することができる。
なお、温度センサの分解能が粗い場合には、温度データを補間しなければ、位置補正後の位置決め精度がのこぎり状になってしまう。そこで、エンコーダ温度と位置決め精度の時定数が一致している場合は、補正量は補正温度単位でステップ状に変化し、温度が飽和する直前の温度での補正の時間が一番長いため、その温度での整定時間にフィルタ時定数を調整することにより、すべての温度において滑らかな補正を行うことができる。つまり、フィルタの時定数をエンコーダ温度の整定時間の１／３．９１倍としても良い。
【００２６】
なお、上記実施例においては、温度の検出にはエンコーダに内蔵された温度センサを用いているが、モータに設けられた温度センサを用いてもよい。
また、位置補正量は、同定した温度、位置決め精度の関数に基づいて求めているが、記憶手段に単位温度毎の位置補正量を補正テーブルとして記憶し、当該補正テーブルに基づいて位置補正量を求めてもよい。
また、補正の対象はアームの位置でなくてもよく、ロボット自身の位置としても良い。
【産業上の利用可能性】
【００２７】
エンコーダの温度センサを使って補正をすることができるので、ロボット全般に適用できる。
【図面の簡単な説明】
【００２８】
【図１】本発明の方法を適用するロボット制御システムの構成を示すブロック図
【図２】ロボット動作中における位置補正量を求める処理手順を示すフローチャート
【図３】エンコーダ温度の時間変化を示す図
【図４】位置決め精度の時間変化（誤差ゼロに漸近する様子）を示す図
【図５】温度による位置決め精度の補正量を示す図
【図６】温度による補正後の位置決め精度を示す図
【符号の説明】
【００２９】
１１  指令生成部
１２  Ｉ／Ｆ部
１３  サーボ制御部
１４  ロボット部
１５  エンコーダ
１６  制御装置
１７  温度センサ
【図１】
2006285301.tif 000003
【図２】
2006285301.tif 000004
【図３】
2006285301.tif 000005
【図４】
2006285301.tif 000006
【図５】
2006285301.tif 000007
【図６】
2006285301.tif 000008