JP2010527086A - キャラクタシミュレーション方法およびシステム - Google Patents

キャラクタシミュレーション方法およびシステム Download PDF

Info

Publication number
JP2010527086A
JP2010527086A JP2010508276A JP2010508276A JP2010527086A JP 2010527086 A JP2010527086 A JP 2010527086A JP 2010508276 A JP2010508276 A JP 2010508276A JP 2010508276 A JP2010508276 A JP 2010508276A JP 2010527086 A JP2010527086 A JP 2010527086A
Authority
JP
Japan
Prior art keywords
motion
character
controller
displacement
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010508276A
Other languages
English (en)
Other versions
JP5059939B2 (ja
Inventor
ジェヒー リー,
マンミャン キム,
クワン ウォン ソク,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SNU R&DB Foundation
Original Assignee
Seoul National University R&DB Foundation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seoul National University R&DB Foundation filed Critical Seoul National University R&DB Foundation
Publication of JP2010527086A publication Critical patent/JP2010527086A/ja
Application granted granted Critical
Publication of JP5059939B2 publication Critical patent/JP5059939B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40316Simulation of human-like robot joint, restricted 3-D motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】 キャラクタシミュレーション方法およびシステムを開示する。
【解決手段】 キャラクタシミュレーション方法は、変位マッピングおよび比例微分制御(PD制御)を用いてモーションデータを最適化するステップと、最適化されたモーションデータを用いてコントローラを学習し、キャラクタの行動を制御するステップとを含む。このとき、変位マッピングおよびPD制御を用いてモーションデータを最適化するステップは、入力モーションおよび変位パラメータ間の変位マッピングによってターゲットモーションを生成するステップと、ターゲットモーションおよび目的関数を用いてシミュレーションモーションを生成するステップとを含むことができる。最適化されたモーションデータを用いてコントローラを学習するステップは、キャラクタの現在状態と近いデータサンプルを探し出すステップと、サンプルに含まれた結果ポーズを結合してターゲットポーズを計算することができるコントローラを生成するステップと、モーションデータおよび変位マッピングを用いてコントローラを改良するステップとを含むことができる。コントローラは、静的コントローラと静的コントローラ間の遷移を可能にする遷移コントローラを含むことができる。
【選択図】 図6

Description

本発明はキャラクタシミュレーション方法およびシステムに関する。
物理的にシミュレーションされた仮想世界において、二足歩行のキャラクタが動作するようにすることは、コンピュータアニメーション、ロボット工学、生物力学などにおいて重要な論点である。制御理論および機械学習などから歩行やバランスのようなそれぞれの個別的な人間行動を物理的にシミュレーションするコントローラを設計するために、多くの技術が採用された。
このようなコントローラを設計するための魅力的なアプローチのひとつは、実際の人間の行動から制御戦略(control strategies)を学習することである。すなわち、実際の人間が実行する特定行動から豊富なモーションデータを得ることができ、このようなモーションデータによって、キャラクタが与えられた状況にどのように対処しなければならないかについて情報を得ることができる。
このように、実際の人間の行動に対する模倣に基づいて学習する接近法は、シミュレーションされたキャラクタや人間型ロボットが、人間の動きを模倣できるようにする可能性を提示している。
従来技術において、実際の人間の行動を模倣して学習する方法について、多くの研究で進捗があったが、モーションキャプチャデータから二足行動を学ぶことは、記憶されたモーションデータによってキャプチャしにくいバランス維持などの敏感な制御においては、依然として問題点を有している。
また、キャプチャされたモーションデータの物理的な不正確さという問題点がある。すなわち、動的キャラクタモデルは、実際の人間と比較すると極端に単純化されているため、正確にキャプチャされた関節の各軌道を追随するあらゆる二足のキャラクタであっても、数ステップごとにバランスを失ったり、転倒したりする問題点を有している。
本発明は、実際の人間が繰り返す行動から、記録されたモーションデータによって実際の人間の行動を模倣するために物理的にシミュレーションされた二次元上の二足のキャラクタを提供する二足のキャラクタ提供方法およびシステムを提供する。
また、本発明は、モーションデータを最適化によって改善し、簡素化された動的モデルであるキャラクタがバランスを維持するように関節を動かし、記録されたモーションの軌道をほぼ再生(reproduce)することができるキャラクタシミュレーション方法およびシステムを提供する。
また、本発明は、最適化されたモーションデータによってキャラクタの行動を制御する手段を学習させ、実際の人間の行動を確実に模倣することができる二足のキャラクタを提供することができるキャラクタシミュレーション方法およびシステムを提供する。
また、本発明は、キャラクタの異なる行動についての変遷を可能とする統合されたフレームワークに学習された動的コントローラを構成するキャラクタシミュレーション方法およびシステムを提供する。
また、本発明は、すべてのコントローラが学習され、ユーザーが所望するモーションを実行するためにリアルタイムで動的にシミュレーションされ、対話的に制御される二足のキャラクタを提供するキャラクタシミュレーション方法およびシステムを提供する。
本発明の一実施形態に係るキャラクタシミュレーション方法は、変位マッピングおよび比例微分制御(PD制御:Proportional Derivative control)を用いてモーションデータを最適化するステップと、前記最適化されたモーションデータを用いてコントローラを学習し、キャラクタのモーションを制御するステップを含んでいる。
本発明の一態様では、前記最適化するステップにおいて、入力モーションおよび変位パラメータの間の変位マッピングによってターゲットモーションを生成するステップと、前記ターゲットモーションおよび目的関数を用いてシミュレーションモーションを生成するステップとを含んでいる。また、前記モーションデータは、時間に応じて分離された少なくとも1つの前記入力モーションを含むことができ、前記最適化するステップにおいて、前記モーションデータが含むすべての入力モーションに対して、ターゲットモーションを生成するステップおよびシミュレーションモーションを生成するステップを繰り返して実行するステップをさらに含んでいる。
本発明の一態様では、前記ターゲットモーションを生成するステップは、前記入力モーションに、前記変位パラメータによって生成されたモーション変位の配列を加え、前記ターゲットモーションを生成するステップとすることができ、前記モーション変位の配列のそれぞれの要素は、鐘形基底関数(bell-shaped basis function)を用いて計算される。
本発明の一態様では、前記シミュレーションモーションを生成するステップは、前記変位パラメータの初期値を任意で選択し、互いに異なる変位パラメータの初期値に対して繰り返して局部的極値(local extremum values)を確認し、前記局部的極値のうちの最小値を前記目的関数の最小値として前記シミュレーションモーションを計算するステップとすることができる。
本発明の一態様では、前記コントローラを学習させ、キャラクタのモーションを制御するステップは、状態−動作軌道の集合を用いてコントローラの学習をさせるステップと、前記モーションデータおよび変位マッピングを用いて、前記コントローラを改良するステップと、前記コントローラを用いて行動に対する状態間の遷移を制御するステップとを含んでいる。
本発明の一態様では、前記変位マッピングおよびPD制御を用いてモーションデータを最適化するモーションデータ最適化部と、前記最適化されたモーションデータを用いてコントローラを学習させ、キャラクタのモーションを制御するキャラクタ制御部とを備えている。
本発明によれば、実際の人間が繰り返す行動から、記録されたモーションデータによって実際の人間の行動を模倣するために物理的にシミュレーションされた二次元上の二足のキャラクタを提供することができ、モーションデータを最適化によって改善し、簡素化された動的モデルであるキャラクタがバランスを維持するように関節を動かし、記録されたモーションの軌道をほぼ再生することができる。
また、本発明によれば、キャラクタの行動を制御する手段を最適化されたモーションデータによって学習し、実際の人間の行動を確実に模倣することができるようにし、キャラクタの異なる行動についての変遷を可能とする統合されたフレームワークに学習された動的コントローラを構成することができる。
さらに、本発明によれば、すべてのコントローラが学習され、ユーザーが所望するモーションを実行するためにリアルタイムで動的にシミュレーションされ、対話的に制御される二足のキャラクタを提供することができる。
図1は、本発明の一実施形態におけるモーションデータを最適化する方法を概略的に示す図である。 図2は、変位マッピングを説明するための図である。 図3は、変更された変位パラメータに対する目的関数のサンプリングの一例を示す図である。 図4は、コントローラ間の遷移を抑制する有限状態機械の一例である。 図5は、歩行コントローラの学習の一例を示す図である。 図6は、本発明の一実施形態におけるキャラクタシミュレーション方法を示すフローチャートである。 図7は、最適化されたモーションに対する結果の一例である。 図8は、コントローラ間の状態が遷移する様子を示す一例である。 図9は、本発明の一実施形態におけるキャラクタシミュレーションシステムの内部構成を説明するためのブロック図である。
以下、添付の図面を参照しながら、本発明にかかる多様な実施形態について詳細に説明する。
本発明は、人間の行動からキャプチャされたモーションデータを用いて、点、線、面、または立体などの図形で構成された動的モデル、特に二足のキャラクタの行動を学習するキャラクタシミュレーション方法およびシステムに関する。
I.最適化(Optimization)
比例微分制御(PD制御)のような簡単な追跡方法は、動的モデルが実際の人間の骨組みとは物理的に差があるため、記録されたモーションデータによって動的モデルを生成することはできない。このような動的モデルは、実際の人間が変形可能な筋肉、肌、または複雑な関節を有することに比べ、低い自由度、剛性リンク、または非現実的な回転関節を有している。
実際の人間の体に対するそれぞれの構成要素に対して、質量と慣性を正確に測定することは極めて困難であるため、統計データに基づいて多少任意に動的モデルの物理的な特性を決定する。このような動的モデルに対する物理的な不正確さは、キャプチャされたモーションデータを用いて動的な行動を学習するのに大きな障害として作用する。
したがって、動的モデル固有の不正確さを補うために、モーションデータを改善して最適化することができる。すなわち、モーションデータのセグメントが与えられれば、二足を有する動的モデルがバランスを維持しながらモーションデータのセグメントに該当するモーションに従う様に、モーションデータを最適化することができる。しかしながら、最適化は、最適化空間の高次元性と過度な非線形目的関数の問題点を有する。
また、動的モデルはフィードバックコントロールの不足によってバランスを失ったり、足が予想外に地面に触れたり、推進力のような外部からの力が作用するときに、所望する軌道にそった動きを継続しにくいため、動的モデルはたいてい目標としたターゲットを追従することは失敗するようになる。
このような問題点は、ターゲットモーションを若干修正することによって解決することができる。例えば、上半身を若干傾けることによってバランスを回復することができ、足の軌道を移すことによって突然地面と接触することを避けることができ、また、地面に対して足をより遠くに伸ばすことで強い推進力を生み出すことができる。
本発明にかかるキャラクタシミュレーション方法およびシステムは、最適化アルゴリズムによってこのような問題点に対して運動学的に目標としたモーションを改良することによって、動的モデルがモーションを追従するようにすることができる。
図1は、本発明の一実施形態において、モーションデータを最適化する方法を概略的に示す図である。
入力モーションm(t)が(θ1(t)、…、θn(t))のように与えられたとき、キャラクタシミュレーションシステムは、修正されたターゲットモーション(数1-1)を下記の数1のようなモーションに対する変位マッピング101を用いて示すことができる。このとき、tは任意の時刻、nは二足のキャラクタが有する関節の数を意味する。すなわち、(θ1(t)、…、θn(t))はt時刻に関節が有する角度の配列である。
Figure 2010527086
Figure 2010527086
ここで、d(t)は、(d1(t)、…、dn(t))のようなモーション変位の配列を意味している。このとき、モーション変位の配列は、変位パラメータを用いて生成されることができる。また、それぞれのモーション変位は、下記の数2のように鐘形基底関数を有する媒介型で示すことができる。
Figure 2010527086
このとき、mはノードポイントの数を意味し、Bj(t;cj、wj)は下記の数3のように示される三角基底関数(sinusoidal basis function)を意味する。
Figure 2010527086
すなわち、三角基底関数は、cj−wjからcj+wjまでの区間の値を有し、この区間を逸脱する場合は0の値を有する。また、三角基底関数は、ノードポイントcjで最大値を有する。このとき、ノードポイントを時間軸上でどの位置に選択するかによって、最適化性能を著しく向上することができる。
図2は、変位マッピングを説明するための図である。
モーション変位は、上記の数2に示すように、三角基底関数の加重和で示すことができる。このとき、三角基底関数は、グラフ201のように足のスタンス区間202およびスイング区間203と同期化された時間軸に位置することができる。また、m個のノードポイント{c1、…、cm}は、不規則な間隔で位置し、それぞれのノードポイントは、スタンス区間202の出発点204およびキックダウン地点(kickdown point)205と一致したり、スイング区間203の中間地点206と一致する。
ここで、キャラクタシミュレーションシステムは、変位マッピング101のためにモーションm(t)の入力を受け、モーション変位に対する係数集合(数3-1)を決定して、数3のように適用する。また、計算された変位をm(t)に上記の数1のように適用する。
Figure 2010527086
キャラクタシミュレーションシステムは、モーションに対する変位パラメータでモーション変位の係数を繰り返し更新し(104)、繰り返されたすべてのステップでターゲットモーションを提示する。このとき、キャラクタシミュレーションシステムは、PD制御102を用いて入力モーションの1番目のフレームから始まるターゲットモーションを追従することができる。この場合、キャラクタの関節それぞれのための制御方程式は、下記の数4のように示すことができる。
Figure 2010527086
ここで、θは関節の角度、θdは所望の角度、(数4-1)は関節の角速度、(数4-2)は所望の角速度をそれぞれ意味している。また、ksおよびkvは、比例利得および微分利得を意味している。
Figure 2010527086
Figure 2010527086
キャラクタシミュレーションシステムは、ターゲットモーションを追従することによって、PD制御を用いてシミュレーションモーション(数4-3)を得ることができる。このとき、シミュレーションモーションは、評価103されて出力されたり、変位パラメータの更新104に用いられる。変位パラメータは、次時間インスタンスの入力モーションに対する変位マッピング101に用いられる。また、ターゲットモーションに対する追従は、PDサーボを用いることができる。
Figure 2010527086
このようなシミュレーションモーションが入力モーションと可能な限り類似するようにするため、キャラクタシミュレーションシステムは、下記の数5のように示される目的関数が最小値を有するようにできる。
Figure 2010527086
すなわち、目的関数は、入力モーションとシミュレーションモーションとの間の不一致に対するペナルティを適用する関数とすることができ、目的関数の値が最小値となるようにすることにより、入力モーションとシミュレーションモーションが可能な限り類似する様にすることができる。このとき、(数5-1)は、入力モーションとシミュレーションモーションによって二足のキャラクタが有する2つのポーズ間の差異点を意味し、2つのポーズを有する骨組みの質量点の比較によって測定される。
Figure 2010527086
このため、キャラクタシミュレーションシステムは、内部関節位置と体格リンクの終点を距離計算のために用いることができる。すなわち、入力モーションとシミュレーションモーションから得られる2つの位置集合は最初に標準化され、x座標に対する同じ平均を有することになる。このとき、差異点がユークリッド点距離の二乗和として計算される。加重値項(数5-2)は、モーションの最後にターゲット軌道をより適切に追従する。
Figure 2010527086
図3は、変更された変位パラメータに対する目的関数のサンプリングの一例を示す図である。
モーションデータを最適化する目的関数は、多くの局部的最小値(local minima)を有する。グラフ300は、2つの変更された変位パラメータに対する目的関数のサンプリングを示しており、変位パラメータは足首の変位高さと膝の変位高さに対応する。このとき、目的関数において幅が狭く屈折した谷間形状のために最適化が困難になる。
すなわち、目的関数の最小値を探すために、キャラクタシミュレーションシステムはランダムに変位パラメータの初期値を選択し、局部的極値を探すために滑降シンプレックス法(downhill simplex method)を互いに異なる変位パラメータの初期値に対して繰り返し動作させることができる。このとき、キャラクタシミュレーションシステムは、局部的極値のうち、最小値を目的関数の最小値として選択することができる。
滑降シンプレックス法は、極めて遅いが、たいていの場合では極めて安定的である。本発明の一実施形態では、モーションデータの最適化のために滑降シンプレックス法を用いたが、これは本発明の全般的な理解を助けるために提供されたものに過ぎず、上述した実施形態に限定されず、本発明が属する分野において通常の知識を有する者であれば、このような記載から多様な修正および変形が可能である。例えば、パウエル法(Powell’s method)や共役傾斜法(conjugate gradient method)のように周知の他の最適化方法を用いることもできる。
キャラクタシミュレーションシステムは、行動間の自然な遷移をキャプチャするために、モーションデータのロングクリップ(long clip)を記録することができる。最適化されたプロセスは、探索空間の次元が時間軸でサンプリングされたノードの数に比例して増加するため極めて遅く、モーションデータの長いセグメントに対して発散する傾向があり得る。
このため、視空間ウィンドウの概念を用いることができる。すなわち、キャラクタシミュレーションシステムは、モーションデータのロングクリップを効果的に改善するために増分技術を用いる。基本的なアイデアは、長いシーケンスの小さい部分をカバーするウィンドウで最適化フレームを分離することができる。
このとき、ウィンドウはモーションフレームが最初から最後まで漸増的に改善されるようにするため、時間軸に沿ってシフトする。より詳細には、ウィンドウの大きさは最初に決定され、ウィンドウの最初のk個の基底関数のサポート間隔をカバーする。ウィンドウでモーションフレームを一度最適化した後には、ウィンドウは最初からk−1個の基底関数をドロップし、次のk−1個の基底関数を含むことによってシフトする。このような方法により、シフトされたウィンドウは、ウィンドウの境界が互いに交差して一時的な結合力を維持するために、以前のウィンドウとオーバーラップする。
このような完全な最適化プロセスは、ウィンドウを介してモーションフレームを改善することができ、ウィンドウがモーションフレームの終点に到達するまでウィンドウを繰り返してシフトさせることができる。
上述した変形した最適化問題に対する最上の解答を探すことは極めて多くの計算量を要するため、最適化プロセスを加速させるために一対の実用的な技術を用いることができる。探索空間の次元を減らすことが実用的な技術の共通的なアイデアである。
1つめの技術としては、上半身の関節はPDサーボを介して制御されるが、バランスを維持するために、実質的にターゲット軌道を調整しないことがある。このために、キャラクタシミュレーションシステムは、上半身の自由度を最適化するための変位パラメータから除外することができる。
他の技術としては、期待のできる初期値を選択することによって繰り返しステップの全体数を減らすことである。全体的な最適化プロセスは、互いに異なるパラメータの初期値から始まる。したがって、この初期値の中に期待のできるものを少数だけ予め定めておくことを考慮することができる。すなわち、局部的最適化方法において、全ての初期値を計算する必要がなく、いくつかの予め定めておいた初期値を選択することができる。
このような方法を用いることで、キャラクタシミュレーションシステムは、最終結果に著しい低下がなく、極めて大きい性能利得を得ることができる。
II.行動制御(Behavior Control)
キャラクタシミュレーションシステムは、二足のキャラクタを生成することができ、キャラクタは動的にシミュレーションされ、ユーザーによってリアルタイムに制御されることができる統合されたモータースキルを備えることができる。このため、キャラクタは歩行、跳躍、バランスなどのような行動に対するモーター制御を学習することができ、モーションデータは、キャラクタのために改善することができる。
モーター制御のためのモーターコントローラは、コントローラ間の自発的な遷移および非自発的な遷移を許容する有限状態機械に統合されることができる。図4は、コントローラ間の遷移を統制する有限状態機械の一例である。図4は、それぞれのコントローラに対応する複数のノードと、コントローラ間の遷移可能性を示す複数のエッジで構成された有限状態機械を示している。
ユーザーは、所望するキャラクタのアクションの遷移を明示したり、外部からの力を直接的にキャラクタに加えることによってキャラクタを制御することができる。例えば、バランスコントローラへの遷移は、キャラクタの外部の力によってバランスを失ったときに非自発的に起こる。
このようなコントローラは、静的コントローラと遷移コントローラの2つのタイプに分類することができる。まず、静的コントローラは、状態空間の有限範囲を有している。このとき、明らかな接触が故意的に発生しなければ、状態空間において、静的コントローラの作用は、キャラクタの状態が範囲内で変化する。すなわち、静的コントローラは、バランスが取れた状態でまっすぐに立っているような静的な行動、または歩行と走行のような周期的な行動を学習することができる。また、遷移コントローラは、1つの行動から他の行動に変化するモーションを起こす。例えば、歩行−開始コントローラまたは歩行−停止コントローラは、まっすぐに立っている行動から、動的に歩行する行動の間の変化を生成することができる。
1.コントローラ学習(Controller Training)
コントローラ学習とは、実際の人間のモーションに対する観察から与えられた任意の状態に必要な動作を推察する課程である。このとき、観察は、状態−動作軌道の集合として格納することができる。それぞれの状態−動作のペアは、実際の人間がt時刻の状態からt+Δt時刻のポーズにどのように動いたかに対して記述することができる。
また、コントローラは、次時間インスタンスにキャラクタのターゲットポーズを入力して開始し、キャラクタの状態を得る関数として考慮することができる。出力ポーズは、キャラクタを動作させるためにPDサーボに伝達させることができる。このとき、キャラクタに対する新たな状態が与えられれば、状態空間から近いサンプルを選択し、所望するポーズのためのサンプルと出力ポーズを結合する簡単な回帰技術を用いることができる。
近いサンプルを選択するためには、モーションフレーム間の距離を測定しなければならず、モーションフレーム間の距離を測定するためには、モーションフレームの特性を考慮する必要がある。
1)関節角度:すべての関節角度において、差異点は距離計算のために考慮され、特性ベクトルに含むことができる。例えば、上半身に5つの関節を有し、下半身に6つの関節を有する動的モデルの場合、上半身の関節は下半身の関節よりも少ない加重値が適用されたり、時には無視されることがある。これは、上半身は下半身に比べ、二足モーションのバランスを取るのに、寄与が少ないためである。
2)ルート位置、速度、および方向:脊椎リンクが2つの太ももリンクと交わる場所であるルートノードの地面からの高さ、ルートノードの水平または垂直速度は特性ベクトルに含むことができる。しかしながら、ルートノードの水平座標は、フレーム間の距離が水平移動に対して変わらないことがあるため、無視することができる。まっすぐな姿勢で脊椎リンクの符号付きの方向も、特性ベクトルに含むことができる。
3)足の位置および速度:特性ベクトルは局部的であり、移動する座標系に対して、両足の位置および速度を含むことができる。座標系の原点はルートノードに固定することができ、脊椎リンクの方向は、座標軸を定義することができる。ルート位置と関節角度は、既に足の位置を反映するため、足の位置に対して既に十分な情報を有している。しかしながら、足の位置および速度は、他の特性に対する加重値を調整するために特性ベクトルに含ませることができる。
4)地面接触:環境に対する接触は、重要に認識されるモーションの特性である。このような地面接触に対する特性は、ブール特性(Boolean features)の配列によって記述することができる。二足のモーションのために、特性ベクトルは両足のかかとと足指を符号化するための4種類のブール値(Boolean value)を含むことができる。転倒したときに再び立ち上がるモーションは、より多数のブール特性が要求される。
キャラクタシミュレーションシステムは、このような4種類の特性と加重値付与、二乗和などの多様な演算を用いて、モーションフレーム間の距離を計算することができる。
キャラクタをシミュレーションするための特性ベクトルF(t)が与えられれば、コントローラは、トレーニングデータの復帰のために次時間インスタンスのターゲットポーズP(t+Δt)を決定する。このとき、コントローラは、近い順序でk個の隣接するサンプル(数6-1)を検索し、距離に反比例する加重値によって、サンプルで連結されたポーズを結合する。このとき、ターゲットポーズは、下記の数6のように示すことができる。
Figure 2010527086
Figure 2010527086
ここで、diは(数6-2)、すなわち、キャラクタの現在状態とサンプルのうちのi番目のサンプルFiとの距離を特性ベクトルF(t)を用いて計算したものを意味する。また、wiは1/diを、εは所定の定数をそれぞれ意味している。このとき、キャラクタシミュレーションシステムは、距離がε以下であれば、除算で除数が「0」とならないようにするため、サンプルのうち最も近いサンプルを選択することができる。
Figure 2010527086
図5は、歩行コントローラの学習を説明するための一例である。第1行501において、本来のモーションデータは、二次元動的モデルに適合するように運動学的に変形され、シミュレーションのためのPDサーボから伝達される。しかしながら、キャラクタが数ステップ後には転倒することを示している。第2行502において、モーションデータは最適化され、転倒しない。第3行503において、歩行コントローラは、歩行モーションデータの集合を適切な改善なく簡単な回帰技術のみを用いて30秒間学習した。このとき、キャラクタは、長期間安定的に歩行するが、結局は転倒することになる。最後に、第4行504において、歩行コントローラは、平地で無限に繰り返される歩行サイクルを転倒せずに実行することを示している。
すなわち、第3行503に示された歩行コントローラは、転倒しない静的サイクルの生成を保証しない。このようなコントローラの性能は、モーションデータとしてのトレーニングデータの多様性と配置に依存する。しかしながら、コントローラの所望する質を保証するトレーニングデータを得ることは極めて難しい。
2.コントローラ改善(Controller Improvement)
このような問題を解決するために、コントローラの適切な改善が必要となる。基本戦略は、シミュレータでコントローラを駆動させることによって、コントローラをテストすることである。もし、キャラクタが転倒したり、トレーニングデータの集合から過度に逸脱すれば、キャラクタが失敗の状況を避けることができるように、トレーニングデータの集合に新たな状態−動作の軌道を追加することができる。
すなわち、シミュレーションの間の転倒を導く可能性がある非正常な状況は、トレーニングデータの集合で最も近い隣接するサンプルの距離をモニタリングすることによって認知することができる。もし、キャラクタの状態とトレーニングデータで最も近い隣接するサンプル間の距離が、ユーザが確信する時間周期のために条件として指定した境界以上であれば、現在コントローラを用いてキャラクタの状態が安定したサイクルに復帰不可能であると決定することができる。
失敗の状況が一度認識されれば、失敗の状況を避けるために、モーションの開始のうち最も近いサイクルに全体のシステムをロールバックすることができる。このようにすることによって、現在のトレーニングデータを変形して、新たなサンプル軌道を統合することができる。すなわち、キャラクタシミュレーションシステムは、トレーニングデータの集合からキャラクタの現在状態に最も近い構成を有して開始するモーションのサイクルを選択することができる。このようなモーションの軌道は運動学的に変形され、変形されたモーションはキャラクタの現在状態で開始する。このとき、キャラクタの本来の軌道間の混同は、図1に示された変位マッピング101を用いることができる。
手抜き
キャラクタシミュレーションシステムは、変形された軌道が物理的に実行可能なように新たな軌道をトレーニングデータの集合に追加するため、上述した最適化プロセスを運用することができる。トレーニングデータに新たに追加された軌道は、回帰過程においてキャラクタが転倒しないようにする。このような方法によって、キャラクタシミュレーションシステムは、これ以上の失敗の状況が発生しないときまでコントローラを漸増的に改善することができる。
3.遷移制御(Transition Control)
2つの静的コントローラ(または周期的(cyclic)コントローラ)が与えられれば、キャラクタシミュレーションシステムは、静的コントローラ間に遷移コントローラを用いることができる。このとき、遷移コントローラは、十分なトレーニングデータの集合が利用可能なとき、静的コントローラを用いるのと同じ方法で用いることができる。
例えば、キャラクタがまっすぐに立った姿勢で歩き始め、6つのステップを進行してまっすぐに立った姿勢で停止することを繰り返してキャプチャする。このとき、歩行モーションデータの1番目のステップと最後の2つのスタップは、直立から歩行への遷移コントローラおよび歩行から直立への遷移コントローラに対する学習にそれぞれ用いることができる。
歩行サイクルに対する遷移コントローラは、中間の2つのステップによって学習することができる。しかしながら、シミュレーションされた行動のすべてのペア間に遷移モーションの大きい集合を得ることは極めて面倒であり、困難な作業である。
十分なトレーニングデータが不足な場合、存在するモーションを運動学的に混合することによってトレーニングデータを合成することもできる。例えば、歩行から走行への遷移サンプルは、歩行モーションのサイクルと走行モーションのサイクルを合成することによって得ることができる。すなわち、1つのサイクルがフェーディングされる間に他の1つのサイクルをフェーディングすることにより、2つのサイクルを簡単に混合することができる。
フェーディングの持続期間、キャラクタシミュレーションシステムは、2つのモーション間に一致する部分を探し、三角遷移関数を用いて関節の角度を柔らかく混合する。混合した関節角度は、足の滑りを引き起こすことがあるため、キャラクタシミュレーションシステムは、階層的な変位マッピングを用いて足の接触制約を強制する。
リアルタイムでの遷移制御は簡単である。一般的に、キャラクタが静的コントローラによって制御され、遷移コントローラによってキャラクタの行動が変化されると仮定すれば、シミュレーションされる間、キャラクタの現在状態と遷移コントローラのトレーニングデータの集合で最も近いサンプル間の距離をチェックする。もし、距離が確実な閾値以下であれば、遷移コントローラがキャラクタを制御する。遷移コントローラからの静的コントローラへの遷移は比較的扱い易い。しかしながら、遷移は、遷移コントローラが含むトレーニングデータセットが十分ではない場合、失敗することがある。いつでも失敗が認知されれば、遷移コントローラは、上述したようにコントローラ改良過程によって改良される。
図6は、本発明の一実施形態において、キャラクタシミュレーション方法を示すフローチャートである。
ステップS610において、キャラクタシミュレーションシステムは、変位マッピングおよびPD制御を用いてモーションデータを最適化する。このとき、ステップS610は、図6に示すように、ステップS611〜ステップS613を含むことができる。
ステップS611において、キャラクタシミュレーションシステムは、入力モーションおよび変位パラメータ間の変位マッピングによってターゲットモーションを生成する。このとき、キャラクタシミュレーションシステムは、入力モーションに変位パラメータによって生成されたモーション変位の配列を付加してターゲットモーションを生成することができる。すなわち、モーション変位の配列の元素それぞれは、上記の数2のように示される鐘形基底関数を用いて計算されることができ、キャラクタシミュレーションシステムは、上記の数1のように入力モーションにモーション変位の配列を付加してターゲットモーションを生成することができる。
また、入力モーションm(t)は、下記の数7のように示されることができ、モーション変位の配列d(t)は、下記の数8のように示されることができる。
Figure 2010527086
ここで、nはキャラクタの関節の数を意味し、θ(t)はt時間に関節が有する角度を意味する。
Figure 2010527086
モーション変位の配列は、所定の数の基底関数がオーバーラップするように時間軸に沿って移動するウィンドウを用いて最適化することができる。このとき、ウィンドウは、モーションデータのロングクリップに対するシーケンスの一部分をカバーして最適化モーションフレームを分離することができる。
ステップS612において、キャラクタシミュレーションシステムは、ターゲットモーションおよび目的関数を用いてシミュレーションモーションを生成する。このとき、キャラクタシミュレーションシステムは、変位パラメータの初期値を選択し、互いに異なる変位パラメータの初期値に対して繰り返して局部的極値を確認し、局部的極値の値のうちの最小値を目的関数の最小値としてシミュレーションモーションを計算することができる。
目的関数は、上記の数5のように示されることができ、局部的極値は、所定の最適化方法を用いて確認することができる。このとき、最適化方法は、滑降シンプレックス法、パウエル法、または共役傾斜法のうちの1つの方法を用いることができる。
ステップS613において、キャラクタシミュレーションシステムは、モーションデータが含むすべての入力モーションに対して、ステップS611およびステップS612を繰り返して実行する。すなわち、モーションデータは、キャラクタのモーションの集合とすることができ、キャラクタシミュレーションシステムは、モーションを入力モーションとして順に最適化することができる。
図7は、最適化されたモーションに対する結果の一例である。左側列701は、モーションキャプチャによってキャプチャされた様子を、中間列702は、最適化されたモーションデータによってシミュレーションされた様子を、また右側列703は、本来のモーションデータによってシミュレーションされた様子をそれぞれ示している。このとき、右側列703の様子の大部分は転倒する結果を示しているが、最適化されたモーションデータによってシミュレーションされた中間列702の様子は、モーションキャプチャによってキャプチャされた様子とほぼ類似することが分かる。図7は、上から下に、キャラクタの歩行、走行、および跳躍の様子をそれぞれ示している。
ステップS620において、キャラクタシミュレーションシステムは、最適化されたモーションデータを用いてコントローラを学習し、キャラクタの行動を制御する。図6に示すように、ステップS620は、ステップS621〜ステップS623を含むことができる。
ステップS621において、キャラクタシミュレーションシステムは、状態−動作軌道の集合を用いてコントローラ学習を実行する。
キャラクタシミュレーションシステムは、キャラクタに対する新たな状態が与えられれば、トレーニングデータの集合からその状態と近いサンプルを選択し、サンプルに含まれた結果ポーズを回帰を用いて結合してターゲットポーズを計算することができる。
この場合、近いサンプルは、モーションフレーム間の距離を用いて選択することができ、モーションフレーム間の距離は、モーションフレームの特性を用いて測定することができる。モーションフレームの特性は、(1)関節角度、(2)ルートノードの位置、速度、方向、(3)キャラクタの足の位置、速度、および(4)地面接触のうちの少なくとも1つを含むことができる。すなわち、キャラクタシミュレーションシステムは、モーションフレームの特性および上記の数6を用いてモーションフレーム間の距離を計算することができる。
ステップS622において、キャラクタシミュレーションシステムは、モーションデータおよび変位マッピングを用いてコントローラを改善する。ここで、キャラクタシミュレーションシステムは、まず、モーションデータが含むトレーニングデータの集合を用いてキャラクタの軌道をモニタリングする。キャラクタシミュレーションシステムは、モニタリング中にキャラクタの軌道がトレーニングデータの集合による軌道を所定の基準以上逸脱する場合、失敗の状況として認識することができ、失敗の状況を認識した時に、キャラクタのモーションのうちの最も近いサイクルに全体システムを戻すことができる。
また、キャラクタシミュレーションシステムは、トレーニングデータの集合に新たな状態−動作の軌道を追加し、変位マッピングを用いて状態−動作の軌道を既存の軌道に混合することによってコントローラが改善されるようにできる。
ステップS623において、キャラクタシミュレーションシステムは、コントローラを用いて行動に対する状態間の遷移を制御する。コントローラは、所定の範囲内でキャラクタの状態に対する変化を制御する静的コントローラおよび静的コントローラ間の遷移を制御する遷移コントローラを含むことができる。すなわち、キャラクタシミュレーションシステムは、状態間の遷移を制御するために、キャラクタがシミュレーションされる間、遷移コントローラのトレーニングデータの合計が含むサンプルのうちでキャラクタの現在状態と最も近いサンプル間の距離を測定し、距離がユーザによって設定された閾値以下である場合、キャラクタのモーションを制御することができる。図8は、コントローラ間の状態が遷移される様子を示す一例である。
図9は、本発明の一実施形態において、キャラクタシミュレーションシステムの内部構成を説明するためのブロック図である。図9に示すように、キャラクタシミュレーションシステム900は、モーションデータ最適化部910と、キャラクタ制御部920とを備える。
最適化部910は、変位マッピングおよびPD制御を用いてモーションデータを最適化する。このとき、最適化部は、モーションデータを最適化するために、図9に示すように、ターゲットモーション生成部911と、シミュレーションモーション生成部912と、繰り返し部913とを備えることができる。
ターゲットモーション生成部911は、入力モーションおよび変位パラメータ間の変位マッピングによってターゲットモーションを生成する。このとき、ターゲットモーション生成部911は、入力モーションに変位パラメータによって生成されたモーション変位の配列を付加してターゲットモーションを生成することができる。すなわち、モーション変位の配列の元素それぞれは、上記の数2のように示される鐘形基底関数を用いて計算することができ、ターゲットモーション生成部911は、上記の数1のように入力モーションにモーション変位の配列を付加してターゲットモーションを生成することができる。
また、入力モーションm(t)は、上記の数7のように示すことができ、モーション変位の配列d(t)は、上記の数8のように示すことができる。
モーション変位の配列は、所定の鐘形基底関数がオーバーラップするように時間軸に沿って移動するウィンドウを用いて最適化されることができる。このとき、ウィンドウは、モーションデータのロングクリップに対するシーケンスの一部分をカバーして最適化モーションフレームを分離することができる。
シミュレーションモーション生成部912は、ターゲットモーションおよび目的関数を用いてシミュレーションモーションを生成する。このとき、シミュレーションモーション生成部912は、変位パラメータの初期値を選択し、互いに異なる変位パラメータの初期値に対して繰り返して局部的極値を確認し、局部的極値の値のうちの最小値を目的関数の最小値としてシミュレーションモーションを計算することができる。
目的関数は数5のように示すことができ、局部的極値は所定の最適化方法を用いて確認することができる。このとき、最適化方法は、滑降シンプレックス法、パウエル法、または共役傾斜法のうちの1つの方法を用いることができる。
繰り返し部913は、モーションデータが含むすべての入力モーションに対し、ステップS611およびステップS612を繰り返して実行する。すなわち、モーションデータは、キャラクタのモーションの集合とすることができ、これによって、キャラクタシミュレーションシステム900は、モーションを入力モーションとして順に最適化することができる。
キャラクタ制御部920は、最適化されたモーションデータを用いてコントローラを学習し、キャラクタの行動を制御する。このとき、キャラクタ制御部920は、キャラクタの行動を制御するために、図9に示すように、コントローラ学習部921と、コントローラ改善部922と、遷移制御部923とを備えることができる。
コントローラ学習部921は、状態−動作軌道の集合を用いてコントローラ学習を実行する。コントローラ学習部921は、次時間インスタンスに入力されたターゲットポーズによるキャラクタの状態を確認して結果ポーズを確認し、キャラクタに対する新たな状態が与えられれば、状態空間で近いサンプルを選択して出力ポーズと結合することができる。
この場合、近いサンプルは、モーションフレーム間の距離を用いて選択することができ、モーションフレーム間の距離は、モーションフレームの特性を用いて測定することができる。モーションフレームの特性は、(1)関節角度、(2)ルートノードの位置、速度、方向、(3)キャラクタ足の位置、速度、および(4)地面接触のうちの少なくとも1つを含むことができる。すなわち、キャラクタシミュレーションシステムは、モーションフレームの特性および上記の数6を用いてモーションフレーム間の距離を計算することができる。
コントローラ改善部922は、モーションデータおよび変位マッピングを用いてコントローラを改良する。ここで、コントローラ改善部922は、まず、モーションデータが含むトレーニングデータの集合を用いてキャラクタの軌道をモニタリングする。コントローラ改善部922は、モニタリング中にキャラクタの軌道がトレーニングデータの集合による軌道を所定の基準以上逸脱する場合、失敗の状況として認識することができ、失敗の状況と認識した時に、キャラクタのモーションのうちで最も近いサイクルに全体システムをロールバックすることができる。
また、コントローラ改善部922は、トレーニングデータの集合に新たな状態−動作の軌道を追加し、変位マッピングを用いて状態−動作の軌道を既存の軌道に混合することによってコントローラが改善するようにできる。
遷移制御部923は、コントローラを用いて行動に対する状態間の遷移を制御する。コントローラは、所定の範囲内でキャラクタの状態に対する変化を制御する静的コントローラおよび静的コントローラ間の遷移を制御する遷移コントローラを含むことができる。すなわち、遷移制御部923は、状態間の遷移を制御するために、キャラクタがシミュレーションされる間、遷移コントローラのトレーニングデータの集合が含むサンプルのうちキャラクタの現在状態と最も近いサンプル間の距離を測定し、距離がユーザによって設定された閾値以下である場合、キャラクタのモーションを制御することができる。
このように、本発明に係るキャラクタシミュレーション方法またはキャラクタシミュレーションシステムを用いれば、実際の人間が繰り返して実行する行動から、記録されたモーションデータの集合によって実際の人間の行動を模倣するために物理的にシミュレーションされた二次元上の二足のキャラクタを提供することができ、モーションデータの集合を最適化によって改善し、簡素化された動的モデルであるキャラクタがバランスを維持するように関節を動かし、記録されたモーションの軌道をほぼ再生することができる。
また、キャラクタの行動を制御する手段を最適化されたモーションデータの集合によって学習し、実際の人間の行動を確実に模倣することができ、キャラクタの互いに異なる行動に対する変化を可能にする統合されたフレームワークで学習される動的コントローラを構成することができる。これだけでなく、すべてのコントローラを学習することができ、ユーザが所望するモーションを実行するためにリアルタイムで動的にシミュレーションされ、相互的に制御される二足のキャラクタを提供することができる。
なお、本発明に係る実施形態は、コンピュータにより実現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高水準言語コードを含む。上述したハードウェア要素は、本発明の動作を実行するためにひとつ以上のソフトウェアモジュールとして作動するように構成することができ、その逆もできる。
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。

