(57)【特許請求の範囲】
【請求項１】
コンピュータに実行させる方法であって、
前記コンピュータは、
初期時点における関節システムの初期姿勢であって、前記関節システムの複数の自由度ごとの関節角度を含む初期姿勢にアクセスし、
車両搭乗者収容体構造、及び、前記車両搭乗者収容体構造内で前記関節システムによって完遂されるべきタスクにアクセスし、
前記タスクを完遂するために、前記関節システムの前記自由度をどのように制御するかを限定する制約条件であって、前記車両搭乗者収容体構造内の要素から前記関節システムが離れることを回避する接触制約条件を含む制約条件の集合にアクセスし、
前記初期時点後前記タスクを完遂する間の前記関節システムの複数の姿勢を決定し、
前記複数の姿勢を決定することは、
前記制約条件の集合に従いながら前記タスクを完遂する前記関節システムの前記自由度の制御を時系列で決定することを含み、
前記制約条件の集合は、
前記関節システムの異なるセグメント同士が衝突することを回避するための自己衝突回避目標を含み、
前記初期時点後の一時点における前記姿勢を決定することは、
前記自己衝突回避目標に基づいて、関節動作の方向に応じて変化する重みを決定し、
前記決定した重みに応じて、前記複数の自由度ごとの関節角度を更新することを含むこと、
を特徴とする方法。
【請求項２】
前記複数の姿勢を決定することは、
前記タスクを完遂することよりも、前記接触制約条件を優先することを含むこと、
を特徴とする請求項１の方法。
【請求項３】
前記制約条件の集合は、
不快目標を含み、
前記複数の姿勢を決定することは、
前記不快目標に基づいて、前記自由度の制御に重みを付けることを含むこと、
を特徴とする請求項１の方法。
【請求項４】
前記制約条件の集合は、
関節限界目標を含み、
前記複数の姿勢を決定することは、
前記関節限界目標に基づいて、前記自由度の制御に重みを付けることを含むこと、
を特徴とする請求項１の方法。
【請求項５】
前記複数の姿勢を決定することは、
前記制約条件の集合に基づいて、前記姿勢に対して先行時点側から閉ループ逆運動学計算を実行することを含むこと、
を特徴とする請求項１の方法。
【請求項６】
前記コンピュータは、
前記姿勢を分析して仮想人体が処理中の前記タスクを完遂することができるか否かを決定すること、
を特徴とする請求項１の方法。
【請求項７】
前記コンピュータは、
前記姿勢を分析して前記タスクの実現可能性を決定し、
前記実現可能性は、
前記関節システムが前記タスクを完遂するのに必要なトルク、
前記関節システムが前記タスクを完遂するのに必要な力、
前記関節システムが前記タスクを完遂する際に受ける不快度、
前記タスクを完遂するのに必要なエネルギ総量、及び、
前記タスクの完遂時の前記姿勢のうち最後の姿勢を維持するのに必要な生理的負担、のうちの少なくとも１つに基づくこと、
を特徴とする請求項１の方法。
【請求項８】
前記関節システムは、
人体をモデル化する仮想人体であること、
を特徴とする請求項１の方法。
【請求項９】
コンピュータが実行するコンピュータプログラムコードを格納する不揮発性の記憶媒体であって、
前記コンピュータプログラムコードは、
前記コンピュータに対して、
初期時点における関節システムの初期姿勢であって、前記関節システムの複数の自由度ごとの関節角度を含む初期姿勢にアクセスし、
車両搭乗者収容体構造、及び、前記車両搭乗者収容体構造内で前記関節システムによって完遂されるべきタスクにアクセスし、
前記タスクを完遂するために、前記関節システムの前記自由度をどのように制御するかを限定する制約条件であって、前記車両搭乗者収容体構造内の要素から前記関節システムが離れることを回避する接触制約条件を含む制約条件の集合にアクセスし、
前記初期時点後前記タスクを完遂する間の前記関節システムの複数の姿勢を決定する処理を実行させ、
前記複数の姿勢を決定することは、
前記制約条件の集合に従いながら前記タスクを完遂する前記関節システムの前記自由度の制御を時系列で決定することを含み、
前記制約条件の集合は、
前記関節システムの異なるセグメント同士が衝突することを回避するための自己衝突回避目標を含み、
前記初期時点後の一時点における前記姿勢を決定することは、
前記自己衝突回避目標に基づいて、関節動作の方向に応じて変化する重みを決定し、
前記決定した重みに応じて、前記複数の自由度ごとの関節角度を更新することを含むこと、
を特徴とする記憶媒体。
【請求項１０】
前記複数の姿勢を決定することは、
前記タスクを完遂することよりも、前記接触制約条件を優先することを含むこと、
を特徴とする請求項９の記憶媒体。
【請求項１１】
前記制約条件の集合は、
不快目標を含み、
前記複数の姿勢を決定することは、
前記不快目標に基づいて、前記自由度の制御に重みを付けることを含むこと、
を特徴とする請求項９の記憶媒体。
【請求項１２】
前記制約条件の集合は、
関節限界目標を含み、
前記複数の姿勢を決定することは、
前記関節限界目標に基づいて、前記自由度の制御に重みを付けることを含むこと、
を特徴とする請求項９の記憶媒体。
【請求項１３】
前記複数の姿勢を決定することは、
前記制約条件の集合に基づいて、前記姿勢に対して先行時点側から閉ループ逆運動学計算を実行することを含むこと、
を特徴とする請求項９の記憶媒体。
【請求項１４】
関節システムを制御するシステムであって、
前記システムは、
コンピュータプログラムコードを実行するプロセッサと、
前記コンピュータプログラムコードを格納する不揮発性の記憶媒体と、を有し、
前記コンピュータプログラムコードは、
前記プロセッサに対して、
初期時点における関節システムの初期姿勢であって、前記関節システムの複数の自由度ごとの関節角度を含む初期姿勢にアクセスし、
車両搭乗者収容体構造、及び、前記車両搭乗者収容体構造内で前記関節システムによって完遂されるべきタスクにアクセスし、
前記タスクを完遂するために、前記関節システムの前記自由度をどのように制御するかを限定する制約条件であって、前記車両搭乗者収容体構造内の要素から前記関節システムが離れることを回避する接触制約条件を含む制約条件の集合にアクセスし、
前記初期時点後前記タスクを完遂する間の前記関節システムの複数の姿勢を決定する処理を実行させ、
前記複数の姿勢を決定することは、
前記制約条件の集合に従いながら前記タスクを完遂する前記関節システムの前記自由度の制御を時系列で決定することを含み、
前記制約条件の集合は、
前記関節システムの異なるセグメント同士が衝突することを回避するための自己衝突回避目標を含み、
前記初期時点後の一時点における前記姿勢を決定することは、
前記自己衝突回避目標に基づいて、関節動作の方向に応じて変化する重みを決定し、
記決定した重みに応じて、前記複数の自由度ごとの関節角度を更新することを含むこと、
を特徴とするシステム。
【請求項１５】
前記複数の姿勢を決定することは、
前記タスクを完遂することよりも、前記接触制約条件を優先することを含むこと、
を特徴とする請求項１４のシステム。
【請求項１６】
前記制約条件の集合は、
不快目標を含み、
前記複数の姿勢を決定することは、
前記不快目標に基づいて、前記自由度の制御に重みを付けることを含むこと、
を特徴とする請求項１４のシステム。
【請求項１７】
前記制約条件の集合は、
関節限界目標を含み、
前記複数の姿勢を決定することは、
前記関節限界目標に基づいて、前記自由度の制御に重みを付けることを含むこと、
を特徴とする請求項１４のシステム。
【請求項１８】
前記複数の姿勢を決定することは、
前記制約条件の集合に基づいて、前記姿勢に対して先行時点側から閉ループ逆運動学計算を実行することを含むこと、
を特徴とする請求項１４のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、車両搭乗者収容体構造の有用性を決定するために、車両内で使用される関節モデルの姿勢を予測する分野に関する。
【背景技術】
【０００２】
車両搭乗者収容体とは、車両の内部空間のうち、車両の運転者及び同乗者が収容される部分を意味する。車両搭乗者収容体は、例えば、座席の構造、ハンドブレーキの位置及び動作、ステアリングホイールの位置及び向き、センタコンソールの構造、並びに、ドアハンドルの構造及び動作を含む多くの異なる特徴を有し得る。車両搭乗者収容体構造とは、所与の車両の内装を機能的かつ快適にするような、車両搭乗者収容体の創作に関連する一般的な分野を意味する。新世代の車両が誕生するたびに、車両の構造は大きく変化し、繰り返し改良されるので、車両搭乗者収容体構造もまた、絶えず見直され、改良される。
【０００３】
典型的には、所与の構造の実寸大のモデルを作成しそのモデルを多くの異なる人体に対して適用することによって、新たな車両搭乗者収容体はテストされる。テストに使用される人体の身体特徴量は、例えば、身長、体重、性別、四肢長（例えば、脚長及び腕長）、体力、及び、関節可動範囲を含み、それらの広い範囲にわたって広がっていることが理想である。このような前提があると、テストされ改良された車両搭乗者収容体は、人口の大多数によって操作可能となる。
【０００４】
仮想人体と車両搭乗者収容体構造を同時にシミュレーションすることを可能にするいくつかの異なるソフトウエアシミュレーションパッケージが利用可能である。仮想人体とは、人体のコンピュータモデルであり、車両搭乗者収容体構造のテストに使用される生体と同じ身体特徴量（例えば、身長、体重、四肢長）の変化範囲を有する。このようなソフトウエアシミュレーションパッケージの例として、例えば、シーメンス社が提供するＪＡＣＫ及びダッソーシステム社が提供するＤＥＬＭＩＡが挙げられる。
【０００５】
これらのソフトウエアシミュレーションパッケージは、構造ごとに身体プロトコルを必要とすることなく構造作成処理を繰り返すことによって、車両搭乗者収容体構造を改良する。例えば、ソフトウエアシミュレーションパッケージは、所与の構造に人体が適合するか否か（例えば、人体がハンドブレーキのすべての可動範囲に物理的に届くか否か）を設計者がテストすることを可能にする。さらに、これらのソフトウエアシミュレーションパッケージは、車両のある箇所を操作するときの単一の静止姿勢（例えば、ハンドブレーキを掴む固定時点での姿勢）を計算することが可能である。一般的に、このようなソフトウエアシミュレーションパッケージは、統計的回帰分析を使用して単一の静止姿勢を計算する。この計算は長時間を要し、リアルタイムでは解が求まらない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実寸大のテストモデルを使用して実地テストを行ってはじめて収集されるような広範囲の情報をリアルタイムで提供することができないということが、既存のソフトウエアシミュレーションパッケージの欠点である。したがって、既存のソフトウエアシミュレーションパッケージの欠点を補うために、最終（又は半最終）構造に対してさらに実地テストを行うことは依然としてよくある。
【課題を解決するための手段】
【０００７】
（要約）
本発明の実施形態は、車両搭乗者収容体構造内の仮想人体の姿勢を、制約条件の集合に従って決定する方法（及び対応するシステム及びコンピュータプログラム製品）を提供する。
【０００８】
ある実施形態においては、姿勢を決定するコンピュータを用いる方法、姿勢を決定するシステム、及び、姿勢を決定する実行可能なコンピュータプログラムコードを格納する不揮発性のコンピュータ読取可能な記憶媒体が記述される。姿勢を決定することは、初期時点において、関節システムの初期姿勢にアクセスすることを含む。初期姿勢は、関節システムの複数の自由度ごとの角度を含む。姿勢を決定することは、車両搭乗者収容体構造、及び、当該車両搭乗者収容体構造内で関節システムによって完遂されるべきタスクにアクセスすることをさらに含む。姿勢を決定することは、関節システムの自由度をどのように制御してタスクを完遂するかを限定する制約条件の集合にアクセスすることをさらに含む。ここで、制約条件とは、関節システムが車両搭乗者収容体構造内の要素から離れることを防ぐ接触制約条件を含む。初期時間を経過した後のタスク完遂中に、関節システムの複数の姿勢が決定される。ここで、姿勢を決定することは、制約条件の集合に従いながらタスクを完遂する関節システムの自由度の制御を時系列で決定することを含む。
【０００９】
明細書に記述される特徴及び利点は、排他的なものではなく、当業者が図、明細書及び特許請求の範囲を参照すれば、多くの追加的特徴及び追加的利点があることに気づくであろう。さらに、本明細書で使用される言語は、読みやすさ及び教示目的から選択されているのであって、本発明の主旨を限定するために選択されているのではない。
【図面の簡単な説明】
【００１０】
【図１】ある実施形態に係る車両搭乗者収容体構造を評価するコンピュータシステムのブロック図である。
【図２】ある実施形態に係る車両搭乗者収容体構造内でタスクを実行するときに、時系列の仮想人体の姿勢を決定するフローチャートである。
【図３】ある実施形態に係る仮想人体の関節モデルの図である。
【図４】ある実施形態に係る車両搭乗者収容体構造内でタスクを完遂する間の個々の姿勢を決定するフローチャートである。
【００１１】
図は、様々な実施形態を専ら例示のために記述している。ここに例示される構造及び方法の代替的な実施形態が、ここに記述される実施形態の原理を逸脱することなく使用され得ることを、当業者であれば後記する説明から容易に認識するであろう。
【発明を実施するための形態】
【００１２】
図を参照しつつ、本発明の実施形態を説明する。同じ参照番号は、同一の構成要素又は機能的に類似する構成要素を示す。図中の参照番号の最も左の数字は、当該参照番号が最初に使用される図面の番号に対応している。
【００１３】
図１は、ある実施形態に係る車両搭乗者収容体構造を評価するコンピュータシステム１００のブロック図である。一般的に、コンピュータシステム１００は、評価されるべき車両搭乗者収容体構造（単に構造と呼ぶ）、仮想人体の関節モデルを記述するパラメータ、構造内での仮想人体の動作を限定する制約条件の集合、及び、その構造内に収容される仮想人体が実行すべき１又は複数の身体タスク（単に操作タスクと呼ぶ）を受け取る。コンピュータシステム１００は、仮想人体が１又は複数の身体タスクを、車両搭乗者収容体構造内で実行するにつれて、仮想人体の姿勢を決定（又は追跡）する。仮想人体がタスクを実行する姿勢が分析されて、仮想人体の大きさ及び形状に一致する運転者候補及び／又は同乗者候補のための構造の実現可能性(又は使用可能性)を決定する。
【００１４】
構造は、車両の運転席を記述する。構造は、多くの要素を含む。その要素の例は、長さ及び高さを有する座席、ヘッドレスト、ステアリングホイール、ペダル（例えば、アクセル、ブレーキ及びクラッチ）、ハンドブレーキ、センタコンソール内に配置された視聴覚システム、操作ツマミ（例えば、照明及びワイパーブレード制御用）及びダッシュボードを含む。これらは、要素の単なる例であって、要素はこれらに限定されない。構造は、要素のサイズ（例えば、大きさ）、並びに、様々な要素間の相対距離、絶対位置及び向きも含む。例えば、ステアリングホイールと座席との間の距離、及び、ペダルと座席との間の距離もまた、構造に含まれてもよい。構造はまた、様々な要素が配置され得る位置範囲を含んでもよい。例えば、多くの構造において、座席は、運転席全体のフレーム内において、上下に動いてもよいし、傾斜してもよいし、前後に動いてもよい。同様に、ステアリングホイールは、前後に動いてもよいし、上下に動いてもよい。これらの要素の位置及び向きを見直すことができるので、人体の異なるセグメントが特定の車両搭乗者収容体構造を使用することが非常に容易になる。
【００１５】
コンピュータシステム１００は、仮想人体を、生体の関節モデルとして表現する。人体を関節モデルでモデル化することによって、コンピュータシステム１００は、実寸大のモデル及びテスト生体を必要とすることなく構造を評価することができる。一般的に、仮想人体の関節モデルは、大半の人体と同様に、２本の腕、２本の足、胴体、頭、首、腰等を有する。仮想人体のパラメータは、複数の仮想人体間の差異を許容しているが、この差異は、複数の生体間のばらつきを全体として反映する。パラメータは、四肢長（例えば、前腕、上腕、太もも、脛及び胴体の長さ）、仮想人体の身長、仮想人体の体重、関節可動範囲、仮想人体の視野、身体障害及び他の特徴量を含んでもよい。前記したパラメータの列挙は単なる例であり、パラメータはこれらに限定されない。
【００１６】
図３は、ある実施形態に係る仮想人体の関節モデルの図である。図３の例では、仮想人体は、身体上の多くの特徴点によって画定される。特徴点は、例えば、頭頂、右肩、左肩、右肘、左肘、腰、右手首、左手首、右尻、左尻、右膝、左膝、右足首及び左足首を含む。一般的に、特徴点は、関節の位置又は関節の近辺の位置に配置される。関節は、１又は複数の軸の周りを回転し得る。関節の回転軸は、自由度と呼ばれる。所与の１つの関節は、複数の自由度を有してもよい。例えば、人体の肘は、２つの軸の周りを回転するので、２つの異なる自由度を有することになる。一方の自由度は、屈曲／伸長に関するものであり、他方の自由度は、回内及び回外に関するものである。仮想人体の自由度の角度及びパラメータの組み合わせは、仮想人体のすべての四肢の静止位置を完全に特定する。このように特定された静止位置も姿勢と呼ばれる。
【００１７】
ある実施形態において、１つの仮想人体について受け取られたパラメータは、全人口中における相対位置を示す１又は複数の閾値を表す。例えば、１つの仮想人体について受け取られたパラメータは、身長、体重、肢体長、及び／又は、他の判断基準で並べた場合に、１００人中５０番目、７５番目、９０番目又は９５番目に位置する運転者又は同乗者を表してもよい。これらの閾値のうちの１つに代表される仮想人体を評価することによって、コンピュータシステム１００は、その人口比率の範囲内における車両構造の実現可能性を決定することができる。例えば、２つの異なる仮想人体についてのパラメータが、身長順に並べた５番目の人体及び９５番目の人体を表しているとする。コンピュータシステム１００は、これらの２つの仮想人体についての構造を評価する。構造がこれら２つの仮想人体について実現可能である場合、コンピュータシステム１００は、身長が最も低い５％及び最も高い５％を除く残りの中間範囲の人体について当該構造が実現可能であると最終的に判断する。閾値を様々に変化させて複数の仮想人体に対して構造のテストを行うと、既にテスト済の範囲内の不要な仮想人体をテストすることを回避することができるので、構造テストの効率が高まる。閾値を表す仮想人体をテストすると、コンピュータシステム１００は、産業上殆ど遜色のない実現可能性結果を報告することができる。
【００１８】
タスクとは、構造内での仮想人体の動作を介して完遂されるべき目標である。タスクは、例えば、構造の１又は複数の要素の制御（例えば、ハンドブレーキを引く）を含んでもよい。ある実施形態においては、タスクとは、そのタスクが完遂されるために経由すべき特定の動作の経路であってもよい。仮想人体が特定された経路の終点に達したとき、そのタスクが完了したものとみなされる。構造内のある要素がどのように制御されるかが構造自身を見ればわかるような特定された経路が使用されてもよい。前記したハンドブレーキの例では、構造を見れば、“固定点を中心に角回転するようにハンドブレーキを引いたとき、ハンドブレーキはある経路のみを経由し得る”ということがわかる。他の例では、動作の途中経路を特定するというよりもむしろ、タスクは、単にタスク（例えば、頭上サンバイザを動かし運転者の側窓の上部を覆う）の始点及び終点を特定してもよい。これらの例では、仮想人体の姿勢は、終点に達する多くの経路候補のうちの１つを経由する。終点に達したとき、タスクが完了したものとみなされる。
【００１９】
制約条件の集合は、タスクを完遂する間、構造内で仮想人体がどのように動くかを限定する。制約条件の集合は、例えば、１又は複数の接触制約条件、１又は複数の不快制約条件、１又は複数の関節制約条件、１又は複数の衝突回避制約条件、及び、動的整合性制約条件を含むいくつかの異なるタイプの制約条件を含み得る。例えば、ある接触制約条件は、タスク完遂の間、仮想人体の両太もも及び／又は背中が座席に接触し続けていることであってもよい。他の接触条件は、仮想人体の両足がペダルに接触し続けていることであってもよい。
【００２０】
ある実施形態においては、コンピュータシステム１００は、姿勢初期化システム１０２、姿勢決定システム１０４及び構造分析システム１０６を含む。
【００２１】
姿勢初期化システム１０２は、構造、仮想人体パラメータ、完遂されるべきタスク、及び、制約条件の集合を使用して仮想人体の初期姿勢を決定する。前記したように、ここでの姿勢とは、ある特定の時点における仮想人体の静止姿勢である。ある実施形態においては、姿勢は、複数の成分を有するベクトルを有する。各成分の値は、その時点における仮想人体の関節モデルの自由度の向き（又は、角度）を記述する。仮想人体の初期姿勢は、完遂されるべき任意のタスクの開始直後の時点から決定される。例えば、完遂されるべきタスクが車両のハンドブレーキを引くことである場合、仮想人体の初期姿勢は、仮想人体が片手でハンドブレーキを掴みつつも、未だハンドブレーキを引き始めていない状態であると決定される。
【００２２】
ある実施形態においては、完遂されるべきタスクは、タスク開始前の仮想人体の姿勢についての初期条件を特定する。前記のハンドブレーキの例では、これらの初期条件は、タスク開始直前に仮想人体の片手がどこに位置するべきであるかを特定することを含んでもよい。仮想人体がタスクの初期条件さえ満たせない（当然、タスクを完遂し得ない）場合、コンピュータシステム１００は、当該処理を中止し、特定された仮想人体は特定されたタスクを完遂し得ないことを表示してもよい。初期姿勢の決定については、さらに後記する。
【００２３】
初期姿勢を使用して、姿勢決定システム１０４は、仮想人体が制約条件の集合に従いながら１又は複数の特定されたタスクを実行できるように、仮想人体の姿勢を決定する。ここでの姿勢とは、タスクの完遂を通じて仮想人体が取る動的な（例えば、時系列で変化する）連続姿勢である。ある実施形態においては、連続姿勢は、時系列で取得された多くの個別姿勢を含む。姿勢決定システム１０４は、タスク開始前の初期姿勢、仮想人体のパラメータ、完遂されるべきタスク、及び、タスクを完遂するために取られる動作の経路を限定する制約条件の集合を入力データとして受け取る。仮想人体が制約条件に反することなく特定されたタスクを完遂できない場合、コンピュータシステム１００は、当該処理を中止し、特定された仮想人体は特定されたタスクを完遂し得ないことを表示してもよい。１又は複数のタスクの遂行を通じて連続姿勢を決定することについては、後記する。
【００２４】
構造分析システム１０６は、姿勢決定システム１０４によって生成された連続姿勢を分析し、構造の実現可能性を決定する。ある構造の実現可能性は、多くの異なる要因に基づく。これらの要因は、例えば、仮想人体がある１つのタスクを（又は複数のタスクを同時に）完遂するために必要なトルク及び／又は力の総量、タスク完遂中に仮想人体が感じる不快の数値、タスク完遂時に静止姿勢を維持するために仮想人体が払う生理的負担、及び、初期姿勢から始めてタスクを終了するまでに消費されるエネルギーの総量を含んでもよい。
【００２５】
当該分析に基づいて、仮想人体が制約条件の集合に従いつつ構造内で指定されたタスクを完遂することができるか否かを示す“はい／いいえ”式の回答として実現可能性が定式化されてもよい。実現可能性は、１又は複数の数値で定式化されてもよい。当該数値は、例えば、タスクを完遂するために必要なトルク又は力の総量、タスク完遂中に感じられる不快度、タスクの終了位置を維持する生理的負担、及び、タスクを完遂するときに消費されるエネルギーを含む。これらの数値は、全体として実現可能性を表す。及び／又は、これらの数値は、閉形式分析関数を使用して単一の数値に統合され、単一の実現可能値を提供してもよい。
【００２６】
（初期姿勢決定）
前記したように、姿勢初期化システム１０２は、完遂されるべきタスクを開始する前に、仮想人体の動作に課された制約条件の集合に従って仮想人体の初期姿勢を決定する。ある実施形態においては、初期姿勢は、数値的に反復可能な多目標最適化（ＭＯＯ）技術を使用して決定される。初期姿勢は、仮想人体のパラメータに基づく。パラメータは、四肢寸法、四肢質量、四肢慣性、四肢重心等の人体計測パラメータを含む。これらのパラメータは、様々な四肢の縮尺を決定する。
【００２７】
当該技術を使用して、姿勢初期化システム１０２は、仮想人体が構造内でタスクを開始する前に、初期姿勢を、ｔ＝ｔoでのベクトルｑとして出力する。ベクトルｑは、仮想人体の関節モデルの自由度ごとの数値成分を含む。つまり、初期姿勢は、仮想人体の各関節の向きを記述する。当該ベクトルは、パラメータと、統計的回帰分析を使用してパラメータから導出された四肢の縮尺とを変数とする陰関数である。初期姿勢は、構造の座標系内に存在する。したがって、初期姿勢は、仮想人体が車両運転席内でどのように位置しているかを記述する。初期姿勢の一例は、両腕をステアリングホイール上に置き、両足をペダル上に置き、座席に着席している仮想人体として定性的に記述され得る。
【００２８】
初期姿勢を決定するために、姿勢初期化システム１０２は、ベクトルｑ内の自由度ごとに許容される向きに対する制約条件の集合ｃ（ｑ）に従い、関数ｆ（ｑ）のスカラ出力値を局所的に最小化するベクトルｑを求める。このことは、個々の自由度ｑごとに式（１）として表される。
【００２９】
【数１】
0006046801.tif 000002
【００３０】
関数ｆ（ｑ）は、２つの別個の目標を示す項ｆ1（ｑ）及び項ｆ2（ｑ）を含み、ｆ（ｑ）＝ｆ1（ｑ）＋ｆ2（ｑ）と表され得る。第１項ｆ1（ｑ）は、２つの位置間の距離を最小化する。ここでの２つの位置のうちの一方は、仮想人体の特徴点（例えば、両手及び両足）の現在位置であり、自由度のベクトルｑ及びパラメータによって特定される。他方は、タスクを開始するために仮想人体の特徴点があるべき位置であり、タスクベクトルｐで特定される。ある実施形態においては、当該最小化は、式（２）の追従誤差ノルムの二乗和に基づいて行われる。
【００３１】
【数２】
0006046801.tif 000003
【００３２】
この場合、ｅiは、タスクベクトルｐ内の成分ｉごとの追従誤差である。個々のタスクについての追従誤差は、一般に、位置誤差ｅpi及び向き誤差ｅoiを記述する。
【００３３】
【数３】
0006046801.tif 000004
【００３４】
位置誤差は、ｅpi＝ｐdi−ｐiとして定義される。ここで、ｐdi及びｐiは、それぞれタスクごとの、所望位置及び予測位置に対応する。角度及び軸で定義される向き誤差は、式（４）によって定義される。
【００３５】
【数４】
0006046801.tif 000005
【００３６】
0006046801.tif 000006
タスクの所望位置及び所望向きは、構造の一部である（又は、計測によって決定される）。タスクの予測位置及び予測向きは、計算されたベクトルｑの関数である。タスクの予測位置及び予測向きは、順運動学関数を使用して決定される。さらにβiは、完遂されるべき複数のタスク間の相対的な実行優先順位である。
【００３７】
第２項ｆ2（ｑ）は、後記する式（２３）によって定義されるように不快制約条件を最小化する。この選好条件は、ユーザにとってより快適な関節位置に初期姿勢を向ける。
【００３８】
【数５】
0006046801.tif 000007
【００３９】
関数ｆ（ｑ）の最小化は、制約関数ｃ（ｑ）に従う。制約関数ｃ（ｑ）の値が取り得る範囲は、下限ｕlb及び上限ｕubによって制限されている。つまり、ｃ（ｑ）の値をｕlb及びｕubの間に維持しながらｆ（ｑ）が最小化される。ｕlb及びｕubの値は、有限値であってもよいし、無限大であってもよい。ある実施形態においては、制約関数ｃ（ｑ）は、２つの部分ｃ1（ｑ）及びｃ2（ｑ）を含み、ｃ（ｑ）＝ｃ1（ｑ）＋ｃ2（ｑ）と表され得る。第１の制約関数ｃ1（ｑ）は、静的均衡において仮想人体の関節が発揮する関節トルクτsに対する制約条件を課す。
【００４０】
【数６】
0006046801.tif 000008
【００４１】
ここで、ｆesは、静止条件のもとで仮想人体の関節に及ぶ外力であり、τg（ｑ）は、仮想人体の関節に及ぶ重力トルクを記述する。τg（ｑ）は、式（７）から算出される。
【００４２】
【数７】
0006046801.tif 000009
【００４３】
ここで、Ｊcogjは、各セグメントの重心におけるヤコビアン行列であり、ｇは、重力加速度の３×１ベクトルである。
【００４４】
第２の制約関数ｃ2（ｑ）は、自己衝突及び環境との衝突を回避するために使用される。ある実施形態においては、ｃ2（ｑ）＝ｄk（ｑ）である。
【数８】
0006046801.tif 000010
【００４５】
ここで、ｄkは、可能な点のペアｎc間の最短距離である。点のペアは、２点を含む。一方は、仮想人体上の点である。他方は、仮想人体上の他点、又は、テスト中の構造内に存在する他の外部物体上の点のうちのいずれかである。すると、すべての時点においてｆ（ｑ）を最小化しつつ、仮想人体上のすべての点について、ｄk（ｑ）が正値に維持される。
【００４６】
要するに、初期姿勢は、式（９）に従って決定される。
【００４７】
【数９】
0006046801.tif 000011
【００４８】
ある実施形態においては、初期姿勢は、非線形制約条件付き最適化求解法を使用して決定されてもよい。非線形制約条件付き最適化求解法の例として、ＭＡＬＴＡＢTM  ＯＰＴＩＭＩＺＡＴＩＯＮ  ＴＯＯＬＢＯＸ、及び、非線形内側点信頼領域最適化（ＫＮＩＴＲＯ）がある。
【００４９】
（姿勢決定運動学モデル）
前記したように、姿勢決定システム１０４は、１又は複数のタスクの完遂を通じて、
仮想人体の動作に課された制約条件の集合に従いつつ仮想人体の姿勢を決定する。ある実施形態においては、閉形式多目標最適化（ＭＯＯ）技術を使用して初期姿勢が決定される。当該技術は、姿勢を決定する微分運動学モデルを含む。当該技術は、解析的に導出され、リアルタイムで稼働する。当該技術を使用して、姿勢決定システム１０４は、時点ｔ0における初期姿勢に続く多くの時点ｔにおける姿勢を、姿勢ベクトルｑの集合として出力する。ここで時点ｔの数は、連続姿勢内において要求される姿勢フレームの数及び完遂されるべきタスクの数に依存する。
【００５０】
前記したように、ベクトルｑは、仮想人体の関節モデルにおける各自由度ごとの数値を含む。時点ｔにおける姿勢は、ベクトルｑ＝[ｑ1，・・・，ｑn]Tによって表される。ここで、ｎは、自由度の総数を表す。個々の時点ｔについての各ベクトルｑは、その時点における仮想人体の姿勢を表す。パラメータ及び複数のベクトルｑは、全体として仮想人体の連続姿勢を表す。例えば、タスクがハンドブレーキを引くことである場合、連続姿勢は、ハンドブレーキを引く動作が開始してから終了するまでの仮想人体の関節の向き（及び位置）を表す。
【００５１】
タスクについては、完遂されるべき複数のタスクが存在してもよい。したがって、ここでのｉ（ｉ＝１・・・ｋ）は、各タスクに関連付けられたインデクスである。その位置の時系列履歴及び／又はその向きの時系列履歴が特定されたｋ個の操作タスクを実行するシナリオを考える。ベクトルｐは、位置の時系列履歴及び／又は向きの時系列履歴をタスクごとに表す。自由度ごとの角度のみを使用して仮想人体が表されるのとは対照的に、タスクごとのベクトルｐは、位置成分（すなわち、座標値）及び回転成分（すなわち、角度）の両方を含んでもよい。
【００５２】
姿勢決定は、姿勢決定システム１０４が姿勢にタスクを追従させる運動学追従制御問題である。特定されたタスクに関連付けられた空間速度ベクトルが式（１０）としてタスクごとに与えられる。
【００５３】
【数１０】
0006046801.tif 000012
【００５４】
0006046801.tif 000013
ここで、タスクｐの座標系は、グローバル座標系であり、その原点は、仮想人体の骨盤の位置にある。タスクフレームとは、タスクｐに関連付けられた身体セグメントの座標系である。タスクｐの動作は、身体の外側に原点があるグローバル座標系を基準にして記述され得る。代替的に、タスクｐの動作は、当該グローバル座標系を基準にして、又は、仮想人体の骨盤の動作を基準にして記述され得る。すべてのタスクが、位置成分及び向き成分の両者を有するわけではない。いくつかのタスクは、位置成分のみを有し、いくつかのタスクは、向き成分のみを有する。
【００５５】
時点ｔoにおける初期姿勢の後、任意の時点において、関節モデルの姿勢を決定するために、微分運動学モデルが使用される。微分運動学モデルは、特定されたタスクのそれぞれを（例えば、経路によって、又は、始点及び終点を使用して）完遂するために必要な動作を、仮想人体の動作に対応付ける。この処理は、仮想人体の自由度の値（例えば、関節角度）を、時系列で変化させることによって実行される。この処理は、タスクの速度（又は、タスク空間速度）を関節の速度（又は、関節空間速度）に対応付ける。ある実施形態においては、この対応付けを実行する微分運動学モデルは、式（１１）として表される。
【００５６】
【数１１】
0006046801.tif 000014
【００５７】
ここで、Ｊは、拡張ヤコビアン行列に対応する。
【００５８】
【数１２】
0006046801.tif 000015
【００５９】
ヤコビアンは、ｋ個存在するタスクｐごとに、ｐをｑで偏微分した偏微分係数である。換言すれば、ヤコビアンは、人体の関節の動作がタスクの動作に及ぼす影響度である。ヤコビアン行列は、式（１３）のように、回転成分Ｊo及び並進成分Ｊpに分解されてもよい。
【００６０】
【数１３】
0006046801.tif 000016
【００６１】
（微分運動学モデルの逆関数を用いた姿勢の決定）
0006046801.tif 000017
タスクの開始時点においては、初期姿勢が使用され得る。ある実施形態においては、所与の任意の時点ｔlにおける姿勢ｑは、時点ｔlにおける予測タスク位置及び／又は予測タスク向きと、ベクトルｑlとの間の距離誤差（Cartesian error）を最小化することによって決定される。式（１１）の逆関数である一次閉ループ逆運動学（ＣＬＩＫ）公式が使用されて、誤差を最小化するような姿勢ｑを決定する。追従性能を向上させるために、フィードバック修正項が追加される。すると、ＣＬＩＫ公式は、式（１４）になる。
【００６２】
【数１４】
0006046801.tif 000018
【００６３】
ここで、ｖdは、所望の空間速度ベクトルであり、ｅは、所望のタスクベクトルと予測タスクベクトルとの間の追従誤差である。予測姿勢は、式（１４）を積分することによって求められる。一旦ｑが求められると、予測タスクベクトルは、ｑの関数である順運動学方程式を解くことによって算出され得る。位置成分ｐd及び向き成分Θdを含む所望のタスクベクトルｐlは、タスク自身（例えば、提供された動作経路、又は提供された終点）から知られる。Ｋpは、誤差の収束速度を制御するフィードバック利得対角行列である。式（１５）のＪ+は、正定値行列Ｗによって重み付けされたＪの右疑似逆行列である。
【００６４】
【数１５】
0006046801.tif 000019
【００６５】
実際には、行列Ｊにおける特異点の発生を考慮して、式（１５）は、特異点ロバスト減衰最小二乗疑似逆行列で置換されてもよい。
【００６６】
個々のタスクｉについての追従誤差ｅは、式（１６）のように、位置誤差成分ｅpi及び向き誤差成分ｅoiを含んでもよい。
【００６７】
【数１６】
0006046801.tif 000020
【００６８】
位置誤差は、ｅpi＝ｐdi−ｐiと単純に定義される。ここで、ｐdi及びｐiは、それぞれ、所望のタスク位置及び予測タスク位置に対応する。向き誤差は、式（１７）のように、角軸誤差（angle and axis error）で表される。
【００６９】
【数１７】
0006046801.tif 000021
【００７０】
0006046801.tif 000022
【００７１】
重み行列Ｗは、構造内の仮想人体の動作を限定する少なくとも複数の制約条件を課す。ある実施形態においては、重み行列Ｗは、関節限界制約条件、自己衝突制約条件、関節不快制約条件、及び、エネルギー消費制約条件（動的整合性制約条件とも呼ぶ）を課す複合重み行列である。ある実施形態においては、複合重み行列Ｗは、その成分が制約条件の集合から導出される対角行列である。
【００７２】
【数１８】
0006046801.tif 000023
【００７３】
ここで、Ｗhは、その成分が関節限界制約条件及び関節不快制約条件から導出される重み行列である。Ｗfは、その成分が自己衝突制約条件から導出される重み行列である。Ｗdは、その成分がエネルギー消費制約条件から導出される重み行列である。
0006046801.tif 000024
これらの各制約条件は、さらに後記される。
【００７４】
（接触制約条件の姿勢決定への組み込み）
構造を評価するに際し、制約条件の１つのタイプは、仮想人体と構造の要素との間の接触制約条件である。接触制約条件は、仮想人体がタスクを完遂している間に接触し続けることを期待される面を示す。接触制約条件の例として、仮想人体の両太もも及び背中が座席に常に接触していること、仮想人体の頭がヘッドレストに常に接触していること、仮想人体の両足が１又は複数のペダルに常に接触していること、が挙げられる。
【００７５】
ある実施形態においては、前記の式（１４）において記述される逆運動学モデルに接触制約条件が組み込まれる。この実施形態では、完遂されるべきタスク及び従われるべき接触制約条件は、それぞれが完遂される優先度を有する別々のサブタスクとみなされる。接触制約条件は、優先度がより高いサブタスクである。完遂されるべき現在のタスク（処理中のタスク）は、優先度がより低いサブタスクである。ある実施形態においては、完遂されるべき現在処理中のタスクは、接触制約条件サブタスクのゼロ空間において実行される。タスクの処理中に複数の接触制約条件を同時に課さないと、その構造は処理対象の仮想人体にとって実現可能ではなくなってしまう。課され得る接触制約条件の数は、システムの冗長度に依存する。仮想人体の自由度の全数から制約条件の集合に従いつつタスクを完遂するために必要な自由度の数を減算した残数に基づいて、冗長度が決定され得る。予め又はシミュレーション中に、複数の接触制約条件に優先順位をつけ、ある接触制約条件を他の接触制約条件よりも優先してもよい。
【００７６】
式（１１）の微分運動学モデルを使用して、接触制約条件は、式（１９）のように表され得る。
【００７７】
【数１９】
0006046801.tif 000025
【００７８】
ここでｖcは、制約条件の速度ベクトルであり、Ｊcは、対応するヤコビアンである。多くの場合、接触制約条件は、仮想人体と構造の要素との間の接触点を含む。接触点は、グローバル座標系を基準にして固定される。したがって、これらの場合、ｖc＝０である。
【００７９】
タスクを完遂する運動学モデル及び制約条件に従う運動学モデル（式（１１））を組み込む逆運動学モデルが式（２０）及び式（２１）によって表される。
【００８０】
【数２０】
0006046801.tif 000026
【００８１】
【数２１】
0006046801.tif 000027
【００８２】
ここで、Ｉは、単位行列であり、ｖ*＝（ｖd＋Ｋpｅ）が成立しており、式（１５）のＪ+＝Ｗ-1ＪT（ＪＷ-1ＪT）-1及び式（２２）も成立している。
【００８３】
【数２２】
0006046801.tif 000028
【００８４】
式（２０）の右辺の第１項Ｊc+ｖcは、接触制約条件を課す、優先度がより高いサブタスクを記述する。
0006046801.tif 000029
【００８５】
0006046801.tif 000030
【００８６】
（不快制約条件及び関節限界制約条件）
不快制約条件は、仮想人体の関節が中立位置にあるような仮想人体の姿勢をプラス評価（reward）し、仮想人体の関節が関節限界に近づくにつれて、その仮想人体の姿勢を徐々にマイナス評価(penalize)する。つまり、不快制約条件は、各関節の上限角度ｑi,max及び下限角度ｑi,minの範囲内での仮想人体の関節の現在角度（関節ｉについてｑi）に基づいて仮想人体の不快水準を評価する。よって、不快制約条件ｈ1（ｑ）は、式（２３）として表される。
【００８７】
【数２３】
0006046801.tif 000031
【００８８】
0006046801.tif 000032
【００８９】
ｈ1の勾配∇ｈ1は、ｎ×１ベクトルである関節限界勾配関数を示し、その成分は、ｈ1（ｑ）の増加速度が最も早い方向を指している。
【００９０】
【数２４】
0006046801.tif 000033
【００９１】
関節ｉに対応する成分は、式（２５）によって与えられる。
【００９２】
【数２５】
0006046801.tif 000034
【００９３】
関節が中立位置にある場合、関数｜∇ｈ1i｜の値は、ゼロに等しい。関節が限界に接近するにつれて関数｜∇ｈ1i｜の値は、線形的に増加する。
【００９４】
関節の中立位置から離れるような関節動作を不快制約条件がマイナス評価している間は、関節限界制約条件は課されない。関節限界制約条件は、式（２６）として表される。
【００９５】
【数２６】
0006046801.tif 000035
【００９６】
関節が関節限界付近にあるとき、関節限界関数ｈ2の値は、より大きくなる。関節限界関数ｈ2の値は、関節限界において無限大となる。関節限界関数の勾配は、式（２７）によって与えられる。
【００９７】
【数２７】
0006046801.tif 000036
【００９８】
関節が可動範囲の中央にあるとき、関数∇ｈiの値は、ゼロに等しい。関数∇ｈiの値は、いずれかの関節限界において無限大となる。
【００９９】
関節限界制約条件の効果と不快制約条件の効果が組み合わさり、その重畳効果は、関節が関節限界を超えることを回避し、中立位置から離れる関節動作をマイナス評価する。２つの制約条件の組み合わせは、式（２８）として表される。
【０１００】
【数２８】
0006046801.tif 000037
【０１０１】
組み合わせ関数ｈ（ｑ）の勾配は、重み行列Ｗhを作成するのに使用される。重み行列Ｗhは、１又は複数の関節限界及び不快制約条件ごとに姿勢を決定するのに使用される。Ｗhは、対角成分Ｗhiを有するｎ×ｎ対角行列である。対角成分は、式（２９）によって算出される。
【０１０２】
【数２９】
0006046801.tif 000038
【０１０３】
ｈiは、関節ｉについての関節限界制約条件と不快制約条件との組み合わせである。∇ｈiは、勾配である。Δ｜∇ｈi｜は、勾配の大きさの変化を表す。Δ｜∇ｈi｜の値が正であるとき、関節は関節限界の方向に動いている。一方、Δ｜∇ｈi｜の値が負であるとき、関節は関節限界から離れる方向に動いている。関節が関節限界の方向に動いているとき、対応する重み成分Ｗhiの値は徐々に大きくなり、関節の動作速度が低下して、姿勢が決まる（例えば、次の時点におけるｑの決定）。関節が関節限界に殆ど到達しかけると、重み成分Ｗhiの値は、無限大となり、対応する関節は実質的に停止し、姿勢が決まる。関節が関節限界から離れる方向に動いている場合、関節の動作は制限されない。
【０１０４】
（衝突回避制約条件）
衝突回避制約条件は、仮想人体の関節モデルの異なるセグメント同士（例えば、腕と胸）が衝突するのを回避する、又は、関節モデルのあるセグメント（例えば、腕）と構造の要素（例えば、ドア）とが衝突するのを回避する。２つのセグメントが１つの関節で接続されている場合、関節限界制約条件を使用して関節の可動範囲を限定することにより、２つのセグメント同士の衝突を回避し得る。衝突回避制約条件は、同じ関節を共有しないセグメント同士の衝突を回避し、あるセグメントと構造の要素とが衝突することを回避する。衝突回避制約条件は、衝突する２物体間（２つのセグメント間、又は、１つのセグメントと構造の１つの要素との間）の最短ユークリッド距離ｄ（ｄ≧０）を含む。ある実施形態においては、衝突回避制約条件ｆ（ｑ，ｄ）の値は、ｄ＝０のとき最大となり、ｄが増加するにつれて、ゼロに向かって指数関数的に減衰する。この関係は、例えば式（３０）である。
【０１０５】
【数３０】
0006046801.tif 000039
【０１０６】
パラメータα及びβを調節することによって減衰速度が制御される。αの値を大きくすることによって、関数ｆの値がより素早くゼロに漸近するように指数的減衰速度を制御できる。パラメータρは、振幅を制御する。衝突回避制約条件ｆの勾配∇ｆは、ｎ×１ベクトルであり、その成分は、ｆの増加速度が最も早い方向を指している。
【０１０７】
【数３１】
0006046801.tif 000040
【０１０８】
衝突の勾配は、式（３２）を使用して算出される。
【０１０９】
【数３２】
0006046801.tif 000041
【０１１０】
ｆをｄで偏微分した際の偏微分係数は、式（３３）である。
【０１１１】
【数３３】
0006046801.tif 000042
【０１１２】
ｄをｑで偏微分した際の偏微分係数は、式（３４）である。
【０１１３】
【数３４】
0006046801.tif 000043
【０１１４】
ここで、ｘa及びｘbは、衝突回避制約条件を使用して衝突が回避されることが要求される２つの物体（例えば、セグメントａ及びセグメントｂ、セグメントａと構造の要素ｂ、又は、その逆）のデカルト位置を示す位置ベクトルを表す。Ｊa及びＪbは、それぞれａ及びｂについてのヤコビアン行列である。座標値ｘa及びｘbは、衝突検出ソフトウエアを使用して求められる。
【０１１５】
式（３１）の衝突回避制約条件勾配関数におけるベクトルの成分は、仮想人体の各自由度が、衝突に至るまでの距離に与える影響の度合いを表す。ある実施形態においては、衝突回避制約条件勾配関数は、重み行列Ｗfを作成するために使用される。重み行列Ｗfは、１又は複数の衝突回避制約条件を満たして姿勢を決定するために使用される。Ｗfは、対角成分Ｗfiを有するｎ×ｎ対角行列である。対角成分は、式（３５）によって算出される。
【０１１６】
【数３５】
0006046801.tif 000044
【０１１７】
∇ｆiは、関節ｉについての衝突回避制約条件勾配関数を表す。Δ｜∇ｆi｜は、衝突回避制約条件勾配関数の大きさの変化を表す。Δ｜∇ｆi｜の値が正であるとき、関節動作は、仮想人体を衝突方向に動かしている。一方、Δ｜∇ｆi｜の値が負であるとき、関節動作は、仮想人体を衝突から離れる方向に動かしている。
【０１１８】
関節動作が仮想人体を衝突方向に動かしているとき、対応する重み成分Ｗfiの値は、非常に大きくなり、関節速度を低下させる。２つの四肢が接触しそうになると、重み成分は無限大となり、関節は衝突方向への動作に対して実質的に貢献しなくなる。関節動作が四肢を衝突から離れるように動かしている場合、関節動作は制限されない。回避対象の衝突ごとに異なる衝突回避制約条件が、制約条件の集合内に存在してもよい。
【０１１９】
（動的整合性制約条件）
人体動作を観察していると、人体は、冗長なタスクを実行しているとき、エネルギー消費を最適化し得ることがわかる。つまり、入力値としてのデカルト空間が、無限数の解を有する冗長関節設定空間を記述する場合、運動学エネルギーを最小化する解を選択すれば、自然な人体姿勢を予測することができる。ここで、動的整合性制約条件は、タスクを完遂するために必要な運動学エネルギーを最小化する（又は、少なくとも減少させる）自由度ベクトルｑの解を選好する。動的整合性制約条件とは、タスク完遂時に仮想人体が動的に均衡することを当該解が担保する条件である、と解釈してもよい。
【０１２０】
関節空間における人体の力学は、式（３６）のように、関節空間慣性行列（ＪＳＩＭ）Ｈ（ｑ）として書かれ得る。
【０１２１】
【数３６】
0006046801.tif 000045
【０１２２】
0006046801.tif 000046
Ｃは、Ｃｑがコリオリ項と遠心項のｎ×１ベクトルであるようなｎ×ｎ行列である。τgは、重力項のｎ×１ベクトルである。Ｊはヤコビアン行列であり、ｆeは、システムに及ぶ空間外力である。
【０１２３】
式（１４）及び（２０）の逆運動学微分モデルを解くことは、仮想人体の重み付き瞬間最小運動エネルギーを近似することになる。なぜなら、関節速度の二乗和が最小化されるからである。この重み付き瞬間最小運動エネルギーの近似値を真の値に近付けるために、制約条件の集合は、動的整合性重み行列Ｗdを含む。行列Ｗdは、関節空間慣性行列Ｈ（ｑ）の対角成分に対応する対角係数を含む。Ｗdは、式（３７）として表される。
【０１２４】
【数３７】
0006046801.tif 000047
【０１２５】
ここで、Ｉは、単位行列である。実際には、動的整合性重み行列Ｗdの影響は、例えば胴体のように質量及び／又は慣性が大きいセグメントを動かす関節動作に対してマイナス評価をすることである。
【０１２６】
動作を生成するために使用される力は、構造の評価に有益な情報を提供し得る。ある実施形態において、Ｈ（ｑ）を解いて、動作の持続時間中（例えば、１つのタスクの持続時間中）にすべての関節を作動させるのに必要な平均絶対力を決定し、当該動作のエネルギーコストを決定することができる。
【０１２７】
【数３８】
0006046801.tif 000048
【０１２８】
（方法の発明の実施例）
図２は、ある実施形態に係る車両搭乗者収容体構造内でタスクを実行するときに、仮想人体の時系列姿勢を決定するフローチャートである。ステップ２１０において、コンピュータシステム１００は、少なくとも１つのタスク、パラメータを含む仮想人体モデル、車両搭乗者収容体構造及び制約条件の集合を受け取る。ステップ２２０において、コンピュータシステム１００は、仮想人体がタスクを実行する前の初期姿勢を決定する。ステップ２３０において、コンピュータシステム１００は、初期姿勢を始点として使用して、仮想人体がタスクを実行する間の仮想人体の時系列の連続姿勢を決定する。連続姿勢を決定することは、仮想人体がタスクを完遂する間の、多くの単位時間のそれぞれにおける姿勢を決定することを含む。つまり、ステップ２３０において、コンピュータシステム１００は、タスク完遂の間の単位時間ごとに姿勢を決定する処理を繰り返す。ステップ２４０において、コンピュータシステム１００は、連続姿勢を分析して、仮想人体にとって構造が実現可能であるか否かを決定する。
【０１２９】
図４は、ある実施形態に係るタスクを完遂する間の個々の姿勢を決定するフローチャートである。図４は、図２のステップ２３０の１回分の繰り返し処理を示す。前記したように、ステップ４０２において、姿勢決定システム１０４は、直前の時点ｔ−１の姿勢ｑt-1にアクセスする。ステップ４０４において、姿勢決定システム１０４は、完遂されるべきタスクｐにアクセスする。ステップ４０６において、姿勢決定システム１０４は、タスクｐを完遂する間に従われるべき制約条件の集合にアクセスする。
【０１３０】
ステップ４０８において、姿勢決定システム１０４は、これらの入力値を使用し、次の時点ｔにおける姿勢ｑt（符号４１０）を決定する。時点ｔにおける姿勢ｑt（符号４１０）は、他の決定された姿勢とともにまとめて構造分析システム１０６に出力されてもよい。さらに、時点ｔにおける姿勢ｑt（符号４１０）は、次の時点における姿勢ｑt+1を決定するために、姿勢決定システム１０４にフィードバックされる。タスクが完遂されるまで、又は、制約条件の集合がもはや従われなくなるまで、当該処理は繰り返される。制約条件が無視された場合、姿勢決定システム１０４は、姿勢一式を返すよりはむしろ、エラーメッセージを出力し、仮想人体はタスクを完遂することができない旨表示してもよい。
【０１３１】
（追加的考慮）
本明細書において、“一実施形態”又は“ある実施形態”と言う場合は、本発明の少なくとも１つの実施形態に、その実施形態に関連して記述される１つの特徴、構造又は特性が含まれていることを意味する。本明細書のいたる箇所に“一実施形態では”又は“ある実施形態では”という語が出現しても、必ずしも同一の実施形態を指しているわけではない。
【０１３２】
後記する詳細説明のいくつかの部分は、アルゴリズム用語や、コンピュータメモリ内のデータビット作業を示す象徴的な表現による。これらのアルゴリズム的な説明や表現は、情報処理分野の当業者が、自らの業績の要旨を、同分野の他の当業者に最も効率的に伝えるために用いる手段である。アルゴリズムとは、ここでは、そして一般的にも、ある所望の結果に至る複数のステップ（命令）の首尾一貫したシーケンスを意味する。ステップとは、物理量に対する物理的操作を要求するステップのことである。通常、必ずしも必要条件ではないが、それらの数値は、記憶され、転送され、合成され、比較されかつ操作され得る、電子的、磁気的又は光学的信号の形を取る。これらの信号のことを、ビット、値、要素、シンボル、文字、語又は番号等と呼ぶことが主として用語の共通化の理由から便宜である。さらに、物理量に対する物理的操作を要求するステップの配列のうちいくつかのものは、一般性を失うことなくモジュール又はコードデバイスと呼ぶことが便宜である。
【０１３３】
しかしながら、このような用語の全ては適当な物理量と関連付けられており、これらの物理量に付された単なる便宜的なラベルに過ぎない。後記において特段の説明がない限り、明細書本文全体を通じて、“処理”、“計算”、“算出”、“決定”又は“表示”等の用語を用いた説明は、（電子的な）物理量としてのデータを、コンピュータシステムのメモリ、レジスタ又は他の情報ストレージのなかで操作しかつ変形するコンピュータシステムや同様の（特定のコンピューティングマシーンのような）電子的コンピューティングデバイスの動作や処理のことを言う。
【０１３４】
本実施形態のいくつかの側面は、アルゴリズムの形になったプロセスステップや命令を含む。本実施形態のプロセスステップや命令は、ソフトウエア、ファームウエア又はハードウエアによって実装され、ソフトウエアで実施される場合は、ダウンロードされることが可能であり、多様なオペレーティングシステムが用いる別のプラットフォームから操作されることも可能である。実施形態は、コンピューティングシステム上で実行され得るコンピュータプログラム製品内にあってもよい。
【０１３５】
本実施形態は、操作を実行する装置にも関する。この装置は、所与の目的を達成する専用コンピュータであってもよいし、コンピュータに記憶されたコンピュータプログラムによって選択的に起動される又は再設定される汎用コンピュータであってもよい。このようなコンピュータプログラムは、コンピュータが読取り可能な媒体に記憶され得る。その媒体とは、コンピュータシステムバスに接続可能な、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、電磁光学的ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、電磁的又は光学的カード、ＡＳＩＣ又は電子的命令を記憶し得るあらゆる媒体を含むが、これらに限定されない。メモリは、前記の及び／又は他の装置のうち、情報／データ／プログラムを格納し一時的又は非一時的媒体であり得る任意のものを含む。ここで、非一時的媒体又は不揮発性媒体は、最小の継続時間を超えて情報を記憶し得るメモリ／ストレージを含み得る。さらに、本明細書で言うコンピュータは、単体のプロセッサを含んでもよいし、コンピュータ能力を増加させるために複数のプロセッサを用いた装置であってもよい。
【０１３６】
ここでいうアルゴリズムやディスプレイは、もともと特定のコンピュータや他の装置に関係している訳ではない。ここで教示される内容に従って、プログラムとともに多様な汎用システムが使用され得る。又は、必要とされる方法ステップを実行するためにさらに特化した装置を作成することも便宜である。これらのシステムのそれぞれについてどのような構成が必要となるかは、ここに記した明細書から明らかになる。さらには、本発明は特定のプログラム言語を参照して記載されるものではない。本発明の教示を実施するために、多様なプログラム言語が使用され得る。後記において特定の言語に言及した場合、それは本発明の実施可能性及びベストモードを開示するためである。
【０１３７】
さらに、本明細書で使用される言語は、読みやすさ及び教示目的から選択されているのであって、本発明の主旨を限定するために選択されているのではない。したがって、本発明の実施形態の開示は、特許請求の範囲にて記述されている本発明の範囲を例示するものであるが限定するものではない。
【０１３８】
本発明の特定の実施形態と応用例をここに記載したが、付属の特許請求の範囲に定義される本発明の技術的精神と範囲から逸脱しない限りにおいて、本発明はここに記載される厳密な構成および要素にのみ限定されることなく、本発明の方法および装置の構成、動作およびその詳細について、各種の変更、修正および変形を加えることが可能であることを理解すべきである。
【図１】
0006046801.tif 000049
【図２】
0006046801.tif 000050
【図３】
0006046801.tif 000051
【図４】
0006046801.tif 000052