(57)【要約】【課題】  複雑な装置構成を必要とすることなく、汎用性のあるロボットハンドの持ち替え把持制御方法を提供する。【解決手段】  持ち替え動作を単純な動作タスク系列へと分解し（ステップＳ１１）、指ごとに動作タスク中で把持力によりフィードバック制御を行う関節を設定し（ステップＳ１４）、それ以外の関節についてはフィードフォワード制御を行うこととして時系列指令を生成し（ステップＳ１５）、フィードフォワード指令に基づいてフィードフォワード関節の駆動を制御する（ステップＳ１６）一方、接触力＝把持力に応じてフィードバック制御関節のフィードバック制御を行う（ステップＳ１７、Ｓ１８）。【選択図】  図４
2006315128.tif 000002
【特許請求の範囲】
【請求項１】
複数の能動関節と、力覚センサを有する複数の指を備えるロボットハンドにおいて把持物体の持ち替え動作を行う把持制御方法において、
持ち替え動作を単純な動作タスク系列に分解する工程と、
各タスク終了時点のハンドの目標位置と目標接触力を設定する工程と、
各タスク中にフィードバック制御を行う関節と、フィードフォワード制御を行う関節を設定する工程と、
各タスクの開始・終了時のハンド位置、把持力からフィードフォワード制御を行う関節のタスク中の動作指令を設定する工程と、
設定した動作指令に基づいてフィードフォワード関節を制御するとともに、力覚センサの値からフィードバック制御関節の動作を制御する工程と、
を備えていることを特徴とするロボットハンドの持ち替え把持制御方法。
【請求項２】
各指においてフィードバック制御を行う関節は、各タスク中において常時把持物体と接触している接触点の数に等しく設定されることを特徴とする請求項１記載のロボットハンドの持ち替え把持制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の能動関節と、力覚センサを有する複数の指を備えるロボットハンドにおいて把持物体の持ち替え動作を行う際の把持制御方法に関する。
【背景技術】
【０００２】
複数関節を有する多指ロボットハンドを用いて各種の作業を行わせる場合、物体を把持したまま、物体とロボットハンドとの位置関係を変更する持ち替え動作が可能であれば作業性が向上する。このような持ち替え動作時の制御方法として特許文献１に記載された技術が知られている。
【０００３】
この技術においては、コンピュータシミュレーションまたはロボットハンドの実機を用いて、与えられた情報とランダムに決定した把持方法に基づいて仮想的にあるいは実際にロボットハンドを制御し、その結果を予め決められた評価式に基づいて評価する。これを異なる把持方法の組み合わせについて繰り返す。こうして試行した中から最もよい評価が得られた把持方法についてさらに修正を加えて結果を評価する試行を繰り返すことで最適な把持方法を選び出す進化的探索アルゴリズムを利用している。
【特許文献１】特開２０００−１２７０７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、この技術では、最適な把持方法を選択するまでに非常に多くの試行回数を必要とするため、把持方法を選択するのに時間がかかる。標準的な持ち替え動作について予めシミュレーションや実験を用いて把持方法等を求めて記憶しておき、その中から適切な把持方法を選択する方法を取った場合でも、汎用性に乏しいため、新規の物体や、持ち替え動作に対応することが難しい。また、把持方法を正確に評価するためには、把持物体の落下や潰れ、持ち損ね等も評価の対象とする必要があるが、そのためには物体自体の位置・姿勢を認識する必要があり、装置構成が複雑となる。
【０００５】
そこで本発明は、複雑な装置構成を必要とすることなく、汎用性のあるロボットハンドの持ち替え把持制御方法を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明にかかるロボットハンドの持ち替え把持制御方法は、複数の能動関節と、力覚センサを有する複数の指を備えるロボットハンドにおいて把持物体の持ち替え動作を行う把持制御方法において、（１）持ち替え動作を単純な動作タスク系列に分解する工程と、（２）各タスク終了時点のハンドの目標位置と目標接触力を設定する工程と、（３）各タスク中にフィードバック制御を行う関節と、フィードフォワード制御を行う関節を設定する工程と、（４）各タスクの開始・終了時のハンド位置、把持力からフィードフォワード制御を行う関節のタスク中の動作指令を設定する工程と、（５）設定した動作指令に基づいてフィードフォワード関節を制御するとともに、力覚センサの値からフィードバック制御関節の動作を制御する工程と、を備えていることを特徴とする。
【０００７】
複雑な持ち替え動作も単純な動作タスクを順に組み合わせることで実現できる。そこで、持ち替え動作を単純な動作タスク系列に分解し、個々のタスクにおけるハンドの動作を設定する。この際に、関節の動きを予め設定して、目標どおりの関節移動を実現するフィードフォワード制御を行う関節と、物体の把持力に応じてフィードバック制御を行う関節とを予め設定しておき、両者を組み合わせた制御を行う。
【０００８】
各指においてフィードバック制御を行う関節は、各タスク中において常時把持物体と接触している接触点の数に等しく設定されるとよい。接触点とフィードバック制御を行う関節とを対応させて、関節動作を把持力に応じてフィードバック制御する。
【発明の効果】
【０００９】
本発明によれば、持ち替え動作を単純な動作タスク系列に分解したうえで、各動作タスクについて、フィードフォワード制御とフィードバック制御を組み合わせることで、物体への把持力を適切に維持した状態で、目標に応じた各指の移動を実現することができる。これにより、適切な持ち替え動作を実現することができる。また、持ち替え動作を単純な動作タスク系列へと分解することで、複雑な持ち替え動作を実現することができるとともに、把持対象物や持ち替え動作に応じた適切な把持動作を行うことができるため、汎用性の高い制御動作が実現できる。
【００１０】
接触点の数に応じてフィードバック制御を行う関節数を設定すると、関節と接触点とを対応させることができ、フィードバック制御が容易になり、把持の確実性が向上する。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施の形態について詳細に説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の参照番号を附し、重複する説明は省略する。
【００１２】
図１は本発明に係るロボットハンドの持ち替え把持制御方法によって制御されるロボットハンド１の構成を示す図であり、図２は、その制御系を示すブロック構成図である。そして、図３は、このロボットハンド１を備えるロボット１００の概略構成図である。
【００１３】
本実施形態のロボットハンド１は、母指１０、示指１１、中指１２、薬指１３の４指からなる。母指１０は、４つの関節ごとにそれぞれモータ１４が配置された４自由度のリンク系である。他の３指１１〜１３は、最先端の関節を除く３つの関節ごとにそれぞれモータ１４が配置され、最先端の関節は、隣接する関節と連動する構成とされている（連動関節１７）。したがって、４関節でそれぞれ３自由度のリンク系を構成する。つまり、ロボットハンド１全体の自由度は１３となる。これらの各指の先端１０ｔ〜１３ｔは、曲面形状の弾性体で構成されており、指表面に柔軟構造を有している。さらに、各関節には、関節の曲げ角度を検出するためのエンコーダポテンションメータ１６が配置されている。また、指には接触力を検知するための触覚センサ１８が埋め込まれている。
【００１４】
このロボットハンド１は、図３に示されるように、アーム７によって、ロボット１００の胴体８に取り付けられている。胴体８は、左右にアーム７を有し、頭部に視覚センサであるカメラアイ３を備えている。アーム７にもモータとエンコーダポテンションメータが配置され、ロボットハンド１を所望の位置に移動させることが可能な構成となっている。
【００１５】
制御系は、ＲＡＭ、ＲＯＭ、ＣＰＵ等で構成される制御ＥＣＵ２を中心に構成されており、把持対象物の画像を撮影するカメラアイ３の出力画像から画像認識によって対象物の形状・位置を認識する画像認識部２０と、認識結果を基にして把持位置・把持姿勢を計算するハンド位置姿勢演算部２１と、フィードバック（Feed Back）制御を行う関節を決定するＦＢ制御関節決定部２２と、フィードフォワード（Feed Forward）制御を行う関節の目標軌道を生成するＦＦ制御関節指令生成部２３と、ロボットハンド１の動きを制御するロボットハンド制御部２４とを有している。ロボットハンド制御部２４には、エンコーダポテンションメータ１６と、触覚センサ１８の出力信号が入力され、モータドライバ４を制御することで、各モータ１４の動きを制御する。
【００１６】
制御系は、このような構成に限られるものではなく、指示された姿勢となるようロボットハンド１の動きを制御する制御部と、画像認識装置や把持姿勢の演算部を、別体としてもよい。また、これらの演算部・制御部は、ハードウェア的に区分されていてもソフトウェア的に区分されていてもよい。
【００１７】
次に、本発明にかかる持ち替え把持制御方法について具体的に説明する。図４は、この持ち替え把持制御方法の処理を示すフローチャートである。ここでは、既に対象物を把持しており、例えば、画像認識部２０とハンド位置姿勢演算部２１で生成した持ち替え動作指令に基づいて持ち替え動作を行う場合を例に説明する。
【００１８】
最初に、持ち替え動作指令を受信（ステップＳ１０）し、持ち替え動作を単純な動作タスク系列へと分解する（ステップＳ１１）。図５は、動作タスクの基本パターンを説明する図である。
【００１９】
図５に示されるように、ハンド１の座標系Σｈをハンド１の手首に固定する。ここで、座標系Σｈの原点は手首の回転中心であり、回転中心から回転軸に沿ってハンド１方向をＹｈ軸とし、指１１〜１３の配列方向に平行な方向にＸｈ軸を、母指１０と他指１１〜１３の対向方向に平行な方向にＺｈ軸をそれぞれ配置する。一方、物体２００側の座標系Σｏは、物体の重心を座標系の原点とし、物体２００の主軸方向をＸｏ軸とし、これに直交する方向をそれぞれＹｏ軸、Ｚｏ軸とする。Ｙｏ軸、Ｚｏ軸は、可能であれば、Ｙｈ軸、Ｚｈ軸にそれぞれ平行な方向に配置される。Ｘｏ軸、Ｙｏ軸、Ｚｏ軸のそれぞれに平行な軸回りの物体２００の回転運動をそれぞれ持ち替え動作のタイプ１、タイプ２、タイプ３とする。
【００２０】
図６は、タイプ１の持ち替え動作の例を示している。ここでは、簡略化のため、対向する指２本（母指１０と示指１１）のみを示し、他の指１２、１３の記載は省略している。図６（ａ）に示されるように、対向する指１０、１１のそれぞれの先端で物体２００を把持している初期状態（例えば、机上に載置されている物体２００を持ち上げた直後の状態）である摘み把持形態から、最終的に図６（ｄ）に示されるように、対向する指１０、１１で物体２００を包み込むように把持する形態へと移行する場合、持ち替え動作中の物体２００の自由度は、図６の図示平面内に限られる。最初に、物体２００を母指１０上で転がすことにより、手首側へと引き寄せる（step１）ことで図６（ｂ）に示されるように半包み込み把持形態へと移行する。次に、一旦、物体２００の上側に接触している指１１を物体２００から離し（step２）、図６（ｃ）に示される状態へと移行し、さらに、離隔させた指１１を伸ばして物体２００へと再度接触させる（step３）ことで、図６（ｄ）に示される状態へと移行する。
【００２１】
タイプ２の持ち替え動作は、図７（ａ）（ｂ）に示されるように、中指１２を中心に示指１１と薬指１３の接触力を変えることで実現できる。一方、タイプ３の持ち替え動作は、図８（ａ）（ｂ）に示されるように、中指１２に対して、示指１１と薬指１３の一方を伸ばし、他方を縮めることで実現できる。
【００２２】
任意の持ち替え動作は、このような３軸のそれぞれを回転軸とする回転動作に分解することができ、適切な順序で実行することによって実現できる。ステップＳ１１では、こううして持ち替え動作をタスクに分解し、タスク順序を設定する。
【００２３】
次に、各タスクの動作制御に入る。まず、ステップＳ１２では、ハンドの現在姿勢を現タスクの初期姿勢に設定し、各関節の初期位置を取り込む。次に、タスク終了時点の目標位置と目標接触力を設定する（ステップＳ１３）。この設定は、事前にシミュレーションや実機での試行試験に基づいて得られた値をＲＡＭ、ＲＯＭ、その他の記憶装置へと格納しておき、これを読み出すことで設定すればよい。なお、このシミュレーションや試行試験は、基本パターンのタスクについてのみ実行しておけば足りるので、シミュレーションや試行試験の回数は最小限ですみ、結果を格納しておく記憶領域も小さくてすむ。
【００２４】
次に、指ごとにフィードバック制御関節を設定する（ステップＳ１４）。フィードバック制御関節の数は、当該タスクにおいて常に物体に接触する指上の接触点の数と等しく設定される。接触箇所に対応するフィードバック制御関節の関節角度を調整することで接触力を調整することにより、接触力の追従制御が容易となる。
【００２５】
通常は、物体２００と指は１カ所で接触するため、フィードバック制御関節は指で１カ所となることが多い。そして、各関節中で接触点の接触力の調整効果が最も大きな関節をフィードバック制御関節に設定するとよい。調整効果が大きければ大きいほど、関節角度の調整量は小さくてすみ、接触力の追従制御の精度が高くなるからである。
【００２６】
接触力の調整効果は、関節が一定の微少角度だけ回転したときの接触力方向における指先の変位量により評価できる。つまり、関節の回転による指先の変位量が大きな関節ほど調整効果が大きいことになる。これは、指リンク系の運動ヤコビ行列により評価することができる。ヤコビ行列Ｊは式（１）のように定義される。
【数１】
2006315128.tif 000003
ここで、ｘ、ｙ、ｚはハンド座標系Σｈにおける指先接触点の座標値であり、θｉは各関節の角度である。例えば、図９に示される３つの能動関節からなる指リンク系を例にとると、接触力方向は、ハンド座標系ΣｈのＺｈ軸に略平行になる。したがって、各関節の回転による指先接触点の接触力方向への影響は、Ｚｈ方向への指先接触点の変位により評価できるから、（１）式の第３行の各要素の絶對値により評価されることになる。図９に示されるリンク系においては、ヤコビ行列Ｊの計算により、関節１の調節効果は略０であり、関節２の調整効果が一番大きくなる。したがって、このリンク系では、関節２がフィードバック制御関節として設定される。なお、実際のヤコビ行列Ｊは、指姿勢によって変わるため、初期位置と最終位置に応じたヤコビ行列をそれぞれ計算し、調節効果の平均値が一番大きい関節をフィードバック制御関節として設定すればよい。設定したフィードバック制御関節以外の能動関節はすべてフィードフォワード制御関節となる。
【００２７】
ヤコビ行列Ｊの具体的な計算手法を説明する。指全体の座標変換行列は、下記の式（２）により表せる。
【数２】
2006315128.tif 000004
ここで、i-1Ｔi（θi）は、第ｉリンクの４×４座標変換行列であり、θiは第ｉ関節の回転角度である。各関節の回転角度θiについて全体座標変換行列の偏導関数（（３）式）を求める。
【数３】
2006315128.tif 000005
ヤコビ行列Ｊは、これらの偏導関数を用いて、式（４）により表せる。
【数４】
2006315128.tif 000006
【００２８】
こうして求めたヤコビ行列Ｊの各要素の値を基に、法線接触力方向の要素の絶對値が最大となる関節をフィードバック制御関節とする。法線接触力方向がハンド座標系ΣｈのＸｈ軸方向に一致するならば、ヤコビ行列Ｊの第１行の各値Ｒθ１（１，４）〜Ｒθｎ（１，４）を比較して、最大の絶対値を有する関節番号を選出する。同様に、法線接触力方向がハンド座標系ΣｈのＹｈ軸方向に一致するならば、ヤコビ行列Ｊの第２行の各値Ｒθ１（２，４）〜Ｒθｎ（２，４）を比較して、法線接触力方向がハンド座標系ΣｈのＺｈ軸方向に一致するならば、ヤコビ行列Ｊの第３行の各値Ｒθ１（３，４）〜Ｒθｎ（３，４）を比較して、それぞれ最大の絶対値を有する関節番号を選出する。
【００２９】
法線接触力方向がＸｈ、Ｙｈ、Ｚｈ軸の各方向とは異なる任意の方向である場合には、（５）式で表される法線接触力方向ベクトルへのヤコビ行列の要素の投影値Ｓｉ（（６）式参照。）を比較することで、最大となるＳｉに対応する関節をフィードバック制御関節とする。
【数５】
2006315128.tif 000007
【数６】
2006315128.tif 000008
なお、指に複数のフィードバック制御関節を設定する場合には、接触力方向ごとに最大となる関節を求めればよい。
【００３０】
フィードバック制御関節の設定が終了したら、フィードフォワード関節の動作時系列指令を設定する（ステップＳ１５）。本制御においては、物体２００と個々の指との接触状態は、フィードバック制御関節の動作によって維持されるので、フィードフォワード関節の運動軌道は任意に決定しうる。時刻ｔにおけるモータ１４の角速度をω（ｔ）で表すと、図１０（ａ）に示されるような等速軌道か図１０（ｂ）に示されるような台形速度軌道を用いると、簡便な制御で高精度の制御を行うことができ、好ましい。
【００３１】
等速軌道により制御する場合の時系列角速度指令値ω（ｔ）は、下記の（７）式により表される。
【数７】
2006315128.tif 000009
ここで、θ（Ｔ）は、タスク終了時の目標関節角度であり、θ（０）は、初期関節角度であり、Ｔはタスクの動作時間である。
【００３２】
一方、台形速度軌道により制御する場合の時系列角速度指令値ω（ｔ）は、下記の（８）式により表される。
【数８】
2006315128.tif 000010
【００３３】
フィードフォワード関節の運動指令値が設定できたら、動作タスクを実際に開始する。まず、モータドライバ４により、フィードフォワード関節の各モータ１４を設定した運動指令値に基づいて駆動する（ステップＳ１６）。次に、触覚センサ１８の出力を基にして接触力を検知し（ステップＳ１７）、フィードバック制御関節の動きを接触力からフィードバック制御する（ステップＳ１８）。具体的には、角速度指令により制御する場合には、次式（９）式によって制御する。
【数９】
2006315128.tif 000011
ここで、ωiは、第ｉ制御ステップにおける関節角速度指令であり、ｋωはフィードバックゲインであり、Ｆrefが目標接触力、Ｆが現在の接触力を表す。一方、角度位置指令で制御する場合は、次式（１０）によって制御する。
【数１０】
2006315128.tif 000012
ここで、θiは、第ｉ制御ステップにおける関節位置指令であり、ｋθはフィードバックゲインである。
【００３４】
なお、接触力が過大である等してフィードバック制御の制御範囲を超えている場合（ステップＳ１９で判定）には、警告を発して（ステップＳ２０）、処理を終了するとよい。ステップＳ１９でフィードバック制御の制御範囲内にある場合には、さらに、ステップＳ２１へと移行してタスクを終了したか否かを判定する。タスクを終了していないと判定した場合には、ステップＳ１６へ戻るループ処理を行うことにより、タスクを継続する。一方、タスクが終了したと判定した場合には、ステップＳ２２へと移行し、次の動作タスクが存在するか否かを判定する。次の動作タスクがある場合には、ステップＳ１２へと戻り、次の動作タスクへと移行する。一方、次の動作タスクがなく、持ち替え制御が終了したと判定した場合には、処理を終了する。
【００３５】
本発明によれば、このようにフィードバック制御により把持力を確保しながら、フィードフォワード制御により指の動きを調整することで、持ち替え動作中のタスクを精度よく安定して実行することが可能となる。
【００３６】
また、図６のstep２やstep３におけるタスクのように、物体２００と接触していない指を動作させる場合には、フィードフォワード制御のみを行えばよく、フィードバック制御は必要ない。
【００３７】
このようにして分解したタスクを順に実行していくことによって複雑な持ち替え動作でも実現することが可能となる。特に、形状等を学習していない未知の物体の持ち替えにおいても対応することができ、汎用性の高い制御動作が実現できる。
【図面の簡単な説明】
【００３８】
【図１】本発明に係るロボットハンドの持ち替え把持制御方法によって制御されるロボットハンド１の構成を示す図である。
【図２】図１のロボットハンドの制御系を示す図である。
【図３】図１のロボットハンド１を備えるロボット１００の概略構成図である。
【図４】本発明にかかる持ち替え把持制御方法の処理を示すフローチャートである。
【図５】動作タスクの基本パターンを説明する図である。
【図６】タイプ１の持ち替え動作の例を示す図である。
【図７】タイプ２の持ち替え動作の例を示す図である。
【図８】タイプ３の持ち替え動作の例を示す図である。
【図９】３つの能動関節からなる指リンク系における接触力方向を説明する図である。
【図１０】フィードフォワード関節における運動軌道の例を示す図である。
【符号の説明】
【００３９】
１…ロボットハンド、３…カメラアイ、４…モータドライバ、７…アーム、８…胴体、１０…母指、１１…示指、１２…中指、１３…薬指、１４…モータ、１６…エンコーダポテンションメータ、１７…連動関節、１８…触覚センサ、２０…画像認識部、２１…ハンド位置姿勢演算部、２２…ＦＢ制御関節決定部、２３…ＦＦ制御関節指令生成部、２４…ロボットハンド制御部、１００…ロボット、２００…物体。
【図１】
2006315128.tif 000013
【図２】
2006315128.tif 000014
【図３】
2006315128.tif 000015
【図４】
2006315128.tif 000016
【図５】
2006315128.tif 000017
【図６】
2006315128.tif 000018
【図７】
2006315128.tif 000019
【図８】
2006315128.tif 000020
【図９】
2006315128.tif 000021
【図１０】
2006315128.tif 000022