説明

動作制御装置、その方法、及びプログラム

【課題】自然な動作で自由度が高い複数の動作や姿勢を同時に実現する動作制御装置等を提供する。
【解決手段】利用者の操作情報29に基づいて制御対象物の動きを制御する動作制御装置1において、操作情報29を入力する操作入力部21と、制御対象物の目標位置を計算して制約条件を算出する制約条件演算部22と、予め学習がなされた姿勢学習モデル情報27と制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御部25と、予め学習がなされた複数の動作学習モデル情報28と制約条件に基づいて、所定の型を持つ制御対象物の主要部位の動作を制御する動作制御部24と、操作情報29に基づいて、姿勢の変化の制御、又は制御対象物の主要部位の動作の制御を切り替える動作選択・切替部23と、姿勢制御部25、及び動作制御部24が計算した結果に基づいて、制御対象物の動きを物理シミュレーションを適用して追従する追従制御部26とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、利用者の操作情報に基づいて制御対象物の動きを制御する動作制御装置等に関する。
【背景技術】
【0002】
現在、コンピュータゲームなどのインタラクティブなアプリケーションにおいて、利用者がキャラクタに行わせることのできる動作の自由度は非常に限られている。現在のインターフェースとしては、ゲームパッド、マウス、キーボードなどの入力機器を使用し、利用者がボタンを押すことで、歩行、パンチ、キックなどの予め決められた動作を実行するというものが一般的である。キャラクタの動作は、予め作成された短い動作データを再生することで実現されており、利用者が動作の姿勢や速度などのスタイルを自在に変えたり、新しい動作を作り出したりすることはできない。
【0003】
しかし、キャラクタを自由に操作できるインターフェースは、例えば、格闘ゲームにおいてキャラクタに様々な格闘動作を行わせたり、3次元仮想世界等でのアバターを用いたコミュニケーションにおいてアバターに身振り手振りなどのジェスチャを行わせたり、音楽に合わせてキャラクタがダンスするアニメーションを制作したりといった、多様な動作をインタラクティブに表現することが要求される用途で非常に重要となる。
【0004】
近年、統計学的アプローチを用いて、与えられた制約条件を満たす自然な姿勢や動作を生成する、Style−based IK(Style−Based Inverse Kinematics:逆運動学計算)手法が提案されている(非特許文献1ないし3を参照)。Style−based IKでは、あらかじめ多数の姿勢を低次元の潜在空間に写像することで、学習モデルを構築し、制約条件が与えられると、潜在空間内で制約条件を満たす姿勢(座標)を探索し、潜在空間内で周囲の複数の姿勢をブレンドすることで姿勢を計算する。
【0005】
利用者が操作しているキャラクタの各部位の位置を制約条件として、Style−based IKを適用することで、キャラクタの姿勢を生成できる。しかし、Style−based IKをキャラクタの操作に利用するにはいくつかの問題がある。まず、一つ目の問題として、異なる種類の動作の姿勢を一つの学習モデルで表現することはできないということがある。姿勢が多数になると潜在空間へうまく写像できない、また、同じ制約条件でもどのような姿勢が期待されるかは動作によって異なるため、適切な姿勢が求められないといった問題が生じる。二つ目の問題として、3次元空間での部位の軌道が与えられたときに、与えられた軌道の制約条件を満たす潜在空間での軌道が連続になるとは限らない。そのため、部位の制約位置を連続的に変化させたとしても、出力姿勢も滑らかに変化するとは限らず、動作としては不自然になってしまう。
【0006】
また、利用者の操作に応じてキャラクタの動作を生成する技術として、例えば、マウスやペンなどのインターフェースを用いて入力された1点の座標や軌道をもとに動作を生成する手法が研究されている。利用者がマウスやペンを用いて仮想空間の地面の上に軌道を描画し、その軌道に応じてキャラクタの歩行動作を生成するシステムは、多数開発されている(非特許文献4を参照)。
【0007】
利用者がキャラクタの腰の軌道を描画したときに、入力された線の形(ジェスチャ)に応じて動作を選択することで、歩行、走行以外に、ジャンプや宙返りなどの動作を行わせるシステムが提案されている(非特許文献5を参照)。また、利用者が、動作の起点にな
る対象から、動作の終点になる対象に向かって画面上に線を引くことで、その2つの対象に応じて適切な動作を選択して実行する手法が提案されている(非特許文献6を参照)。
【0008】
さらに、姿勢ではなく動作全体を統計モデルで表現することで、入力された部位の軌道に応じた動作生成を実現する技術が提案されている(非特許文献7を参照)。
【0009】
さらにまた、予め利用者がキー姿勢を表すマーカを仮想空間上に配置しておき、利用者がマウスを操作したときのマウス座標と各マーカとの距離に応じて各キー姿勢をブレンドすることで、利用者が動作を生成できるインターフェースが提案されている(非特許文献8を参照)。
【0010】
さらにまた、マウス操作により単純な多関節体の一部の関節のみの動きを操作し、全身の動きをPD制御と動力学シミュレーションを用いて生成する手法が提案されている(非特許文献3を参照)。
【0011】
さらにまた、3次元空間中でマーカを動かすことで、キャラクタの一部の部位の動きを入力するシステムが提案されている(非特許文献9を参照)。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】Keith Grochow, Steven L. Martin, Aaron Hertzmann, Zoran Popovic. "Style-based Inverse Kinematics".ACM Transactions on Graphics, Vol.23, Issue 3, pp,522-531, 2004.
【非特許文献2】Hyun Joon Shin and Jehee Lee. Motion Synthesis and Editing in Low-Dimensional Spaces. Computer Animation and Virtual Worlds (CASA 2006), Volume 17, Issue 3-4, pp.219-227, 2006.
【非特許文献3】Joe Laszlo, Michael Neff, Karan Singh, "Predictive Feedback for Interactive Control of Physics-based Characters", EUROGRAPHICS 2005, pp.257-265, 2005.
【非特許文献4】Sang Il Park, Hyun Joon Shin, Sung Yong Shin, "On-line locomotion generation based on motion blending", Proc. of ACM SIGGRAPH Symposium on Computer Animation 2002, pp.105-111, 2002.
【非特許文献5】M. Thorne, D. Burke. M. van De Panne. "Motion Doodles: An Interface for Sketching Character Motion", ACM Transactions of Graphics(Proc. of SIGGRAPH 2004), Vol.23, Issue 3, pp.424-431, 2004.
【非特許文献6】Masaki Oshita, "Motion Control with Strokes", Computer Animation and Virtual Worlds, Vol.16, Issues 3-4, pp.237-244, October 2005.
【非特許文献7】Jianyuan Min, Yen-Lin Chen, Jinxiang Chai."Interactive Generation of Human Animation with Deformable Motion Models", ACM Transactions on Graphics, Vol.29, Issue 1, Article No.9, 2009.
【非特許文献8】Takeo Igarashi, Tomer Moscovich, John F. Hughes. "Spatial Keyframing for Performance-driven Animation", ACM SIGGRAPH/Eurographics Symposium on Computer Animation 2005, pp.253-258, 2005.
【非特許文献9】Mira Dontcheva, Gray Yngve, Zoran Popovic, "Layered Acting for Character Animation", ACM Transactions of Graphics(Proc. of SIGGRAPH 2003), Vol.22, Issue 3,pp.409-416, 2003.
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、上述したようにStyle−based IKをキャラクタの操作に利用するには、異なる種類の動作の姿勢を一つの学習モデルで表現することはできないという課題を有する。また、姿勢が多数になると潜在空間へうまく写像できず、同じ制約条件でもどのような姿勢が期待されるかは動作によって異なるため、適切な姿勢が求められないといった課題を有する。さらに、3次元空間での部位の軌道が与えられたときに、部位の制約位置を連続的に変化させたとしても、出力姿勢も滑らかに変化するとは限らず、動作としては不自然になってしまうという課題を有する。
【0014】
非特許文献3に示す技術は、人間の自然な動きを提案手法で生成することは困難であるという課題を有する。非特許文献4に示す技術は、キャラクタに行わせることができる動作が、歩行や走行の動作に限られてしまうという課題を有する。非特許文献5、6に示す技術は、入力に応じて動作を選択して再生するだけであるため、動作中の姿勢や動きを細かく制御することができないという課題を有する。
【0015】
非特許文献7に示す技術は、動作全体をブレンドして再生するため、動作を途中で止めたり戻したり、自由に姿勢を変化させたりするといったことはできないという課題を有する。非特許文献8に示す技術は、自然な動作を生成するためには、適切な位置にキー姿勢を配置し、適切なタイミング、位置にポインタを動かす必要があり熟練を要するという課題を有する。また、Style−based IKと同様、一組のキー姿勢だけで異なる種類の動作に対応することは難しいという課題を有する。非特許文献9に示す技術は、一度に一つの部位しか操作できないため、動作を作成するためには何度も入力を繰り返す必要があり、動作の操作には適さないという課題を有する。
【0016】
市販のアニメーションソフトウェアは、IKを用いてキー姿勢を変更できる機能があるが、リアルタイムに動作を制御することはできない。原理的には、マルチタッチ入力とIKを組み合わせて、複数の部位を同時に動かすことで、動作を制御できるが、自然な動きを生成するためには、多数の部位を同時に操作する必要があるため、現実的に利用することは難しい。先述の通り、Style−based IKには、制約条件を連続的に変化させたとしても出力姿勢が連続的に変化するとは限らないという問題があるため、姿勢操作には向いているが、動作操作には適していない。非特許文献1、2においても、潜在空間に描画された軌道から動作生成、キーフレームの姿勢を変化させることで動作変形などの応用は行われているが、3次元空間もしくは画面上の軌道からの動作生成は行われていない。
【0017】
そこで、本発明は一般に利用者がキャラクタを操作する場合、姿勢を変化させる姿勢制御と、パンチやキックなどの何らかの型のある動作を行わせる動作制御の2種類の制御があることに注目し、姿勢制御、及び各動作の動作制御に、異なる学習モデルを使用する。また、両制御において、学習モデルを用いた姿勢計算方法を使い分ける。使用する学習モデルは、利用者の操作に応じて切り替える。また、姿勢制御時に連続的な姿勢が出力されるとは限らないという問題や、単純に連続的に姿勢を生成するだけでは物理的に不自然な動きとなる可能性があるという問題、学習モデルの切り替え時に姿勢が急激に変化する問題を解決するため、物理シミュレーションを用いた追従制御を適用した動作制御装置等を提供する。
【課題を解決するための手段】
【0018】
本願に開示する動作制御装置は、利用者の操作情報に基づいて制御対象物の動きを制御する動作制御装置において、前記利用者が行った操作に関する操作情報を入力する操作入力手段と、前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出手段と、予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報、及び前記制約条件に基づいて、所定の型を持たない姿
勢の変化を制御する姿勢制御手段と、予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報、及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の主要部位の動作を制御する動作制御手段と、前記操作情報に基づいて、姿勢の変化の制御、又は制御対象物の任意の部位の動作の制御を切り替える制御切替手段と、前記姿勢制御手段、及び動作制御手段が計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御手段とを備えるものである。
【0019】
このように、本願に開示する動作制御装置においては、姿勢学習モデル情報、及び制約条件に基づいて、所定の型を持たない姿勢の変化を制御し、複数の動作学習モデル情報、及び制約条件に基づいて、所定の型を持つ制御対象物の主要部位の動作を制御し、それらの制御の切り替えを行う制御切替手段を備えるため、多数の姿勢であっても潜在空間にうまく写像することができ、異なる種類の動作を同時に制御することができるという効果を奏する。
【0020】
本願に開示する動作制御装置は、前記操作入力手段が、複数の系の操作情報を同時に入力するマルチ入力であるものである。
【0021】
このように、本願に開示する動作制御装置においては、複数の系の操作情報を同時に入力するマルチ入力であるため、複数種類の動作や姿勢を同時に制御することで、制御対象の動きの自由度を大きくし、利用者の意図が反映された動作の制御を行うことができるという効果を奏する。
【0022】
本願に開示する動作制御装置は、前記追従制御手段が、前記操作情報に含まれない前記制御対象物の部位について、物理シミュレーションで動きを計算するものである。
【0023】
このように、本願に開示する動作制御装置においては、操作情報に含まれない前記制御対象物の部位について、物理シミュレーションで動きを計算するため、連続的な姿勢を出力し、物理的に自然な動きを実現し、動作ごとに学習モデルが切り替わる場合であっても急激な動きの変化がなく、自然な動きを実現することができるという効果を奏する。
【0024】
本願に開示する動作制御装置は、前記制御切替手段が、前記動作学習モデル情報の学習に使用した前記任意の部位の軌道の平均と前記操作情報の軌道との画面上での位置、及び時間の変化の一致度に基づいて、切替の判定を行うものである。
【0025】
このように、本願に開示する動作制御装置においては、動作学習モデル情報の学習に使用した任意の部位の軌道の平均と操作情報の軌道との画面上での位置、及び時間の変化の一致度に基づいて、切替の判定を行うため、姿勢制御と動作制御とを自動でスムーズに切り替えて、滑らかで自然な動作を実現することができるという効果を奏する。
【0026】
本願に開示する動作制御装置は、前記制御対象物の動作中に、前記操作情報の入力がなくなるか、又は操作情報の変化がなくなった場合に、前記制御対象物の動作を進めるか戻すかを判定するためのタイミングに関する時間判定情報が予め設定されており、前記動作制御手段が、前記操作情報の入力がなくなるか、又は変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された時間判定情報に基づいて、順時間方向に動作を進めるか、又は逆時間方向に動作を進めるかを判定する時間方向判定手段を備え、前記時間方向判定手段の判定結果に基づいて、順時間方向又は逆時間方向に動作を進める制御を行うものである。
【0027】
このように、本願に開示する動作制御装置においては、動作中に操作情報の入力がなくなるか、又は変化がなくなった場合に、制御対象物が動作を順時間方向に進めるか逆時間
方向に進めるかを判定するため、物理的に自然な動作を実現し、状況に適した動作を実現することができるという効果を奏する。
【0028】
本願に開示する動作制御装置は、前記制御対象物の動作中に、前記操作情報の変化がなくなった場合に、前記制御対象物の動作を静止するか否かを判定するためのタイミングに関する静止判定情報が予め設定されており、前記動作制御手段が、前記操作情報の変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された静止判定情報に基づいて、前記制御対象物の動作を静止するか否かを判定する静止判定手段を備え、前記静止判定手段の判定結果に基づいて、動作を順時間方向もしくは逆時間方向に進めて制御するか、又は前のフレームと同じ動作の姿勢を維持する制御を行うものである。
【0029】
このように、本願に開示する動作制御装置においては、動作中に操作情報の変化がなくなった場合に、制御対象物が動作を静止するか否かを判定するため、物理的に自然な動作を実現し、状況に適した動作を実現することができるという効果を奏する。
【0030】
本願に開示する動作制御装置は、前記動作制御手段が、前記操作情報の入力が前のフレームから変化している場合に、前記入力された操作情報についての制約条件を満たす動作姿勢を生成し、当該生成した動作姿勢の標準化時刻が、前のフレームにおける動作姿勢の時刻から所定の閾値の範囲内であるか否かを判定する時間制御判定手段を備え、前記時間制御判定手段の判定結果に基づいて、前記生成された動作姿勢の標準化時刻が、所定の閾値の範囲内である場合は、当該生成された動作姿勢で制御し、前記所定の閾値の範囲外である場合は、前記生成された動作姿勢に向かって潜在空間内を所定の時間、順時間方向又は逆時間方向に時間を進め、当該進めた時刻における潜在空間内の位置に基づいて前記動作姿勢を合成して制御するものである。
【0031】
このように、本願に開示する動作制御装置においては、必要に応じて動作姿勢を合成することで、特に急激な動作姿勢の変化に対しても、連続性を考慮した自然な動きを実現することができるという効果を奏する。
【図面の簡単な説明】
【0032】
【図1】第1の実施形態に係る動作制御装置の操作入力の一例を示す図である。
【図2】第1の実施形態に係る動作制御装置における姿勢制御用の潜在空間の一例を示す図である。
【図3】第1の実施形態に係る動作制御装置における複数の動作の開始軌道の例を示す図である。
【図4】第1の実施形態に係る動作制御装置における動作状態を示す図である。
【図5】第1の実施形態に係る動作制御装置における動作制御用の潜在空間の一例を示す図である。
【図6】第1の実施形態に係る動作制御装置のハードウェア構成図である。
【図7】第1の実施形態に係る動作制御装置の機能ブロック図である。
【図8】第1の実施形態に係る動作制御装置における動作制御部の機能ブロック図である。
【図9】第1の実施形態に係る動作制御装置における追従制御部の機能ブロック図である。
【図10】第1の実施形態に係る動作制御装置の動作を示すフローチャートである。
【図11】第1の実施形態に係る動作制御装置における動作制御処理を示すフローチャートである。
【図12】第1の実施形態に係る動作制御装置における追従制御処理を示すフローチャートである。
【発明を実施するための形態】
【0033】
以下、本発明の実施の形態を説明する。本発明は多くの異なる形態で実施可能である。従って、本実施形態の記載内容のみで本発明を解釈すべきではない。また、本実施形態の全体を通して同じ要素には同じ符号を付けている。
【0034】
(本発明の第1の実施形態)
本実施形態に係る動作制御装置について、図1ないし図12を用いて説明する。図1は、本実施形態に係る動作制御装置の操作入力の一例を示す図、図2は、本実施形態に係る動作制御装置における姿勢制御用の潜在空間の一例を示す図、図3は、本実施形態に係る動作制御装置における複数の動作の開始軌道の例を示す図、図4は、本実施形態に係る動作制御装置における動作状態を示す図、図5は、本実施形態に係る動作制御装置における動作制御用の潜在空間の一例を示す図、図6は、本実施形態に係る動作制御装置のハードウェア構成図、図7は、本実施形態に係る動作制御装置の機能ブロック図、図8は、本実施形態に係る動作制御装置における動作制御部の機能ブロック図、図9は、本実施形態に係る動作制御装置における追従制御部の機能ブロック図、図10は、本実施形態に係る動作制御装置の動作を示すフローチャート、図11は、本実施形態に係る動作制御装置における動作制御処理を示すフローチャート、図12は、本実施形態に係る動作制御装置における追従制御処理を示すフローチャートである。
【0035】
本実施形態に係る動作制御装置は、図1に示すように、マルチタッチ入力に基づき、毎フレームのキャラクタの姿勢を制御して出力するものである。なお、入力機器は、マルチ入力をサポートするものであればよく、例えば複数のポインタ、複数のマウス等を用いる構成であってもよい。
【0036】
マルチタッチ入力により、利用者がキャラクタの部位をタッチ・ドラッグすると、各タッチ点ごとに部位・目標位置の制約条件が生成され、その制約条件にもとづいて、出力姿勢が計算される。ここで、目標位置の制約条件は、2次元の画面上の位置であるため、実際には、3次元空間の直線となる。
【0037】
先述の通り、本実施形態においては、姿勢制御時と動作制御時によって、学習モデルを切り替えて使用する。また、動作制御については、動作の種類ごとに異なる学習モデルを使用する。システムは、初期状態では姿勢制御を使用する。利用者がキャラクタの部位を動かしたときの軌道が、あらかじめ用意されたいずれかの動作に近ければ、その動作の学習モデルに切り替えて、動作制御を行う。利用者の入力により、実行中の動作が終了したときには、姿勢制御を使用する状態に戻る。
【0038】
また、本実施形態では、自然な姿勢変化を実現するため、姿勢制御・動作制御による姿勢をそのまま出力するのではなく、追従制御を用いて出力姿勢を生成する。本実施形態では、キャラクタの部位以外の場所をタッチしたときの動作や、ピンチ・スワイプなどのマルチタッチによるジェスチャを行ったときの動作は、特に定義されていないため、これらは、アプリケーションに応じて、例えば視点操作などの別の機能に割り当てることができる。
【0039】
姿勢制御について説明する。本実施形態における姿勢制御は、キャラクタが姿勢を変えたり、手や足を自由に動かしたりするような、特定の動作の型にはまらない動きの操作を目的としたものである。本実施形態では、Style−based IKの手法を用いて姿勢を生成する。データ構造としては、姿勢制御と動作制御のそれぞれにおいて、異なる姿勢計算方法を用いる。
【0040】
姿勢制御においては、予め与えられた姿勢情報に基づいて学習したモデルを用いる。サンプル姿勢を低次元の潜在空間(本実施形態では2次元の潜在空間を使用)に写像する方法として、幾つかの手法があるが(例えば、非特許文献1、2を参照)、本実施形態の実装では、多次元尺度構成法(MDS)を用いて、サンプル姿勢同士の距離が潜在空間上でもできる限り近くなるよう写像する手法を用いる。サンプル姿勢間の距離は、腰の位置と体の向きが一致するよう両姿勢を移動・回転した上で、全関節の距離の平均により計算する。
【0041】
学習に使うサンプル姿勢には、キャラクタが立った状態でのさまざまな姿勢変化を含む動作データから姿勢を取り出して使用する。また、キャラクタに各動作を行わせる場合も、動作開始判定が行われる前の動作の初期の姿勢は、姿勢制御を用いて生成されることになるため、各動作の学習に用いる動作データの開始部分の姿勢も使用する(動作開始判定、動作制御については詳細を後述する)。また、全てのサンプル姿勢について、左右にミラーリングした姿勢も学習に使用する。図2に学習結果の潜在空間の例を示す。
【0042】
利用者からの入力により、一つまたは複数の部位の目標位置が指定されると、学習モデルを用いて、指定された制約条件に近い姿勢を生成する。指定された制約条件に対応する潜在空間の座標を探索し、周囲のサンプル姿勢を合成することで姿勢を生成する。
【0043】
予め潜在空間をグリッドに分け、グリッドごとの代表となるサンプル姿勢を求めておき、それらと入力された制約条件を比較することで、効率的に探索を行うことができる。このとき、利用者が画面上で入力する制約条件は、画面上の2次元の座標であるため、三次元空間の直線に対応する。この直線と、サンプル姿勢の部位の位置との距離の平均値を計算することで、制約姿勢とサンプル姿勢の距離が求まる。入力された制約条件に最も合うグリッドが求まったら、その周囲のグリッドのサンプル姿勢と制約条件の距離を計算し、距離に応じてサンプル姿勢を合成(加重平均)することで姿勢を計算する。姿勢の合成は、関節の回転をブレンドすることにより行う。腰の位置・向きについては、サンプル姿勢を取り出したときの元の動作の開始状態からの相対的な移動・回転をブレンドし、姿勢制御開始時のキャラクタの位置・向きに加えることで計算する。
【0044】
Style−based IKにより生成した姿勢は、なるべく制約条件を満たすようサンプル姿勢を合成したものであるため、制約条件を完全に満たすとは限らない。そこで、本実施形態では、出力結果の姿勢に、従来のIK計算を適用して、制約条件を満たすように変形する。本実施形態の実装では、比較的高速なCCD(Cyclic−Coordinate−Descent) IK手法を用いる。
【0045】
上述したように、Style−based IKでは、3次元空間で連続した制約条件の軌道を与えたときに、潜在空間でも連続した軌道になることは保証されないため、利用者がキャラクタの部位を連続的に動かしたとしても、潜在空間での座標は不連続な点に移動してしまい、結果的に急激に姿勢が変化する可能性がある。本実施形態では、姿勢制御においては、この問題は考慮せず、単純に姿勢を生成し、追従制御の処理を加えることで出力姿勢が連続になるようにする。後述する動作制御と同様に、潜在空間上で徐々に座標を変化させる方法を用いることもできるが、特に動きの型があるわけではない姿勢制御においては、そのような方法で連続的な姿勢変化を生成したとしても、意味のある動作になるとは限らないため、上記のような方法を用いる。
【0046】
また、Style−based IKにより動作を生成する場合、単純に制約条件に合う姿勢を連続的に生成しているだけであるため、動作として自然になるとは限らない。例えば、現実の人間の動作であれば、ある部位を急に動かすると、動きを急激に止めること
はできないため、動きを止めた後でも体が動いたり、動かした部位以外の部位にも力が伝わって揺れたり、といった動きが生じる。このような動作を再現するためには、何らかの方法で力学的な要素を考慮して動作を生成する必要がある。本実施形態では、この問題についても、後述する追従制御を用いることで解決する。
【0047】
次に、動作制御について説明する。動作制御は、何らかの型のある動作の操作を目的としたものである。姿勢制御中に、利用者がキャラクタに何らかの動作を行うような入力をした場合、その動作に対応する動作制御に切り替える。
【0048】
動作の開始条件は、利用者が部位を動かした画面上の軌道と、動作の部位の動き画面に投影した軌道との距離により判定する。予め各動作には、動作の主要部位を手動で指定し(例えば、右手でパンチをする動作であれば主要部位は右手など)、その動作の学習に使用した全動作データの当該部位の平均軌道を求めておく。図3に動作の開始軌道の例を示す。
【0049】
利用者がその部位を動かしたときに、入力軌道と動作軌道の間の画面上での位置・時間変化の一致度から動作制御の開始判定を行う。一致度の計算では、両方の軌道を画面座標・時刻の配列により表現し、まずは、動的計画法により最も近い点同士の組み合わせを先頭から順番に求める。そして、各点同士の画面上での距離の平均値、及び入力・動作開始時間からの相対時間の差の平均値の合計により一致度を求める。一致度が閾値以下であれば、その動作の動作制御に切り替える。
【0050】
なお、動作開始の判定のとき、視点によっては動作軌道が画面に対して垂直に近くなってしまい、軌道を入力しにくかったり、誤認識の可能性が高くなったりしてしまう。そこで、軌道全体を表すベクトルを予め計算しておき、そのベクトルと視線ベクトルとの間の角度が一定値以下の動作は、開始判定の候補から除くようにする。例えば、利用者がキャラクタにパンチ動作を行わせたいときには、キャラクタを正面から見た状態では行わせることはできず、視点を操作してキャラクタを側面から見る状態にした上で、パンチ動作を行うようにキャラクタの手先を動かす必要がある。一般に、利用者がキャラクタに何らかの動作を行わせたいときには、動きを入力しやすいよう視点を変えることは自然であるため、このような視点に関する制約を導入することは妥当であると考えられる。図3の例では、実行可能な動作の軌道が点線、実行不可能な動作の軌道が実線で示されている。
【0051】
動作制御では、基本的には姿勢制御で用いたものと同様の手法により動作を生成する。しかし、動作制御では、型に従って動作する必要がある。例えば、パンチ動作において、利用者が急激に手先の位置を前に動かしたとしても、急にその位置に合った姿勢になるのではなく、パンチの動作を行いながら、その姿勢になる必要がある。ただし、動作制御では、動作を必ずしも順方向に実行するだけではなく、動きを逆の方向に戻したり、同じ動きを繰り返したりすることもあるため、そのような動作の生成にも対応する必要がある。
【0052】
一方、利用者が部位の位置を固定するように入力を続けたとしても、不自然な姿勢で動きを静止させることは望ましくない。例えば、歩く途中の足を動かしている途中の姿勢で静止したり、ジャンプ中に空中で静止したりすると、物理的に正しくない不自然な動作になってしまう。同じく、利用者が動作の途中で入力をやめてしまった(全ての指を離した)ときには、動作の途中の姿勢で静止するのではなく、動作開始時点の姿勢に戻るか、動作を最後まで実行してしまうことが期待される。本実施形態では、このような制約も考慮して姿勢を生成する。
【0053】
まず、各動作の学習処理では、サンプル姿勢を潜在空間に写像する際に、姿勢だけではなく、サンプル姿勢の動作時刻(もとの動作データでの動作開始時を0、終了時を1とし
たときの標準化時刻)と、以下の動作状態を記録しておく。
(1)静止可否:静止を許すか/許さないか
(2)自動再生:操作をやめた際に開始姿勢まで逆方向に再生するか/終了姿勢まで順方向に再生するか
上記の各種類の状態は独立であるため、種類ごとに状態を設定する。例えば、各動作データに手作業で状態の区間を指定しておき、その情報をもとに各サンプル姿勢の状態を決定するようにしてもよい(図4を参照)。また、動作制御のための潜在空間の例を図5に示す。図5では、もとの動作中で連続する姿勢(点)同士が線で結ばれており、各点は時刻の情報も含まれている。
【0054】
姿勢生成時には、上記の目的を満たすために、連続性を考慮した動作生成を行う。まずは、姿勢制御時と同様、入力された制約条件にもとづいて、潜在空間内での座標を探索する。このとき、座標に対応する姿勢だけではなく、動作の標準化時刻もブレンドして求める。前フレームの動作時刻と探索姿勢の動作時刻の間が離れている場合は、探索姿勢を出力する代わりに、探索姿勢に向かって潜在空間内で一定時間を進めた(又は戻した)姿勢を出力する。各サンプル姿勢に、次の時刻の姿勢へのベクトルを記録しておくことで、潜在空間内でどちらの方向に進むかを決定する。
【0055】
動作制御中に利用者が入力をやめた場合には、現在の姿勢の状態に基づいて、順方向に再生するか、逆方向に再生するかを決定し、上記と同様に潜在空間における進行方向のベクトルを求めて、姿勢を生成する。動作の終了姿勢に達した場合は、動作制御を終了し、姿勢制御の状態に戻る。姿勢制御と動作制御の間で制御方法を切り替える際、両者に共通のサンプル姿勢を含むようにしたとしても、姿勢が急激に変化し、不自然な動作になる可能性がある。本実施形態では、この問題についても、後述する追従制御を導入することにより解決する。
【0056】
次に、追従制御について説明する。追従制御は、姿勢制御・動作制御により計算された目標姿勢にもとづいて、キャラクタの姿勢を変化させることで、自然な動作を生成することを目的とする。上述の通り、姿勢制御には姿勢が連続的に変化するとは限らない、身体を動かしたときの揺れなど物理法則にもとづく動きには対応できない、といった問題がある。また、姿勢制御・動作制御の切り替え時に姿勢が急激に変化する可能性がある。本実施形態では、物理シミュレーションを用いた追従制御を適用することでこれらの問題を解決する。
【0057】
追従制御では、姿勢制御や動作制御により出力された姿勢を目標姿勢として、目標姿勢に追従するようなPD制御を行い、物理シミュレーションによってキャラクタの姿勢変化を計算する。PD制御は、非特許文献3や参考文献1(Victor B.Zordan, Anna Majkowska, Bill Chiu, Matthew Fast. "Dynamic Response for Motion Capture Animation", ACM Transaction of Graphics(Proc. of SIGGRAPH 2005), Vol.24, Issue 3, pp.697-701, 2005)等でも広く使われているが、目標姿勢に近づくよう個々の関節を独立に制御するため、緩慢な動きとなってしまうなど、人間らしい自然な動作は再現できない。そこで、本実施形態では、姿勢制御中、及び制御切り替え直後の、利用者が直接操作していない部位にのみ追従制御結果の姿勢を用いる。他の部位については、姿勢制御・動作制御による姿勢をそのまま用いる。
【0058】
本実施形態では、参考文献1と同様の手法を用い、追従制御による姿勢を計算する。姿勢制御・動作制御の出力から目標姿勢が決まったら、PD制御により、各関節のトルクを計算する。このトルクに従って、動力学シミュレーションを行うことにより、姿勢変化を計算する。下半身の姿勢変化に関しては、同様にPD制御を用いて、腰の並進移動力・回転トルクを求め、動力学シミュレーションに適用する。このとき、全身の姿勢のうち、利
用者が操作をしていない部位の関節のみ、追従制御の結果を使用する。人体を、右肩〜右手、左肩〜左手、腰〜首、下半身、の範囲に分け、それぞれの範囲ごとに、利用者が操作をしている部位が全くなければ、追従制御の結果の関節角度を使用する。追従制御を用いることで、連続的な姿勢変化を実現する。また、例えば、姿勢制御中に右腕を動かしたときに、腰や左腕なども揺れが伝わって若干動くような、学習モデルに含まれていない動きも再現できる。
【0059】
図6に、本実施形態に係る動作制御装置のハードウェアの構成を示す。動作制御装置1は、システムプログラムや各種プログラム(例えば、姿勢制御プログラム、動作制御プログラム等)が格納されているROM13と、各種データ(例えば、姿勢学習情報、動作学習情報等)が格納されているHD(ハードディスク)14と、各種プログラム等が必要に応じて読み出され、CPU11の作業領域として用いられるRAM12と、読み出されたプログラム等に基づいて実際の演算を実行するCPU11と、他の装置(例えば、ネットワークを通じてオンラインとなっている他の端末等)と通信を行うためのインタフェースである通信I/F15と、コントローラ、ゲームパッド、キーボード、マウス等の入力機器からの入力を受け付けたり、ディスプレイ、プリンタ等にデータを出力するためのインタフェースである入出力I/F16とを備える。この入出力I/F16として、例えば家庭用ゲーム装置ではゲームプログラムが格納されている、CD−ROM、DVD−ROM等の光ディスクやゲームカセットに対応するドライブ等に加え、USB、RS232C等も含まれる。
【0060】
図7に、本実施形態に係る動作制御装置の機能ブロック図を示す。動作制御装置1は、操作情報入力部21と制約条件演算部22と動作選択・切替部23と動作制御部24と姿勢制御部25と追従制御部26と姿勢学習モデル情報27と動作学習モデル情報28とディスプレイ30とを備える。動作選択・切替部23は、さらに動作選択部231と切替部232とを備える。
【0061】
操作情報入力部21は、利用者が行った操作に関する操作情報29を入力する。利用者が行う操作として、コントローラ、ゲームパッド、キーボード、マウス等を用いた操作が含まれるが、ディスプレイ上のキャラクタの動きの自由度を増すために、本実施形態では特にマルチタッチデバイスを用いることが望ましい。
【0062】
制約条件演算部22は、操作情報入力部21で入力された操作情報21(ここでは、マルチタッチデバイスを用いたマルチタッチの操作情報とする)に基づいて、利用者がタッチしたタッチ点ごとに部位・目標位置(2次元画面上の座標)の制約条件を生成する。
【0063】
動作選択・切替部23は、キャラクタが姿勢を変えたり、手足を自由に動かしたりするような特定の動作の型にはまらない姿勢制御中に、何らかの型のある動作の操作が入力された場合に、その動作に対応する動作学習モデル情報28を動作選択部231が選択し、切替部232が、その動作制御に切り替える。具体的には、上述したように、動作の主要部位を指定し、その動作の学習に使用した全動作データの当該部位の平均軌道と、操作により入力された入力軌道との間の画面上での位置・時間変化の一致度により切り替えの判定を行う。
【0064】
姿勢制御部25は、制約条件と、予め与えられた姿勢情報に基づいて学習がなされた姿勢学習モデル情報27とに基づいて出力姿勢を計算することで、特定の動作の型にはまらない動きを制御する。
【0065】
動作制御部24は、動作選択・切替部23が姿勢制御から動作制御に切り替えると共に、特定の動作を選択した場合に、その選択した動作に対応する動作学習モデル情報28に
基づいて出力姿勢を計算することで、型のある動作を制御する。ここでは、動作学習モデル情報28の作成時に、潜在空間内の各座標における動作の標準化時刻を記録しておき、動作の姿勢を生成する場合には、潜在空間内の座標に対応する姿勢だけでなく、動作の標準化時刻も求めることで上述したように連続性を実現する。
【0066】
ここで、動作制御部24についてさらに詳細に説明する。図8において、動作制御部24は、静止判定部31と時間方向判定部32と動作時間制御判定部33と動作時間制御部34と姿勢計算部35とを備える。
【0067】
静止判定部31は、例えば部位の位置を固定するような入力(マルチタッチのタッチ位置が固定)がある場合に、動作の途中であっても動作を静止するかどうかを、標準化時刻と予め設定された動作の区間におけるタイミング情報(図4を参照)とに基づいて判定する。静止する場合には、姿勢計算部35が前のフレームと同じ動作姿勢を維持する姿勢計算を行い、静止しない場合には、以下に説明する時間方向の判定を行う。
【0068】
時間方向判定部32は、例えば部位の位置を固定するような入力があるものの動作を静止できない状態である場合や、利用者が動作の途中で入力を辞めてしまった(マルチタッチから全ての指を離した)ような場合に、順方向に時間を進めるか逆方向に時間を進めるかを、標準化時刻と予め設定された動作の区間におけるタイミング情報(図4を参照)とに基づいて判定する。判定の結果に応じて、動作時間制御部34が順時間方向、又は逆時間方向に時間を制御し、姿勢計算部35が姿勢を計算する。
【0069】
動作時間制御判定部33は、入力された操作情報についての制約条件を満たす動作姿勢の標準化時刻(一旦、姿勢計算部35にて姿勢計算された計算情報における標準化時刻)が、前のフレームの潜在空間における動作姿勢の標準化時刻から所定の時刻の範囲内であるかどうかを判定する。所定の時刻の範囲内であれば、姿勢計算部35がそのまま動作姿勢の計算を行う。所定の時刻の範囲外であれば、動作時間制御部34が、順時間方向又は逆時間方向に時間を制御し、姿勢計算部35が、その時刻における動作姿勢を合成して、姿勢の計算を行う。
【0070】
図7に戻って、追従制御部26は、姿勢制御部25の制御、及び動作制御部24により計算された目標姿勢に基づいて、姿勢を変化させて自然な動作を生成してディスプレイ30に出力する。
【0071】
ここで、追従制御部26についてさらに詳細に説明する。図9において、追従制御部26は、関節トルク算出部41と物理シミュレーション部42と入力部位特定部43と出力姿勢特定部44とを備える。この追従制御部26は、動作制御中は処理を行わず動作姿勢をそのまま出力姿勢とする。
【0072】
関節トルク算出部41は、前のフレームの姿勢を目標姿勢に近づけるためにPD制御により関節トルクを計算する。物理シミュレーション部42は、計算した関節トルクに基づいて、動力学シミュレーションを行って姿勢を求める。ここで求められる姿勢を更新姿勢とする。入力部位特定部43は、操作情報の入力がある部位と操作情報の入力がない部位とを、それぞれ特定する。出力姿勢設定部44は、操作情報の入力がある部位については、目標姿勢の関節角度を出力姿勢に設定し、操作情報の入力がない部位については、更新姿勢の関節角度を出力姿勢に設定する。
【0073】
図10は、動作制御装置の処理手順を示すフローチャートである。まず、マルチタッチによる入力情報が、操作情報29として操作情報入力部21に入力される(S11)。制約条件演算部22が、タッチ点ごとに部位と目標位置の制約条件を演算する(S12)。
初期状態では姿勢制御部25が姿勢制御を行い(S13)、動作が入力された場合に、動作選択・切替部23が対応する動作の選択と制御の切り替えを行う。動作制御部24は、選択された動作学習モデル情報に基づいて動作制御を行う(S14)。
【0074】
ここで、ステップS14の動作制御の処理手順について、図11を用いてさらに詳細に説明する。動作制御が開始されると、まず操作情報の入力があるかどうかを判定し(S21)、入力がない場合は、時間方向判定部32が、標準化時刻と予め設定された動作の区間におけるタイミング情報とに基づいて、時間方向の判定を行う(S25)。順時間方向の場合は、動作姿勢を順時間方向(目標姿勢に進める方向)に進めて制御し(S26)、逆時間方向の場合は、動作姿勢を逆時間方向(前の姿勢に戻す方向)に進めて制御して(S27)、処理を終了する。
【0075】
S21で入力がある場合は、入力された操作情報が前のフレームと同じであるかどうかを判定し(S22)、同じである場合は、静止判定部31が静止判定を行い(S23)、異なる場合は、動作時間制御判定部33が動作時間の制御を行うかどうかの判定を行う(S28)。S23で静止判定部31が静止しないと判定した場合は、前記で説明したS25以降の処理を行う。静止判定部31が静止すると判定した場合は、前のフレームと同じ動作姿勢を維持する制御をして(S24)、処理を終了する。
【0076】
S28で動作時間制御判定部33が動作時間の制御をしないと判定した場合は、入力された操作情報についての制約条件に従って、そのまま動作姿勢を制御して(S29)、処理を終了する。動作時間を制御すると判定した場合は、順時間方向又は逆時間方向に所定時間だけ進めた時刻における動作姿勢を合成して制御し(S30)、処理を終了する。なお、ここで言う所定時間だけ進めた時刻とは、合成判定部33が、合成をするかどうかを判定する際に用いた、所定の時刻未満の範囲内である。
【0077】
図10に戻って、上記姿勢制御、動作制御により、目標姿勢を計算し(S15)、追従制御部26が追従制御を行う(S16)。
【0078】
ここで、ステップS16の追従制御の処理手順について、図12を用いてさらに詳細に説明する。追従制御が開始されると、まず制御モードが動作制御か姿勢制御かを判定する(S31)。動作制御の場合は、目標姿勢をそのまま出力し(S32、S33)、処理を終了する。姿勢制御の場合は、関節トルクを計算し(S34)、関節トルクに基づく動力学シミュレーションを実行する(S35)。操作情報の入力がある部位とない部位とを特定し、入力がある部位については、目標姿勢に関節角度を設定して出力する動作姿勢として設定し、入力がない部位については、動力学シミュレーションで求めた更新姿勢に関節角度を設定して出力する動作姿勢として設定し(S36)、動作姿勢を出力処理して(S33)、処理を終了する。
【0079】
図10に戻って、追従制御された出力姿勢をディスプレイ30に表示して(S17)、処理を終了する。
【0080】
以上の前記実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら実施形態に多様な変更又は改良を加えることが可能である。
【実施例】
【0081】
上記実施形態に示す手法を実装した。この実装したシステムを使用して、キャラクタの操作を行い、期待した通りの操作が行えることが確認された(図1を参照)。また、姿勢制御から動作制御に移る際の判定については、概ね正しく判定された。さらに、入力され
た部位の位置によっては、不自然な姿勢になってしまうことが稀にあったが、これは入力された制約条件を満たすように、Style−based IKの後に従来のIKを適用して、姿勢を修正しているためであると考えられる。この問題は、より多数のサンプル姿勢を追加したり、IKによる姿勢の修正を制限したりすることで、解決することができる。
【0082】
開発したシステムを用いて実際にキャラクタの操作を行ってみた結果、利用者の操作に応じて、利用者が行わせようとしている動作を選択し、その動作を実現する工夫がなされているため、一つの部位を動かすだけでも、想定した動作が実現できていた。さらに、マルチタッチで複数の操作入力を同時に行った場合には、姿勢制御中に複数の部位を動かしたり、動作制御中に姿勢を変えて動きに変化をつけたりすることができた。また、キャラクタを操作する際には、必ずしも部位を動かすだけでなく、ある部位は動かさないように固定したい、ということもあり、そのような要求も、マルチタッチにより実現することができた。
【0083】
画面を直接タッチして操作を行うと、画面が手で隠れてしまうため見にくくなるときがある。そのため、前の動作が終わるまでキャラクタの部位をタッチできず、次の動作を先行して入力することができない、といった問題がある。これらの問題については、複数の画面を用いたり、動作終了時の姿勢を仮に表示して操作できるようにしたり、といった解決方法が考えられる。
【0084】
また、操作可能な動作の種類に関する問題として、予め登録されている動作以外の動作は実現できない、という問題がある。また、例えば、歩きながら手を振るなど、複数の動作の組み合わせも、実現が難しい。キャラクタの移動に関しては、現在は歩行動作や方向転換動作を腰の移動に応じて実行することは可能だが、任意の軌道に沿って歩かせるようなことは難しい。移動動作に関しては、特殊な動作判定・生成の手法を利用して、腰をある程度の距離以上ドラッグするとその軌道に応じてキャラクタを歩き回らせる、といった拡張が考えられる。
【符号の説明】
【0085】
1 動作制御装置
11 CPU
12 RAM
13 ROM
14 HD
15 通信I/F
16 入出力I/F
21 操作情報入力部
22 制約条件演算部
23 動作選択・切替部
231 動作選択部
232 切替部
24 動作制御部
25 姿勢制御部
26 追従制御部
27 姿勢学習モデル情報
28 動作学習モデル情報
29 操作情報
30 ディスプレイ
31 静止判定部
32 時間方向判定部
33 合成判定部
34 動作姿勢合成部
35 制御処理部
41 関節トルク算出部
42 物理シミュレーション部
43 入力部位特定部
44 出力姿勢設定部