Claims (33)

  1. キャラクタシミュレーション方法であって、
    変位マッピングおよび比例微分制御を用いてモーションデータを最適化するステップと、
    前記最適化されたモーションデータを用いてコントローラを学習し、キャラクタのモーションを制御するステップと、
    を含むキャラクタシミュレーション方法。
  2. 前記最適化するステップは、
    入力モーションおよび変位パラメータ間の前記変位マッピングによってターゲットモーションを生成するステップと、
    前記ターゲットモーションおよび目的関数を用いてシミュレーションモーションを生成するステップと、
    を含むことを特徴とする請求項1に記載のキャラクタシミュレーション方法。
  3. 前記モーションデータは、時間に応じて分離された少なくとも1つの前記入力モーションを含み、
    前記最適化するステップは、
    前記モーションデータが含むすべての入力モーションに対して、ターゲットモーションを生成するステップおよびシミュレーションモーションを生成するステップを繰り返して実行するステップ、
    をさらに含むことを特徴とする請求項2に記載のキャラクタシミュレーション方法。
  4. 前記ターゲットモーションを生成するステップは、
    前記入力モーションに前記変位パラメータによって生成されたモーション変位の配列を加え、前記ターゲットモーションを生成するステップであり、
    前記モーション変位の配列のそれぞれの要素は、鐘形基底関数を用いて計算されることを特徴とする請求項2に記載のキャラクタシミュレーション方法。
  5. 前記ターゲットモーションを生成するステップは、
    下記の数9のように前記入力モーションに前記モーション変位の配列を付加して前記ターゲットモーションを生成することを特徴とする請求項4に記載のキャラクタシミュレーション方法。
    Figure 2010527086
    ここで、tは任意の時間を意味し、数9-1、m(t)、およびd(t)は前記ターゲットモーション、前記入力モーション、および前記モーション変位の配列をそれぞれ意味する。
    Figure 2010527086
  6. 前記入力モーションは、下記の数10のように示され、
    前記モーション変位の配列は、下記の数11のように示されることを特徴とする請求項5に記載のキャラクタシミュレーション方法。
    Figure 2010527086
    ここで、nは前記キャラクタの関節の数を意味し、θ(t)はt時刻に前記関節が有する角度を意味する。
    Figure 2010527086
  7. 前記鐘形基底関数は、下記の数12のように示され、m個のノードポイント{c1、…、cm}は、足の出発点、キックダウン地点、およびスイング区間の中間地点に対して不均等な間隔で位置することを特徴とする請求項5に記載のキャラクタシミュレーション方法。
    Figure 2010527086
    ここで、di(t)は、前記モーション変位の配列が含むi番目の元素を、cjはノードポイントを、mはノードポイントの数を、hijおよびwは前記モーション変位の係数をそれぞれ意味し、B(t;c、w)は三角基底関数を意味する。
  8. 前記三角基底関数は、下記の数13のように示されることを特徴とする請求項7に記載のキャラクタシミュレーション方法。
    Figure 2010527086
  9. 前記ターゲットモーションおよび目的関数を用いてシミュレーションモーションを生成するステップは、
    前記変位パラメータの初期値を選択し、互いに異なる変位パラメータの初期値に対して繰り返して局部的極値を探し、前記局部的極値のうちの最小値を前記目的関数の最小値として前記シミュレーションモーションを計算することを特徴とする請求項2に記載のキャラクタシミュレーション方法。
  10. 前記目的関数は、下記の数14のように示され、
    前記局部的極値は、所定の最適化方法を用いて探すことを特徴とする請求項9に記載のキャラクタシミュレーション方法。
    Figure 2010527086
    ここで、m(t)および数14-1は前記入力モーションおよび前記シミュレーションモーションをそれぞれ意味し、数14-2は加重値項を、数14-3は前記入力モーションと前記シミュレーションモーションによって前記キャラクタが有するようになる2つのポーズ間の差異点をそれぞれ意味する。
    Figure 2010527086
    Figure 2010527086
    Figure 2010527086
  11. 前記最適化方法は、滑降シンプレックス法であることを特徴とする請求項10に記載のキャラクタシミュレーション方法。
  12. 前記モーション変位の配列は、所定の数の基底関数がオーバーラップしながら時間軸に沿って移動するウィンドウを用いて最適化され、
    前記ウィンドウは、前記モーションデータのロングクリップに対するシーケンスの一部分をカバーして最適化モーションフレームを分離することを特徴とする請求項2に記載のキャラクタシミュレーション方法。
  13. 前記最適化されたモーションデータを用いてコントローラを学習し、キャラクタの行動を制御する前記ステップは、
    状態−動作軌道の集合を用いてコントローラ学習を実行するステップと、
    前記モーションデータおよび前記変位マッピングを用いて前記コントローラを改善するステップと、
    前記コントローラを用いて行動に対する状態間の遷移を制御するステップと、
    を含むことを特徴とする請求項1に記載のキャラクタシミュレーション方法。
  14. 前記状態−動作軌道の集合を用いてコントローラ学習を実行するステップは、
    前記キャラクタに対する新たな状態が与えらたときに、その状態と近い少なくとも1つのサンプルを選択するステップと、
    前記サンプルに含まれた少なくとも1つの出力ポーズを結合してターゲットポーズを計算するステップと、
    を含むことを特徴とする請求項13に記載のキャラクタシミュレーション方法。
  15. 前記近いサンプルは、モーションフレーム間の距離を用いて選択され、
    前記モーションフレーム間の距離は、前記モーションフレームの特性を用いて測定されることを特徴とする請求項14に記載のキャラクタシミュレーション方法。
  16. 前記モーションフレームの特性は、(1)関節角度、(2)ルートノードの位置、速度、方向、(3)キャラクタ足の位置、速度、および(4)地面接触のうちの少なくとも1つを含み、
    前記モーションフレーム間の距離は、前記モーションフレームの特性ベクトルF(t)の間の差を二乗し、加重値を付与し、加える方式で計算されることを特徴とする請求項15に記載のキャラクタシミュレーション方法。
  17. 前記計算するステップは、
    下記の数15を用いて前記ターゲットポーズを計算することを特徴とする請求項14に記載のキャラクタシミュレーション方法。
    Figure 2010527086
    ここで、前記P(t+Δt)は次時間インスタンスの前記ターゲットポーズを、dは数15-1を意味しており、前記キャラクタの現在状態と前記サンプルのうちのi番目のサンプルFiとの距離を前記特性ベクトルF(t)を活用して計算し、wiは1/diを、εは所定の定数をそれぞれ意味する。
    Figure 2010527086
  18. 前記モーションデータおよび変位マッピングを用いてコントローラを改善するステップは、
    前記モーションデータが含むトレーニングデータの集合を用いて前記キャラクタの軌道をモニタリングするステップと、
    前記キャラクタの軌道が前記トレーニングデータの集合による軌道を所定の基準以上逸脱する場合、失敗の状況として認識するステップと、
    前記失敗の状況と認識した時に、前記キャラクタのモーションのうちで最も近いサイクルに全体システムをロールバックするステップと、
    を含むことを特徴とする請求項13に記載のキャラクタシミュレーション方法。
  19. 前記モーションデータおよび変位マッピングを用いてコントローラを改善するステップは、
    前記トレーニングデータの集合に新たな状態−動作の軌道を追加するステップと、
    前記変位マッピングを用いて前記状態−動作の軌道を既存の軌道に混合するステップと、
    をさらに含むことを特徴とする請求項18に記載のキャラクタシミュレーション方法。
  20. 前記コントローラは、所定の範囲内で前記キャラクタの状態に対する変化を制御する静的コントローラおよび前記静的コントローラ間の遷移を制御する遷移コントローラを含み、
    前記コントローラを用いて行動に対する状態間の遷移を制御するステップは、
    前記キャラクタがシミュレーションされる間、前記遷移コントローラのトレーニングデータセットが含むサンプルのうちで前記キャラクタの現在状態と最も近いサンプル間の距離を測定し、前記距離がユーザによって設定された閾値以下である場合、前記キャラクタのモーションを制御することを特徴とする請求項13に記載のキャラクタシミュレーション方法。
  21. 請求項1〜20のうちのいずれか一項の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  22. キャラクタシミュレーションシステムであって、
    変位マッピングおよび比例微分制御を用いてモーションデータを最適化するモーションデータ最適化部と、
    前記最適化されたモーションデータを用いてコントローラを学習し、キャラクタの行動を制御するキャラクタ制御部と、
    を備えるキャラクタシミュレーションシステム。
  23. 前記モーションデータ最適化部は、
    入力モーションおよび変位パラメータ間の前記変位マッピングによってターゲットモーションを生成するターゲットモーション生成部と、
    前記ターゲットモーションおよび目的関数を用いてシミュレーションモーションを生成するシミュレーションモーション生成部と、
    を備えることを特徴とする請求項22に記載のキャラクタシミュレーションシステム。
  24. 前記モーションデータは、時間に応じて分離された少なくとも1つの前記入力モーションを含み、
    前記モーションデータ最適化部は、
    前記モーションデータが含むすべての入力モーションに対してターゲットモーション生成部および前記シミュレーションモーション生成部を繰り返して実行させる繰り返し部、
    をさらに備えることを特徴とする請求項23に記載のキャラクタシミュレーションシステム。
  25. 前記ターゲットモーション生成部は、
    前記入力モーションに前記変位パラメータによって生成されたモーション変位の配列を付加して前記ターゲットモーションを生成し、
    前記モーション変位の配列のそれぞれの要素は、鐘形基底関数を用いて計算されることを特徴とする請求項23に記載のキャラクタシミュレーションシステム。
  26. 前記シミュレーションモーション生成部は、
    前記変位パラメータの初期値を選択し、互いに異なる変位パラメータの初期値に対して繰り返して局部的極値を探し、前記局部的極値の値のうちの最小値を前記目的関数の最小値として前記シミュレーションモーションを計算することを特徴とする請求項23に記載のキャラクタシミュレーションシステム。
  27. 前記キャラクタ制御部は、
    状態−動作軌跡の集合を用いてコントローラ学習を実行するコントローラ学習部と、
    前記モーションデータおよび前記変位マッピングを用いて前記コントローラを改善するコントローラ改良部と、
    前記コントローラを用いて行動に対する状態間の遷移を制御する遷移制御部と、
    を備えることを特徴とする請求項22に記載のキャラクタシミュレーションシステム。
  28. 前記コントローラ学習部は、
    次時間インスタンスに前記キャラクタに対する新たな状態が与えられた時に、その状態と近い少なくとも1つのサンプルを選択し、前記サンプルに含まれた少なくとも1つの出力ポーズを結合してターゲットポーズを計算することを特徴とする請求項27に記載のキャラクタシミュレーションシステム。
  29. 前記近いサンプルはモーションフレーム間の距離を用いて選択され、
    前記モーションフレーム間の距離は、前記モーションフレームの特性を用いて測定されることを特徴とする請求項28に記載のキャラクタシミュレーションシステム。
  30. 前記モーションフレームの特性は、(1)関節角度、(2)ルートノードの位置、速度、方向、(3)キャラクタ足の位置、速度、および(4)地面接触のうちの少なくとも1つを含むことを特徴とする請求項29に記載のキャラクタシミュレーションシステム。
  31. 前記コントローラ改善部は、
    前記モーションデータが含むトレーニングデータの集合を用いて前記キャラクタの軌道をモニタリングし、前記キャラクタの軌道が前記トレーニングデータの集合による軌道を所定の基準以上逸脱する場合、失敗の状況として認識し、前記失敗の状況と認識した時に、前記キャラクタのモーションのうちの最も近いサイクルに全体システムをロールバックすることを特徴とする請求項27に記載のキャラクタシミュレーションシステム。
  32. 前記コントローラ改善部は、
    前記トレーニングデータの集合に新たな状態−動作の軌道を追加し、前記変位マッピングを用いて前記状態−動作の軌道を既存の軌道に混合することを特徴とする請求項31に記載のキャラクタシミュレーションシステム。
  33. 前記コントローラは、所定の範囲内で前記キャラクタの状態に対する変化を制御する静的コントローラおよび前記静的コントローラ間の遷移を制御する遷移コントローラを含み、
    前記遷移制御部は、
    前記キャラクタがシミュレーションされる間、前記遷移コントローラのトレーニングデータの集合が含むサンプルのうちで前記キャラクタの現在状態と最も近いサンプル間の距離を測定し、前記距離がユーザによって設定された閾値以下である場合、前記キャラクタのモーションを制御することを特徴とする請求項27に記載のキャラクタシミュレーションシステム。
