(57)【特許請求の範囲】
【請求項１】
複数のロボットがそれぞれの制御装置によりそれぞれの座標系のもとに駆動制御されるロボットシステムにおいて、空間上の任意の３点を基準とする単位座標系を各ロボットの座標系とは別に独立して設定し、前記３点について各ロボットの先端を位置合わせするとともに各ロボットでそれぞれの座標系により位置を読み取り、先ず前記単位座標系に対する各ロボットの座標系からの座標変換行列を求め、次に前記各座標変換行列を基に各ロボット間のロボット間座標変換行列を求めて前記ロボットシステムに設定するロボット間座標変換行列設定方法。
【請求項２】
複数のロボットがそれぞれの制御装置によりそれぞれの座標系のもとに駆動制御されるロボットシステムにおいて、空間上の任意の３点を基準とする単位座標系を各ロボットの座標系とは別に独立して設定し、前記３点について各ロボットの先端を位置合わせするとともに各ロボットでそれぞれの座標系により位置を読み取り、先ず前記単位座標系に対する各ロボットの座標系からの座標変換行列を求め、次に前記各座標変換行列を基に各ロボット間のロボット間座標変換行列を求め、前記３点以外の前記空間上の任意の２点を含めた５点の位置をそれぞれの座標系により読み取り、前記複数のロボットの内の任意１台の座標系で記述した前記５点の位置座標を、残り他の任意１台のロボットの座標系により記述した位置座標に等しくする行列を前記任意２台のロボット間の補正行列として求めるロボット間座標変換行列の補正方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、産業用ロボットの座標変換方式にかかわり、複数のロボットが共同して作業を行う時の、ロボット間座標変換行列の設定方式および設定されたロボット間座標変換行列の補正方式に関する。
【０００２】
【従来の技術】
近年、多方面においてロボットが活用されているが、ロボット単体の活用の他に、他の動作軸と協調して動作させる活用方法がある。
【０００３】
以下、従来のロボットの協調動作について説明する。従来、ロボットと外部軸とを協調させて動作を行うために、外部軸上にも座標系を設定し、外部軸座標系とロボット座標系との間に変換行列を設定している。この座標変換行列を用いると、外部軸が回転した時にも、外部軸座標系で表した座標系をロボット座標に変換することで、外部軸とロボットとが同じ関係を保ちながら追従することが可能になる。
【０００４】
このような、ロボットと外部軸間との座標変換行列の設定方式については、例えば、特開平６−２５０７１４号公報に開示された手段がある。この手段は、外部軸が所定の軸を中心として回転することを利用し、任意の１点が外部軸の回転につれて移動した位置座標を３カ所についてロボットにより読み取ることで、回転中心を原点とする座標系を設定する手段である。外部軸自身には、予め設定された座標系は存在しないため、ここで設定された座標系をそのまま利用して、協調動作のための座標変換行列を設定することができる。
【０００５】
【発明が解決しようとする課題】
上記従来の座標変換行列設定方式において、ロボットと外部軸との協調の考えを発展させると、２台のロボット間で協調動作を行う方式が考えられる。２台のロボット間で協調動作が可能になると、例えば、２台のロボットがその先端位置の相対関係を保ちながら動作することができる。このような、ロボット間の協調動作を実現するためには、一方のロボット座標系で表示された座標値を、他方のロボットでの座標値に変換することが必要となる。すなわち、一方のロボットの座標系における座標値を、別のロボット座標系における座標値に変換するようなロボット間の座標変換行列を設定しなければならない。
【０００６】
しかし、ロボットはそれぞれそのロボット固有の座標系を有している。したがって、上記の外部軸に対する考えと同じように、一方のロボットを外部軸と見なして動作させ、その点の座標を別なロボットで読み取ることで座標系を設定しても、設定した座標系は、外部軸と見なされたロボット固有の座標系に一致しない。そのため、上記点の座標から求めた座標系をロボット間の座標変換行列として設定しても、ロボット間で位置データを変換することはできない。そのため、複数のロボット座標系間の座標変換行列を簡易に設定する方式が望まれていた。また、ロボット間の変換座標系により協調動作を行う場合には、演算時の位置ずれの影響が大きいので、得られた変換行列を補正し、正確な変換を行なうための手段が望まれていた。
【０００７】
本発明は上記の課題を解決するもので、ロボット座標系間の座標変換行列を容易に求めることができ、また変換誤差を補正できるロボット間座標変換行列設定方式および補正方式を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明のロボット間座標変換行列設定方式は、複数のロボットの先端を位置合わせし、空間上の任意の３点についてそれぞれのロボットの座標系で位置を読み取り、前記３点で決めた別の単位座標系、例えば、前記３点を通る円弧の中心を原点として設定した単位座標系をもとに演算することにより、前記単位座標系に対する各座標系からのそれぞれの座標変換行列を求め、そのそれぞれの座標変換行列からロボット間座標変換行列を求め、前記ロボット間座標変換行列を前記ロボットシステムに設定するロボット間座標変換行列設定方式である。
【０００９】
これにより、ロボット間座標変換行列を容易に設定でき、そのロボット間座標変換行列を用いて複数ロボット間の協調動作を容易に実現することができる。
【００１０】
また、本発明のロボット間座標変換行列の補正方式は、上記方法で求めたロボット間座標変換行列について、前記３点以外の任意の２点を追加した５点の位置をそれぞれの座標系により読み取り、前記複数のロボットの内の任意１台の座標系で記述した前記５点の位置座標を、残り他の任意１台のロボットの座標系により記述した位置座標に等しくする前記任意２台のロボット間座標変換行列の補正行列として求めるロボット間座標変換行列の補正方式である。
【００１１】
これにより、座標変換行列を求める時に発生する誤差を容易に補正でき、精度の高い協調動作を実行させることができる。
【００１２】
【発明の実施の形態】
位置合わせ，位置読み取りは、制御装置により実行される。また、演算処理は前記制御装置におけるマイクロコンピュータのプログラム処理で実行できる。
【００１３】
以下、実施例について説明する。
【００１４】
【実施例】
（実施例１）
以下、請求項１にかかわる本発明のロボット間座標変換行列設定方式の一実施例について図面を参照しながら説明する。
【００１５】
図１は、請求項１にかかわる本発明のロボット間座標変換行列設定方式を適用するロボットシステムの構成例を示す斜視図である。図において、１と２はそれぞれロボット、３はロボット１の動作を制御する制御装置、４はロボット２の動作を制御する制御装置である。なお、ロボットシステムはこの例に限るものではなく、１台の制御装置により２台のロボットが制御可能な場合、例えば、ロボット２も制御装置３により制御される。ロボットが協調して動作する場合には、例えば、ロボット１の先端５の位置および姿勢を変化させた場合に、ロボット２の先端６がロボット１の先端５との相対位置や相対速度を保ちながら動作する。
【００１６】
図２は、ロボット間座標変換行列設定方式におけるロボット操作の一例を示す模式図である。図において、５はロボット１の先端、６はロボット２の先端、Ｐｉ  （ｉ＝１，２，３）は任意の基準位置であり、ロボット１の先端５とロボット２の先端６とを合わせる目標位置である。なお、各基準位置から紙面下方向に描いた線分は、それらの基準位置が空間的な位置であることを示しているに過ぎない。Ｐｃ  は３点のデータに基づいて座標系を決定する場合の原点であり、例えば、前記Ｐｉ  の３点で決まる円弧の中心位置である。また、Ｎｃ  ，Ｔｃ  ，Ｖｃ  はそれぞれ前記座標系の直交する３軸を示す方向ベクトルであり、例えば、Ｎｃ  は前記円弧中心を通り円弧平面に垂直な方向ベクトル、Ｔｃ  は円弧中心Ｐｃ  とＰｉ  を結んだ方向ベクトル、Ｖｃ  はＮｃ  とＴｃ  とに直交する方向ベクトルである。
【００１７】
図３は、本実施例のロボット間座標変換行列設定方式における演算処理を示すフローチャートである。まず、ステップ１において、ロボット１を制御装置３により駆動させて先端５を任意の基準位置Ｐ１  に位置決めし、ステップ２において、ロボット２を制御装置４により駆動させて先端６をロボット１の先端５の位置に誘導し、ステップ３において、基準位置Ｐ１  の位置をそれぞれのロボット座標系で読み取り、ロボット１の座標系での位置をＰＡ１（ＸＡ１，ＹＡ１，ＺＡ１）、ロボット２の座標系での位置をＰＢ１（ＸＢ１，ＹＢ１，ＺＢ１）として記憶させる。以下、ロボット１の座標系での座標データに添字Ａを、またロボット２の座標系での座標データには添字Ｂを付与する。以上の処理により、基準位置Ｐ１  の位置データの採取を完了する。
【００１８】
つぎに、ステップ１に戻って同様の処理により、ロボット１の先端５とロボット２の先端６とを基準位置Ｐ２  に位置決めし、ロボット１の座標系での位置をＰＡ２（ＸＡ２，ＹＡ２，ＺＡ２）、ロボット２の座標系での位置をＰＢ２（ＸＢ２，ＹＢ２，ＺＢ２）として記憶させる。また、ステップ１に戻って同様の処理により、ロボット１の先端５とロボット２の先端６とを基準位置Ｐ３  に位置決めし、ロボット１の座標系での位置をＰＡ３（ＸＡ３，ＹＡ３，ＺＡ３）、ロボット２の座標系での位置をＰＢ３（ＸＢ３，ＹＢ３，ＺＢ３）として記憶させる。
【００１９】
つぎに、ステップ４において、上記３回の操作により求められた基準位置Ｐ１，Ｐ２  ，Ｐ３  のロボット１の座標系での位置データと、ロボット２の座標系での位置データとから、３つの基準位置Ｐ１，Ｐ２，Ｐ３  を円弧上の点と見なした場合の円弧の中心位置をそれぞれの座標系で記述したＰｃＡとＰｃＢ、円弧が与える平面の法線ベクトルＮｃ  をそれぞれの座標系で記述したＮｃＡとＮｃＢ、円弧中心Ｐｃ  と基準位置Ｐ１  とから生成される方向ベクトルＴｃ  をそれぞれの座標系で記述したＴｃＡとＴｃＢ、および前記方向ベクトルＴｃ  にそれぞれ直交する方向ベクトルＶｃ  をそれぞれの座標系で記述したＶｃＡとＶｃＢとを、公知の幾何学演算により求める。
【００２０】
つぎに、ステップ５において、ＰｃＡおよびＰｃＢを原点とし、この原点で直交するベクトルＮｃＡおよびＮｃＢと、ＴｃＡおよびＴｃＢと、ＶｃＡおよびＶｃＢとから、各ロボット座標系で表現される単位座標系を計算し、ロボット１の座標系で記述した単位座標系行列をＡＭＣ、ロボット２の座標系で記述した単位座標系行列を  ＢＭＣ  とする。ここで、単位座標系行列  ＡＭＣ  と  ＢＭＣ  は、それぞれ前記単位座標系に対するロボット１の座標系からの変換行列とロボット２の座標系からの変換行列を与え、前記単位座標系からロボット２の座標系への変換行列は  （ＢＭＣ）−１  になる。したがって、ステップ６において、ロボット１の座標系からロボット２の座標系への変換行列  ＡＭＢ  が、ＡＭＣ・（ＢＭＣ）−１として得られる。以上の操作と演算処理とにより得られた座標変換行列  ＡＭＢ  を用いて、ロボット１から見た位置座標をロボット２から見た位置座標に変換することができ、ロボット間の協調動作を容易に実現することができる。以上の操作はロボットシステムの設定時に１度実施するだけで足りる。
【００２１】
なお、ロボット２からロボット１への変換行列  ＢＭＡ  は、ＢＭＣ・（ＡＭＣ）−１として求められることは言うまでもない。また、本実施例では前記３点を通る円弧の中心を原点とし、円弧平面に対する法線単位ベクトルと基準位置Ｐ１  を通る方向ベクトルとを座標軸方向ベクトルとする単位座標系を設定したが、これに限定されるものでなく、前記３点の位置データに基づいて固定設定したものであれば任意でよいことも言うまでもない。
【００２２】
以下、本発明のロボット間座標変換行列補正方式について説明する。上記ロボット間座標変換行列を設定する時、ロボット１の先端５とロボット２の先端６とを同一基準位置に位置決めする時の位置合わせ不良により人為的な誤差が発生する。
【００２３】
図４は本発明のロボット間座標変換行列補正方式により変換行列を補正する場合のロボット操作を示す模式図である。なお、各基準位置から紙面下方向に描いた線分は、それらの基準位置が空間的な位置であることを示しているに過ぎない。図において、Ｐ１  ，Ｐ２  およびＰ３  は前記ロボット間座標変換行列設定処理において指定された座標系設定時の任意の基準位置、Ｐ４  およびＰ５  は座標変換行列を補正するための補正データを取得する目的で指定された任意の基準位置であり、ロボット１の先端５およびロボット２の先端６を合わせる場合の目標である。
【００２４】
図５は、本発明のロボット間座標変換行列補正方式の操作および処理を示すフローチャートである。まず、ステップ１において、ロボット１を制御装置３により駆動させ、その先端５を座標系設定時に設定した基準位置Ｐ１  〜Ｐ３  以外の任意の基準位置Ｐ４  に位置決めする。ステップ２において、ロボット２を、同様に、制御装置４により駆動させ、その先端６をロボット１の先端５の位置に誘導し、ステップ３において、基準位置Ｐ４  の位置をそれぞれのロボット座標系で読み取り、ロボット１の座標系での位置をＰＡ４（ＸＡ４，ＹＡ４，ＺＡ４）、ロボット２の座標系での位置をＰＢ４（ＸＢ４，ＹＢ４，ＺＢ４）として記憶させる。つぎに、ステップ１に戻って、ロボット１の先端５を制御装置３により駆動させて位置を変更し、新たにＰ１  〜Ｐ４  以外の基準位置Ｐ５  に位置決めし、ステップ２において、ロボット２を駆動して、その先端６をロボット１の先端５の位置に誘導し、ステップ３で基準位置Ｐ５  の位置をそれぞれのロボット座標系で読み取り、ロボット１の座標系での位置をＰＡ５（ＸＡ５，ＹＡ５，ＺＡ５）、ロボット２の座標系での位置をＰＢ５（ＸＢ５，ＹＢ５，ＺＢ５）として記憶させる。
【００２５】
つぎに、ロボット間座標変換行列設定時の基準位置Ｐ１，Ｐ２，Ｐ３  と、今回設定した基準位置Ｐ４  ，Ｐ５  との５点の位置データを用いて以下の演算を行う。まず、ステップ４において、補正対象のロボット間座標変換行列  ＡＭＢ  を用いて、ロボット２の座標系で表した位置座標ＰＢｉ（ｉ＝１〜５）をロボット１での位置座標に変換し、ＰＢＡｉ  （ｉ＝１〜５）とする。つぎに、ステップ５において、位置座標ＰＢＡｉ  とＰＡｉとを、それぞれ４×１行列として４要素目に１を追加して（Ｘ，Ｙ，Ｚ，１）と表し、ＰＢＡｉ’＝（ＸＢＡｉ，ＹＢＡｉ，ＺＢＡｉ，１）  とする。変換行列  ＡＭＢ  に誤差がなければＰＢＡｉ  とＰＡｉとは等しいはずである。逆に、誤差がある場合には、ＰＢＡｉ  とＰＡｉ（ｉ＝１〜５）の値を等しくするような、すなわち、ＰＡｉ’  ＝Ｑ・ＰＢＡｉ’  を満たす４×４行列の補正行列Ｑ
【００２６】
【数１】
0003632278.tif 000002
【００２７】
を求めればよい。ステップ６において、前記補正行列Ｑにおける補正係数ｑ１１〜ｑ３４を、ｉ  ＝１〜５の５点のＰＡｉ’とＰＢＡｉ  の関係から、最小二乗法演算により求める。この処理で得られた補正行列Ｑをロボット間座標変換行列  ＡＭＢ  に乗算し、Ｑ・ＡＭＢとすることで補正した変換誤差のない座標変換行列を求めることができる。
【００２８】
なお、本実施例ではロボットが２台として説明したが、それ以上の複数台であっても適用できることは言うまでもない。
【００２９】
【発明の効果】
以上の説明から明らかなように、本発明のロボット間座標変換行列設定方式は、複数のロボットの先端を位置合わせし、空間上の３点についてそれぞれの座標系で位置を読み取る操作のみで変換行列を演算して求め、ロボットに設定するようにしたことにより、容易に変換行列を得ることができ、協調動作を容易に実現することができる。
【００３０】
また、本発明のロボット間座標変換行列の補正方式は、空間上５点の位置についてそれぞれの座標系で位置を読み取り、上記の方法で求めた変換行列を適用して座標変換した位置が互いに等しくなるように補正行列を求めることにより、変換行列を求めた時の誤差を補正でき、精度よく協調動作をさせることができる。
【図面の簡単な説明】
【図１】複数のロボットを備えたロボットシステムの構成を示す斜視図
【図２】本発明のロボット間座標変換行列設定方式におけるロボット操作の一例を示す模式図
【図３】本実施例のロボット間座標変換行列設定方式における演算処理を示すフローチャート
【図４】本発明のロボット間座標変換補正方式により変換行列を補正する場合のロボット操作を示す模式図
【図５】本発明のロボット間座標変換行列補正方式の補正処理を示すフローチャート
【符号の説明】
１，２  ロボット
３  ロボット１の制御装置
４  ロボット２の制御装置
５  ロボット１の先端
６  ロボット２の先端
【図１】
0003632278.tif 000003
【図２】
0003632278.tif 000004
【図３】
0003632278.tif 000005
【図４】
0003632278.tif 000006
【図５】
0003632278.tif 000007