(57)【特許請求の範囲】
【請求項１】
関節のセグメント毎に変換行列を決定する装置であって、
前記装置は、
パラメータを含む第１の算術関数を有し、第１の角度間隔用の第１の関節回転中心及び第２の角度間隔用の第２の関節回転中心を供給するように構成されている、第１の関節構成要素を選択する手段と、
前記第１の関節構成要素の動きを定義するために前記パラメータを設定する手段と、
第２の算術関数を有する第２の関節構成要素を選択する手段と、
前記第１の関節構成要素と前記第２の関節構成要素を対にして、前記変換行列を特定する関節集合関数を生成する手段と、
を有することを特徴とする装置。
【請求項２】
関節のセグメント毎に変換行列を決定する装置であって、
前記装置は、
パラメータを含む第１の算術関数を有し、複数の楕円体と複数の基準点の対を用いてセグメントを束縛するように構成されている、第１の関節構成要素を選択する手段と、
前記第１の関節構成要素の動きを定義するために前記パラメータを設定する手段と、
第２の算術関数を有する第２の関節構成要素を選択する手段と、
前記第１の関節構成要素と前記第２の関節構成要素を対にして、前記変換行列を特定する関節集合関数を生成する手段と、
を有することを特徴とする装置。
【請求項３】
関節のセグメント毎に変換行列を決定する装置であって、
前記装置は、
パラメータを含む第１の算術関数を有し、境界曲線を生成し、かつ、第１の角度間隔用の第１の関節回転中心及び第２の角度間隔用の第２の関節回転中心を供給する関節中心変化を伴う回転に起因する不適切な方向を前記境界曲線に射影し戻すように構成された第１の関節構成要素を選択する手段と、
前記第１の関節構成要素の動きを定義するために前記パラメータを設定する手段と、
第２の算術関数を有する第２の関節構成要素を選択する手段と、
前記第１の関節構成要素と前記第２の関節構成要素を対にして、前記変換行列を特定する関節集合関数を生成する手段と、
を有することを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、関節のモデリングに関し、より詳しくは、関節を表現するための複雑な関節接合および生体力学的な正確さを提供する構成要素フレームワークに関する。
【背景技術】
【０００２】
骨格の関節接合の正確な表現は、生体力学およびコンピュータグラフィックスを含む多くの応用分野で重要である。例えば生体力学では、正確な関節モデルを怪我予防およびリハビリテーションのために利用できる。コンピュータグラフィックスでは、正確な関節モデルはキャラクターアニメーションのリアリズムの改善につながる。
【０００３】
連結した関節モデルを用いて人間のキャラクターを表現する従来の一手法は、連結した手足を有する人物を表現するのにロボット工学に基づくＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇリンクパラメータ表記法を用いる。そのような従来システムの１つは、コンピュータグラフィックス（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）（ＳＩＧＧＲＡＰＨ  ‘８５年のプロシーディングス）の１９８５年発行第１９巻２６３〜２７０ページに掲載されたＭ．Ｇｉｒａｒｄ他著「Ｃｏｍｐｕｔａｔｉｏｎａｌ  ｍｏｄｅｌｉｎｇ  ｆｏｒ  ｔｈｅ  ｃｏｍｐｕｔｅｒ  ａｎｉｍａｔｉｏｎ  ｏｆ  ｌｅｇｇｅｄ  ｆｉｇｕｒｅｓ（脚を有する像のコンピュータアニメーションに対する計算モデリング）」に記載されている。パラメータ表記法は、隣接するセグメント間の座標構造を４つのパラメータに関連づけるが、各パラメータ集合は、単に２つのセグメント間の単一の自由度について記述するのみである。複数の自由度（ＤＯＦ）を有する関節を実現するためにパラメータの複数の集合を接続することができるが、利用者がその結果として生じる関節の表現を操作、あるいは利用するためには、さらなる複雑さが加わる。
【０００４】
他の従来手法には、セグメント方向を表現するオイラー角度を所望の補間特性を有し、且つオイラー角度固有の特異性を回避する４元数および指数関数マップとともに利用する手法がある。オイラー角度は、人間動作のひねり、屈曲-伸展、および外転-内転などの運動描写に適する類似の自由度を有する。しかしながら、オイラー角度の一短所はパラメータ化の選択が特定の方向に制限されるということである。
【０００５】
さらに、従来、特定の型の関節に関連する複雑な生体力学的特性を表現するために、特殊な、あるいは専用のモデルが用いられる。生理的関節は、グラフィックモデルではしばしば無視される多くの複雑さを有することが分かっている。例えば、生体力学者は、通常、骨関節に、より良く合わせされた数個の非直交性の任意の回転軸を複数個有する関節を特定する。従来、単一ＤＯＦの蝶番い関節として単純化される膝を含む多くの関節は、並進運動要素および変化する回転中心を有する。肩などのような関節では、鎖骨、肩甲骨、および胸郭の胸部表面からなる閉ループが、これらのすべての関節の関節接合の間に結合を生じる。いくつかの従来の手法では、この状況をモデリングするため、胸郭を近似する楕円体の表面に滞留するように肩甲骨に制約条件を設けることをその手段としている。生体力学的または生理的な複雑さを表現する特殊なモデルを用いる技術を構成し且つ制御することは、利用者にとって難しい場合がある。
【０００６】
さらに、三次元（３−Ｄ）モデリング用の視覚化機能を提供する市販ソフトウェアの大半は、複数ＤＯＦの関節または特殊なモデルの複雑さをサポートしていない。一般に、単一の関節の運動は、いくつかのセグメントにわたる連携した動きの集合よりも、むしろ、２つの隣接するセグメント間の相対運動に制限される。
【０００７】
いくつかのセグメントにわたる連携を欠いたシステムの一具体例が、コンピュータアニメーション２００２のプロシーディングス（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ａｎｉｍａｔｉｏｎ  ２００２）の１６５〜１７２ページに掲載されたＡ．Ｍａｃｉｅｌ他著「Ａｎａｔｏｍｙ-ｂａｓｅｄ  ｊｏｉｎｔ  ｍｏｄｅｌｓ  ｆｏｒ  ｖｉｒｔｕａｌ  ｈｕｍａｎ  ｓｋｅｌｅｔｏｎｓ（解剖学に基づく仮想人間骸骨の関節モデル）」に記載されている。Ｍａｃｉｅｌ他は、ある面の上を共に並進および回転でき、かつ任意の関節のＤＯＦと共に動的に変化する関節限界を有する関節を組み込むモデルについて記述している。各ＤＯＦは、単一のセグメントに対する回転軸または並進軸に関連づけられてる。
【０００８】
他の従来のアプローチは、変化する関節中心、表面制約条件、および球関節のジョイント限界に対する関節空洞コーンを含むために必要とされる一般性を欠いている。例えば、オックスフォード大学出版局１９９２年発行のＮ．Ｂａｄｌｅｒ他著「Ｖｉｒｔｕａｌ  ｈｕｍａｎｓ  ａｎｄ  ｓｉｍｕｌａｔｅｄ  ａｇｅｎｔｓ（仮想人間と模擬エージェント）」に記述されたピーボディシステム（Ｐｅａｂｏｄｙ  ｓｙｓｔｅｍ）は、関節グループのセグメントを構成するために、グループ角度を有する関節グループに関節を集めるものであるが、しかしながら、この一般性を欠いている。個々の関節を連携させる高度の組織を提供する従来システムの一課題は、従来システムは十分に一般化されておらず、すべての関節を正確に表現できないことである。
【０００９】
従来システムの他の課題は、関節モデルがソフトウェア環境の間で容易に交換または取り替えられないことである。標準化されたヒト類似関節の階層構造が、アバター表現を目的として定義されたが、標準的な関節の動きを妨げない時に限り、カスタム関節を付加することが出来る。標準的な人間表現が、異なったソフトウェア間でのアバターの交換および互換性のために重要であるが、新たな連携関節接合を定義するための融通性が、階層構造によって強制された制約条件によって妨げられる。
【００１０】
いくつかの骨のセグメントにわたる関節表現のモデリングを提供し、かつ関節構成要素を連携させるための高度の組織を提供する関節構成要素モデルのフレームワークが求められる。さらに、非直交性回転軸、変化する関節中心、閉ループ、ならびに、直感的な構造パラメータおよび制御を有する生体力学的に正確な関節を収容するフレームワークが求められる。加えて、直感的な制御を備え、かつソフトウェア環境の間での交換または取り替えを提供するフレームワークが求められている。
【発明の開示】
【００１１】
本発明の一実施例は、多関節形状において関節の複雑な動きを提示する汎用関節構成要素モデルを提供する。関節構成要素は、パラメータのリストで制御される出力に対する入力の写像として定義される。パラメータは、ジョイント限界および回転軸などの特定の特徴を記述するための関節構成要素を設定する。関節構成要素は、モジュール式で再使用可能な構成ブロックであり、関節集合関数を実現するためにネットワークにおいて相互接続できる。さらに、関節構成要素は、現実の解剖学的な関節の運動学においてしばしば現れる非直交性、非交差性の回転軸、および変化する関節中心を取り扱うことが出来る。
【００１２】
本発明の一実施例では、一般化座標が関節集合関数に対する入力として供される。一般化座標は関節集合関数の自由度（ＤＯＦ）を表現し、かつ関節接合を調整するために用いられる。関節集合関数は、骨のセグメントをアニメ−ションさせるために用いられる出力変換行列を生成する。多様な線形および非線形の関節の従属関係はフレームワーク中に内在させる。したがって、関節接合の調節は、パラメータ化する運動中の関節接合の個数と比較して、相対的に小さい直感的なパラメータの集合を用いてなされる。
【００１３】
本発明の他の実施例では、関節集合関数への入力は、アニメータなどの利用者に直感的に理解されるように設計可能であり、かつ関節の従属関係および結合が関節集合関数に内在的に組み込まれるため、十分コンパクトにすることが出来る。関節構成要素は異なった情況で再利用可能であり、あるいは、関節モデルにおける正確さを向上させるために拡張することができる。
【００１４】
本発明のさらなる実施例では、対象関節に対する関節集合関数を構築する方法を提供する。方法の一実施例は、対象関節において骨および関節接合を特定し、骨および関節接合を骨のグループに分割し、骨のグループを選択し、選択された骨のグループに対する関節接合をモデリングするために関節構成要素を選択することを含む。各関節構成要素は少なくとも１つのパラメータを含む。方法はさらに、関節構成要素の動きを定義するために、各関節構成要素のパラメータを設定し、関節集合関数を生成するために関節構成要素をネットワークに結合することを含む。
【００１５】
また、本発明の特徴、その性質、および多様な利点は、添付図面および以下の詳細な説明でさらに明らかになるであろう。
【発明を実施するための最良の形態】
【００１６】
さて、ここで本発明は、本発明のいくつかの実施例を示す添付図面を参照することによってより十分に説明される。本発明は多くの異なった形態で実施可能であり、本明細書に示される実施例に制限されるものと解釈するべきではない。むしろ、これらの実施例は、本開示が詳細で完全なものとなり、当業者に本発明を十分に伝えるようにするために提供されるものである。
【００１７】
コンピュータグラフィックスアプリケーションでは、人間のキャラクターの写実的描写およびアニメーションは、対話型グラフィックスの魅力および成功に貢献する重要な構成要素である。三次元の人型は、しばしば対話型インターフェースの物理的な具体例であり、プレーヤーのアバター、または仮想環境における他の自律的なキャラクターの表象の何れかとして機能する。最近の研究は、人間の表皮および筋肉の変形を表現し且つアニメーションする、より良い形状表現、解剖学に基づくモデリング、ならびに姿勢に基づく皮膚変形に焦点が当てられてきたが、これらの方法を駆動する下層にある多関節体の表現は１９８０年代にコンピュータアニメーションにおいて初めて用いられて以来、概して不変のままであった。
【００１８】
正確な生体力学的関節モデルを関節変換の従来の階層構造に導入することによって、人間のキャラクターアニメーションにおける写実性の改善をもたらすことが出来る。３次元コンピューターゲームおよびバーチャルリアリティなどの対話型アプリケーションは、グラフィクスハードウェアの進歩の恩恵を受け、それらの幾何学的表面モデルにおいて、より一層細部まで人型のキャラクターを表現できるようになった。しかしながら、異なった形状モデルを用いた人間動作の認識の研究では、観察者が、棒線画を使用したときに較べて多角形モデルを使用したとき、動作の変化に対して、より敏感になることが示唆された。３次元対話型アプリケーションの大半が、より詳細な多角形モデルを用いるので、観察者は身体の肩および胴体領域などにおけるアニメーションの非現実的な関節運動に、より敏感に気付くこともある。この状況は、感知される集中的な活動性が、仮想人間プレーヤーの動作の連携に関係するスポーツシミュレーションに特に関連している。骨格の運動に基づき表皮モデルを変形させるアニメーション技術に対して、骨のセグメントの正確な関節変換はこれらの方法のより良いパフォーマンスにつながりうるもので、その手段として、姿勢に基づく変形に関しては表皮運動とその下層の骨の間の連関を改善する方式を採用し、解剖学に基づくモデルに関しては、骨格の動作に対応して、より正確な筋肉変形をモデリングする方式を採用している。
【００１９】
本発明のプロセス、特徴、または作用は、適切な計算装置において実行されるプログラム命令によって実施することができる。計算装置の具体例としては、企業サーバ、アプリケーションサーバ、ワークステーション、パーソナルコンピュータ、ネットワークコンピュータ、ネットワーク機器、携帯情報端末、ゲーム機、テレビ、セットトップボックス、構内自動化設備、ＰＯＳ端末装置、自動車、およびパーソナル通信機器（例えば、携帯電話機／無線電話）を含む。
【００２０】
プログラム命令は、コンピュータが読み込み可能な媒体または記憶ボリュームによって配布することが出来る。コンピュータ読み込み可能記憶ボリュームは、公衆通信網、専用通信網、またはインターネットを介して利用することができる。プログラム命令は、ソースコード、オブジェクトコード、またはスクリプト用コードなどの任意の適切な形式である。
【００２１】
Ａ．  システム概要
図１は、本発明の一実施例における関節構成要素モデルの図である。図示の実施例は関節集合関数１０５を含む。関節集合関数１０５は、多数の関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２、関節集合関数の入力１３０、および出力変換行列１４０を含む。各関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２は写像であり、一組の入力を取り込み、フレームワーク中の他の構成要素に付置できる出力を生成する。関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２は、関節集合関数１０５を形成するネットワークとして構成される。関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２のネットワークは、各骨のセグメントの変換に対応する出力変換行列１４０を生成する。
【００２２】
関節集合関数の入力１３０は、モデルの関節接合を制御するために利用者が変更するパラメータの集合に対応する。関節集合関数１０５の利用者の一例はアニメータであるが、当業者は、関節集合関数の入力１３０の提供にはプログラムによる方法が使えることを理解するだろう。そのようなプログラムによる方法の１つは、従来のアニメーションアルゴリズムである。
【００２３】
関節集合関数１０５の一利点は、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２の複雑さが利用者から隠されるということである。すなわち、関節集合関数の入力１３０は、対象の複雑な関節接合を効果的に制御する直感的に設計されたパラメータの集合とすることが出来る。特定の関節のモデル構築に関するさらなる特徴と具体例を後述する。
【００２４】
Ｂ．  関節構成要素モデル
以下の記述を分かりやすくするため、ここで、いくつかの用語および記号について説明する。多関節形状は、剛体運動だけを表現できるセグメントｓの集合を有する。セグメントは階層構造で相互に関連し、セグメントｓの運動はその親ｐに対して相対的に表され、４×４の変換行列ｐｓＴの形で表現される（親セグメントを参照しないとき、上付き文字ｐを除去できる）。その運動がワールド座標フレームに対しての運動では、セグメントは親、０ｓＴを有することができない。したがって、単一の多関節形状のセグメントを、いくつかの階層的なツリーに分割できる。これは、多関節形状が浮動性セグメントを含むとき有用である。
【００２５】
関節集合Ｊは、１つ以上のセグメントを含み、そのセグメントの構成が独立自由度（ＤＯＦ）または一般化座標（ＧＣ）ｑＪによって記述される。関節集合の各セグメントに対して、その親に対する各セグメントの相対運動は、関節接合または関節として記述される。図２は、本発明の一実施例における肩関節集合を示す。例えば、図２で示すように、肩関節集合は４つの骨のセグメント、即ち、鎖骨２０５、肩甲骨２１０、胸郭（図示せず）、および上腕骨２１５を含む。また、肩関節集合は４つの関節接合、即ち、胸鎖の関節２５０、肩峰鎖骨の関節２５５、肩甲上腕骨の関節２６０、および肩甲骨胸部の関節２６５を含む。本発明の一実施例では、セグメントは関節集合の中で相互に隣接している必要はなく、このことは、セグメントの親が異なった関節集合に存在できることを意味する。
【００２６】
数学的に、Ｊにおける各セグメントの関節に対する変換行列は、変化変換行列関数ｓＴ（ｑＪ）として表現される。各関節集合Ｊに対して、関節集合関数１０５は、関節集合関数１０５の一般化座標（すなわち、関節集合関数の入力１３０）の、各セグメント１４０の変換行列関数に対する写像として定義できる。式１は関節集合関数１０５の１つの定義を表す。
0004452272.tif 000002
【００２７】
多関節形状のセグメントの動作をいくつかの関節集合に分割することによって、複雑な関節接合をほんの少数のＤＯＦを用いて動力学的に制御できる。さらに詳しく後述するように、例えば、２４の脊椎骨からなる人間の背骨を、頚部の、胸部の、および腰部の領域に対する３つの関節集合を用いて実現することができ、これらの各領域は、屈曲／伸展、側方湾曲、および軸方向捻転に対する３つのＤＯＦを有する。
【００２８】
本発明の一実施例によれば、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２は、モジュール式で再使用可能な構成ブロックであり、関節集合関数１０５を実行する。各関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２は結合性関数を実現し、異なった情況における再利用を容易にする。関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２は写像として式２で定義され、Λは、ジョイント限界および回転軸などの特定の特徴を記述するための関節構成要素を構成するパラメータのリストである。
0004452272.tif 000003
【００２９】
集合ΘおよびΩは、スカラ、ベクトル、または行列の成分を有することができ、それぞれ、関節構成要素ｊΛの入力および出力に対応する。関節集合関数１０５は、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２のネットワークを含み、そのネットワークは、１つの構成要素の出力を他の１つ以上の構成要素の入力に接続することによって作成される。本発明の他の実施例では、関節集合関数１０５（および/または対応するネットワーク）は、単一の関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２を含む。関節集合関数の入力１３０などの一般化座標は、出力として与えられたセグメントの変換行列１４０をネットワークへ入力する。本発明の一実施例では、比較的少数の単純な関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２を組み合わせて、多様な振る舞いを創出することができる。このフレームワークでは、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２の新タイプを、最小限のモジュール間の接続で、既存の構成要素に付加し、共用することが可能となる。
【００３０】
Ｃ．  関節構成要素
関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２のいくつかの具体例について以下に説明する。当業者は、本発明の１つの特徴が、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２のネットワークの一般化された、フレキシブルな表現であることを理解するであろう。したがって、以下に記載するもの以外の関節構成要素を本発明の一実施例に追加できる。また、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２を、特に本明細書に記載されていない付加的な特徴または機能を含むように変更できる。
【００３１】
１．  行列積構成要素
行列積構成要素は、入力として、いくつかの行列のリストを取り込み、それらを共に乗じて、単一の変換行列を出力として生成する。リストの要素の順番が、乗算の順番を決定する。出力は、対応する関節に適用される最終的な変換（例えば、変換行列１４０）であるか、または、他の関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２に対する入力として用いられる中間結果であるか、の何れかである。
【００３２】
当業者は、行列積構成要素の数学的演算は従来の行列積処理手順であることを知るであろう。グラフィックスインターフェイス１９９２のプロシーディングス（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｆａｃｅ  １９９２）の２５８〜２６４ページに掲載されているＫ．Ｓｈｏｅｍａｋｅ他著「Ｍａｔｒｉｘ  ａｎｉｍａｔｉｏｎ  ａｎｄ  ｐｏｌａｒ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ（マトリクスアニメーションおよび極分解）」において、さらに記述されるように、多くの変換は、利用者にとって直感的なパラメータを有する行列分解として表現できる。
【００３３】
２．  一対多写像構成要素
一対多写像構成要素は、単一のスカラ入力を有し、また１つ以上の関節変数のベクトルを生成する。これは、回転関節または並進関節に対する角度、または並進運動単位と解釈できる。このメカニズムによって、単一スカラのＤＯＦが２つ以上の関節の関節接合を制御することが可能となる。例えば、本発明の一実施例では膝モデルを実現でき、ここでは単一の一般化座標が、膝蓋骨、腓骨、および脛骨に対するオイラー角度の回転および並進を評価するいくつかの三次スプライン関数の共通のパラメータである。当業者は、非線形な区分的三次スプライン関数が、運動を平滑化するために有益であることを理解するであろう。
【００３４】
一対多写像構成要素の中で、出力ベクトルの各要素は入力スカラからの接続において、それ自身の線形の、または非線形の関数を有することができる。これらの関数は、１つ以上の関節に対していくつかの関節変数、単位変換、およびジョイント限界に対する異なった変化率を実施できる。例えば、定義域［０，１］を、回転角θに対して範囲［θｍｉｎ，θｍａｘ］  に写像できる。
【００３５】
３．  補償構成要素
従来の階層的な骨格ツリーでは、親セグメントの変換は子セグメントによって引き継がれる。しかしながら、これは、いくつかの状況で好ましくない動作を生じうる。例えば、人体モデルの肩をすくめたいとき、鎖骨２０５の回転は上腕２１５に伝播され、上腕２１５が身体から回転しつつ離れる動きを惹起する。利用者またはアニメータは、上腕２１５および鎖骨２０５の方向を独立に保持したいかもしれない。
【００３６】
従来の補償構成要素は、親から伝播してきた回転を補正する補正的角度回転を適用するように設計されている。本発明の一実施例では、補償構成要素はこの思想を一般化して、特定のセグメントに対して任意の先祖セグメント（直接の親だけでなく）の（任意の回転パラメータ化によって創出された）方向変換を相殺しながら、セグメントの並進運動を連携させることによって、その関節でのそのセグメントとの連結性を保持する。これにより、セグメントはワールドフレームに関して定位を有することができる。
【００３７】
特定のセグメントｓの補償構成要素は、入力として先祖セグメントの単一の変換行列を取り込み、先祖の回転で惹起された好ましくない方向変化を相殺する行列を生成する。どれくらい離れた骨格階層構造ツリーまで方向を相殺したいと思うかによって、セグメントは各々の先祖に対する補償構成要素を保有することができる。そして、各補償構成要素の出力は、行列積構成要素を用いて乗じられ、骨格ツリーのある一定レベルまでのセグメントの先祖によって惹起されたすべての好ましくない動作を補償する行列を生成する。図２に示す肩の関節集合では、肩甲骨２１０および鎖骨２０５の回転から独立した上腕２１５の方向を創出するために、２つの補償構成要素が用いられる。第１の構成要素は肩峰鎖骨の関節２５５（肩甲骨２１０を鎖骨２０５に接続する）の影響を相殺し、第２の構成要素は胸鎖の関節２５０（鎖骨２０５を胸郭の胸骨に接続する）を無効にする。
【００３８】
本発明の一実施例では、補償行列の演算処理は２つのステップでなされる。図３は本発明の一実施例の補償構成要素を示す。最初に、図３に示すように、先祖セグメントの変換行列の逆行列が、その動作を相殺するために計算される。この工程では、セグメントは先祖の変換が適用される前の元の位置および方向に（矢印３０５で示すように）戻っている。セグメントは、ここで、その親と共有した同一の関節位置に再接続されなければならない。第２ステップでは、補正的並進運動（矢印３１０で示すように）が、先祖の変換行列で惹起されるセグメントの局所的な原点の変位として計算される。
【００３９】
より詳しくは、上腕２１５の親である肩甲骨２１０は、それ自体が鎖骨２０５の子供である。図３では、鎖骨２０５は、その基準位置（薄い灰色で示す）から新たな配置（濃い灰色で示す）へ回転する。肩甲骨２１０および鎖骨２０５の逆変換を上腕骨２１５に適用する第１ステップは、画像３０７に示される配置をもたらす。上腕骨２１５は、この状態では、肩甲骨２１０から分離されている。第２ステップでは、補正的並進運動が上腕骨２１５に適用され（矢印３１０で示すように）、上腕骨２１５を肩甲骨２１０と再結合させる。
【００４０】
４．  回転構成要素
本発明の一実施例では、回転構成要素は、一般化座標値の関数である変化する関節中心を有する非直交性の任意の回転軸にも適合するように設計出来る。複数のＤＯＦ回転を有する関節は、回転構成要素を結合することによって創出できる。それらの各回転構成要素は単一軸回転に対する回転行列を生成する。当業者は、各軸回転の関節中心が、他の軸回りを中心とする回転から独立していると仮定されていることを理解されよう。回転構成要素は以下のパラメータを含む：（１）ｎ個の連続した角度間隔のリスト：［ａ０，ａ１）、［ａ１，ａ２）、．．．、［ａｎ−１，ａｎ］；（２）各角度間隔［ａｉ−１，ａｉ）に対する回転中心点ｃｉ  ＝＜  ｃｘ，ｃｙ，ｃｚ  ＞；（３）  共通回転軸ｘ。
【００４１】
本発明の一実施例では、各角度間隔は異なった関節回転中心を有することができる。変化する関節回転中心をモデリングする能力は、膝および肩の上腕骨を含むいくつかの関節における回転を正確に記述するために重要である。もちろん単一の角度間隔（および対応する関節中心）もまた、回転構成要素に対して定義することができる。これらの回転パラメータおよび入力回転角度  α∈  ［ａ０，ａｎ］（他の関節構成要素の出力から導出できる）を用いて、関節構成要素に対する最終出力回転行列Ｒは、式３で定義されるように計算される。式３において、Ｒ、Ｍｉ、Ｔｉ、Ｔｉ−１、およびＱｉは、すべて変換行列である。Ｑｉは、軸ｘの周りの角度βｉの回転を表す４元数から計算される。
0004452272.tif 000004
【００４２】
角度βｉは式４で決定される。角度αの最終的な回転は、より小さい角度βｉの４元数回転の連続の累積結果である。これらの各４元数回転はそれ自身の中心がＴｉおよびＴｉ−１の並進行列で表される。これは、本発明の一実施例に基づく関節の変化する関節回転中心の１つの実現方法である。
0004452272.tif 000005
【００４３】
図４は、本発明の一実施例の変化する関節中心を示す図である。図４で示す例では、上腕の外転は、０〜５０度の回転の間はｃ１を回転中心とし、かつ５０〜９０度の回転の間ではｃ２を回転中心とする。より詳しくは、７０度の外転角度に対して最初に５０度の回転がｃ１の周りになされ、残りの２０度は回転中心としてｃ２を用いる。
【００４４】
当業者は、ある一定の間隔［ａｊ−１，ａｊ）に該当する所与のαに対して、すべてのＭｋ（０＜ｋ＜ｊ）は、それらの各βｋがａｋ−ａｋ−１と等しい定数であるために、αに依存しないことに気づくであろう。リアルタイム計算の必要を減らすために、行列Ｍｋを全角度間隔回転に対して事前に計算して保存できる。さらに、ｊ番目の間隔に対する式１の累積的な行列積Ｒは、インタラクティブレートで多関節形状の動作を更新するために、Ｍｊ−１  X Ｍｊ−２  X…X  Ｍ１を事前に計算し、取り出すことができる。
【００４５】
５．  従属性構成要素
従属性構成要素によって、関節集合関数１０５の中の種々の異なる関節の間の連結動作のモデリングが可能となる。各従属性構成要素では、１対の関節、すなわち能動関節ａおよび受動関節ｐが特定され、能動関節ａは、もう片方の受動関節ｐを駆動する。ｐのＤＯＦの推移は、写像関数を介してａのＤＯＦに依存するように設定される。従属性構成要素で用いられる写像関数の実際の性質は任意の線形の、または非線形の関数である。補間スプラインは従属関係を実験データサンプルに整合させるためにしばしば好都合である。本発明の一実施例では、ＤＯＦは各関節の回転行列を定義するオイラー角度に対応する。従属性構成要素は各関節から１つずつの、２つの入力オイラー角度を取り、受動関節に対する修正された角度を出力する写像関数を含む。（１）一対一写像、（２）一辺固定写像、および（３）二辺固定写像を含む、いくつかの種類の写像関係を実施することができる。  
【００４６】
ａ）  一対一写像
ａの任意の所与ＤＯＦ値に対して、ｐに対するＤＯＦ値が定義される。例えば、肩甲骨外表面の接平面に垂直な軸を中心とした肩甲骨の回転は、上腕の外転にほぼ一次従属である。線形一対一写像が、この関係を捕捉することができる。
【００４７】
ｂ）  一辺固定写像
一辺固定写像は、ａのＤＯＦの関数である下限または上限によって、一辺についてｐの値が制限された一対一写像である。この具体例は、上腕骨２１５の外転と鎖骨２０５の上昇の間の従属関係である。上腕を高く上げれば上げるほど、肩の鎖骨の上下移動は、より制限される。鎖骨２０５の上昇に付された下限のためその移動が制限され、この制限は、上腕骨２１５の外転の量に依存する一辺の限界として実施されうる。
【００４８】
ｃ）  二辺固定写像
ｐのＤＯＦの値は、ａのＤＯＦに依存する限度によって両辺について制限されている。再度、肩を例にとると、左上腕が左端から身体の右前方まで水平面において回旋しているとき、肩（鎖骨２０５において）の水平運動はさらに制限されるようになる。左上腕が身体の後方に回旋しているとき同様の現象が生じる。上下限界両方があるため二辺写像がこの例に適する。
【００４９】
６．  関節コーン構成要素
関節空洞コーンは、通常、球関節のジョイント限界に対して各関節ＤＯＦのオイラー角度限界対よりも、より良いメカニズムを提供するために用いられてきた。従来の関節空洞コーンの詳細については、コンピュータズ  アンド  グラフィックス  （Ｃｏｍｐｕｔｅｒｓ  ａｎｄ  Ｇｒａｐｈｉｃｓ）の２０００年発行第２４巻第２号２０３〜２１８ページに掲載されたＷ．Ｍａｕｒｅｌ他著「Ｈｕｍａｎ  ｓｈｏｕｌｄｅｒ  ｍｏｄｅｌｉｎｇ  ｉｎｃｌｕｄｉｎｇ  ｓｃａｐｕｌｏ−ｔｈｏｒａｃｉｃ  ｃｏｎｓｔｒａｉｎｔ  ａｎｄ  ｊｏｉｎｔ  ｓｉｎｕｓ  ｃｏｎｅｓ（肩甲骨胸部の拘束性および関節空洞コーンを含む人間の肩のモデリング）」に記載されている。
【００５０】
図５は、本発明の一実施例のジョイント限界コーンを示す図である。図示された実施例では、関節空洞コーン５０５、５１０、５１５は、前述の回転構成要素と共に生じうる、変化する関節中心にも適合するように拡張される。関節コーン構成要素では、関節空洞コーン５０５、５１０、５１５は、基準点ｐおよび空間曲線Ｃを用いて画定される。基準点ｐは、コーンの頂点であり、かつ関節中心に位置する。曲線ｃは、コーン下端の境界を画定して、利用者が選択した制御点の最初のリストによって形成される。例えば、関節空洞コーン５０５は曲線Ｃを画定するために１４点を用いる。
【００５１】
曲線を精密にして、かつ平滑化するために細分化規則を用いることができる。例えば、関節空洞コーン５１０は、関節空洞コーン５０５を精密にして、かつ平滑化したバーションを表す。追加ベクトルｖｒｅｓｔが定義され、骨の安静配置において骨の縦軸と同一方向に位置するように、ｐに配置される。このコーンは、肩の上腕骨２１５の外転／内転および屈曲／伸展などのような、関節の２ＤＯＦの動作を束縛する方法を提供する。第三のねじりＤＯＦを制限するために、角度束縛の追加対を曲線ｃおよび点ｖｒｅｓｔの各制御点と関連づける。精密化プロセスの間に、細分化で与えられた新たな制御点に対して、新たに補間された上下限が計算される。本発明の一実施例では、コーン内の任意の所定配置に対する一対のねじり限度が実行に補間できる。例えば、関節空洞コーン５１５に、各点のねじり限度を表すために陰影をつけてある。より濃い色合いは、より制限的な限度範囲を示す。曲線の精密化および平滑化の詳細については、グラフィクスツール誌（Ｊｕｒｎａｌ  ｏｆ  Ｇｒａｐｈｉｃｓ  Ｔｏｏｌｓ）の２００１年発行第６巻第２号２７〜４１ページに掲載されたＪａｎｅ  Ｗｉｌｈｅｌｍｓ他著「Ｆａｓｔ  ａｎｄ  ｅａｓｙ  ｒｅａｃｈ−ｃｏｎｅ  ｊｏｉｎｔ  ｌｉｍｉｔｓ（速くて容易な到達  −  コーンジョイント限界）」に記載されている。
【００５２】
図６は、本発明の一実施例の関節コーンの射影を示す図である。正当な関節配置をチェックして、かつ不正な方向を境界曲線Ｃに射影し戻すために、関節コーン構成要素を用いることができる。関節コーン構成要素は１つの特定の関節、例えば関節ｊに付属する。関節コーン構成要素は、入力として回転構成要素によって与えられるｊの変換行列Ｔｉｎｐｕｔを取る。Ｔｉｎｐｕｔは、その骨の方向が関節コーン内にあるかどうかを検査するために、ベクトルｖｒｅｓｔ６０５をｖｉｎｐｕｔ６１０に変換する。その骨の方向が関節コーン内にあるとき、Ｔｉｎｐｕｔは関節コーン構成要素を通過する。その骨の方向が関節コーン内に無いとき、新たな変換行列ＴａｄｊｕｓｔｅｄがＴｉｎｐｕｔを用いて計算され、ｖｉｎｐｕｔ６１０がｖａｄｊｕｓｔｅｄ６１５に変換される。当業者は、ｖｉｎｐｕｔ６１０およびｖｒｅｓｔ６０５を結ぶ線分が、ｖａｄｊｕｓｔｅｄ６１５でコーンの境界と交差することに気づくであろう。ｖａｄｊｕｓｔｅｄ６１５を用いて、回転構成要素による回転角α（関節の第１ＤＯＦに対する）およびβ（関節の第２ＤＯＦに対する）を新たに計算でき、調整済み回転行列Ｔａｄｊｕｓｔｅｄを生成する。
【００５３】
７．  肩甲骨束縛構成要素
本発明の一実施例では、肩甲骨束縛構成要素は肩の肩甲骨胸部の制限の特定の状況を記述する。肩甲骨束縛構成要素は、本発明の構成要素フレームワークが各関節の特別な取扱いに対してどのように拡張しうるかについての一例を示す。肩甲骨２１０は、肋硬骨、筋肉、および脂肪性構造によって画定された曲面上を摺動する。これを関節構成要素モデルで表すために、従来の楕円体の拘束条件を用いることができる。楕円体拘束条件の記述については、例えば、Ｃｏｍｐｕｔｅｒ  Ｍｅｔｈｏｄｓ  ｉｎ  Ｂｉｏｍｅｃｈａｎｉｃａｌ  ａｎｄ  Ｂｉｏｍｅｄｉｃａｌ  Ｅｎｇｉｎｅｅｒｉｎｇの１９９９年発行第２巻１０７〜１２４ページに掲載されたＢ．  Ｇａｒｎｅｒ著「Ａ  ｋｉｎｅｍａｔｉｃ  ｍｏｄｅｌ  ｏｆ  ｔｈｅ  ｕｐｐｅｒ  ｌｉｍｂ  ｂａｓｅｄ  ｏｎ  ｔｈｅ  ｖｉｓｉｂｌｅ  ｈｕｍａｎ  ｐｒｏｊｅｃｔ  （ｖｈｐ）  ｉｍａｇｅ  ｄａｔａｓｅｔ（ビジブルヒューマンプロジェクト（ｖｈｐ）画像データセットに基づく上肢の運動学的モデル）」に見ることが出来る。しかしながら、図１２に示すように、従来はただ１つの楕円体のみを用いていたところを、本発明の一実施例では２つの楕円体を用いて胸郭の両側部に対してそれぞれ１つの楕円体を当てる。これにより、背骨を捻転する、または側方に湾曲するときに胸郭の両側の拘束条件が適切に保持されることが可能となる。
【００５４】
図７は、本発明の一実施例の肩甲骨上の基準点を示す図である。肩甲骨２１０が楕円体の表面上で摺動するように制限するために、肩甲骨２１０上で対をなす基準点が定義され、少なくとも１つの能動対が常に楕円体上に確実に滞留するようにする。
【００５５】
図７の例を用いて、ここで、肩甲骨２１０に対するＤＯＦの決定法について記述する。肩甲骨２１０を、当初、回転に対して３ＤＯＦ、および並進に対して３ＤＯＦを有する自由継手であるとみなす。肩甲骨２１０は親の鎖骨２０５に付属するため、並進の３ＤＯＦは鎖骨２０５と共有された付着点で決定される。肩甲骨の平面に垂直な軸の周りの肩甲骨２１０の回旋はさらに制限され、従属性構成要素を用いて上腕骨２１５の外転に依存する。この従属関係拘束条件は他のＤＯＦを排除する。楕円体拘束条件は、残りの２ＤＯＦまたは回転を決定する。肩甲骨上の一対の基準点を楕円体表面に拘束することによって、肩甲骨の配置を完全に決定できる。
【００５６】
図７に示す本発明の一実施例によれば、対をなす基準点２２０、２２５、２３０が、肩甲骨２１０の周辺縁部２４０付近に位置するように画定される。数対の基準点２２０、２２５、２３０を有することによって、肩甲骨２１０および胸郭の間の接触面が肩の他の関節に基づいて変化することが可能となる。肩が持ち上げられるとき、第１の対２２０付近の領域は胸郭に接触する可能性がより高い。肩が下ろされるとき、第２の対２２５は接触する可能性がより高い。肩甲骨２１０が肩甲骨表面に垂直な軸の周りを時計回りで完全に回旋するとき、第３の対２３０は動的である。したがって、これらの３対の基準点２２０、２２５、２３０は、新たな接点対を求めるために用いられ、その手段として、肩の上昇および肩甲骨２１０に関する回転の量に対応する２つのＤＯＦを補間する方法を採用している。
【００５７】
そのため、肩甲骨２１０は楕円体表面上にこれらの接点を拘束するために二度回転することが出来る。第１の回転では、関節の起点を通る所定のベクトルｘ１が回転軸として用いられる。ｘ１の周りの角度θの回転は、楕円体表面上に第１の基準点２２０をもたらす。第２の回転では、関節の起点と第１の基準点２２０を結ぶベクトルが回転軸ｘ２として用いられる。同様にｘ２の周りの角度Ψの回転は楕円体上に第２の基準点２２５をもたらす。当業者は、第１の接点が回転軸ｘ２上にあるため第２の回転は第１の接点の位置を変化させないことに気づくであろう。本発明の一実施例では、回転角θおよびΨの両方を求めるために二分探索法を用いている。
【００５８】
本発明の実施例では再利用できる関節構成要素を作成することが一般に好ましいが、特殊な拘束条件を創出する能力は、特定の関節に固有の複雑な関節接合の記述を簡略化するための、その関節に適合した直感的なパラメータを創出するのに有用である。もちろん、応用のために必要と考えられる、より多くの生体力学的細部を関節構成要素に付加することができる。
【００５９】
Ｄ．  関節構成要素モデルの構築
いくつかの関節構成要素の例について記載したが、ここでは、骨格セグメントに対する関節集合関数１０５を構築するために関節構成要素をネットワークに接続するプロセスについて記述する。図８は、本発明の一実施例の関節モデルを構築するためのフロー図である。本発明の一実施例では、関節構築者は図示したプロセスを実行する。関節構築者は、関節集合関数１０５を形成するために、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２の入力および出力を組み合わせる人間であっても良い。関節構築者は、どの関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２を関節集合関数１０５に含め、所望の多関節運動を得るために、これらの構成要素をどのように結合して構成するかを確定する。
【００６０】
図示したプロセスは８０４から開始し、モデリングするための対象関節を選択する８０８。その後、選択された関節に対する骨および関節接合が特定される８１２。その後、プロセスは骨および関節接合を、関連する骨の個別のグループに分割して８１６、骨のグループ８２０の集合を生成する。その後、骨のグループ８２０は反復処理される。また、当業者にとって公知のように、並行して、または種々の順序で骨のグループ８２０を処理できる。
【００６１】
反復例のループの始まりにおいて、すべての骨のグループ８２０を処理し終わったかどうかを判定８２４する。すべての骨のグループ８２０を処理し終わっていないとき、未処理の骨のグループ８２０が選択される８２８。関節構成要素が選択され８３２、特定された８１２関節接合をモデリングする。選択された８３２関節構成要素を構成するために、各関節構成要素のパラメータが定義され、且つ設定される８３６。次に、選択された関節構成要素がネットワークに接続される８４０。選択された関節構成要素を結合または接続する一手法は、個々の選択された関節構成要素がネットワーク化８４４されるまで、入力および出力データ値を１つの関節構成要素から次の関節構成要素へ受け渡すことである。
【００６２】
その後、プロセスは、すべての骨のグループ８２０を処理し終わったかどうかの判定８２４に戻る。すべての骨のグループ８２０を処理し終わっていないとき、プロセスは、前述のように、ステップ８２８、８３２、８３６、および８４０を繰り返す。すべての骨のグループ８２０を処理し終わったとき、プロセスは、すべての完成した関節ネットワーク８４４の接続処理８４８に進み、関節集合関数１０５のための大規模ネットワークを形成する。次に、関節集合関数１０５はテストされて８５２、所望の多関節運動を生成するかどうかが判定される。関節集合関数１０５をテストする８５２一手法は、関節運動の視覚表示８５６である。それによって、関節構築者は、関節集合関数１０５が特定された８１２関節接合を正確に表すかどうかを判定する８６０ことができる。また、関節運動の視覚表示８５６には、関節運動をテストする８５２ために、スライダ、マニピュレータ、または他のユーザーインタフェースコントロール（例えば、さまざまな値の範囲を特定する）を調整する関節構築者を含めることができる。
【００６３】
関節運動が好ましくないとき、関節構築者は、パラメータ、関節構成要素の選択、または関節構成要素ネットワークの結合を修正８６８できる。それから、プロセスは関節集合関数１０５を再テストする８５２。関節運動が好ましいとき、関節構成要素モデルをデータファイル８７２に保存８６４できる。関節構成要素モデルを保存８６４した後に、プロセスは終了する７８６。当業者は、データファイル８７２は、データベースレコード、または他の任意の適切なフォーマットのファイル形式が可能であることを知るであろう。
【００６４】
本発明の一実施例では、関節構成要素モデルは拡張可能なマークアップランゲージ（ＸＭＬ）ファイル形式で保存８６４される。ＸＭＬ形式は、ソフトウェア環境またはアプリケーションソフトウェアパッケージの中での交換の容易さを有する、効率的かつ便利な方法である。ＸＭＬ形式の関節構成要素モデルの一例を以下の付録に供する。その例では、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２は、タグおよびパラメータを含む。
【００６５】
Ｅ．  計算システム
図９は、本発明の一実施例の計算装置のブロック図である。図面では、プロセッサ９０５、入出力装置９１０、ディスプレー装置９１５、およびメモリ９２０を含む計算装置を示す。プロセッサ９０５、入出力装置９１０、ディスプレー装置９１５、およびメモリ９２０は、バス９５０を介してそれぞれ結合されている。プロセッサ９０５は、カリフォルニア州サンタクララのインテル社から市販されているＰｅｎｔｉｕｍ  ＩＶプロセッサなどの従来のマイクロプロセッサであっても良い。入出力装置９１０は従来と同様であり、計算装置が他の計算装置、ネットワーク、および周辺デバイスなどと通信することを可能とする。ディスプレイデバイス９１５は、従来のモニタまたはテレビなどである。ディスプー装置９１５は、利用者、関節構築者、あるいは他の開発者が、メモリ９２０の機能モジュールとインターフェースをとることを可能ならしめる。
【００６６】
メモリ９２０は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、固定媒体、または脱着可能媒体（例えば、フロッピーディスク、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、ＣＤ−Ｒディスク（ＣＤ  Ｒ／Ｗ）、またはディジタル多機能ディスク（ＤＶＤ））などの従来のメモリデバイスであってもよい。
【００６７】
メモリ９２０は、多くの機能モジュール、すなわち、関節構成要素モジュール９２５、構成モジュール９３０、関節集合関数モジュール９３５、およびユーザインタフェースモジュール９４０を具備する。これらの各モジュール９２５、９３０、９３５、９４０の典型的機能について、ここで詳細に記述する。
【００６８】
関節構成要素モジュール９２５は、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２を実行するための、プログラム命令および／またはデータを具備する。より詳しくは、関節構成要素モジュール９２５は、行列積構成要素、一対多写像構成要素、補償構成要素、回転構成要素、従属性構成要素、関節コーン構成要素、および肩甲骨束縛構成要素に対する計算およびデータ操作を実行する。
【００６９】
構成モジュール９３０は、関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２のパラメータを構成するための、および関節構成要素を関節集合関数１０５にネットワーク化するための、プログラム命令および／またはデータを具備する。構成モジュール９３０は、関節構成要素モジュール９２５、関節集合関数モジュール９３５、およびユーザインタフェースモジュール９４０の各々とインターフェースをとることができる。
【００７０】
関節集合関数モジュール９３５は、１つ以上の関節集合関数１０５を実行するためのプログラム命令および／またはデータを具備する。関節集合関数モジュール９３５は、入力として関節集合関数の入力１３０（例えば、一般化座標または自由度）を受け入れ、かつ出力として関節集合１４０のセグメントに対する変換行列を生成する。
【００７１】
ユーザインタフェースモジュール９４０は、利用者、開発者、または関節構築者の入力を受け入れ、且つ処理するためのプログラム命令および／またはデータを具備する。例えば、ユーザインタフェースモジュール９４０は、利用者が関節集合関数の入力１３０を操作するために用いることができるディスプレイを、利用者に提示出来る。
【００７２】
当業者は、本発明の特徴または機能を実現するために、他の機能ユニットまたはモジュールを用いることができることを知るであろう。すなわち、図９に示す機能ユニットは、メモリ９２０の構成の、ほんの一例に過ぎない。例えば、関節構成要素モジュールの機能は、従来の分散計算技術を用いて複数の計算装置間で分散化できる。
【００７３】
Ｆ．  結果の例
ここでは、構成要素フレームワークの例を２つの複雑な関節、すなわち、背骨および肩について記述する。以下の結果の実例を生成するために、関節に対するパラメータデータの最初の推定値は、Ｉ．  Ｋａｐａｎｄｊｉ著「関節の生理学  胴部および脊柱」（Ｔｈｅ  Ｐｈｙｓｉｏｌｏｇｙ  ｏｆ  ｔｈｅ  Ｊｏｉｎｔｓ：  Ｔｈｅ  Ｔｒｕｎｋ  ａｎｄ  ｔｈｅ  Ｖｅｒｔｅｂｒａｌ  Ｃｏｌｕｍｎ）１９８２年発行第２版第３巻チャーチル・リビングストン出版、および、Ｉ．  Ｋａｐａｎｄｊｉ著「関節の生理学  上肢」（Ｔｈｅ  Ｐｈｙｓｉｏｌｏｇｙ  ｏｆ  ｔｈｅ  Ｊｏｉｎｔｓ：  Ｕｐｐｅｒ  Ｌｉｍｂ）１９８２年発行第１版第１巻チャーチル・リビングストン出版などの関節生理学についての文献から決定された。
【００７４】
関節構成要素１１０、１１２、１１４、１１６、１１８、１２０、１２２、および対応する関節集合関数１０５からなる関節モデルは、Ｃ＋＋プログラミング言語を用いたプログラムコードモジュールで実行できる。カナダのオンタリオ州トロントにあるＡｌｉａｓ／Ｗａｖｅｆｒｏｎｔから市販されているマヤ（Maya）三次元モデリングソフトウェアのプラグイン用に、プログラムコードモジュールを適合させることができる。マヤ環境は、対話型の骨の位置決めおよび関節パラメータの調節を提供する。マヤの高度なモデリング環境によって、関節集合の関節接合を対話形式で、または、視覚的に評価できる。ＯｐｅｎＧＬベースのアプリケーションソフトウェアを含む他のツールにロードすることができるＸＭＬベースのファイル形式で、関節構成要素のパラメータをエクスポートできる。本発明の一実施例では、ＯｐｅｎＧＬベースのアプリケーションソフトウェアは、入力として、ＸＭＬベースのファイル形式で記述された関節構成要素モデルを受容でき、かつＸＭＬベースのファイル形式で記述された関節構成要素ネットワークを構築できる。ネットワークが構築されると、関節モデルは、ＯｐｅｎＧＬを用いて三次元グラフィックスで表示され、かつ入力装置（例えば、マウス）を用いて一般化座標を調整することで操作できる。本発明の一実施例では、ソフトウェア環境の間のＸＭＬベースの関節モデルの互換性をテストするために、ＯｐｅｎＧＬベースのアプリケーションソフトウェアを用いることができる。Ｎｖｉｄｉａ  ＧｅＦｏｒｃｅ４グラフィックハードウェアを搭載した従来の９３３ＭＨｚのインテルＰｅｎｔｉｕｍII汎用コンピュータは、マヤを搭載した状態で対話型ディスプレイレートを達成できる。
【００７５】
１．  背骨
人間の背骨には２４個の可動脊椎骨がある。位置および機能に従って、それらは３つの関節集合、すなわち、頚部（首の７つの脊椎骨）、胸部（胸郭の１２の脊椎骨）、腰部（腹の５つの脊椎骨）に分割される。胸部の関節グループに対して、すべての肋硬骨および胸骨は胸郭を創出するために関節モデルに含まれる。すべての３つの背骨関節集合に対して、同一形式の関節関数が用いられる。それらの関節関数の間の差は、各関節グループに対して付与される関節パラメータであり、胸椎の回転量は頚部および腰部より大幅に少ない。
【００７６】
図１０は、本発明の一実施例の頚部関節集合の典型的関節関数を示す図である。図面では、頚部の関節集合は、７つの骨と同様に７つの関節（ｃｌ−ｃ７）を有する（脊椎骨および任意の２つの脊椎骨の間の円板の両方を含む）。各関節は、単独で、回転の３ＤＯＦを有するため３つの回転構成要素を有する。回転軸および回転中心は、各回転構成要素に対して、Ｉ．  Ｋａｐａｎｄｊｉ著「関節の生理学  胴部および脊柱」（Ｔｈｅ  Ｐｈｙｓｉｏｌｏｇｙ  ｏｆ  ｔｈｅ  Ｊｏｉｎｔｓ：  Ｔｈｅ  Ｔｒｕｎｋ  ａｎｄ  ｔｈｅ  Ｖｅｒｔｅｂｒａｌ  Ｃｏｌｕｍｎ）１９８２年発行第２版第３巻チャーチル・リビングストン出版から推定される。単一の関節の３つの回転構成要素は、種々の回転中心および非直交性回転軸を有することができる。一対多写像構成要素によって定義された一対のジョイント限界角度が、各回転を制限するために供される。背骨の脊椎骨の回転動作は連結されるため、動作制御は、屈曲／伸展、側方湾曲、および脊椎骨軸に沿った捻転の３つだけのＤＯＦを有するように簡略化される。これらのＤＯＦは、一般化座標１、２、および３の入力として図示される。背骨の各関節集合では、一対多写像構成要素は、最初に、入力ＤＯＦを関節集合の各脊椎骨に対する回転角に変換する。一対多写像構成要素はＭｎとして特定され、回転構成要素はＲｎとして特定され、および行列積構成要素は＊ｎで表される。
【００７７】
例えば、頚部では、屈曲／伸展は、７つの脊椎骨に対する次の角度回転範囲（単位は度）、すなわち、Ｃ７  ［−１３．２，５．５］、Ｃ６  ［−７．５，５．５］、Ｃ５［−４，５．５］、Ｃ４［−４．６，５．５］、Ｃ３［−８，６．５］、Ｃ２［−５．５，６．５］、Ｃ１［−１８．５，６．５］へ写像する。変換は、［−１，１］と一対の脊椎骨−特別の角度限界の対［ｍｉｎ，ｍａｘ］、の間の線形写像である。そして、対応する脊椎骨に対する特定の回転構成要素Ｒｎに各角度が送られる。脊椎骨Ｃ１〜Ｃ７に対する最終的な変換を生成するために、各ＤＯＦに対する回転構成要素の出力行列は、行列積構成要素Ｍｎに導入される。
【００７８】
胸部グループが各脊椎骨に付属の肋骨を有することを除いて、胸部および腰部に対する関節集合関数の実現方法は頚椎と同様である。胸郭が背骨および胸骨と共に拘束連鎖を創出するため、それは、側方湾曲の間、各肋骨を互いに離れるように、または互いに近づくように回旋させる胸椎運動に対して抵抗する傾向がある。胸郭の全体形状を保持するために、肋骨の回旋が、付属する胸椎の運動の量に依存するようにパラメータで設定できる。直観的に、当業者は、肋骨が背骨ほど回旋しない状態で、肋骨は背骨の回旋の方向と反対の方向に回旋されることを理解するであろう。したがって、肋骨の軸は脊椎骨の軸に対抗するように画定されるとともに、肋骨の軸はより小さい回転限度を有することができる。当業者は、より正確な胸郭の変形のために、本発明の関節構成要素モデルに対してカスタム関節構成要素を設計できることに気づくであろう。
【００７９】
背骨モデルの例では、各関節集合は屈曲／伸展、側方湾曲、および捻転に対して３つの回転のＤＯＦを有し、全体の背骨および胸郭を制御するには合計９つのＤＯＦとなる。この９つのＤＯＦは、多様な従属関係が潜在的にモデルに組み込まれるため、我々のモデルで達成可能な関節接合の総数よりも大幅に少ないＤＯＦである。より少ないＤＯＦが軽量で、かつ直感的な制御メカニズムをもたらすとともに、正確さと制御の簡単さのバランスをとる。
【００８０】
２．  肩
肩は、４つの関節接合（肩甲上腕骨の関節２６０、肩峰鎖骨の関節２５５、胸鎖の関節２５０、および摺動する肩甲骨胸部の関節２６５）を含む。数個の骨、すなわち、鎖骨２０５、肩甲骨２１０、上腕骨２１５、胸骨、および胸郭がこれらの関節に関係している。骨の関節接合に加えて、靫帯、軟骨、および筋肉も、肩において重要な役割を果たすことができ、肩の関節の間の連関の動きおよび従属関係を創出する。
【００８１】
４つの関節および３つの骨を有する肩関節モデルが構築された。その関節集合関数は５つのＤＯＦを有して、その内の３つは、肩甲上腕骨の関節２６０を制御し（上腕骨２１５の屈曲／伸展、外転／内転、および捻転）、２つは、胸鎖の関節２５０を制御する（鎖骨２０５の垂直および水平な回転）。他の２つの関節の動作および胸郭の楕円体表面拘束条件によって、肩峰鎖骨の関節２５５の動作を完全に決定できるため、肩峰鎖骨の関節２５５の制御可能なＤＯＦは零個である。関節集合関数１０５は、３つの関節それぞれに対する３つの変換行列１４０を出力する。関節集合関数１０５は、内部に、各々が１つの関節を担当する３つの構成部分を有する。
【００８２】
図１１Ａは、肩甲上腕骨の関節２６０を制御する変換行列１４０を生成する関節集合関数１０５の第１の部分を示す。各制御入力１３０は、最初に一対多写像構成要素Ｍｎを経由して、［−１８０，１８０］の範囲の角度に変換される。屈曲／伸展および外転／内転の２つの角度は、２つの回転構成要素Ｒ１２およびＲ１３に送られ、それらの回転行列を創出する。右腕の外転／内転に対して、回転構成要素は２つの間隔［０，６０］度および［６０，１８０］度を有して、それぞれ、上腕骨局所座標系の（−０．３７３，−０．２４７，−０．１８１）および（−０．３７３，０．４４９，−０．１８１）に回転中心を有する。当業者は、これらの座標は、測定単位、骨の形状、および骨格モデルを表すために用いられるセグメントの局所座標系に依存し得ることを評価するだろう。したがって、これらの座標は種々のモデルの間で変化することが出来る。
【００８３】
その後、ねじり角度と共に、これらの２つの行列の結合結果は、図１１ＡでＬと表される関節コーン構成要素を経由して、最終的な有効方向行列を生成する。肩甲上腕骨関節２６０の親関節と祖父関節の両方からの動作を補正するために、２つの補償構成要素Ｃ１およびＣ２を用いることができる。これらの入力は、後述する他の２つの機能部（４および５で表される）の最終出力である。補償行列および最終回転行列を共に乗じることによって、肩甲上腕骨関節２６０の最終的な変換を得る。
【００８４】
図１１Ｂは、胸鎖の関節２５０を制御する変換行列１４０を生成する関節集合関数１０５の第２の部分を示す。各入力ＤＯＦ１３０は、一対多写像構成要素Ｍｎを経由してある角度に変換される。その２つの角度は、肩甲上腕骨関節２６０の２つの角度（２および３で表される）と共に、入力として２つの従属性構成要素Ｄ１およびＤ２に送られる。その理由は、鎖骨２０５の回転角が、前述のように、部分的に上腕の回転角に依存するためである。例えば、右の肩において区分的線形関数は、０度、６０度、１２０度、１８０度の上腕骨の外転／内転角度を、それぞれ−１０度、−６．７度、４．８５度、および２３度の鎖骨仰角に写像する。回転構成要素Ｒ１１およびＲ１２は、従属性構成要素Ｄ１およびＤ２の出力を用いて行列を構成して、その結合結果が関節コーン構成要素Ｌで検査される。その出力は胸鎖関節２５０を制御する最終的な変換を提供する。
【００８５】
図１１Ｃは、肩峰鎖骨の関節２５５を制御する変換行列１４０を生成する関節集合関数１０５の第３の部分を示す。その入力（１および６で表される）は前述の他の２つの部分に由来する。第１の部分は上腕の外転角度を供して、従属性構成要素Ｄおよび回転構成要素Ｒ１を介して、肩甲骨２１０の平面に垂直な軸の周りの肩甲骨２１０の回転を決定する。第２の部分は胸鎖関節２５０の変換を供し、補償構成要素Ｃによって用いられて補償行列を計算する。その後、肩甲骨束縛構成要素Ｓは結合した結果を用いて他の２つの角度を生成する。右肩に対して肩甲骨上の最初の局所的な回転軸は（０．２６３，−０．９１２，０．３１４）であった。肩甲骨２１０上の３対の基準点２２０、２２５、２３０は、その局所座標で、それぞれ（８．５，−４，−０．３）と（８．７，−２．４，−０．１）、（８．２，０，−０．１）と（７．５，２，０）、および（８，２，−０．８）と（７，３，−０．６）である。回転構成要素Ｒ２およびＲ３は、２つの角度を用いて胸骨の基準系に固定された楕円体表面上に肩甲骨を回旋させる。最後に、３つの回転行列および補償行列は、共に乗じられて肩峰鎖骨関節２５５を制御する最終的な変換を生成する。
【００８６】
当業者は、図１１Ａ〜図１１Ｃに示す３つの機能的な部分は相互に密に結合されることを認識するであろう。それらの内のいずれも、他と完全に独立に計算することは不可能である。これは、第１の部分の演算処理が他の２つの部分の最終結果に依存するとともに、他の２つの部分は、それらの入力として第１の部分の中間結果を要すためである。しかしながら、これらの３部分全体のネットワークの計算に対して従来の位相的な順序が用いられ、関節関数が行き詰まりの危険性なしに、逐次計算することが可能となる。
【００８７】
本発明の一実施例の構成要素関節モデルは、平易な制御インターフェースを具備し、また、関節構成要素は従来の計算装置を用いたリアルタイム対話型アプリケーションの計算が出来る。現実的な関節運動を産み出すために構成要素関節モデルを用いることができる。関節設計者または関節構築者は、フレームワークを介して、所望の対象用途に対する好適なモデルを開発するための、細部、関節パラメータ設計、および計算の複雑性の所望のレベルなどの、種々の競合する基準について検討することが可能となる。
【００８８】
当業者は、いくつかの関節集合関数１０５の複雑さのために、運動学または勾配ベースの最適化の逆演算子に対する分析的な導関数を計算することが常に可能とは限らないかもしれぬことを理解するであろう。しかしながら、関節集合関数１０５が決定論的な関節変換を生成するため、それらの導関数を推定するために、有限差分法を用いることができる。また、同一の関節集合関数１０５を、種々の人または動物に対してカスタマイズすることを可能とする対象固有のパラメータを見つけるために、フレームワークの実施例を用いることができる。前述の関節構成要素は、全ての正確さのレベルで全関節をモデリングする完全な集合を表すものではない。特に、新たな構成要素または新たな関節集合の設計を通じて、他の多様な関節モデルを本発明のフレームワークに組み入れることができる。
【００８９】
複雑な関節の動きをモデリングする関節構成要素フレームワークの実施例について説明したが（例を示したものであり、限定するものではない）、当業者は、前述の開示に照らして修正および変形することが可能であることに注意すべきである。したがって、変更は、それが添付クレームおよび同等物によって定義される本発明の範囲および精神内であれば、開示された本発明の特定の実施例において実施可能であると理解すべきである。
【００９０】
0004452272.tif 000006
0004452272.tif 000007
0004452272.tif 000008
0004452272.tif 000009
0004452272.tif 000010
0004452272.tif 000011
0004452272.tif 000012
0004452272.tif 000013
0004452272.tif 000014
0004452272.tif 000015
0004452272.tif 000016
【００９１】
【図面の簡単な説明】
【００９２】
添付図面は、本発明のいくつかの実施例を図示するものであり、説明とともに本発明の原理について説明するのに役立つ。
【図１】本発明の一実施例における関節構成要素モデルの図である。
【図２】本発明の一実施例における肩関節集合を示す。
【図３】本発明の一実施例における補償構成要素を示す。
【図４】本発明の一実施例における変化する関節中心を示す図である。
【図５】本発明の一実施例におけるジョイント限界コーンを示す図である。
【図６】本発明の一実施例におけるジョイントコーンの射影を示す図である。
【図７】本発明の一実施例における肩甲骨上の基準点を示す図である。
【図８】本発明の一実施例における関節モデルを構築するためのフロー図である。
【図９】本発明の一実施例における計算装置のブロック図である。
【図１０】本発明の一実施例における頚部関節集合の典型的関節関数を示す図である。
【図１１Ａ】本発明の一実施例における肩関節集合の典型的関節関数を示す図である。
【図１１Ｂ】本発明の一実施例における肩関節集合の典型的関節関数を示す図である。
【図１１Ｃ】本発明の一実施例における肩関節集合の典型的関節関数を示す図である。
【図１２】本発明の一実施例における肩甲骨胸部関節を制約するための楕円体を示す図である。
【図１】
0004452272.tif 000017
【図２】
0004452272.tif 000018
【図３】
0004452272.tif 000019
【図４】
0004452272.tif 000020
【図５】
0004452272.tif 000021
【図６】
0004452272.tif 000022
【図７】
0004452272.tif 000023
【図８】
0004452272.tif 000024
【図９】
0004452272.tif 000025
【図１１Ａ】
0004452272.tif 000026
【図１１Ｂ】
0004452272.tif 000027
【図１１Ｃ】
0004452272.tif 000028
【図１０】
0004452272.tif 000029
【図１２】
0004452272.tif 000030