JP2010508276A 2007-07-23 2007-07-24 キャラクタシミュレーション方法およびシステム Active JP5059939B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020070073313A KR100856824B1 (ko) 2007-07-23 2007-07-23 캐릭터 시뮬레이션 방법 및 시스템
KR10-2007-0073313 2007-07-23
PCT/KR2007/003557 WO2009014273A1 (en) 2007-07-23 2007-07-24 Method and system for simulating character

Publications (2)

Publication Number Publication Date
JP2010527086A true JP2010527086A (ja) 2010-08-05
JP5059939B2 JP5059939B2 (ja) 2012-10-31

Family

ID=40022505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010508276A Active JP5059939B2 (ja) 2007-07-23 2007-07-24 キャラクタシミュレーション方法およびシステム

Country Status (4)

Country Link
US (1) US8350861B2 (ja)
JP (1) JP5059939B2 (ja)
KR (1) KR100856824B1 (ja)
WO (1) WO2009014273A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170135624A (ko) * 2016-05-31 2017-12-08 (주) 젤리피쉬월드 스마트 단말을 이용하여 동작 컨텐트를 자동으로 생성하는 장치 및 방법
JP6295313B1 (ja) * 2016-12-02 2018-03-14 株式会社ドワンゴ 情報処理装置、情報処理方法およびプログラム
KR20180114692A (ko) * 2017-04-11 2018-10-19 재단법인대구경북과학기술원 행동모방학습 기반의 뇌 훈련 시뮬레이션시스템
WO2020071174A1 (ja) * 2018-10-01 2020-04-09 オムロン株式会社 学習装置、制御装置、学習方法、及び学習プログラム

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101586007B1 (ko) * 2009-06-25 2016-01-21 삼성전자주식회사 데이터 처리 장치 및 방법
KR101691940B1 (ko) * 2009-10-30 2017-01-02 삼성전자주식회사 로봇 및 그 제어방법
JP5088972B2 (ja) * 2010-06-11 2012-12-05 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、コンピュータプログラム、記録媒体、及び半導体装置
US8860732B2 (en) 2010-09-27 2014-10-14 Adobe Systems Incorporated System and method for robust physically-plausible character animation
KR101809972B1 (ko) * 2010-12-21 2017-12-18 삼성전자주식회사 보행 로봇 및 그 제어방법
KR101789756B1 (ko) 2010-12-29 2017-11-20 삼성전자주식회사 로봇 및 그 제어방법
WO2012100080A2 (en) * 2011-01-21 2012-07-26 The Regents Of The University Of California Systems for and methods of detecting and reproducing motions for video games
US9322653B2 (en) * 2013-01-16 2016-04-26 Disney Enterprises, Inc. Video-based motion capture and adaptation
US9387588B1 (en) * 2014-08-25 2016-07-12 Google Inc. Handling gait disturbances with asynchronous timing
US9618937B1 (en) 2014-08-25 2017-04-11 Google Inc. Slip detection using robotic limbs
US10081098B1 (en) 2014-08-25 2018-09-25 Boston Dynamics, Inc. Generalized coordinate surrogates for integrated estimation and control
US9446518B1 (en) 2014-11-11 2016-09-20 Google Inc. Leg collision avoidance in a robotic device
US9499218B1 (en) 2014-12-30 2016-11-22 Google Inc. Mechanically-timed footsteps for a robotic device
US9594377B1 (en) * 2015-05-12 2017-03-14 Google Inc. Auto-height swing adjustment
KR101597940B1 (ko) * 2015-07-09 2016-02-26 중앙대학교 산학협력단 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스
US9586316B1 (en) 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
US9789919B1 (en) 2016-03-22 2017-10-17 Google Inc. Mitigating sensor noise in legged robots
US11104001B2 (en) * 2019-03-13 2021-08-31 Sony Interactive Entertainment Inc. Motion transfer of highly dimensional movements to lower dimensional robot movements
KR102317949B1 (ko) * 2020-02-10 2021-10-27 한국과학기술원 객체의 모션을 생성하는 방법 및 장치
US11407109B2 (en) 2020-04-16 2022-08-09 Boston Dynamics, Inc. Global arm path planning with roadmaps and precomputed domains
US11238634B2 (en) * 2020-04-28 2022-02-01 Adobe Inc. Motion model refinement based on contact analysis and optimization
KR102611126B1 (ko) 2021-04-09 2023-12-06 한양대학교 산학협력단 강화학습모델을 이용한 보행 동작 정보 출력 방법 및 서비스 장치
KR20240008265A (ko) 2022-07-11 2024-01-18 한양대학교 산학협력단 근골격계 모델에 기반 캐릭터의 모션 생성 방법 및장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078695A (ja) * 2002-08-20 2004-03-11 Japan Science & Technology Corp アニメーション作成システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115052A (en) * 1998-02-12 2000-09-05 Mitsubishi Electric Information Technology Center America, Inc. (Ita) System for reconstructing the 3-dimensional motions of a human figure from a monocularly-viewed image sequence
US6950104B1 (en) * 2000-08-30 2005-09-27 Microsoft Corporation Methods and systems for animating facial features, and methods and systems for expression transformation
KR20020049384A (ko) * 2000-12-19 2002-06-26 이형민 캐릭터 애니메이션 생성 시스템 및 이를 이용한 캐릭터애니메이션 생성 방법
JP4695275B2 (ja) 2001-03-07 2011-06-08 独立行政法人科学技術振興機構 動画像生成システム
KR100507780B1 (ko) * 2002-12-20 2005-08-17 한국전자통신연구원 고속 마커프리 모션 캡쳐 장치 및 방법
KR100502092B1 (ko) 2003-08-07 2005-07-20 한국전자통신연구원 진화론적 계산을 이용한 3차원 애니메이션 시스템 및 방법
WO2006020846A2 (en) * 2004-08-11 2006-02-23 THE GOVERNMENT OF THE UNITED STATES OF AMERICA as represented by THE SECRETARY OF THE NAVY Naval Research Laboratory Simulated locomotion method and apparatus
KR100622811B1 (ko) * 2004-11-04 2006-09-19 주식회사오뚜기 복분자 음료 및 그 제조방법
US7313463B2 (en) * 2005-03-31 2007-12-25 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
KR20070050509A (ko) * 2005-11-11 2007-05-16 이문권 동작 패턴 판단, 합성과 전이법1
WO2007066953A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute Apparatus for recognizing three-dimensional motion using linear discriminant analysis
US7864181B1 (en) * 2006-06-08 2011-01-04 Pixar Shape friction: shape preservation of simulated objects in computer animation
US7949498B2 (en) * 2006-10-02 2011-05-24 University Of Virginia Patent Foundation Method, system and computer program product for registration of multi-dimensional datasets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078695A (ja) * 2002-08-20 2004-03-11 Japan Science & Technology Corp アニメーション作成システム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170135624A (ko) * 2016-05-31 2017-12-08 (주) 젤리피쉬월드 스마트 단말을 이용하여 동작 컨텐트를 자동으로 생성하는 장치 및 방법
KR101885746B1 (ko) 2016-05-31 2018-08-06 (주) 젤리피쉬월드 스마트 단말을 이용하여 동작 컨텐트를 자동으로 생성하는 장치 및 방법
JP6295313B1 (ja) * 2016-12-02 2018-03-14 株式会社ドワンゴ 情報処理装置、情報処理方法およびプログラム
JP2018092348A (ja) * 2016-12-02 2018-06-14 株式会社ドワンゴ 情報処理装置、情報処理方法およびプログラム
KR20180114692A (ko) * 2017-04-11 2018-10-19 재단법인대구경북과학기술원 행동모방학습 기반의 뇌 훈련 시뮬레이션시스템
KR102014176B1 (ko) * 2017-04-11 2019-08-26 재단법인대구경북과학기술원 행동모방학습 기반의 뇌 훈련 시뮬레이션시스템
WO2020071174A1 (ja) * 2018-10-01 2020-04-09 オムロン株式会社 学習装置、制御装置、学習方法、及び学習プログラム
JP2020057161A (ja) * 2018-10-01 2020-04-09 オムロン株式会社 学習装置、制御装置、学習方法、及び学習プログラム
JP7110884B2 (ja) 2018-10-01 2022-08-02 オムロン株式会社 学習装置、制御装置、学習方法、及び学習プログラム
US11971709B2 (en) 2018-10-01 2024-04-30 Omron Corporation Learning device, control device, learning method, and recording medium

