(57)【要約】関節システムを制御するためのシステム、方法およびコンピュータプログラム製品が、記述される。システムは、関節システムの体部分の運動を推定して、推定された運動に基づいて力学的一貫性を実現するとともに、運動学的制約を課すために、重み付けした擬似逆行列を作る。システムは、重み付けした擬似逆行列を用いてタスク記述子を関節コマンドに変えて、速度レベルと加速度レベルの両方で関節システムを制御して、関節コマンドを用いて運動学的制約を課す。
2013520327.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行可能な、関節システムの制御方法であって、
前記コンピュータは、
前記関節システムの体部分の動作を指定するタスク記述子を受信し、
前記関節システムの体部分の運動を推定し、
前記体部分の推定された運動に基づいて重み付き行列を構築し、
前記重み付き行列に基づいて前記体部分に結合する関節に対する関節コマンドを生成し、前記関節コマンドは前記体部分の加速度を制御して前記関節システムの１つ以上の運動学的制約を課し、
前記関節コマンドを用いて、前記体部分に結合する前記関節を制御する
ことを特徴とする関節システムの制御方法。
【請求項２】
前記重み付き行列は、複数の重み付き行列の重ね合わせとして作られた重み付き擬似逆行列から構成されており、前記複数の重み付き行列のうちの１つは、前記体部分の速度を制御するために作られている
ことを特徴とする請求項１に記載の関節システムの制御方法。
【請求項３】
前記複数の重み付き行列のうちの１つは、前記関節システムの体部分を運動学的制約に向かわせる動きによって、前記関節システムにおける関節に負荷を与えるように作られている
ことを特徴とする請求項２に記載の関節システムの制御方法。
【請求項４】
前記複数の重み付き行列のうちの１つは、前記関節システムの瞬間的な運動エネルギーを最小にするように作られている
ことを特徴とする請求項２に記載の関節システムの制御方法。
【請求項５】
前記複数の重み付き行列のうちの１つは、前記体部分に結合する関節の加速度を、当該加速度が前記運動学的制約に反するようになったときに、ゼロにセットする
ことを特徴とする請求項１に記載の関節システムの制御方法。
【請求項６】
前記関節システムは、足のある人型ロボットによって構成されており、
前記コンピュータは、さらに、
前記足のある人型ロボットの足のための足接触制約を課すためのより優先度の高いタスクを生成する
ことを特徴とする請求項１に記載の関節システムの制御方法。
【請求項７】
前記コンピュータは、
前記重み付き行列に基づいて前記体部分に結合する関節に対する関節コマンドを生成するとともに、前記関節システムで生じる動きに対する安定性を提供するように設計された関節速度フィードバック項を生成する
ことを特徴とする請求項１に記載の関節システムの制御方法。
【請求項８】
前記コンピュータは、さらに、
ソース・システムの動きを含むイメージ・ストリームを受信し、
前記イメージ・ストリーム内の前記ソース・システムの体特徴を検知し、
前記検知した体特徴に基づいて前記タスク記述子を生成する
ことを特徴とする請求項１に記載の関節システムの制御方法。
【請求項９】
前記ソース・システムは、人を含んでおり、
前記関節システムは、人型ロボットから構成され、
前記関節コマンドは、前記人の動きをシミュレーションするように前記人型ロボットを制御する
ことを特徴とする請求項８に記載の関節システムの制御方法。
【請求項１０】
前記関節コマンドは、閉ループ逆運動（ＣＣＬＩＫ）アルゴリズムを用いて生成される
ことを特徴とする請求項１に記載の関節システムの制御方法。
【請求項１１】
関節システムの制御方法を実行するための実行可能なコンピュータプログラムコードを記憶する非一時的なコンピュータに読み取り可能な記憶媒体であって、
前記コンピュータは、
前記関節システムの体部分の動作を指定するタスク記述子を受信し、
前記関節システムの体部分の運動を推定し、
前記体部分の推定された運動に基づいて重み付き行列を構築し、
前記重み付き行列に基づいて前記体部分に結合する関節に対する関節コマンドを生成し、前記関節コマンドは前記体部分の加速度を制御して前記関節システムの１つ以上の運動学的制約を課し、
前記関節コマンドを用いて、前記体部分に結合する前記関節を制御する
ことを特徴とする記憶媒体。
【請求項１２】
前記重み付き行列は、複数の重み付き行列の重ね合わせとして作られた重み付き擬似逆行列から構成されており、前記複数の重み付き行列のうちの１つは、前記体部分の速度を制御するために作られている
ことを特徴とする請求項１１に記載の記憶媒体。
【請求項１３】
前記複数の重み付き行列のうちの１つは、前記関節システムの体部分を運動学的制約に向かわせる動きによって、前記関節システムにおける関節に負荷を与えるように作られている
ことを特徴とする請求項１２に記載の記憶媒体。
【請求項１４】
前記複数の重み付き行列のうちの１つは、前記関節システムの瞬間的な運動エネルギーを最小にするように作られている
ことを特徴とする請求項１２に記載の記憶媒体。
【請求項１５】
前記複数の重み付き行列のうちの１つは、前記体部分に結合する関節の加速度を、当該加速度が前記運動学的制約に反するようになったときに、ゼロにセットする
ことを特徴とする請求項１１に記載の記憶媒体。
【請求項１６】
関節システムの制御システムであって、
前記制御システムは、実行可能なコンピュータプログラムコードを実行するコンピュータプロセッサと、前記実行可能なコンピュータプログラムコードを記憶するコンピュータに読み取り可能な記憶媒体と、を有しており、
前記コンピュータプロセッサは、
前記関節システムの体部分の動作を指定するタスク記述子を受信し、
前記関節システムの体部分の運動を推定し、
前記体部分の推定された運動に基づいて重み付き行列を構築し、
前記重み付き行列に基づいて前記体部分に結合する関節に対する関節コマンドを生成し、前記関節コマンドは前記体部分の加速度を制御して前記関節システムの１つ以上の運動学的制約を課し、
前記関節コマンドを用いて、前記体部分に結合する前記関節を制御する
ことを特徴とする制御システム。
【請求項１７】
前記重み付き行列は、複数の重み付き行列の重ね合わせとして作られた重み付き擬似逆行列から構成されており、前記複数の重み付き行列のうちの１つは、前記体部分の速度を制御するために作られている
ことを特徴とする請求項１６に記載の制御システム。
【請求項１８】
前記複数の重み付き行列のうちの１つは、前記関節システムの体部分を運動学的制約に向かわせる動きによって、前記関節システムにおける関節に負荷を与えるように作られている
ことを特徴とする請求項１７に記載の制御システム。
【請求項１９】
前記複数の重み付き行列のうちの１つは、前記関節システムの瞬間的な運動エネルギーを最小にするように作られている
ことを特徴とする請求項１７に記載の制御システム。
【請求項２０】
前記複数の重み付き行列のうちの１つは、前記体部分に結合する関節の加速度を、当該加速度が前記運動学的制約に反するようになったときに、ゼロにセットする
ことを特徴とする請求項１６に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１０年２月２５日に出願された米国の仮出願（第６１／３０８，２０３号）による利益を主張する。そして、その仮出願の内容は、参照されることによって完全に本明細書に取り入れられる。
【０００２】
本出願は、２００８年１０月２４日に出願された米国の特許出願（第１２／２５８，１８４号。タイトルは“Real-Time Self Collision And Obstacle Avoidance Using Weighting Matrix”）と、２００８年１０月２４日に出願された米国の特許出願（第１２／２５７，６６４号。タイトルは“Real-Time Self Collision And Obstacle Avoidance”）に関連がある。それらの特許出願の内容は、参照されることによって完全に本明細書に取り入れられる。
【０００３】
本発明は、一般に、システムの動作を制御する分野に関し、特に、システムの動作を制御して、システムに制約を課しながらタスクを実行する技術に関する。
【背景技術】
【０００４】
ロボットが制御され、タスク空間内で特定の操作タスクを実行するとき、そのロボットの自由度（「ＤｏＦ」とも呼ばれる。）の数は、一般的に、その操作タスクを実行するために必要な自由度の数を上回る。そのような状況において、ロボットは、指定されたタスク動作を生じる不確定な関節（ジョイント）動作が存在するので、冗長性を示す、と言われている。
【０００５】
指定されたタスクに対して関節が冗長性を有することで、他の目的（障害物の回避、構造限界（例えば、関節限界や自己衝突）の回避、エネルギー消費の最小化、好バランス動作の創出）を達成することができる。Ａ．Ａ．マシージョウスキーとＣ．Ａ．クラインの「動的に変化する環境における運動学的に冗長なマニピュレータのための障害物回避（“ロボティックス研究の国際ジャーナル”４：１０９−１１７（１９８５））」を参照してください。また、Ｈ．スギウラ、Ｍ．ジーンジャー、Ｈ．ヤンセンおよびＣ．ゴーリックの「人型ロボットのための全身動作制御によるリアルタイム衝突回避（インテリジェントロボットとシステムに関するＩＥＥＥ／ＲＪＳ国際会議（２００７））」を参照してください。
冗長解決計画における早期の研究では、これらの目的の多く（運動学的制約を強制することを含む。）は、第二のタスクと考えられ、高プライオリティの操作タスクのゼロ空間で実行された。Ｙ．中村の「先進のロボティックス、冗長性および最適化（アディソン‐ウェズリー（１９９１））」を参照してください。また、Ｐ．シュー、Ｊ．ハウザーおよびＳ．サストリーの「冗長マニピュレータの力学的制御（“Ｊ．ロボットシステムズ”６（２）：１３３−１４８（１９８９））」を参照してください。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
両方の目的（すなわち、操作タスクと第二のタスク）を満たすために自由度が不充分であれば、第二のタスクとして制約を作成することは、制約が充分であることを保証できない。多くの場合、制約を満たすことは重要で、したがって操作タスクの実行を超えるプライオリティが必要となる。提案された解決では、最も高いプライオリティ操作として制約を作成し、操作タスクを制約ゼロ空間に映す。Ｌ．センティスとＯ．カティブの「人間環境で動作する人型ロボットに対する全身制御フレームワーク（フロリダ州オーランドにおけるＩＥＥＥ国際会議ロボティックス＆オートメーション（２００６）」を参照してください。しかし、この解決にはいくつかの欠点がある（特に、タスクと制約空間が予めわかっていない場合）。
【０００７】
一例として、人間の実演者から人型ロボットまでのタスクレベル動作のリアルタイム移動のシナリオを考えてみよう。Ｂ．ダリウシュ、Ｍ．ジーンジャー、Ａ．アランバッカム、Ｙ．チュー、Ｂ．ジャン、Ｋ．フジムラおよびＣ．ゴーリックの「人型ロボットへの人間の動作のオンライン移動（人型ロボティックスの国際ジャーナル（６）：２６５−２８９（２００９）」を参照してください。このシナリオは、運動およびバランス制約の影響を受ける未計画タスク動作の実行を含む。移動される動作は、複数の部品ペアの間やあるいは複数の関節限界の違反の間で起こる同時自己衝突を引き起こす可能性がある。２つの問題は、そのような状況下で起こりえる。第１には、制約ゼロ空間が存在しないかもしれず、操作タスクの追跡を含む第二の目的の実行を実行不可能にする。第２には、自己衝突回避の場合、２つの衝突する体部分の間の最小限の距離に対応するデカルト位置は、通常、不連続である。そして、特別なケアを必要とする数的な不安定やアルゴリズム的な不安定性を生じる。このように、冗長性がなければ、単にゼロ空間予測に基づくだけのアプローチは、第二の目的を実行するには不充分である。
【課題を解決するための手段】
【０００８】
本発明の実施形態は、関節システムを制御するため方法（や対応するシステムやコンピュータプログラム製品）を提供する。１つの特徴は、この方法は関節システムの複数の体部分の運動を推定して、推定された運動に基づいて力学的一貫性を実現するとともに、重み付けした擬似逆行列を構築して運動学的制約を課す。この方法は、重み付けした擬似逆行列を用いてタスク記述子を関節コマンドに変えて、速度レベルと加速度レベルの両方で関節システムを制御して、関節コマンドを用いて運動学的制約を課す。
【０００９】
本明細書で記述された特徴や効果がすべてを含んでいるわけではない。特に、多くのさらなる特徴や効果は、図面、明細書および特許請求の範囲を考慮して当業者にとって明らかである。さらに、明細書中で使われている用語が主に読みやすさと教育目的のために選ばれていて、開示される主題を詳細に描写したり範囲限定したりするように選ばれていないかもしれない点に留意する必要がある。
【図面の簡単な説明】
【００１０】
【図１】本発明の１実施形態において、動作・リターゲティング環境を例示しているブロック図である。
【図２】本発明の１実施形態において、図１に示される動作・リターゲティング・システムの構造を例示しているブロック図である。
【図３】本発明の１実施形態において、図１に示される動作・リターゲティング・システムの処理を例示しているフロー図である。
【図４】本発明の１実施形態において、図２に示される姿勢再構築と動作制御モジュールの処理を例示しているフロー図である。
【図５】本発明の１実施形態において、人間のモデルを例示している図である。
【発明を実施するための形態】
【００１１】
本発明は、動作制御システム（や対応するシステムやコンピュータプログラム製品）を、ロボットや他のロボットのような機構の制御に対して提供する。本システムは、加速度レベルでロボット機構の動きを制御して、ロボット機構の運動学的制約を課す。
【００１２】
図面と以下の説明は、単に例示として本発明の実施形態に関連するに過ぎない。実施形態への言及が詳細になされ、それらの例は添付の図に示される。図面において類似あるいは同様の参照番号が使われていて、類似あるいは同様の機能を示していることがある点に、留意する必要がある。図面は、単に例示の目的で、開示されるシステム（または方法）の実施形態を表す。当業者は、以下の説明から、ここに例示される構造や方法のいずれかの実施形態がここに記述される原理を逸脱しない範囲内で実行されることができると、すぐに理解するであろう。
【００１３】
（動作・リターゲティング環境）
図１は、本発明の１実施形態において、目標システム１０４（例えばロボット／バイオ・ロボット・システム）が関節限界と衝突回避のような規制を実行している間に、リアルタイムでソース・システム１０２内で追跡される動作をシミュレーションするように制御するための動作・リターゲティング環境１００を例示しているブロック図である。動作・リターゲティング・システム１０６は、ソース・システム１０２の深さイメージ・ストリーム１０８を捕らえる。ソース・システム１０２は、どんな動作発生器（例えば、人間または動物）であってもよい。深さイメージ・ストリーム１０８内で捕らえられるソース・システム１０２の動作に応じて、動作・リターゲティング・システム１０６は、目標システム１０４の動作を制御するために、関節変数１１０（以下「関節コマンド１１０」ともいう。）を生成する。目標システム１０４は、例えば、一般的な関節システム（例えばロボット、関節機構（例えば、人型ロボット）、アバター、または、人間あるいは動物によって装着される外骨格装置）であってもよい。
【００１４】
１実施形態において、動作・リターゲティング・システム１０６は、ソース・システム１０２内で発生する動作を捕らえて、捕らえられた動作を目標システム１０４（一般に動作リターゲティングと呼ばれるプロセス）へ移す。ソース・システム１０２内の動作は、カメラによって深さイメージ・ストリーム１０８に捕らえられ、トラッキング（追跡）され（例えば、目印位置や特徴点を判定することで）、動作・リターゲティング・システム１０６によるデカルト（またはタスク）空間内の一つ以上の動作原形を用いた動作記述子（別名、動作軌跡、要望タスク記述子、タスク変数）として表される。動作・リターゲティング・システム１０６は、重み付けした擬似逆行列を使用して、速度レベルと加速度レベルの両方で、動作記述子を関節変数１１０（別名、関節空間軌跡、関節動作、関節コマンド、関節動作記述子）に変える。動作・リターゲティング・システム１０６は、関節コマンド１１０を使い、ソース・システム１０２内の動作をシミュレーションする目標システム１０４を制御する。動作・リターゲティング・システム１０６は、目標システム１０４内で動作に制約を課し、関節限界、筋肉のトルク限界、自己衝突、障害物などを避けることができる。
【００１５】
説明のために、一般性を失わずに、ソース・システム１０２は人間のモデルを表し、ソース動作は、典型的に観察されるか、あるいは測定から推論される人間の動作原形を意味する。そして、目標システム１０４は、制御されて人間のモデルの動作を模倣する人型ロボットを表す。
【００１６】
（動作・リターゲティング・システムの例の構造の概要）
図２は、１実施形態において、深さイメージ・ストリーム１０８から関節コマンド１１０を生成する動作・リターゲティング・システム１０６の構成を例示しているブロック図である。動作・リターゲティング・システム１０６は、深さイメージ・ストリーム１０８内で見つけられる複数の特徴から、人間の実演者の体姿勢を再構築する。これらの複数の特徴（または特徴点、解剖学的特徴、キーポイント）は、人体の上で目立つ解剖学的目印の３Ｄ位置と一致する。一般性を失わずに、動作・リターゲティング・システム１０６は、図５に示すような体の１４の特徴（ｋ＝１４）をトラッキングする。図５に示す通り、これらの１４の特徴は、頭頂、左肩、右肩、左肘、右肘、左手首、右手首、左尻、右尻、腰、左膝、右膝、左足首および右足首である。再構築される（または推定される）人間の姿勢は、人間の実演者の姿勢を追跡する人間のモデル内で記述される。１実施形態において、人間のモデルは、人間の実演者の身体にとても似ている人間の解剖学的モデルである。
【００１７】
図２に示すように、動作・リターゲティング・システム１０６は、特徴検知モジュール（キーポイント検知モジュールとも呼ばれる。）２０２、補間モジュール２０４、未検知特徴付加モジュール２０６、姿勢再現／動作制御モジュール２０８、および、曖昧さ解消モジュール２１０を備えている。
【００１８】
特徴検知モジュール２０２は、深さイメージ・ストリーム１０８を受け取り、その深さイメージ・ストリーム１０８内の特徴を検知して、その検知結果を出力する。検知結果内の閉塞、低信頼性観察または低信用のために、特定の画像フレームに対する実際の検知特徴の数（ｍ（ｍ＝０…ｋ）と記述される。）は、ｋより少ない場合がある。
【００１９】
補間モジュール２０４は、特徴検知モジュール２０２から受け取った検知特徴をローパスフィルタ処理し、そして補間特徴を生成する。１実施形態において、動作・リターゲティング・システム１０６に送られる深さイメージは、ＴＯＦ（タイム・オブ・フライト）カメラ（例えば、スイスのレンジャーＳＲ−３０００  ３ＤのＴＯＦカメラ）を使って、毎秒およそ１５コマで捕らえられる。次のモジュールである姿勢再現／動作制御モジュール２０８内で実行される数の統合における安定性のため、補間モジュール２０４は、より高レート（例えば、１００ＨＺ）で検知特徴をリサンプリングする。
【００２０】
未検知特徴付加モジュール２０６は、深さイメージ・ストリーム１０８内で未検知の特徴の位置で補間特徴を付加して、要望された（または付加された）特徴を生成する。上記したように、それぞれの（画像）フレームにおける検知特徴の数は、閉塞や低信頼性観察のために、１４（すなわちｍ＜ｋ＝１４）より少ない場合がある。未検知特徴付加モジュール２０６は、姿勢再現／動作制御モジュール２０８からフィードバック経路２４０を経由して予測特徴を受け取って、その予測特徴を利用して未検知の特徴を付加する。付加された特徴は、姿勢再現／動作制御モジュール２０８へ入力されるように用いられるｋ＝１４の要望特徴を示す。
【００２１】
姿勢再現／動作制御モジュール２０８は、要望特徴と、精密な人間のモデルとその制約に基づいて推定姿勢と予測特徴を生成し、目標システム１０４を制御するために再構築された体姿勢に基づいて関節コマンドを生成する。姿勢再現／動作制御モジュール２０８は、さらに、予測特徴を、断続的に未検知かあるいは閉塞された特徴を付加する未検知特徴付加モジュール２０６に送り、また、複数の特徴候補が見つけられる場合に備えて以降の曖昧さを解消する曖昧さ解消モジュール２１０に送る。推定された（または、再構築された、回復された）姿勢は、人間のモデルにおけるすべてのｎ自由度の予測動作と姿勢を表現する。
【００２２】
曖昧さ解消モジュール２１０は、特徴検知モジュール２０２が複数の考えられる特徴候補を見つけたとき、曖昧さを解消する。曖昧さ解消モジュール２１０は、姿勢再現／動作制御モジュール２０８からフィードバック経路２５０を経由して予測特徴を受け取って、予測特徴を利用して曖昧さを解消する。例えば、予測特徴は、特徴（すなわち、特徴検知モジュール２０２から特徴）の１つの候補の仮定された位置が非常にありそうもないことを、示すかもしれない。それにより、曖昧さ解消モジュール２１０は、検知特徴として特徴の他の候補を選ぶ。他の例として、曖昧さ解消モジュール２１０は、検知特徴である対応する予測特徴に最も近い特徴候補を選んでもよい。選択的に、または、付加的に、曖昧さ解消モジュール２１０は、検知特徴として予測特徴を使ってもよい。
【００２３】
動作・リターゲティング・システム１０６（または上述のその構成要素のどれでも）は、ソフトウェア（例えば、プロセッサで実行可能な指示から成るモジュール）、ハードウェア（例えば、特定用途向け集積回路）またはその組合せとして、構成することができる。ソフトウェアおよび／またはハードウェアは、プロセッサ、記憶部、非一時的なコンピュータで読取り可能な記憶媒体（例えば、ハードディスク）、ネットワーク・インターフェース、適用できるオペレーティングシステム、他の機能的なソフトウェア（例えば、ネットワーク・ドライバ、通信プロトコル）を含んで構築されるコンピュータシステム内で動作できる。当業者は、図２に示されるモジュールと比べて異なるおよび／または付加的なモジュールを有しうると、認識できる。同様に、ここに記述されるのに比べて、すべての機能は異なる方法でモジュール間に分配されうる。さらに、機能のいくつかは、動作・リターゲティング・システム１０６以外の実体によって提供されることができる。
【００２４】
（システム操作）
図３は、本発明の１実施形態において、動作・リターゲティング・システム１０６が、見つかった動作記述子から関節コマンド１１０を生成するための処理を例示しているフローチャートである。
【００２５】
動作・リターゲティング・システム１０６（または特徴検知モジュール２０２）は、深さイメージ・ストリーム１０８内で、人間の実演者の体特徴を見つける（３１０）。深さイメージ・ストリーム内で体特徴を見つけることに関するさらなる情報は、２０１０年２月１９日に出願された米国特許（第１２／７０９，２２１号。タイトルは“Body Feature Detection and Human Pose Estimation Using Inner Distance Shape Contexts”）に開示されている。その特許出願の内容は、参照されることによって完全に本明細書に取り入れられる。
【００２６】
動作・リターゲティング・システム１０６（または補間モジュール２０４）は、３２０で、検知された特徴を補間特徴として付加し、より高いレート（例えば、１００Ｈｚ）でデータをリサンプリングする。１実施形態において、動作・リターゲティング・システム１０６は、検知特徴に対して、局所キュービックスプライン補間ルーチンを用いて補間する（３２０）。補間が実行され、姿勢再現／動作制御モジュール２０８内で実行される数の統合の安定性が保証される。１実施形態において、動作・リターゲティング・システム１０６は、フィルタ処理される特徴を補間する前に、検知特徴をローパスフィルタ処理する。
【００２７】
動作・リターゲティング・システム１０６（または未検知特徴付加モジュール２０６）は、未検知特徴の位置の付加特徴ベクトルを生成する（３３０）。上記したように、動作・リターゲティング・システム１０６は、閉塞または低信頼性観察のために、各々のフレームで１４未満の体特徴しか見つられないかもしれない。動作・リターゲティング・システム１０６は、以前に生成した予測特徴を用いて、それらの未検知特徴を推定する。ｍ＜ｋであれば、検知特徴は、再構築された姿勢の以降の運動計算から得られる（ｋ−ｍ）の予測特徴ｐを用いて、付加される。
【００２８】
動作・リターゲティング・システム１０６（または姿勢再現／動作制御モジュール２０８）は、人間のモデル内で人間の実演者の観察体姿勢を再構築し、以降の特徴（または特徴点位置）を予測する（３４０）。動作・リターゲティング・システム１０６は、人間のモデルの運動学的制約（例えば関節限界と自己侵入回避）を実行することによって、以降の特徴を予測する。
【００２９】
動作・リターゲティング・システム１０６（または姿勢再現／動作制御モジュール２０８）は、目標システム１０４の動きを制御するために、再構築された体姿勢に基づいて関節コマンド１１０を生成する（３５０）。再構築された体姿勢は、タスク空間内のタスク記述子の集合に対応している。動作・リターゲティング・システム１０６は、重み付けした擬似逆行列を使用して、速度レベルと加速度レベルの両方で、タスク空間内のタスク記述子を、関節空間内の関節コマンドに変える。３５０の関節コマンド１１０を生成するプロセスは、以下で図４とともにさらに詳細に説明する。
【００３０】
方法３００の一つ以上の部分は、ハードウェアおよび／またはソフトウェア、または、それらの組合せの実施形態において実行されうる。例えば、方法３００は、ここに記述される処理を実行するために指示を介して具体化される。そして、そのような指示は、非一時的なコンピュータで読取り可能な記憶媒体（例えば、フラッシュメモリ、ＲＡＭ、不揮発性磁気記憶装置）の範囲内で保存され、コンピュータプロセッサで実行可能である。さらにまた、当業者は、他の実施形態が異なる命令で方法３００のステップを実行することができると、認識する。さらに、別の実施形態は、ここに記載される実施形態に比べて、異なるおよび／または追加的なステップを含むことができる。動作・リターゲティング・システム１０６は、方法３００のステップの複数のインスタンスを並行して実行することができ、および／または、並行に複数のステップを実行することができる。
【００３１】
（ロボット機構の動作制御）
関節空間内の目標システム１０４（「ターゲット」とも呼ばれる。）のようなロボット機構の動作は、以下の式（１）を使用して記述することができる。
【数１】
2013520327.tif 000003
ｑ、ｑ’（「ｑ’」は式（１）中の「ｑ」の上に黒丸を付した記号の代用記号。以下、他の記号についても同様）、ｑ’’、τは、それぞれ、関節位置、速度、加速度、力の変数の（ｎ×１）の一般化されたベクトルを表す。Ｈは（ｎ×ｎ）の関節空間慣性行列である。Ｃは、Ｃｑ’がコリオリ力と遠心力の項からなる（ｎ×１）ベクトルであるような（ｎ×ｎ）の行列である。τｇは、重力条件の（ｎ×１）ベクトルである。Ｊはヤコビ行列である。ｆｅは、ターゲットに作用する外部の空間力である。
【００３２】
ターゲットに外部の力が作用していない場合、式（１）によって説明されるターゲットの制御は、以下の構造を用いて非線形のモデル・ベースの補正を使って取り扱われる。
【数２】
2013520327.tif 000004
ベクトルαは、関節変数により求められた加速度を表す。表記「・＾」は、ターゲットの構成要素の推定を表す。式（２）のモデルパラメータが式（１）のそれらにマッチするならば、αは、次の式（３）内で提案されるような閉ループ・システムを分離して線形化する基準関節加速度ベクトルｑ’’ｒとして設計されうる。
【数３】
2013520327.tif 000005
付加的に安定化させる項を、必要に応じて式（２）中に加えてもよい。デカルト空間で指定されているタスク変数の集合の望ましい位置および／または望ましい方向の追跡を確実にするコンピューティングαの技術について、以下に記載する。
【００３３】
（タスク空間から関節空間への軌跡変換）
一般に、タスク変数は、最大限の６次元のタスク空間、つまり、位置のための３次元空間と方向のための３次元空間で、動くことができる。Ｎのタスク変数（ｋによってインデックスを付けられる各々のタスク変数）があると考えよう。Ｋ番目のタスク変数の空間速度ベクトルは、以下の式（４）によって与えられる。
【数４】
2013520327.tif 000006
ωｋとＰ’ｋは、それぞれ、タスク・フレームの角速度とタスク位置の直線速度に対応するベクトルである。関節変数とタスク変数の間のマッピングは、以下の２つの式（５）、（６）に示すような２つの空間に関する差分運動を考慮することによって、得られる。
【数５】
2013520327.tif 000007
【数６】
2013520327.tif 000008
ａ＝ｖ’である。また、ｖとＪは、以下の２つの式（７）、（８）で定義されるように、個々のタスクの連続によって形成される、付加された空間速度ベクトルと付加されたタスク・ヤコビ行列に対応する。
【数７】
2013520327.tif 000009
【数８】
2013520327.tif 000010
（ｖｄ、ａｄ）で示される、付加された望ましい空間速度と加速度ベクトルは、同じ方法で作られる。
【００３４】
（速度ベースの動作制御）
タスク変数からαを計算する１つのアプローチは、一次の軌跡変換によって、以下の式（９）、（１０）で例示されるように数の微分でｑ’ｒを得ることである。
【数９】
2013520327.tif 000011
【数１０】
2013520327.tif 000012
Ｋは、ポジティブ定義ゲイン行列である。ベクトルｅは、以下の式（１１）で例示されるように、望ましいタスク記述子と計算されたタスク記述子の間の方針と位置の誤差を示す。
【数１１】
2013520327.tif 000013
Ｒｄ＝［ｎｄ  ｓｄ  ｃｄ］とＲ＝［ｎ  ｓ  ｃ］は、それぞれ、タスク・フレーム方向の、望ましい単位ベクトル・トリプル表示と、計算された単位ベクトル・トリプル表示となるものである。
【００３５】
式（９）と式（１０）は、式（２）で使われてもよい。以下の式（１２）で例示されるように、関節速度フィードバック項を速度ベースの制御において加えると安定化することができる。
【数１２】
2013520327.tif 000014
Ｋｑ，ｖは、ポジティブ定義関節空間ゲイン行列である。式（９）における一次の運動変換は、運動学的制約を課す際に使われることができ（詳細は後記）、また、加速度レベルでの制限された動作制御においても使われることができる。
【００３６】
（加速度ベースの動作制御）
閉ループ・システムを分離して線形化する１つのアプローチは、以下の関係式（１３）を用いて、式（３）における求められた加速度制御入力αを作ることである。
【数１３】
2013520327.tif 000015
行列Ｊ＋はＪの擬似逆行列を示す。ａｒは以下の式（１４）で定義される。
【数１４】
2013520327.tif 000016
ＫｐとＫｖは、それぞれ、ポジティブ定義対角位置と、速度フィードバックゲイン行列である。
【００３７】
式（９）と式（１３）によってそれぞれ示される一次と二次の閉ループ逆運動手順は、タスク空間から関節空間までの軌跡変換を実行する効果的な方法である。一次の制約閉ループ逆運動（ＣＣＬＩＫ）問題を解決して自己衝突回避のための効果的で安定した解決を提供することの１つのアプローチは、２００８年１０月２４日に出願された米国の特許出願（第１２／２５８，１８４号。タイトルは“Real-Time Self Collision And Obstacle Avoidance Using Weighting Matrix”）に詳述されている。その特許出願の内容は、参照されることによって完全に本明細書に取り入れられる。
【００３８】
（閉ループ逆運動）
閉ループ逆運動（ＣＬＩＫ）は、タスク空間から関節空間までの軌跡変換を実行する効果的方法である。制約された関節速度（ｑ’ｃ）を生み出す特異で丈夫なＣＬＩＫ形式は、式（１５）によって与えられる。
【数１５】
2013520327.tif 000017
【数１６】
2013520327.tif 000018
式（１６）とＪ＋は、以下の式（１７）で例示されるようにポジティブ定義行列Ｗによって重み付けしたＪの正しい擬似逆行列を表す。
【数１７】
2013520327.tif 000019
さらにまた、もし、Ｊが四角い非特異行列で、Ｗが単位行列であるならば、Ｊ＋は標準的な行列の逆行列のＪ−１と取り替えられることができる。
【００３９】
重み付け行列Ｗは、関節の動作がその部分を制約の方向に向けている関節に負荷（ペナルティ）を与えることによって、運動学的制約を課すようになっている。運動学的制約は、自己衝突（または自己侵入）のための制約と同様、関節限界制約を含む。重み付け行列は、さらに、運動エネルギーとトルクの最小化のような力学的一貫性を実現するように調整されてもよい。１実施形態において、運動と力学的一貫性を実現するために、Ｗは、以下の式（１８）で示すように、重み付け行列の重ね合せとして作成される。
【数１８】
2013520327.tif 000020
ＷＫは運動学的制約を課す重み付け行列である。ＷＤは、力学的一貫性を実現する重み付け行列である。重み付け行列の設計は、以下に詳述する。
【００４０】
１実施形態によれば、行列ＷＫは、各要素が関節限界と衝突可能性関数の勾配を考慮することによって得られる対角行列として、作られる。行列ＷＫは、ｎ×ｎの関節限界重み付け行列ＷＪＬと、ｎ×ｎの衝突回避重み付け行列ＷＣＯＬによって影響される。経験的な結果に基づいて作られる行列ＷＫの１つの複合例は、以下の式（１９）で定められる。
【数１９】
2013520327.tif 000021
ａは、関節限界重み付け行列と衝突重み付け行列の貢献を調整するのに用いられることができるスカラー・インデックスである。行列ＷＪＬと行列ＷＣＯＬは、候補の関節限界と衝突可能性関数に基づいて作られ、それぞれｈ（ｑ）、ｆ（ｑ）と記される。
【００４１】
（関節限界制約）
関節限界回避は、対角行列ＷＪＬの適切な選択によって達成される。１実施形態において、行列ＷＪＬは候補の関節限界可能性関数（ｈ（ｑ））に基づいて作られる。関節限界可能性関数（ｈ（ｑ））は、関節がそれらの限界に近く、関節限界において無限に向かうとき、より高い値を持つ。ｈの勾配（∇ｈ）は、関節限界勾配関数（入力がｈの付加の最も速いレートの方向に指すｎ×１のベクトル）を、表す。ｉ番目（ｉ＝１…ｎ）の自由度に関する勾配は、∇ｈｉと以下の式（２０）の定義によって表される。
【数２０】
2013520327.tif 000022
ｑｉは、ｉ番目の自由度の一般化された座標を表す。ｑｉ，ｍｉｎとｑｉ，ｍａｘは、それぞれ、関節限界の下限と上限を表す。勾配∇ｈｉは、関節がその範囲の中央であればゼロであり、下限と上限のどちらでも無限に向かう。関節限界重み付け行列ＷＪＬは、対角線の要素ｗＪＬｉを用いたｎ×ｎ対角行列として作られる。スカラーｗＪＬｉは、以下の式（２１）によって定義される：
【数２１】
2013520327.tif 000023
項｜∇ｈｉ｜は、関節限界勾配関数の大きさの変化を表す。正の値は、関節がその限界の方へ進んでいることを示す。一方、負の値は、関節がその限界から離れる方向に移動していることを示す。
【００４２】
（衝突制約）
２つの接続していない部分（または関節を共有しない部分）の間の衝突は、衝突重み付け行列ＷＣＯＬの適切な選択によって達成されてもよい。ｄ（ｄ?０）を、２つの部分ペアの間の最小限の距離に対応するものとする。ｆ（ｑ、ｄ）が、ｄ＝０で最大値を持って、ｄが増えるにつれてゼロに向かって指数的に減少する候補衝突関数を表すようにする。
【００４３】
１実施形態において、ｆの勾配（∇ｆ）は、衝突勾配関数（入力がｆの付加の最も速いレートの方向内をに指すｎ×１ベクトル）と定義される。衝突勾配関数は、以下の式（２２）を使用して記述することができる。
【数２２】
2013520327.tif 000024
自己衝突が生じた場合、式（２２）の第２項は、以下の式（２３）の通りに計算される。
【数２３】
2013520327.tif 000025
ｐａとｐｂは、２つの衝突点の（ベースを基準とした）位置ベクトルを表す。ＪａとＪｂは、対応するヤコビ行列である。座標のｐａとｐｂは、標準的な衝突検知ソフトウェア・パッケージを使用して得ることができる。環境との衝突が生じた場合、環境衝突点に対応するヤコビ行列式は、ゼロである。関節限界重み付け関数と同様、ＷＣＯＬは、以下の式（２４）によって定義された対角要素ＷＣＯＬｉを用いたｎ×ｎ対角行列によって作られる。
【数２４】
2013520327.tif 000026
∇ｆの要素は、各々の自由度が衝突までの距離に影響する程度を表す。ｄが大きいときに勾配がゼロであり、ｄがゼロに近づくと勾配が無限であるように関数ｆを選ぶのが適切である。１つのそのような候補の関数は、次の式（２５）である。
【数２５】
2013520327.tif 000027
αとβは減衰のレートを制御するパラメータである。ρは振幅を制御する。ｄに関するｆの偏導関数は、式（２６）で表される。
【数２６】
2013520327.tif 000028
∇ｆは、式（２２）、式（２３）、式（２６）から計算される。
【００４４】
式（２４）における項「Δ｜∇ｆ｜」は、衝突勾配関数の大きさの変化を表す。正の値は、関節動作により衝突点が衝突の方へ移動することを示す。一方、負の値は、関節動作により衝突点が衝突から遠ざかる方向に移動することを示す。衝突点が衝突の方へ移動しているとき、対応する重み付け要因（式（２４）における最初の状態によって記述される。）は非常に大きくなり、それによって、衝突点の動作に影響を及ぼしている関節は失速する。２つの部分が衝突しようとしているとき、重み付け要因は無限に近づき、実質的に衝突に関与している関節は止まる。もし、２つの部分が衝突から離れて移動しているならば、動作を制限したり負荷を与えたりする必要がない。このシナリオでは、式（２４）の第２の状態は、関節を自由に動かすことができる。
【００４５】
Ｎｃ部分ペアのすべての自己衝突についてチェックするとしよう。Ｊ（ｊ＝１…Ｎｃ）を、ｊ番目の衝突ペアのインデックスとする。そして、ｄｊを、２つの衝突している部分の間の最低限の距離とする。ＰａｊとＰｂｊは、ｊ番目の衝突ペアのために２つの衝突点ペアの（ベースを基準とした）座標を表すものとする。それぞれの衝突ペアに関する候補の可能性関数は次の式（２７）により与えられる。
【数２７】
2013520327.tif 000029
その勾配は、前記した通り、式（２８）にしたがって計算される。
【数２８】
2013520327.tif 000030
したがって、各衝突ペアに関する衝突重み付け行列（ＷＣＯＬｊ）は、これまで概説したように計算される。衝突重み付け行列は、式（２９）で与えられるように、各々の衝突ペアの寄与から構成される。
【数２９】
2013520327.tif 000031
【００４６】
（力学的一貫性）
重み付け行列Ｗは、付加的な達成ターゲットを認識するために作られている。式（１７）の一般的な逆行列がコストｑ’Ｗｑを最小にするので、関節速度の平方和が最小化されるまで、式（１５）の解決はほぼ瞬間的な重み付け運動エネルギーを最適化する。運動エネルギーの最小化を達成するために、運動エネルギー（Ｕ）の以下の式（３０）の定義を考慮する。
【数３０】
2013520327.tif 000032
瞬間的な運動エネルギーＵは、式（１７）においてＷ＝Ｈとすることで、最小化される。慣性加重の擬似逆行列は、加速度レベルで冗長解決において使われるとき、力学的に一貫した一般的な逆行列と呼ばれている。
【００４７】
運動一貫性（運動学的制約を満たす運動条件）と力学的一貫性（運動エネルギーを最小にする力学的条件）の両方を実現するために、これらの２つの条件は、式（１８）の重み付け行列に組み込まれなければならない。効果的解決は、以下の式（３１）の通りにＷＤを割り当てることである。
【数３１】
2013520327.tif 000033
ターゲットが運動学的制約から離れている（または遠ざかる）とき、対角行列ＷＫが単位行列であるはずである。この場合、式（３１）の表現は、瞬間的な運動エネルギーの最小化となる。ターゲットが運動学的制約に接近するとき、制約の方向内の動作に関与するＷＫの対角要素はますます大きくなり、また、対応する関節速度はゼロに近づく。この場合、ＷＫ内の非常に大きな要素の影響はＷＤの影響を弱め、また、運動学的制約を満たすためのより高いプライオリティ目標は実行される。
【００４８】
擬似逆行列を計算するとき、行列Ｈが数値的に悪化し、不安定性を生じることがある。数的な問題を避けるために、調整項を式（３１）に加えてもよい。また、ターゲットが冗長性を示さないとき、ターゲットが過度に制約されたときから、最適な逆行列解決の概念が存在しない。しかし、見つけられたキーポイントに部外物や過度のノイズがあるときに、力学的一貫性は、スムースな解決を生み出す点でまだ有益である。
【００４９】
（制約条件から求められた加速度）
αｃを、制約条件から求められた加速度に対応しているベクトルとする。それは、式（２）の場合のように動作の力学的な式の中に折りこむことができる。
【数３２】
2013520327.tif 000034
制約条件から求められた加速度ベクトルαｃは、以下の式（３３）の通りに作ることができる。
【数３３】
2013520327.tif 000035
ｑ’ｃは、式（１５）の一次の制約運動変換から計算される。Ｇｖは対角ポジティブ定義関節速度ゲイン行列である。冗長性を示すターゲットの場合に、次の式（３４）のようにαを計算するとき、冗長性を利用して、ゼロ空間投射項を含むことは有利である。
【数３４】
2013520327.tif 000036
ζは任意のベクトルである。Ｎ＝Ｉ−Ｊ＋Ｊは、ζをＪのゼロ空間内に投射する。式（３３）によって与えられる制御法の閉ループタスク誤差運動項は、以下の式（３５）によって示される。
【数３５】
2013520327.tif 000037
式（３５）の左辺は、タスク誤差運動項を示す。式（３５の右辺は、制約誤差運動項（すなわち、基準制約速度ｑ’ｃの追跡における誤差）を示す。式（３５）は、ｑ’ｃ−ｑ’がゼロでない限り、右辺の項がタスク空間追跡誤差運動項に影響を与えることを、表す。もし、タスクを実行し、制約を満たすために充分な数の自由度があるならば、ゲインＧｖは、調整され、タスク空間追跡誤差運動項を強制的にゼロにする。付加が大きいほど、収束はより速い。しかし、極端に大きなＧｖは、不安定性を招く。ベクトルζは、自己動作をさらに安定させるように抜け目なく設計されてもよい。ベクトルζの１つの構成例は、以下の式（３６）で与えられる。
【数３６】
2013520327.tif 000038
ＧｖＮは、対角ポジティブ定義行列である。１実施形態において、Ｇｖｎ＝Ｇｖである。ターゲットが制約から離れて制約近くの大きな値を持つとき、服従性と自己動作のダンピング特徴は、小さい値を持つように適応可能なＧｖを設計することによって、さらに改善される。
【００５０】
１実施形態において、行列Ｊにおける特異性の発生を考慮して、擬似逆行列は、以下の式（３７）を用いて入れ替えられる。
【数３７】
2013520327.tif 000039
Ｊ＊は、ダンピング要素λによって規則正しくされるＪの特異性が強く正しい擬似逆行列を表す。Ｗは、式（１９）で与えられる制約重み付け行列を表す。
【００５１】
式（３４）における制約行列Ｗの使用は、加速度αを、運動学的制約のゼロまでの違反に関与させる。したがって、ロボット構成が制約多様性に接近するので、式（３４）におけるＷの使用は動作を効果的に弱め、さらなる安定と丈夫さをコントローラに提供する。
【００５２】
上記の議論に基づいて、最初のタスクを実行するための果たす余分な自由度があるのか否かに応じて、加速度αは、以下の式（３８）の通りに計算される。
【数３８】
2013520327.tif 000040
ｍは、主要な（操作中の）タスクの次元である。ｎは、利用できる自由度の総数である。式（３３）と式（３８）は、一般的な制約条件から求められた加速度ベクトルを構成する。制約と操作タスクの両方を実行するために不充分な自由度であるときでも、解は求まる。
【００５３】
（足制約）
足のある人型ロボットの全身動作制御のために、足接触制約も、課されなければならない。各々の足の位置は、タスク変数と扱い、２つのサブタスクを用いて優先度付きの冗長度依存性決定手法で制御することができる。優先度のより高いサブタスクは足接触制約を課す。一方、優先度がより低いサブタスクは主要なタスクのゼロ空間内で動いて、上体操作タスクの追跡を取り扱う。したがって、以下の式（３９）で例示されるように、求められた加速ベクトルは、２つの優先度をつけられたサブタスクに分けられる。
【数３９】
2013520327.tif 000041
α１とα２は、それぞれ、第一優先度のサブタスクと、第二優先度のサブタスクの解である。
【００５４】
ａｒ，ｆ（式（１４）参照）を、以下の式（４１）で定義されるように、足（左右）サブタスクの基準空間加速度であるとする。
【数４０】
2013520327.tif 000042
ｒｆとｌｆは、それぞれ、右足と左足を表す。足が地上で固定されるとき、ａｆ，ｄ＝ｖｆ，ｄ＝０であることに、注意する。第１のサブタスクα１の解は、以下の式（４１）（式（１３）参照）の通りに計算される。
【数４１】
2013520327.tif 000043
【数４２】
2013520327.tif 000044
式（４２）は、両足のための付加されたヤコビ行列式である。一般化された逆行列（Ｊ＋ｆ）は、式（１８）で定める運動と力学的一貫性を実現するために、重み付けされる。１実施形態において、ひざの関節限界によって、かろうじて特異姿勢を避けるように設計されている。この実施形態では、ロボットはほとんど直立状態を達成することができ、より自然でエネルギー効率のよい動作を生み出すことができる。
【００５５】
ａｒ，ｕを、頭、腕および胴を含んでいる上体サブタスクの基準空間加速度であるとする。第２の優先度のサブタスクの解（上体自由度に対応）は、第一のサブタスク解のゼロ空間上にある。
【数４３】
2013520327.tif 000045
【数４４】
2013520327.tif 000046
【数４５】
2013520327.tif 000047
式（４５）は、上体と胴タスクのための付加されたヤコビ行列式である。パラメータＮｕは、上体タスクの数を表す。
【００５６】
足接触制約をともなう全身制約決定加速度ベクトルは、式（３３）から得られる。αは式（３９）、式（４１）および式（４３）から決定される。そして、ｑ’ｃの解は、２つのプライオリティ・サブタスク解における足制約を考慮しなければならない。
【数４６】
2013520327.tif 000048
基準空間速度ベクトルｖｒ，ｆとｖｒ，ｕが式（１６）から決定される。前記した一般化された逆行列Ｊ＋ｆとＪ＾＋ｕは、Ｗによって重み付けされることで、運動学的制約を満たし、力学的一貫性を実現する。
【００５７】
（制約決定加速度制御プロセス）
図４に示すように、本発明の１実施形態において、姿勢再現／動作制御モジュール２０８のプロセス４００を示すフローチャートは、目標システム１０４を制御する関節コマンド１１０を生成する。
【００５８】
図４に示すように、姿勢再現／動作制御モジュール２０８は、４１０で、ソース・システム１０２（例えば、未検知特徴付加モジュール２０６から）の動きを記述しているタスク記述子を受けて、４２０で、目標システム１０４（例えば、以前に発生した関節コマンドやセンサに基づく）の体部分の運動を推定する。姿勢再現／動作制御モジュール２０８は、４３０で、推定された運動に基づいて力学的一貫性を実現するとともに運動学的制約を課す重み付けした擬似逆行列を構築し、４４０で、タスク記述子を、重み付けした擬似逆行列を用いて関節コマンドに変えることによって関節コマンドを生成する。姿勢再現／動作制御モジュール２０８は、４５０で、速度レベルと加速度レベルの両方で目標システム１０４における体部分を制御して、生成した関節コマンドを用いて運動学的制約を課す。
【００５９】
プロセス４００の１つ以上の部分は、ハードウェアやソフトウェアまたはそれらの組合せの実施形態において実行できる。
【００６０】
本発明の実施形態は、加速度レベルで目標システムの動きを制御することによって、目標システムが運動学的制約に接近しているような動作を弱めることで効果的解決を提供し、それによってさらなる安定と丈夫さをコントローラに提供する。また、既存のアプローチと異なり、制約と操作タスクの両方を実行するために自由度が不充分なときでも、この解決は可能である。
【００６１】
上記の説明のいくつかの部分は、アルゴリズムプロセスや実施（例えば、図３および図４で記述されるプロセスや実施）に関して、実施形態を説明している。
【００６２】
本発明の１実施形態が、図面を参照して上記のように説明された。図面では、同様の参照番号は、同一または機能的に類似する要素を示す。また、図面では、各々の参照番号の一番左の数字は、その参照番号が最初に使われた図面の番号に対応している。
【００６３】
明細書における「１実施形態」、「実施形態」という参照は、実施形態に関連して記述される特定の要点、構造または特徴が、本発明の少なくとも１実施形態に含まれることを意味する。明細書における様々な箇所の「１実施形態において」や「実施形態」というフレーズの出現が、必ずしもすべて同じ実施形態に言及しているというわけではない。
【００６４】
詳細な説明のいくつかの部分は、コンピュータ・メモリの内部のデータ・ビット上でのアルゴリズムや象徴的な表現によって示される。これらのアルゴリズムの説明と表現は、データ処理技術の当業者が、他の当業者に最も効果的に彼らの仕事の要旨を伝えるのに用いられる手段である。ここで、アルゴリズムは、通常、望ましい結果へ導くステップ（指示）の首尾一貫したシーケンスであると考えられる。ステップは、それらの要求している物理的な量の物理的な操作である。通常（必ずしもそうとは限らないが）、これらの量は、保存され、移され、結合され、比較され、あるいは操作されることができる電気信号、磁気信号、または光学信号の形をとる。主に一般的な用法上の理由で、これらの信号を、ビット、値、要素、シンボル、文字、項、数などと称することは、都合がよい場合がある。さらにまた、一般性を失わずに、モジュールまたはコード装置として、物理的な量の物理的な操作を必要とするステップの特定の配置に言及することは、都合がよい場合がある。
【００６５】
しかし、これらおよび類似した用語のすべては、適切な物理的な量と関係していて、単にこれらの量に適用される便利なラベルに過ぎない。特に以下の言及から明らかに別のものとして述べられない限り、「処理する」、「演算する」、「計算する」、「決定する」、「表示する」といった表現を用いた説明を通して、コンピュータシステム、あるいは、類似した電子コンピュータ装置（コンピュータシステム・メモリ、レジスタ、他のそのような情報記憶装置、伝達装置、または、表示装置の中で物理的（電子的）な量として表されるデータを操作したり変形させたりする装置）の動作とプロセスに言及すると認められる。
【００６６】
本発明の特定の局面は、アルゴリズムの形でここに記述されたプロセス・ステップと命令を含む。本発明のプロセス・ステップと命令がソフトウェア、ファームウェアまたはハードウェアで実現できる点に留意する必要がある。そして、ソフトウェアで実現されるとき、本発明のプロセス・ステップと命令は、ダウンロードされ、いろいろなオペレーティングシステムにより使用される異なるプラットホームで動作できる。本発明は、コンピュータシステム上で実行されることができるコンピュータプログラム製品であってもよい。
【００６７】
本発明は、また、本明細書中にあるように動作を実行する装置に関する。この装置は、特にその目的のために作られてもよいし、あるいは、コンピュータに格納されるコンピュータプログラムによって選択的に作動するか変更される多目的コンピュータから構成されてもよい。そのようなコンピュータプログラムは、コンピュータで読取り可能な記憶媒体（例えば、フロッピー（登録商標）ディスクを含む任意の種類のディスク、光ディスク、ＣＤ−ＲＯＭ、磁気光ディスク、読出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、光学カード、特定用途向け集積回路（ＡＳＩＣ）、または、電子命令を保存するのに適した任意のタイプの媒体、そして、それぞれコンピュータシステムバスに接続されている。）に格納される。記憶装置は、情報／データ／プログラムを格納することができる上記のおよび／または他の装置のどれでも含むことができる。さらにまた、明細書に記載されたコンピュータは、シングルプロセッサを含んでもよいし、あるいは、増加したコンピューティング能力のためのマルチプロセッサ設計を使用している構造であってもよい。
【００６８】
ここに示されたアルゴリズムや表示は、特定のコンピュータや他の装置に本質的に関連がない。いろいろな多目的システムは、また、本明細書の開示に従ったプログラムによって使われてもよいし、あるいは、その方法ステップを実行するためのより専門装置を作ることが便利であるとわかるかもしれない。いろいろなこれらのシステムのための構造は、下記の説明から明らかになる。そのうえ、本発明は、特定のプログラミング言語に関してまったく記述されていない。いろいろなプログラミング言語がここに記述されている本発明の開示を実行するのに用いられてもよいことは、言うまでもない。そして、特定の言語への下記の任意の参照は、本発明の使用可能性とベストモードの開示に対して用意されている。
【００６９】
さらに、明細書で使われている言語は、主に読みやすさと教育目的のために選ばれていて、発明の主題を詳細に描写するか制限するために選ばれなかったかもしれない。したがって、本発明の開示は、特許請求の範囲において与えられる発明の範囲の例示であり、発明の範囲を制限するものではない。
【符号の説明】
【００７０】
１００  動作・リターゲティング環境
１０２  ソース・システム
１０４  目標システム
１０６  動作・リターゲティング・システム
１０８  深さイメージ・ストリーム
１１０  関節コマンド
２０２  特徴検知モジュール
２０４  補間モジュール
２０６  未検知特徴付加モジュール
２０８  姿勢再現／動作制御モジュール
２１０  曖昧さ解消モジュール
【図１】
2013520327.tif 000049
【図２】
2013520327.tif 000050
【図３】
2013520327.tif 000051
【図４】
2013520327.tif 000052
【図５】
2013520327.tif 000053
【国際調査報告】
2013520327.tif 000054