(57)【要約】      （修正有）【課題】軸数が２軸以上のポジショナとロボットの相対位置姿勢を同じ手順で、同じ教示点数により求めることができるとともに調整作業を簡便にすることができるロボット制御装置を提供する。【解決手段】ロボット制御装置はキャリブレーションのためにポジショナ上の４つの教示点データを記憶する。第１教示点Ｐ１のデータはポジショナ上に位置する基準点の教示点データ、第２教示点Ｐ２及び第３教示点Ｐ３のデータは基準点がポジショナが備える複数軸のうちの第１軸の周りに任意の角度α１，α２に回転して位置したときの教示点データである。第４教示点Ｐ４のデータは基準点が第２軸の周りに角度βに回転して位置したときの教示点データとする。各教示点のデータに基づいて、ロボットとポジショナの相対位置姿勢マトリックスＺｐを演算する。【選択図】図１
2007313593.tif 000002
【特許請求の範囲】
【請求項１】
ロボットとポジショナを制御するロボット制御装置において、
前記ポジショナのキャリブレーションのために４点のポジショナ上の教示点データを記憶する第１記憶手段を備え、
前記４点の教示点データは、前記ポジショナ上に位置する任意の基準点の第１教示点データと、該基準点がポジショナが備える複数軸のうちの第１軸の周りに任意角度にそれぞれ回転して位置したときに教示された第２教示点データ，及び第３教示点データと、前記基準点が前記複数軸のうちの第２軸の周りに任意角度に回転して位置したときに教示された第４教示点データを含み、
前記第１〜第４教示点データに基づいて、前記ロボットと前記ポジショナの相対位置姿勢マトリックスを演算する演算手段を備えたことを特徴とするロボット制御装置。
【請求項２】
前記相対位置姿勢マトリックスを前記ロボットとポジショナの相対位置姿勢変数として記憶する第２記憶手段を備えたことを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記相対位置姿勢変数に基づいて前記ロボットと前記ポジショナを協調制御することを特徴とする請求項２に記載のロボット制御装置。
【請求項４】
前記演算手段は、
前記第１、第２、及び第３教示点データに基づいて前記第１軸の第１中心軸ベクトルを算出する第１演算手段と、
前記第１中心軸ベクトル、第１教示点データ及び第４教示点データに基づいて、前記第２軸の第２中心軸ベクトルを算出する第２演算手段と、
前記第１中心軸ベクトル、前記第２中心軸ベクトル、並びに第１及び２中心軸ベクトルの関連データに基づいて相対位置姿勢マトリックスを演算する第３演算手段を含むことを特徴とする請求項１乃至請求項３のうちいずれか１項に記載のロボット制御装置。
【請求項５】
前記第３演算手段は、
第１軸と第２軸のリンクパラメータに基づいて、第１軸と第２軸がチルト軸か、旋回軸かを判定し、その判定結果に応じて前記相対位置姿勢マトリックスを演算することを特徴とする請求項４に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置に関し、特にロボットとポジショナを制御するロボット制御装置に関する。
【背景技術】
【０００２】
ロボットとポジショナを制御するロボット制御装置では、該ロボットとポジショナ間の協調制御が行われており、この協調制御を精度良く行うために、従来からロボットとポジショナの相対位置関係を求めるためのキャリブレーシヨンが行われている（特許文献１、特許文献２）。
【０００３】
特許文献１では、第１軸と第２軸の２軸を有するポジショナである回転テーブルとロボットの相対位置関係を求めるためのキャリブレーションが行われており、教示点は５点とされている。そして、特許文献１では、第１軸のみを動作させる３点の教示点から、中心点、及び回転中心軸が算出されるとともに第２軸のみを動作させる３点の教示点の教示点から、中心点、及び回転中心軸が算出され、算出されて得られたデータに基づいてロボット座標系と回転テーブル座標系との相対位置関係を示す変換マトリックスが導き出されている。この特許文献１の場合、第１軸と第２軸が直交していない場合、オフセットがある場合にも対応できる。
【０００４】
又、特許文献２では、任意の軸数を有するポジショナとロボットのキャリブレーションが行われており、各軸毎に３点ずつ教示された後、軸毎に中心点、中心軸が算出され、ロボットとポジショナ間の相対位置姿勢のみでなくポジショナの各軸間のオフセット値も算出できるようにされている。
【特許文献１】特開平８−１３７５２８号公報
【特許文献２】特開平８−１２９４０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、特許文献１の場合、２軸ポジショナの場合のみ適応できる５点教示方法であり、２軸を越える軸数を有するポジショナとロボットの相対位置関係を求めることはできない問題がある。
【０００６】
又、特許文献２では、各軸毎に３点ずつ教示することが行われることから、ポジショナの軸数が増えるとそれに応じて教示作業が増えるとともに該教示作業に必要な手順も軸数分生じる問題がある。
本発明の目的はポジショナの各軸同士が直交しており、かつ軸間のオフセット寸法等が予め判明しているものであれば、軸数が２軸のみならず、軸数が３軸以上のポジショナであっても、該ポジショナとロボットの相対位置姿勢を同じ手順で、同じ教示点数（すなわち４点の教示点数）により求めることができるとともに調整作業を簡便にすることができるロボット制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記問題点を解決するために、請求項１に記載の発明は、ロボットとポジショナを制御するロボット制御装置において、前記ポジショナのキャリブレーションのために４点のポジショナ上の教示点データを記憶する第１記憶手段を備え、前記４点の教示点データは、前記ポジショナ上に位置する任意の基準点の第１教示点データと、該基準点がポジショナが備える複数軸のうちの第１軸の周りに任意角度にそれぞれ回転して位置したときに教示された第２教示点データ，及び第３教示点データと、前記基準点が前記複数軸のうちの第２軸の周りに任意角度に回転して位置したときに教示された第４教示点データを含み、前記第１〜第４教示点データに基づいて、前記ロボットと前記ポジショナの相対位置姿勢マトリックスを演算する演算手段を備えたことを特徴とするロボット制御装置を要旨とするものである。
【０００８】
請求項１の発明によれば、第１記憶手段が記憶するポジショナのキャリブレーションのためのポジショナ上の教示点データの数は、ポジショナの軸数が２軸、或いは３軸以上であっても、４点だけで良くなる。そして、ポジショナとロボットの相対位置姿勢が同じ手順で、同じ教示点数（すなわち４点の教示点数）により求められるため、ポジショナの調整作業が簡便に行われる。
【０００９】
請求項２の発明は、請求項１において、前記相対位置姿勢マトリックスを前記ロボットとポジショナの相対位置姿勢変数として記憶する第２記憶手段を備えたことを特徴とする。
【００１０】
請求項２の発明によれば、ロボットとポジショナの相対位置姿勢変数をロボットとポジショナの協調制御に利用できる。
請求項３の発明は、請求項２において、前記相対位置姿勢変数に基づいて前記ロボットと前記ポジショナを協調制御することを特徴とする。
【００１１】
請求項３の発明によれば、ロボットとポジショナの相対位置姿勢変数に基づいてロボットとポジショナの協調制御を行うことができる。
請求項４の発明、請求項１乃至請求項３のうちいずれか１項において、前記演算手段は、前記第１、第２及び第３教示点データに基づいて前記第１軸の第１中心軸ベクトルを算出する第１演算手段と、前記第１中心軸ベクトル、第１教示点データ及び第４教示点データに基づいて、前記第２軸の第２中心軸ベクトルを算出する第２演算手段と、前記第１中心軸ベクトル、前記第２中心軸ベクトル、並びに第１及び２中心軸ベクトルの関連データに基づいて相対位置姿勢マトリックスを演算する第３演算手段を含むことを特徴とする。
【００１２】
請求項４の発明によれば、第１、第２及び第３演算手段の各演算により相対位置姿勢マトリックスが算出される。
請求項５の発明は、請求項４において、前記第３演算手段は、第１軸と第２軸のリンクパラメータに基づいて、第１軸と第２軸がチルト軸か旋回軸かを判定し、その判定結果に応じて前記相対位置姿勢マトリックスを演算することを特徴とする。
【００１３】
請求項５の発明によれば、第１軸と第２軸のリンクパラメータに基づいて第１軸と第２軸がチルト軸か旋回軸かが判定されることにより、その判定結果に応じた相対位置姿勢マトリックスを得ることができる。
【発明の効果】
【００１４】
以上詳述したように、請求項１乃至請求項５の発明によれば、軸数が２軸のみならず、軸数が３軸以上のポジショナであっても、該ポジショナとロボットの相対位置姿勢を同じ手順で、同じ教示点数（すなわち４点の教示点数）により求めることができるとともに調整作業を簡便にすることができる効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を具体化した一実施形態を図１〜８を参照して説明する。図１（ａ）、（ｂ）は産業用ロボットとポジショナの概略平面図と概略正面図であり、図２（ａ）は産業用ロボットとポジショナのシステムの概略ブロック図である。
【００１６】
システムは図２に示すようにロボット１０（産業用ロボット）、ポジショナ２０、前記ロボット１０とポジショナ２０を協調制御するロボット制御装置３０、及び教示に用いるティーチングペンダント４０から構成されている。
【００１７】
ロボット１０は複数のアームを備えて図示しない機構部を介して駆動される。本実施形態のロボット１０は６自由度を有するが、６自由度に限定されるものではなく６自由度以外の複数の自由度を有していてもよい。ロボット１０の先端アームの先端にはツール１１が取付けられている。図２（ｂ）に示すようにポジショナ２０は回転テーブル２１を旋回する旋回軸２２と、該回転テーブル２１を傾けするとともに旋回軸２２に対して直交して配置されたチルト軸２３が設けられている。
【００１８】
ロボット制御装置３０にはメインＣＰＵ３１（すなわち、中央演算処理装置）、ＲＡＭ及びＲＯＭからなるメモリ３２を備えているとともに運動の教示や、座標設定を行うためのティーチングペンダント４０が接続されている。メインＣＰＵ３１は演算手段、第１演算手段、第２演算手段及び第３演算手段に相当する。ここでメモリ３２、すなわち、ＲＡＭは第１記憶手段及び第２記憶手段に相当する。ティーチングペンダント４０によりロボット１０とポジショナ２０の動作が可能となっている。又、ロボット制御装置３０は、ロボット１０の各アーム間に設けられている軸を制御するサーボ制御部や、ポジショナ２０の前記各軸を制御するサーボ制御部（いずれも図示しない）を有する。前記各サーボ制御部は、ロボット１０、ポジショナ２０の各軸を駆動するサーボモータをアンプ（いずれも図示しない）を介して制御する。
【００１９】
以上のように構成された産業用ロボットとポジショナのシステムにおいて、ポジショナとロボットの相対位置関係を求めるためのキャリブレーションの仕方について説明する。図３はキャリブレーションを行う場合の手順の流れを示している。
【００２０】
（Ｓ１００）
Ｓ１００では、キャリブレーションのために教示点を教示するための手動運転処理を行う。この処理はロボット１０とポジショナ２０の各軸を別々に動かして行う。具体的には、まずポジショナ２０において該回転テーブル２１上の任意の点を基準点とする。この場合、該回転テーブル２１上のマーキングした部位を基準点としたり、該回転テーブル２１上に教示補助具を取付けして該教示補助具の特定箇所を基準点としたり、或いは回転テーブル２１の特徴点を基準点としてもよい。
【００２１】
この基準点を定めた後、ティーチングペンダント４０の手動操作によりロボット１０の制御点ＴＣＰを基準点に接触させ、このときの基準点の位置を第１教示点Ｐ１とし、ロボット制御装置３０に教示する（図４（ａ）のＳ１１０参照）。なお、図４（ａ）はＳ１００の教示手順のフローチャートである。なお、制御点ＴＣＰはロボット１０のツール１１の先端位置のことである。なお、旋回軸２２及びチルト軸２３のうちいずれか一方を第１軸とするとともに他方を第２軸とし、このときの第１軸の角度をθ１とするとともに第２軸の角度をθ２とする。この第１教示点Ｐ１の位置を図４（ａ）、図５では説明の便宜上、Ｐ１（θ１，θ２）として表す。
【００２２】
この第１教示点Ｐ１の教示によりロボット制御装置３０のメインＣＰＵ３１はロボット機械座標ΣＲで表された第１教示点Ｐ１の座標値（ｘ１，ｙ１，ｚ１）を得る。ロボット機械座標ΣＲで表された第１教示点Ｐ１の座標値が第１教示点データに相当する。
【００２３】
又、さらに、ティーチングペンダント４０の手動操作によりポジショナ２０の第１軸を任意の角度−α１，＋α２（なお、α１＞０、α２＞０）動かす。さらにティーチングペンダント４０の手動操作によりロボット１０の制御点ＴＣＰを、角度−α１動かした後の基準点、及び角度＋α２動かした後の基準点にそれぞれ接触させ、このときの基準点の位置を第２教示点Ｐ２、第３教示点Ｐ３としてロボット制御装置３０に教示する（図４（ａ）のＳ１２０参照）。なお、角度α１とα２は同じ値であっても良く、異なる値であっても良い。
【００２４】
このときの角度−α１動かした後の基準点、及び角度＋α２動かした後の基準点の位置をそれぞれ第２教示点Ｐ２及び第３教示点Ｐ３とし、説明の便宜上、図４（ａ）、図５では第２教示点Ｐ２の位置をＰ２（θ１−α１，θ２）とし、第３教示点Ｐ３の位置をＰ３（θ１＋α２，θ２）として表す。
【００２５】
この第２教示点Ｐ２、及び第３教示点Ｐ３の教示によりロボット制御装置３０のメインＣＰＵ３１はロボット機械座標ΣＲで表された第２教示点Ｐ２の座標値（ｘ２，ｙ２，ｚ２）及び第３教示点Ｐ３の座標値（ｘ３，ｙ３，ｚ３）を得る。ロボット機械座標ΣＲで表された第２教示点Ｐ２の座標値及び第３教示点Ｐ３の座標値がそれぞれ第２教示点データ及び第３教示点データに相当する。
【００２６】
この３点は共通の基準点を第１軸の周りで角度−α１，＋α２で回転させたときに得られた点であるため、第１軸を中心軸とした円弧上に存在することになる。この結果、後述する演算によって第１軸に関する円弧中心点及び第１中心軸ベクトルＫｒ１が得られる。
【００２７】
次に、ティーチングペンダント４０の手動操作により、ポジショナ２０の第２軸を任意の角度β動かし、移動された前記基準点に接触させてこのときの基準点の位置を第４教示点Ｐ４として教示する（図４（ａ）のＳ１３０参照）。このときの第４教示点Ｐ４の位置を説明の便宜上、Ｐ４（θ１，θ２＋β）として表す。この第４教示点Ｐ４の教示によりロボット制御装置３０のメインＣＰＵ３１はロボット機械座標ΣＲで表された第４教示点Ｐ４の座標値（ｘ４，ｙ４，ｚ４）を得る。ロボット機械座標ΣＲで表された第４教示点Ｐ４の座標値が第４教示点データに相当する。
【００２８】
（Ｓ２００）
Ｓ２００では、Ｓ１００において、教示された第１〜第４教示点のプログラムを教示するプログラム編集処理が、ロボット制御装置３０のメインＣＰＵ３１により実行される。すなわち、メインＣＰＵ３１はキャリブレーションのための教示点への移動命令を含むプログラムを作成する。
【００２９】
（Ｓ３００）
Ｓ３００では、メインＣＰＵ３１はＳ２００で作成した機械間マスタリング用教示プログラムをメモリ３２のＲＡＭに格納する。従って、第１教示点データ〜第４教示点データは、ＲＡＭに格納される。
【００３０】
（Ｓ４００）
Ｓ４００では、メインＣＰＵ３１はキャリブレーションのための教示点データ（すなわち、第１教示点データ〜第４教示点データ）を前記機械間マスタリング用教示プログラムから取り出し、ロボット１０とポジショナ２０の相対位置姿勢マトリックスＺｐを算出する。メインＣＰＵ３１は相対位置姿勢マトリックスＺｐを算出すると、該相対位置姿勢マトリックスＺｐをロボットとポジショナ２０の相対位置姿勢変数としてメモリ３２のＲＡＭに記憶する機械間マスタリング処理を行う。
【００３１】
以下、図４（ｂ）の相対位置姿勢マトリックスＺｐの算出フローチャートを参照して相対位置姿勢マトリックスＺｐの算出の仕方について説明する。
（Ｓ４１０）
まず、Ｓ４１０では、第１教示点Ｐ１，第２教示点Ｐ２，第３教示点Ｐ３の３点のロボット機械座標ΣＲの座標値に基づいて円弧中心点Ｐｃ、及び第１中心軸ベクトルＫｒ１を算出する。円弧中心点Ｐｃの座標値はロボット機械座標ΣＲで表される座標値である。又、第１中心軸ベクトルＫｒ１は、第１軸の向かう方向を示すためのものであり、第１教示点Ｐ１，第２教示点Ｐ２，第３教示点Ｐ３が含まれる平面に対し垂直な方向（すなわち、正方向回転に対して右ねじの進む方向）を向く単位ベクトルである。図５においては第１中心軸ベクトルＫｒ１は上向きである。なお、この向きは、例えばベクトルＰ２Ｐ１とベクトルＰ１Ｐ３の外積ベクトルの方向として求めることができる。
【００３２】
（Ｓ４２０）
Ｓ４２０では、円弧中心点Ｐｃ、第１中心軸ベクトルＫｒ１、第１教示点Ｐ１、第４教示点Ｐ４から第２軸の第２中心軸ベクトルＫｒ２、及び第１中心軸ベクトルＫｒ１と第２中心軸ベクトルＫｒ２の最接近点Ｑ０を算出する。なお、第２中心軸ベクトルＫｒ２は単位ベクトルである。
【００３３】
具体的には、下記の条件が成立していることを前提として第２中心軸ベクトルＫｒ２と最接近点Ｑ０が算出される。
（条件１）  第１中心軸ベクトルＫｒ１と第２中心軸ベクトルＫｒ２のオフセットがＬである。
【００３４】
（条件２）  第１教示点Ｐ１と第４教示点Ｐ４は第２軸の第２中心軸ベクトルＫｒ２から等距離にある。
（条件３）  第１中心軸ベクトルＫｒ１と第２中心軸ベクトルＫｒ２は直交している。
【００３５】
これらの３条件からメインＣＰＵ３１はまず点Ｑと第２軸の第２中心軸ベクトルＫｒ２を算出する。点Ｑは第２中心軸ベクトルＫｒ２が通過する点であって、角度∠Ｐ１ＱＰ４が角度βとなる位置である。
【００３６】
ここで、オフセットＬが０である場合は、点Ｑは１つしかなく、従って、第２中心軸ベクトルＫｒ２も１つしかない。
しかし、オフセットＬが０でない場合、図６に示すように点Ｑと点Ｑ’の２の解が得られる。しかし、教示点データから角度∠Ｐ１ＱＰ４がβであることが分かっているため、角度∠Ｐ１ＱＰ４、角度∠Ｐ１Ｑ’Ｐ４のうち、βに一致する方を点Ｑ（或いは点Ｑ’）の解とする。この点Ｑ（或いは点Ｑ’）の解が算出されると、第２中心軸ベクトルＫｒ２も算出される。この場合、第２中心軸ベクトルＫｒ２の向きはβが正の場合、第２中心軸ベクトルＫｒ２の軸回りに第１教示点Ｐ１から第４教示点Ｐ４の方向に回したとき右ねじの進む向きになるようにする。又、第２中心軸ベクトルＫｒ２の向きは、角度βが負の場合は、前記右ねじの進む向きとは逆向きになるようにする。
【００３７】
点Ｑ（或いは点Ｑ’）と第２中心軸ベクトルＫｒ２が決定された後、メインＣＰＵ３１は、第１中心軸ベクトルＫｒ１を通過する第１軸側の最接近点Ｑ０（ｘ０，ｙ０，ｚ０）（或いはＱ０’）を算出する。なお、図６中、Ｑ１は第２中心軸ベクトルＫｒ２上における第１中心軸ベクトルＫｒ１との最接近点である。
【００３８】
又、図６に示すＱ０’及びＱ１’は、点Ｑ’が解の場合において、第２中心軸ベクトルＫｒ２’が求められた場合、第１中心軸ベクトルＫｒ１と第２中心軸ベクトルＫｒ２’との関係におけるＱ０及びＱ１に相当する最接近点である。
【００３９】
なお、オフセットＬが０の場合、最接近点Ｑ０（或いはＱ０’）とは、第１中心軸ベクトルＫｒ１と第２中心軸ベクトルＫｒ２（或いは第２中心軸ベクトルＫｒ２’）の交点を意味する。
【００４０】
ここで、前記第１中心軸ベクトルＫｒ１と、第２中心軸ベクトルＫｒ２との最接近点Ｑ０（或いはＱ０’）は第１中心軸ベクトル及び第２中心軸ベクトルの関連データに相当する。
【００４１】
なお、以下の説明では、説明の便宜上、第２中心軸ベクトルＫｒ２が求められた解であるとして説明する。
（Ｓ４３０）
Ｓ４３０では、メインＣＰＵ３１は第２中心軸ベクトルＫｒ２を第１中心軸ベクトルＫｒ１回りに−θ１だけ回転したものをベクトルＫｓとする。ベクトルＫｓは単位ベクトルである。
【００４２】
Ｋｓ＝Ｒｏｔ（ＫＲ１、−θ１）Ｋｒ２      …（１）
なお、Ｒｏｔは回転行列を表しており、第１中心軸ベクトルＫｒ１の回りで−θ１回転させたことを意味している。ここで、第２中心軸ベクトルを第１中心軸ベクトルの周りで回転させて得られるベクトルＫｓは第１中心軸ベクトル及び第２中心軸ベクトルの関連データに相当する。
【００４３】
（Ｓ４４０）
次に、Ｓ４４０でメインＣＰＵ３１は第１軸がチルト軸で、第２軸が旋回軸か否かを、予めメモリ３２に格納されているポジショナ２０のリンクパラメータに基づいて判定する。Ｓ４４０の判定が「ＹＥＳ」であれば、Ｓ４５０に移行する。又、Ｓ４４０の判定が「ＮＯ」であれば、Ｓ４６０に移行する。
【００４４】
（Ｓ４５０）
Ｓ４５０は、図７に示すように第１軸がチルト軸で、第２軸が旋回軸の場合の処理である。メインＣＰＵ３１は、ベクトルｎ，ｏ，ａを、ｎ＝Ｋｒ１，ｏ＝Ｋｓ、ｏ＝ａ×ｎとすれば、ポジショナ２０の相対位置姿勢マトリックスＺｐは、
［ｎ、ｏ、ａ、Ｑ０］      ……（２）
となる。なお、ａ×ｎの「×」はベクトルの外積を表す。Ｓ４５０の相対位置姿勢マトリックスＺｐの算出が終了すると、このフローチャートを抜け出る。
【００４５】
（Ｓ４６０）
Ｓ４６０では、メインＣＰＵ３１は第１軸が旋回軸で、第２軸がチルトか否かを、予めメモリ３２に格納されているポジショナ２０のリンクパラメータに基づいて判定する。Ｓ４６０の判定が「ＹＥＳ」であれば、Ｓ４７０に移行する。又、Ｓ４６０の判定が「ＮＯ」であれば、このフローチャートを抜け出る。
【００４６】
（Ｓ４７０）
Ｓ４７０では、図９に示すように第１軸が旋回軸で、第２軸がチルト軸の場合の処理である。メインＣＰＵ３１はベクトルｎ，ｏ，ａを、ｎ＝Ｋｓ，ｏ＝Ｋｒ１、ｏ＝ａ×ｎとすれば、ポジショナ２０の相対位置姿勢マトリックスＺｐは、
［ｎ、ｏ、ａ、Ｑ０］      ……（３）
となる。Ｓ４７０の相対位置姿勢マトリックスＺｐの算出が終了すると、このフローチャートを抜け出る。
【００４７】
（Ｓ５００）
Ｓ５００では、メインＣＰＵ３１は、相対位置姿勢マトリックスＺｐを出力して協調動作に備える。
【００４８】
（Ｓ６００）
Ｓ６００では、ティーチングペンダント４０を介してロボット１０及びポジショナ２０の手動運転を行う。
【００４９】
（Ｓ７００）
この手動運転において、前記相対位置姿勢マトリックスＺｐが使用されることにより、Ｓ７００ではロボット１０とポジショナ２０の協調動作（協調手動運転処理）がメインＣＰＵ３１により行われる。
【００５０】
ここで、ポジショナ２０の相対位置姿勢マトリックスＺｐと他の座標に関する位置姿勢マトリックスの関係を図８を参照して説明する。
ポジショナ２０の相対位置姿勢マトリックスＺｐが決定されると、ポジショナ２０に固定されたワーク座標ΣＷでの位置姿勢マトリックスｗＸｔとロボット１０のロボット機械座標ΣＲでのツール座標ΣＴの位置姿勢マトリックスｒＸｔの間には次式が成立する。
【００５１】
ｒＸｔ＝Ｚｐ・Ｘｐ・ｗＸｔ      ……（４）
ただし、Ｘｐはポジショナ２０の機械座標ΣＰから見たワーク座標ΣＷの位置姿勢マトリックスであり、ポジショナ２０の各軸関節値とポジショナ２０の寸法で決定されるものである。式（４）よりポジショナ２０の各軸値とワーク座標ΣＷ上でのツールの位置姿勢が与えられると（式（４）でＸｐとｗＸｔ）、ロボット１０の位置姿勢マトリックスｒＸｔが求まり、これを逆変換することにより、ロボット１０の各軸値がメインＣＰＵ３１により算出される。
【００５２】
従って、ポジショナ２０を手動運転により動かすと、前記ロボット１０の各軸値の算出結果に基づきメインＣＰＵ３１は、ワーク座標上の教示された直線或いは円弧に沿ったツール先端の協調動作を実現する。
【００５３】
さて、本実施形態によれば、以下のような特徴がある。
（１）  本実施形態では、ロボット制御装置３０はポジショナ２０のキャリブレーションのためにポジショナ２０上の第１教示点Ｐ１〜第４教示点Ｐ４の４つの教示点データを記憶する第１記憶手段としてのメモリ３２を備えるようにした。そして、第１教示点Ｐ１の教示点データは、ポジショナ２０上に位置する任意の基準点の教示点データとした。又、第２教示点Ｐ２及び第３教示点Ｐ３の教示点データは、該基準点がポジショナ２０が備える複数軸のうちの第１軸の周りに任意の角度α１，α２にそれぞれ回転して位置したときに教示された教示点データとした。又、第４教示点Ｐ４の教示点データは前記基準点が第２軸の周りに任意角度である角度βに回転して位置したときに教示された教示点データとした。そして、メインＣＰＵ３１は演算手段として、第１〜第４教示点の教示データに基づいて、ロボット１０とポジショナ２０の相対位置姿勢マトリックスＺｐを演算するようにした。
【００５４】
このように構成されているため、軸数が２軸のポジショナ２０で、ポジショナ２０とロボット制御装置３０の相対位置姿勢を同じ手順で、同じ教示点数（すなわち４点の教示点数）により求めることができるとともに調整作業を簡便にすることができる。
【００５５】
（２）  本実施形態のロボット制御装置３０では、相対位置姿勢マトリックスＺｐをロボット制御装置３０とポジショナ２０の相対位置姿勢変数として記憶する第２記憶手段を備えるようにした。この結果、ロボット制御装置３０とポジショナ２０の相対位置姿勢変数をロボット制御装置３０とポジショナ２０の協調制御に利用できる効果を奏する。
【００５６】
（３）  本実施形態のロボット制御装置３０では、相対位置姿勢変数に基づいて前記ロボットと前記ポジショナを協調制御するようにした。この結果、ロボット制御装置３０とポジショナ２０の相対位置姿勢変数に基づいてロボット制御装置３０とポジショナ２０の協調制御を行うことができる。
【００５７】
（４）  本実施形態のロボット制御装置３０では、メインＣＰＵ３１は第１〜３教示点Ｐ１〜Ｐ３の教示データに基づいて第１軸の第１中心軸ベクトルＫｒ１を算出する第１演算手段としている。又、メインＣＰＵ３１は第１中心軸ベクトルＫｒ１、第１教示点Ｐ１の教示データ及び第４教示点Ｐ４の教示データに基づいて、第２軸の第２中心軸ベクトルＫｒ２を算出する第２演算手段としている。さらに、メインＣＰＵ３１は第１中心軸ベクトルＫｒ１、第２中心軸ベクトル、並びに第１及び第２中心軸ベクトルの関連データに基づいて相対位置姿勢マトリックスＺｐを演算する第３演算手段とした。この結果、メインＣＰＵ３１である第１〜第３演算手段の各演算により相対位置姿勢マトリックスＺｐを算出することができ、上記（１）の効果を容易に実現できる。
【００５８】
（５）  本実施形態のロボット制御装置３０では、メインＣＰＵ３１は、第３演算手段として、第１軸と第２軸のリンクパラメータに基づいて、第１軸と第２軸がチルト軸か、旋回軸かを判定し、その判定結果に応じて相対位置姿勢マトリックスＺｐを演算するようにした。この結果、第１軸と第２軸のリンクパラメータに基づいて第１軸と第２軸がチルト軸か旋回軸かが判定されることにより、その判定結果に応じた相対位置姿勢マトリックスＺｐを得ることができる。
【００５９】
（６）  又、本実施形態によれば、ロボット制御装置３０は第１軸と第２軸がチルト軸か旋回軸かに拘わらず、同じ手順の４点教示で４つの教示点データを得ることによって相対位置姿勢マトリックスＺｐを得ることができる。又、同じ手順の４点教示で機械間マスタリングが行える効果がある。
【００６０】
なお、本発明の実施形態は以下のように変更してもよい。
○  前記実施形態では、２軸のポジショナ２０とロボット１０のロボット制御装置３０に具体化したが、ポジショナの各軸同士が直交しており、かつ軸間のオフセット寸法等が予め判明しているものであれば、３軸以上を有するポジショナとロボットを協調制御するロボット制御装置に具体化してもよい。この場合、上記実施形態と同様に第１軸と第２軸について、第１教示点Ｐ１〜第４教示点Ｐ４の教示点データを得る。このとき、第３軸以上の軸については固定した状態とし、すなわち、動かさないものとする。このようにしても、第１軸と第２軸とが、それぞれチルト軸と旋回軸の場合には、第１実施形態と同様に、式（２）の相対位置姿勢マトリックスを得ることができる。又、第１軸が旋回軸で、第２軸がチルト軸の場合には、第１実施形態と同様に式（３）の相対位置姿勢マトリックスを得ることができる。
【００６１】
このようにポジショナの軸数が３軸以上の複数軸であっても、ポジショナとロボットの相対位置姿勢を同じ手順で、同じ教示点数（すなわち４点の教示点数）により求めることができるとともに調整作業を簡便にすることができる効果を奏する。
【図面の簡単な説明】
【００６２】
【図１】（ａ）、（ｂ）は産業用ロボットとポジショナの概略平面図と概略正面図。
【図２】（ａ）はシステムの概略ブロック図、（ｂ）はポジショナ２０が有する軸の概略配置図。
【図３】キャリブレーションを行う場合の手順の流れを子示すフローチャート。
【図４】（ａ）は教示点の教示のフローチャート、（ｂ）は相対位置姿勢マトリックスＺｐの算出フローチャート。
【図５】第１中心軸ベクトルＫｒ１の説明図。
【図６】第１中心軸ベクトルＫｒ１と第２中心軸ベクトルＫｒ２の相関関係を示す説明図。
【図７】同じく第１中心軸ベクトルＫｒ１と第２中心軸ベクトルＫｒ２の相関関係を示す説明図。
【図８】ロボット機械座標ΣＲ、ポジショナ機械座標ΣＰ、ワーク座標ΣＷ及びツール座標ΣＴの関係を示す説明図。
【図９】同じく第１中心軸ベクトルＫｒ１と第２中心軸ベクトルＫｒ２の相関関係を示す説明図。
【符号の説明】
【００６３】
１０…ロボット、２０…ポジショナ、２２…旋回軸、２３…チルト軸、
３０…ロボット制御装置、
３１…メインＣＰＵ３１（演算手段、第１〜第３演算手段）
３２…メモリ（第１記憶手段、第２記憶手段）
Ｚｐ…相対位置姿勢マトリックス、Ｋｒ１…第１中心軸ベクトル
Ｋｒ２…第２中心軸ベクトル。
【図１】
2007313593.tif 000003
【図２】
2007313593.tif 000004
【図３】
2007313593.tif 000005
【図４】
2007313593.tif 000006
【図５】
2007313593.tif 000007
【図６】
2007313593.tif 000008
【図７】
2007313593.tif 000009
【図８】
2007313593.tif 000010
【図９】
2007313593.tif 000011