(57)【要約】【課題】ロボットの本来の稼動を中断させることなく、精度の良い位置制御を長く維持できるようなロボット位置制御装置を提供することである。【解決手段】被駆動体（１１０、１１２、１２０）の現在位置と目標位置との差及び補正量に基づいて駆動源（１０、２０）の動作量を決定する動作量決定手段（３１４）と、決定された動作量の動作を前記駆動源にさせる駆動制御手段（３１４、３０１）と、前記駆動源の動作後に、検出される前記被駆動体の現在位置と目標位置との誤差が第一の所定値以内であるか否かを判定する第一の判定手段（３１８）と、前記誤差が前記第一の所定値以内ではないとの判定がなされたときに、前記誤差に基づいて前記補正量を更新する補正量更新手段（３２０）と、前記誤差及び補正量に基づいて前記駆動源に補正動作をさせる補正動作制御手段（３００）とを有する構成となる。【選択図】  図７
2004330321.tif 000002
【特許請求の範囲】
【請求項１】
駆動源と、被駆動体と、前記駆動源の動力を前記被駆動体に伝達させて前記被駆動体を駆動させる動力伝達機構とを備えたロボットにおける前記被駆動体の位置制御装置であって、
前記被駆動体の現在位置を検出する位置検出手段と、
前記位置検出手段にて検出される前記被駆動体の現在位置と目標位置との差及び補正量に基づいて駆動源の動作量を決定する動作量決定手段と、
前記動作量決定手段にて決定された動作量の動作を前記駆動源にさせる駆動制御手段と、
前記駆動源の動作後に、前記位置検出手段にて検出される前記被駆動体の現在位置と目標位置との誤差が第一の所定値以内であるか否かを判定する第一の判定手段と、
前記誤差が前記第一の所定値以内ではないとの判定が前記第一の判定手段にてなされたときに、前記誤差に基づいて前記補正量を更新する補正量更新手段と、
前記誤差及び補正量に基づいて前記駆動源に補正動作をさせる補正動作制御手段とを有することを特徴とするロボット位置制御装置。
【請求項２】
前記誤差が前記第一の所定値より大きい第二の所定値以内であるか否かを判定する第二の判定手段と、
前記第二の判定手段にて前記誤差が第二の所定値以内でないとの判定がなされたときに、前記補正量の更新及び前記駆動源の補正動作を禁止する第一の補正動作禁止手段とを有することを特徴とする請求項１記載のロボット位置制御装置。
【請求項３】
前記補正動作制御手段は、前記誤差及び補正量に基づいて前記動作量決定手段に動作量を決定させ、前記駆動制御手段により前記動作量の補正動作を前記駆動源にさせるようにしたことを特徴とする請求項１または２記載のロボット位置制御装置。
【請求項４】
前記誤差が前記第一の所定値以内であるとの判定が前記第一の判定手段にてなされるまで、前記補正量更新手段による前記補正量の更新及び前記補正動作制御手段による前記駆動源の補正動作を繰り返し行わせるようにしたことを特徴とする請求項３記載のロボット位置制御装置。
【請求項５】
前記補正動作の回数を検出する補正動作回数検出手段と、
前記補正動作回数検出手段での検出回数が所定回数以上となったか否かを判定する回数判定手段と、
前記検出回数が前記所定回数以上になったとの判定が前記回数判定手段にてなされたときに、前記補正量の更新及び前記駆動源の補正動作を禁止する第二の補正禁止制御手段とを有することを特徴とする請求項４記載のロボット位置制御装置。
【請求項６】
前記補正量更新手段は、前記補正量に前記誤差を加算して更新後の補正量を生成するようにしたことを特徴とする請求項１乃至５のいずれかに記載のロボット位置制御装置。
【請求項７】
前記補正量更新手段は、生成された前記補正量が所定の限界補正量を超えているか否かを判定する更新限界判定手段を有し、
前記生成された補正量が前記所定の限界補正量を超えているとの判定が前記更新限界判定手段にてなされたときは、前記所定の限界補正量を更新後の補正量とするようにしたことを特徴とする請求項６記載のロボット位置制御装置。
【請求項８】
前記被駆動体の前回の動作方向と今回の動作方向の組み合わせに応じて複数の補正量が設定されており、
前記動作量決定手段は、前記被駆動体の前回の動作方向と前記位置検出手段にて検出される現在位置から目標位置までの今回の動作方向の組み合わせに対応する補正量を用いて前記駆動源の動作量を決定するようにしたことを特徴とする請求項１乃至７のいずれかに記載のロボット位置制御装置。
【請求項９】
前記補正量更新手段は、前記被駆動体の前回の動作方向と前記位置検出手段にて検出される現在位置から目標位置までの今回の動作方向の組み合わせに対応する補正量を今回の動作後における前記現在位置と目標位置との誤差に基づいて更新するようにしたことを特徴とする請求項８記載のロボット位置制御装置。
【請求項１０】
前記被駆動体の前回の動作方向が不明な場合、前記動作量決定手段は、設定された複数の補正量のいずれも使用することなく、前記位置検出手段にて検出される現在位置と目標位置との差に基づいて動作量を決定するようにしたことを特徴とする請求項８または９記載のロボット位置制御装置。
【請求項１１】
前記被駆動体の前回の動作方向が不明な場合、前記補正量更新手段は、前記設定された複数の補正量のいずれの更新も行わないことを特徴とする請求項９記載のロボット位置制御装置。
【請求項１２】
駆動源と、被駆動体と、前記駆動源の動力を前記被駆動体に伝達させて前記被駆動体を駆動させる動力伝達機構とを備えたロボットにおける前記被駆動体の位置制御方法であって、
前記被駆動体の現在位置を検出する位置検出ステップと、
位置検出ステップにて検出される前記被駆動体の現在位置と目標位置との差及び補正量に基づいて駆動源の動作量を決定する動作量決定ステップと、
前記決定された動作量の動作を前記駆動源にさせる駆動制御ステップと、
前記駆動源の動作後に、前記被駆動体の現在位置を検出する動作後位置検出ステップと、
前記動作後検出ステップにて検出される前記か動体の現在位置と目標位置との誤差が所定値以内であるか否かを判定する判定手段と、
前記誤差が前記所定値以内ではないとの判定がなされたときに、前記誤差に基づいて前記補正量を更新する補正量更新ステップと、
前記誤差及び補正量に基づいて前記駆動源に補正動作をさせる補正動作制御ステップとを有することを特徴とするロボット位置制御方法。
【請求項１３】
前記補正動作制御ステップは、前記誤差及び補正量に基づいて前記駆動源の補正動作量を決める補正動作量決定ステップと、
前記駆動源に前記補正動作量の動作をさせる補正駆動ステップとを有することを特徴とする請求項１２記載のロボット位置制御方法。
【請求項１４】
前記補正量更新ステップ、補正動作量決定ステップ及び補正駆動ステップを前記誤差が前記所定値以内になるまで繰り返すことを特徴とする請求項１３記載のロボット位置制御方法。
【請求項１５】
前記補正動作の回数を検出する補正動作回数計数ステップと、
前記補正動作回数検出ステップでの検出回数が所定回数以上となったか否かを判定する回数判定ステップと、
前記検出回数が前記所定回数以上になったとの判定がなされたときに、前記補正量の更新及び前記駆動源の補正動作を禁止する補正禁止制御ステップとを有することを特徴とする請求項１４記載のロボット位置制御方法。
【請求項１６】
駆動源と、被駆動体と、前記駆動源の動力を前記被駆動体に伝達させて前記被駆動体を駆動させる動力伝達機構とを備えたロボットと、該ロボットの前記被駆動体の位置を制御する位置制御装置とを有し、
前記位置制御装置は、
前記被駆動体の現在位置を検出する位置検出手段と、
位置検出手段にて検出される前記被駆動体の現在位置と目標位置との差及び補正量に基づいて駆動源の動作量を決定する動作量決定手段と、
前記動作量決定手段にて決定された動作量の動作を前記駆動源にさせる駆動制御手段と、
前記駆動源の動作後に、前記位置検出手段にて検出される前記被駆動体の現在位置と目標位置との誤差が所定値以内であるか否かを判定する判定手段と、
前記誤差が前記所定値以内ではないとの判定が前記判定手段にてなされたときに、前記誤差に基づいて前記補正量を更新する補正量更新手段と、
前記誤差及び補正量に基づいて前記駆動源に補正動作をさせる補正動作制御手段とを有することを特徴とするロボットシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、産業用ロボットの位置制御装置に係り、詳しくは、駆動源の動力を動力伝達機構にて被駆動体に伝達させて被駆動体を駆動させるようにしたロボットの当該か動体の位置を制御するためのロボット位置制御装置に関する。
【０００２】
【従来の技術】
従来、アクチュエータ（例えば、電動機）により動かされるロボットアームを目標位置に制御するためのロボット位置制御装置が提案されている（例えば、特許文献１参照）。この従来のロボット位置制御装置では、ロボットアームの目標位置が与えられると、ロボットアームがその目標位置に制御されるために必要なアクチュエータの駆動量が目標駆動量として算出される。アクチュエータに対して指示した駆動量と実際の駆動量（実績値）との関係に基づいてその指示した駆動量（指示値）に対する補正値を定めるための補正式が予め作成されており、その補正式に従って前記目標駆動量に対応した補正値が算出される。そして、前記目標駆動量と補正値とを加算することによってアクチュエータに対する指示値が算出され、その指示値に基づいてアクチュエータを制御することによりロボットアームが前記目標位置に制御される。
【０００３】
このようなロボット位置制御装置によれば、アクチュエータの駆動量の目標値に対する精度を高めることができ、ロボットアームを目標位置に精度よく制御することが可能となる。
【０００４】
【特許文献１】
特開２０００−２７１８８５号公報
【０００５】
【発明が解決しようとする課題】
しかし、従来のロボット位置制御装置では、機構部品のがたつきや組立て精度の経時変化等により、前記補正式が指示された駆動量と実際の駆動量との関係を正確に表さなくなる。このような場合、補正式を修正しなければならない。補正式の修正に際しては、指示値に対する実際の駆動量をサンプリングして指示値と実際の駆動量との関係（補正式）をロボットに覚え込ませるティーチング作業が必要となるために、ロボットの本来の稼動を中断させなければならない。
【０００６】
本発明は、このような問題点に鑑みてなされたもので、ロボットの本来の稼動を中断させることなく、精度の良い位置制御を長く維持できるようなロボット位置制御装置を提供することである。
【０００７】
【課題を解決するための手段】
本発明に係るロボット位置制御装置は、駆動源と、被駆動体と、前記駆動源の動力を前記被駆動体に伝達させて前記被駆動体を駆動させる動力伝達機構とを備えたロボットにおける前記被駆動体の位置制御装置であって、前記被駆動体の現在位置を検出する位置検出手段と、位置検出手段にて検出される前記被駆動体の現在位置と目標位置との差及び補正量に基づいて駆動源の動作量を決定する動作量決定手段と、前記動作量決定手段にて決定された動作量の動作を前記駆動源にさせる駆動制御手段と、前記駆動源の動作後に、前記位置検出手段にて検出される前記被駆動体の現在位置と目標位置との誤差が第一の所定値以内であるか否かを判定する第一の判定手段と、前記誤差が前記第一の所定値以内ではないとの判定が前記第一の判定手段にてなされたときに、前記誤差に基づいて前記補正量を更新する補正量更新手段と、前記誤差及び補正量に基づいて前記駆動源に補正動作をさせる補正動作制御手段とを有する構成となる。
【０００８】
このような構成によれば、被駆動体の現在位置と目標位置の差及び補正量に基づいて駆動源が動作させられる。この駆動源の動作により、駆動源の動力が動力伝達機構により被駆動体に伝達され、その被駆動体は目標位置に向けて駆動される。
【０００９】
前記駆動源の動作後における被駆動体の現在位置と目標位置との誤差が第一の所定値以内でない場合、前記駆動源の動作量を決定するために用いられた前記補正量が適正ではなかったとして、前記誤差に基づいてその補正量が更新される。更に、その誤差及び補正量に基づいて駆動源の補正動作がなされる。駆動源の補正動作によって、前記誤差をなくすように前記被駆動体を動かすことができる。即ち、被駆動体をよりその目標位置に近づけることができる。
【００１０】
前記補正量の初期値は、予め理論的または実験的に求めた値に設定することも、あるいは、ゼロに設定することもできる。
【００１１】
前記動力伝達機構は、ギア、プーリー、カム、ベルト、リンク棒、軸、軸受け等、機械的な機構部品にて構成される。また、前記動力伝達機構における各機構部品は駆動源の動作に伴って動作するものであり、その動作は、直線動作、回転動作、あるいは、それらの複合的な動作であってもよい。
【００１２】
また、本発明に係るロボット位置制御装置は、前記誤差が前記第一の所定値より大きい第二の所定値以内であるか否かを判定する第二の判定手段と、前記第二の判定手段にて前記誤差が第二の所定値以内でないとの判定がなされたときに、前記補正量の更新及び前記駆動源の補正動作を禁止する第一の補正動作禁止手段とを有する構成とすることができる。
【００１３】
このような構成により、前記誤差が第二の所定値以上となる場合、動力伝達機構の何らかの支障が発生したものとして、駆動源の補正動作が禁止されることとなる。この場合、例えば、エラー動作として処理することができる。
【００１４】
更に、本発明に係るロボット位置制御装置は、前記補正動作制御手段が、前記誤差及び補正量に基づいて前記動作量決定手段に動作量を決定させ、前記駆動制御手段により前記動作量の補正動作を前記駆動源にさせるようにした構成とすることができる。
【００１５】
このような構成により、前記誤差をなくすような駆動源の動作量が決定され、駆動源にその動作量の動作をさせることにより補正動作がなされる。
【００１６】
本発明に係るロボット位置制御装置は、前記誤差が前記第一の所定値以内であるとの判定が前記第一の判定手段にてなされるまで、前記補正量更新手段による前記補正量の更新及び前記補正動作制御手段による前記駆動源の補正動作を繰り返し行わせるように構成することができる。
【００１７】
このような構成により、一回の補正動作によって被駆動体の現在位置と目標位置との誤差が第一の所定値以内にならなくても、その補正動作を繰り返すことにより、当該誤差を第一の所定値以内にすることが可能となる。
【００１８】
また、本発明に係るロボット位置制御装置は、前記補正動作の回数を検出する補正動作回数検出手段と、前記補正動作回数検出手段での検出回数が所定回数以上となったか否かを判定する回数判定手段と、前記検出回数が前記所定回数以上になったとの判定が前記回数判定手段にてなされたときに、前記補正量の更新及び前記駆動源の補正動作を禁止する第二の補正禁止制御手段とを有する構成とすることができる。
【００１９】
このような構成により、駆動源の補正動作が所定回数を超えて繰り返されることが防止される。被駆動体が目標位置から所定誤差範囲内に位置づけられることなく駆動源の補正動作が繰り返されることによる時間の無駄を省くことができる。このようにして補正動作が禁止された場合、例えば、エラー動作として処理することができる。
【００２０】
本発明に係るロボット位置制御装置は、前記補正量更新手段が、前記補正量に前記誤差を加算して更新後の補正量を生成するようにした構成とすることができる。
【００２１】
このような構成により、あと誤差分だけ駆動源を動作させれば、被駆動体が目標位置に位置づけられたのであるから、補正量にその誤差を加算することにより、より適正な補正量を得ることができることとなる。
【００２２】
また、本発明に係るロボット位置制御装置は、前記補正量更新手段が、生成された前記補正量が所定の限界補正量を超えているか否かを判定する更新限界判定手段を有し、前記生成された補正量が前記所定の限界補正量を超えているとの判定が前記更新限界判定手段にてなされたときは、前記所定の限界補正量を更新後の補正量とするようにした構成とすることができる。
【００２３】
このような構成により、限界補正量を超える補正量が設定されることを防止することができる。
【００２４】
本発明に係るロボット位置制御装置は、前記被駆動体の前回の動作方向と今回の動作方向の組み合わせに応じて複数の補正量が設定されており、前記動作量決定手段が、前記被駆動体の前回の動作方向と前記位置検出手段にて検出される現在位置から目標位置までの今回の動作方向の組み合わせに対応する補正量を用いて前記駆動源の動作量を決定するようにした構成とすることができる。
【００２５】
このような構成により、動力伝達機構における機構部品の動作方向の履歴の違いによって機械的誤差が変動しても、より適切な補正量に基づいて駆動源の動作量を決定することができるようになる。
【００２６】
また、本発明に係るロボット位置制御装置は、前記補正量更新手段が、前記被駆動体の前回の動作方向と前記位置検出手段にて検出される現在位置から目標位置までの今回の動作方向の組み合わせに対応する補正量を今回の動作後における前記現在位置と目標位置との誤差に基づいて更新するようにした構成とすることができる。
【００２７】
このような構成により、機構部品の動作方向の履歴の違いによって機械的誤差が変動しても、より適切な補正量への更新が可能となる。
【００２８】
更に、本発明に係るロボット位置制御装置は、前記被駆動体の前回の動作方向が不明な場合、前記動作量決定手段は、設定された複数の補正量のいずれも使用することなく、前記位置検出手段にて検出される現在位置と目標位置との差に基づいて動作量を決定するようにした構成とすることができる。
【００２９】
機構部品の動作方向の履歴の違いによって機械的誤差が変動することから、このような構成により、不適切な補正量を用いて駆動源の動作量を決定することを防止することができる。
【００３０】
また、更に、本発明に係るロボット位置制御装置は、前記被駆動体の前回の動作方向が不明な場合、前記補正量更新手段は、前記設定された複数の補正量のいずれの更新も行わないように構成とすることができる。
【００３１】
機構部品の動作方向の履歴の違いによって機械的誤差が変動することから、このような構成により、補正量を不適切に更新することを防止することができる。
【００３２】
本発明に係るロボット位置制御方法は、駆動源と、被駆動体と、前記駆動源の動力を前記被駆動体に伝達させて前記被駆動体を駆動させる動力伝達機構とを備えたロボットにおける前記被駆動体の位置制御方法であって、前記被駆動体の現在位置を検出する位置検出ステップと、位置検出ステップにて検出される前記被駆動体の現在位置と目標位置との差及び補正量に基づいて駆動源の動作量を決定する動作量決定ステップと、前記決定された動作量の動作を前記駆動源にさせる駆動制御ステップと、前記駆動源の動作後に、前記被駆動体の現在位置を検出する動作後位置検出ステップと、前記動作後検出ステップにて検出される前記被駆動体の現在位置と目標位置との誤差が所定値以内であるか否かを判定する判定ステップと、前記誤差が前記所定値以内ではないとの判定がなされたときに、前記誤差に基づいて前記補正量を更新する補正量更新ステップと、前記誤差及び補正量に基づいて前記駆動源に補正動作をさせる補正動作制御ステップとを有する構成とすることができる。
【００３３】
このような構成により、駆動源の動作後における被駆動体の現在位置と目標位置との誤差が所定値以内でない場合、前記駆動源の動作量を決定するために用いられた前記補正量が適正ではなかったとして、前記誤差に基づいてその補正量が更新され、更に、その誤差及び補正量に基づいて駆動源の補正動作がなされる。駆動源の補正動作によって、前記誤差をなくすように前記被駆動体を動かすことができる。即ち、被駆動体をよりその目標位置に近づけることができる。
【００３４】
また、本発明に係るロボット位置制御方法は、前記補正動作制御ステップが、前記誤差及び補正量に基づいて前記駆動源の補正動作量を決める補正動作量決定ステップと、前記駆動源に前記補正動作量の動作をさせる補正駆動ステップとを有する構成とすることができる。
【００３５】
更に、本発明に係るロボット位置制御方法は、前記補正量更新ステップ、補正動作量決定ステップ及び補正駆動ステップを前記誤差が前記所定値以内になるまで繰り返すように構成することができる。
【００３６】
また、更に、本発明に係るロボット位置制御方法は、前記補正動作の回数を検出する補正動作回数計数ステップと、前記補正動作回数検出ステップでの検出回数が所定回数以上となったか否かを判定する回数判定ステップと、前記検出回数が前記所定回数以上になったとの判定がなされたときに、前記補正量の更新及び前記駆動源の補正動作を禁止する補正禁止制御ステップとを有する構成とすることができる。
【００３７】
このような構成により、補正量の更新及び補正動作の無駄な繰り返しを防止することができる。
【００３８】
本発明に係るロボットシステムは、駆動源と、被駆動体と、前記駆動源の動力を前記被駆動体に伝達させて前記被駆動体を駆動させる動力伝達機構とを備えたロボットと、該ロボットの前記被駆動体の位置を制御する位置制御装置とを有し、前記位置制御装置は、前記被駆動体の現在位置を検出する位置検出手段と、位置検出手段にて検出される前記被駆動体の現在位置と目標位置との差及び補正量に基づいて駆動源の動作量を決定する動作量決定手段と、前記動作量決定手段にて決定された動作量の動作を前記駆動源にさせる駆動制御手段と、前記駆動源の動作後に、前記位置検出手段にて検出される前記被駆動体の現在位置と目標位置との誤差が所定値以内であるか否かを判定する判定手段と、前記誤差が前記所定値以内ではないとの判定が前記判定手段にてなされたときに、前記誤差に基づいて前記補正量を更新する補正量更新手段と、前記誤差及び補正量に基づいて前記駆動源に補正動作をさせる補正動作制御手段とを有する構成となる。
【００３９】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて説明する。
【００４０】
本発明の実施の形態に係るロボット位置制御装置が適用されるロボットは、図１及び図２に示すように構成される。このロボットは、半導体ウエハの搬送ロボットとして用いられる。なお、図１は該ロボットの斜視図であり、図２は、該ロボットの断面概略図である。
【００４１】
図１及び図２において、このロボットは、リフタ機構１００、モータ収納体１０１、基台アーム１１０、下段アーム１１２、上段アーム１１６、下段ウエハチャック駆動機構１２０、下段ウエハチャック１２１、上段ウエハチャック駆動機構１２２及び上段ウエハチャック１２３を有している。モータ収納体１０１は、基台アーム１１０と一体的に結合されている（詳細構造図示略）。下段ウエハチャック駆動機構１２０は、半導体ウエハのチャッキング動作及びその解放動作を行うように下段ウエハチャック１２１を駆動させる。上段ウエハチャック駆動機構１２２は、半導体ウエハのチャッキング動作及びその解放動作を行うように上段ウエハチャック１２３を駆動させる。
【００４２】
このロボットは、図２に示すように、それぞれパルスモータとなるメインモータ１０、第一の駆動モータ２０及び第二の駆動モータ４０を有している。メインモータ１０は、モータ収納体１０１と一体となる基台アーム１１０（被駆動体）を回転させるための駆動源である。第一の駆動モータ２０は、下段アーム１１２及び下段ウエハチャック駆動機構１２０（被駆動体）を回転させるための駆動源であり、モータ収納体１０１に収納されている。第二の駆動モータ４０は、上段アーム１１６及び上段ウエハチャック駆動機構１２２（被駆動体）を回転させるための駆動源であり、第一の駆動モータ２０と共にモータ収納体１０１に収納されている。
【００４３】
メインモータ１０にはギアヘッド１１が装着され、ギアヘッド１１にはメインシャフト１２の一端が連結するとともに、メインシャフト１２の他端がモータ収納体１０１の中心に固定されている。これにより、メインモータ１０の回転動力がギアヘッド１１及びメインシャフト１２（動力伝達機構）を介してモータ収納体１０１に伝達され、モータ収納体１０１と一体となる基台アーム１１０がメインシャフト１２を軸として回転される。また、メインシャフト１２には第一の回転位置検出器６１が装着されている。第一の回転位置検出器６１は、メインシャフト１２とともに回転する基台アーム１１０の回転角度位置（現在位置）を検出する。
【００４４】
第一の駆動モータ２０にはギアヘッド２１が装着され、ギアヘッド２１には駆動シャフト２２の一端が連結している。基台アーム１１０内にはプーリー２３及び２４が回転自在に設けられ、それらがタイミングベルト２５によって一体的に回転するように連結されている。駆動シャフト２２の他端はプーリー２３の下面の中心に固定されている。プーリー２４の上面の中心には連結シャフト２６の一端が固定され、連結シャフト２６の他端が下段アーム１１２に固定されている。これにより、第一の駆動モータ２０の回転動力がギアヘッド２１、駆動シャフト２２、プーリー２３、タイミングベルト２５、プーリー２４及び連結シャフト２６（動力伝達機構）を介して下段アーム１１２に伝達され、下段アーム１１２が連結シャフト２６を軸にして回転する。プーリー２４の回転軸には第二の回転位置検出器６２が装着されている。第二の回転位置検出器６２は、プーリー２４とともに回転する下段アーム１１２の回転角度位置（現在位置）を検出する。
【００４５】
下段アーム１１２内にはプーリー２７及び２８が設けられ、それらがタイミングベルト２９によって一体的に回転するように連結されている。プーリー２７とプーリー２４及び連結シャフト２６とは同軸構造となっており、プーリー２７は、基台アーム１１０に回転自在に支持されている。プーリー２８は、下段アーム１１２内で回転自在に支持されている。これにより、プーリー２７は、下段アーム１１２の回転に伴って、基台アーム１１０との相対的な位置を維持するように、下段アーム１１２の回転方向とは逆方向に回転する。そして、プーリー２８がそのプーリー２７の回転に伴うタイミングベルト２９の回転によって回転する。
【００４６】
プーリー２８の上面の中心には連結シャフト３０の一端が固定され、連結シャフト３０の他端は、下段ウエハチャック駆動機構１２０に固定されている。これにより、第一の駆動モータ２０の回転動力がギアヘッド２１、駆動シャフト２２、プーリー２３、タイミングベルト２５、プーリー２４、連結シャフト２６、下段アーム１１２、プーリー２７、タイミングベルト２９、プーリー２８及び連結シャフト３０（動力伝達機構）を介して下段ウエハチャック駆動機構１２０に伝達され、下段ウエハチャック駆動機構１２０が連結シャフト３０を軸にして回転する。連結シャフト３０には第三の回転位置検出器６３が装着されている。第三の回転位置検出器６３は、連結シャフト３０とともに回転する下段ウエハチャック駆動機構１２０の回転角度位置（現在位置）を検出する。
【００４７】
第一の回転位置検出器６１、第二の回転位置検出器６２及び第三の回転角度位置検出器６３のそれぞれは、下段ウエハチャック１２１の要求される位置制御精度を満足できる精度にて回転角度位置が検出できるものであれば特に限定されない。これらの回転位置検出器として、例えば、複数の固定された電磁コイルと、回転する磁性体とを備えたインダクトコーダ（登録商標）を用いることができる。このインダクトコーダ（登録商標）は、電磁誘導作用を利用して磁性体の機械的な変位（回転角度）を電磁コイルから出力される信号間の位相差に変換し、その位相差に基づいた検出信号を出力する。
【００４８】
第一の駆動モータ２０の回転動力が下段アーム１１２及び下段ウエハチャック駆動機構１２０に伝達されることから、第一の駆動モータ２０によって下段アーム１１２及び下段ウエハチャック駆動機構１２０が同時に回転される。この回転に際して、例えば、下段ウエハチャック駆動機構１２０の回転角が常に下段アーム１１２の回転角の二分の一になるように、下段ウエハチャック駆動機構１２０に対する動力伝達機構が設計されている。
【００４９】
また、メインシャフト１２とプーリー２４の回転軸（連結シャフト２６）との間の距離と、プーリー２７の回転軸（連結シャフト２６）とプーリー２８の回転軸（連結シャフト３０）との間の距離は等しい。即ち、基台アーム１１０の実効長と下段アーム１１２の実効長とは等しい。
【００５０】
更に、第二の駆動モータ４０にはギアヘッド４１が装着され、ギアヘッド４１には駆動シャフト４２の一端が連結されている。基台アーム１１０内には更にプーリー４３及び４４が回転自在に設けられ、それらがタイミングベルト４５によって一体的に回転するように連結されている。駆動シャフト４２の他端はプーリー４３の下面の中心に固定されている。プーリー４４の上面の中心には連結シャフト４６が固定されている。この連結シャフト４６の他端が上段アーム１１６に固定されている。これにより、第二の駆動モータ４０の回転動力がギアヘッド４１、駆動シャフト４２、プーリー４３、タイミングベルト４５、プーリー４４及び連結シャフト４６（動力伝達機構）を介して上段アーム１１６に伝達され、上段アーム１１６が連結シャフト４６を軸にして回転する。連結シャフト４６は下段アーム１１２に固定された連結シャフト２６より長く、上段アーム１１６が下段アーム１１２の上方で回転するようになっている。なお、連結シャフト４６は、円筒カバー１１４にて覆われている。
【００５１】
上段アーム内１１６内にはプーリー４７及び４８が設けられ、それらがタイミングベルト４９によって一体的に回転するように連結されている。プーリー４７とプーリー４４及び連結シャフト４６とは同軸構造となっており、プーリー４７は、基台アーム１１０に回転自在に支持されている。プーリー４８は、上段アーム１１６内で回転自在に支持されている。これにより、プーリー４７は、上段アーム１１６の回転に伴って、基台アーム１１０との相対的な位置を維持するように、上段アーム１１６の回転方向とは逆方向に回転する。そして、プーリー４８がそのプーリー４７の回転に伴うタイミングベルト４９の回転によって回転する。
【００５２】
プーリー４８の下面の中心には連結シャフト５０の一端が固定され、連結シャフト５０の他端は、上段ウエハチャック駆動機構１２２に固定されている。これにより、第二の駆動モータ４０の回転動力がギアヘッド４１、駆動シャフト４２、プーリー４３、タイミングベルト４５、プーリー４４、連結シャフト４６、上段アーム１１６、プーリー４７、タイミングベルト４９、プーリー４８及び連結シャフト５０（動力伝達機構）を介して上段ウエハチャック駆動機構１２２に伝達され、上段ウエハチャック駆動機構１２２が連結シャフト５０を軸にして回転する。
【００５３】
図２では図示を省略しているが、プーリー４４の回転軸及び連結シャフト５０には、前述したプーリー２４及び連結シャフト３０と同様に、それぞれの回転角度位置（現在位置）を検出する回転位置検出器が装着されている。この回転位置検出器もまた、前述した第一、第二及び第三の回転位置検出器６１、６２、６３と同様に、例えば、前述したインダクトコーダ（登録商標）にて構成することができる。
【００５４】
第二の駆動モータ４０の回転動力が上段アーム１１６及び上段ウエハチャック駆動機構１２２に伝達されることから、第二の駆動モータ４０によって上段アーム１１６及び上段ウエハチャック駆動機構１２２が同時に回転される。この回転に際して、例えば、上段ウエハチャック駆動機構１２２の回転角が常に上段アーム１１６の回転角の二分の一になるように、上段ウエハチャック駆動機構１２２に対する動力伝達機構が設計されている。
【００５５】
また、メインシャフト１２とプーリー４４の回転軸（連結シャフト４６）との間の距離と、プーリー４７の回転軸（連結シャフト４６）とプーリー４８の回転軸（連結シャフト５０）との間の距離は等しい。即ち、基台アーム１１０の実効長と上段アーム１１６の実効長とは等しい。
【００５６】
下段ウエハチャック１２１のホームポジション（ＨＰ）は、図１に示すように、基台アーム１１０と下段アーム１１２とが折畳まれた状態の所定位置に、また、上段ウエハチャック１２３のホームポジション（ＨＰ）は、基台アーム１１０と上段アーム１１６とが折畳まれた状態の所定位置にそれぞれ設定されている。下段ウエハチャック１２１の動作ポジションは（ＯＰ）は、図３に示すように、基台アーム１１０、下段アーム１１２及び下段ウエハチャック駆動機構１２０の回転により下段ウエハチャック１２１が到達する所定位置に設定されている。また、上段ウエハチャック１２３の動作ポジション（ＯＰ）は、図４に示すように、基台アーム１１０、上段アーム１１６及び上段ウエハチャック駆動機構１２２の回転により上段ウエハチャック１２３が到達する所定位置に設定されている。なお、図２に示す機構全体がリフタ機構１００によってステップ状に上下動可能になっている。
【００５７】
前記ロボットは、メインモータ１０によって基台アーム１１０を回転させ、第一の駆動モータ２０によって下段アーム１１２及び下段ウエハチャック駆動機構１２０を回転させることにより、下段ウエハチャック１２１をホームポジション（ＨＰ）と動作ポジション（ＯＰ）との間を移動させる。また、メインモータ１０によって基台アーム１１０を回転させ、第二の駆動モータ４０によって上段アーム１１６及び上段ウエハチャック駆動機構１２２を回転させることにより、上段ウエハチャック１２３をホームポジション（ＨＰ）と動作ポジション（ＯＰ）との間を移動させる。
【００５８】
前記ロボットにおける下段ウエハチャック１２１及び上段ウエハチャック１２３のホームポジション（ＨＰ）及び動作ポジション（ＯＰ）への位置制御の手法は同様であるので、以下、下段ウエハチャック１２１の位置制御について説明する。
【００５９】
基台アーム１１０、下段アーム１１２及び下段ウエハチャック駆動機構１２０は、図５に示すように、回転自在に連結された３つのアームＯＡ、ＡＢ、ＢＣによってモデル化することができる。アームＯＡは基台アーム１１０（実際には基台アーム１１０の半分の部分）に対応し、アームＡＢは下段アーム１１２に対応し、アームＢＣは下段ウエハチャック駆動機構１２０に対応する。そして、アームＢＣの先端に下段ウエハチャック１２１が位置するものとする。アームＯＡは点Ｏ（第一の回転位置検出器６１が装着されたメインシャフト１２に対応）を中心にして回転し、アームＡＢはＡ点（第二の回転位置検出器６２が装着されたプーリー２４の回転軸に対応）を中心にして回転し、アームＢＣは点Ｂ（第三の回転位置検出器６３が装着された連結シャフト３０に対応）を中心にして回転する。
【００６０】
このようなモデルにおいて、アームＯＡの回転角度θ１、アームＡＢの回転角度θ２及びアームＢＣの回転角度θ３の関係は、図５に示すように、
α＝θ１＋θ２＋θ３
となる。ここで、基台アーム１１０（ＯＡ）と下段アーム１１２（ＡＢ）の実効長が等しく、
ＯＡ＝ＡＢ
また、下段アーム１１２（ＡＢ）の回転方向は下段ウエハチャック駆動機構１２０の回転方向とは逆となって、それらの回転角度の比は−２：１である
θ３＝−ｋθ２、ｋ＝１／２
という前記ロボットの機構上の制限を考慮して、
θ１＝θ
θ２＝−２θ
θ３＝θ
θ：ロボットの構造から決まる所定の角度
の条件を満足するようにアームＯＡ、ＡＢ、ＢＣを回転させると、
α＝θ−２θ＋θ＝０
となる。即ち、アームＢＣの先端は回転することなく（α＝０）、直線上を移動することになる。
【００６１】
そこで、前記ロボットでは、下段ウエハチャック１２１を動作ポジションの方向αに向けるために、メインモータ１０によって基台アーム１１０（ＯＡ）を基準方向に対して角度αだけ回転させる（θ１＝α、θ２＝θ３＝０（α＝θ１＋θ２＋θ３））。これにより、下段ウエハチャック１２１がホームポジション（ＨＰ）に位置づけられる。次いで、メインモータ１０及び第一の駆動モータ２０によって、基台アーム１１０を更に角度θ回転させると同時に、下段アーム１１２（ＡＢ）を角度−２θ、下段ウエハチャック駆動機構１２０（ＢＣ）を角度θだけ回転させる（θ１＝θ、θ２＝−２θ、θ３＝θ（α＝θ１＋θ２＋θ３＝０））。このようにメインモータ１０及び第一の駆動モータ２０の駆動制御を行なうことによって下段ウエハチャック１２１をホームポジション（ＨＰ）から動作ポジション（ＯＰ）に直線的に移動させることができる。
【００６２】
前記のようにして基台アーム１１０（ＯＡ）、下段アーム１１２（ＡＢ）、及び下段ウエハチャック駆動機構１２０（ＢＣ）の回転角度θ１、θ２、θ３の制御を行なうロボット位置制御装置は、図６に示すように構成される。
【００６３】
図６において、このロボット位置制御装置は、シーケンス制御部２００、位置制御部３００、モータ駆動部３０１、検出出力変換部３０２及び機構誤差補正量格納部３０３を有している。モータ駆動部３０１は、位置制御部３００からの駆動制御信号に基づいてメインモータ１０及び第一の駆動モータ２０（以下、それらを総称してパルスモータという）を駆動させる。検出出力変換部３０２は、第一の回転位置検出器６１、第二の回転位置検出器６２及び第三の回転位置検出器６３（以下、それらを総称して単に回転位置検出器という）からの検出信号を角度位置情報（例えば、カウント値）に変換して出力する。なお、この角度位置情報は、基台アーム１１０、下段アーム１１２及び下段ウエハチャック駆動機構１２０（以下、必要に応じ、それらを総称して被駆動体という）それぞれの現在の角度位置を表しており、以下、現在位置Ｐｃという。
【００６４】
シーケンス制御部２００は、半導体ウエハを搬送するためのロボットの一連の動作を制御すべく、基台アーム１１０の目標となる角度位置、下段アーム１１２の目標となる角度位置、及び下段ウエハチャック駆動機構１２０の目標となる角度位置を所定のシーケンスに従って位置制御部３００に供給する。なお、前記各目標となる角度位置を以下、単に目標位置Ｐｔという。被駆動体（基台アーム１１０、下段アーム１１２、下段ウエハチャック駆動機構１２０）の目標位置Ｐｔは、下段ウエハチャック１２１の制御目標位置（ホームポジション（ＨＰ）、動作ポジション（ＯＰ））に対応したものである。
【００６５】
機構誤差補正量格納部３０３は、基台アーム１１０の回転に対する機構誤差補正量、下段アーム１１２の回転に対する機構誤差補正量及び下段ウエハチャック駆動機構１２０の回転に対する機構誤差補正量を格納する。基台アーム１１０の回転に対する機構誤差補正量は、駆動源となるメインモータ１０の回転動力を基台アーム１１０に伝達する動力伝達機構（ギアボックス１１及びメインシャフト１２）にて発生し得る機構誤差を補正するためのものである。下段アーム１１２の回転に対する機構誤差補正量は、駆動源となる第一の駆動モータ２０の回転動力を下段アーム１１２に伝達する動力伝達機構（ギアヘッド２１、連結シャフト２２、プーリー２３、タイミングベルト２５、プーリー２４及び連結シャフト２６）にて発生し得る機構誤差を補正するためのものである。また、下段ウエハチャック駆動機構１２０の回転に対する機構誤差補正量は、駆動源となる第一の駆動モータ２０の回転動力を下段ウエハチャック駆動機構１２０に伝達する動力伝達機構（ギアヘッド２１、連結シャフト２２、プーリー２３、タイミングベルト２５、プーリー２４、連結シャフト２６、下段アーム１１２、プーリー２７、タイミングベルト２９、プーリー２８及び連結シャフト３０）にて発生し得る機構誤差を補正するためのものである。
【００６６】
各動力伝達機構ではパルスモータ（メインモータ１０、第一の駆動モータ２０）の回転方向やその履歴に応じて各機構部品のがたつき量や動作精度等が異なることを考慮して、各機構誤差補正量は、パルスモータの前回の回転方向と今回の回転方向の組み合わせ（結果的に、被駆動体の前回の動作方向と今回の動作方向の組み合わせ）に応じて複数設定されている。具体的には、パルスモータが前回時計回り方向（ＣＷ）に回転した状態で今回も時計回り方向（ＣＷ）に回転する場合の補正量（以下、ＣＷ・同一方向機構誤差補正量という）、パルスモータが前回時計回り方向（ＣＷ）に回転した状態で今回は反時計回り方向（ＣＣＷ）に回転する場合の補正量（以下、ＣＷ・反対方向機構誤差補正量という）、パルスモータが前回反時計回り方向（ＣＣＷ）に回転した状態で今回も反時計回り方向（ＣＣＷ）に回転する場合の補正量（ＣＣＷ・同一方向機構誤差補正量という）、更に、パルスモータが前回反時計回り方向（ＣＣＷ）に回転した状態で今回は時計回り方向（ＣＷ）に回転する場合の補正量（ＣＣＷ・反対方向機構誤差補正量という）が設定されている。
【００６７】
前記各機構誤差補正量は、後述するように、更新されるものであるが、その初期値は、ゼロであっても、また、各動力伝達機構の構造から論理的に導き出される補正量であってもよい。
【００６８】
位置制御部３００は、駆動制御信号を生成してパルスモータ（１０、２０）に供給する。この駆動制御信号は、シーケンス制御部２００からの被駆動体（基台アーム１１０、下段アーム１１２、下段ウエハチャック駆動機構１２０）の目標位置Ｐｔ、回転位置検出器（６１、６２、６３）から出力される検出信号に基づいた前記被駆動体の現在位置Ｐｃ、及び補正誤差量格納部３０３に格納された機構誤差補正量に基づいて生成される。また、位置制御部３００は、前記駆動制御信号に基づいたパルスモータ（１０、２０）の駆動が終了したときに、位置決め完了信号をシーケンス制御部２００に供給する。そして、シーケンス制御部２００は、その位置決め完了信号を確認し、所定のシーケンスに従って新たな目標位置Ｐｔを位置制御部２００に供給する。これにより、ロボットが一連の動作を継続して行うこととなる。
【００６９】
位置制御部３００の詳細構成は図７に示すようになっている。
【００７０】
図７において、位置制御部３００は、演算部３１０、補正回数設定部３１１、自動補正範囲設定部３１２、許容量設定部３１３、動作量・速度設定部３１４、補正回数検出部３１５、補正回数比較部３１６、消化量検出部３１７、補正判断部３１８、演算部３１９及び補正量更新部３２０を有している。演算部３１０は、シーケンス制御部２００から被駆動体の目標位置Ｐｔが供給されると、その目標位置Ｐｔと検出されている前記被駆動体の現在位置Ｐｃとの差Δ（Ｐｃ−Ｐｔ）を演算し、その差Δ（Ｐｃ−Ｐｔ）を動作量・速度設定部３１４に供給する。その差Δ（Ｐｃ−Ｐｔ）は、被駆動体（基台アーム１１０、下段アーム１１２、下段ウエハチャック駆動機構１２０）を回転させるべき回転角度（図５におけるθ１、θ２、θ３）に対応する。
【００７１】
動作量・速度設定部３１４は、その差Δ（Ｐｃ−Ｐｔ）及び機構誤差補正量格納部３０３に格納された機構誤差補正量に基づいてパルスモータ（１０、２０）を駆動させるべきステップ数を演算し、そのステップ数及び予め定められた速度に対応したパルス信号を生成し、そのパルス信号を駆動制御信号としてモータ駆動部３０１に供給する。即ち、動作量・速度設定部３１４は、被駆動体を回転させるべき回転角度（差Δ）を機構誤差補正量によって補正して、パルスモータ（１０、２０）の動作量を決める駆動制御信号を生成している。
【００７２】
演算部３１９は、パルスモータ（１０、２０）の駆動後に、検出されている被駆動体の現在位置Ｐｃと動作量・速度設定部３１４を介して供給されるその目標位置Ｐｔとの誤差Δ（Ｐｃ−Ｐｔ）を演算し、その誤差Δを補正判断部３１８に供給する。補正回数設定部３１１は、パルスモータ（１０、２０）の実行可能な補正動作の最大回数となる自動補正回数を格納する。補正回数検出部３１５は、パルスモータ（１０、２０）が実行した補正動作の回数を検出する。補正回数比較部３１６は、補正回数検出部３１５により検出された補正動作回数が補正回数設定部３１１に設定された自動補正回数を超えたか否かを判定し、その判定結果を補正判断部３１８に与える。自動補正範囲設定部３１２は、前記誤差Δが補正可能な範囲にあるか否かの判断基準となる自動補正範囲を格納する。許容量設定部３１３は、前記誤差Δの許容量を格納する。前記自動補正範囲は前記許容量にて定まる範囲より大きい。消化量検出部３１７は、動作量・速度設定部３１４の駆動制御信号の出力停止タイミングに応答してパルスモータ（１０、２０）の動作が完了したことを判定すると、補正判断部３１８に補正処理開始の指示を与える。なお、前記自動補正範囲及び許容量は、例えば、当該ロボットのティーチング動作において、それぞれ自動補正範囲設定部３１２及び許容量設定部３１３に設定され得る。また、前記自動補正回数は、例えば、当該ロボット位置制御装置の初期設定動作において自動的に補正回数設定部３１１に設定され得る。
【００７３】
補正判断部３１８は、消化量検出部３１７から補正処理開始の指示にて起動され、演算部３１９からの誤差Δ、自動補正範囲設定部３１２に設定された自動補正範囲、許容量設定部３１３に設定された許容量及び補正回数比較部３１６での判定結果に基づいてパルスモータ（１０、２０）に補正動作をさせるべきであるか否かを判定する。そして、補正判定部３１８は、パルスモータ（１０、２０）に補正動作をさせるべきであると判定した場合、補正指示を動作量・速度設定部３１４及び補正量更新部３２０に前記誤差Δとともに与える。また、補正回数検出部３１５は、補正判断部３１８からの補正指示に基づいて検出補正回数を＋１インクリメントする。
【００７４】
補正量更新部３２０は、前記誤差Δに基づいて機構誤差補正量格納部３０３に格納されている機構誤差補正量の更新処理を行う。また、動作量・速度設定部３１４は、補正判断部３１８から補正指示とともに与えられた前記誤差Δと機構誤差補正量格納部３０３に格納されている機構誤差補正量とに基づいてパルスモータ（１０、２０）の補正動作でのステップ数を演算し、そのステップ数及び予め定められた速度に対応したパルス信号を生成し、そのパルス信号を補正動作に係る駆動制御信号としてモータ駆動部３０１に供給する。
【００７５】
位置制御部３００は、例えば、図８の手順に従って処理を行う。
【００７６】
図８において、位置制御部３００は、シーケンス制御部２００からの被駆動体の目標位置Ｐｔを取得し（Ｓ１）、回転位置検出器（６１、６２、６３）からの検出信号に基づいた前記被駆動体の現在位置Ｐｃを取得する（Ｓ２）。次いで、演算部３１０が前記現在位置Ｐｃと目標位置Ｐｔとの差Δ（Ｐｃ−Ｐｔ）を演算する（Ｓ３）。位置制御部３００は、その差Δ（Ｐｃ−Ｐｔ）が許容量以下であるか否かを判定し（Ｓ４）、その差Δが許容量以下であると（Ｓ４でＹＥＳ）、前記被駆動体（基台アーム１１０、下段アーム１１２、下段ウエハチャック駆動機構１２０）の現在位置Ｐｃが既に目標位置Ｐｔにあるとして、処理を正常終了させる。一方、前記差Δが許容量以下ではないとの判定がなされると（Ｓ４でＮＯ）、動作量・速度設定部３１４が動作量（パルスモータの回転角度）を演算する（Ｓ５）。この動作量の演算は、図９に示す手順に従ってなされる。
【００７７】
図９において、パルスモータの前回の動作（回転方向）が不明であるか否かが判定される（Ｓ５１）。その前回の動作が不明であるとの判定がなされると（Ｓ５１でＹＥＳ）、動作量・速度設定部３１４は、演算部３１０から供給される前記差Δ（Ｐｃ−Ｐｔ）を動作量として決定する（Ｓ５６）。これは、前回の動作による回転方向が不明であると、今回の動作により発生し得る機構誤差が不明となることから、特に機構誤差に対応した補正量を考慮しないで動作量を決定するものである。
【００７８】
一方、パルスモータの前回の動作が明らかな場合（Ｓ５１でＮＯ）、その前回の動作における回転方向と今回の動作における回転方向との組み合わせに応じて、以下のとおりに動作量が決定される。
【００７９】
前回の動作における回転方向が時計回り方向（ＣＷ）であって、今回の動作における回転方向も時計回り方向（ＣＷ）である場合には、その回転方向の組み合わせに対応して機構誤差補正量格納部３０３に格納されたＣＷ・同一方向機構誤差補正量が用いられ、動作量が
動作量＝Δ（Ｐｃ−Ｐｔ）＋ＣＷ・同一方向機構誤差補正量
に従って演算される（Ｓ５２）。また、前回の動作における回転方向が時計回り方向（ＣＷ）であって、今回の動作における回転方向が反時計回り方向（ＣＣＷ）である場合には、その回転方向の組み合わせに対応して機構誤差補正量格納部３０３に格納されたＣＷ・反対方向機構誤差補正量が用いられ、動作量が
動作量＝Δ（Ｐｃ−Ｐｔ）＋ＣＷ・反対方向機構誤差補正量
に従って演算される（Ｓ５３）。更に、前回の動作における回転方向が反時計回り方向（ＣＣＷ）であって、今回の動作における回転方向も反時計回り方向（ＣＣＷ）である場合には、その回転方向の組み合わせに対応して機構誤差補正量格納部３０３に格納されたＣＣＷ・同一方向機構誤差補正量が用いられ、動作量が
動作量＝Δ（Ｐｃ−Ｐｔ）＋ＣＣＷ・同一方向機構誤差補正量
に従って演算される（Ｓ５４）。また、更に、前回の動作における回転方向が反時計回り方向（ＣＣＷ）であって、今回の動作における回転方向が時計回り方向（ＣＷ）である場合には、その回転方向の組み合わせに対応して機構誤差補正量格納部３０３に格納されたＣＣＷ・反対方向機構誤差量が用いられ、動作量が
動作量＝Δ（Ｐｃ−Ｐｔ）＋ＣＣＷ・反対方向機構誤差補正量
に従って演算される（Ｓ５５）。
【００８０】
図８に戻って、動作量・速度設定部３１４は、前述したようにして演算した動作量に対応したステップ数と予め設定された速度とに基づいてパルス信号を生成し、そのパルス信号を駆動制御信号としてモータ駆動部３０１に供給する（Ｓ６）。モータ駆動部３０１は、その駆動制御信号に基づいてパルスモータ（１０、２０）を駆動させる。その結果、パルスモータ（１０、２０）が前記動作量に対応したステップ数回転する間、基台アーム１１０、下段アーム１１２及び下段ウエハチャック駆動機構１２０が回転する。
【００８１】
そして、パルスモータ（１０、２０）の前記ステップ数の動作が完了すると、基台アーム１１０、下段アーム１１２及び下段ウエハチャック駆動機構１２０の回転が停止する。すると、位置制御装置３００は、その動作後における回転位置検出器（６１、６２、６３）からの検出信号に対応した被駆動体（基台アーム１１０、下段アーム１１２、下段ウエハチャック駆動機構１２０）の現在位置Ｐｃを取得する（Ｓ７）。そして、演算部１１９が取得した現在位置Ｐｃと目標位置Ｐｔとの誤差Δ（Ｐｃ−Ｐｔ）を演算する（Ｓ８）。この誤差Δ（Ｐｃ−Ｐｔ）は、演算部１１９から補正判断部３１８に供給される。
【００８２】
パルスモータの停止によって消化量検出部３１７から出力される補正処理開始指示により起動された補正判断部３１８は、前記誤差Δ（Ｐｃ−Ｐｔ）が許容量設定部３１３に設定された許容量以下であるか否かを判定する（Ｓ９）。ここで、前記誤差Δ（Ｐｃ−Ｐｔ）が許容量以下であるとの判定がなされると（Ｓ９でＹＥＳ）、被駆動体（基台アーム１１０、下段アーム１１２、下段ウエハチャック駆動機構１２０）の現在位置Ｐｃが目標位置Ｐｔに達したとして処理の正常終了がなされる。これにより、基台アーム１１０、下段アーム１１２及び下段ウエハチャック駆動機構１２０が所定の回転角度（図５におけるθ１、θ２、θ３に対応）だけ回転されたこととなり、下段ウエハチャック駆動機構１２０の先端に装着される下段ウエハチャック１２１が制御目標位置に位置づけられたこととなる。通常時には、シーケンス制御部２００から目標位置Ｐｔが供給される毎に、以上の処理（Ｓ１→Ｓ９）がなされる。
【００８３】
一方、前記誤差Δ（Ｐｃ−Ｐｔ）が前記許容量以下ではないとの判定がなされると（Ｓ９でＮＯ）、補正判断部３１８は、更に、その誤差Δ（Ｐｃ−Ｐｔ）が自動補正範囲設定部３１２に設定された自動補正範囲以内であるか否かを判定する（Ｓ１０）。ここで、前記誤差Δ（Ｐｃ−Ｐｔ）が前記自動補正範囲以内であるとの判定がなされると（Ｓ１０でＹＥＳ）、補正判断部３１８は、更に、補正回数比較部３１６からの判定結果に基づいて補正動作回数が自動補正回数を超えたか否かを判定する（Ｓ１１）。そして、補正動作回数が自動補正回数を超えていないとの判定がなされると（Ｓ１１でＮＯ）、補正判断部３１８は、補正指示を出力する。この補正指示により、補正回数検出部３１５が検出補正動作回数を＋１だけインクリメントし、補正量更新部３２０は機構誤差補正量格納部３０３に格納された各機構誤差補正量の更新処理を行う（Ｓ１２）。この更新処理は、図１０に示す手順に従ってなされる。
【００８４】
図１０において、パルスモータの前回の動作（回転方向）が不明であるか否かが判定される（Ｓ１２１）。その前回の動作が不明であるとの判定がなされると（Ｓ１２１でＹＥＳ）、各機構誤差補正量の更新はなされずに処理は終了される。一方、パルスモータの前回の動作が明らかな場合（Ｓ１２１でＮＯ）、その前回の動作における回転方向と、今回動作における回転方向との組み合わせに応じて、以下のとおりに機構誤差補正量の更新がなされる。
【００８５】
前回の動作における回転方向が時計回り方向（ＣＷ）であって、今回の動作における回転方向も時計回り方向（ＣＷ）である場合には、その回転方向の組み合わせに対応して機構誤差補正量格納部３０３に格納されたＣＷ・同一方向機構誤差補正量が、前記誤差Δ（Ｐｃ−Ｐｔ）を用いて更新される。具体的には、まず、
ＣＷ・同一方向機構誤差補正量＝Δ（Ｐｃ−Ｐｔ）＋ＣＷ・同一方向機構誤差補正量
に従って新たなＣＷ・同一方向機構誤差補正量が演算される（Ｓ１２２）。これは、前記誤差Δ（Ｐｃ−Ｐｔ）の分だけ更に補正をしていれば、その誤差Δが生じなかったという事情に基づくものである。そして、その新たなＣＷ・同一方向機構誤差補正量が予め定めた限界値（ＣＷ・同一方向補正限界値）を超えていなければ（Ｓ１２３でＮＯ）、機構誤差補正量格納部３０３に格納されたＣＷ・同一方向機構誤差補正量が前記演算値に更新される。一方、前記新たなＣＷ・同一方向機構誤差補正量が前記ＣＷ・同一方向補正限界値を超えている場合（Ｓ１２３でＹＥＳ）、ＣＷ・同一方向機構誤差補正量がそのＣＷ・同一方向補正限界値に更新される（Ｓ１２４）。
【００８６】
また、前回の動作における回転方向が時計回り方向（ＣＷ）であって、今回の動作における回転方向が反時計回り方向（ＣＣＷ）である場合には、その回転方向の組み合わせに対応して機構誤差補正誤差量格納部３０３に格納されたＣＷ・反対方向機構誤差補正量が、前記ＣＷ・同一方向機構誤差補正量と同様の手順に従って更新される。即ち、
ＣＷ・反対方向機構誤差補正量＝Δ（Ｐｃ−Ｐｔ）＋ＣＷ・反対方向機構誤差補正量
に従って新たなＣＷ・反対方向機構誤差補正量が演算され（Ｓ１２５）、その新たなＣＷ・反対方向機構誤差補正量が所定の限界値（ＣＷ・反対方向補正限界値）を超えていなければ（Ｓ１２６でＮＯ）、ＣＷ・反対方向機構誤差補正量がその演算値に更新される。一方、前記新たなＣＷ・反対方向機構誤差補正量が前記ＣＷ・反対方向補正限界値を超えている場合は（Ｓ１２６でＹＥＳ）、ＣＷ・反対方向機構誤差補正量がそのＣＷ・反対方向限界値に更新される（Ｓ１２７）。
【００８７】
更に、前回の動作における回転方向が反時計回り方向（ＣＣＷ）であって、今回の動作における回転方向も反時計回り方向（ＣＣＷ）である場合には、その回転方向の組み合わせに対応して機構誤差補正量格納部３０３に格納されたＣＣＷ・同一方向機構誤差補正量が、前記手順と同一の手順に従って
ＣＣＷ・同一方向機構誤差補正量＝Δ（Ｐｃ−Ｐｔ）＋ＣＣＷ・同一方向機構誤差補正量
の演算値及び所定の限界値（ＣＣＷ・同一方向補正限界値）のいずれかの値に更新される（Ｓ１２８、Ｓ１２９、Ｓ１３０）。また、更に、前回の動作における回転方向が反時計回り方向（ＣＣＷ）であって、今回の動作における回転方向が時計回り方向（ＣＷ）である場合には、その回転方向の組み合わせに対応して機構誤差補正量格納部３０３に格納されたＣＣＷ・反対方向機構誤差補正量が、前記手順と同様の手順に従って
ＣＣＷ・反対方向機構誤差補正量＝ΔＰ（Ｐｃ−Ｐｔ）＋ＣＣＷ・反対方向機構誤差補正量
の演算値及び所定の限界値（ＣＣＷ・反対方向補正限界値）のいずれかの値に更新される（Ｓ１３１、Ｓ１３２、Ｓ１３３）。
【００８８】
図８に戻って、前述した手順に従って機構誤差補正量の更新処理（Ｓ１２）が終了すると、補正判断部３１８から補正指示を受けた動作量・速度設定部３１４は、前記誤差Δ（Ｐｃ−Ｐｔ）を用いて、図９に示す手順に従ってパルスモータ（１０、２０）の動作量（補正動作量）を演算する（Ｓ５）。この動作量の演算においては、前述したように更新された機構誤差補正量（ＣＷ・同一方向機構誤差補正量、ＣＷ・反対方向機構誤差補正量、ＣＣＷ・同一方向機構誤差補正量、またはＣＣＷ・反対方向機構誤差補正量）が用いられる。
【００８９】
そして、動作量・速度設定部３１４は、得られた動作量（補正動作量）に対応したステップ数と予め設定された速度とに基づいてパルス信号を生成し、そのパルス信号を駆動制御信号としてモータ駆動部３０１に供給する（Ｓ６）。その結果、モータ駆動部３０１により前記駆動制御信号に基づいて駆動されるパルスモータ（１０、２０）が前記動作量（補正動作量）に対応したステップ数分回転し、それに伴って、基台アーム１１０、下段アーム１１２及び下段ウエハチャック駆動機構１２０が回転する。
【００９０】
このようにして一連の補正動作が完了すると、位置制御部３００は、その補正動作後における回転位置検出器（６１、６２、６３）からの検出信号に対応した被駆動体の現在位置Ｐｃを取得し（Ｓ７）、演算部１１９がその現在位置Ｐｃと目標位置Ｐｔとの誤差（Ｐｃ−Ｐｔ）を演算する（Ｓ８）。そして、前記補正動作の完了により消化量検出部３１７から出力される補正処理開始指示により起動された補正判断部３１８は、前記誤差Δ（Ｐｃ−Ｐｔ）が許容量以下となるか否かを判定する（Ｓ９）。ここで、前記補正動作により、その誤差Δ（Ｐｃ−Ｐｔ）が許容量以下になっていると（Ｓ９でＹＥＳ）、被駆動体の現在位置Ｐｃが目標位置Ｐｔに達したとして、処理の正常終了がなされる。
【００９１】
一方、前記補正動作でも前記誤差Δ（Ｐｃ−Ｐｔ）が許容値以下にならなかった場合（Ｓ９でＮＯ）、前記手順と同様の手順（Ｓ１０、Ｓ１１、Ｓ１２、Ｓ５、Ｓ６）に従って再度の機構誤差量の更新処理及び補正動作がなされる。以後、自動補正回数を限度に、誤差Δ（Ｐｃ−Ｐｔ）が許容値以下になるまで、前記機構誤差補正量の更新処理及び前記補正動作が繰り返し実行される。
【００９２】
なお、前記機構誤差補正量の更新処理及び前記補正動作がなされる過程で、誤差Δ（Ｐｃ−Ｐｔ）が自動補正範囲外であるとの判定がなされると（Ｓ１０でＮＯ）、更に、補正判断部３１８は、その誤差Δ（Ｐｃ−Ｐｔ）が予め定めた回復可能エラー範囲内であるか否かを判定する（Ｓ１３）。この回復可能エラー範囲は、前記誤差Δ（Ｐｃ−Ｐｔ）が、回復可能なエラーに起因したものであるか否かの判断基準である。従って、前記誤差Δ（Ｐｃ−Ｐｔ）が前記回復可能エラー範囲内であるとの判定がなされると（Ｓ１３でＹＥＳ）、回復可能エラーのメッセージ出力等がなされ（Ｓ１４）、処理が終了する。一方、動力伝達機構における各機構部品のがたつき程度や組立て精度の劣化が大きくなって、前記誤差Δ（Ｐｃ−Ｐｔ）が前記回復可能エラー範囲内ではないとの判定がなされると（Ｓ１３でＮＯ）、回復不能エラーのメッセージ出力等がなされ（Ｓ１５）、処理が終了する。
【００９３】
また、前記機構誤差補正量の更新処理及び前記補正動作がなされる過程で、補正動作回数が自動補正回数を超えると（Ｓ１１でＮＯ）、補正動作により基台アーム１１０、下段アーム１１２及び下段ウエハチャック駆動機構１２０をそれぞれ目標位置Ｐｔの許容量範囲内に位置づけることができないとして、即ち、下段ウエハチャック１２１を目標位置（ホームポジション（ＨＰ）または動作ポジション（ＯＰ））に制御することができないとして、回復可能エラーのメッセージ出力等がなされ（Ｓ１４）、処理が終了する。
【００９４】
以上の処理により、図１１に示すように、被駆動体は、現在位置Ｐｃと目標位置Ｐｔとの差Δ（Ｐｃ−Ｐｔ）と機構誤差補正量との和に対応した量（ステップ数）のパルスモータの動作により、現在位置Ｐｃから目標位置Ｐｔに向けて駆動される。そして、その駆動後の被駆動体の位置（現在位置）が目標位置Ｐｔ対する許容量の範囲内であれば、被駆動体の位置制御が終了する。一方、その駆動後の被駆動体の位置が前記許容量の範囲を超えて自動補正範囲内であれば、被駆動体の位置が目標位置Ｐｔの許容量の範囲内になるまで、機構誤差補正量の更新処理及びパルスモータによる補正動作がなされる。更に、被駆動体の位置が自動補正範囲を超えて回復可能エラーの範囲であれば、回復可能エラーとして位置制御が終了し、被駆動体の位置が回復可能エラー範囲を超えた場合には、回復不能エラーとして位置制御が終了する。
【００９５】
メインモータ１０及び第一の駆動モータ２０をパルスモータと総称し、第一の回転位置検出器６１、第二の回転位置検出器６２及び第三の回転位置検出器６３を回転位置検出器と総称して前記ロボット位置制御装置の動作について説明したが、実際には、第一の回転位置検出器６１からの検出信号に基づいた基台アーム１１０の現在位置Ｐｃとその目標位置Ｐｔとの差Δ及び基台アーム１１０の回転に対する機構誤差補正量（ＣＷ・同一方向機構誤差補正量、ＣＷ・反対方向機構誤差補正量、ＣＣＷ・同一方向機構誤差補正量、及びＣＣＷ・反対方向機構誤差補正量のいずれか）に基づいてメインモータ１０の動作（補正動作も含む）が制御される。また、メインモータ１０の動作後に、基台アーム１１０の現在位置Ｐｃとその目標位置Ｐｔとの誤差Δに基づいて基台アーム１１０の回転に対する機構誤差補正量の更新処理がなされる。
【００９６】
下段アーム１１２と下段ウエハチャック駆動機構１２０とは同一の駆動源、即ち、第一の駆動モータ２０にて駆動される。当該ロボット位置制御装置では、下段アーム１１２の動作量（図５に示す角度θ２）が下段ウエハチャック駆動機構１２０の動作量（図５に示す角度θ３）より大きくなる（θ２＝−２θ、θ３＝θ）ことから、下段アーム１１２の現在位置Ｐｃを検出するための第二の回転位置検出器６２の検出信号を優先している。即ち、第一の駆動モータ２０の通常の動作については、第二の回転位置検出器６２からの検出信号に基づいた下段アーム１１２の現在位置Ｐｃとその目標位置Ｐｔとの差Δ（図５に示す角度θ２に対応）及び下段アーム１１２の回転に対する機構誤差補正量に基づいて制御がなされる。
【００９７】
第二の駆動モータ２０の補正動作については、第二の回転位置検出器６２からの検出信号に基づいた下段アーム１１２の現在位置Ｐｃとその目標位置Ｐｔとの誤差Δが許容量以下となって、第三の回転位置検出器６３からの検出信号に基づいた下段ウエハチャック駆動機構１２０の現在位置Ｐｃとその目標位置Ｐｔとの誤差Δが許容量を超えた場合に限り、第三の回転位置検出器６３からの検出信号に基づいて第二の駆動モータ２０の補正動作が制御される。第二の回転位置検出器６２からの検出信号に基づいた下段アーム１１２の現在位置Ｐｃとその目標位置Ｐｔと誤差Δが許容量を超えた場合には、第三の回転位置検出器６３からの検出信号に基づいた下段ウエハチャック駆動機構の現在位置Ｐｃとその目標位置Ｐｔとの誤差Δが許容量以下であるか否かに関わらず、第二の回転位置検出器６４からの検出信号に基づいて第二の駆動モータ２０の補正動作が制御される。
【００９８】
第二の回転位置検出器６２からの検出信号に基づいた第一の駆動モータ２０の補正動作とともに、下段アーム１１２の回転に対する機構誤差補正量の更新処理がなされる。また、第三の回転位置検出器６３からの検出信号に基づいた第一の駆動モータ２０の補正動作とともに、下段ウエハチャック駆動機構１２０の回転に対する機構誤差補正量の更新処理がなされる。
【００９９】
前述した本発明の実施の形態に係るロボット位置制御装置によれば、被駆動体（基台アーム１１０、下段アーム１１２及び下段ウエハチャック駆動機構１２０）の現在位置Ｐｃとその目標位置Ｐｔとの差Δ（Ｐｃ−Ｐｔ）及び機構誤差補正量に基づいて決定される動作量（ステップ数）だけパルスモータ（メインモータ１０及び第一の駆動モータ２０）を回転させて被駆動体を目標位置Ｐｔ（θ１、θ２、θ３に対応）まで駆動させる通常の動作が繰り返される過程で、動力伝達機構における各機構部品のがたつき程度や組立て精度の劣化が大きくなって、被駆動体の目標位置Ｐｔへの位置づけ精度が許容範囲を超えた場合、自動的に、機構誤差補正量の更新処理及びパルスモータによる補正動作がなされるので、即座に、被駆動体の目標位置Ｐｔへの位置づけ精度を前記許容範囲内に復帰させることができる。そして、動力伝達機構における各機構部品のがたつき程度や組立て精度の劣化が大きくなっても、更新処理により動力伝達機構の現在の状態に適した機構誤差補正量が設定されるので、補正動作の完了後では、適正な機構誤差補正量を用いて通常の動作を継続させることが可能となる。従って、ロボットの本来の稼動を中断させることなく、各被駆動体の精度の良い位置制御を長く維持できるようになる。
【０１００】
なお、前述したロボット位置制御装置は、駆動源として回転動作を行うパルスモータを用いたロボットに適用されたが、直線的な動作を行うリニアモータを駆動源として用いたロボットに対して前述した位置制御の手法を適用することも可能である。また、被駆動体が駆動源によって回転駆動されるものであったが、例えば、リフタ機構１００による被駆動体（図２に示す機構全体）のステップ状の位置制御に前述した手法を適用することも可能である。
【０１０１】
【発明の効果】
以上、説明したように、本願発明によれば、被駆動体の現在位置とその目標位置との差と補正量に基づいて決定される動作量だけ駆動源を動作させる通常の動作後に、その駆動体の現在位置がその目標位置の第一の所定値以内でなければ、補正量の更新及び補正動作がなされることから、ロボットの本来の稼動を中断させることなく、精度の良い位置制御を長く維持できるようなロボット位置制御装置を提供することである。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るロボット位置制御装置にて制御されるロボットの構造を示す斜視図である。
【図２】ロボットの機構構成の概略を示す断面図である。
【図３】ロボットの動作状態の一例を示す斜視図である。
【図４】ロボットの動作状態の他の一例を示す斜視図である。
【図５】ロボットにおいて結合される各アームをモデル化して示した図である。
【図６】本発明の実施の形態に係るロボット位置制御装置を示すブロック図である。
【図７】図６に示すロボット位置制御装置における位置制御部の構成を示すブロック図である。
【図８】位置制御部での処理の流れを示すフローチャートである。
【図９】動作量演算の処理の流れを示すフローチャートである。
【図１０】機構誤差補正量の更新処理の流れを示すフローチャートである。
【図１１】被駆動体の位置制御の状態を示す図である。
【符号の説明】
１０、２０、４０  パルスモータ
１１、２１、４１  ギアボックス
１２  メインシャフト
２２、４２  駆動シャフト
２３、２４、２７、２８、４３、４４、４７、２８  プーリー
２５、２９、４５、４９  タイミングベルト
２６、３０、４６、５０  連結シャフト
６１  第一の回転位置検出器
６２  第二の回転位置検出器
６３  第三の回転位置検出器
１００  リフタ機構
１０１  モータ収納体
１１０  基台アーム
１１２  下段アーム
１１４  円筒カバー
１１６  上段アーム
１２０  下段ウエハチャック駆動機構
１２１  下段ウエハチャック
１２２  上段ウエハチャック駆動機構
１２３  上段ウエハチャック
２００  シーケンス制御部
３００  位置制御部
３０１  モータ駆動部
３０２  検出出力変換部
３０３  機構誤差補正量格納部
３１０  演算部
３１１  補正回数設定部
３１２  自動補正範囲設定部
３１３  許容量設定部
３１４  動作量・速度設定部
３１５  補正回数検出部
３１６  補正回数比較部
３１７  消化量検出部
３１８  補正判断部
３１９  演算部
３２０  補正量更新部
【図１】
2004330321.tif 000003
【図２】
2004330321.tif 000004
【図３】
2004330321.tif 000005
【図４】
2004330321.tif 000006
【図５】
2004330321.tif 000007
【図６】
2004330321.tif 000008
【図７】
2004330321.tif 000009
【図８】
2004330321.tif 000010
【図９】
2004330321.tif 000011
【図１０】
2004330321.tif 000012
【図１１】
2004330321.tif 000013