【特許請求の範囲】
【請求項1】
利用者の操作情報に基づいて制御対象物の動きを制御する動作制御装置において、
前記利用者が行った操作に関する操作情報を入力する操作入力手段と、
前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出手段と、
予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報、及び前記制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御手段と、
予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報、及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の任意の部位の動作を制御する動作制御手段と、
前記操作情報に基づいて、姿勢制御、又は動作制御を切り替える制御切替手段と、
前記姿勢制御手段、及び動作制御手段が計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御手段とを備えることを特徴とする動作制御装置。
【請求項2】
請求項1に記載の動作制御装置において、
前記操作入力手段が、複数の系の操作情報を同時に入力するマルチ入力であることを特徴とする動作制御装置。
【請求項3】
請求項1又は2に記載の動作制御装置において、
前記追従制御手段が、前記操作情報に含まれない前記制御対象物の部位について、物理シミュレーションで動きを計算することを特徴とする動作制御装置。
【請求項4】
請求項1ないし3のいずれかに記載の動作制御装置において、
前記制御切替手段が、前記動作学習モデル情報の学習に使用した前記任意の部位の軌道の平均と前記操作情報の軌道との画面上での位置、及び時間の変化の一致度に基づいて、切替の判定を行うことを特徴とする動作制御装置。
【請求項5】
請求項1ないし4のいずれかに記載の動作制御装置において、
前記制御対象物の動作中に、前記操作情報の入力がなくなるか、又は操作情報の変化がなくなった場合に、前記制御対象物の動作を進めるか戻すかを判定するためのタイミングに関する時間判定情報が予め設定されており、
前記動作制御手段が、
前記操作情報の入力がなくなるか、又は変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された時間判定情報に基づいて、順時間方向に動作を進めるか、又は逆時間方向に動作を進めるかを判定する時間方向判定手段を備え、
前記時間方向判定手段の判定結果に基づいて、順時間方向又は逆時間方向に動作を進める制御を行うことを特徴とする動作制御装置。
【請求項6】
請求項1ないし5のいずれかに記載の動作制御装置において、
前記制御対象物の動作中に、前記操作情報の変化がなくなった場合に、前記制御対象物の動作を静止するか否かを判定するためのタイミングに関する静止判定情報が予め設定されており、
前記動作制御手段が、
前記操作情報の変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された静止判定情報に基づいて、前記制御対象物の動作を静止するか否かを判定する静止判定手段を備え、
前記静止判定手段の判定結果に基づいて、動作を順時間方向もしくは逆時間方向に進めて制御するか、又は前のフレームと同じ動作の姿勢を維持する制御を行うことを特徴とする動作制御装置。
【請求項7】
請求項1ないし6のいずれかに記載の動作制御装置において、
前記動作制御手段が、
前記操作情報の入力が前のフレームから変化している場合に、前記入力された操作情報についての制約条件を満たす動作姿勢を生成し、当該生成した動作姿勢の標準化時刻が、前のフレームにおける動作姿勢の時刻から所定の閾値の範囲内であるか否かを判定する時間制御判定手段を備え、
前記時間制御判定手段の判定結果に基づいて、前記生成された動作姿勢の標準化時刻が、所定の閾値の範囲内である場合は、当該生成された動作姿勢で制御し、前記所定の閾値の範囲外である場合は、前記生成された動作姿勢に向かって潜在空間内を所定の時間、順時間方向又は逆時間方向に時間を進め、当該進めた時刻における潜在空間内の位置に基づいて前記動作姿勢を合成して制御することを特徴とする動作制御装置。
【請求項8】
利用者の操作情報に基づいて制御対象物の動きをコンピュータが制御する動作制御方法において、
前記利用者が行った操作に関する操作情報を入力する操作入力ステップと、
前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出ステップと、
前記操作情報に基づいて、姿勢の変化の制御、又は制御対象物の主要部位の動作の制御を切り替える制御切替手段と、
前記制御切替手段の切り替えにしたがい、予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報及び前記制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御処理、又は予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の任意の部位の動作を制御する動作制御処理を実行する制御ステップと、
前記姿勢制御ステップ、及び動作制御ステップが計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御ステップとを含むことを特徴とする動作制御方法。
【請求項9】
利用者の操作情報に基づいて制御対象物の動きを制御するようにコンピュータを機能させる動作制御プログラムにおいて、
前記利用者が行った操作に関する操作情報を入力する操作入力手段、
前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出手段、
予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報、及び前記制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御手段、
予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報、及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の主要部位の動作を制御する動作制御手段、
前記操作情報に基づいて、姿勢の変化の制御、又は制御対象物の任意の部位の動作の制御を切り替える制御切替手段、
前記姿勢制御手段、及び動作制御手段が計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御手段としてコンピュータを機能させることを特徴とする動作制御プログラム。

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−8862(P2012−8862A)
【公開日】平成24年1月12日(2012.1.12)
【国際特許分類】
【出願番号】特願2010−145171(P2010−145171)
【出願日】平成22年6月25日(2010.6.25)
【出願人】(504174135)国立大学法人九州工業大学 (489)
【Fターム(参考)】