Also Published As

Publication number Publication date
US8350861B2 (en) 2013-01-08
US20100277483A1 (en) 2010-11-04
WO2009014273A1 (en) 2009-01-29
JP5059939B2 (ja) 2012-10-31
KR100856824B1 (ko) 2008-09-05

Similar Documents

Publication Publication Date Title
JP5059939B2 (ja) キャラクタシミュレーション方法およびシステム
Song et al. Deep reinforcement learning for modeling human locomotion control in neuromechanical simulation
Sartoretti et al. Distributed learning of decentralized control policies for articulated mobile robots
US7072741B2 (en) Robot control algorithm constructing apparatus
Hurmuzlu et al. Modeling, stability and control of biped robots—a general framework
Kulić et al. Anthropomorphic movement analysis and synthesis: A survey of methods and applications
Taylor et al. Learning bipedal robot locomotion from human movement
Kang et al. Finite state machine-based motion-free learning of biped walking
Hyon et al. Back handspring of a multi-link gymnastic robot—Reference model approach
Petrič et al. Reflexive stability control framework for humanoid robots
Liu et al. Workspace trajectory generation method for humanoid adaptive walking with dynamic motion primitives
Culha An actuated flexible spinal mechanism for a bounding quadrupedal robot
Shafii et al. Learning a fast walk based on ZMP control and hip height movement
Calderon et al. Generating human-like soccer primitives from human data
CN117572877B (zh) 一种双足机器人步态控制方法、装置、存储介质及设备
Donnelley-Power Design of a rat hindlimb robot and neuromechanical controller
Huang Planning for dynamic motions using a search tree.
Lecompte et al. Balance improvement of a humanoid robot while walking
Mellema Exoskeleton controller design for cybathlon by parallel reinforcement learning
Lima et al. Realistic behaviour simulation of a humanoid robot
Van de Panne Control for simulated human and animal motion
Peng Developing locomotion skills with deep reinforcement learning
Green Agile Bipedal Locomotion via Hierarchical Control by Incorporating Physical Principles, Learning, and Optimization
Sun et al. Perception-Driven Learning of High-Dynamic Jumping Motions for Single-Legged Robots
Dashpute Deep reinforcement learning for quadrupeds

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5059939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250