(57)【要約】【課題】従来の把持姿勢生成手法では、手や指などの端点位置を正確に指定しないと、逆運動学の問題として解くことができなかった。【解決手段】本発明の把持姿勢生成装置１０は、把持対象の物体の形状を入力する入力部１２を備える。また、入力された物体に対応した手の把持姿勢の候補である把持姿勢候補を生成する手の把持姿勢候補生成部１３と、把持姿勢候補の位置と手以外の身体上の他の位置との間の各関節の角度を求める手以外の姿勢生成部１４とを備える。また、手の把持姿勢候補生成部１３で生成された把持姿勢候補及び手以外の姿勢生成部１４で生成された手以外の姿勢を、１個以上の評価関数を用いて評価する姿勢評価部１５を備える。また、姿勢評価部１５で評価された手及び手以外の部位の姿勢を出力する出力部１６を備える。【選択図】図１
2013182554.tif 000002
【特許請求の範囲】
【請求項１】
把持対象の物体のデータを入力して、該物体を把持するのに適した手及び指の姿勢に関するデータを含むデータベースに基づいて、手の把持姿勢候補のデータを生成する手の把持姿勢候補生成部と、
手以外の身体上の他の位置のデータを入力して、該他の位置と上記手の把持姿勢候補生成部で生成された手の位置との間の関節の角度を求める手以外の姿勢生成部と、
上記手以外の姿勢生成部で生成された上記関節の角度を含む手以外の姿勢のデータを所定の評価関数に基づいて評価する姿勢評価部とを備え、
上記手の把持姿勢候補生成部は、１個以上の手の把持姿勢候補のデータを生成し、
上記手以外の姿勢生成部は、上記生成された手の把持姿勢候補のデータごとの手の位置と、上記他の位置との間の上記関節の角度を求め、上記姿勢評価部により、該関節の角度の中から最適な角度を有する手以外の姿勢のデータを生成することを特徴とする手及び手以外の把持に関与する身体部の把持姿勢生成装置。
【請求項２】
上記手の把持姿勢候補生成部は、
上記データベースを記憶する記憶部と、
入力された上記物体の形状のデータ及び上記データベースに基づいて、該物体を把持した状態の把持姿勢のデータを生成する把持姿勢生成部とを有し、
上記データベースは、
少なくとも上記手及び指の姿勢に関するデータを有する小分類把持姿勢のデータを含む階層と、該小分類把持姿勢のデータに関連付けされ、幅の異なる基本形状を有する物体を把持した状態で取得され、該幅によって索引付けされた索引小分類把持姿勢のデータを含む階層とを有し、
上記索引小分類把持姿勢のデータには、索引付けされた各指の各関節角度が関連付けられ、上記小分類把持姿勢のデータには、指上に設定された代表点のデータ及び接触点群のデータが関連付けられており、
上記把持姿勢生成部は、
上記入力された物体の表面又は該入力された物体のデータに基づいて生成された該物体の凸包体の表面をトレースして、該入力された物体を把持した際に、上記索引小分類把持姿勢の有する指が把持可能であるかを検出して、該索引小分類把持姿勢のデータに関連付けられ、索引付けされた各指の各関節角度のデータを探索し、
上記各指の各関節角度のデータが上記データベースに存在しない場合には、該データベース内に存在する該各指の関節角度のデータを補間計算することによって新たに各指の関節角度のデータを生成し、
把持可能な上記各指の関節角度のデータを発見したときには、上記代表点のデータに基づいて座標を設定して、上記手及び指の配置と上記物体との位置合わせを行い、
上記位置合わせをした位置を初期値として、上記指ごとの接触点群のデータに従って上記手及び指の最適な配置を決定することを特徴とする請求項１記載の把持姿勢生成装置。
【請求項３】
上記姿勢評価部は、上記手の把持姿勢候補生成部で生成された手の把持姿勢候補を、所定の評価関数に基づいて評価することを特徴とする請求項２記載の把持姿勢生成装置。
【請求項４】
上記姿勢評価部は、上記手の把持姿勢候補の評価結果と上記手以外の姿勢の評価結果とに基づいて、全体の把持姿勢を決定することを特徴とする請求項３記載の把持姿勢生成装置。
【請求項５】
上記姿勢評価部は、上記生成された手の把持姿勢候補ごとの手の把持姿勢候補の評価結果と上記手以外の姿勢の評価結果とに基づいて、全体の把持姿勢を求め、求めたすべての該全体の把持姿勢から最適な全体の把持姿勢を決定することを特徴とする請求項４記載の把持姿勢生成装置。
【請求項６】
上記小分類把持姿勢のデータを含む階層は、大分類把持姿勢のデータを含む階層の下位の階層にあり、
上記大分類把持姿勢のデータは、上記小分類把持姿勢の少なくとも１つの指又は手のひらに関連付けされ、物体を把持する際に対向して該物体に接触する仮想指を有し、
上記仮想指が接触する該物体の面の間の距離によって、上記物体の形状特徴量のデータを抽出し、
上記物体の形状特徴量のデータに基づいて、上記索引小分類把持姿勢のデータを探索することを特徴とする請求項２〜５いずれか１項記載の把持姿勢生成装置。
【請求項７】
上記各指の関節角度のデータは、該各指ごとに独立して決定されることを特徴とする請求項２〜６いずれか１項記載の把持姿勢生成装置。
【請求項８】
把持対象の物体のデータを入力して、該物体を把持するのに適した手及び指の姿勢に関するデータを含むデータベースに基づいて、手の把持姿勢候補のデータを生成するステップと、
手以外の身体上の他の位置のデータを入力して、該他の位置と上記生成された手の把持候補の手の位置との間の関節の角度を求めるステップと、
上記生成された手以外の姿勢を、所定の評価関数に基づいて評価するステップとを有し、
上記手の把持姿勢候補のデータを生成するステップは、１個以上の手の把持姿勢候補のデータを生成し、
上記関節の角度を求めるステップは、上記生成された手の把持姿勢候補のデータごとの手の位置と、上記他の位置との間の上記関節の角度を求め、
上記手以外の姿勢を評価するステップは、該関節の角度の中から最適な角度を有する手以外の姿勢のデータを生成することを特徴とする、手及び手以外の把持に関与する身体部の把持姿勢生成方法。
【請求項９】
上記手の把持姿勢候補のデータを生成するステップは、
入力された上記物体の形状のデータ及び上記データベースに基づいて、該物体を把持した状態で生成される把持姿勢のデータを生成するステップを含み、
上記データベースは、
少なくとも上記手及び指の姿勢に関するデータを有する小分類把持姿勢のデータを含む階層と、該小分類把持姿勢のデータに関連付けされ、幅の異なる基本形状を有する物体を把持した状態で取得され、該幅によって索引付けされた索引小分類把持姿勢のデータを含む階層とを有し、
上記索引小分類把持姿勢のデータには、索引付けされた各指の各関節角度が関連付けられ、上記小分類把持姿勢のデータには、指上に設定された代表点のデータ及び接触点群のデータが関連付けられており、
上記把持姿勢のデータを生成するステップは、
上記入力された物体の表面又は該入力された物体のデータに基づいて生成された該物体の凸包体の表面をトレースして、該入力された物体を把持した際に、上記索引小分類把持姿勢の有する指が把持可能であるかを検出して、該索引小分類把持姿勢のデータに関連付けられ、索引付けされた各指の各関節角度のデータを探索するステップと、
上記各指の各関節角度のデータが上記データベースに存在しない場合には、該データベース内に存在する該各指の関節角度のデータを補間計算することによって新たに各指の関節角度のデータを生成するステップと、
把持可能な上記各指の関節角度のデータを発見したときには、上記代表点のデータに基づいて座標を設定して、上記手及び指の配置と上記物体との位置合わせを行い、
上記位置合わせをした位置を初期値として、上記指ごとの接触点群のデータに従って上記手及び指の最適な配置を決定するステップとを含むことを特徴とする請求項８記載の把持姿勢生成方法。
【請求項１０】
上記生成された手の把持姿勢候補を、所定の評価関数に基づいて評価するステップを更に有する請求項９記載の把持姿勢生成方法。
【請求項１１】
上記生成された手の把持姿勢候補の評価結果と、上記生成された手以外の姿勢の評価結果に基づいて、全体の把持姿勢を求めるステップを更に有する請求項１０記載の把持姿勢生成方法。
【請求項１２】
請求項８〜１１いずれか１項記載の方法をコンピュータに実行させる把持姿勢生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体を把持した手の把持姿勢を含む身体上の部位の把持姿勢を生成する把持姿勢生成装置、把持姿勢生成方法及び把持姿勢生成プログラムに関する。
【背景技術】
【０００２】
キャラクタアニメーションの自動生成やヒューマノイドロボットの動作生成等、さまざまな分野において、人間らしい姿勢を生成することが求められている。物体を手で把持する姿勢については、特に人間らしい姿態を示すものとして、さまざまな種類がある。また、手の把持姿勢では、把持対象の物体の形状や、その作業目的によって把持姿勢が使い分けられており、非常に複雑で多様な姿勢を示す。したがって、このような手の把持姿勢を含む上肢の姿勢を生成するということは、手の多様かつ複雑な把持姿勢に加えて、上肢の動きを考慮しなければならず、さらに複雑で多様な姿勢を生成しなければならないとの困難さがある。
【０００３】
コンピュータグラフィクスにおいては、人体等の骨格モデルの構造は、剛体リンクが回転自由度をもった関節によって接続されたものとして扱われる。３次元空間における末端の自由度は、位置と方向を合わせて６自由度あるが、人体の関節自由度は、一般にそれよりも大きい。そのため、末端の位置が与えられた場合に各関節の関節角度を求める問題を扱う逆運動学では、冗長な自由度が存在するので、その解は一意的に求めることはできない。
【０００４】
そこで、関節角度を引数として姿勢の自然さを評価する関数を用いて、姿勢の最適化を行う手法が提案されている（たとえば、非特許文献１参照。）。
【０００５】
また、上肢を逆運動学の対象とした場合の方法として次のような方法が提案されている。すなわち、肩の関節が３自由度であり、肘の関節が２自由度であり、手首の関節が２自由度であるので、上肢における関節の自由度の合計は７である。このため、手首の関節の位置と肩の関節の位置を固定すると、肘の関節の位置は、円を描くように旋回させることができるので、このときの角度である旋回角度を与えることによって解析的に逆運動学を解くことができるというものである（たとえば、非特許文献２参照。）。
【０００６】
さらに、モーションキャプチャデータに基づいて確率密度関数を定義して関節可動域を推定する手法も提案されている（たとえば、非特許文献３及び４参照。）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】R. Timothy Marler, Jasbir S. Arora, Jingzou Yang, Hyung-Joo Kim and Karim Abdel-Malek, 「Use of multi-objective optimization for digital human posture prediction」, Engineering Optimization, Vol. 41, No. 10, pages 925-943, 2009.
【非特許文献２】Marcelo Kallmann, 「Analytical Inverse Kinematics with Body Posture Control」, Computer Animation and Virtual Worlds (CAVW), Vol.19, No.2, pages 79-91, 2008.
【非特許文献３】Hiroshi Yasuda, Suguru Saito and Masayuki Nakajima, 「Range of motion estimation from Mocap data」, In Proceedings of the 2005 International Conference on Cyberworlds, pages 483-489, 2005.
【非特許文献４】安田浩志, 齋藤豪, 中嶋正之, 「モーションキャプチャによる球関節人体モデルの関節可動域決定」, 電子情報通信学会論文誌D, J92-D(2), pages 255-261, 2009.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１あるいは非特許文献２に記載された方法では、末端の位置として特定の手の内部、表面上における特定の位置、又は指の位置（どの指であるかも含めて指定する必要がある。）を正確に指定する必要がある。手の把持姿勢が定まっていない場合には、そのような指定ができないため、物体を把持した手の姿勢を含めた姿勢生成することは実質的に困難であるとの問題がある。
【０００９】
また、手の把持姿勢においては、各指の関節の角度を考慮する必要があり、自由度が非常に高くなるため、逆運動学によって姿勢を生成することは困難である。非特許文献２に記載された、関節角度を解析的に解く方法では、自由度が高いため解を得ることができない。非特許文献１に記載されたような最適化問題として数値解析的に求める方法では、対象となる関節の自由度に対応して計算量が増大するため、膨大な計算機パワーが必要となり実用的でないとの問題がある。
【００１０】
モーションキャプチャを利用する非特許文献３及び４の手法は、実際の人体等の動作をデータ化するものであって、この手法では、あくまで関節可動域を推定するのみであり、これを用いて自動的に自然な姿勢を生成することはできない。
【００１１】
そこで、本発明は、手の把持姿勢を正確に指定したり、手又は指の位置を正確に指定したり、その他身体上のいかなる位置を端点として指定することなく、物体とその物体を把持する手の把持位置をおよそ指定することによって、把持対象物体の形状に応じた手の把持姿勢及びその手の位置まで到達する身体部位の把持姿勢を生成する把持姿勢生成装置、把持姿勢生成プログラム及び把持姿勢生成方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題に鑑みて、発明者らは、手の把持姿勢と手以外の身体の部位の姿勢とをそれぞれ別々に生成して、別々に生成したそれぞれの姿勢を総合することによって、全体の把持姿勢を生成するとの考えに至った。
【００１３】
すなわち、本発明の把持姿勢生成装置は、把持対象の物体のデータを入力して、物体を把持するのに適した手及び指の姿勢に関するデータを含むデータベースに基づいて、手の把持姿勢候補のデータを生成する手の把持姿勢候補生成部と、手以外の身体上の他の位置のデータを入力して、他の位置と手の把持姿勢候補生成部で生成された手の位置との間の関節の角度を求める手以外の姿勢生成部と、手以外の姿勢生成部で生成された関節の角度を含む手以外の姿勢のデータを所定の評価関数に基づいて評価する姿勢評価部とを備える。そして、手の把持姿勢候補生成部は、１個以上の手の把持姿勢候補のデータを生成し、手以外の姿勢生成部は、生成された手の把持姿勢候補のデータごとの手の位置と、他の位置との間の関節の角度を求めて、関節の角度の中から最適な角度を有する手以外の姿勢のデータを生成する。
【００１４】
本発明の把持姿勢生成方法は、把持対象の物体のデータを入力して、物体を把持するのに適した手及び指の姿勢に関するデータを含むデータベースに基づいて、手の把持姿勢候補のデータを生成するステップと、手以外の身体上の他の位置のデータを入力して、他の位置と生成された手の把持候補の手の位置との間の関節の角度を求めるステップと、生成された手以外の姿勢を、所定の評価関数に基づいて評価するステップとを有する。そして、手の把持姿勢候補のデータを生成するステップは、１個以上の手の把持姿勢候補のデータを生成し、関節の角度を求めるステップは、生成された手の把持姿勢候補のデータごとの手の位置と、他の位置との間の関節の角度を求めて、最適な関節角度を有する手以外の姿勢のデータを生成する。
【００１５】
本発明の把持姿勢生成プログラムは、ネットワーク又は光ディスク等の記憶媒体を介してコンピュータにインストールされて、コンピュータ上で実行されて、把持姿勢生成装置として動作し、又は把持姿勢方法を構成する各ステップを動作させて、把持姿勢のデータを生成する。また、本発明の把持姿勢生成プログラムは、サーバにインストールされており、ネットワークを介してクライアントコンピュータにおいて実行されて把持姿勢生成装置として動作し、又は把持姿勢方法を構成する各ステップを動作させて、把持姿勢のデータを生成する。
【発明の効果】
【００１６】
本発明の把持姿勢生成装置、把持姿勢生成方法又は把持姿勢生成プログラムによれば、手の把持姿勢を把持姿勢候補として生成して、その把持姿勢候補の手の位置に基づいて、手以外の部位の姿勢を生成するので、身体上の端点を正確に指定することなくおよその把持位置を指定するだけで、逆運動学を駆動させて、各関節の角度を求めることができる。そして、手の把持姿勢候補を複数生成し、手の把持姿勢候補ごとに、手以外の部位の姿勢を生成し、それぞれの姿勢を評価することで、手を含めた全体の把持姿勢を決定することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係る把持姿勢生成装置の構成例を示したブロック図である。
【図２】本発明に係る把持姿勢生成装置を構成する手の把持姿勢候補生成部の構成例を示したブロック図である。
【図３】手の把持姿勢候補生成部を構成するデータベースの各データの関連付けの例を示す図である。
【図４】手の把持姿勢候補生成部を構成するデータベースの大分類把持姿勢の分類及びそれぞれの姿勢を説明するための図である。
【図５】本発明に係る把持姿勢生成装置の手の把持姿勢生成部で生成される把持姿勢候補を示す図である。（Ａ）は、最初に生成される把持姿勢候補とローカル座標であり、（Ｂ）は、（Ａ）で生成されたローカル座標を回転して、ローカル座標のＹ軸を中心にＸ−Ｚ平面を９０度回転させた状態の把持姿勢候補である。（Ｃ）は、（Ａ）で生成された把持姿勢候補のローカル座標のＹ軸を中心にＸ−Ｚ平面を１８０度回転させた状態の把持姿勢候補である。
【図６】上肢の骨格モデルを示す図である。
【図７】本発明に係る把持姿勢生成装置の動作を説明するためのフローチャートの一例である。
【図８】（Ａ）は、非特許文献１に記載された評価関数を用いて計算を行った結果と、生成された上肢の把持姿勢を示す図である。（Ｂ）は、非特許文献３に記載された確率密度関数を評価関数として用いて計算を行った結果と、生成された上肢の把持姿勢を示す図である。（Ｃ）は、（Ａ）と（Ｂ）で用いた評価関数の和から得られた結果と、生成された上肢の把持姿勢を示す図である。
【図９】本発明に係る姿勢生成装置によって生成された上肢の把持姿勢を示す図であり、（Ａ）〜（Ｄ）までに手の把持姿勢に対するローカル座標を、Ｙ軸を中心に９０度ずつ回転させた場合の上肢の把持姿勢を示す図である。
【図１０】本発明に係る姿勢生成装置によって生成された上肢の把持姿勢を示す図であり、（Ａ）〜（Ｅ）まで、ローカル座標の原点を、把持対象物体に沿ってＹ軸方向に下から上へ移動させた場合の上肢の把持姿勢を示す図である。
【図１１】さまざまな把持対象物体を、把持させた適切な手の把持姿勢に対して生成された適切な上肢の把持姿勢を示す図である。
【図１２】手の把持姿勢候補生成部の動作を説明するためのフローチャートである。
【図１３】大分類把持姿勢ごとの形状特徴量のデータを求めるための座標設定を示す図である。（Ａ）が挟持把持姿勢（Pinch型）に、（Ｂ）が平行把持姿勢（Parallel型）に、（Ｃ）が包囲把持姿勢（Circular型）に対応する図である。
【図１４】（Ａ）〜（Ｃ）は、小分類把持姿勢の１つである側面把握把持姿勢（Ｌａｔ型）の代表点及び接触点群の関連付けを説明するための図である。
【図１５】（Ａ）〜（Ｃ）は、小分類把持姿勢の１つである伸展把握把持姿勢（ＰＥ型）の代表点及び接触点群の関連付けを説明するための図である。
【発明を実施するための形態】
【００１８】
［把持姿勢生成装置の構成］
図１は、本発明が適用された把持姿勢生成装置の構成例を示すブロック図である。把持姿勢生成装置１０は、把持対象の物体の形状を入力する入力部１２を備える。また、把持姿勢生成装置１０は、入力された物体に対応した手の把持姿勢の候補である把持姿勢候補を生成する手の把持姿勢候補生成部１３と、手の把持姿勢候補の位置と手以外の身体上の他の位置との間の各関節の角度を求める手以外の姿勢生成部１４とを備える。また、把持姿勢生成装置１０は、手の把持姿勢候補生成部１３で生成された手の把持姿勢候補及び／又は手以外の姿勢生成部１４で生成された手以外の姿勢を、１個以上の評価関数を用いて評価する姿勢評価部１５を備える。また、把持姿勢生成装置１０は、姿勢評価部１５で評価された手及び手以外の部位の姿勢を出力する出力部１６を備える。
【００１９】
入力部１２は、手の把持姿勢候補生成部１３に接続され、データを手の把持姿勢候補生成部１３に提供する。また、手以外の姿勢生成部１４に対して、手以外の部位の固定点を入力するようにしてもよい。入力部１２には、キーボード、マウス等の入力装置が用いられる。タッチパネルを用いることによって、出力部１６に出力されるデータと同一画面上でデータを入力するような装置を用いることもでき、その他の入力装置を用いることができる。あるいは、入力するためのデータをファイルとして保存した他の記憶装置を用いることによってもデータの入力を行うことができる。なお、手以外の姿勢生成部１４に対する手以外の部位の固定点については、入力部１２によって入力してもよいが、手以外の姿勢生成部１４において、たとえば肩関節を固定点としてあらかじめ入力しておいてもよい。
【００２０】
手の把持姿勢候補生成部１３は、入力部１２から入力された３次元物体のデータに基づいて、その物体のデータに適した手及び指の姿勢に関するデータを含むデータベースに基づいて、手の把持姿勢候補として生成する。
【００２１】
手の把持姿勢候補生成部１３には、特願２０１１−１８４４９８号に開示される把持姿勢生成装置を用いるのが好ましいが、これに限るものではない。
【００２２】
図２に示すように、手の把持姿勢候補生成部１３は、手や指の姿勢に関するデータベース２０を記憶する記憶部２１と、手の把持姿勢を生成して把持姿勢候補を出力する把持姿勢生成部２２とを有する。
【００２３】
記憶部２１には、把持姿勢等のデータからなるデータベース２０が保存されており、把持姿勢生成部２２と接続されて、データのやりとりを行う。記憶部２１は、ハードディスク装置のような読み書き可能な記憶装置であることが好ましいが、ハードディスク装置に限らず、フラッシュメモリのような固体メモリであってもよく、その他の記憶装置を用いることができる。
【００２４】
把持姿勢生成部２２は、記憶部２１と接続され、データベース２０にアクセスし、データベース２０上のデータを探索し、データベース２０上からデータを取り出し、データベース２０上にデータを書き込む等、データベース２０とデータのやり取りをすることができる。また、把持姿勢生成部２２は、入力部１２からの入力されたデータに基づいて、記憶部２１にアクセスしデータベース２０のデータに基づいて所定の処理を行うこともできる。把持姿勢生成部２２は、ＣＰＵの指令によって入力部１２から入力されたデータをＣＰＵに接続されたＲＡＭのようなメモリに読み込んで、そのデータに基づいて、記憶部２１内のデータベース２０にアクセスしてデータの検索等する。検索したデータから新たなデータを生成して、再度、データベース２０内に書き込むことができるのは上述したとおりである。書き込んだデータに基づいて、出力すべきデータに処理する。そして、処理されたデータを出力することを制御する。これら一連の制御を行い、所望の手の把持姿勢候補の生成を行う。
【００２５】
ここで、データベース２０の構成について説明する。
【００２６】
図３に示すように、データベース２０は、複数に分類された大分類把持姿勢のデータと、各大分類把持姿勢に関連付けされた小分類把持姿勢のデータと、小分類把持姿勢に関連付けられたデータとを含む。大分類把持姿勢のデータは、把持対象の物体の形状に応じた把持の姿勢に分類されており、仮想指のデータを有している。仮想指のデータは、小分類把持姿勢のデータの対応する指のデータに関連付けられる。ここで、仮想指とは、指若しくは複数の指の組み合わせ又は手のひらからなり、物体を把持する際に対向する面に接触する仮想的な指である。小分類把持姿勢のデータは、大分類把持姿勢のデータを手の位置及び指の配置等のデータによってさらに細かく分類したものである。小分類把持姿勢ごとに基本形状の物体を把持し、その際の把持姿勢のデータを物体の幅のデータによって索引付けしてデータベース２０に格納する。基本形状の物体の幅を変えて把持した際の把持姿勢のデータも物体の幅のデータで索引付けされてデータベース２０に格納される。索引付けされた把持姿勢ごとに、各指の各関節の関節角度のデータも索引付けされてデータベース２０に格納される。各仮想指に対応する指の上に配置された代表点のデータ及び対象となる指上の接触点群のデータは、小分類把持姿勢に関連付けられ、データベース２０に格納される。
【００２７】
図３に示すように、好ましくは、大分類把持姿勢のデータは、３種類の把持姿勢のデータを含む。大分類把持姿勢のデータのうちの１つは、挟持把持姿勢（以下、Pinch型ともいう。）のデータであり、２本の指の腹又は側面を対向させて物体をはさむ把持姿勢を表わすデータである。他の１つは、平行把持姿勢（以下、Parallel型ともいう。）のデータであり、母指の腹と母指以外の指を平行に揃えてその指の腹又は手のひらを対向させて物体をつかむ把持姿勢を表わすデータである。残りの１つは、包囲把持姿勢（以下、Circular型ともいう。）のデータであり、各指の腹又は側面で物体を包み込むようにして把持する姿勢を表わすデータである。なお、把持姿勢のデータを３種類に分類することに限らず、任意の種類に分類してもよい。
【００２８】
好ましくは、小分類把持姿勢のデータは、１４種類の把持姿勢のデータを含む。１４種類の把持姿勢のデータは、握力標準型把持姿勢（以下、ＰｏＳ型ともいう。）、握力把握鈎型把持姿勢（以下、ＰｏＨともいう。）、握力把握示指伸展型把持姿勢（以下、ＰｏＩ型ともいう。）、握力把握伸展型把持姿勢（以下、ＰｏＥ型ともいう。）、側面把握型把持姿勢（以下、Ｌａｔ型ともいう。）、三面把握型把持姿勢（以下、Ｔｐｄともいう。）、三面把握亜型Ｉ把持姿勢（以下、ＴｐｄＶ１型ともいう。）、三面把握亜型ＩＩ把持姿勢（以下、ＴｐｄＶ２型ともいう。）、三面把握亜型ＩＩＩ把持姿勢（以下、ＴｐｄＶ３型ともいう。）、並列軽屈曲把握把持姿勢（以下、ＰＭＦ型ともいう。）、包囲軽屈曲把握把持姿勢（以下、ＣＭＦ型ともいう。）、指尖把握把持姿勢（以下、Ｔｉｐ型ともいう。）、並列伸展把握把持姿勢（以下、ＰＥ型ともいう。）及び内転把握把持姿勢（以下、Ａｄｄ型ともいう。）の各データからなる。なお、１４種類の把持姿勢のデータに分類することに限らず、これ以上の種類に分類してもよく、これらの分類を統合等して１４種類よりも少なくしてもよい。
【００２９】
図４には、大分類把持姿勢に分類されるそれぞれの姿勢を示す。図４（Ａ）に示すように、手の各指について、番号を振って、母指１、示指２、中指３、薬指４、小指５とし、手のひらをＰとする。図４（Ｂ）には、Pinch型の把持姿勢によって、物体６を把持した状態を示す。Pinch型は、母指１と示指２とによって物体６をつまむ把持姿勢である。図４（Ｃ）には、Parallel型の把持姿勢で物体６を把持した状態を示す。Parallel型は、母指１とほぼ平行に配置した示指２から小指５とを物体６に対して対向させるようにして、物体６をつかむ把持姿勢である。図４（Ｄ）には、Circular型の把持姿勢で物体６を把持した状況を示す。
【００３０】
ここで、物体６に対して対向して物体６に接触する指又は手のひらを、指単独又は複数の指を組み合わせることによって、仮想指とする。図３において、たとえばＰｏＳ型の行でＶＦ１の列にＰとあるのは、手のひらＰを第１の仮想指ＶＦ１とし、示指２から小指５をまとめて第２の仮想指ＶＦ２として、物体６を把持することを表わす。物体６に対して対向する部位としては、指の腹、指の側面、手のひらＰがあるが、図３に示すようにＰｏＳ型においては、手のひらＰが対向部位となる。なお、この場合の手のひらＰに対するもう一方の対向部位は指の腹である。指の腹同士が対向し、指の側面同士が対向する。図３においては、大分類把持姿勢と小分類把持姿勢との関連付けも示される。
【００３１】
このようなデータベースを用いて、手の把持姿勢候補生成部１３を構成することによって、把持対象の物体を入力するだけで、その物体を把持するのに適切な姿勢を手の把持姿勢候補として出力することができる。
【００３２】
手以外の姿勢生成部１４は、末端の位置が与えられた場合に各関節の関節角度を求める問題を扱う逆運動学によって、手の把持姿勢候補生成部１３で生成された把持姿勢候補と、指定された身体上の他の部位（以下、「基点」とも言う。）との間の各関節の角度を求める。たとえば、手首と肩関節とを固定して、上肢の姿勢を生成する場合に、非特許文献２に記載された手法を用いて、解析的に各関節の角度を求め、非特許文献１、３、４に記載された評価関数等を用いて、肘の関節の回転角度、すなわち旋回角度の最適値をたとえば黄金分割法を用いて求める。
【００３３】
出力部１６は、姿勢評価部１５に接続され、姿勢評価部１５によって生成された把持姿勢を画面上に表示するディスプレイである。ディスプレイに限らずプリンタや、他の記憶装置にファイル形式で出力してもよい。また、出力部１６を、たとえばロボットに接続して、ロボットの姿勢を生成して、制御するのに用いることもできる。
【００３４】
図１及び図２の構成例においては、入力部１２、記憶部２１及び把持姿勢生成部２２を含む手の把持姿勢候補生成部１３、手以外の姿勢生成部１４、姿勢評価部１５、及び出力部１６がスタンドアロン形式でそれぞれ適切なインタフェースで接続されているが、これらのうちの一部又は全部をネットワーク上に配置して接続してももちろんよい。
【００３５】
なお、上述のようなハードウェア構成に限らず、把持姿勢生成プログラムによって、コンピュータのＣＰＵ指令に基づいてソフトウェア的に適切な把持姿勢のデータを生成することもできる。把持姿勢生成プログラムは、ネットワーク経由でダウンロードされ、又は光ディスク等の記憶媒体によって提供され、コンピュータにインストールされる。あるいは、ネットワーク上のサーバに把持姿勢生成プログラムがインストールされ、クライアントコンピュータによってアクセスすることによって実行することもできる。
【００３６】
［把持姿勢生成装置の動作］
一例として、肩の位置を固定して基点とし、上肢の把持姿勢を生成する場合の動作について、具体的に説明する。
【００３７】
図５に示すように、手の把持姿勢候補生成部１３で生成された把持姿勢候補には、手の把持姿勢候補生成部１３によって、任意のローカル座標を設定することができる。図５（Ａ）に示すような位置にローカル座標を設定した後に、Ｙ軸を中心にＸＺ平面を図５（Ａ）の状態から任意の角度だけ回転させて異なるローカル座標を設定することができる。たとえば、図５（Ｂ）に示すように、図５（Ａ）の状態からＹ軸を中心に９０度だけ回転させたローカル座標を設定することができ、図５（Ｃ）に示すように、さらに９０度回転させたローカル座標を設定することができる。このようにローカル座標を任意に設定することによって、手の把持姿勢候補生成部１３で生成された把持姿勢候補に対して、ローカル座標を変更することのみで、異なる把持姿勢候補を生成することができる。このようにして、手の把持姿勢候補を生成した後に、ローカル座標を変更することによって、容易に多数の手の把持姿勢候補を生成することができる。
【００３８】
図６に示すような上肢の骨格モデルを用いて、逆運動学によって各関節の角度を求める。上肢の骨格モデルでは、手以外の姿勢生成部１４によって、手首の関節について、Ｏｗを原点とする座標と、肘の関節についてＯｅを原点とする座標と、肩の関節について、Ｏｓを原点とする座標を設定する。
【００３９】
このような上肢の骨格モデルを用いて把持姿勢を生成する動作を図７に示すようなフローチャートで説明する。
【００４０】
ステップＳ１において、入力部１２を介して、把持対象である３次元の物体のデータを入力する。
【００４１】
ステップＳ２において、ユーザは初期条件を入力する。初期条件としては、物体に対する把持位置、把持方向又はその両方を指定することができる。さらに、手以外の初期姿勢又は基点から末端までの身体上の任意の点、たとえば手首等の位置を指定することもできる。このほかに、手の把持姿勢候補生成部１３によって自動的に把持姿勢を探索して決定することで、ユーザが手の把持位置や把持方向を一切指定しないようにすることもできる。
【００４２】
把持位置が指定された場合には、指定された位置に対する把持姿勢を最初の候補として生成する。この場合、把持方向に関しては、複数の候補を生成してもよく、１つあるいは指定の数だけ生成するようにしてもよい。
【００４３】
把持方向が指定された場合には、自動的に探索された把持位置において、指定された方向に対する把持姿勢を最初の候補として生成する。この場合、探索された把持位置の数だけ把持姿勢候補を生成してもよく、１つあるいは指定の数だけ生成するようにしてもよい。
【００４４】
把持位置及び把持方向が指定された場合には、指定された把持位置及び方向における把持姿勢を最初の候補として生成する。
【００４５】
手以外の初期姿勢が与えられた場合には、まず順運動学によって手の位置を求める。関節角度のすべてが与えられてはいない場合には、複数の候補を生成してもよく、１つあるいは指定の数だけ生成するようにしてもよい。そして、求めた手の位置と最も近い把持姿勢を手の把持姿勢候補生成部１３により生成し、最初の候補とすればよい。
【００４６】
基点から末端までの身体上の任意の点、たとえば手首等の位置が与えられた場合には、その位置に対する手以外の姿勢を、後述するステップＳ６と同様に逆運動学によって生成し、それを手以外の初期姿勢として上記と同様の処理を行う。
【００４７】
把持位置等、初期条件が一切指定されていない場合には、手の把持姿勢候補生成部１３によって、自動的に把持位置が探索され、把持姿勢候補が生成される。この場合には、探索された数だけ把持姿勢候補を生成してもよく、１つあるいは指定の数だけ生成するようにしてもよい。
【００４８】
ステップＳ３において、手の把持姿勢候補生成部１３によって、図５に示すようにローカル座標を生成し、１つ又は複数のローカル座標を設定する。
【００４９】
ステップＳ４において、手の把持姿勢候補生成部１３によって、手の把持姿勢候補を生成する。なお、手の把持姿勢候補生成部１３の動作については、動作の説明が必要以上に複雑になるのを防ぐために後述することとする。
【００５０】
ステップＳ５において、入力部１２を介して、基点として肩を指定し、入力する。なお、手以外の姿勢生成部１４において、基点として肩をあらかじめ入力しておいてもよいのは上述したとおりである。
【００５１】
ステップＳ６において、手以外の姿勢生成部１４によって、手首関節Ｏｗと肩関節Ｏｓを固定した場合の肘関節Ｏｅの角度を解析的手法により求め、肘関節の位置を評価関数を用いて求める。
【００５２】
図６に示すように、肩関節Ｏｓは、Ｚ軸に垂直な回転軸によるswing回転（Ｘ軸まわりの上下運動、Ｙ軸まわりの前後運動）と、Ｚ軸まわりのひねり回転の３自由度を有する。肘関節Ｏｅは、Ｙ軸まわりの回転（前後運動）と、Ｚ軸まわりのひねり回転の２自由度を有する。手首関節Ｏｗは、Ｚ軸に垂直な回転軸によるswing回転（Ｘ軸まわりの上下運動、Ｙ軸まわりの前後運動）の２自由度を有する。したがって、上肢の関節の合計自由度は７であり、手の位置の６自由度に対して冗長な１自由度が存在する。そうすると、手首と肩の関節の位置を固定すると、肘の関節の位置は、円を描くように回転することができ、旋回角度φを与えることによって、上肢部の関節角度を解析的に求めることができる（たとえば、非特許文献２参照。）。上肢の姿勢の自然さを評価する関数として、以下の関数を定義し、この評価関数が最小となる旋回角度φを黄金分割法によって求める。
【００５３】
評価関数ｆdisplacementは、以下の式（１）のように、基準となる安静時の関節角度から離れるほど大きくなる評価関数を関節ごとに重み付けした和で定義される。
【００５４】
【数１】
2013182554.tif 000003
【００５５】
また、各リンクの位置ポテンシャルエネルギーの差による評価関数ｆpotentialを、以下の式（２）のように定義する。位置ポテンシャルエネルギーは、腕を真下にぶら下げた姿勢における各部位ｌの高さの差Δｈｌを用いて計算される。
【００５６】
【数２】
2013182554.tif 000004
【００５７】
ここで、ｍｌはその部位の質量、ｇは重力加速度である。
【００５８】
さらに、各関節が可動域限界に近付いたときに急激に増加することを表わす評価関数ｆdiscomfortを定義する。たとえば、図６に示すように、肩の関節Ｏｓにおいては、Ｙ軸周りの回転（前後の動作）には、前方向には大きく可動できるが、後方向への動作は制限される。このような動作を以下の式（３）〜（６）のように定義する。可動域の上限、下限をそれぞれＱＵｉ、ＱＬｉとする。
【００５９】
【数３】
2013182554.tif 000005
【００６０】
ここで、Ｇ＝０．０１，ｎ＝１０とした。また、Δｖinorm、ＱＵｉ、ＱＬｉは、以下の式（４）〜（６）で定義される。
【００６１】
【数４】
2013182554.tif 000006
【００６２】
【数５】
2013182554.tif 000007
【００６３】
【数６】
2013182554.tif 000008
【００６４】
さらに、上述の評価関数のほかに、以下の式（７）の評価関数ｆpdfを導入して、すべての評価関数の和を総合的な評価結果としてもよい。式（７）の評価関数ｆpdfは、実際に測定されたモーションデータから確率密度の分布を求めることによって、関節可動域を推定する手法を用いて（たとえば、非特許文献３，４を参照）、このモーションデータから推定される各関節ｊの確率密度分布ｐｄｆｊの逆数を姿勢の自然さを表わす評価関数とする。
【００６５】
【数７】
2013182554.tif 000009
【００６６】
図８には、上述した評価関数を用いて上肢の姿勢を評価した結果を示す。図８（Ａ）〜（Ｃ）に示されるグラフの横軸は、肘関節Ｏｅの旋回角度を示し、縦軸は、評価関数の返り値を示しており、黄金分割法による反復過程をグラフ中にプロットしている。図８（Ａ）に示すように、式（１）〜式（３）の評価関数を用いて把持姿勢の評価を行った場合には、比較的狭い範囲の旋回角度において良好な評価値（小さな評価値）を得ることができた。図８（Ｂ）に示すように、式（７）の評価関数を用いて把持姿勢の評価を行った場合には、広い範囲で小さな評価値が出力されたので、肘の関節の位置がより高い位置となっている。図８（Ｃ）に示すように、式（１）〜式（３）及び式（７）をすべて加算した評価関数によって得られた評価値では、より自然な把持姿勢を生成できた。
【００６７】
ステップＳ７において、姿勢評価部１５によって、手の把持姿勢候補の評価を行う。具体的には、把持対象の物体及び／又はステップＳ６で求めた上肢との衝突判定を行い、手が物体及び／又は上肢に埋まっている場合には、無限大となり、埋まっていない場合には１となるようなバイナリ評価関数を用いて評価を行うことが好ましい。
【００６８】
ステップＳ８において、姿勢評価部１５によって、ステップＳ６において生成された手以外の姿勢についての評価値と、ステップＳ７の衝突判定による手の把持姿勢の評価値との積を総合的な把持姿勢評価値とするのが好ましい。このような評価値を得ることによって、物体等に手が埋まっているような不適切な姿勢を除外できるようになる。
【００６９】
ステップＳ９において、姿勢評価部１５によって、ステップＳ８で求めた総合的な把持評価値に対して、好ましくは擬似焼きなまし法を用いて総合的な評価値が最小になる把持位置を求める。このような操作を実行することによって、姿勢評価部１５で求めた姿勢が、局所解に陥り、不自然な姿勢を出力することがないようにすることができる。
【００７０】
ステップＳ１０において、姿勢評価部１５によって、さらに繰り返して把持姿勢を生成する場合には、ステップＳ３に戻って異なるローカル座標に対して上述のフローを実行して、把持姿勢を生成する。そして、これら異なるローカル座標に対する求めた総合的な把持姿勢評価を比較し、最適な把持姿勢を選択することができる。
【００７１】
図９（Ａ）〜（Ｄ）に、上述のフローで生成した把持姿勢を示す。図５に示したものと同様にして、手の把持姿勢に対するローカル座標を、Ｙ軸を中心にして、ＸＺ平面を９０度ずつ回転することで、４種類の異なるローカル座標に対する把持姿勢が生成される。好ましくは、これらの把持姿勢の総合的な評価値のうちでもっとも小さいものがもっとも自然な把持姿勢であり、図９（Ｃ）に示すような姿勢であった。
【００７２】
図１０に示すように、Ｙ軸に対する回転に限らず、Ｙ軸方向への移動によってローカル座標を変更するようにしてもよい。図１０（Ａ）に示すように、把持対象の物体６の下側の把持位置限界にローカル座標を設定し、図１０（Ｂ）〜（Ｄ）に示すように、順次Ｙ軸上の上に移動し、図１０（Ｅ）に示すように、物体の把持可能位置の上限までローカル座標を設定することができる。Ｙ軸方向の移動に加えて、Ｙ軸まわりに回転させてローカル座標を設定してもよい。
【００７３】
なお、図７のフローチャートにおいては、手の把持姿勢候補を生成するごとにローカル座標を生成するステップを実行することとしているが、たとえば、他の実施の形態として、手の把持姿勢候補生成部１３によって、複数の把持位置に対する把持姿勢候補をあらかじめ生成しておき、各把持姿勢候補に対してローカル座標を変更した場合の最適把持姿勢を選択した後、ステップＳ３に戻って、他の把持位置に対する把持姿勢候補についての最適把持姿勢を求めるようにしてもよい。
【００７４】
なお、上述した評価関数は、一例であって、上述した評価関数のうちの一部を組み合わせて利用してもよく、上述した以外の他の評価関数を用いてもよいのはもちろんである。
【００７５】
上述した評価関数による評価の結果、図１０（Ｃ）の把持姿勢の場合にもっとも総合的な評価関数が小さくなり、自然な把持姿勢であるとの結果が出力される。
【００７６】
図１１に示すように、本発明の把持姿勢生成装置によれば、さまざまな３次元形状を有する把持対象物体に対して、自然な把持姿勢を容易かつ迅速に生成することができる。
【００７７】
図１１（Ａ）は、三角すい状の物体の底部をCircular型の手の把持姿勢で支えるように把持した状態の最適把持姿勢の例を示す。図１１（Ｂ）は、薄い円柱（厚さのある円板）の上下面をPinch型の手の把持姿勢でつまんで把持した状態の最適把持姿勢の例を示す。図１１（Ｃ）は、図１１（Ｂ）と同じ物体の場合に、把持する位置を物体の中央部にずらした状態でつまんだ状態の最適把持姿勢の例を示す。図１１（Ｄ）は、立方体状の物体を上部からCircular型の手の把持姿勢で握って把持した状態の最適把持姿勢の例を示す。図１１（Ｅ）は、円柱状の物体をParallel型の手の把持姿勢でつかんで把持した状態の最適把持姿勢の例を示す。図１１（Ｆ）は、図１１（Ａ）と同じ三角すい状の物体を、その頂上部分をParallel型の手の把持姿勢で握って把持した状態の最適把持姿勢の例を示す。
【００７８】
たとえば、図１１（Ａ）と図１１（Ｆ）に示すように、同じ把持対象の物体については、把持位置を入力部１２を介して、マニュアルで入力することもできるが、手の把持姿勢候補生成部１３によって、自動的に把持位置を探索して異なるローカル座標を設定することも可能である。
【００７９】
このように、さまざまな形状の３次元物体に対して、適切な手の把持姿勢候補を生成して、上肢全体の最適な把持姿勢を生成することができる。
【００８０】
上述においては、手以外の身体上の他の部位を肩関節であるとして説明をしたが、基点は、肩関節に限らず、他の部位であってもよい。たとえば、腰の位置を基点としたり、支持脚と地面との接点を基点としてもよい。腰の位置を基点とした場合には、上体の姿勢が、支持脚と地面との接点を基点とした場合には、全身の姿勢が、姿勢生成の対象となる。
【００８１】
［手の把持姿勢候補生成部の動作］
本発明の把持姿勢生成装置１０は、手の把持姿勢候補生成部１３によって、インタラクティブに多様な手の把持姿勢を生成することができるために、把持姿勢候補を多数生成して最適な把持姿勢を生成することができる。そこで、手の把持姿勢候補生成部１３の動作について図１２に示すようなフローチャートを参照して説明する。
【００８２】
手の把持姿勢候補生成部１３には、入力部１２から入力する情報として、３次元モデル化された把持対象の物体のデータを入力する。そして、把持姿勢に関して、図２に示すような小分類把持姿勢のデータの１４分類のうちから把持姿勢のデータを選択して入力することができ、あるいは、把持姿勢を入力しなくとも、その物体を把持できる小分類把持姿勢を適切な把持姿勢すべてを出力させることもできる。また、把持位置に関して、把持対象の物体の把持する部分をユーザが指定して入力することができ、ユーザが把持位置を指定しない場合には、ランダムに抽出した複数の位置に対して、それぞれ適切な把持姿勢を生成することもできる。
【００８３】
なお、小分類把持姿勢のデータを入力する場合には、小分類把持姿勢の分類名を指定してもよいが、あらかじめ各小分類把持姿勢のデータのサムネイル等を入力画面上に配置することによって、ユーザがそれを選択できるようにしてもよい。
【００８４】
ステップＳ１３において、入力部１２からデータを受け取った把持姿勢生成部２２は、物体表面をトレースすることによって物体の形状特徴量のデータを抽出する。物体の形状特徴量とは、把持方向によって把持可能か否かを判断するためのパラメータである。物体を支持できる程度に指が物体に回らない場合には“０”、指が両側の面に届いて物体を支持できる場合には“１”、指が奥の面まで届く場合には“２”と表わす。より具体的には、それぞれの端点における法線の方向の角度の変化がπ未満であれば“０”、π以上２π未満であれば“１”、２π以上であれば“２”とする。たとえば手よりも大きな平板状の物体において、平板の平面の方向については、どの方向においても指が届かないため、０−０と表わす。たとえば平板状の物体において、平板の側面からの把持に対しては、平板の厚さ方向、すなわち左右の面には指が届くが、平板の高さ方向、すなわち上下の面には指が届かないことを、１−０と表わす。たとえば柱状の物体を側面から把持する場合において、物体の周方向には奥まで指が回るが、物体の高さが高く、この方向には指が回らないので、２−０と表わす。たとえば柱状の物体を端部から把持する場合において、高さ方向のいずれの側面についても指が届くので、１−１と表わす。柱状の物体において、柱の周方向には奥まで指が回り、柱の高さ方向の面にも指が届くので、２−１と表わす。たとえば球状の物体において、いずれの方向においても、指が奥まで届くので、２−２と表わす。
【００８５】
その小分類把持姿勢の属する大分類把持姿勢の仮想指が、その物体に対して、１又は２、すなわちその物体の側面を支持できるか、その物体の奥まで指を回すことができるか検出する。
【００８６】
上述した物体表面のトレース結果から、把持可能であると把持姿勢生成部２２によって判断された場合には、把持姿勢生成部２２は、物体の把持可能な位置にローカル座標を設定する。
【００８７】
図１３（Ａ）に示すように、大分類把持姿勢がPinch型の場合には、ｘ軸方向の対立面の距離が第１の仮想指ＶＦ１及び第２の仮想指ＶＦ２の接触面間距離となり、これを形状特徴量のデータとする。図１３（Ｂ）に示すように、大分類把持姿勢がParallel型の場合には、第２の仮想指として複数の指が用いられるので、ｙ軸方向に指の太さの分ずつシフトさせた位置における対立面間の距離を接触面間距離とし、それぞれ形状特徴量のデータとする。なお、第２の仮想指のうちの一番下側にある指のように、物体に外部にあって物体に接触していない場合には、把持に加わらない指として扱う。たとえば接触面間距離を０とする。図１３（Ｃ）に示すように、大分類把持姿勢がCircular型の場合には、対向する第１及び第２の仮想指ＶＦ１，ＶＦ２に加えて、第３の仮想指ＶＦ３がある。第３の仮想指ＶＦ３は、第１及び第２の仮想指ＶＦ１，ＶＦ２からなるｘ座標軸に直交するｙ座標軸として扱う。以上のようにして、仮想指の接触面間距離を測定することによって、把持対象の物体６の形状特徴量のデータを抽出する。このように、形状特徴量と大分類把持姿勢とを関連付けることによって、与えられた把持対象の物体に対して把持可能か否かをすばやく判断することができるようになる。なお、ここで、把持姿勢生成部２２によって、ハサミのように物理的に離れた部分を有する物体を把持する把持姿勢を生成しようとする場合には、把持対象の物体の離れた部分それぞれに対して、形状特徴量を抽出し、把持姿勢を生成する。したがって、ハサミのように、物理的に離れた柄の部分を、またがるように把持させた把持姿勢を生成するためには、把持対象の物体を、物体の離れた部分を含む、３次元空間に配置した点を含む最小の凸図形である凸包体形状とする必要がある。把持姿勢生成部２２に入力された物体６の形状に基づいて、たとえば凸包体を生成する他のプログラムを用いて、その物体６の凸包体を生成して、その凸包体を把持姿勢生成部２２に入力する。入力された凸包体の形状に基づいて、把持姿勢生成部２２によって、形状特徴量が抽出され、適切な把持姿勢が生成されるようになる。
【００８８】
ステップＳ１４において、抽出された形状特徴量のデータをクエリとしてデータベース２０にアクセスし、把持姿勢生成部２２は、該当する索引付けされた小分類把持姿勢のデータを探索する。
【００８９】
ステップＳ１５において、把持姿勢生成部２２は、該当する索引付けされた小分類把持姿勢のデータをデータベース２０中に発見した場合には、次のステップＳ１７に進む。
【００９０】
データベース２０中に見つからなかった場合には、ステップＳ１６において、把持姿勢生成部２２は、各指の間の距離及び各指の関節角度のデータを補間生成し、データベース２０に書き込む。小分類把持姿勢がParallel型やCircular型の場合には、１つの仮想指に対して複数の指が関連するため、データベース２０に存在する把持姿勢のデータだけでは、該当するものが見つかることは少ない。そこで、データベース２０には、物体の幅の値、すなわち接触面間距離を形状特徴量のデータとして、索引付けされた小分類把持姿勢ごとに、形状特徴量のデータに対する各指の角度も索引付けされているので、複数存在する既存のこれらのデータを用いて、線形補間計算を行うことによって未知の指の関節角度を計算することができる。したがって、各指に対応する形状特徴量のデータごとに線形補間計算を行うことによって、各指の関節角度のデータを得ることができる。各指の関節角度のデータは、それぞれ独立して線形補間計算される。これによって、把持対象となる物体の把持位置の太さが異なるような場合であっても、指の接触位置によって指の関節角度のデータを補間生成することができ、自然な把持姿勢を生成することができる。なお、線形補間計算によって、新たに生成された各指の関節角度のデータは、データベース２０上に書き込まれる場合に限らず、キャッシュメモリ等他の一時記憶メモリに保存されてもよく、生成して探索に用いられた後にすぐに消去されてもよい。
【００９１】
ステップＳ１７において、把持姿勢生成部２２は、把持対象の物体のデータの座標軸と探索された小分類把持姿勢の指上の代表点のデータによる座標とから、手と物体との位置合わせを行う。
【００９２】
ステップＳ１８において、把持姿勢生成部２２は、位置合わせされた手及び指の配置を、点群間の距離に基づいた最適化アルゴリズムの１つであるＩＣＰ（Iterative Closest Point）アルゴリズムによって最適化する。ここで、ＩＣＰアルゴリズムでは、物体と把持姿勢との２つの座標系に属する点群間で点と点との対応付けを行い、対応付けされた点のペアの間の距離を最小にするように座標系間のアフィン変換を求めるという処理を反復して、最適配置を求める。なお、手の最適配置を求めるアルゴリズムは、ＩＣＰアルゴリズムに限らず、他の３次元形状位置合わせアルゴリズムを用いることができる。
【００９３】
代表点及び接触点群とは、以下のように定義される。
【００９４】
図１４（Ａ）及び図１５（Ａ）は、代表点７及び接触点８を説明するために、物体６を把持した手の状態を示す図である。図１４（Ａ）は、Ｌａｔ型（側面把握のPinch型把持姿勢）を示し、図１５（Ａ）はＰＥ型（並列伸展把握のParallel型把持姿勢）の例を示す。図１４（Ｂ）に示すように、代表点７は、２つの仮想指を有する把持姿勢については、第１の仮想指ＶＦ１上に１つ、第２の仮想指ＶＦ２上に１つ設定される。図１５（Ｂ）に示すように、３つの仮想指を有する把持姿勢については、代表点７は、各仮想指ＶＦ１，ＶＦ２、ＶＦ３に１つずつ設定される。これらの代表点の位置のデータから、３次元空間内における手の位置及び方向の６次元のデータを一意に決定することができる。
【００９５】
また、図１４（Ｃ）及び図１５（Ｃ）に示すように、小分類把持姿勢のデータごとに、各指に接触点８のデータが設定される。接触点８のデータを各指に設定することによって、把持対象の物体との位置合わせの最適化に用いることができる。
【００９６】
代表点７のデータは、把持姿勢生成部２２で生成された把持姿勢の把持位置の初期値となる座標を設定し、物体６に生成された座標と合わせて、手の配置を決定するのに用いられる。また、接触点８のデータは、決定した手の配置を任意のアルゴリズムを用いることによって、最適な位置に設定するのに用いられる。
【００９７】
なお、上述した代表点７及び接触点８を配置する位置は、一例であって、任意の位置に配置することができるのは言うまでもない。
【００９８】
把持位置近傍に発生させた接触点群を、ＩＣＰアルゴリズムのための物体の表面の点群として用いる。
【００９９】
ステップＳ１８において、配置の最適化のための計算を反復して行うと、把持姿勢によっては、物体６に配置された一部の指が埋もれた状態で生成されたり、物体６から一部の指が離れてしまう場合がある。そこで、ステップＳ１８において、反復された配置の状態のデータを毎回記憶しておく。そして、物体６と各指との衝突判定を行いながら、埋まっている指については、埋まってしまう直前の状態を探索し、接触していない指については、物体６に接触するまで屈曲させることによって最終的な最適配置を決定することができる。
【０１００】
このように、手の把持姿勢候補生成部１３によれば、手の指の関節の角度に関して、逆運動学を用いて計算する必要がなく、手の部分を他の部位と分離して把持姿勢候補を生成することができる。
【０１０１】
また、このような手の把持姿勢候補生成部１３によれば、把持姿勢生成装置１０は、把持対象の物体のデータ以外に、把持位置及び／又は把持方向を指定するだけで、適切な手の把持姿勢候補を生成することができる。さらに、把持位置等を指定しなくても、自動的に把持位置等を探索して、複数の手の把持姿勢生成候補を生成することができる。これら複数の手の把持姿勢候補ごとに、手以外の姿勢を生成することができる。
【０１０２】
したがって、手の以外の部位の姿勢と組み合わせて総合的な姿勢評価を行うことによって、容易に手の把持姿勢を含む姿勢生成を実行することができる。また、大分類把持姿勢に基づいて、把持対象物体の形状特徴量を抽出することによって、より迅速に把持対象物体との把持可否について判断することができるので、手の把持姿勢生成について、よりインタラクティブ性を高めることを可能にする。
【０１０３】
上述した把持姿勢生成装置、把持姿勢生成方法及び把持姿勢生成プログラムは、具体例を説明するためのものであって、上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは言うまでもない。
【符号の説明】
【０１０４】
１  母指、２  示指、３  中指、４  薬指、５  小指、６  物体、７  代表点、８  接触点、１０  把持姿勢生成装置、１２  入力部、１３  手の把持姿勢候補生成部、１４  手以外の姿勢生成部、１５  姿勢評価部、１６  出力部、２０  データベース、２１  記憶部、２２  把持姿勢生成部、Ｐ  手のひら
【図１】
2013182554.tif 000010
【図２】
2013182554.tif 000011
【図３】
2013182554.tif 000012
【図７】
2013182554.tif 000013
【図１２】
2013182554.tif 000014
【図１３】
2013182554.tif 000015
【図４】
2013182554.tif 000016
【図５】
2013182554.tif 000017
【図６】
2013182554.tif 000018
【図８】
2013182554.tif 000019
【図９】
2013182554.tif 000020
【図１０】
2013182554.tif 000021
【図１１】
2013182554.tif 000022
【図１４】
2013182554.tif 000023
【図１５】
2013182554.tif 000024