(57)【要約】  初期状態の配置（接触状態）を設定し（Ｓ１１）、設定した配置に基づいて速度、加速度、抗力を求めることにより、設定した配置のテストを行う（Ｓ１２）。そして、幾何学的妥当性、運動学的妥当性等を検討することにより、完全な配置が得られたか否かを判断する（Ｓ１３）。完全な配置が得られていない場合（Ｓ１３：ＮＯ）、テスト済みの配置をキューに追加し（Ｓ１６）、そのキューの最上位に位置する配置から新たな候補を生成して（Ｓ１７）、設定した配置と生成した配置との比較処理を行うことにより配置のテストを続行する。
2008023772.tif 000002
【特許請求の範囲】
【請求項１】
物体の運動を時系列的に解析する運動解析方法において、
任意の瞬間に物体が取り得る複数の状態から一の状態を選択するステップと、選択した状態に基づいて前記物体の速度及び加速度を算出するステップと、選択した状態並びに算出した速度及び加速度に基づいて前記状態が妥当であるか否かを判断するステップとを有することを特徴とする運動解析方法。
【請求項２】
前記物体が取り得る状態は、前記物体の表面に設定した複数の点のうち任意に選択した１又は複数の点における拘束状態により定義されることを特徴とする請求項１に記載の運動解析方法。
【請求項３】
選択した状態が妥当であるか否かを、前記状態が予め定めた状態に従うか否か、幾何学的に妥当であるか否か、又は運動学的に妥当であるか否かにより判断することを特徴とする請求項１又は請求項２に記載の運動解析方法。
【請求項４】
選択した状態が妥当でないと判断した場合、前記物体が取り得る状態の候補を新たに生成するステップと、生成した候補が妥当であるか否かを判断するステップとを更に有することを特徴とする請求項１乃至請求項３の何れか１つに記載の運動解析方法。
【請求項５】
前記物体は、床面上で動作するロボットであり、前記物体が取り得る状態は、前記ロボットと前記床面との接触状態により定まる状態であることを特徴とする請求項１乃至請求項４の何れか１つに記載の運動解析方法。
【請求項６】
仮想的なオブジェクトの運動を解析する運動解析方法において、
任意の瞬間に前記オブジェクトが取り得る複数の状態から一の状態を選択するステップと、選択した状態に基づいて前記オブジェクトの速度及び加速度を算出するステップと、選択した状態並びに算出した速度及び加速度に基づいて前記状態が妥当であるか否かを判断するステップとを有することを特徴とする運動解析方法。
【請求項７】
物体の運動を時系列的に解析する運動解析装置において、
任意の瞬間に物体が取り得る複数の状態から一の状態を選択する手段と、選択した状態に基づいて前記物体の速度及び加速度を算出する手段と、選択した状態並びに算出した速度及び加速度に基づいて前記状態が妥当であるか否かを判断する手段とを備えることを特徴とする運動解析装置。
【請求項８】
前記物体が取り得る状態は、前記物体の表面に設定した複数の点のうち任意に選択した１又は複数の点における拘束状態により定義されることを特徴とする請求項７に記載の運動解析装置。
【請求項９】
選択した状態が妥当であるか否かを、前記状態が予め定めた状態に従うか否か、幾何学的に妥当であるか否か、又は運動学的に妥当であるか否かにより判断することを特徴とする請求項７又は請求項８に記載の運動解析装置。
【請求項１０】
選択した状態が妥当でないと判断した場合、前記物体が取り得る状態の候補を新たに生成するステップと、生成した候補が妥当であるか否かを判断するステップとを更に有することを特徴とする請求項７乃至請求項９の何れか１つに記載の運動解析装置。
【請求項１１】
前記物体は、床面上で動作するロボットであり、前記物体が取り得る状態は、前記ロボットと前記床面との接触状態により定まる状態であることを特徴とする請求項７乃至請求項１０の何れか１つに記載の運動解析装置。
【請求項１２】
仮想的なオブジェクトの運動を解析する解析処理を含んだ運動解析装置において、
前記解析処理は、任意の瞬間に前記オブジェクトが取り得る複数の状態から一の状態を選択するステップと、選択した状態に基づいて前記オブジェクトの速度及び加速度を算出するステップと、選択した状態並びに算出した速度及び加速度に基づいて前記状態が妥当であるか否かを判断するステップとを有することを特徴とする運動解析装置。
【請求項１３】
コンピュータに、物体の運動を時系列的に解析させるコンピュータプログラムにおいて、
コンピュータに、任意の瞬間に物体が取り得る複数の状態から一の状態を選択させるステップと、コンピュータに、選択させた状態に基づいて前記物体の速度及び加速度を算出させるステップと、コンピュータに、選択させた状態並びに算出させた速度及び加速度に基づいて前記状態が妥当であるか否かを判断させるステップとを有することを特徴とするコンピュータプログラム。
【請求項１４】
コンピュータに、物体の運動を時系列的に解析させるコンピュータプログラムが記録されているコンピュータでの読み取りが可能な記録媒体において、
コンピュータに、任意の瞬間に物体が取り得る複数の状態から一の状態を選択させるステップと、コンピュータに、選択させた状態に基づいて前記物体の速度及び加速度を算出させるステップと、コンピュータに、選択させた状態並びに算出させた速度及び加速度に基づいて前記状態が妥当であるか否かを判断させるステップとを有するコンピュータプログラムが記録されていることを特徴とするコンピュータでの読取りが可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺環境と接触しながら運動する物体について解析を行う運動解析方法、運動解析装置、コンピュータプログラム、及び記録媒体に関する。
【背景技術】
【０００２】
ヒューマノイドロボットの挙動を解析する動的シミュレーションでは、外部から印加される外力（接触力および衝突）を注意深く取り扱う必要がある。近年、正確かつ有効な解を見出すために精力的な研究がなされており、撃力ベースの手法、解析的手法、ペナルティ手法などの手法により運動の解析が行われている。【０００３】
撃力ベースの手法では、瞬間的な撃力が物体の速度を変化させるとして衝突および接触を解析する手法である（例えば、非特許文献１参照）。この手法では、物体同士の相互作用やエネルギーの伝搬に着目しており、シミュレーションの正確さよりも、むしろ物体の挙動を視覚化することに主眼を置いている。【０００４】
解析的手法では、線形拘束条件を取り扱い、拘束条件の式と運動方程式とを連立させて解くことで、拘束条件を満たすために必要な力を計算する（例えば、非特許文献２及び３参照）。解析的手法では、拘束条件を満たす力を解くため、シミュレーションの時間をある程度広くとっても正確なシミュレーションを行うことができるという利点を有するが、必ずしも解が求まる保証はなく、しかも全ての接触点について剛体の運動を表す行列方程式を解く必要があるため、接触点が多い場合などに多くの計算時間を必要とすることが問題となっている。【０００５】
一方、ペナルティ手法は、拘束を違反した度合いに応じて力を加えることで、シミュレーションを進めるうちに拘束違反を解消する手法であり、接触力を正確に求めたい場合などに用いられている（例えば、非特許文献４及び５参照）。
【非特許文献１】シュミドル（H. Schmidl）、他１名、「剛体シミュレーションのための瞬間的な接触（A fast impulsive contact suite for rigid body simulation）」、視覚化とコンピュータグラフィックス（Visualization and Computer Graphics）、２００４年、第１０巻、Ｐ１８９−１９７
【非特許文献２】フェザーストーン（R. Featherstone）、「ロボット力学のアルゴリズム（Robot Dynamics Algorithms）」、クルワーアカデミック（Kluwer Academic）、１９８７年
【非特許文献３】バラフ（D. Baraff）、「非侵入剛体に対する接触力の計算（Fast contact force computation for nonpenetrating rigid bodies）」、シーグラフ  ９４  コンファレンス（SIGGRAPH ９４ Conference）、１９９４年、Ｐ２３−３４
【非特許文献４】ウィルヘルム（J. Wilhelms）、他２名、「動的アニメーション：相互作用と制御（Dynamic  animation: interaction and control）」、ビジュアルコンピュータ（Visual Computer）、１９８８年、第４巻、Ｐ２８３−２９５
【非特許文献５】パンネ（M. van de Panne）、他１名、「センサ−アクチュエータ  ネットワーク（Sensor-actuator network）」、プロシーディングス  エーシーエム  シーグラフ（Proc. ACM SIGGRAPH）、１９９３年、第２７（２）巻、Ｐ３３５−３４３
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、拘束力は、侵入量（すなわち、拘束違反の量）と速度とから直接的に求まるが、拘束が解消するまでシミュレーションを繰り返す必要があるという問題点を有している。そこで、より迅速にシミュレーションを実行することができる手法の開発が求められていた。【０００７】
また、接触力を算出する従来の手法は、特定のダイナミックスシミュレーションに依存するため、一般のシミュレーションに適用することができないという問題点を有していた。【０００８】
本発明は斯かる事情に鑑みてなされたものであり、任意の瞬間に物体が取り得る複数の状態から一の状態を選択し、選択した状態に基づいて物体の速度及び加速度を算出し、算出した速度及び加速度に基づいて選択した状態が妥当であるか否かを判断する構成とすることにより、特定のダイナミックスシミュレーションに依存することなく、各瞬間の接触状態を迅速に見出すことができる運動解析方法、運動解析装置、コンピュータプログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る運動解析方法は、物体の運動を時系列的に解析する運動解析方法において、任意の瞬間に物体が取り得る複数の状態から一の状態を選択するステップと、選択した状態に基づいて前記物体の速度及び加速度を算出するステップと、選択した状態並びに算出した速度及び加速度に基づいて前記状態が妥当であるか否かを判断するステップとを有することを特徴とする。【００１０】
本発明に係る運動解析方法は、前記物体が取り得る状態が、前記物体の表面に設定した複数の点のうち任意に選択した１又は複数の点における拘束状態により定義されることを特徴とする。【００１１】
本発明に係る運動解析方法は、選択した状態が妥当であるか否かを、前記状態が予め定めた状態に従うか否か、幾何学的に妥当であるか否か、又は運動学的に妥当であるか否かにより判断することを特徴とする。【００１２】
本発明に係る運動解析方法は、選択した状態が妥当でないと判断した場合、前記物体が取り得る状態の候補を新たに生成するステップと、生成した候補が妥当であるか否かを判断するステップとを更に有することを特徴とする。【００１３】
本発明に係る運動解析方法は、前記物体が、床面上で動作するロボットであり、前記物体が取り得る状態は、前記ロボットと前記床面との接触状態により定まる状態であることを特徴とする。【００１４】
本発明に係る運動解析方法は、仮想的なオブジェクトの運動を解析する運動解析方法において、任意の瞬間に前記オブジェクトが取り得る複数の状態から一の状態を選択するステップと、選択した状態に基づいて前記オブジェクトの速度及び加速度を算出するステップと、選択した状態並びに算出した速度及び加速度に基づいて前記状態が妥当であるか否かを判断するステップとを有することを特徴とする。【００１５】
本発明に係る運動解析装置は、物体の運動を時系列的に解析する運動解析装置において、任意の瞬間に物体が取り得る複数の状態から一の状態を選択する手段と、選択した状態に基づいて前記物体の速度及び加速度を算出する手段と、選択した状態並びに算出した速度及び加速度に基づいて前記状態が妥当であるか否かを判断する手段とを備えることを特徴とする。【００１６】
本発明に係る運動解析装置は、前記物体が取り得る状態が、前記物体の表面に設定した複数の点のうち任意に選択した１又は複数の点における拘束状態により定義されることを特徴とする。【００１７】
本発明に係る運動解析装置は、選択した状態が妥当であるか否かを、前記状態が予め定めた状態に従うか否か、幾何学的に妥当であるか否か、又は運動学的に妥当であるか否かにより判断することを特徴とする。【００１８】
本発明に係る運動解析装置は、選択した状態が妥当でないと判断した場合、前記物体が取り得る状態の候補を新たに生成するステップと、生成した候補が妥当であるか否かを判断するステップとを更に有することを特徴とする。【００１９】
本発明に係る運動解析装置は、前記物体が、床面上で動作するロボットであり、前記物体が取り得る状態は、前記ロボットと前記床面との接触状態により定まる状態であることを特徴とする。【００２０】
本発明に係る運動解析装置は、仮想的なオブジェクトの運動を解析する解析処理を含んだ運動解析装置において、前記解析処理は、任意の瞬間に前記オブジェクトが取り得る複数の状態から一の状態を選択するステップと、選択した状態に基づいて前記オブジェクトの速度及び加速度を算出するステップと、選択した状態並びに算出した速度及び加速度に基づいて前記状態が妥当であるか否かを判断するステップとを有することを特徴とする。【００２１】
本発明に係るコンピュータプログラムは、コンピュータに、物体の運動を時系列的に解析させるコンピュータプログラムにおいて、コンピュータに、任意の瞬間に物体が取り得る複数の状態から一の状態を選択させるステップと、コンピュータに、選択させた状態に基づいて前記物体の速度及び加速度を算出させるステップと、コンピュータに、選択させた状態並びに算出させた速度及び加速度に基づいて前記状態が妥当であるか否かを判断させるステップとを有することを特徴とする。【００２２】
本発明に係る記録媒体は、コンピュータに、物体の運動を時系列的に解析させるコンピュータプログラムが記録されているコンピュータでの読み取りが可能な記録媒体において、コンピュータに、任意の瞬間に物体が取り得る複数の状態から一の状態を選択させるステップと、コンピュータに、選択させた状態に基づいて前記物体の速度及び加速度を算出させるステップと、コンピュータに、選択させた状態並びに算出させた速度及び加速度に基づいて前記状態が妥当であるか否かを判断させるステップとを有するコンピュータプログラムが記録されていることを特徴とする。【００２３】
本発明にあっては、任意の瞬間に物体が取り得る複数の状態から一の状態を選択し、選択した状態に基づいて物体の速度及び加速度を算出し、算出した速度及び加速度に基づいて選択した状態が妥当であるか否かを判断する。物体の取り得る状態は、その物体が静的な状態にあるか動的な状態にあるか、及び周辺環境との接触状態（すなわち、接触点における自由度）により記述される。本発明では、有限数の接触状態を予め定めておくことによって、運動の解析を迅速かつ正確に行う。【００２４】
本発明にあっては、物体の取り得る状態が、その物体の表面に設定した１又は複数の点における拘束状態により定義されるため、各点が静的な状態にあるか、又は動的な状態にあるか、及び各点の自由度に基づいて分類することができるため、有限数の状態が定まる。【００２５】
本発明にあっては、選択した状態が予め定めた状態に従うか否か、幾何学的に妥当であるか否か、又は運動学的に妥当であるか否かにより判断する。妥当性の判断を優先順位を定めて行うことにより、最適な状態が迅速に求められる。【００２６】
本発明にあっては、選択した状態が妥当でないと判断した場合、新たな状態を生成して妥当性の判断を行うため、運動を完全に記述できるような状態を求めることができない場合であっても、より良好な状態が求められる。【００２７】
本発明にあっては、運動解析の対象として床面上で動作するロボットを採用しており、ロボットが床面から受ける抗力を接触力の問題として求めることができる。【００２８】
本発明にあっては、運動解析の対象としてコンピュータ上の仮想的なオブジェクトを採用するため、ゲームやロボット科学の研究などで実現されるシミュレーションに応用可能である。
【発明の効果】
【００２９】
本発明による場合は、任意の瞬間に物体が取り得る複数の状態から一の状態を選択し、選択した状態に基づいて物体の速度及び加速度を算出し、算出した速度及び加速度に基づいて選択した状態が妥当であるか否かを判断する。物体の取り得る状態は、その物体が静的な状態にあるか動的な状態にあるか、及び周辺環境との接触状態（すなわち、接触点における自由度）により記述することが可能であり、有限数の接触状態を予め定めておくことができる。したがって、有限数の状態から一の状態を選択し、その状態が妥当であるか否かを判断することにより運動の解析を迅速かつ正確に行うことができる。【００３０】
本発明による場合は、物体の取り得る状態を、その物体の表面に設定した１又は複数の点における拘束状態により定義する。取り得る状態は、各点が静的な状態にあるか、又は動的な状態にあるか、及び各点の自由度に基づいて分類するこができるため、有限数の状態が定まる。また、物体の形状及びその物体が接触する周辺環境に依存することなく、拘束状態を記述することが可能となるため、例えば、床面を歩行するロボットについて運動解析を行う場合、足の形状が任意の形状をもつ場合であっても解析することができ、また、床面が任意の形状をもつ場合であっても解析することができる。【００３１】
本発明による場合は、選択した状態が予め定めた状態に従うか否か、幾何学的に妥当であるか否か、又は運動学的に妥当であるか否かにより判断する。したがって、妥当性の判断を優先順位を定めて行うことにより、最適な状態を迅速に求めることができる。【００３２】
本発明による場合は、選択した状態が妥当でないと判断した場合、新たな状態を生成して妥当性の判断を行う。したがって、物体の運動を完全に記述するような状態を求めることができない場合であっても、良好な状態を採用して解析を進めることができる。【００３３】
本発明による場合は、運動解析の対象として床面上で動作するロボットを採用しており、ロボットが床面から受ける抗力を接触力の問題として求めることができる。【００３４】
本発明による場合は、予測できない物体の運動をシミュレーションすることが要求されるゲームやロボット科学の研究等に応用することができる。
【図面の簡単な説明】
【００３５】
【図１】運動解析の対象の二足歩行ロボットを示す模式図である。
【図２】床面との接触状態の例を示す模式図である。
【図３】足部と床面との接触状態の一覧を示す図表である。
【図４】本発明に係る運動解析装置の全体構成を示すブロック図である。
【図５】運動解析装置が実行する処理の手順を示すフローチャートである。
【図６】床面と二足歩行ロボットの足部との配置関係を示す模式図である。
【図７】最適配置を選択する際の処理手順を説明するフローチャートである。
【図８】最適配置を選択する際の処理手順を説明するフローチャートである。
【符号の説明】
【００３６】
１００  運動解析装置  
１０１  ＣＰＵ
１０２  ＲＯＭ  
１０３  ＲＡＭ
１０４  記憶装置
１０５  入力ＩＦ
１０６  出力ＩＦ
１０７  補助記憶装置
１０８  バス
１１０  キーボード
１２０  モニタ
【発明を実施するための最良の形態】
【００３７】
以下、本発明による運動解析の対象として二足歩行ロボットを採用し、その実施の形態を示す図面に基づいて具体的に説明する。
図１は運動解析の対象の二足歩行ロボットを示す模式図である。図に示した歩行ロボットは、基体１０に四肢が取り付けられており、股関節ヨー軸、股関節ロール軸、股関節ピッチ軸、膝ピッチ軸、足首ピッチ軸、足首ロール軸などにより構成される脚部１１，１２と、肩関節ピッチ軸、肩関節ロール軸、上腕ヨー軸、肘関節ピッチ軸、前腕ヨー軸、手首ロール軸、手首ピッチ軸などにより構成される腕部１３，１４とを備える。なお、上述したようなロボットは、実空間上に存在するロボットであってもよく、コンピュータなどにより生成される仮想空間上のロボットであってもよい。【００３８】
脚部１１，１２の先端には、それぞれ矩形平板状の足部２１，２２が取り付けられている。したがって、歩行ロボットが床面を歩行する際には、２つの足底面が床面からの抗力を受けることになり、床面から完全に離れている場合、足部２１，２２はそれぞれ６つの自由度を持つことになる。【００３９】
本実施の形態では、床面との接触点を足底面の各頂点に限定し、各頂点での自由度に基づいて接触状態を予め記述し、その情報を記憶しておく。図２は床面との接触状態の例を示す模式図である。図２（ａ）の模式図は、足底面からみた足部２１（２２）を示している。足部２１（２２）のつま先に対して平行にｘ軸をとり、足部２１（２２）のつま先から踵を向く方向にｙ軸をとる。また、床面に対して鉛直上方にｚ軸をとる。足底面の各頂点は図に示したインデックスを付して表す。【００４０】
図２（ｂ）に示したように、足底面の４つの頂点が床面に接触し、しかも各頂点が床面に対して静止している場合、拘束されている自由度は、ｘ，ｙ，ｚの各方向の並進の自由度、及びｘ，ｙ，ｚの各方向の回転の自由度となる。すなわち、６つの自由度が全て拘束されており、完全に静止した状態となっている。この接触状態をＳ１２３４（S : Static）により表す。また、図２（ｃ）に示したように、１及び２のインデックスを持つ頂点（頂点１，２）が床面に接触し、しかも頂点１，２が床面に対して静止している場合、ｘ，ｙ，ｚの各方向の並進の自由度、及びｙ，ｚ方向の回転の自由度は拘束されているが、ｘ方向の回転の自由度は持っている状態となる。この接触状態をＳ１２により表す。【００４１】
同様にして、足部２１（２２）が床面に対して静止している場合（すなわち、接触している頂点に静止摩擦力のみが働く場合）と、足部２１（２２）が床面に対して動いている場合（すなわち、接触している頂点に動摩擦力が働く場合）とに分けて考察し、並進及び回転の自由度に応じて接触状態を分類した場合、１９通りの状態に分類することができる。図３は足部２１（２２）と床面との接触状態の一覧を示す図表である。この図表において、Ｆは足底面の各頂点が床面と接触していない状態を表しており、並進及び回転について拘束されている自由度がないことを示している。また、Ｄ１は、足底面の頂点１が床面に接触しており、床面との間に動摩擦力が働いている状態を表している。そのため、ｚ軸方向の並進の自由度は拘束されているが、ｘ，ｙの各方向の並進の自由度及び回転の自由度は拘束されていない状態を示している。他の接触状態についても同様である。【００４２】
二足歩行ロボットの足部の動きを解析する問題は、各瞬間において適切な接触状態（配置）を選択する問題に帰着することができる。以下、具体的な解析手法について説明する。図４は本発明に係る運動解析装置の全体構成を示すブロック図である。本発明に係る運動解析装置１００は、具体的には、パーソナルコンピュータ、ワークステーション等の情報処理装置であり、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、記憶装置１０４、入力ＩＦ１０５、出力ＩＦ１０６、補助記憶装置１０７を備える。これらのハードウェアはバス１０８を介して互いに接続されている。【００４３】
また、入力ＩＦ１０５には、入力手段としてのキーボード１１０、出力ＩＦ１０６には出力手段としてのモニタ１２０が接続されている。運動解析装置１００は、キーボード１１０を通じて運動解析の開始指示、運動解析に必要なパラメータの入力を受付ける。また、運動解析装置１００は、キーボード１１０を通じて入力されたパラメータ、ＣＰＵ１０１による演算結果等をモニタ１２０上に表示する。【００４４】
ＲＯＭ１０２には、バス１０８に接続された各種ハードウェアの動作を制御するための制御プログラムが格納されている。記憶装置１０４は、例えば、ハードディスクであり、本発明の運動解析方法を実現するためのコンピュータプログラム、及びこのコンピュータプログラムを実行する際に必要となるデータを記憶する。ＣＰＵ１０１は、ＲＯＭ１０２に格納されている制御プログラム、記憶装置１０４に格納されているコンピュータプログラムをＲＡＭ１０３上にロードして実行し、本発明に係る運動解析方法を実現する。【００４５】
記憶装置１０４に記憶されるコンピュータプログラムは、例えば、補助記憶装置１０７を通じて装置内部に読み込まれる。そのため、補助記憶装置１０７は、前述のコンピュータプログラムが記録されたＦＤ、ＣＤ、ＤＶＤ等の記録媒体（不図示）からコンピュータプログラムを読み取るためのＦＤドライブ、ＣＤドライブ、ＤＶＤドライブ等を備える。【００４６】
運動解析装置１００による解析は、例えば、１ｍｓ間隔で行われる。すでに解析済みの配置と現在解析中の配置とを比較評価することにより、解析対象の物体が受けている抗力、加速度をＣＰＵ１０１により計算して運動解析を進める。比較評価の手法については、後に詳述することとする。比較候補となる配置を、取り得る接触状態（２つの足部２１，２２に関しては１９×１９＝３６１通り）から任意に選択し、順次的に比較評価して最適な配置を見出すことも可能であるが、候補となる状態を適切に生成することで、より迅速に最適な配置を見出すことができる。本実施の形態では、プライオリティ・キューを利用した手法を用いる。【００４７】
図５は運動解析装置１００が実行する処理の手順を示すフローチャートである。運動解析装置１００は、まず、テストすべき配置を設定する（ステップＳ１１）。ここで設定する配置は、初期状態における配置、又は１つ前の時間ステップで決定した配置である。【００４８】
次いで、運動解析装置１００は、設定した配置をテストする（ステップＳ１２）。具体的には、設定した配置に基づいて足底面の各頂点が受ける抗力、各頂点における速度及び加速度を計算し、設定した配置の評価を行う。なお、初期状態では、解析対象の二足歩行ロボットが静止状態にあるとして計算を行う。また、１つ前の時間ステップで決定した配置については、その配置について計算された値を用いる。更に、後述するステップＳ１７で新たな候補が生成された場合、ステップＳ１１で設定した配置と新たに生成された配置とを比較することにより、速度、加速度、及び外力を求めることができる。【００４９】
次いで、運動解析装置１００は、テスト結果に基づいて完全な配置が得られたか否かを判断する（ステップＳ１３）。ここで、完全な配置とは、別の配置を更にテストする必要がないような配置であり、強制的な条件を満たす場合、特定の幾何学的条件を満たす場合、特定の運動学的条件を満たす場合の配置をいう。【００５０】
完全な配置が得られたと判断した場合（Ｓ１３：ＹＥＳ）、運動解析装置１００は、全てのタイムステップについて解析が終了したか否かを判断する（ステップＳ１４）。解析が終了したと判断した場合（Ｓ１４：ＹＥＳ）、本フローチャートによる処理を終了し、解析が終了していないと判断した場合（Ｓ１４：ＮＯ）、次の時間ステップへ移行した上で（ステップＳ１５）、処理をステップＳ１１へ戻す。【００５１】
ステップＳ１３において、完全な配置が得られていないと判断した場合（Ｓ１３：ＮＯ）、テストした配置をキューに追加する（ステップＳ１６）。このとき、キューに既に追加されている配置とテストした配置とを比較し、比較結果に応じた位置にテストした配置を挿入する。なお、２つの状態を比較評価する手法については、図７及び図８に示すフローチャートにより説明する。【００５２】
次いで、運動解析装置１００は、キューに追加されている配置に基づいて新たな配置の候補を生成し（ステップＳ１７）、処理をステップＳ１２へ戻す。このとき、まず、最上位にあるキューから新たな候補を生成してテストを行う。テストした結果、完全な配置が見出された場合にはステップＳ１４へ移行させるが、生成したすべての候補についてテストしても完全な配置が見出されない場合、次の準位にある配置から新たに候補を生成し、同様のテストを行う。そして、最下位の配置をテストした場合であっても完全な配置が見出されないとき、その時点の最上位の配置を最適な配置として選択する。【００５３】
このように、本実施の形態では、プライオリティ・キューの手法を用いるため、完全な配置が選択されない場合であっても、次善の配置が必ず選択されることになり、解析処理を停滞させることがなくなる。【００５４】
本実施の形態では、接触状態を評価するために３つの状態を定義する。１つ目は幾何学的な妥当性を担保する状態であり、２つ目は運動学的な妥当性を担保する状態であり、３つ目は最小限の拘束を担保する状態である。【００５５】
図６は床面と二足歩行ロボットの足部２１（２２）との配置関係を示す模式図である。床面をｚ＝０の平面で表し、床面からの高さに関して閾値をｄ（ｄは例えば１ｍｍ）に設定する。このとき、幾何学的な妥当性を以下のように定義する。すなわち、ーｄより下側の点は全て拘束され、ｄより上側では全ての点が拘束されないことを幾何学的な妥当性として定義する。したがって、足底面の４つの頂点のうち、３つの頂点が−ｄより下側で拘束されている場合、４つ目の頂点も−ｄより下側で拘束されると考える。【００５６】
運動学的な妥当性は以下のように定義する。すなわち、−ｄ≦ｚ≦ｄの領域に存在し、ｚ軸方向に負の加速度を持ち、ｚ軸方向の速度が微小速度ｖt （ｖt は例えば０．１ｍ／ｓ）より小さい全ての点が拘束されること運動学的な妥当性として定義する。【００５７】
必要最小限の拘束は以下のように定義する。 すなわち、−ｄ≦ｚ≦ｄの領域にあり、ｚ軸方向の加速度が微小加速度ａt （ａt は例えば０．１ｍ／ｓ2 ）より大きく、ｚ軸方向の速度が−ｖt より大きい点が存在する場合、その点はできるだけ床面から離れようとすることを定義する。【００５８】
以下、２つの配置（コンフィギュレーション）の比較手法を説明する。本発明では、以下の基準に従って２つの配置を比較してゆくことにより、最適と判断できる配置を選択する。図７及び図８は最適配置を選択する際の処理手順を説明するフローチャートである。運動解析装置１００は、まず、何れか一方の配置が強制的な配置に従うか否かを判断する（ステップＳ２１）。例えば、ユーザ自身が定めた配置、何らかの制約により必然的に定まる配置等に従う場合、その配置が最適であると判断することができる。一方の配置が強制的な配置に従うと判断した場合（Ｓ２１：ＹＥＳ）、強制的な配置に従う配置を最適な配置として選択する（ステップＳ２２）。【００５９】
両方の配置が強制的な配置に従う場合、又は両方の配置が強制的な配置に従わない場合（Ｓ２１：ＮＯ）、運動解析装置１００は、一方の配置の非拘束点が−ｄより下側に存在するか否かを判断する（ステップＳ２３）。この判断基準では、幾何学的配置に関する妥当性を検討している。すなわち、ｚ＜−ｄの領域では、自由に動くことができる点が存在しないことを絶対的な条件として規定しているため、非拘束点が−ｄより下側に存在しない配置が何れか一方にのみ現れる場合（Ｓ２３：ＹＥＳ）、非拘束点が−ｄより下側に存在しない配置を最適な配置として選択する（ステップＳ２４）。【００６０】
両方の配置の非拘束点が−ｄより下側に存在する場合、又は両方の配置の非拘束点が−ｄより下側に存在しない場合（Ｓ２３：ＮＯ）、運動解析装置１００は、一方の配置の拘束点がｄより上側に存在するか否かを判断する（ステップＳ２５）。この判断基準においても、幾何学的配置に関する妥当性を検討している。すなわち、ｚ＞ｄの領域では、拘束された点が存在しないことを絶対的な条件として規定しているため、拘束点がｄより上側に存在しない配置が何れか一方にのみ現れる場合（Ｓ２５：ＹＥＳ）、拘束点がｄより上側に存在しない配置を最適な配置として選択する（ステップＳ２６）。【００６１】
両方の配置の拘束点がｄより上側に存在する場合、又は両方の配置の拘束点がｄより上側に存在しない場合（Ｓ２５：ＮＯ）、運動解析装置１００は、−ｄ≦ｚ≦ｄの領域に存在し、速度（ｚ’）が微小速度ｖt より小さく、加速度（ｚ’’）が０より小さな値を持つ侵入点の数をカウントする（ステップＳ２７）。そして、運動解析装置１００は、前述した条件を満たす両配置の侵入点の数が０であるか否かを判断する（ステップＳ２８）。両配置の数が０であると判断した場合（Ｓ２８：ＹＥＳ）、後述するステップＳ３６へ処理を移行させる。【００６２】
両配置の侵入点の数が０でないと判断した場合（Ｓ２８：ＮＯ）、運動解析装置１００は、侵入点の数が両配置で等しいか否かを判断する（ステップＳ２９）。すなわち、ステップＳ２８及びステップＳ２９では、運動学的な妥当性の検討を行っている。侵入点の数が両配置で等しくないと判断した場合（Ｓ２９：ＮＯ）、侵入点の数が少ない方の配置を最適な配置として選択する（ステップＳ３０）。【００６３】
両配置の侵入点の数が等しいと判断した場合（Ｓ２９：ＹＥＳ）、運動解析装置１００は、拘束点の数をカウントする（ステップＳ３１）。そして、運動解析装置１００は、拘束点の数が両配置で等しいか否かを判断する（ステップＳ３２）。拘束点の数が両配置で等しくないと判断した場合（Ｓ３２：ＮＯ）、拘束点の数が多い方の配置を最適な配置として選択する（ステップＳ３３）。【００６４】
拘束点の数が両配置で等しいと判断した場合（Ｓ３２：ＹＥＳ）、運動解析装置１００は、非拘束点の最小高度は一方の配置の方が高いか否かを判断する（ステップＳ３４）。一方の配置の方が高いと判断した場合（Ｓ３４：ＹＥＳ）、非拘束点の最小高度が高い配置を最適な配置として選択する（ステップＳ３５）。【００６５】
非拘束点の最小高度が両配置で等しいと判断した場合（Ｓ３４：ＮＯ）、運動解析装置１００は、−ｄ≦ｚ≦ｄの領域に存在し、速度（ｚ’）が微小速度−ｖt より大きく、加速度（ｚ’’）が微小加速度ａt より大きな値を持つ分離点の数をカウントする（ステップＳ３６）。そして、運動解析装置１００は、カウントした分離点の数は一方の配置の方が多いか否かを判断する（ステップＳ３７）。一方の配置の方が分離点の数が多いと判断した場合（Ｓ３７：ＹＥＳ）、分離点の数が多い方の配置を最適な配置として選択する（ステップＳ３８）。また、分離点の数が両配置で同じであると判断した場合（Ｓ３７：ＮＯ）、運動解析装置１００は、何れか一方の配置を選択する（ステップＳ３９）。【００６６】
このように本実施の形態では、運動を完全に記述するような配置が得られない場合であっても、２つの接触状態（配置）を比較したときに必ず１つの配置が選択される構成であるため、解析処理を途中で停滞させることがなくなる。また、強制的な配置への従属、幾何学的妥当性、運動学的妥当性をこの順に検討して配置を選択するため、効率的な配置の選択が可能となり、処理速度の向上が見込める。【００６７】
なお、運動解析の対象は、本実施の形態で示した二足歩行ロボットに限定されず、任意の物体を解析の対象としてもよいことは勿論のことである。また、コンピュータ上で再現される仮想的な物体（オブジェクト）についても適用することができる。例えば、仮想的なオブジェクトとして、コンピュータ上の三次元グラフィックスにより、図１に示したような二足歩行ロボットを生成する。生成したコンピュータ上の二足歩行ロボットについて、ロボットの大きさ、各関節の自由度、想定する重力の大きさ、床面等を設定し、上述した手法を用いることにより、この二足歩行ロボットが床面を歩行する際の運動を解析することができる。また、予測できない物体の運動をシミュレーションすることが要求されるゲーム等に応用可能である。
【図１】
2008023772.tif 000003
【図２】
2008023772.tif 000004
【図３】
2008023772.tif 000005
【図４】
2008023772.tif 000006
【図５】
2008023772.tif 000007
【図６】
2008023772.tif 000008
【図７】
2008023772.tif 000009
【図８】
2008023772.tif 000010
【国際調査報告】
2008023772.tif 000011
2008023772.tif 000012