(57)【要約】      （修正有）【課題】モーションキャプチャデータに基き、自然な動作（例えば人間のような動作）を実行するロボットを提供すること。【解決手段】コントローラ１００を、バランス制御信号を供給するように構成されたバランスコントローラ１０１と、前記バランス制御信号に従ってバランスを維持しながら入力基準動作を追跡するように設定された動作命令を生成するように構成されたトラッキングコントローラ１０２とを備え、ロボットの複数の関節の各々が前記動作命令を使用でき、前記基準動作の追跡及びバランスの維持をもたらす構成とした。【選択図】図１
2010221395.tif 000002
【特許請求の範囲】
【請求項１】
機械的な人工エージェントであって、
複数の関節を介して結合された複数の可動部と、
前記複数の可動部の動作を制御するように構成されたコントローラと、
を備え、前記コントローラは、
バランス制御信号を供給するように構成されたバランスコントローラと、
前記バランス制御信号に従ってバランスを維持しながら入力基準動作を追跡するように設定された動作命令を生成するように構成されたトラッキングコントローラとを備え、
前記複数の関節の各々が前記動作命令を使用でき、前記基準動作の追跡及びバランスの維持をもたらす、機械的な人工エージェント。
【請求項２】
前記動作命令は関節トルクを含む、請求項１記載の機械的な人工エージェント。
【請求項３】
前記機械的な人工エージェントはヒューマノイドロボットである、請求項１記載の機械的な人工エージェント。
【請求項４】
前記複数の可動部は１つ以上の可動下半身部分を有する本体部分を備え、前記バランス制御信号は全身バランスモデルと整合している、請求項３記載の機械的な人工エージェント。
【請求項５】
前記基準動作はモーションキャプチャシステムから得られる１つ以上のデータ入力を更に含む、請求項１記載の機械的な人工エージェント。
【請求項６】
前記基準動作は１つ以上の足踏み動作を更に含む、請求項５記載の機械的な人工エージェント。
【請求項７】
前記コントローラは、
運動学的マッピングモジュールと、
動力学的マッピングモジュールとを更に備える、請求項４記載の機械的な人工エージェント。
【請求項８】
前記運動学的マッピングモジュールは、前記機械的な人工エージェントの１つ以上の現在接触位置を用いて、１つ以上の接触位置と前記機械的な人工エージェントの本体との間の運動学的関係が前記基準動作を追跡するように、１つ以上の体幹軌道及び１つ以上の関節軌道を修正するように構成されている、請求項７記載の機械的な人工エージェント。
【請求項９】
前記動力学的マッピングモジュールは、前記基準動作を追跡しながら圧力中心を前記機械的な人工エージェントの接触凸包内に維持するように前記機械的な人工エージェントの基準重心を修正するように構成されている、請求項７記載の機械的な人工エージェント。
【請求項１０】
基準動作に対応する入力データを受信するステップと、
複数の関節で結合された複数の可動部を有する機械的な人工エージェントのトラッキングコントローラにバランス制御信号を供給するステップと、
前記トラッキングコントローラによって、バランスを維持しながら入力基準動作を追跡するように設定された動作命令を含むトラッキング制御信号を供給するステップとを備え、
前記複数の関節の各々が前記動作命令を使用でき、前記基準動作の追跡及びバランスの維持をもたらす、方法。
【請求項１１】
前記動作命令は関節トルクを含む、請求項１０記載の方法。
【請求項１２】
前記機械的な人工エージェントはヒューマノイドロボットである、請求項１０記載の方法。
【請求項１３】
前記複数の可動部は１つ以上の可動下半身部分を有する本体部分を備え、前記バランス制御信号は全身バランスモデルと整合している、請求項１２記載の方法。
【請求項１４】
前記基準動作はモーションキャプチャシステムから得られる１つ以上のデータ入力を更に含む、請求項１０記載の方法。
【請求項１５】
前記基準動作は１つ以上の足踏み動作を更に含む、請求項１４記載の方法。
【請求項１６】
運動学的マッピングモジュール及び動力学的マッピングモジュールを用いて前記基準動作に対応する入力データを前処理するステップを更に備える、請求項１０記載の方法。
【請求項１７】
前記運動学的マッピングモジュールを用いて、１つ以上の接触位置と前記機械的な人工エージェントの本体との間の運動学的関係が前記基準動作を追跡するように１つ以上の体幹軌道及び１つ以上の関節軌道を修正するステップを更に備える、請求項１６記載の方法。
【請求項１８】
前記動力学的マッピングモジュールを用いて、前記基準動作を追跡しながら圧力中心を前記機械的な人工エージェントの接触凸包内に維持するように前記機械的な人工エージェントの基準重心を修正するステップを更に備える、請求項１６記載の方法。
【請求項１９】
１つ以上のプロセッサと、
複数の関節で結合された複数の可動部を有する機械的な人工エージェントの動作を制御するように構成された、前記１つ以上のプロセッサにより実行可能なコンピュータ読み取り可能なプログラムコードを有するプログラム記憶装置とを備え、該プログラム記憶装置は、
バランス制御信号を供給するように設定されたコンピュータ読み取り可能なプログラムコードと、
バランスを維持しながら入力基準動作を追跡するように設定された動作命令を生成するように構成されたコンピュータ読み取り可能なプログラムコードとを含み、
前記複数の関節の各々が前記動作命令を使用でき、前記基準動作の追跡及びバランスの維持をもたらす、装置。
【請求項２０】
複数の関節で結合された複数の可動部を有する機械的な人工エージェントの動作を制御するように構成された、１つ以上のプロセッサにより実行可能なコンピュータ読み取り可能なプログラムコードを有するプログラム記憶装置を備え、該プログラム記憶装置は、
バランス制御信号を供給するように設定されたコンピュータ読み取り可能なプログラムコードと、
バランスを維持しながら入力基準動作を追跡するように設定された動作命令を生成するように構成されたコンピュータ読み取り可能なプログラムコードとを含み、
前記複数の関節の各々が前記動作命令を使用でき、前記基準動作の追跡及びバランスの維持をもたらす、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００９年３月２４日に出願された「Simultaneous Tracking and Balancing of Humanoid Robot for Imitating Human Motion」という名称の米国特許出願番号第６１／１６２，８３８号の優先権を主張するものであり、その全内容は参照することによりここに組み込まれる。
【背景技術】
【０００２】
特に自然な動作（例えば人間のような動作）を実行するようにロボットをプログラミングすることは難しい作業である。動作は、動力学的制約及び運動学的制約の両方又はいずれかの下で例えばエネルギー消費を最小にするために通常手作業で又は多くの数値最適化技術によりプログラムされている。モーションキャプチャデータは潜在的に良好な出発点であるが、モーションキャプチャデータの従来の使用法はここで熟慮されるようにロボットを追跡しバランスさせるには不十分である。
【発明の概要】
【０００３】
本発明の実施例は、仮想的又は機械的な人工エージェント（ここでは「ロボット」、例えばヒューマノイド(人型)ロボットという）のための制御フレームワークを提供するシステム、方法、装置及びコンピュータを広く含む。この制御フレームワークは、動作を追跡しバランスを維持するために基準動作データ（例えばモーションキャプチャデータ又はアニメーションデータ）とすべての関節を同時に用いている。本発明の一実施例によるコンピュータはバランスコントローラとトラッキングコントローラの２つの主要なコンポーネントを含む。本発明の一実施例では、バランスコントローラは、ロボットの現在状態に基づいてバランスを維持するための所望の入力を得られるために簡易人型モデルに対して設計されたレギュレータを用いる。簡易モデルは、例えば最適制御を用いてレギュレータを体系的に設計できるように選択される。一例として、倒立振子モデルに対して設計された線形二次レギュレータを用いることができる。所望の入力は典型的にはいくつかの代表的な関節の圧力中心及び／又はトルクである。本発明の一実施例では、このときトラッキングコントローラは、全身動力学を考慮して、モーションキャプチャデータを追跡するために所望の入力からの差のみならず所望の関節加速度からの誤差を最小にする関節トルクを計算する。
【０００４】
要するに、本発明の一つの態様は、複数の関節を介して結合された複数の可動部分と、前記複数の可動部分の動作を制御するように構成されたコントローラとを備え、前記コントローラはバランス制御信号を供給するように構成されたバランスコントローラと、バランス制御信号に基づいてバランスを維持しながら入力基準動作を追跡するように設定された動作命令を生成するように構成されたトラッキングコントローラとを備え、前記複数の関節の各々が前記動作命令を使用でき、基準動作の追跡とバランスの維持をもたらす、機械的人工エージェントを提供する。
【０００５】
本発明の別の態様は、基準動作に対応する入力データを受信するステップと、複数の関節を介して結合された複数の可動部分を有する機械的人工エージェントのトラッキングコントローラにバランス制御信号を供給するステップと、前記バランス制御信号に基づいてバランスを維持しながら入力基準動作を追跡するように設定された動作命令を含むトラッキング制御信号を前記トラッキングコントローラによって供給するステップとを備え、前記複数の関節の各々が前記動作命令を使用でき、基準動作の追跡とバランスの維持をもたらす、方法を提供する。
【０００６】
本発明の他の態様は、一つ以上のプロセッサと、複数の関節を介して結合された複数の可動部分を有する機械的人工エージェントの動作を制御するように構成されたコンピュータ読み取り可能なプログラムコードを有するプログラム記憶装置とを備え、前記コンピュータ読み取り可能なプログラムコードは、前記一つ以上のプロセッサにより実行可能であって、バランス制御信号を供給するように設定されたコンピュータ読み取り可能なコードと、バランス制御信号に基づいてバランスを維持しながら入力基準動作を追跡するように設定された動作命令を生成するように構成されたコンピュータ読み取り可能なプログラムコードとを備え、前記複数の関節の各々が前記動作命令を使用でき、基準動作の追跡とバランスの維持をもたらす、装置を提供する。
【０００７】
本発明の更に他の態様は、複数の関節を介して結合された複数の可動部分を有する機械的人工エージェントの動作を制御するように構成されたコンピュータ読み取り可能なプログラムコードを有するプログラム記憶装置を備え、前記コンピュータ読み取り可能なプログラムコードは、一つ以上のプロセッサにより実行可能であって、バランス制御信号を供給するように設定されたコンピュータ読み取り可能なコードと、バランス制御信号に基づいてバランスを維持しながら入力基準動作を追跡するように設定された動作命令を生成するように構成されたコンピュータ読み取り可能なプログラムコードとを備え、前記複数の関節の各々が前記動作命令を使用でき、基準動作の追跡とバランスの維持をもたらす、コンピュータプログラムプロダクトを提供する。
【０００８】
本発明の他の特徴及び更なる特徴及び利点と一緒に、本発明の模範的な実施例のよりよい理解のために、添付図面と関連して記載する以下の説明を参照されたい。本発明の範囲は添付の請求項に特定されている。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例によるモーションコントローラを示す。
【図２】本発明の一実施例によるバランスコントローラを示す。
【図３】本発明の一実施例によるバランスコントローラのための倒立振子モデルを示す。
【図４】本発明の一実施例によるトラッキングコントローラを示す。
【図５】ＣＯＭ制御のみによる簡単なバランス制御中（破線）及び本発明の一実施例にコントローラによるバランス制御中（実践）の前面方向の重心（ＣＯＧ）を示す。
【図６】本発明の一実施例によるコントローラによる簡単なバランス制御中の前面方向の圧力中心（ＣＯＰ）を示す。
【図７】本発明の一実施例によるＣＯＭ制御のみによる簡単なバランス制御中の前面方向のＣＯＰ位置を示す。
【図８】本発明の一実施例によるトラッキング及びバランス制御を示す。
【図９】本発明の一実施例によるモーションコントローラを示す。
【図１０】図１０(a-c)は足持ち上げの例を示し、(a)ＣＯＭオフセットなしは転倒すること、(b)満足な足持ち上げは適量のＣＯＭオフセットを必要とすること、(c)大きすぎるオフセットも足持ち上げ後に転倒することを示す。
【図１１】本発明の一実施例による胴体位置及び向きの平行移動、回転及びスケーリングと関連するパラメータを示す。
【図１２】本発明の一実施例による修正位置を得る態様を示す。
【図１３】本発明の一実施例による右足持ち上げに対するＣＯＭ及びＣＯＰ軌道を示す。
【図１４】本発明の一実施例によるコンピュータシステムを示す。
【発明を実施するための形態】
【００１０】
本発明の実施例のコンポーネントは、図面に一般的に記載され示されるように、記載の実施例に加えて、様々な異なる構成に配置し設計することができることは容易に理解されよう。従って、図面に示される本発明の実施例の以下の詳細な説明は請求の範囲で請求される本発明の範囲を限定する意図はなく、本発明の模範的な実施例を例示しているにすぎない。
【００１１】
本明細書を通して、「一実施例」又は「ある実施例」（又は同類の表現）への言及は、実施例と関連して記載する特定の特徴、構造又は特性が本発明の少なくとも一つの実施例に含まれることを意味する。従って、明細書中の種々の箇所における「一実施例」、「ある実施例」（又は同類の表現は必ずしもすべて同じ実施例に関連するとは限らない。
【００１２】
更に、記載する特徴、構造又は特性は一つ以上の実施例において任意に適切に組み合わせることができる。以下の説明において、本発明の実施例の全体理解を与えるために多くの特定の詳細な記述が与えられる。しかし、当業者は、本発明の種々の実施例は一つ以上の詳細な記述がなくても、他の方法、コンポーネント、材料などを用いて実施することができることが認識されよう。更に、本発明の特徴が不明瞭になるのを避けるために周知の構造、材料又は動作の図示や詳細な説明は省略されている。
【００１３】
本発明の図示の実施例は図面を参照することにより最もよく理解されよう。以下の説明は例示であって、本発明のいくつかの模範的な実施例を示しているだけである。
【００１４】
図面に関しては、図のフローチャート及び／又はブロック図は、本発明の種々の実施例によるシステム、方法及びコンピュータプログラムプロダクトの可能な実施のアーキテクチャ、機能及び動作を示す。この点で、フローチャート又はブロック図内の各ブロックはモジュール、セグメント又は指定の論理機能を実行する一つ以上の実行可能な命令を含むコードの一部分とすることができる。また、いくつかの代替実施例においては、ブロックに示す機能は図に示される順序と異なる順序で起こり得る点に注意されたい。例えば、順に示される２つのブロックは実際にはほぼ同時に実行されることもあり、またこれらのブロックは関連する機能に応じて逆の順序で実行されることもある。また、ブロック図及び／又はフローチャートの各ブロック及びブロック図及び／又はフローチャートのブロックの組み合わせは、指定の機能又は動作を実行する専用ハードウェアシステム又は専用ハードウェアとコンピュータ命令の組み合わせで実現できる点に注意されたい。
【００１５】
本明細書に与えられる説明はヒューマノイドロボット及びヒューマンモーションキャプチャに重点を置くが、特許請求する本発明はこれに限定されない点に注意されたい。本発明の実施例は他のタイプの仮想又は機械的人工エージェント、ロボット及び／又は入力データ源に等しく適用可能である。
【００１６】
本発明者は、特に自然な人間の動作を実行するようにロボットをプログラミングすることは難しい作業であることを認識した。ヒューマノイドロボットは、動力学的制約及び運動学的制約の何れかの下で例えばエネルギー消費を最小にするために通常手作業で又は多くの最適化技術によりプログラムされている。モーションキャプチャデータは潜在的に良好な出発点であるが、運動学及び動力学パラメータの差のためにキャプチャデータを人型ロボットにマップすることは困難である。実際上、ヒューマンモーションキャプチャデータを他のヒューマノイドモデルにマッピングする殆どの作業は全身動力学が通常考慮されないグラフィックス分野で行われている。
【００１７】
現在のヒューマノイドロボットの成功例の殆どは、最初にフットプリントに基づいて圧力中心（ＣＯＰ、ゼロモーメントとしても知られている）軌道を決定し、倒立振子のような簡易動力学モデルを用いて物理的に整合した重心（ＣＯＧ）軌道を生成し、次に計画されたＣＯＧの軌道及びフットプリントを満足する関節角度を得るために逆運動学（インバースキネマティクス）を計算することによってプログラムされる。ある研究もバランシングのために倒立振子を用いている。これらのフレームワークは、基準動作が物理的に整合することが保証されるために成功しているが、一般にモーションキャプチャデータを追跡することはできない。それは、計画された軌道の上に基準関節軌道を付加することは物理的整合性を壊す可能性があるためである。
【００１８】
ヒューマンモーションキャプチャデータをヒューマノイドロボットに供給することは最近の研究の成長分野であるが、これらのアプローチの殆どはフローティングベースを備えるリアルハードウェアを首尾よく制御してない。殆どの研究はヒューマン動作をヒューマノイドロボットに僅かな自由度でマッピングし、ヒューマン動作をヒューマノイド動作の合成のために種々の動作に分類することに集中している。従来の研究は、キャプチャした上半身の動作を関節角度及び速度限界などの運動学的制約を考慮してヒューマノイドロボットに適応させていた。モーションキャプチャデータシーケンスをフリーフローティングヒューマノイドの全身動力学的制約を満足するように変化させることがロボット工学及びグラフィック工学において取り組まれているが、これらの努力はプランニングに集中しており、妨害下におけるバランス回復の問題に取り組んでいない。
【００１９】
実際には、ヒューマンモーションキャプチャデータに基づいてヒューマノイドハードウェアを制御することに成功した研究はほとんどない。一つの従来の研究は、ヒューマン動作データを種々のタスクに手作業でセグメント化し、各タスクのためのコントローラを構成することによってロボットダンス動作を実現している。別の従来の研究は、逆運動学計算中に基準関節軌道を尊重しながらＣＯＧ軌道を倒立振子モデルに基づいて最適化することによって物理的に整合した動作を生成する方法を提案している。しかし、両アプローチともコントローラを設計するため又はキャプチャデータを前処理するために手作業を必要とする。
【００２０】
ある研究は全身シミュレーション及びハードウェアの二重サポート中に上半身のオンライントラッキングを実現している。しかし、この研究は下半身をバランシング専用に使用するため、脚動作のトラッキングがバランシングタスクと競合し、脚動作を完全には追跡できない。
【００２１】
ここで説明は図面に戻り、本発明の実施例を選択する。本発明の種々の実施例の以下の説明は本発明のいくつかの態様を強調するために提示され、本発明の範囲は添付の特許請求の範囲で特定される。
【００２２】
本発明の一つ以上の実施例は、すべての関節を同時に使用して対象のモーションキャプチャデータを追跡するヒューマノイドロボット用の制御フレームワークを提供する。本発明の実施例は関節角度の軌道を追跡することに重点的に取り組むが、いくつかのタスクはエンドエフェクタの軌道のような他の量を追跡することを要求し得る。本発明の一つの実施例によれば、コントローラは二重サポートにて働くが、バランシングタスクは上半身の関節も含むすべての関節に分散される。更に、コントローラはモーションキャプチャデータのセグメント化又は集中的な前処理を必要とせず、リアルタイムアプリケーションに適用可能である。更に、本発明の別の実施例によれば、足踏みやもっと複雑な動作が可能である。
【００２３】
本発明の一実施例によれば、コントローラはバランスコントローラとトラッキングコントローラの２つのコンポーネントを備える。バランスコントローラは、ロバストなバランスコントローラの設計が容易にできる簡易モデルを用いることによって全身をバランスした状態に維持するように試みる。代表的な非限定例は線形二次レギュレータ（ＬＱＲ）を備える倒立振子であり、ここに提示される非限定模範実施例に使用される。バランスコントローラは簡易モデルをバランスした状態に維持するために所望の入力を与える。このような入力の例は圧力中心（ＣＯＰ）及び代表的な関節のトルクを含む。
【００２４】
本発明のいくつかの実施例によれば、トラッキングコントローラは、バランスコントローラにより与えられる所望の入力を尊重しながら、関節がモーションキャプチャデータにより指定される基準軌道を辿るようにする。関節軌道トラッキングは、関節角度及び速度に基づいて所望の関節加速度及びフィードフォワード関節加速度を命令することによって可能になる。次にトラッキングコントローラは、所望の入力及び関節加速度からの誤差を含む二次コスト関数を用いて最適化問題を解く。
【００２５】
本明細書において、関節速度及びトルク限界を考慮に入れる全身動力学的シミュレーションによってコントローラのバランシス及び追跡能力が証明される。基本的なバランス能力を示した後に、非限定的な代表的使用例が与えられる。この使用例では本発明の一実施例によるコントローラが同じストーリーを話している２人の対象のモーションキャプチャクリップを追跡するのに適用される。本明細書に示されるように、得られるロボット動作は各対象の元のスタイルを明確に保つ。本発明の実施例のロバスト性もシミュレーションモデルの慣性パラメータを乱すことによって証明される。その後、足踏み及びもっと複雑な動作の追加も記載される。
【００２６】
コントローラ
【００２７】
図１は本発明の一実施例によるコントローラ１００の概略図を示す。２つの主なコンポーネントはバランスコントローラ１０１とトラッキングコントローラ１０２である。バランスコントローラ１０１は、簡易動力学的モデルに対して設計されたコントローラ、例えば線形倒立振子モデルに対するＬＱＲを用いて全身をバランスした状態に維持しなければならない。バランスコントローラ１０１の出力は簡易モデルへの所望の入力、例えば圧力中心及び／又は代表的な関節のトルクである。トラッキングコントローラ１０２はすべての関節を所望の軌道に追従させなければならない。トラッキングコントローラ１０２は関節トラッキングと簡易モデルへの所望の入力の両方を尊重する最適化問題を解き、ロボット１０３へ命令すべき関節トルクを得る。
【００２８】
モーションキャプチャデータ処理
【００２９】
この説明のために、典型的には直交座標空間内の一組のマーカー軌道を含む基準動作データ（例えばモーションクリップ１０４）を得るために市販の光学モーションキャプチャシステムを用いるものと仮定する。マーカーデータは通常のモーションキャプチャパイプライン内でラベル付けされ、クリーニングされる。次にデータは特定のロボット（１０３）のサイズに合うようにスケーリングされ、関節動作範囲を考慮して逆運動学アルゴリズムによりロボット１０３のための関節角度データに変換される。関節限界及び対象とロボット１０３との運動学の差のために、関節角度データは通常、接触点におけるフットスケーティングのような問題を有する。
【００３０】
前処理のために、ここでは、本例は最初のフレームにおいて両足が床の上に平らに着いているものと仮定する。正しい足位置及び向きは、生のマーカーデータを用いて得られる足位置及び向きを床上に投影することによって推定される。（足踏み及び他の複雑な動作を含む実施例が以下に記載される）。次に、クリーニングされた関節角度を得るとともに元の関節角度からの差を保持するために新しい足位置に対する逆運動学が計算される。制御中の各フレームにおいて、クリーニングされた関節角度を得るためにこの差が元のデータに付加される。この補正はきわめて簡単であるが、本発明のこの模範的な実施例によるコントローラが更なるクリーンアップを必要としないようにできる。
【００３１】
記号の説明と基本方程式
【００３２】
2010221395.tif 000003
【００３３】
2010221395.tif 000004
【００３４】
2010221395.tif 000005
【００３５】
2010221395.tif 000006
【００３６】
バランスコントローラ
【００３７】
図２は本発明の一実施例によるバランスコントローラ２０１の構造を示す。バランスコントローラ２０１は２つの主なコンポーネント、即ちバランスを維持するために簡易モデルへの入力を計算するように構成されたレギュレータ２０１ａと、測定に基づいて現在の状態を推定するように構成されたオブザーバ２０１ｂとからなる。簡易モデルは（例えばヒューマノイドロボットの）動力学を表す限り、任意のものを用いてバランスコントローラ２０１を設計することができる。代表的な例は線形倒立振子であり、レギュレータ２０１ａはこのモデルに対してポール配置又は最適制御により容易に設計することができる。
【００３８】
基準状態及び測定された入力に基づく簡易モデルの現在状態の推定に関するいくらかの詳細を与えるために、非限定例を以下に示す。簡易モデルは線形であり、状態−空間微分方程式：
【数１】
2010221395.tif 000007
で表される。ここで、ｘは簡易モデルの状態、ｕは入力、ｙは出力である。また、バランスのための状態帰還コントローラは次のように設計されているものとする。
ｕ＝Ｋ(ｘref−ｘ)                                        （８）
ここで、Ｋは一定の利得行列であり、ｘrefは代表的には基準動作から計算される基準状態である。
【００３９】
2010221395.tif 000008
【００４０】
方程式（１１）は簡易モデルの現在状態を基準状態及び測定出力に基づいて推定する方法を記述している。推定状態及び方程式（１０）により計算される簡易モデルへの入力をトラッキングコントローラ１０２への入力として使用することができる。
【００４１】
倒立振子例
【００４２】
ここでは、簡易モデルとして線形倒立振子を用いるバランスコントローラ（例えば図２に示すバランスコントローラ２０１）の一例が提示される。図３を参照すると、２つのアクティブ線形関節（それらの位置及びアクチュエータ力は（ｘ，ｙ）及び（ｆx，ｆy）で表されている）と、２つの不作動関節（それらの関節角度はθ1及びθ2である）と、質点ｍが示されている。線形関節の位置及び質点は全身モデルのＣＯＰ及びＣＯＭにそれぞれ対応する。線形化後に、この倒立振子は関節（ｘ，θ1）及び（ｙ，θ2）を有する２つの独立の平面振子として取り扱うことができる。従って、説明用の例として（ｘ，θ1）を有する振子を用いる。
【００４３】
その状態は線形倒立振子の入力及び出力ベクトルで次のように規定される。
【数２】
2010221395.tif 000009
【００４４】
質点のｘ座標がθ1の代わりに出力として使用される点に注意されたい。ｆxは倒立振子への実際の入力であるが、全身モデルには対応する入力はない。代わりに、全身モデルのＣＯＰはどこにあるべきかを示すｘが所望の入力として使用される。所望の入力の他の可能な例は、簡易モデルが２重倒立振子のようにアクティブ回転関節を含む場合には、代表的な関節のトルクを含む。
【００４５】
2010221395.tif 000010
【００４６】
次に、レギュレータが倒立振子に対して設計される。ここではＬＱＲを使用し、以下のコスト関数が最小化されるように状態帰還利得Ｋを決定する。
【数３】
2010221395.tif 000011
ここで、Ｑ≧０及びＲ＞０は対称加重行列である。加重行列は妨害に対する応答を観測することによって容易に決定できる。例えば、加重は、可能な最大外部力が供給されたときに所望のＣＯＰが接触域から出ないように決定することができる。
【００４７】
トラッキングコントローラ
【００４８】
図４は本発明の一実施例によるトラッキングコントローラ４０２の構造を示す。トラキングコントローラ４０２は２つの局部コントローラ４０２ａ，４０２ｂと、関節トルク最適化モジュール４０２ｃとからなる。
【００４９】
2010221395.tif 000012
【００５０】
2010221395.tif 000013
【００５１】
最適化器
【００５２】
2010221395.tif 000014
【００５３】
最適化の未知量は関節トルクｔJ及び接触力ｆcである。最適化すべきコスト関数は、
-  Ｚ＝Ｚｓ＋Ｚｑ＋Ｚｃ＋Ｚｔ＋Ｚｆ                              （１７）
であり、５つの項の各々は以下の段落で詳細に説明される。
【００５４】
項Ｚｓは簡易モデルへの所望の入力からの誤差に対処するものである。簡易モデルから全身モデルへのマッピングは任意の形でできるため、ここではこのようなマッピングの２つの例、即ち圧力中心（ＣＯＰ）及び代表的関節のトルクのマッピングを考察する。この場合、コスト関数Ｚｓはこれらの量と関連する誤差の和になる。即ち、
Ｚｓ＝ｅcop＋ｅt                              （１８）
【００５５】
2010221395.tif 000015
【００５６】
2010221395.tif 000016
【００５７】
項Ｚｑは所望の関節加速度からの誤差を示し、
【数４】
2010221395.tif 000017
である。
【００５８】
項Ｚｃは所望の接触リンク加速度からの誤差を示し、
【数５】
2010221395.tif 000018
である。
【００５９】
2010221395.tif 000019
【００６０】
2010221395.tif 000020
【００６１】
2010221395.tif 000021
【００６２】
最適化問題は解析解：
ｙ＝−Ａ−１ｂ                                            （２９）
を有する。
【００６３】
接触力及びハードウェア限界の考察
【００６４】
今まで、任意の接触力が得られると仮定してきた。しかし、実際には、ｘ及びｙ軸の周囲の摩擦及びモーメントは制限を有する。実際のハードウェアも関節角度、速度及びトルクに制限を有する。これらの制限を実行するために不等式制約を付加することができるが、最適化問題を解くには単に方程式（２９）を用いる場合よりかなり長い時間がかかることになる。
【００６５】
これらの制限は、本発明の実施例によれば、制約を付加する代わりに最適化のパラメータを調整することによって、従って解（２９）を変更することなく、処理される。制限が必ずしも満たされるわけではない場合には、バランスコントローラは近似値と正確な解との差を補償できることが期待される。
【００６６】
接触力制限に対しては、摩擦及びモーメントに対応するＷｆの要素に対して大きな値が設定される。関節トルク限界に対処するために、方程式（２６）で用いられている基準関節トルクを利用する。関節トルクのどれかがサンプリング時に限界値を超える場合には、対応する基準トルクが次のサンプリング時に限界値に設定され、加重を増大する。それゆえ、トルクが限界値で飽和されても、過剰トルクは比較的小さく、従って僅かな影響となることが予想される。
【００６７】
シミュレーション結果
【００６８】
本発明の所定の実施例を評価するために、鋼体接触モデルを備えた動力学シミュレータをシミュレーションに使用し、その精度をいくつかのシミュレーション設定に対して証明した。シミュレーションのためにヒューマノイドロボットを使用した。ロボットは全部で３４の関節（手及び眼のパン／チルトは除く）を有し、これらの関節（首及び手首のＤＯＦは固定）のうちの２５の関節を本発明の種々の実施例の性能の非限定例としてここに記載する評価のために使用した。
【００６９】
関節運動学及び慣性パラメータはＣＡＤモデルから導出した。関節速度限界に対する設計仕様に加えて、実験的に検証した関節動作範囲及び関節トルク限界情報を使用した。関節動作範囲制約は逆運動学計算中に実行したが、関節動作範囲はシミュレーションに考慮されてない（関節は基準軌道を十分良好に追跡するものと仮定した）。関節速度が限界値に近づくと、速度を下げるために強い減衰トルクが付加された。最適化された関節トルクが限界値を超えると、シミュレータが関節加速度を計算する前にこのトルクは最大値にリセットされた。
【００７０】
ＬＱＲコスト関数（１５）に対する加重は、
Ｑ＝diag{1.0×107 1.0×108 1.0×102 1.0×103}
Ｒ＝1.0
であり、これらはＣＯＰが大きな衝撃に対して接触域から出ないように選択された。オブザーバ利得は、推定状態が閉ループの極に比較して十分に速く収斂されるように選択した。関節及び接触リンク追跡のための帰還利得は、他に言及しない限り、ｋｐ=4.0及びｋｄ＝4.0とした。コスト関数に対して選択されたすべての加重は、Ｗｔ及びＷｃを除いて、すべての対角要素が１とした。Ｗｔの対角要素はデフォルトにより０に設定され、関節トルクが限界値を超えたとき、対応する値が１に変化した。Ｗｃの対角要素は垂直力及び他の力に対してそれぞれ1.0×10-9及び1×10-7に設定した。
【００７１】
倒立振子モデルによる簡単なバランシング
【００７２】
ここでは最初に固定の姿勢を基準として用いてバランスコントローラ２０１の基本機能を実証する。ロボットは、初期姿勢を維持しようとしながら首関節にｔ＝１〜１．１秒の間２５０Ｎの力を受けた。参照用に、僅かに異なるバージョンのコントローラ１００、即ちバランスコントローラが同じ帰還／フィードフォワードコントローラ（１６）及び同じ利得でＣＯＭ位置を元の位置へ戻すための所望のＣＯＭ加速度を計算する簡単なＣＯＭ位置コントローラと置き換えられたコントローラを使用した。この場合、最適化器４０２ｃは所望のＣＯＰ位置の変わりに所望のＣＯＭ加速度に対応する。２つのコントローラは同じ関節及び接触リンク追跡コントローラを共有する。
【００７３】
図５は２つのコントローラから得られるロボットの順方向のＣＯＭ位置を示す。本発明の一実施例によるコントローラはロボットを首尾よく元の姿勢に戻した。他方、ＣＯＭコントローラバージョンは本発明によるコントローラよりかなり早くＣＯＭを停止させたが、ロボットは最終的に後ろに倒れた。その理由は、ＣＯＭコントローラバージョンはＣＯＭ動作を止めることができるが、そのアクションは上半身の前方への急速動作を犠牲にし、上半身の回復動作の補償を得ることができないことにある。この誤差は関節及びＣＯＭ帰還利得を調整することによって修正できる可能性がある。
【００７４】
提案のコントローラ及びＣＯＭコントローラバージョンによるＣＯＰ位置がそれぞれ図６及び図７に示されている（重要部分を強調するために図５に比較して異なる時間スケール（２秒）を使用している）。図６において、所望のＣＯＰ及び最適化ＣＯＰは殆ど同一であり、実際のＣＯＰも極めて近似している。図７にも、所望のＣＯＰ位置、最適化ＣＯＰ位置及び実際のＣＯＰ位置が示されている。ここで、所望のＣＯＰを考慮しなければ、実際のＣＯＰもＣＯＭに負の加速度を与えるために前方に動くが、動作は結局全システムを平衡させるために多大な制御を使用しなければならなくなるほど速くなる。
【００７５】
モーションキャプチャ基準の追跡
【００７６】
本発明の特定の実施例のロボット動作追跡性能を評価するために、関節追跡能力が重要であるストーリーテリング動作を使用した。ＣＭＵモーションキャプチャデータライブラリから保育テーマ「私は小さなティーポット」を演ずる２人のアクタのモーションキャプチャクリップを入力としてランダムに選択した。コントローラは元の（対象の）動作（図示せず）の姿勢を保存するロボット動作を再現することができた。
【００７７】
妨害の例：質量パラメータの誤差
【００７８】
本発明の一実施例によるシミュレーションモデルの慣性パラメータを、（ワイヤなどの小部分及び油圧ロボットにおけるシリンダや管内の油の有意の質量を一般に無視する）ＣＡＤモデルを用いることによるモデル化誤差をエミュレートするために動揺させた。各リンクの質量及び慣性はシミュレーションモデルにおいて５〜１５％のランダム比だけ増大させた。制御のための基準モデルは同じままにした。推定接触力は常に実際の力より小さいため、ロボットは元の利得（ｋｐ＝4.0，ｋｄ＝4.0）で立ち続けることはできない。しかし、図１１に示すように、利得を増大させてｋｐ=16.0，ｋｄ＝8.0を維持することによって類似の動作を首尾よく発生させることができた。
【００７９】
従って、本発明の実施例はフローティングベースのヒューマノイドロボットがバランスの維持とモーションキャプチャデータの追跡を同時にできるようにする新しいフレームワークを提供する。コントローラ１００はロボット１０３の簡易動力学モデルに対して設計されたバランスコントローラ１０１と個々の関節に対するトラッキングコントローラ１０２を組み合わせてなる。最適化器４０２ｃは、バランス及びトラッキング用の両コントローラ１０１及びコントローラ１０２の出力を尊重してロボット１０３が基準関節軌道をトラッキングしながらバランスを維持できるような関節トルクを得る。
【００８０】
評価／シミュレーションと関連して説明したように、バランスコントローラ１０１は種々のタイプの外乱、例えば簡易動力学及び全身動力学間の差、慣性パラメータ誤差、バランスコントローラ１０１に未知の関節動作及び外部力に対処できる。一般に、倒立振子モデル及び簡単なＣＯＭ帰還制御は質的に同等のＣＯＰ位置を生じる。しかし、最適な帰還利得を決定することは難しく、誤った利得選択が不所望の挙動を生じる。従って、状態帰還コントローラを倒立振子モデルに対して設計することができる。
【００８１】
更に、モーションキャプチャデータは対象とヒューマノイドモデルとの間の不可避の不一致のために誤りを生じやすく、動作の間中所望の接触状態が満足されるようにするために前処理が通常必要とされる点に注意すべきである。対照的に、本発明の実施例によるコントローラ１００は（小さな帰還利得により関節を足の微小なミスアリメントに調整できるために）殆ど前処理を必要としない。更に、前処理はリアルタイムで実行するのに十分に簡単である。
【００８２】
ロボットに対する足踏みを有する動作データのコントロール−アウェアマッピング
【００８３】
説明をロボットに対する足踏み動作を含むモーションキャプチャデータ（例えばヒューマンモーションキャプチャデータ）のコントロール−アウェアマッピングが与えられる本発明の実施例に戻す。本発明の実施例は、現在の状態及びコントローラの挙動を考慮して、足踏み動作を含むモーションキャプチャデータをモデルにマップする。動作が追跡されるとともに所望の接触状態が達成されるように関節角度、体幹部及び重心（ＣＯＧ）軌道を修正するマッピングプロセスが説明される。
【００８４】
第１のステップは、関節角度及び体幹部軌道をロボット運動学及び実際の接触足位置に適応するように修正する。第２のステップは予測圧力中心（ＣＯＰ）を用いてバランスコントローラがロボットのバランスを首尾よく維持できるか決定し、できない場合にＣＯＭ軌道を修正する。ヒューマノイドモーション合成のための既存のアプローチと異なり、提案のマッピング方法はロボットコントローラと蜜に関連している。このアプローチは、ここで検討されているように、例えば体系化されてない接触状態変化を含む太極拳の動作シーケンスと関連する非限定例を用いてシミュレーションにより検証されている。
【００８５】
現在のロボット状態及び接触状態ならびにロボットコントローラの挙動を考慮するオンラインモーションマッピング技術が以下で検討される。もっと詳しく言うと、同時のバランス及びトラッキング制御に一般に関連する上記の説明は、バランスコントローラが圧力中心（ＣＯＰ）をモーションの間中接触凸包内に維持しながらバランスをうまく維持できるように関節角度、体幹部及び重心（ＣＯＧ）軌道を調整する機能の付加によって補足される。提案の方法は体系化されてない接触状態変化を有する動作を全身動力学シミュレーションによってうまく実現することができる。
【００８６】
本発明の実施例は、モーション合成とロボット制御が別々に処理されるヒューマノイド制御における既存の研究と相違する。本発明の実施例によるコントローラフレームワークにおいては、モーション合成と制御コンポーネントが、現在状態と基礎コントローラを承知したマッピングプロセスによって蜜に関連している。
【００８７】
図８に示されるように、本発明の一実施例による追跡及びバランス制御は、本質的に、基準入力を受信し、前処理（マッピング）を適用し、その後バランス及びトラッキングコントローラを使用し、基準入力を追跡できるようにロボット関節に適切なトルクを供給する。例えば、モーションキャプチャシステムからの基準動作データが８１０で受信され、前処理される。受信動作データを前処理するために、運動学的マッピング８２０及び動力学的マッピング８３０が以下に更に論じるように適用される。その後、前処理された基準動作データが、所定の帰還入力（例えば、現在の接触位置）と一緒に、バランス制御８４０及び追跡制御８５０のために使用され、これによりロボットはバランスを維持しながら基準動作データを適切に追跡するようにその関節を動かすことができる。
【００８８】
図９を参照すると、足踏み動作に対してコントロール−アウェアマッピングを提供する本発明の実施例は、上述したコントローラ１００（バランスコントローラ１０１及びトラッキングコントローラ１０２を備える）に類似のコントローラ９００を用いる。コントロール−アウェアマッピングを用いる実施例により導入される主な差異は、ロボット９０３で類似の動作を実現するために基準動作（モーションクリップ）９０４にいくつかのタイプの調整を実行する前処理コンポーネント９０５の追加にある。
【００８９】
図１０(a)-(c)は足踏み動作に対して制御アウェアマッピングを用いる本発明の実施例の動作例を示す。ロボット１００３(a)-(c)は、図１０(a)に示す初期姿勢から出発して一方の足を上げようとしているものと仮定する。脚関節角度を変化させただけでは、ＣＯＭは足の中心に位置したままであるがＣＯＰは支持脚の下に移動するため、図１０(a)に示すようにロボット１００３(a)は転倒する。
【００９０】
足を首尾よく上げるためには、図１０(b)に示すように、ロボット１００３(b)は最初にＣＯＰを動かすことによってＣＯＭを支持脚の方へ移動させなければならない。しかし、図１０(c)に示すようにＣＯＭオフセットが大きすぎてバランスコントローラにより処理できない場合には、ロボット１００３ｃはバランスを維持することはできない。この例は２つの重要な観察、即ち(1)マッピングプロセスは接触状態の変化に対する準備を該変化が実際に起こる前に開始させる必要があること及び(2)マッピングプロセスは適切な調整量を決定するためにコントローラ９００の能力を知っている必要があることを暗示している。
【００９１】
図９は本発明の一実施例によるコントローラを示す。図１に示すコントローラ１００は無修正のモーションシーケンスを基準として取った。図９に示すコントローラフレームワークにおいては、モーションクリップ９０４を最初に２つのマッピングコンポーネント９０５(a-b)によって、ロボット９０３がＣＯＭ及びＣＯＰ位置の現在測定値を用いてバランスコントローラ９０１でバランスを維持できるように処理することができる。動力学的マッピングコンポーネント９０５ｂは、バランスコントローラ９０１の挙動を予測するためにバランスコントローラ９０１のコピーも有する。
【００９２】
前処理(マッピング)コンポーネント９０５は運動学的コンポーネント９０５ａ及び動力学的コンポーネント９０５ｂを含む。運動学的マッピングコンポーネント９０５ａは現在の接触位置を用いて、元の関節角度及び体幹部の軌道を、接触域とロボット９０３との間の運動学的関係が基準動作（所望のフォーム、例えばモーションクリップ９０４）に似るように修正する。動力学的マッピングコンポーネント９０５ｂは、簡易ロボットモデルにより予測される将来のＣＯＰ位置が接地凸包から出る場合に、バランスコントローラ９０１に与えられる規準ＣＯＭの軌道を修正する。
【００９３】
ここでは元の基準動作９０４について以下のように仮定する。即ち、(1) 初期フレームでは（基準）対象の両足が床に平らに接触している。他のフレームでは任意の接触状態が許される。(2)対象は足を介して水平な床と物理的相互作用を行うのみである。(3)フレーム毎に少なくとも片足が床と接触する。(4)フレーム毎に接触するリンクの組が既知である。接触は初期フレームを除いて平らにする必要はなく、使用する接触状態情報（つま先又はかかと接触など）も詳述する必要がない。
【００９４】
バランス及びトラッキングコントローラ
【００９５】
足踏み動作と関連する本発明の実施例に使用されるバランスコントローラ９０１及びトラッキングコントローラ９０２を以上に十分に検討したが、（例えば足踏み動作と同様に）可動台を考慮するためにこれらを簡単に再検討し、明らかにする。
【００９６】
バランスコントローラ９０１は入力として基準ＣＯＭを取り、簡易ロボットモデルに対して設計された最適コントローラを用いて(所望の)ＣＯＰの位置を決定する。ここでは、最適コントローラは図３に示されるような可動台を有する３次元、２関節の倒立振子に対して設計されているものと仮定する。このモデルでは、全ロボット本体がロボット９０３のＣＯＭに位置する質点により表され、可動台の位置がＣＯＰを表す。
【００９７】
2010221395.tif 000022
【００９８】
2010221395.tif 000023
【００９９】
トラッキングコントローラ９０２は次にＣＯＰ、関節加速度及び足加速度誤差を含むコスト関数を最適化する関節トルクを得るために最適化問題を解く。
【０１００】
運動学的マッピング
【０１０１】
運動学的マッピングは、本発明の一実施例によれば、以下に説明するように、マッピングモジュール９０５ａを用いて達成される。運動学的マッピングの本質的要素は（上述した）関節角度マッピング及び以下に更に説明する体幹部軌道マッピングを含む。
【０１０２】
モーションキャプチャデータの基準体幹部位置及び向きを基準接触位置及び実際の接触位置の差を考慮するようにグローバルに変換する調整が行われる。足は制御誤差のために基準位置に着地できないかもしれない。このような場合に、同じ基準位置を体幹部に対して用いると、接触域に対するその位置の差のために転倒することになる。
【０１０３】
2010221395.tif 000024
【０１０４】
2010221395.tif 000025
【０１０５】
2010221395.tif 000026
【０１０６】
変換は接触が確立されるときにのみ更新される点に注意されたい。足が接触状態でまだ動く可能性があるときに変換が更新された場合、トラッキングコントローラ９０２は接触位置を変換の更新と同じ方向に動かすため、正帰還が与えられる。それゆえ、変換は、接触状態の各リンクの垂直接触力が基準動作における接触状態の変化後に大きなしきい値を超えるときにのみ更新するのが好ましい。
【０１０７】
動力学的マッピング
【０１０８】
本発明の一実施例は、バランスコントローラ９０１が与えられた接触域でロボット９０３をバランスした状態に維持できるように基準動作のＣＯＭ軌道を修正する。このマッピングプロセスは、現在のロボット状態と元の基準ＣＯＭ軌道とに基づいて将来のＣＯＰ位置を予測する。ＣＯＰが接触凸包から出る場合には、ＣＯＰが接触凸包内にとどまるように新しいＣＯＭ軌道を計算し、次のＣＯＭ位置をバランスコントローラ９０１に基準ＣＯＭとして送る。
【０１０９】
一般に図１２を参照して、修正されたＣＯＰ位置を得る方法が以下に説明される。方程式（１１）と同じ最適コントローラに基づいて、バランスコントローラ９０１の離散化状態方程式モデル：
ｘk+1＝Ａｘk＋Ｂｕk                                          （３５）
が得られる。ここで、ｘkは状態であり、ｕkはサンプリング時刻ｋにおける入力である。バランスコントローラ２０１（１１）と異なり、ここでは実測値は使用されないためコントローラモデル（３５）はオブザーバを含まない。従って、ｕkは基準動作のＣＯＭ軌道を含むのみである。ＣＯＰ位置が出力として選択され、その結果出力方程式は：
Ｙk＝Ｃｘk                                                  （３６）
と規定される。
【０１１０】
2010221395.tif 000027
【０１１１】
2010221395.tif 000028
【０１１２】
第１項はＣＯＰを選択された点ｙrefにできるだけ近づけようとするが、第２項は元のＣＯＭ軌道からの偏差にペナルティーを課す。ｙref及びＷの選択は次の段落で検討する。
【０１１３】
原理上、ｙrefは接触凸包内の任意の点とすることができる。しかし、実際にはｙrefを決定するために２つの課題が考えられる。第１に、得られるＣＯＰがｙrefに正確にならないかもしれないため、境界からの安全マージンを維持する方がよい。また、ＣＯＭ軌道の変化は最小にすべきであるとともに、元の基準動作をできるだけ維持すべきである。両課題を考慮するために、最初に、接触凸包境界上の最近点を予測されたＣＯＰ，ｂから得る。接触凸包の中心も計算する。次に、ｙrefを、
ｙref＝ｈｂ＋（１−ｈ）ｃ
により得る。ここで、ｈ＝ｈmax(Ｎ−ｎ)/Ｎであり、ｈmaxはユーザ指定の定数である。ｂ及びｃ間のこの補間により、ｙrefはｎが大きくなるにつれてｃに近づき、これはＣＯＭを短期間で変化させることがより困難になるという観察に基づく。
【０１１４】
ＷはＣＯＭ軌道が元の軌道からどのぐらい外れてもよいかを表す。最終フレームで元のＣＯＭ位置へ戻すのが望ましいため、前期フレームに小さい値を与え、後期フレームに大きな値を与えるのが合理的である。本発明の一実施例によれば、Ｗのｉ番対角成分はｗｉ２により計算される（ここでｗはユーザ指定の定数である）。
【０１１５】
シミュレーション結果
【０１１６】
本発明の一実施例によるコントローラ９００の有効性は鋼体接触モデル及びフォワード動力学プロセスに基づくシミュレータによって検証した。上述したヒューマノイドロボットのモデルを以下に記載するシミュレーションにも使用した。
【０１１７】
バランスコントローラ１０１と関連して説明したものと同じ線形二次レギュレータを同じパラメータとともに使用した。トラッキングコントローラの帰還利得はｋp＝２５及びｋd＝１０とした。調整コンポーネントに対するパラメータはＮ＝１００、ｈmax＝０．８及びＷ＝０．００１とした。制御システム（３５）は５ｍｓのサンプリング時間で離散化した。これは、ＣＯＭ修正が必要とされるどうかを決定するために動力学的マッピングコンポーネントを０．５ｓ後に調べることを意味する。離散化のためのサンプリング時間は必ずしも制御サイクルと同じにする必要はない。実際には、方程式（３５）のために制御サイクルより大きいサンプリング時間を使用して動力学的マッピングための計算時間を短縮することができる。
【０１１８】
動力学的マッピングの例
【０１１９】
最初に、足踏み動作を実現するために動力学的マッピングが必要とされる簡単な例について説明する。基準動作は手作業で生成された簡単な動作であり、この基準動作は、右足がｔ＝１．０〜２．０秒の期間中持ち上げられ、その間左足が床に平らに接触しているものである。図１３の上のグラフは、簡単な右足持ち上げ例に対する基準ＣＯＭ（マッピングなし）、基準ＣＯＭ（マッピングあり）、実ＣＯＭ（マッピングなし）及び実ＣＯＭ（マッピングあり）の各軌道を示す。下のグラフは、実ＣＯＰ（マッピングなし）及び実ＣＯＰ（マッピングあり）の各軌道をロボットの側面に沿って示し、正軸が左側を指している。下のグラフの足領域は左足の接触域を示す。下のグラフは、ＣＯＰは動力学的マッピングなしでは決して左足に到達しないため、ロボットは（マッピングなしでは）右足を持ち上げることはできない。他方、マッピングがターンオンされると、持ち上げ時間がＣＯＰ予測ウィンドウ内に入るｔ＝０．５秒の時点で基準ＣＯＰが修正され、動力学的マッピングコンポーネント９０５ｂはそのときＣＯＰが左足の下にないことに気づく。ＣＯＰは、新しい基準ＣＯＭに応答して、最初右足の方へ移動し、これによりＣＯＭが更に左足の方へ追いやられる。ＣＯＰは最終的にはｔ＝０．８秒のあたりで左足に到達するため、ロボットは右足を持ち上げることができる。
【０１２０】
複雑な動作への応用
【０１２１】
複雑な動作が本発明の実施例により適切に処理されたことを確認するために、ＣＭＵモーションキャプチャデータライブラリからの太極拳のモーションキャプチャシーケンスを使用し、非限定例として以下に記載した。マーカー位置データは、関節動作範囲の制約を有する逆運動学プロセスによって関節角度データに変換した。太極拳動作を一例として選択した。それは、太極拳動作は多くの体系化されてない接触状態変化、例えばつま先接触又はかかと接触への移行及び接触したままでの足の僅かな移動などを含むためである。シミュレーション動作は複雑な太極拳動作のモーションキャプチャデータを忠実に再現した。
【０１２２】
従って、本発明の一実施例は足踏みなどの複雑な動作を含むヒューマンモーションキャプチャデータをヒューマノイドロボットにマッピングする方法も提供する。注目すべき特徴は、ロボットの異なる運動学及び動力学に正しく対処しうるのみならず、本発明の実施例は現在のロボット及び接触状態並びにバランスコントローラの能力に基づいて調整量を正しく決定することもできる。例えば、シミュレーションにおいて、提案の方法はヒューマノイドロボットに人間の太極拳動作を首尾よくシミュレートさせることができることが証明された。
【０１２３】
当業者は、本発明の実施例は一以上のコンピュータシステムを用いて実現できることが容易に理解されよう。これに関連して、非限定的な模範的コンピュータシステムをここに記載する。
【０１２４】
図１４に示すように、本発明の態様はコンピュータシステム、例えばユーザワークステーション、パーソナルコンピュータ又は他のクライアントデバイスにおいて実行することができる。図１４において、代表的なコンピュータシステムは、コンピュータシステムに一般に含まれる、プロセッサ、コントローラなどの処理素子１４１０及び関連するメモリデバイス１４２０を含むことができる。更に、コンピュータシステムは種々の被接続装置１４３０、例えば（ヒューマノイドロボットに組み込まれるオンボードコンピュータシステムとの関連では）ヒューマノイドロボットのような機械的人工エージェントのコンポーネント、例えばセンサ（エンコーダ、ポテンシオメータ、ロードセル、ジャイロ、加速度計など）、他のコンピュータシステムなどに接続することができる。
【０１２５】
これに関連して、記載した本発明の種々の態様は、例えばメモリデバイス１４２０にアクセス可能の形で格納されたコンピュータプログラム命令（コンピュータプロセッサコードを含む）を実行する処理素子１４１０によって実行することができる。従って、ここに記載された所定のオペレーションはコンピュータ読み取り可能なプログラム記憶デバイス、例えばメモリデバイス１４２０に具体的に記憶されたコンピュータプログラム命令を実行することによって実行することができるため、コンピュータシステムは特定の方法で機能向けにすることができることが理解されよう。
【０１２６】
更に、本発明の態様はコンピュータ読取可能なプログラムコードを有する一以上のコンピュータ読取可能な媒体に具体化されたコンピュータプログラムプロダクトの形を取ることができる。
【０１２７】
一以上のコンピュータ読取可能な媒体の任意の組み合わせを使用することもできる。コンピュータ読取可能な媒体はコンピュータ読取可能な信号媒体又はコンピュータ読取可能な記憶媒体とすることができる。コンピュータ読取可能な記憶媒体は、例えば電子、磁気、光、電磁気、赤外又は半導体システム、装置又はデバイスもしくはそれらの任意の適切な組み合わせとすることができるが、これらに限定されない。コンピュータ読取可能な記憶媒体のもっと具体的な例（不完全な表）は次のもの：一以上のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能なプログラマブルリードオンリメモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブルコンピュータ光ディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、またはそれらの任意の適切な組み合わせを含む。本明細書において、コンピュータ読取可能な記憶媒体は、命令実行システム、装置又はデバイスにより使用される又は関連するプログラムを含む又は格納し得る任意の実現可能な媒体とすることができる。
【０１２８】
コンピュータ読取可能な信号媒体は媒体内に具体化されたコンピュータ読取可能なコンピュータ読取可能なプログラムコードを例えばベースバンドで又は搬送波の一部として有する伝播データ信号を含むものとし得る。このような伝播信号は、電磁気、光又はそれらの任意の組み合わせを含む様々なタイプの何れかとすることができるが、これらに限定されない。コンピュータ読取可能な信号媒体は、命令実行システム、装置又はデバイスにより使用される又は関連するプログラムを伝達する、伝播する又は転送する、コンピュータ読取可能な記憶媒体でない任意のコンピュータ読取可能な媒体とすることもできる。コンピュータ読取可能な媒体に具体化されたプログラムコードは、無線、有線、光ファイバケーブル、ＲＦ等又はそれらの任意の適切な組み合わせを含む任意の適切な媒体を用いて伝送できるが、これらに限定されない。
【０１２９】
本発明の態様のためのオペレーションを実行するコンピュータプログラムコードは、Ｊａｂａ(登録商標)、Ｃ＋＋などのオブジェクト指向プログラミング言語及び“Ｃ”プログラミング言語のような慣例のプロシージャプログラミング言語又は屡次のプログラミング言語を含む一以上のプログラミング言語の任意の組み合わせで書き込むことができる。プログラムコードはユーザのコンピュータ(デバイス)で完全に実行する、又はスタンドアロンソフトウェアパッケージとしてユーザのコンピュータで部分的に実行する、又はユーザのコンピュータで部分的に且つリモートコンピュータで部分的に実行する、又はリモートコンピュータで完全に実行することができる。後者のシナリオにおいては、リモートコンピュータはローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークでユーザのコンピュータに接続することができ、この接続は（例えば、インターネットサービスプロバイダを用いるインターネットを介して）外部コンピュータへと行うこともできる。
【０１３０】
本発明の態様は、本発明の実施例による方法、装置（システム）及びコンピュータプログラムプロダクトのフローチャート及び／又はブロック図を参照してここに記載されている。フローチャート及び／又はブロック図の各ブロック又はフローチャート及び／又はブロック図のブロックの組み合わせはコンピュータプログラム命令で実行できる。これらのコンピュータプログラム命令は汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置に供給して、コンピュータのプロセッサ又は他のプログラマブルデータ処理装置を介して実行される命令がフローチャート及び／又はブロック図の各ブロック又はブロックの組み合わせに指定された機能／作業を実行する手段を生成するようなマシンを生成することができる。
【０１３１】
これらのコンピュータプログラム命令は、コンピュータシステム、他のプログラマブルデータ処理装置又は他のデバイスを特定の方法で機能するように命令し得るコンピュータ読取可能な媒体に格納し、コンピュータ読取可能な媒体に格納された命令がフローチャート及び／又はブロック図の各ブロック又はブロックの組み合わせに指定された機能／作業を実行する命令を含む製品を生成するようにすることもできる。
【０１３２】
コンピュータプログラム命令は、一連のオペレーションステップをコンピュータシステム、他のプログラマブルデータ処理装置又は他のデバイスで実行させてコンピュータ実行プロセスを生成するためにコンピュータシステム、他のプログラマブルデータ処理装置又は他のデバイスにロードして、コンピュータシステム、他のプログラマブルデータ処理装置又は他のデバイスで実行する命令がフローチャート及び／又はブロック図の各ブロック又はブロックの組み合わせに指定された機能／作業を実行するプロセスを提供するようにすることもできる。
【０１３３】
本開示は例示及び説明のためであるが、完全又は限定を意図するものではない。多くの変更及び変形が当業者に明らかである。本発明の原理及び実用化のため及び当業者が意図する特定の用途に適した種々の変更を備える種々の実施例の開示を理解できるように、種々の実施例が選択され記載されている。
【０１３４】
本発明の説明のための種々の実施例を添付図面を参照して記載したが、本発明はこれらの実施例に正確に限定されず、当業者によれば本発明の範囲又は精神から離れることなく種々の変形及び変更を加えることができる。
【図１】
2010221395.tif 000029
【図２】
2010221395.tif 000030
【図３】
2010221395.tif 000031
【図４】
2010221395.tif 000032
【図５】
2010221395.tif 000033
【図６】
2010221395.tif 000034
【図７】
2010221395.tif 000035
【図８】
2010221395.tif 000036
【図９】
2010221395.tif 000037
【図１０】
2010221395.tif 000038
【図１１】
2010221395.tif 000039
【図１２】
2010221395.tif 000040
【図１３】
2010221395.tif 000041
【図１４】
2010221395.tif 000042
【外国語明細書】
2010221395000001.pdf