(57)【要約】【課題】従来の把持姿勢生成手法では、反復計算回数が膨大となり、インタラクティブに把持姿勢の生成をすることができないという問題がある。また、手の姿勢を一括して低次元化しているために、再現できない把持姿勢を生じることがある。【解決手段】本発明の把持姿勢生成装置は、手、指の姿勢に関するデータベース２０を記憶する記憶部１１と、物体の形状を入力する入力部１２と、入力された物体の形状に基づいて、物体を把持した状態の把持姿勢を生成する把持姿勢生成部１３と、把持姿勢生成部１３において生成された把持姿勢を出力する出力部１４とを備える。データベース２０に分類され、実測により索引付けされた把持姿勢と、把持姿勢に関連付けされた各指の各角度によって、把持姿勢を生成する。【選択図】図１
2013045385.tif 000002
【特許請求の範囲】
【請求項１】
物体を把持する際の手及び指の姿勢に関するデータベースを記憶する記憶部と、
上記物体の形状のデータを入力する入力部と、
入力された上記物体の形状のデータ及び上記データベースに基づいて、該物体を把持した状態の把持姿勢のデータを生成する把持姿勢生成部と、
上記把持姿勢生成部において生成された把持姿勢のデータを出力する出力部とを備え、
上記データベースは、
少なくとも上記手及び指の姿勢に関するデータを有する小分類把持姿勢のデータを含む階層と、該小分類把持姿勢のデータに関連付けされ、幅の異なる基本形状を有する物体を把持した状態で取得され、該幅によって索引付けされた索引小分類把持姿勢のデータを含む階層とを有し、
上記索引小分類把持姿勢のデータには、索引付けされた各指の各関節角度が関連付けられ、上記小分類把持姿勢のデータには、指上に設定された代表点のデータ及び接触点群のデータが関連付けられており、
上記把持姿勢生成部は、
上記入力された物体の表面又は該入力された物体のデータに基づいて生成された該物体の凸包体の表面をトレースして、該入力された物体を把持した際に、上記索引小分類把持姿勢の有する指が把持可能であるかを検出して、該索引小分類把持姿勢のデータに関連付けられ、索引付けされた各指の各関節角度のデータを探索し、
上記各指の各関節角度のデータが上記データベースに存在しない場合には、該データベース内に存在する該各指の関節角度のデータを補間計算することによって新たに各指の関節角度のデータを生成し、
把持可能な上記各指の関節角度のデータを発見したときには、上記代表点のデータに基づいて座標を設定して、上記手及び指の配置と上記物体との位置合わせを行い、
上記位置合わせをした位置を初期値として、上記指ごとの接触点群のデータに従って上記手及び指の最適な配置を決定することを特徴とする把持姿勢生成装置。
【請求項２】
上記小分類把持姿勢のデータを含む階層は、大分類把持姿勢のデータを含む階層の下位の階層にあり、
上記大分類把持姿勢のデータは、上記小分類把持姿勢の少なくとも１つの指又は手のひらに関連付けされ、物体を把持する際に対向して該物体に接触する仮想指を有し、
上記仮想指が接触する該物体の面の間の距離によって、上記物体の形状特徴量のデータを抽出し、
上記物体の形状特徴量のデータに基づいて、上記索引小分類把持姿勢のデータを探索することを特徴とする請求項１記載の把持姿勢生成装置。
【請求項３】
上記各指の関節角度のデータは、該各指ごとに独立して決定されることを特徴とする請求項１又は２記載の把持姿勢生成装置。
【請求項４】
上記最適な配置を決定するのに、点群間の距離に基づいた最適化アルゴリズムを用いることを特徴とする請求項１〜３いずれか１項記載の把持姿勢生成装置。
【請求項５】
上記手及び指の最適な配置を決定する場合において、上記物体と該手又は指との位置について衝突判定を行うことによって、調整することを特徴とする請求項１〜４いずれか１項記載の把持姿勢生成装置。
【請求項６】
上記大分類把持姿勢の分類は、２本の指の腹若しくは側面を対向させて物体をはさむ挟持把持姿勢、母指の腹と母指以外の指を平行に揃えてその指の腹若しくは手の平を対向させて物体をつかむ平行把持姿勢、又は各指の腹若しくは側面で物体を包み込む包囲把持姿勢の３種類であることを特徴とする請求項２〜５いずれか１項記載の把持姿勢生成装置。
【請求項７】
把持対象の物体の形状のデータを入力するステップと、
入力された上記物体の形状のデータ並びに物体を把持する際の手及び指の姿勢に関するデータベースに基づいて、該物体を把持した状態で生成される把持姿勢のデータを生成するステップと、
生成された把持姿勢のデータを出力するステップとを有し、
上記データベースは、
少なくとも上記手及び指の姿勢に関するデータを有する小分類把持姿勢のデータを含む階層と、該小分類把持姿勢のデータに関連付けされ、幅の異なる基本形状を有する物体を把持した状態で取得され、該幅によって索引付けされた索引小分類把持姿勢のデータを含む階層とを有し、
上記索引小分類把持姿勢のデータには、索引付けされた各指の各関節角度が関連付けられ、上記小分類把持姿勢のデータには、指上に設定された代表点のデータ及び接触点群のデータが関連付けられており、
上記把持姿勢を生成するステップは、
上記入力された物体の表面又は該入力された物体のデータに基づいて生成された該物体の凸包体の表面をトレースして、該入力された物体を把持した際に、上記索引小分類把持姿勢の有する指が把持可能であるかを検出して、該索引小分類把持姿勢のデータに関連付けられ、索引付けされた各指の各関節角度のデータを探索するステップと、
上記各指の各関節角度のデータが上記データベースに存在しない場合には、該データベース内に存在する該各指の関節角度のデータを補間計算することによって新たに各指の関節角度のデータを生成するステップと、
把持可能な上記各指の関節角度のデータを発見したときには、上記代表点のデータに基づいて座標を設定して、上記手及び指の配置と上記物体との位置合わせを行い、
上記位置合わせをした位置を初期値として、上記指ごとの接触点群のデータに従って上記手及び指の最適な配置を決定するステップとを含むことを特徴とする把持姿勢生成方法。
【請求項８】
コンピュータに実行させる把持姿勢生成プログラムであって、上記コンピュータに、
把持対象の物体の形状のデータを入力するステップと、
入力された上記物体の形状のデータ並びに物体を把持する際の手及び指の姿勢に関するデータベースに基づいて、該物体を把持した状態で生成される把持姿勢のデータを生成するステップと、
生成された把持姿勢のデータを出力するステップとを実行させ、
上記データベースは、
少なくとも上記手及び指の姿勢に関するデータを有する小分類把持姿勢のデータを含む階層と、該小分類把持姿勢のデータに関連付けされ、幅の異なる基本形状を有する物体を把持した状態で取得され、該幅によって索引付けされた索引小分類把持姿勢のデータを含む階層とを有し、
上記索引小分類把持姿勢のデータには、索引付けされた各指の各関節角度が関連付けられ、上記小分類把持姿勢のデータには、指上に設定された代表点のデータ及び接触点群のデータが関連付けられており、
上記把持姿勢を生成するステップは、
上記入力された物体の表面又は該入力された物体のデータに基づいて生成された該物体の凸包体の表面をトレースして、該入力された物体を把持した際に、上記索引小分類把持姿勢の有する指が把持可能であるかを検出して、該索引小分類把持姿勢のデータに関連付けられ、索引付けされた各指の各関節角度のデータを探索するステップと、
上記各指の各関節角度のデータが上記データベースに存在しない場合には、該データベース内に存在する該各指の関節角度のデータを補間計算することによって新たに各指の関節角度のデータを生成するステップと、
把持可能な上記各指の関節角度のデータを発見したときには、上記代表点のデータに基づいて座標を設定して、上記手及び指の配置と上記物体との位置合わせを行い、
上記位置合わせをした位置を初期値として、上記指ごとの接触点群のデータに従って上記手及び指の最適な配置を決定するステップとを含むことを特徴とする把持姿勢生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手によって物体を把持する場合の把持姿勢のデータを自動的に生成する把持姿勢生成装置、把持姿勢生成方法及び把持姿勢生成プログラムに関する。
【背景技術】
【０００２】
アニメーションの自動生成やヒューマノイドロボットの動作生成等の様々な応用分野において、人間らしい動作をコンピュータ上で再現するデータとして自動生成することが求められている。中でも、人間の手は、非常に高い自由度を有した複雑な構造になっており、対象物を伴った様々な作業を行うために、その動作や姿勢のデータを自動的に生成するのは非常に困難である。手の動作のうち最も基本的な動作である把持に着目し、把持対象となる物体の３次元モデルの形状に対して様々な把持姿勢を表わしたデータを自動生成する手法が研究されている。
【０００３】
非特許文献１、２には、ＰＣＡ（Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔｓ  Ａｎａｌｙｓｉｓ、主成分分析）等の多変量解析技術を用いて、多次元の手の姿勢を２次元平面に射影し、そのデータ確率密度を求めて、２次元平面内における確率が高い範囲内で最適な把持姿勢を探索する技術が記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｈ．Ｂ．Ａｍｏｒ，  Ｇ．Ｈｅｕｍｅｒ，  Ｂ．Ｊｕｎｇ  ａｎｄ  Ａ．Ｖｉｔｚｔｈｕｍ，  「Ｇｒａｓｐ  ｓｙｎｔｈｅｓｉｓ  ｆｒｏｍ  ｌｏｗ−ｄｉｍｅｎｓｉｏｎａｌ  ｐｒｏｂａｂｉｌｉｓｔｉｃ  ｇｒａｓｐ  ｍｏｄｅｌｓ」，  Ｃｏｍｐｕｔｅｒ  Ａｎｉｍａｔｉｏｎ  ａｎｄ  Ｖｉｒｔｕａｌ  Ｗｏｒｌｄｓ  （ＣＡＳＡ  ２００８  Ｓｐｅｃｉａｌ  Ｉｓｓｕｅ），  １９（３−４）：４４５〜４５４，  Ｓｅｐｔｅｍｂｅｒ  ２００８．
【非特許文献２】Ｍ．Ｔ．Ｃｉｏｃａｒｌｉｅ  ａｎｄ  Ｐ．Ｋ．Ａｌｌｅｎ，  「Ｈａｎｄ  ｐｏｓｔｕｒｅ  ｓｕｂｓｐａｃｅｓ  ｆｏｒ  ｄｅｘｔｅｒｏｕｓ  ｒｏｂｏｔｉｃ  ｇｒａｓｐｉｎｇ」，  Ｔｈｅ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｏｂｏｔｉｃｓ  Ｒｅｓｅａｒｃｈ，  ２８（７）：８５１〜８６７，  Ｊｕｌｙ  ２００９．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１、２に記載された手法を用いると、手の姿勢を一括して低次元化しているために、再現することができない把持姿勢を生じることがある。むりに再現しようとするとパラメータの次元数を増やす必要があり、反復計算回数はますます増大してしまう。さらに、把持姿勢の選択範囲は、把持分類数に依存するので、再現できない姿勢を減らすためには、把持分類の数を膨大に準備しなければならず、あまりに選択範囲を広げても実用上選択不能になるという問題がある。また、最適化のための反復計算回数が膨大となるために、インタラクティブな把持姿勢の生成をすることができないという問題がある。
【０００６】
そこで、本発明は、インタラクティブに多様な把持姿勢を生成することのできる把持姿勢生成装置、把持姿勢生成プログラム及び把持姿勢生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の把持姿勢生成装置は、物体を把持する際の手及び指の姿勢に関するデータベースを記憶する記憶部と、物体の形状のデータを入力する入力部と、入力された物体の形状のデータ及びデータベースに基づいて、物体を把持した状態の把持姿勢のデータを生成する把持姿勢生成部と、把持姿勢生成部において生成された把持姿勢のデータを出力する出力部とを備える。データベースは、少なくとも手及び指の姿勢に関するデータを有する小分類把持姿勢のデータを含む階層と、小分類把持姿勢のデータに関連付けされ、幅の異なる基本形状を有する物体を把持した状態で取得され、幅によって索引付けされた索引小分類把持姿勢のデータを含む階層とを有し、索引小分類把持姿勢のデータには、索引付けされた各指の各関節角度が関連付けられ、小分類把持姿勢のデータには、指上に設定された代表点のデータ及び接触点群のデータが関連付けられる。把持姿勢生成部は、入力された物体の表面又は入力された物体のデータに基づいて生成された物体の凸包体の表面をトレースして、入力された物体を把持した際に、索引小分類把持姿勢の有する指が把持可能であるかを検出して、索引小分類把持姿勢のデータに関連付けられ、索引付けされた各指の各関節角度のデータを探索し、各指の各関節角度のデータがデータベースに存在しない場合には、データベース内に存在する各指の関節角度のデータを補間計算することによって新たに各指の関節角度のデータを生成し、把持可能な各指の関節角度のデータを発見したときには、代表点のデータに基づいて座標を設定して、手及び指の配置と物体との位置合わせを行い、位置合わせをした位置を初期値として、指ごとの接触点群のデータに従って手及び指の最適な配置を決定する。
【０００８】
本発明の把持姿勢生成装置は、小分類把持姿勢のデータを含む階層が大分類把持姿勢のデータを含む階層の下位にあり、大分類把持姿勢のデータは、小分類把持姿勢の少なくとも１つの指又は手のひらに関連付けされ、物体を把持する際に対向して物体に接触する仮想指を有し、仮想指が接触する面の間の距離によって、物体の形状特徴量のデータを抽出するようにしてもよい。
【０００９】
本発明の把持姿勢生成方法は、本発明の把持姿勢生成装置により実行される。
【００１０】
本発明の把持姿勢生成プログラムは、ネットワーク又は光ディスク等の記憶媒体を介してコンピュータにインストールされて、コンピュータ上で実行されて、把持姿勢生成装置として動作させる。また、本発明の把持姿勢生成プログラムは、サーバにインストールされており、ネットワークを介して、クライアントコンピュータにおいて実行されて把持姿勢生成装置として動作させる。
【発明の効果】
【００１１】
本発明の把持姿勢生成装置、把持姿勢生成方法又は把持姿勢生成プログラムによれば、データベース内に存在する指の角度のデータを探索し、データベースに存在しない場合には、指の角度のデータを生成することによって、膨大な反復計算を行うことなく、短時間で多様な把持姿勢のデータを生成することができる。
【００１２】
本発明の把持姿勢生成装置、把持姿勢生成方法又は把持姿勢生成プログラムは、データベースに大分類把持姿勢のデータを含む階層をさらに有し、より分類数の少ない大分類把持姿勢が、仮想指を有し、仮想指が把持対象の物体の面の間の距離を形状特徴量として抽出するようにしたときには、より高速に適切な把持姿勢を生成することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明が適用された把持姿勢生成装置の構成例を示したブロック図である。
【図２】大分類把持姿勢、小分類把持姿勢及び仮想指の各データの関連付けを示す図である。
【図３】（Ａ）〜（Ｄ）は、大分類把持姿勢の分類及びそれぞれの姿勢を説明するための図である。
【図４】大分類把持姿勢の１つである挟持把持姿勢（Ｐｉｎｃｈ型）とこれに属する小分類把持姿勢の対応を示す図である。（Ａ）が指尖把握型（Ｔｉｐ型）、（Ｂ）が側面把握型（Ｌａｔ型）、（Ｃ）が内転把握型の把持姿勢（Ａｄｄ型）である。
【図５】大分類把持姿勢の１つである平行把持姿勢（Ｐａｒａｌｌｅｌ型）とこれに属する小分類把持姿勢の対応を示す図である。（Ａ）が握力把握標準型（ＰｏＳ型）、（Ｂ）が握力把握鈎型（ＰｏＨ型）、（Ｃ）が並列軽屈曲把握型（ＰＭＦ型）、（Ｄ）が握力把握示指伸展型（ＰｏＩ型）、（Ｅ）握力把握伸展型（ＰｏＥ型）、（Ｆ）が並列伸展把握型（ＰＥ型）である。
【図６】大分類把持姿勢の１つである包囲把持姿勢（Ｃｉｒｃｕｌａｒ型）とこれに属する小分類把持姿勢の対応を示す図である。（Ａ）が三面把握型（Ｔｐｄ型）、（Ｂ）が三面把握亜型Ｉ（ＴｐｄＶ１型）、（Ｃ）が三面把握亜型ＩＩ（ＴｐｄＶ２型）、（Ｄ）が三面把握亜型ＩＩＩ（ＴｐｄＶ３型）、（Ｅ）が包囲軽屈曲把握型（ＣＭＦ型）である。
【図７】大分類把持姿勢ごとの形状特徴量のデータを求めるための座標設定を示す図である。（Ａ）が挟持把持姿勢（Ｐｉｎｃｈ型）に、（Ｂ）が平行把持姿勢（Ｐａｒａｌｌｅｌ型）に、（Ｃ）が包囲把持姿勢（Ｃｉｒｃｕｌａｒ型）に対応する図である。
【図８】（Ａ）〜（Ｅ）は、索引付けされた小分類把持姿勢の１つである握力把握標準型（ＰｏＳ型）把持姿勢の形状特徴量のデータごとに索引付けされた把持姿勢を示す図である。
【図９】（Ａ）〜（Ｃ）は、小分類把持姿勢の１つである側面把握把持姿勢（Ｌａｔ型）の代表点及び接触点群の関連付けを説明するための図である。
【図１０】（Ａ）〜（Ｃ）は、小分類把持姿勢の１つである伸展把握把持姿勢（ＰＥ型）の代表点及び接触点群の関連付けを説明するための図である。
【図１１】仮想指上の代表点に基づいて座標系を生成し、把持対象の物体の座標系と合わせることによって、手の配置を決定することを説明するための図である。
【図１２】（Ａ）〜（Ｆ）は、把持可能な物体の部分の形状及び把持する方向によって把持可能なパターンの分類を示す図である。
【図１３】小分類把持姿勢ごとに、図１２における把持可能なパターンの対応を示す図である。
【図１４】（Ａ）〜（Ｄ）は、把持位置によって幅の異なる物体に対して、各指の角度が最適に設定され自然な姿勢で把持している様子を示す図である。
【図１５】（Ａ）〜（Ｅ）は、把持対象の物体の把持位置を指定することによって、適切な把持姿勢を生成した結果を示す図である。
【図１６】（Ａ）〜（Ｌ）は、把持姿勢を小分類把持姿勢から選択することによって、適切な把持位置を検出し、適切な把持姿勢を生成した結果を示す図である。
【図１７】本発明が適用された把持姿勢生成装置及び把持姿勢生成プログラムの動作を説明するためのフローチャートの一例である。
【発明を実施するための形態】
【００１４】
［把持姿勢生成装置の構成］
図１は、本発明が適用された把持姿勢生成装置の構成例を示すブロック図である。把持姿勢生成装置１０は、手及び指の姿勢に関するデータベース２０を記憶する記憶部１１と、把持対象の物体の形状を入力する入力部１２と、把持姿勢を生成する把持姿勢生成部１３と、生成された把持姿勢を出力する出力部１４とを備える。
【００１５】
記憶部１１は、把持姿勢等のデータからなるデータベース２０が保存されており、把持姿勢生成部１３と接続されて、データのやりとりを行う。記憶部１１は、ハードディスク装置のような読み書き可能な記憶装置であることが好ましいが、ハードディスク装置に限らず、フラッシュメモリのような固体メモリであってもよく、その他の記憶装置を用いることができる。
【００１６】
入力部１２は、把持姿勢生成部１３に接続され、データを把持姿勢生成部１３に提供する。入力部１２には、キーボード、マウス等の入力装置が用いられる。タッチパネルを用いることによって、出力部１４に出力されるデータと同一画面上でデータを入力するような装置を用いることもでき、その他の入力装置を用いることができる。あるいは、入力するためのデータをファイルとして保存した他の記憶装置を用いることによってもデータの入力を行うことができる。
【００１７】
把持姿勢生成部１３は、記憶部１１と接続され、データベース２０にアクセスし、データベース２０上のデータを探索し、データベース２０上からデータを取り出し、データベース２０上にデータを書き込む等、データベース２０とデータのやり取りをすることができる。また、把持姿勢生成部１３は、入力部１２からの入力されたデータに基づいて、記憶部１１にアクセスしデータベース２０のデータに基づいて所定の処理を行うこともできる。把持姿勢生成部１３は、ＣＰＵの指令によって入力部１２から入力されたデータをＣＰＵに接続されたＲＡＭのようなメモリに読み込んで、そのデータに基づいて、記憶部１１内のデータベース２０にアクセスしてデータの検索等する。検索したデータから新たなデータを生成して、再度、データベース２０内に書き込むことができるのは上述したとおりである。書き込んだデータに基づいて、出力すべきデータに処理する。そして、処理されたデータを出力部１４に出力することを制御する。これら一連の制御を行い、所望の把持姿勢生成を行う。
【００１８】
出力部１４は、把持姿勢生成部１３に接続され、把持姿勢生成部１３によって生成された把持姿勢を画面上に表示するディスプレイである。ディスプレイに限らずプリンタや、他の記憶装置にファイル形式で出力してもよい。
【００１９】
図１の構成例においては、記憶部１１、入力部１２、把持姿勢生成部１３及び出力部１４がスタンドアロン形式でそれぞれ適切なインタフェースで接続されているが、これらのうちの一部又は全部をネットワーク上に配置して接続してももちろんよい。
【００２０】
なお、上述のようなハードウェア構成に限らず、把持姿勢生成プログラムによって、コンピュータのＣＰＵ指令に基づいてソフトウェア的に適切な把持姿勢のデータを生成することもできる。把持姿勢生成プログラムは、ネットワーク経由でダウンロードされ、又は光ディスク等の記憶媒体によって提供され、コンピュータにインストールされる。あるいは、ネットワーク上のサーバに把持姿勢生成プログラムがインストールされ、クライアントコンピュータによってアクセスすることによって実行することもできる。
【００２１】
［データベースの構成］
データベース２０は、複数に分類された大分類把持姿勢のデータと、各大分類把持姿勢に関連付けされた小分類把持姿勢のデータと、小分類把持姿勢に関連付けられたデータとを含む。大分類把持姿勢のデータは、把持対象の物体の形状に応じた把持の姿勢に分類されており、仮想指のデータを有している。仮想指のデータは、小分類把持姿勢のデータの対応する指のデータに関連付けられる。ここで、仮想指とは、指若しくは複数の指の組み合わせ又は手のひらからなり、物体を把持する際に対向する面に接触する仮想的な指である。小分類把持姿勢のデータは、大分類把持姿勢のデータを手の位置及び指の配置等のデータによってさらに細かく分類したものである。小分類把持姿勢ごとに基本形状の物体を把持し、その際の把持姿勢のデータを物体の幅のデータによって索引付けしてデータベース２０に格納する。基本形状の物体の幅を変えて把持した際の把持姿勢のデータも物体の幅のデータで索引付けされてデータベース２０に格納される。索引付けされた把持姿勢ごとに、各指の各関節の関節角度のデータも索引付けされてデータベース２０に格納される。各仮想指に対応する指の上に配置された代表点のデータ及び対象となる指上の接触点群のデータは、小分類把持姿勢に関連付けられ、データベース２０に格納される。
【００２２】
好ましくは、大分類把持姿勢のデータは、３種類の把持姿勢のデータを含む。大分類把持姿勢のデータのうちの１つは、挟持把持姿勢（以下、Ｐｉｎｃｈ型ともいう。）のデータであり、２本の指の腹又は側面を対向させて物体をはさむ把持姿勢を表わすデータである。他の１つは、平行把持姿勢（以下、Ｐａｒａｌｌｅｌ型ともいう。）のデータであり、母指の腹と母指以外の指を平行に揃えてその指の腹又は手のひらを対向させて物体をつかむ把持姿勢を表わすデータである。残りの１つは、包囲把持姿勢（以下、Ｃｉｒｃｕｌａｒ型ともいう。）のデータであり、各指の腹又は側面で物体を包み込むようにして把持する姿勢を表わすデータである。なお、把持姿勢のデータを３種類に分類することに限らず、任意の種類に分類してもよい。
【００２３】
好ましくは、小分類把持姿勢のデータは、１４種類の把持姿勢のデータを含む。１４種類の把持姿勢のデータは、握力標準型把持姿勢（以下、ＰｏＳ型ともいう。）、握力把握鈎型把持姿勢（以下、ＰｏＨ型ともいう。）、握力把握示指伸展型把持姿勢（以下、ＰｏＩ型ともいう。）、握力把握伸展型把持姿勢（以下、ＰｏＥ型ともいう。）、側面把握型把持姿勢（以下、Ｌａｔ型ともいう。）、三面把握型把持姿勢（以下、Ｔｐｄ型ともいう。）、三面把握亜型Ｉ把持姿勢（以下、ＴｐｄＶ１型ともいう。）、三面把握亜型ＩＩ把持姿勢（以下、ＴｐｄＶ２型ともいう。）、三面把握亜型ＩＩＩ把持姿勢（以下、ＴｐｄＶ３型ともいう。）、並列軽屈曲把握把持姿勢（以下、ＰＭＦ型ともいう。）、包囲軽屈曲把握把持姿勢（以下、ＣＭＦ型ともいう。）、指尖把握把持姿勢（以下、Ｔｉｐ型ともいう。）、並列伸展把握把持姿勢（以下、ＰＥ型ともいう。）及び内転把握把持姿勢（以下、Ａｄｄ型ともいう。）の各データからなる。なお、１４種類の把持姿勢のデータに分類することに限らず、これ以上の種類に分類してもよく、これらの分類を統合等して１４種類よりも少なくしてもよい。
【００２４】
図２には、各把持姿勢の分類と関連付けを示す。図３には、大分類把持姿勢の姿勢を示す。図３（Ａ）に示すように、手の各指について、番号を振って、母指１、示指２、中指３、薬指４、小指５とし、手のひらをＰとする。図３（Ｂ）には、Ｐｉｎｃｈ型の把持姿勢によって、物体６を把持した状態を示す。Ｐｉｎｃｈ型は、母指１と示指２とによって物体６をつまむ把持姿勢である。図３（Ｃ）には、Ｐａｒａｌｌｅｌ型の把持姿勢で物体６を把持した状態を示す。Ｐａｒａｌｌｅｌ型は、母指１とほぼ平行に配置した示指２から小指５とを物体６に対して対向させるようにして、物体６をつかむ把持姿勢である。図３（Ｄ）には、Ｃｉｒｃｕｌａｒ型の把持姿勢で物体６を把持した状況を示す。
【００２５】
ここで、物体６に対して対向して物体６に接触する指又は手のひらを、指単独又は複数の指を組み合わせることによって、仮想指とする。図２において、例えばＰｏＳ型の行でＶＦ１の列にＰとあるのは、手のひらＰを第１の仮想指ＶＦ１とし、示指２から小指５をまとめて第２の仮想指ＶＦ２として、物体６を把持することを表わす。物体６に対して対向する部位としては、指の腹、指の側面、手のひらＰがあるが、図２に示すようにＰｏＳ型においては、手のひらＰが対向部位となる。なお、この場合の手のひらＰに対するもう一方の対向部位は指の腹である。指の腹同士が対向し、指の側面同士が対向する。図２においては、大分類把持姿勢と小分類把持姿勢との関連付けも示される。
【００２６】
図４には、Ｐｉｎｃｈ型の大分類把持姿勢に関連付けされる各小分類把持姿勢の形態を示す。図４（Ａ）がＴｉｐ型であり、母指１及び示指２の指の腹同士で物体６をはさむ把持姿勢である。図４（Ｂ）がＬａｔ型であり、母指１及び示指２の指の側面同士で物体６を挟む把持姿勢である。図４（Ｃ）がＡｄｄ型であり、示指２及び中指３の指の側面で物体６をはさむ把持姿勢である。
【００２７】
図５には、Ｐａｒａｌｌｅｌ型の大分類把持姿勢に関連付けられる各小分類把持姿勢の形態を示す。図５（Ａ）がＰｏＳ型、図５（Ｂ）がＰｏＨ型であり、いずれも手のひら及び示指２〜小指５によって物体６をつかむ把持姿勢であり、母指１が物体６に添えられる場合をＰｏＳ型といい、母指１が物体６から離れているのをＰｏＨ型という。図５（Ｃ）がＰＭＦ型であり、母指１及びほぼ並列に配された示指２〜小指５の指の腹同士で物体６をつまむように把持する姿勢である。図５（Ｄ）がＰｏＩ型であり、ＰｏＳ型、ＰｏＨ型と同様に、手のひらＰを対向部位として物体６をつかむ姿勢だが、示指２を物体から離して把持に関与せず、中指３、薬指４及び小指５で物体６を把持する姿勢である。図５（Ｅ）がＰｏＥ型であり、母指１とほぼ平行に配された示指２、中指３、薬指４及び小指５とを進展させて物体６を把持する姿勢である。図５（Ｆ）がＰＥ型であり、ＰｏＥ型が伸展させた指全体で把持するのに対して、各指の先端寄りの位置で把持する姿勢である。
【００２８】
図６には、Ｃｉｒｃｕｌａｒ型の大分類把持姿勢に関連付けられる各小分類把持姿勢の形態を示す。（Ａ）〜（Ｅ）のいずれも母指１〜小指５によって、物体を包み込むように把持する姿勢である。図６（Ａ）がＴｐｄ型であり、ペンのような物体６を把持する姿勢である。図６（Ｂ）がＴｐｄＶ１型であり、スプーンのような物体６を把持する姿勢である。図６（Ｃ）がＴｐｄＶ２型であり、毛筆のような物体６を把持する姿勢である。図６（Ｄ）がＴｐｄＶ３型であり、印鑑のような物体６を把持する場合の姿勢である。図６（Ｅ）がＣＭＦ型であり、ボールのような物体６を把持する姿勢である。
【００２９】
図７には、把持対象の物体の形状特徴量のデータを抽出するために、物体に設定される座標を示す。図７（Ａ）において、Ｐｉｎｃｈ型の場合には、第１の仮想指ＶＦ１と第２の仮想指ＶＦ２の間に座標軸をとり、第１及び第２の仮想指ＶＦ１，ＶＦ２の接触面間の距離をその物体の形状特徴量のデータとする。例えば、物体６をはさむ、母指１と示指２との指の間の距離である。図７（Ｂ）において、Ｐａｒａｌｌｅｌ型の場合には、第１の仮想指ＶＦ１が１本であり、第２の仮想指ＶＦ２が複数本である。１本の第１の仮想指ＶＦ１に対して、複数本のうちのそれぞれの第２の仮想指ＶＦ２までの距離をその物体の形状特徴量のデータとする。実際に物体を把持させた場合に、物体の長さによっては、第２の仮想指のうちの何本かの指が物体に接触しないこともある。そのような場合には、接触しない指については、形状特徴量のデータを０とすればよい。図７（Ｃ）において、Ｃｉｒｃｕｌａｒ型の場合には、第１の仮想指ＶＦ１、第２の仮想指ＶＦ２に加えて、第３の仮想指ＶＦ３によって、物体を包み込むように把持する。したがって、第１の仮想指ＶＦ１と第２の仮想指ＶＦ２との接触面間の距離を物体の形状特徴量のデータとするとともに、ＶＦ１とＶＦ２とからなる座標に直交するようにして第３の仮想指との距離も形状特徴量のデータとする。これらの大分類把持姿勢のデータと仮想指のデータとの関連付けは、入力された把持対象の物体における部分形状のデータから手の姿勢のデータを生成する場合に用いられる。図２に示すように、各仮想指のデータは、小分類把持姿勢の各指のデータにも関連付けられている。なお、大分類把持姿勢のデータが本データベース２０上になくとも、本発明の把持姿勢生成装置を動作させることが可能である。しかしながら、かかる場合には、索引付けされた小分類把持姿勢すべてについて、把持可否を判断する必要が生じ、把持姿勢の生成速度が遅くなるため、大分類把持姿勢及び仮想指のデータを用いて物体の形状特徴量を抽出するのが好ましい。また、大分類把持姿勢、小分類把持姿勢、索引付けされた小分類把持姿勢のデータをそれぞれ含むデータベース２０上の階層に、さらに階層を設けてデータの細分化をしたり、データの集約化をすることが可能なのは言うまでもない。
【００３０】
小分類把持姿勢ごとに、把持対象の物体を把持した姿勢で、その把持姿勢のデータを取得してデータベース２０に格納する。把持する物体の幅を変えて複数の把持姿勢のデータを取得し、物体の幅によって索引付けされた把持姿勢のデータをデータベース２０に格納する。さらに、各指の姿勢のデータを取得するために各関節の角度測定をし、関節角度のデータを索引付けしてデータベース２０に格納する。関節角度のデータを含む把持姿勢のデータの取得には、データグローブを用いて取得することができる。データグローブは、光ファイバの屈曲を利用したセンサ、磁気抵抗効果を用いたセンサ、あるいは歪みゲージを用いたセンサ等によって、指の関節の角度を高分解能で測定する装置である。なお、モーションキャプチャシステムやＭＲＩ装置等を用いることによっても手の姿勢、指の角度を測定することができる。
【００３１】
取得していない物体の幅についての把持姿勢のデータは、指が接触する面の間の距離に応じて指の関節角度が変化することを利用して求めることができる。すなわち、あらかじめ取得された把持姿勢のデータに関連付けられている接触面間の距離と関節角度のデータから線形補間計算をすることによって、未測定の関節角度のデータを生成することができる。生成された補間データは索引付けされて関節角度のデータとして、データベース２０に格納される。図８には、索引付けされたＰｏＳ型の把持姿勢の例を示す。枠で囲った把持姿勢が、実測によって取得されたデータに基づく把持姿勢であり、枠で囲っていない把持姿勢は、実測された把持姿勢のデータの仮想指の間の距離とそれに対応した各関節の角度のデータから、補間計算によって生成されたデータに基づく把持姿勢である。図に記載された数字が物体の幅として索引付けしたものである。
【００３２】
図９、１０に示すように、小分類把持姿勢のデータごとに、仮想指に対応する指上に代表点７のデータが設定される。代表点７は、図９（Ｂ）に示すように、２つの仮想指を有する把持姿勢については、第１の仮想指ＶＦ１上に１つ、第２の仮想指ＶＦ２上に２つ設定される。３つの仮想指を有する把持姿勢については、図１０（Ｂ）に示すように、各仮想指に１つずつ代表点７が設定される。これら３つの代表点の位置のデータから、３次元空間内における手の位置及び方向の６次元のデータを一意に決定することができる。
【００３３】
また、図９（Ｃ）、図１０（Ｃ）に示すように、小分類把持姿勢のデータごとに、各指に接触点８のデータが設定される。接触点８は、実際の接触部位から経験的に設定することができる。接触点のデータを各指に設定することによって、把持対象の物体との位置合わせの最適化に用いることができる。
【００３４】
代表点７のデータは、図１１に示すように、把持姿勢生成部１３で生成された把持姿勢の把持位置の初期値となる座標を設定し、物体６に生成された座標と合わせて、手の配置を決定するのに用いられる。また、接触点８のデータは、決定した手の配置を任意のアルゴリズムを用いることによって、最適な位置に設定するのに用いられる。
【００３５】
なお、上述した代表点７及び接触点８を配置する位置は、一例であって、任意の位置に配置することができる。
【００３６】
［把持姿勢生成装置の動作］
本発明が適用された把持姿勢生成装置１０の動作を、図１７に示すフローチャートを用いて説明する。
【００３７】
本発明が適用された把持姿勢生成装置１０には、入力部１２から入力する情報として、３次元モデル化された把持対象の物体のデータを入力する。そして、把持姿勢に関して、小分類把持姿勢のデータの１４分類のうちから把持姿勢のデータを選択して入力することができ、あるいは、把持姿勢を入力しなくとも、その物体を把持できる小分類把持姿勢を適切な把持姿勢すべてを出力させることもできる。また、把持位置に関して、把持対象の物体の把持する部分をユーザが指定して入力することができ、ユーザが把持位置を指定しない場合には、ランダムに抽出した複数の位置に対して、それぞれ適切な把持姿勢を生成することもできる。
【００３８】
図１７に示すように、ステップＳ１，Ｓ２において、入力部１２によって、把持対象の物体６のデータが入力される。小分類把持姿勢のデータを選択して入力することができる。小分類把持姿勢のデータを選択する場合には、ディスプレイ画面上に各小分類把持姿勢のデータをサムネイルで表示し、ユーザの選択により入力するようにしてもよい。
【００３９】
ステップＳ３において、入力部１２からデータを受け取った把持姿勢生成部１３は、物体表面をトレースすることによって物体の形状特徴量のデータを抽出する。
【００４０】
物体の形状特徴量のデータの抽出の方法について説明する。把持姿勢生成部１３は、把持可能な位置を検出するために、物体６表面にランダムに点群を発生させ、そこから選ばれた点を出発点として物体６表面上をトレースする。
【００４１】
ここで、一般的に物体は、図１２（Ａ）〜（Ｆ）に示すように、把持の方向によって把持可能か否かが判断される。図１２（Ａ）〜（Ｆ）においては、物体を把持した際に、両側の相反する面に指が届くか、手前から奥の面まで指が回り込むことができるかを矢印で示す。物体を支持できる程度に指が物体に回らない場合には“０”、指が両側の面に届いて物体を支持できる場合には“１”、指が奥の面まで届く場合には“２”と表わす。より具体的には、それぞれの端点における法線の方向の角度の変化がπ未満であれば“０”、π以上２π未満であれば“１”、２π以上であれば“２”とする。このように表わすと、把持可否のパターンは、図１２のように６種類に分類できる。図１２（Ａ）では、例えば手よりも大きな平板状の物体において、平板の平面の方向については、どの方向においても指が届かないため、０−０と表わす。図１２（Ｂ）では、例えば平板状の物体において、平板の側面からの把持に対しては、平板の厚さ方向、すなわち左右の面には指が届くが、平板の高さ方向、すなわち上下の面には指が届かないことを、１−０と表わす。図１２（Ｃ）では、例えば柱状の物体を側面から把持する場合において、物体の周方向には奥まで指が回るが、物体の高さが高く、この方向には指が回らないので、２−０と表わす。図１２（Ｄ）では、例えば柱状の物体を端部から把持する場合において、高さ方向のいずれの側面についても指が届くので、１−１と表わす。図１２（Ｅ）では、柱状の物体において、柱の周方向には奥まで指が回り、柱の高さ方向の面にも指が届くので、２−１と表わす。図１２（Ｆ）では、例えば球状の物体において、いずれの方向においても、指が奥まで届くので、２−２と表わす。
【００４２】
なお、図１３に、小分類把持姿勢ごとに、図１２（Ｂ）〜（Ｆ）に示す分類についてそれぞれの把持が可能かをまとめた。○印は、把持可能であることを示し、△印は、例えば物体の幅等の条件によって、把持が可能な場合があることを示す。物体表面のトレースの結果から、把持可能な部分がその物体に存在するかどうかを検出し、把持可能な小分類把持姿勢を生成する。把持可能か否かを判定するに当たって、図１３の表を用いてもよい。
【００４３】
その小分類把持姿勢の属する大分類把持姿勢の仮想指が、その物体に対して、１又は２、すなわちその物体の側面を支持できるか、その物体の奥まで指を回すことができるか検出する。
【００４４】
上述した物体表面のトレース結果から、把持可能であると把持姿勢生成部１３によって判断された場合には、把持姿勢生成部１３は、物体の把持可能な位置にローカル座標を設定する。それぞれの端点における法線ベクトルが逆向きになっている面を対立面とすると、図１１に示すように、トレース結果が１又は２の場合に、物体６の対立面の法線方向をｘ軸、第２種方向にｙ軸、ｘｙ平面に垂直な方向をｚ軸とすることができる。ｚ軸又はｙ軸の周りに座標系を回転させることによって、別のローカル座標系を設定してもよい。それぞれの軸について９０度間隔で回転させ、１箇所に対して最大で１２通りのローカル座標系を設定することができる。なお、ローカル座標系は、上述の場合に限らず、任意に設定することができるのは言うまでもない。
【００４５】
大分類把持姿勢がＰｉｎｃｈ型の場合には、図７（Ａ）に示すように、ｘ軸方向の対立面の距離が第１の仮想指ＶＦ１及び第２の仮想指ＶＦ２接触面間距離となり、これを形状特徴量のデータとする。大分類把持姿勢がＰａｒａｌｌｅｌ型の場合には、図７（Ｂ）に示すように、第２の仮想指として複数の指が用いられるので、ｙ軸方向に指の太さの分ずつシフトさせた位置における対立面間の距離を接触面間距離とし、それぞれ形状特徴量のデータとする。なお、図７（Ｂ）の第２の仮想指のうちの一番下側にある指のように、物体に外部にあって物体に接触していない場合には、把持に加わらない指として扱う。例えば接触面間距離を０とする。大分類把持姿勢がＣｉｒｃｕｌａｒ型の場合には、図７（Ｃ）に示すように、対向する第１及び第２の仮想指ＶＦ１，ＶＦ２に加えて、第３の仮想指ＶＦ３がある。第３の仮想指ＶＦ３は、第１及び第２の仮想指ＶＦ１，ＶＦ２からなるｘ座標軸に直交するｙ座標軸として扱う。以上のようにして、仮想指の接触面間距離を測定することによって、把持対象の物体６の形状特徴量のデータを抽出する。
【００４６】
ステップＳ４において、抽出された形状特徴量のデータをクエリとしてデータベース２０にアクセスし、把持姿勢生成部１３は、該当する索引付けされた小分類把持姿勢のデータを探索する。
【００４７】
ステップＳ５において、把持姿勢生成部１３は、該当する索引付けされた小分類把持姿勢のデータをデータベース２０中に発見した場合には、次のステップＳ７に進む。
【００４８】
データベース２０中に見つからなかった場合には、ステップＳ６において、把持姿勢生成部１３は、各指の間の距離及び各指の関節角度のデータを補間生成し、データベース２０に書き込む。小分類把持姿勢がＰａｒａｌｌｅｌ型やＣｉｒｃｕｌａｒ型の場合には、１つの仮想指に対して複数の指が関連するため、データベース２０に存在する把持姿勢のデータだけでは、該当するものが見つかることは少ない。そこで、データベース２０には、物体の幅の値、すなわち接触面間距離を形状特徴量のデータとして、索引付けされた小分類把持姿勢ごとに、形状特徴量のデータに対する各指の角度も索引付けされているので、複数存在する既存のこれらのデータを用いて、線形補間計算を行うことによって未知の指の関節角度を計算することができる。したがって、各指に対応する形状特徴量のデータごとに線形補間計算を行うことによって、各指の関節角度のデータを得ることができる。各指の関節角度のデータは、それぞれ独立して線形補間計算される。これによって、把持対象となる物体の把持位置の太さが異なるような場合であっても、指の接触位置によって指の関節角度のデータを補間生成することができ、自然な把持姿勢を生成することができる。なお、線形補間計算によって、新たに生成された各指の関節角度のデータは、データベース２０上に書き込まれる場合に限らず、キャッシュメモリ等他の一時記憶メモリに保存されてもよく、生成して探索に用いられた後にすぐに消去されてもよい。
【００４９】
ステップＳ７において、把持姿勢生成部１３は、把持対象の物体のデータの座標軸と探索された小分類把持姿勢の指上の代表点のデータによる座標とから、手と物体との位置合わせを行う。図１１に示すように、大分類把持姿勢のＰｉｎｃｈ型に属するＬａｔ型の場合においては、次のような方向ベクトルを設定することができる。すなわち、示指２から小指５からなる第２の仮想指の上の代表点Ｐ２から他の代表点Ｐ３に向かうベクトルをＶ３、母指１からなる第１の仮想指の代表点Ｐ１に向かうベクトルをＶ１とする。代表点Ｐ２の位置を把持対象の物体とローカル座標系の＋ｘ軸との交点を合わせ、Ｐ２−Ｖ１，Ｐ２−Ｖ３の方向をそれぞれ−ｘ方向、＋ｙ方向と合わせることによって、手の配置を決定する。
【００５０】
ステップＳ８において、把持姿勢生成部１３は、位置合わせされた手及び指の配置を、点群間の距離に基づいた最適化アルゴリズムの１つであるＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）アルゴリズムによって最適化する。ここで、ＩＣＰアルゴリズムでは、物体と把持姿勢との２つの座標系に属する点群間で点と点との対応付けを行い、対応付けされた点のペアの間の距離を最小にするように座標系間のアフィン変換を求めるという処理を反復して、最適配置を求める。なお、手の最適配置を求めるアルゴリズムは、ＩＣＰアルゴリズムに限らず、他の３次元形状位置合わせアルゴリズムを用いることができる。
【００５１】
上述した通り、図９（Ａ）のＬａｔ型においては、図９（Ｂ）に示すように、母指からなる第１の仮想指ＶＦ１上に１つ、示指から小指からなる第２の仮想指ＶＦ２上に２つの代表点７を有しており、母指上及び示指の側面上に接触点８を有するようにデータベース２０上に設定される。他の例として、図１０（Ａ）に示すようなＰｏＥ型（並列伸展把握型把持姿勢）の場合には、図１０（Ｂ）に示すように第１の仮想指上に１つ、第２の仮想指のうちの示指と中指に１つずつ代表点７を置き、図１０（Ｃ）に示すように示指から小指の指の腹側と、母指の腹に接触点８を置く。このように、すべての小分類把持姿勢に対して、代表点７、接触点８が設定されているのは上述したとおりである。なお、これらの点は、上述あるいは図示したものに限らず、任意に設定し、データベース２０上で設定できることは言うまでもない。
【００５２】
把持位置近傍に発生させた接触点群を、ＩＣＰアルゴリズムのための物体の表面の点群として用いる。
【００５３】
ステップＳ８において、配置の最適化のための計算を反復して行うと、把持姿勢によっては、物体６に配置された一部の指が埋もれた状態で生成されたり、物体６から一部の指が離れてしまう場合がある。そこで、ステップＳ８において、反復された配置の状態のデータを毎回記憶しておく。そして、物体６と各指との衝突判定を行いながら、埋まっている指については、埋まってしまう直前の状態を探索し、接触していない指については、物体６に接触するまで屈曲させることによって最終的な最適配置を決定することができる。
【００５４】
ステップＳ９において、出力部１４によって、適切な把持姿勢を出力する。
【００５５】
図１７のステップＳ２において、把持姿勢を入力しなくても、把持姿勢生成装置１０は、大分類把持姿勢の分類に従って、把持対象の物体の表面形状をトレースして把持可否を判断することができる。そして、把持可能な大分類把持姿勢に基づいて、形状特徴量を抽出することができる。ステップＳ３以降は、上述した把持姿勢生成装置の動作の場合と同様に動作させることができる。把持可能と検出した把持姿勢ごとに図１７のフローチャートが適用される。図１５（Ｂ）〜（Ｅ）に示すような把持姿勢を、このような方法によっても自動的に生成することができる。
【００５６】
図１７のステップＳ２を、小分類把持姿勢のデータを選択して入力するステップに代えて、物体６の把持部分を指定するステップとしてもよい。本発明が適用された把持姿勢生成装置１０においては、小分類把持姿勢のデータが指定されない場合であっても、物体における把持位置を入力することによって、把持姿勢生成装置１０が、適切な小分類把持姿勢のデータを１つ以上選択し、出力することができる。
【００５７】
物体の把持位置が指定された場合においては、小分類把持姿勢が決定されていないので、大分類把持姿勢の各々に対して接触面間距離を求め、形状特徴量のデータを抽出する。図１７のステップＳ３において、把持姿勢生成部１３は、３種類の大分類把持姿勢のデータのそれぞれについて、入力された把持対象の物体の表面をトレースすることによって、１又は２が出力されるかを検出する。
【００５８】
１又は２が出力され、把持可能であることを検出された大分類把持姿勢のデータのそれぞれに対して、把持対象の物体のデータに対してローカル座標を設定する。複数通りのローカル座標を設定することができるのは、上述した小分類把持姿勢を入力した場合と同様である。そして、把持可能と検出された大分類把持姿勢のデータについて、仮想指間ごとに接触面間距離を求めることも上述した小分類把持姿勢のデータを入力した場合と同様にして、把持対象の物体６の形状特徴量のデータを抽出する。
【００５９】
ステップＳ４以降は、上述した小分類把持姿勢のデータを入力した場合と同様であるが、ステップＳ４において、形状特徴量のデータをクエリとして、データベース２０を探索し、ステップＳ６において、各指の関節角度のデータの生成することによって、多数の把持姿勢が生成される。ステップＳ７以降は、生成された把持姿勢の個数分だけ反復して実行される。
【００６０】
ユーザが把持位置を指定しない場合であっても、把持姿勢生成装置１０が、把持対象の物体に対して、大分類把持姿勢の分類に基づいて、物体表面をトレースし、形状特徴量を抽出することによって、把持可能な部分をランダムに設定する。そして、設定した把持位置に対して、適切な把持姿勢を生成することができる。かかる場合には、設定された把持位置に対して、把持可能と判断された把持姿勢ごとに図１７のフローチャートが適用される。図１５（Ｂ）〜（Ｅ）に示すような把持位置９を、このような方法によっても自動的に生成することができ、把持位置ごとに適切な把持姿勢を生成することができる。
【００６１】
したがって、把持姿勢生成装置１０においては、ユーザが把持姿勢又は把持位置のいずれか又は両方を指定することによって、適切な把持姿勢を生成することができるほか、把持姿勢及び把持位置いずれも指定しなくても、適切な把持姿勢を生成することができる。
【００６２】
［生成結果］
図１４に示すように、指ごとに関節角度のデータを補間生成することによって、把持位置によって太さや幅の異なる物体を把持した場合でも自然な把持姿勢のデータを生成することができる。
【００６３】
ユーザは、把持する対象となる物体のデータを入力し、その物体のデータの把持位置に相当する箇所を指定するだけで、把持するその箇所に対応した適切な把持姿勢のデータを生成することができる。図１５（Ａ）には、把持対象の物体６として、フライパンの形状のデータを入力する。なお、把持対象の物体を３次元モデルのデータとして入力するのに、３次元物体の情報を記述するためのファイルフォーマットであるＶＲＭＬ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）形式を用いることができ、他にポリゴンデータ、パラメトリック曲面又は詳細な点群データ等を用いることができる。物体６に対して、そのフライパンの柄に相当する部分を把持指定位置９としてユーザが指定すると、図１５（Ｂ）に示すように、本発明が適用された把持姿勢生成装置１０は、その柄の部分を把持可能か否か判定し、適切な把持姿勢を小分類把持姿勢のデータから選択する。図１５（Ｃ）に示すように、フライパン本体の縁の部分を指定しても適切な把持姿勢のデータを選択し、生成する。図１５（Ｄ）に示すように、フライパンの底部の周縁を指定しても、図１５（Ｅ）に示すように、柄の先端部分を指定しても適切な把持姿勢の３次元モデルデータを生成する。
【００６４】
また、図１６（Ａ）〜（Ｌ）に示すように、ユーザが把持対象の物体のデータとともに小分類把持姿勢のデータを入力すれば、本発明が適用された把持姿勢生成装置１０は、把持可能な部分を検出して適切な姿勢で把持する３次元モデルのデータを生成することができる。なお、小分類把持姿勢のデータを入力する場合には、小分類把持姿勢の分類名を指定してもよいが、あらかじめ各小分類把持姿勢のデータのサムネイル等を入力画面上に配置することによって、ユーザがそれを選択できるようにしてもよい。ここで、把持姿勢生成装置１０によって、ハサミのように物理的に離れた部分を有する物体を把持する把持姿勢を生成しようとする場合には、把持対象の物体の離れた部分それぞれに対して、形状特徴量を抽出し、把持姿勢を生成する。したがって、図１６（Ｇ）、（Ｈ）のように、物理的に離れた柄の部分を、またがるように把持させた把持姿勢を生成するためには、把持対象の物体を、物体の離れた部分を含む、３次元空間に配置した点を含む最小の凸図形である凸包体形状とする必要がある。把持姿勢生成装置１０に入力された物体６の形状に基づいて、例えば凸包体を生成する他のプログラムを用いて、その物体６の凸包体を生成して、その凸包体を把持姿勢生成装置１０に入力する。入力された凸包体の形状に基づいて、把持姿勢生成装置１０によって、形状特徴量が抽出され、適切な把持姿勢が生成される。
【００６５】
いずれの場合においても、把持姿勢生成装置１０によって自動的に把持姿勢を生成するのに限らず、物体に対する手の位置や各指の関節角度等のデータについては、入力部１２を介してユーザがインタラクティブに調整することもでき、さらに最適な把持姿勢のデータとすることができる。
【００６６】
従来技術においては、７万回の反復計算を行った結果、１４個の把持姿勢のデータを生成するのに２７７秒を要した。同一のコンピュータシステムを用いて、本発明が適用された把持姿勢生成装置を用いることによって、２５０個の把持姿勢のデータを生成するのに、１２．７６秒を要したに過ぎない。
【００６７】
従来技術においては、物体の形状と手の位置又は指の角度との対応付けを行わずに、すべての自由度について同時に最適化しようとするために、膨大な反復計算が必要になり、計算時間が長くかかった。本発明の把持姿勢生成装置によれば、把持対象の物体を把持姿勢の分類及び接触面間距離によって、把持可否を判定し、各把持姿勢のデータの各指の角度を接触面間距離のデータに関連付けをするので、従来技術よりも高速に、自然な把持姿勢のデータを生成することができる。したがって、より多くの把持姿勢のデータを生成することができるとともに、ユーザがインタラクティブに把持姿勢や把持位置を調整することができる。
【符号の説明】
【００６８】
１  母指、２  示指、３  中指、４  薬指、５  小指、６  物体、７  代表点、８  接触点、９  把持指定位置、１０  把持姿勢生成装置、１１  記憶部、１２  入力部、１３  把持姿勢生成部、１４  出力部、２０  データベース、Ｐ  手のひら
【図１】
2013045385.tif 000003
【図２】
2013045385.tif 000004
【図３】
2013045385.tif 000005
【図４】
2013045385.tif 000006
【図５】
2013045385.tif 000007
【図６】
2013045385.tif 000008
【図７】
2013045385.tif 000009
【図８】
2013045385.tif 000010
【図９】
2013045385.tif 000011
【図１０】
2013045385.tif 000012
【図１１】
2013045385.tif 000013
【図１２】
2013045385.tif 000014
【図１３】
2013045385.tif 000015
【図１４】
2013045385.tif 000016
【図１５】
2013045385.tif 000017
【図１６】
2013045385.tif 000018
【図１７】
2013045385.tif 000019
【手続補正書】
【提出日】平成24年6月21日(2012.6.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物体を把持する際の手及び指の姿勢に関するデータベースを記憶する記憶部と、
上記物体の形状のデータを入力する入力部と、
入力された上記物体の形状のデータ及び上記データベースに基づいて、該物体を把持した状態の把持姿勢のデータを生成する把持姿勢生成部と、
上記把持姿勢生成部において生成された把持姿勢のデータを出力する出力部とを備え、
上記データベースは、
少なくとも上記手及び指の姿勢に関するデータを有する小分類把持姿勢のデータを含む階層と、該小分類把持姿勢のデータに関連付けされ、幅の異なる基本形状を有する物体を把持した状態で取得され、該幅によって索引付けされた索引小分類把持姿勢のデータを含む階層とを有し、
上記索引小分類把持姿勢のデータには、索引付けされた各指の各関節角度が関連付けられ、上記小分類把持姿勢のデータには、指上に設定された代表点のデータ及び接触点群のデータが関連付けられており、
上記把持姿勢生成部は、
上記入力された物体の表面又は該入力された物体のデータに基づいて生成された該物体の凸包体の表面をトレースして、該入力された物体を把持した際に、上記索引小分類把持姿勢の有する指が把持可能であるかを検出して、該索引小分類把持姿勢のデータに関連付けられ、索引付けされた各指の各関節角度のデータを探索し、
上記各指の各関節角度のデータが上記データベースに存在しない場合には、該データベース内に存在する該各指の関節角度のデータを補間計算することによって新たに各指の関節角度のデータを生成し、
把持可能な上記各指の関節角度のデータを発見したときには、上記代表点のデータに基づいて座標を設定して、上記手及び指の配置と上記物体との位置合わせを行い、
上記位置合わせをした位置を初期値として、上記指ごとの接触点群のデータに従って上記手及び指の最適な配置を決定することを特徴とする把持姿勢生成装置。
【請求項２】
上記小分類把持姿勢のデータを含む階層は、大分類把持姿勢のデータを含む階層の下位の階層にあり、
上記大分類把持姿勢のデータは、上記小分類把持姿勢の少なくとも１つの指又は手のひらに関連付けされ、物体を把持する際に対向して該物体に接触する仮想指を有し、
上記仮想指が接触する該物体の面の間の距離によって、上記物体の形状特徴量のデータを抽出し、
上記物体の形状特徴量のデータに基づいて、上記索引小分類把持姿勢のデータを探索することを特徴とする請求項１記載の把持姿勢生成装置。
【請求項３】
上記各指の関節角度のデータは、該各指ごとに独立して決定されることを特徴とする請求項２記載の把持姿勢生成装置。
【請求項４】
上記最適な配置を決定するのに、点群間の距離に基づいた最適化アルゴリズムを用いることを特徴とする請求項２又は３記載の把持姿勢生成装置。
【請求項５】
上記手及び指の最適な配置を決定する場合において、上記物体と該手又は指との位置について衝突判定を行うことによって、調整することを特徴とする請求項２〜４いずれか１項記載の把持姿勢生成装置。
【請求項６】
上記大分類把持姿勢の分類は、２本の指の腹若しくは側面を対向させて物体をはさむ挟持把持姿勢、母指の腹と母指以外の指を平行に揃えてその指の腹若しくは手の平を対向させて物体をつかむ平行把持姿勢、又は各指の腹若しくは側面で物体を包み込む包囲把持姿勢の３種類であることを特徴とする請求項２〜５いずれか１項記載の把持姿勢生成装置。
【請求項７】
入力部によって、把持対象の物体の形状のデータを入力するステップと、
把持姿勢生成部によって、入力された上記物体の形状のデータ並びに物体を把持する際の手及び指の姿勢に関するデータベースに基づいて、該物体を把持した状態で生成される把持姿勢のデータを生成するステップと、
出力部によって、生成された把持姿勢のデータを出力するステップとを有し、
上記データベースは、
少なくとも上記手及び指の姿勢に関するデータを有する小分類把持姿勢のデータを含む階層と、該小分類把持姿勢のデータに関連付けされ、幅の異なる基本形状を有する物体を把持した状態で取得され、該幅によって索引付けされた索引小分類把持姿勢のデータを含む階層とを有し、
上記索引小分類把持姿勢のデータには、索引付けされた各指の各関節角度が関連付けられ、上記小分類把持姿勢のデータには、指上に設定された代表点のデータ及び接触点群のデータが関連付けられており、
上記把持姿勢のデータを生成するステップは、
上記入力された物体の表面又は該入力された物体のデータに基づいて生成された該物体の凸包体の表面をトレースして、該入力された物体を把持した際に、上記索引小分類把持姿勢の有する指が把持可能であるかを検出して、該索引小分類把持姿勢のデータに関連付けられ、索引付けされた各指の各関節角度のデータを探索するステップと、
上記各指の各関節角度のデータが上記データベースに存在しない場合には、該データベース内に存在する該各指の関節角度のデータを補間計算することによって新たに各指の関節角度のデータを生成するステップと、
把持可能な上記各指の関節角度のデータを発見したときには、上記代表点のデータに基づいて座標を設定して、上記手及び指の配置と上記物体との位置合わせを行い、
上記位置合わせをした位置を初期値として、上記指ごとの接触点群のデータに従って上記手及び指の最適な配置を決定するステップとを含むことを特徴とする把持姿勢生成方法。
【請求項８】
コンピュータに実行させる把持姿勢生成プログラムであって、上記コンピュータに、
把持対象の物体の形状のデータを入力するステップと、
入力された上記物体の形状のデータ並びに物体を把持する際の手及び指の姿勢に関するデータベースに基づいて、該物体を把持した状態で生成される把持姿勢のデータを生成するステップと、
生成された把持姿勢のデータを出力するステップとを実行させ、
上記データベースは、
少なくとも上記手及び指の姿勢に関するデータを有する小分類把持姿勢のデータを含む階層と、該小分類把持姿勢のデータに関連付けされ、幅の異なる基本形状を有する物体を把持した状態で取得され、該幅によって索引付けされた索引小分類把持姿勢のデータを含む階層とを有し、
上記索引小分類把持姿勢のデータには、索引付けされた各指の各関節角度が関連付けられ、上記小分類把持姿勢のデータには、指上に設定された代表点のデータ及び接触点群のデータが関連付けられており、
上記把持姿勢のデータを生成するステップは、
上記入力された物体の表面又は該入力された物体のデータに基づいて生成された該物体の凸包体の表面をトレースして、該入力された物体を把持した際に、上記索引小分類把持姿勢の有する指が把持可能であるかを検出して、該索引小分類把持姿勢のデータに関連付けられ、索引付けされた各指の各関節角度のデータを探索するステップと、
上記各指の各関節角度のデータが上記データベースに存在しない場合には、該データベース内に存在する該各指の関節角度のデータを補間計算することによって新たに各指の関節角度のデータを生成するステップと、
把持可能な上記各指の関節角度のデータを発見したときには、上記代表点のデータに基づいて座標を設定して、上記手及び指の配置と上記物体との位置合わせを行い、
上記位置合わせをした位置を初期値として、上記指ごとの接触点群のデータに従って上記手及び指の最適な配置を決定するステップとを含むことを特徴とする把持姿勢生成プログラム。