(58)【調査した分野】(Int.Cl.,DB名)
前記(A3)では、移動後の設定軌道において、現在の制御周期で計測した対象物の位置に向けて移動させた前記経由位置よりも手前にある経由位置と、当該経由位置の設定姿勢とを選択する、請求項2に記載のロボットハンド装置。
前記(A3)では、移動後の設定軌道において、現在の制御周期で計測した対象物の位置に向けて移動させた前記経由位置から、設定範囲内に存在する経由位置と、当該経由位置の設定姿勢とを選択する、請求項2に記載のロボットハンド装置。
【発明の概要】
【発明が解決しようとする課題】
【0006】
ロボットハンドの軌道を、対象物の運動に合わせて予め設定しておくことがある。例えば、対象物と同じ運動をするように、ロボットハンドが設定軌道上を移動する制御を行う。これにより、対象物とロボットハンドの相対速度をゼロにした状態で、ロボットハンドが対象物に対して作業をする。
【0007】
このように設定軌道を用いる場合においても、対象物の位置と姿勢を逐次計測し、その計測結果に応じて設定軌道を変更することができる。これにより、設定軌道を用いながら、対象物の位置や姿勢と設定軌道との間に誤差があるときや、対象物の位置や姿勢の変化を予測できないとき等にも、対象物の位置と姿勢の変化に対応できる。
【0008】
しかし、対象物の位置や姿勢の予期しない急激な変化により、対象物の位置や姿勢が、ロボットハンドの設定軌道や姿勢から大きく外れたときには、ロボットハンドの設定軌道や姿勢も急激に変更する必要がある。その結果、ロボットハンドの動作能力を超えた動作指令が、ロボットハンドに与えられる。すなわち、ロボットハンドが動作不能となってしまう。このように対象物の位置と姿勢が急激に変化することによる問題は、ロボットハンドの設定軌道を用いない制御においても同様である。
【0009】
そこで、本発明の目的は、対象物の位置と姿勢が急激に変化しても、この変化に対応するようにロボットハンドの動作を継続させる装置と方法を提供することにある。
【課題を解決するための手段】
【0010】
上述の目的を達成するため、本発明によると、対象物に対して作業を行うロボットハンドと、
対象物の位置と姿勢を計測する対象物計測装置と、
ロボットハンドの位置と姿勢を計測するハンド計測装置と、
対象物計測装置とハンド計測装置の計測結果に基づいてロボットハンドを動作させる制御装置と、を備え、
(A)現在の制御周期において、対象物計測装置は、対象物の位置と姿勢を計測し、制御装置は、当該計測した位置と姿勢に基づいて、次の制御周期におけるロボットハンドの目標位置と目標姿勢を探索し、
(B)次の制御周期において、ハンド計測装置は、ロボットハンドの位置と姿勢を計測し、制御装置は、当該計測した位置と姿勢、および、前記(A)で探索した目標位置と目標姿勢に基づいてロボットハンドの位置と姿勢を制御する、ことを特徴とするロボットハンド装置が提供される。
【0011】
本発明の好ましい実施形態によると、制御装置は、ロボットハンドの設定軌道を記憶する記憶部を有し、
設定軌道における複数の経由位置の各々には、該経由位置に対応付けられたロボットハンドの姿勢が設定されており、
互いに対応付けられた経由位置と設定姿勢を1組として、制御装置は、前記(A)において、
(A1)現在の制御周期で計測した対象物の位置と姿勢に向けて、次の制御周期に対応する1組の経由位置と設定姿勢をそれぞれ移動させるように、設定軌道の平行移動と回転の一方または両方を行うことにより設定軌道を移動させ、
(A2)現在の制御周期で計測した対象物の位置と姿勢に向けて移動させた1組の前記経由位置と前記設定姿勢が、ロボットハンドの動作制約を満たすかどうかを判断し、
(A3)動作制約を満たさないと判断した場合には、移動後の設定軌道における別の1組の経由位置と設定姿勢を選択し、
(A4)前記(A3)で選択した別の1組の経由位置と設定姿勢が、ロボットハンドの動作制約を満たすかどうかを判断し、
ロボットハンドの動作制約を満たす組の経由位置と設定姿勢が見つかるまで、前記(A3)(A4)を繰り返し、
前記(A2)または(A4)において動作制約を満たす1組の経由位置と設定姿勢が見つかった場合には、当該1組の経由位置と設定姿勢を、次の制御周期における目標位置と目標姿勢として選択する。
【0012】
好ましくは、前記(A3)では、移動後の設定軌道において、現在の制御周期で計測した対象物の位置に向けて移動させた前記経由位置よりも手前にある経由位置と、当該経由位置の設定姿勢とを選択する。
代わりに、前記(A3)では、移動後の設定軌道において、現在の制御周期で計測した対象物の位置に向けて移動させた前記経由位置から、設定範囲内に存在する経由位置と、当該経由位置の設定姿勢とを選択してもよい。
【0013】
参考例によると、制御装置は、前記(A)において、現在の制御周期で計測した対象物の位置と姿勢から設定範囲内にあり、かつ、ロボットハンドの現在の位置と姿勢から許容範囲内にある位置と姿勢を次の制御周期におけるロボットハンドの目標位置と目標姿勢とする。
【0014】
また、上述の目的を達成するため、本発明によると、対象物に対して作業を行うロボットハンドを制御する方法であって、
(A)現在の制御周期において、対象物計測装置により、対象物の位置と姿勢を計測し、制御装置により、当該計測した位置と姿勢に基づいて、次の制御周期におけるロボットハンドの目標位置と目標姿勢を探索し、
(B)次の制御周期において、ハンド計測装置により、ロボットハンドの位置と姿勢を計測し、制御装置により、当該計測した位置と姿勢、および、前記(A)で探索した目標位置と目標姿勢に基づいてロボットハンドの位置と姿勢を制御する、ことを特徴とするロボットハンド制御方法が提供される。
【発明の効果】
【0015】
上述した本発明によると、現在の制御周期において計測した対象物の位置と姿勢に基づいて、次の制御周期におけるロボットハンドの目標位置と目標姿勢を探索するので、対象物の位置と姿勢が急激に変化しても、この変化に対応するようにロボットハンドの動作を継続させることができる。
【発明を実施するための形態】
【0017】
本発明の好ましい実施形態を図面に基づいて説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【0018】
図1は、本発明の実施形態によるロボットハンド装置10の概略構成図である。ロボットハンド装置10は、ロボットハンド3と対象物計測装置5とハンド計測装置7と制御装置9を備える。
【0019】
ロボットハンド3は、対象物1に対して作業を行う。ロボットハンド3による対象物1に対する作業は、例えば、対象物1の把持、対象物1への物体の取り付け、または、対象物1からの物体の取り外しである。
【0020】
図1の例では、ロボットハンド3は、第1〜第5のアーム3a〜3eと作業実行部3fを有する。
第1のアーム3aの一端部は、ハンド支持部11に第1の軸C1回りに回転可能に連結されている。第1のアーム3aの他端部には、第2のアーム3bの一端部が第2の軸C2回りに回転可能に連結されている。第2のアーム3bの他端部には、第3のアーム3cの一端部が第3の軸C3回りに回転可能に連結されている。第3のアーム3cの他端部には、第4のアーム3dの一端部が第4の軸C4回りに回転可能に連結されている。第4のアーム3dの他端部には、第5のアーム3eの一端部が第5の軸C5回りに回転可能に連結されている。第5のアーム3eの他端部には、作業実行部3fが第6の軸C6回りに回転可能に連結されている。
作業実行部3fは、対象物1に対して作業を行う。作業実行部3fは、対象物1を吸引することにより対象物1を保持し、この吸引を停止することにより、保持していた対象物1を解放する吸引部を有するものであってよい。代わりに、作業実行部3fは、複数の爪を有し、これらの爪を閉じることにより対象物1を挟んで把持し、これらの爪を開くことにより、把持していた対象物1を解放するものであってもよい。また、作業実行部3fは、他の構成を有していてもよい。
【0021】
対象物計測装置5は、対象物1の位置と姿勢を計測する。対象物計測装置5は、例えば、対象物1を含む領域を撮像するカメラを用いたものであってよい。この場合、撮像した画像内における対象物1の位置と大きさに基づいて、対象物1の位置を求め、画像内における対象物1の向きに基づいて対象物1の姿勢を求める。なお、対象物計測装置5は、他の構成を有していてもよい。
【0022】
ハンド計測装置7は、ロボットハンド3の位置と姿勢を計測する。
図1の例では、ハンド計測装置7は、第1〜第5の軸C1〜C5回りに関する第1〜第5のアーム3a〜3eの回転角と、第6の軸C6回りに関する作業実行部3fの回転角とを計測し、これらの回転角に基づいて、ロボットハンド3(作業実行部3f)の位置と姿勢を求める。
なお、ハンド計測装置7は、第1〜第5のアーム3a〜3eと作業実行部3fの回転角をそれぞれ計測する複数の角度センサからなるが、
図1では、簡単のため、第1のアーム3aの回転角を計測する角度センサ7のみを図示している。
【0023】
制御装置9は、対象物計測装置5とハンド計測装置7の計測結果、および、ロボットハンド3の設定軌道に基づいてロボットハンド3を動作させる。これにより、ロボットハンド3に前記作業を行わせる。
【0024】
本実施形態では、設定軌道における複数の経由位置の各々には、該経由位置に対応付けられたロボットハンド3の姿勢が設定されている。互いに対応付けられた経由位置と設定姿勢を1組として、各組の経由位置と設定姿勢は、制御装置9の記憶部9aに記憶されている。
【0025】
図1の例では、制御装置9は、第1〜第5のアーム3a〜3eを、それぞれ、第1〜第5の軸C5回りに回転させ、作業実行部3fを第6の軸C6回りに回転させる。これらの回転は、第1〜第5のアーム3a〜3eと作業実行部3fを回転駆動するサーボモータのドライバ(図示せず)を制御装置9が制御することにより行われてよい。
【0026】
対象物計測装置5とハンド計測装置7と制御装置9は、以下の処理(A)(B)をこの順で繰り返し行う。
【0027】
(A)現在の制御周期において、対象物計測装置5は、対象物1の位置と姿勢を計測し、制御装置9は、当該計測した位置と姿勢に基づいて、次の制御周期におけるロボットハンド3の目標位置と目標姿勢を探索する。
【0028】
(B)次の制御周期において、ハンド計測装置7は、ロボットハンド3の位置と姿勢を計測し、制御装置9は、当該計測した位置と姿勢、および、前記(A)で探索した目標位置と目標姿勢に基づいてロボットハンド3の位置と姿勢を制御する。例えば、制御装置9は、当該次の制御周期において計測されたロボットハンド3の位置と目標位置との差を減らすように(好ましくは、この差を無くすように)ロボットハンド3の位置を制御し、当該次の制御周期において計測されたロボットハンド3の姿勢と目標姿勢との差を減らすように(好ましくは、この差を無くすように)ロボットハンド3の姿勢を制御する。
【0029】
制御周期を多数回繰り返すことにより、ロボットハンド3が待機位置から対象物1に接近して、対象物1に対して作業を行う。例えば、1つの制御周期は、10ミリ秒であり、ロボットハンド3が作業に要する時間は、4秒である。
【0030】
図2は、本発明の実施形態によるロボットハンド制御方法を示すフローチャートである。
【0031】
この制御方法は、対象物1からの距離が設定値以下となる位置までロボットハンド3を移動させてから行う。この場合、ロボットハンド3を、この位置へ移動させるまで、制御装置9は、ロボットハンド3が設定軌道上を移動するようにロボットハンド3を制御してよい。
ただし、ロボットハンド3の待機位置と対象物1との距離が設定値以下である場合には、ロボットハンド3を待機位置から動作させる時から、本実施形態の制御方法を行ってよい。
【0032】
ステップS1において、現在の制御周期において、対象物計測装置5は、対象物1の位置と姿勢を計測し、制御装置9は、当該計測した位置と姿勢に基づいて、次の制御周期におけるロボットハンド3の目標位置と目標姿勢を探索する。
【0033】
次いで、制御周期iが次の制御周期(i+1)へ移行した後、ステップS2へ進む。なお、iは、正の整数であり制御周期の番号を示す(以下、同様)。
【0034】
ステップS2において、ハンド計測装置7は、ロボットハンド3の位置と姿勢を計測し、制御装置9は、当該計測した位置と姿勢、および、ステップS1で探索した目標位置と目標姿勢に基づいてロボットハンド3の位置と姿勢を制御する。例えば、制御装置9は、計測されたロボットハンド3の位置と、ステップS1で得た目標位置との差を減らすように(好ましくは、この差を無くすように)ロボットハンド3の位置を制御する。同様に、ステップS2において、制御装置9は、計測されたロボットハンド3の姿勢と、ステップS1で得た目標姿勢との差を減らすように(好ましくは、この差を無くすように)ロボットハンド3の姿勢を制御する。
【0035】
ステップS1は、ステップS11〜S16を有する。
【0036】
ステップS11において、対象物計測装置5により、対象物1の位置と姿勢を計測する。
【0037】
ステップS12において、次の制御周期でロボットハンド3(作業実行部3f)が通過する予定の設定軌道の部分における1組の経由位置と設定姿勢を特定する。この1組の経由位置と設定姿勢は、好ましくは、それぞれ、予め定められた初期の設定軌道において、次の制御周期に対して予め定められた初期目標位置と初期目標姿勢である。設定軌道は、ロボットハンド3の動作制御開始時点からの各経過時間(各時点)に対して定められた経由位置からなる。従って、「次の制御周期でロボットハンド3が通過する予定の設定軌道の部分」とは、次の制御周期に対応する複数時点の経由位置を意味する。これについて、
図3の上側部分は、
図1の場合における作業実行部3fの基準点が通過する設定軌道を示し、
図3の下側部分は、
図3の上側部分の破線で囲んだ部分の拡大図である。
図3の下側部分の例では、mを正の整数として、各時点t
m+1〜t
m+10に対して経由位置(
図3の黒丸)が定められている。
図3において、例えば、現在の制御周期iにおける初期目標位置は、t
m+5に対する経由位置であり、次の制御周期(i+1)における初期目標位置は、t
m+10に対する経由位置である。
なお、
図1と
図3において、水平方向を向くX軸と、紙面と垂直な水平方向を向くY軸と、鉛直方向を向くZ軸を有する直交座標系を示している。
【0038】
ステップS13において、ステップS11(すなわち、現在の制御周期)で計測した対象物1の位置と姿勢に向けて(本実施形態では、ステップS11で計測した対象物1の位置と姿勢へ)、ステップS12で特定した1組の経由位置と設定姿勢をそれぞれ移動させるように、設定軌道を平行移動させることと、設定軌道を回転させることとの一方または両方を行うことにより、設定軌道を移動させる。ここで、計測した対象物1の当該位置は、対象物1に対して作業できるロボットハンド3(作業実行部3f)の位置でもあり、計測した対象物1の当該姿勢は、対象物1に対して作業できるロボットハンド3(作業実行部3f)の姿勢でもある。
なお、ステップS12で特定した組の経由位置と、ステップS11で計測した位置とが一致する場合には、ステップS13で経由位置を移動させる量はゼロである。同様に、ステップS12で特定した組の設定姿勢と、ステップS11で計測した姿勢とが一致する場合には、ステップS14で設定姿勢を移動させる量はゼロである。
【0039】
ステップS13については、後で詳しく説明する。
【0040】
ステップS14において、ステップS13で移動させた設定軌道における1組の経由位置と設定軌道を選択する。現在の制御周期での最初のステップS14では、移動後の設定軌道における、ステップS12で特定した経由位置と設定姿勢を選択する。
【0041】
ステップS15において、ステップS14で選択した1組の経由位置と設定姿勢が、ロボットハンド3の動作制約を満たすかどうかを判断する。ここで、ロボットハンド3の動作制約を満たすと判断した場合には、ステップS2へ進み、そうでない場合には、ステップS16へ進む。
【0042】
ステップS15については、後で詳しく説明する。
【0043】
ステップS16において、現在の制御周期で、ステップS14を設定回数(2以上の整数)だけ行ったかを判断する。ここで、この判断が肯定である場合には、エラーであるとしてロボットハンド3の動作を終了させ、そうでない場合には、ステップS14へ戻り、戻ったステップS14において、ステップS13で移動させた設定軌道(移動後の設定軌道)における別の1組の経由位置と設定姿勢を選択し、次のステップS15において、当該選択した組の経由位置と設定姿勢がロボットハンドの動作制約を満たすかどうかを判断する。
【0044】
好ましくは、戻ったステップS14では、移動後の設定軌道において、ステップS13で対象物1の位置に向けて移動させた経由位置(すなわち、ステップS12で特定して経由位置)よりも手前にある経由位置と、当該手前にある経由位置の設定姿勢とを選択する。ここで、「手前」とは、設定軌道において、上述の動作制御開始時点に対して定められた経由位置の側を意味する。より好ましくは、3回目以降のステップS14では、前回のステップS14で選択した経由位置よりも手前の経由位置と、当該手前にある経由位置の設定姿勢とを選択する。
代わりに、戻ったステップS14では、移動後の設定軌道において、ステップS13で対象物1の位置に向けて移動させた経由位置から、設定範囲内に存在する経由位置と、当該経由位置の設定姿勢とを選択してもよい。ここで、「設定範囲内」とは、ステップS13で対象物1の位置に向けて移動させた経由位置からの距離が、設定値より小さいことを意味する。また、この「設定範囲」は、ステップS13で対象物1の位置に向けて移動させた経由位置よりも手前の範囲に限定されない。
【0045】
その後の処理は、上述と同じであり、上述のステップS14〜S16を繰り返す。
【0046】
なお、ステップS15からステップS2へ進む場合には、現在の制御周期iから次の制御周期(i+1)へ移行してから、次のステップS2を行う。また、次のステップS2では、直前のステップS14で選択した1組の経由位置と設定姿勢を目標位置と目標姿勢として用いる。
【0047】
ステップS2は、ステップS21とステップS22とからなる。
【0048】
ステップS21では、ハンド計測装置7により、ロボットハンド3の位置と姿勢を計測する。
ステップS22では、制御装置9により、ステップS21で計測したロボットハンド3の位置と姿勢、および、直前のステップS14で選択した1組の経由位置と設定姿勢を目標位置と目標姿勢とし、この目標位置と目標姿勢に基づいてロボットハンド3の位置と姿勢を制御する。
ステップS22を終えたら、ステップS1へ戻る。
【0049】
次に、上述のステップS13の具体例を詳しく説明する。
【0050】
ステップS13で移動させた設定軌道における、ステップS14で選択した1組の経由位置と設定姿勢は、次のQtにより表すことができる。
Qt=S[i]Q[c]
S[i]:ステップS11で計測した位置と姿勢を表わす同次変換行列である。このS[i]は、ロボットハンド3の座標系で表される。
Q[c]:ステップS13で移動させた設定軌道における、ステップS14で選択した1組の経由位置と設定姿勢を表わす同次変換行列である。このQ[c]は、対象物1の座標系で表される。
Qt:ロボットハンド3の位置と姿勢を表わす同次変換行列である。このQtは、ロボットハンド3の座標系で表される。
【0051】
図4において、破線は、ステップS13で移動させる前の設定軌道の一部を示し、破線上の黒丸は経由位置を示し、破線上の黒丸と同心で書かれた破線の丸は、ステップS12で特定した経由位置を示し、当該破線の丸から延びている矢印Dは、ステップS12で特定した経由位置の設定姿勢(ロボットハンド3の向き)を示す。
図4において、実線は、ステップS13で破線の設定軌道の一部から移動させた設定軌道の一部を示し、実線上の黒丸は、この移動後の設定軌道における経由位置を示し、実線上の黒丸と同心で書かれた実線の丸は、移動後の設定軌道における、ステップS12で特定した経由位置を示し、当該破線の丸から延びている矢印Dは、移動後の設定軌道における、ステップS12で特定した経由位置の設定姿勢(ロボットハンド3の向き)を示す。
【0052】
また、
図4に示すように、各時点t
m+3〜t
m+10に対して経由位置(
図4の黒丸)が定められている。
図4において、ステップS12で特定した経由位置は、t
m+10に対する経由位置である。
【0053】
S[i]は、次の[数1]で表される。
【数1】
ここで、ロボットハンド3の座標系が、x軸とy軸とz軸を有するとする。
この[数1]において、x、y、zは、対象物1の位置を示し、それぞれ、x軸座標、y軸座標、z軸座標であり、α、β、γは、対象物1の姿勢を示し、それぞれ、x軸回りの回転角度、y軸回りの回転角度、z軸回りの回転角度である。
【0054】
[数1]について、次の[数2]のようにAx、Ay、Az、Pを定義すると、S[i]は、下記の[数3]で表すことができる。
【数2】
【数3】
【0055】
Q[c]が、ステップS12で特定した経由位置と設定姿勢(すなわち、
図4において時点t
m+10に対する経由位置と設定姿勢)である場合には、Q[c](以下、Q[10]と表記する)は、次の[数4]の同次変換行列で表すことができる。
【数4】
【0056】
この場合、
図4において時点t
m+9に対する経由位置と設定姿勢(以下、Q[9]と表記する)は、設定軌道における時点t
m+10との相対位置と相対姿勢から求まる。例えば、Q[9]は、次の[数5]で表されるとする。
【数5】
【0057】
ここで、S[i]が、次の[数6]であるとする。この場合、S[i]Q[10]は、下記の[数7]のようになり、S[i]Q[9]は下記の[数8]のようになる。
【数6】
【数7】
【数8】
【0058】
他の経由位置と設定姿勢についても同様である。
【0059】
次に、上述のステップS15の動作制約を詳しく説明する。
【0060】
ステップS14で用いる動作制約として、次の(1)〜(7)がある。好ましくは、動作制約は、(1)〜(7)のうち、少なくとも(1)を含む。ただし、動作制約は、(1)〜(7)のうちのいずれか1つ、または、(1)〜(7)から選択した複数のものであってもよい。
【0061】
(1)ロボットハンド3の動作速度の大きさが、しきい値より小さい。
ここで、動作速度は、現在の制御周期の目標位置と目標姿勢から次の制御周期の目標位置と目標姿勢への必要移動量を、1つの制御周期の時間で割った値であってよい。
図1の例では、動作速度は、第1〜第5のアーム3a〜3eと作業実行部3fの各々(以下、回転部という)の回転速度ωである。この場合、各回転速度ωは、次の式で表わされる。
ω=(θt−θc)/T
この式において、θtは、ロボットハンド3が次の制御周期の目標位置と目標姿勢にある時の、該回転速度ωに対応する回転部の回転角であり、θcは、ロボットハンド3が現在の制御周期の目標位置と目標姿勢にある時の、該回転速度ωに対応する回転部の回転角である。Tは、1つの制御周期の時間である(以下、同様)。
【0062】
(2)ロボットハンド3の動作加速度の大きさが、しきい値より小さい。
ここで、動作加速度は、現在の制御周期におけるロボットハンド3の動作速度と、次の制御周期におけるロボットハンド3の動作速度との差を、1つの制御周期の時間で割った値であってよい。
図1の例では、動作加速度は、回転部3a〜3fの各々の回転加速度aである。この場合、各回転加速度aは、次の式で表わされる。
a=(ω−ω
0)/T
この式において、回転速度ωは、上記(1)のωと同じであり、ω
0は、現在の制御周期における当該回転部の目標回転速度である。目標回転速度ω
0は、次の式で表わされる。
ω
0=(θ
i−θ
i−1)/T
この式において、θ
iは、ロボットハンド3が現在の制御周期iにおける目標位置と目標姿勢にある時の回転部の回転角であり、θ
i−1は、ロボットハンド3が、現在の制御周期より1つ前の制御周期(i−1)における目標位置と目標姿勢にある時の回転部の回転角である。
【0063】
(3)対象物1に対するロボットハンド3の相対速度v
rの大きさが、しきい値より小さい。このv
rは、例えば、次の式で表わされる。
v
r=v
h−v
t
v
hは、現在の制御周期における目標位置と目標姿勢を、次の制御周期における目標位置と目標姿勢にするのに必要なロボットハンド3(作業実行部3f)の移動量を、制御周期の時間Tで割った値である。
v
tは、現在の制御周期より1つ前の制御周期おける対象物1の計測された位置と姿勢を、現在の制御周期おける対象物1の計測された位置と姿勢にするのに必要な対象物1の移動量を、制御周期の時間Tで割った値である。
【0064】
(4)対象物1に対するロボットハンド3の相対加速度の大きさが、しきい値より小さい。
(5)ステップS14で選択した1組の目標位置と目標姿勢が特異点とならない。
ここで、特異点とは、ロボットハンド3の各回転部の回転速度を作業実行部3fの並進移動速度に変換する行列(ヤコビ行列)に逆行列が存在しない、すなわち、作業実行部3fの並進移動速度から各回転部の回転速度を求めることができないことを意味する。前記ヤコビ行列の固有値の絶対値や行列式の絶対値がしきい値よりも小さいとき、前記ヤコビ行列は逆行列を持たないと判定できる。
(6)ロボットハンド3が、設定範囲外へ移動する。
(7)ロボットハンド3の軸C1〜C6が、設定範囲外へ移動する。
【0065】
上述した実施形態によると、現在の制御周期において計測した対象物1の位置と姿勢に基づいて、次の制御周期におけるロボットハンド3の目標位置と目標姿勢を探索するので、対象物1の位置や姿勢が急激に変化しても、この変化に対応したロボットハンド3の制御が可能となる。
しかも、計測した対象物1の位置と姿勢に向けて移動させた設定軌道から、次の制御周期におけるロボットハンド3の目標位置と目標姿勢を探索するので、設定軌道を反映させたロボットハンド3の動作が可能となる。
また、2回目以降のステップS14では、移動後の設定軌道において、最初のステップS14で選択した経由位置よりも手前にある経由位置と、当該手前にある経由位置の設定姿勢とを選択する。このように選択した経由位置と設定姿勢は、現在のロボットハンド3の位置と姿勢により近くなっている可能性が高い。その結果、例えば、上述の動作制約(1)(2)が満たされやすくなる。
【0066】
また、設定軌道や設定姿勢は、対象物1の移動軌跡や姿勢に正確に一致させなくてもよい。すなわち、大まかに定めた設定軌道であっても、対象物1の計測された位置と姿勢に向けて設定軌道を移動させるので、対象物1の位置と姿勢の変化に対応できる。
【実施例】
【0067】
図5は、対象物1の移動軌跡を示す一例である。
図5の場合には、
図1に示すように、対象物1が、X−Z平面内で、支点を中心に振り子の運動をする。この運動は、前記支点からロープで吊るされた対象物1の運動を想定している。すなわち、前記支点が水平移動して静止すると、対象物1は振り子の運動をする。
図6は、
図5の場合における、時間に対する対象物1の位置を示す。この例では、対象物1の姿勢は一定である。
【0068】
図7は、
図5と
図6の場合に対する
図1のロボットハンド3の設定軌道を示す。この例では、設定軌道は、大まかに定められている。
図7において、横軸は、時間を示し、縦軸は、X軸方向において、作業実行部3fから、振り子運動の中心位置(
図5の原点に相当)までの距離を示す。
図8は、上述した実施形態による制御方法のシミュレーション結果を示す。
図8(A)は、第2のアーム3bの回転速度(角速度)と時間の関係を示し、
図8(B)は、第3のアーム3cの回転速度(角速度)と時間の関係を示す。この例では、他のアーム3a,3d,3eと作業実行部3fは回転しないものとし、作業実行部3fをX−Z平面内で移動させた。
図8(A)(B)の実線は、上述の動作制約を用いなかった場合を示す。すなわち、
図8(A)(B)の実線は、ステップS15、S16を省略し、ステップS14の次にステップS21を行った場合を示す。
図8(A)(B)の破線は、上述の動作制約を用いた場合を示す。すなわち、
図8(A)(B)の破線は、
図2のフローチャートに従った場合を示す。ここでは、動作制約は、第2および第3のアーム3b、3cの角速度の大きさが75度/秒以下となることである。なお、
図8(A)(B)において、約0.2〜0.9秒の範囲以外で、破線は実線と重なっている。
【0069】
図6と
図8(A)(B)によると、作業実行部3fは、対象物1の振り子運動に追従するように動作している。
【0070】
本発明は上述した実施の形態に限定されず、本発明の要旨を逸脱しない範囲で種々変更を加え得ることは勿論である
。
【0071】
(
参考例)
ロボットハンド3の設定軌道を用いなくてもよい。この
参考例では、ステップS1(すなわち前記(A)の処理)では、現在の制御周期で、対象物計測装置5により、対象物1の位置と姿勢を計測し、制御装置9により、当該計測した位置と姿勢から設定範囲内にあり、かつ、ロボットハンド3の現在の位置と姿勢から許容範囲内にある位置と姿勢を次の制御周期におけるロボットハンド3の目標位置と目標姿勢とする。この場合、ロボットハンド3が移動する範囲を含む範囲において、間隔をおいて、多数の候補位置を設定しておき、制御装置9により、これらの候補位置から、次の制御周期におけるロボットハンド3の目標位置を選択してよい。また、ロボットハンド3の多数の候補姿勢を設定しておき、制御装置9により、これらの候補姿勢から、次の制御周期におけるロボットハンド3の目標姿勢を選択してよい。なお、ロボットハンド3の現在の位置と姿勢は、ロボットハンド3の位置と姿勢の最新の計測値であってよい。ステップS2は、上述と同じである
。
【0072】
(変更
例)
上述の実施形態では、ステップS13では、ステップS12で特定した経由位置を、ステップS11で計測した対象物1の位置に移動させたが、これの代わりに、ステップS13において、ステップS12で特定した経由位置を、ステップS11で計測した対象物1の位置へ向けて移動させて当該位置へ近づけてもよい。
同様に、上述のステップS13では、ステップS12で特定した設定姿勢を、ステップS11で計測した対象物1の姿勢に移動(回転)させたが、これの代わりに、ステップS13において、ステップS12で特定した設定姿勢を、ステップS11で計測した対象物1の姿勢へ向けて移動させて当該姿勢へ近づけてもよい。
この場合、他の点は、上述と同じであってもよいし、本発明の範囲内で上述の内容から適宜してもよい。