(57)【要約】【課題】２台のロボットが移動しながらワークの受け渡しを行う場合、サイクルタイムの増加を防止し、しかも、相手側のロボットとの間でのワークの受け渡し時にハンド部分に過度の負荷がかかることを防止する。【解決手段】ロボットの動作開始位置と動作終了位置の２位置を教示すると、その２位置間の動作を、一つの平面内での第１のベクトル成分と、前記一つの平面と直交する特定方向の第２のベクトル成分とに分け、第１のベクトル成分方向への移動途中でタイミング良く第２のベクトル成分方向へ移動して動作終了位置に至るので、２台の多関節型ロボットが移動しながらワークの受け渡しを行う場合、それぞれの多関節型ロボットが互いに同速度で移動しながら、ワークを受け渡す動作をタイミング良く行うことができる。【選択図】図１
2009012132.tif 000002
【特許請求の範囲】
【請求項１】
多関節を有したロボットにおいて、
ロボット先端の動作を、一つの平面内での第１のベクトル成分と、前記一つの平面と直交する特定方向の第２のベクトル成分とに分けるベクトル分離手段と、
前記ベクトル分離手段により分けられた前記第１のベクトル成分方向と前記第２のベクトル成分方向の動作タイミングを設定する動作開始タイミング設定手段と
を備えてなる多関節型ロボット。
【請求項２】
多関節を有したロボットにおいて、
ロボット先端の動作を、一つの平面内での第１のベクトル成分と、前記一つの平面と直交する特定方向の第２のベクトル成分とに分けるベクトル分離手段と、
ロボット先端が、前記第１のベクトル成分方向上の第１の所定位置を経て次の第２の所定位置まで等速度で移動するように当該第１のベクトル成分方向への移動を制御する第１の移動制御手段と、
前記ロボット先端が前記第１の所定位置に到達したとき、他の多関節型ロボットに動作を開始させる動作開始指令手段と、
前記ロボット先端が前記第２の所定位置に到達したとき、当該ロボット先端が前記第２のベクトル成分方向への移動を開始させて当該第２のベクトル成分方向への移動を制御する第２の移動制御手段と
を具備し、前記ロボット先端が前記他の多関節型ロボットのロボット先端と所定の関係で移動するようにしてなる多関節型ロボット。
【請求項３】
多関節を有したロボットにおいて、
ロボット先端の動作を、一つの平面内の第１のベクトル成分と、前記一つの平面と直交する特定方向の第２のベクトル成分とに分けるベクトル分離手段と、
他の多関節型ロボットのロボット先端が前記一つの平面と平行の他の平面内における所定位置に到達したことを検知したとき、前記ロボット先端の前記第１のベクトル成分方向への移動を開始させて当該第１のベクトル成分方向への移動を制御する第１の移動制御手段と、
前記ロボット先端が前記第１のベクトル成分方向上での所定位置に到達したとき、前記ロボット先端に前記第２のベクトル成分方向への移動を開始させて当該第２のベクトル成分方向への移動を制御する第２の移動制御手段と
を具備し、前記ロボット先端が前記一つの平面内での移動を開始してから前記他の平面に到達するまでに、前記ロボット先端の前記第１のベクトル成分方向の速度が前記他の多関節型ロボットの前記ロボット先端と同速度となるようにしてなる多関節型ロボット。
【請求項４】
２台の多関節型ロボットと、
前記２台の多関節型ロボットの間で互いの位置を通知するための通信手段とを備え、
前記２台の多関節型ロボットのうち、一方の多関節型ロボットが保持したワークを、他方の多関節型ロボットに渡す方法において、
前記ワークを保持した前記一方の多関節型ロボットは、
ロボット先端が一平面内で第１の所定位置から次の第２の所定位置まで等速度で移動し、その移動の際に前記第１の所定位置に到達した時点で前記通信手段により当該第１の所定位置に到達したことを前記他方の多関節型ロボットに通知し、
前記ロボット先端が前記第２の所定位置まで移動した時点で前記ワークの保持を解いて前記一平面と直交する特定方向への移動を開始し、
前記ワークを渡される前記他方の多関節型ロボットは、
前記通信手段により前記一方の多関節型ロボットが前記所定位置に到達したことを通知された時点で、前記一方の多関節型ロボットのロボット先端が移動する前記一平面と平行する他の平面内において前記一方の多関節型ロボットの前記ロボット先端の移動方向と同方向への移動を開始し、この移動により前記ロボット先端が前記他の平面内における所定位置に到達したとき、前記他の平面と直交する特定方向であって前記一方の多関節型ロボットの前記ロボット先端が移動する前記一平面へ向う方向への移動を開始し、前記ロボット先端が前記一平面に到達し且つ前記一方の多関節型ロボットの前記ロボット先端の移動速度と同速度で移動し始めた時点から前記一方の多関節型ロボットの前記ロボット先願が前記次の第２の所定位置に到達するまでの間に前記ワークを保持する
ことを特徴とするワーク受け渡し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一つの動作を一平面内での移動とこの一平面と直交する方向への移動に分けて行う多関節型ロボットおよび２台の多関節型ロボット間でのワークの受け渡し方法に関するものである。
【背景技術】
【０００２】
多関節型ロボットは、複数の関節を有し、この関節の動きを組み合わせて所望の動作を実現するようになっている。この多関節型ロボットでは、予め与えられた複数の教示点上を通過するように制御されるが、教示点間を移動する際には、台形速度パターンによって各関節の制御が行われる。即ち、各関節には、夫々の関節を駆動するサーボモータの特性によって最大速度と最大加速度とが予め設定されている。そして、２つの教示点間を移動する際には、始点の教示点から最大加速度で加速し、最大速度に達すると、その速度で等速度の移動を行い、減速開始時間になると、最大加速度で減速することによって終点の教示点への移動を完了する。
【０００３】
各関節の速度パターンは、上述のように生成されるばかりでなく、教示点間を滑らかに結んだ経路をロボットが移動するように制御するために、通常は、各関節は、同時に動作を開始し、同時に動作を終了するように制御される。このような制御が可能となるように、最初に、各関節の最大速度と最大加速度とに基づいて各関節の速度パターンが個別に設定され、その後、全ての関節が同時に動作を開始して同時に終了し、同時に加速を開始して同時に減速を終了するように、各関節の速度と加速度とが再設定される。このように設定された速度と加速度で各を制御する方式を、以下では、同期制御と称する。
【０００４】
上記同期制御の他に、非同期制御も行うことができるようにしたロボットがある（例えば、特許文献１）。つまり、ロボットに適切な動作経路を描かせたい場合には、同期制御は大変有効であるが、最大加速度で加減速しない軸が存在することとなるため、教示点間を高速で移動させたい場合には、各関節のサーボモータの性能を十分に発揮させることができず、時間的ロスを発生する。このため、特許文献１は、教示点間を高速で移動させたい場合に、全関節を独立に制御して高速化を図ることができるようにしている。
【０００５】
一方、特許文献２には、同期制御ではない別の制御方式によって駆動源の能力を最大限に利用できるようにすることが記載されている。これは、予め定められた速度パターンに基づき、サンプリング時間が経過する毎に、サンプリング経過時点から次のサンプリング時間経過後における各関節の位置を演算し、前記次のサンプリング時間経過後の位置を仮位置として当該仮位置に動作させるに必要な駆動トルクを演算し、前記演算された駆動トルクが限界値以下の場合には、前記仮位置を指令位置として前記各関節が所定の単位制御時間で前記指令位置に移動するように前記各関節を制御し、前記演算された駆動トルクが限界値を超える場合には、前記予め定められた速度パターンに基づき、前記サンプリング時間よりも短い修正サンプリング時間の経過後の位置を指令位置として前記各関節が前記所定の単位制御時間で前記指令位置に移動するように前記各関節を制御するというものである。
【特許文献１】特開平６−３３２５１０号公報
【特許文献２】特開平１１−２７７４６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
例えば、２台のロボットが高速で移動しながらワークの受け渡しを行うような場合がある。このような場合、一方のロボットは、ワークを相手側のロボットから受け取る際にハンド部分を下降させる動作を行い、他方のロボットは、ワークを相手側のロボットに渡した後、ハンド部分を上昇させる動作を行う。このようにハンド部分を下降、或いは上昇させる際、上記の同期制御方式では、ロボット先端が減速することとなり、サイクルタイムが増加すると共に、２台のロボットが異なった速度で移動する状態でワークの受け渡しが行われるようになって、ハンド部分に過度の負荷がかかる恐れがある。
【０００７】
本発明は上記の事情に鑑みてなされたもので、その目的は、ロボット先端の移動を他のロボットとの間で所定の関係をもって移動できる多関節型ロボットおよび２台のロボットが移動しながらワークの受け渡しを行う場合にサイクルタイムの増加を防止し、しかも、相手側のロボットとの間でのワークの受け渡し時にハンド部分に過度の負荷がかかることを防止できるワーク受け渡し方法を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１では、ロボットの動作開始位置と動作終了位置の２位置を教示すると、その２位置間の動作を、一つの平面内での第１のベクトル成分と、前記一つの平面と直交する特定方向の第２のベクトル成分とに分け、第１のベクトル成分方向への移動途中でタイミング良く第２のベクトル成分方向へ移動して動作終了位置に至るので、２台の多関節型ロボットが移動しながらワークの受け渡しを行うような場合、２台の多関節型ロボットについて、それぞれ受け渡し動作の開始位置と終了位置の２位置を教示すると、それぞれの多関節型ロボットが互いに同速度で移動しながら、ワークを受け渡す動作をタイミング良く行うことができる。
【０００９】
請求項２の発明では、ロボット先端が、第１のベクトル成分方向上の第１の所定位置に到達したとき、他の多関節型ロボットに動作を開始させ、ロボット先端が次の第２の所定位置に到達したとき、当該ロボット先端が第２のベクトル成分方向への移動を開始するので、他の多関節型ロボットと所定の関係で動作させることが容易となる。
【００１０】
請求項３の発明では、他の多関節型ロボットが所定位置に到達したことを検知したとき、第１のベクトル成分方向への移動を開始し、第１のベクトル成分方向上での所定位置に到達したとき、第２のベクトル成分方向への移動を開始させるので、他の多関節型ロボットと同速度で移動させながら、他の多関節型ロボットと所定の関係で動作させることができる。
【００１１】
請求項４の発明では、２台の多関節型ロボットのうち、一方の多関節型ロボットが保持したワークを、他方の多関節型ロボットに渡す場合、ワークを保持した一方の多関節型ロボットは、ロボット先端が一平面内で第１の所定位置に到達した時点で通信手段により当該第１の所定位置に到達したことを他方の多関節型に通知し、次の第２の所定位置まで移動した時点でワークの保持を解いて一平面と直交する方向への移動を開始し、ワークを渡される他方の多関節型ロボットは、通信手段により一方の多関節型ロボットが前記第１の所定位置に到達したことを検出した時点で、一方の多関節型ロボットが移動する一平面と平行する他の平面内において一方の多関節型ロボットの移動方向と同方向への移動を開始し、この移動により前記他の平面内における所定位置に到達したとき、前記他の平面と直交する特定方向であって前記一方の多関節型ロボットの前記ロボット先端が移動する前記一平面へ向う方向への移動を開始し、前記ロボット先端が前記一平面に到達し且つ前記一方の多関節型ロボットの前記ロボット先端の移動速度と同速度で移動し始めた時点から前記一方の多関節型ロボットの前記ロボット先願が前記次の所定位置に到達するまでの間に前記ワークを保持するので、２台の多関節型ロボットが同速度で移動しながらワークの受け渡しを行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態を図面に基づいて説明する。この実施形態では、図８に示す２台の多関節型ロボット（以下、単にロボットという。）１，２が適度の間隔をおいて配置されており、その２台のロボット１，２のうち、第１のロボット１が前作業工程の終了したワーク３（図３参照）を保持（把持）して後作業工程側へ移動し、第２のロボット２が第１のロボット１からワーク３を受け取って後作業工程へと搬送する。
【００１３】
第１および第２のロボット１および２は同一構成のもので、ロボット本体４、制御装置５およびティーチングペンダント６からなる。ロボット本体４は、例えば６軸の垂直多関節型のもので、床に固定されたベース７と、このベース７に水平方向に旋回可能に支持されたショルダ部８と、このショルダ部８に上下方向に旋回可能に支持された下アーム９と、この下アーム９に上下方向に旋回可能に支持された第１の上アーム１０と、この第１の上アーム１０の先端部に捻り回転可能に支持された第２の上アーム１１と、この第２の上アーム１１に上下方向に回転可能に支持された手首１２と、この手首１２に回転（捻り動作）可能に支持されたフランジ１３とから構成されている。上記のベース７を含め、ショルダ部８、下アーム９、第１の上アーム１０、第２の上アーム１１、手首１２、フランジ１３は、ロボットにおけるリンクとして機能する。そして、ワーク３を保持（把持）するハンド１４（図３参照）は、最先端のリンクであるフランジ１３に取り付けられている。
【００１４】
一方、前記制御装置５は、図７に示すように、制御手段としてのＣＰＵ１５、駆動回路１６、位置検出手段としての位置検出回路１７を備えている。そして、上記ＣＰＵ１５には、記憶手段として、ロボット全体のシステムプログラムおよび動作プログラムを作成するためのロボット言語などを記憶するＲＯＭ１８と、ロボット１，２の動作プログラムなどを記憶するＲＡＭ１９とが接続されていると共に、ティーチング作業を行なう際に使用する前記ティーチングペンダント６および他のロボットと通信して当該他のロボットの現在位置情報を取得する通信手段としての通信回路２０が接続されている。
【００１５】
上記位置検出回路１７は、ベース７を除く各リンク８〜１３の位置を検出するためのもので、この位置検出回路１７には、各リンク８〜１３の動作中心である関節軸（関節）の駆動源であるモータ２１に設けられた位置センサとしてのロータリエンコーダ２２が接続されている。上記位置検出回路１７は、ロータリエンコーダ２２の検出信号によってベース７に対するショルダ部８の回転角度、ショルダ部８に対する下アーム９の回転角度、下アーム９に対する第１の上アーム１０の回転角度、第１の上アーム１０に対する第２の上アーム１１の回転角度、第２の上アーム１１に対する手首１２の回転角度、および手首１２に対するフランジ１３の回転角度を検出し、その位置検出情報はＣＰＵ１５と駆動回路１６とに与えられる。なお、図  では、モータ２１およびロータリエンコーダ２２は１個のみ示すが、実際には、ベース７を除く各リンク９〜１３に対して一対一の関係で複数設けられているものである。
【００１６】
そして、各駆動回路１６は、ＣＰＵ１５から与えられる指令角度と位置検出回路１７から与えられる現在角度とを比較し、その偏差に応じた電流を各モータ２１に供給してそれらを駆動する。これにより、ロボット先端であるフランジ１３の中心部が動作プログラムにより定められた通りの軌跡を辿って動作し、部品の組み立て作業などを行うものである。
【００１７】
さて、動作プログラムには、一つの動作毎に動作終了位置、速度係数、加減速度係数などのパラメータが記録されている。このうち、速度係数および加減速度係数とは、動作の最高速度および加減速度をモータ２１の許容最大速度および許容最大加減速度に対する割合で定めたもので、許容最大速度および許容最大加減速度は、モータ２１の負荷トルクが例えば許容最大トルクを越えることのないように、各モータ２１毎にその性能を考慮して設定されている。
【００１８】
ＣＰＵ１５は、上記の動作プログラムに記録されたパラメータから速度パターンを例えば台形パターンに当て嵌めて決定し、その速度パターンに基づいて各関節について経過時間毎の角度を演算し、これを角度指令値として駆動回路１６に与えるようになっている。すなわち、台形速度パターンは、図６に示すように、加速過程ｔ１、最高速度での等速過程Ｔ、減速過程ｔ２からなる。この速度パターンに基づいて、動作開始時点から所定のサンプリング時間（Δｔ）経過毎に、その経過時点を現在として次のサンプリング時点（Δｔ経過後に相当する時点）の速度を算出し、これにサンプリング時間を乗じた値を順次加算してゆけば、動作開始時点から動作終了時点までの間、サンプリング時間経過毎の関節の角度を順次求めることができ、それを角度指令値として駆動回路１６に与えれば速度パターン通りの動作を関節に行わせることができるものである。
【００１９】
そして、サンプリング経過時点から次のサンプリング時間経過後における各リンクの位置を演算し、前記次のサンプリング時間経過後の位置を仮位置として当該仮位置に動作させるに必要な駆動トルクを演算し、前記演算された駆動トルクが限界値以下の場合には、前記仮位置を指令位置として前記各リンクが所定の単位制御時間で前記指令位置に移動するように前記各リンクを制御し、前記演算された駆動トルクが限界値を超える場合には、前記予め定められた速度パターンに基づき、前記サンプリング時間よりも短い修正サンプリング時間の経過後の位置を指令位置として前記各リンクが前記所定の単位制御時間で前記指令位置に移動するように前記各リンクを制御する。これにより、各リンク８〜１３のモータ２１が最大トルクを超えることのないように制御される。
【００２０】
ロボット１，２に、ロボット本体４が行う作業内容を記憶させるためのティーチングは、ティーチングペンダント６を用いてハンド１４を所望する複数の目標位置に移動させ且つ各目標位置でハンド１４に所望の姿勢を取らせることによって行われる。ティーチングによって定められたハンド１４の目標位置とハンド１４の姿勢、即ちフランジ１３の目標位置と姿勢、およびフランジ１３にその目標位置と姿勢を取らせるための各リンク８〜１３の位置と姿勢は、制御装置５のＲＡＭ１９に記憶される。
【００２１】
本実施形態では、２つの目標位置Ｐ１，Ｐ２が教示されると、一方の目標位置Ｐ１から他方の目標位置Ｐ２に向ってロボット先端を動作させる通常モードの他に、ベクトル分離モードにも設定できるようになっている。ベクトル分離モードとは、図５に示すように、一方の目標位置Ｐ１から他方の目標位置Ｐ２に移動するロボット先端の動作を、定められた一つの平面Ｓ内での第１のベクトル成分Ｐ１→Ｐ３と、一つの平面Ｓと直交する特定方向ξの第２のベクトル成分Ｐ３→Ｐ２とに分け、第１のベクトル成分Ｐ１→Ｐ３と第２のベクトル成分Ｐ３→Ｐ２の動作タイミングを適宜に設定することによってロボット先端が第１のベクトル成分Ｐ１→Ｐ３方向へと台形速度パターンに従って移動しながら第２のベクトル成分Ｐ３→Ｐ２方向へと同じく台形速度パターンに従って移動するように動作させる、というベクトル分離モードにも設定できるようにしている。なお、移動距離が短い場合には、実際には等速過程のない三角速度パターンとなる。
【００２２】
ここでベクトル分離モードにおいては、第１のベクトル成分方向へのロボット先端の移動は、平面内で直交する２つのベクトル成分が加速、減速を同時に行うように制御されることから同期平面動作と称し、平面Ｓは同期平面と称することとする。また、特定方向ξの第２のベクトル成分へのロボット先端の動作は、同期平面Ｓに対して直交する特定方向の移動であって、第２のベクトル成分方向への移動開始時には同期平面内の加速、減速と同時に行うように制御されないことから、非同期ベクトル相対動作と称することとする。
【００２３】
さて、第１および第２のロボット１および２は、前述のように、第１のロボット１が前作業工程の終了したワーク３を保持（把持）して後作業工程側へ移動し、第２のロボット２が第１のロボット１からワークを受け取って後作業工程へと搬送する。ここで、このワーク３の受け渡し動作の内容を説明する。
【００２４】
即ち、第１のロボット（一方の多関節型ロボット）１は、図１にＰ１１で示す動作開始位置にてハンド１４にワーク３を把持する。その後、第１のロボット１のロボット先端は、動作開始位置Ｐ１１から一平面、例えば水平の第１の平面Ｓ１内において直線移動を開始する。この水平方向の直線移動の速度は、台形速度パターンに当て嵌めて決定され、所定速度まで加速し、所定速度に達するとその所定速度での等速移動に移行する。
【００２５】
一方、第１のロボット１からワーク３を受け取る第２のロボット（他方の多関節型ロボット）２の動作開始位置Ｐ２１は、例えば第１のロボット１の動作開始位置Ｐ１１よりも高い位置に定められている。そして、第２のロボット２は、第１のロボット１のロボット先端が平面Ｓ１内での第１の所定位置Ｆ１に到達すると、第１の平面Ｓ１と平行の第２の平面Ｓ２内においてロボット先端の直線移動を開始させる。この第２のロボット２のロボット先端の直線移動方向は、第１のロボット１の水平移動方向と同方向で、その直線移動の速度も、台形速度パターンに当て嵌めて決定される。なお、両ロボット１，２の台形速度パターンにおいて、その等速過程Ｔでの速度は、同速度に定められている。
【００２６】
そして、第２のロボット２のロボット先端が平面Ｓ２内での所定位置Ｆ１１に到達すると、第２のロボット２のロボット先端が、水平方向への直線移動に加えて、第１のロボット２の直線移動平面Ｓ１に向う垂直下方への移動を開始する。そして、第２のロボット２のロボット先端が平面Ｓ１に至って当該平面Ｓ１内で第１のロボット１のロボット先端と同速度で直線移動するようになると、その後、第１のロボット１のロボット先端が次の第２の所定位置Ｆ２に到達するまでの所定時期に、第２のロボット２がワーク３を把持する。
【００２７】
第１のロボット１は、ロボット先端が前記第２の所定位置Ｆ２に到達した時点で、ワーク３の把持を解き、水平方向への直線移動に加えて、平面Ｓ１から上方へ離れる垂直上方への移動を開始する。その後、第１のロボット１は、そのロボット先端が動作終了位置Ｐ１２に到達したところで停止し、ワーク受け渡し動作を終了する。また、第２のロボット２は、その後、平面Ｓ１内での直線移動を継続し、ロボット先端が動作終了位置Ｐ２２に到達した時点で停止し、ワーク受け渡し動作を終了する。
【００２８】
以上のようなワークの受け渡し動作を行わせるためのティーチングは次のようにして行う。まず、両ロボット１，２をベクトル分離モードに設定する。そして、第１のロボット１のティーチングペンダント６を用いて、第１のロボット１のロボット先端の動作開始位置Ｐ１１と動作終了位置Ｐ１２の位置を教示すると共に、第２のロボット２のティーチングペンダント６を用いて、第２のロボット２のロボット先端の動作開始位置Ｐ２１と動作終了位置Ｐ２２の位置を教示する（位置教示手段；図４のステップＢ１）。
【００２９】
次に、第１のロボット１のティーチングペンダント６により、非同期方向のベクトルξを鉛直上方に設定すると共に、第２のロボット２のティーチングペンダント６により、非同期ベクトル相対動作方向（特定方向）のベクトルξを鉛直下方に設定する（特定方向設定手段；ステップＢ２）。すると、両ロボット１のＣＰＵ１５は、同期平面Ｓ１，Ｓ２を特定方向のベクトルξと直交し動作開始位置Ｐ１１，Ｐ２１を通過する水平平面（第１，第２の同期平面Ｓ１，Ｓ２）とする（同期平面設定手段；ステップＢ３）。
【００３０】
そして、両ロボット１，２のＣＰＵ１５は、動作終了位置Ｐ１２，Ｐ２２の平面Ｓ１，Ｓ２上の投影点をＰ１３，Ｐ２３とし（同期平面動作終了位置設定手段；ステップＢ４）、動作開始位置から動作終了位置までの動作ベクトルＰ１１→Ｐ１２，Ｐ２１→Ｐ２２を、平面Ｓ１，Ｓ２内での第1のベクトル成分Ｐ１１→Ｐ１３，Ｐ２１→Ｐ２３と、平面Ｓ１，Ｓ２と直交する特定方向の第２のベクトル成分Ｐ１３→Ｐ１２，Ｐ２３→Ｐ２２とに分離する（ベクトル分離手段；ステップＢ５）。
【００３１】
次に、第１のロボット１のティーチングペンダント６により、第１のベクトル成分Ｐ１１→Ｐ１３方向への動作開始時点を、例えば前工程作業の終了から一定時間後に設定すると共に、自身のロボット先端が前記第１の所定位置Ｆ１に到達した時点で、第２のロボット２に対し、通信回路２０により所定位置Ｆ１に到達したことを通知するように設定し、更に第２のベクトル成分Ｐ１３→Ｐ１２方向への動作開始時点を自身のロボット先端が前記第２の所定位置Ｆ２に到達した時点に設定する。
【００３２】
また、第２のロボット２のティーチングペンダント６により、ロボット先端の第１のベクトル成分Ｐ２１→Ｐ２３方向への動作開始時点を、第１のロボット１から第１の所定位置Ｆ１に至ったことの通知があった時点に設定すると共に、第２のベクトル成分Ｐ２３→Ｐ２２方向への動作開始時点を自身のロボット先端が平面Ｓ２内の所定位置Ｆ１１に到達した時点に設定する（動作開始タイミング設定手段；ステップＢ６）。
【００３３】
なお、Ｆ１位置の設定は、図２に示すように、第２のロボット２の加速過程時間Ｔａ内で、第２のロボット２のロボット先端が、第１のロボット１が保持しているワークを保持し得る程度まで接近し、且つ第１のベクトル成分（Ｐ２１→Ｐ２３）方向の速度が第１のロボット１の第１のベクトル成分（Ｐ１１→Ｐ１３）成分方向の速度と同速度となり得る位置に定める。このような位置設定は、水平方向移動の台形速度パターンに基づいて求めることができる。
【００３４】
また、Ｆ１１の位置設定は、次のようにして行う。つまり、ワーク３の受け渡しは両ロボット１，２のロボット先端が同速度で移動する間（図２にＴｓで示す時間）であって、第１のロボットのロボット先端が第２のベクトル成分（Ｐ１３→Ｐ１２）方向に移動開始する時点ｔｉまでに行えば良い。そこで、まず、第２のロボット２のロボット先端が下方への移動を開始してから平面Ｓ１に到達するまでの時間Ｔｖを垂直方向移動の台形速度パターン（実際には三角速度パターン）に基づいて演算する。そして、両ロボット１，２のロボット先端が同速度で移動するＴｓ時間内の所定時点、例えば、第２のロボット２のロボット先端の水平移動速度が第１のロボットのロボット先端と同速度に達してからＴｂ経過後のｔｗ時点（ｔｉ時点より前）に定めて、水平方向移動開始から（Ｔａ＋Ｔｂ−Ｔｖ）時間経過までの移動量を水平方向移動の台形速度パターンにより求め、この移動量を水平方向移動開始位置Ｐ２１に加えることによってＦ１１を求めることができる。
【００３５】
以上により、両ロボット１，２の動作プログラムが図１（ｂ）および（ｃ）のように設定される。この動作プログラムは、同期動作（Ｓ平面動作）プログラムと非同期動作（ξ方向槽体動作）プログラムとからなる。
次に、図１（ｂ）および（ｃ）の動作プログラムに従った両ロボット１，２の動作を説明する。なお、以下の動作は、ＣＰＵ１５によって制御される。前回のワーク３の受け渡し動作を終了すると、両ロボット１，２のロボット先端は、それぞれ動作終了位置Ｐ１２，Ｐ２２から動作開始位置Ｐ１１，Ｐ２１へ移動し（ステップＳ１、ステップＡ１）、次いで、特定方向ξが指定される（ステップＳ２、ステップＡ２）。そして、第１および第２のロボット１および２は、待機状態となる。
【００３６】
前工程作業の終了（作業終了は作業管理用コンピュータから通信にて通知される。）から所定時間が経過すると、第１のロボット１は、ロボット先端を平面Ｓ1内において動作開始位置Ｐ１１から第１のベクトル成分Ｐ１１→Ｐ１３方向に向って直線移動を開始する（第１のベクトル方向動作開始手段；ステップＳ３）。この第１のロボット１のロボット先端の直線移動は、台形速度パターンを当て嵌めることによって行われるので、図２（ａ−１）に示すように所定速度まで加速され、所定速度に達すると、当該所定速度で等速度移動し、その後、減速するように制御される（第１の移動制御手段）。
【００３７】
第１のロボット１のロボット先端が等速度で移動中、所定位置Ｆ1まで移動すると、ここで、第１のロボット１は、第２のロボット２に対して、所定位置Ｆ1に到達した旨の報知信号を送信する（動作開始指令手段；ステップＳ４、ステップＳ５）。第２のロボット２は、報知信号を受信すると、動作開始位置Ｐ21から第１のベクトル成分Ｐ２１→Ｐ２３方向への直線移動を開始する（ステップＡ３、ステップＡ４）。この時点を図２にＡで示し、この時の両ロボット１，２の状態を図３のＡに示した。
【００３８】
そして、第２のロボット２のロボット先端が所定位置Ｆ１１に到達すると、ξ方向相対動作開始指令を発する（第２のベクトル方向動作開始手段；ステップＡ５、ステップＡ６）。これにより、第２のロボット２は、第１のベクトル成分Ｐ２１→Ｐ２３方向への台形速度パターンを維持しながら（本実施形態では、加速度状態を維持しながら）、第２のベクトル成分Ｐ２３→Ｐ２２方向への移動を開始する。この第２のベクトル成分Ｐ２３→Ｐ２２方向への移動速度も、台形速度パターンに従って行われるが、第２のベクトル成分Ｐ２３→Ｐ２２方向については移動距離が短いため三角速度パターンとなる。この第２のロボット２が第２のベクトル成分Ｐ２３→Ｐ２２方向への移動途中の時点をＢで示し、この時の両ロボット１，２の状態を図３にＢで示した。
【００３９】
そして、第２のロボット２のロボット先端が第２のベクトル成分Ｐ２３→Ｐ２２方向へ移動する途中で、ロボット先端の第１のベクトル成分Ｐ２１→Ｐ２３方向への移動速度は、第１のロボット１のロボット先端の第１のベクトル成分Ｐ１１→Ｐ１３方向への移動速度と同じ速度となり、その後は、第１のロボット１のロボット先端の第１のベクトル成分Ｐ１１→Ｐ１３方向への移動速度と同速度で移動するようになる。この直後、第２のロボット２のロボット先端が第１のロボット１のロボット先端の直線移動平面Ｓ１に到達し、第２のベクトル成分Ｐ２３→Ｐ２２方向への移動は停止される（第２の移動制御手段）。
【００４０】
従って、第２のロボット２のロボット先端は、第１のロボット１のロボット先端と同速度で第１のベクトル成分Ｐ２１→Ｐ２３方向へ移動しながら、第１のロボット１のロボット先端と同じ移動平面Ｓ1に到達することとなる。平面Ｓ１に到達すると同時に、第２のロボット２は、ハンド１４にて、第１のロボット１が把持しているワーク３を把持する。従って、ワーク３は、両ロボット１，２によって把持されることとなるが、両ロボット１，２のロボット先端は、同速度で移動しているので、ワーク３や両ロボット１，２のハンド１４に過大な力が作用することはない。両ロボット１，２でワーク３を保持した直後の時点を図２にＣで示し、この時の両ロボット１，２の状態を図３にＣで示した。
【００４１】
そして、第１のロボット１のロボット先端が前記第２の所定位置Ｆ２に到達すると、第１のロボット１はワーク３の保持を解き、且つロボット先端が第２のベクトル成分Ｐ１３→Ｐ１２方向への移動を開始する（第２のベクトル方向移動開始手段；ステップＳ６〜ステップＳ１０）。これにより、第１のロボット１のロボット先端は上方へ台形速度パターンに従った速度で移動して動作終了位置Ｐ１２に到達するように制御され（第２の移動制御手段）、以上によりワーク受け渡し動作を終了する。また、第２のロボット２のロボット先端は、ワーク３を保持したまま平面Ｓ1内で第１のベクトル成分Ｐ２１→Ｐ１３方向への移動を継続し、動作終了位置Ｐ２２に到達したところで、ワーク受け渡し動作を終了する（第１の移動制御手段）。
【００４２】
以上のようなワーク受け渡し動作の間、両ロボット１，２は、予め定められた台形速度パターンに基づき、サンプリング時間が経過する毎に、サンプリング経過時点から次のサンプリング時間経過後における各モータ２１（関節）の位置を演算し、前記次のサンプリング時間経過後の位置を仮位置として当該仮位置に動作させるに必要な駆動トルクを演算し、前記演算された駆動トルクが限界値以下の場合には、前記仮位置を指令位置として前記各モータ２１が所定の単位制御時間で前記指令位置に移動するように各モータ２１を制御する。
【００４３】
このような制御において、前記演算された駆動トルクが限界値を超える場合には、前記予め定められた速度パターンに基づき、前記サンプリング時間よりも短い修正サンプリング時間の経過後の位置を指令位置として各モータ２１が所定の単位制御時間で当該指令位置に移動するように制御する。これにより、各モータ２１の駆動トルクが限界値を超えることのないように制御される。
【００４４】
この場合、演算された駆動トルクが限界値を超える場合には、サンプリング時間よりも短い修正サンプリング時間の経過後の位置を指令位置とされるので、そのロボット先端の速度は遅くなり、特に、両ロボット１，２がワーク３を保持したとき、相手側のロボットのロボット先端と同速度で移動することができなくなる。このような場合には、修正サンプリング時間を設定した側のロボットが、相手側のロボットに修正サンプリング時間を通信により報知する。この修正サンプリング時間の報知を受けたロボットは、たとえ自身では各モータ２１の駆動トルクが限界値を超えない場合であっても、その報知された修正サンプリング時間で指令位置を設定するようにしている。これにより、両ロボット１，２がモータ２１に過大な駆動トルクを発生させることなく、同速度で移動できるようになる。
勿論、モータ２１に、このような過大な駆動トルクを発生させることのないように、予め台形速度パターンの最大加減速度、最大速度を設定するようにしても良い。
【００４５】
なお、本発明は上記し且つ図面に示す実施例に限定されるものではなく、例えば２台のロボット１，２の実行する動作は、ワーク３の受け渡しに限られないなど、その要旨を変更しない範囲で種々変形して実施可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施形態を示すもので、（ａ）は第１および第２のロボットのワーク受け渡し動作を概略的に示す図、（ｂ）は第１のロボットのワーク受け渡しの動作プログラム、（ｃ）は第２のロボットのワーク受け渡しの動作プログラム
【図２】ワーク受け渡し動作の速度パターンを示すもので、（ａ‐１）は第１のロボットの第１のベクトル成分方向の速度パターン、（ａ‐２）は第１のロボットの第２のベクトル成分方向の速度パターン、（ｂ‐１）は第２のロボットの第１のベクトル成分方向の速度パターン、（ｂ‐２）は第２のロボットの第２のベクトル成分方向の速度パターン
【図３】図２のＡ〜Ｄの各時点での第１および第２のロボットの状態を示す概略図
【図４】ティーチングの内容を示すフローチャート
【図５】ベクトル分離を示す斜視図
【図６】速度パターンを示す図
【図７】ロボットの制御構成を示すブロック図
【図８】２台の多関節型ロボットの斜視図
【符号の説明】
【００４７】
図面中、１，２は第１，２の多関節型ロボット、３はワーク、５は制御装置、６はティーチングペンダント（ベクトル分離手段、動作開始タイミング設定手段）、１３はフランジ、１４はハンド、１５はＣＰＵ（第１および第２の移動制御手段、動作開始指令手段）、２１はモータである。
【図１】
2009012132.tif 000003
【図２】
2009012132.tif 000004
【図３】
2009012132.tif 000005
【図４】
2009012132.tif 000006
【図５】
2009012132.tif 000007
【図６】
2009012132.tif 000008
【図７】
2009012132.tif 000009
【図８】
2009012132.tif 000010