JP3960536B2 - モーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実現される方法およびコンピュータで実行可能なプログラム - Google Patents
モーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実現される方法およびコンピュータで実行可能なプログラム Download PDFInfo
- Publication number
- JP3960536B2 JP3960536B2 JP2002235128A JP2002235128A JP3960536B2 JP 3960536 B2 JP3960536 B2 JP 3960536B2 JP 2002235128 A JP2002235128 A JP 2002235128A JP 2002235128 A JP2002235128 A JP 2002235128A JP 3960536 B2 JP3960536 B2 JP 3960536B2
- Authority
- JP
- Japan
- Prior art keywords
- joint
- chain
- motion capture
- computer
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
【発明の属する技術分野】
この発明はモーションキャプチャのための、パラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための方法とプログラムとに関し、特にこの発明は、人間の行為者のキャプチャされた動きに基づき動きの生成に必要なパラメータを自動的に決定するための方法とプログラムとに関する。
【0002】
【従来の技術】
ヒューマノイドロボットの製作について関心が高まっている。このようなロボットのための動きを生成することは、関節の数の多さ、関節間の関連性、冗長性、およびこのようなロボットと対話する人間がヒューマノイドロボットは人間のような動きをする筈であると考えること、などという理由から困難である。コンピュータグラフィックスでアニメーションのキャラクタの動きを生成する際にも、同じ問題に遭遇する。このようなヒューマノイドロボットまたはCGアニメーションキャラクタをここでは「エージェント」と呼ぶ。
【0003】
出願人は図1に示すようなヒューマノイドロボットを開発した。図1から見られるように、名前の由来のとおり、ヒューマノイドロボットは人間のそれと同様の動力学的な構造を有しており、ヒューマノイドロボットと人間との類似性を活かして、類似の人間の軌跡に基づき適切なロボットの軌跡を生成することができる。さらに、通常はヒューマノイドロボットは人間のような動きで作業することが要求されるので、そのような作業の性質を利用することもできる。従って、娯楽産業およびコンピュータグラフィックス[1]から得られるモーションキャプチャ技術、ロボットの遠隔操作分野、直接に教えることまたは見せることによるロボットのプログラミング[2]および仮想現実の分野における技術を検討することは理にかなったことであろう。
【0004】
モーションキャプチャはヒューマノイドエージェントの人間のような動きを生成するための最も重要な技術の一つである。これには、好適な測定装置を用いて人間の行為者の動きを測定することと、測定された動きをヒューマノイドエージェントの動きに変換することとが含まれる。
【0005】
[参考文献]
[1] B.ボーデンハイマー(B. Bodenheimer)、C.ローズ(C. Rose)著、「モーション・キャプチャのプロセス:データの取扱い(The process of motion capture: Dealing with the data)」、コンピュータ・アニメーションおよびシミュレーション(Computer Animation and Simulation)’97、ユーロ・グラフィックス・ワークショップ予稿集(Proc. Eurographics Workshop). pp. 3-18. シュプリンガー・フェアラーク社刊、1997年
[2] T.ロツァノ−ペレス(T. Lozano-Perez)著、「ロボット・プログラミング(Robot programming)」、IEEE予稿集(Proc. IEEE) vol. 71, no. 7, pp. 821-841、1983年7月
[3] B.カラン(B Karan)およびM.ヴコブラトヴィック(M. Vukobratovic)著、「マニピュレーション・ロボット・モデルのキャリブレーションおよび精度―概観(Calibration and accuracy of manipulation robot models−an overview)」、メカニズムおよびマシン理論(Mechanism and machine Theory)、vol. 29, no. 3, pp. 479-500、1994年
[4] M.A.ラフォーチュン(M.A. Lafortune)、P.R.キャバノウ(P.R. Cavanaugh)、H.J.ソマー(H.J. Sommer)およびA.カレンカ(A. Kalenka)著、「歩行中における人間の3次元的動力学(Three-dimensional kinematics of the human knee during walking)」、ジャーナル・オブ・バイオメカニクス(J. Biomechanics)、vol. 25, no. 4, pp. 347-357、1992年4月
[5] J.F.オブライエン(J.F. O’Brien)、R.E.ボーデンハイマー(R.E. Bodenheimer)、G.J.ブロストウ(G.J. Brostow)およびJ.K.ホジンス(J.K. Hodgins)著、「磁気的モーションキャプチャデータからの関節パラメータの自動推定(Automatic joint parameter estimation from magnetic motion capture data)」、グラフィック・インターフェース2000会議予稿集(Proc. Graphics Interface 2000 Conference)、カナダ、モントリオール、2000年5月
[6] M.−C.シラギ(M.-C. Silaghi)、R.プレンカース(R. Plaenkers)、R.ブーリック(R. Boulic)、Pl フア(Pl Fua)およびD.ソールマン(D. Thalmann)著、「光学的モーション・キャプチャのためのローカルおよびグローバル骨格フィッティング技術(Local and global skeleton fitting techniques for optical motion capture)」、仮想環境のためのモデリングおよびモーション・キャプチャ技術(Modeling and Motion Capture Techniques for Virtual Environments)、N.マグネラート・ソールマン(N. Magnerat Thalmann)およびD.ソールマン(D. Thalmann)編、p. 26-40、コンピュータ・サイエンスについての講義ノート 1537(Lecture Notes in Computer Science 1537)、シュプリンガー・フェアラーク社刊、ベルリン、ニュー・ヨーク、1998年
[7] R.M.マレー(R.M. Murray)、Z.リー(Z. Li)およびS.S.サストリ(S.S. Sastry)著、「ロボット・マニピュレーションへの数学的導入(A Mathematical Introduction to Robotic Manipulation)、シー・アール・シー・プレス社刊、ボカ・レイトン、ニュー・ヨーク、1994年
[8] T.コールマン(T. Coleman)、M.A.ブランチ(M.A. Branch)、およびA.グレース(A. Grace)著、「最適化ツールボックス ユーザーズ・ガイド(Optimization Toolbox User’s Guide)」、The MathWorks社刊、ネイティック MA.1999年
[9] K.S.エイラン(K.S. Arun)、T.s.フアンジ(T.S. Huange)およびS.D.ブロスタイン(S.D. Blostein)著、「二つの3D点集合の最小二乗フィッティング(Least-squared fitting of two 3-D point sets)、IEEEトランザクションズ・オブ・パターン・アナリシス・アンド・マシン・インテリジェンス(IEEE Trans. Pattern Anal. Machine Intell.)、Vol. 9, no. 5, pp. 698-700、1987年9月
【発明が解決しようとする課題】
実際に物理的な装置を制御するための要件により、仮想現実および娯楽の応用からの技術には修正を要することがわかった。主な問題は、教示用データの処理が困難なことと、モーションキャプチャが煩雑な作業であることとである。
【0006】
キャプチャされた動きに基づいてエージェントのための動きを生成するためには、好適な測定装置を用いて人間の行為者の全身の動きをキャプチャする必要があるだろう。このような装置の一つにゴニオメータ(goniometer)を使ったシステムがある。行為者がゴニオメータを装着すると、ゴニオメータは関節の位置とその向きとして、行為者の動きを直接に測定する。このゴニオメータを使ったシステムの主な欠点は、ゴニオメータが特定のロボット向けに設計された特定のサイズのものであるため、適正サイズの人しか装着できないということである。人間の行為者の背が低すぎたりすれば、ゴニオメータを使ったシステムを身に付けることはできない。このため、人間の動きを容易にキャプチャし、パラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させる方法およびプログラムが必要とされている。
【0007】
ロボットマニピュレータのために動力学モデルを自動構築する技術はロボット工学分野では十分に確立されている。完全性、比率、および等価性等の基準に従って、最も好適な動力学的なパラメータシステムを特定する研究が数多くなされている[3]。未知の動力学パラメータは、ロボットハンド(対象物を操作するロボットの手の部分)の姿勢測定およびロボットの関節位置の読取から特定されることが最も一般的である。
【0008】
残念ながら、人間の動力学モデルを構築する際には関節位置データが利用できない。加えて、ロボット工学で開発されてきた技術は多くの場合、ロボットが単一の関節についてのみ、他の自由度での動きなしに動くことを要求するが、人間がこのようにするのは困難である。最後に、人間の動きの動力学的パラメータを特定することとは別に、モデルを将来使用することを可能にするためには、動き推定プロセスにより身体のマーカの位置も決定しなければならない。
【0009】
人間のための動力学モデルの特定はバイオメカニクスおよびコンピュータグラフィックの分野で研究されてきた。バイオメカニクスの世界では、人間の関節が理想的な回転関節ではなく、このため固定された回転中心を持たないことがよく知られている[4]。バイオメカニクスの研究者はしばしば、関節の位置を固定する代わりに、瞬間的な回転中心を推定する。
【0010】
しかし、ヒューマノイドロボットの動きを生成することが目標であるならば、人間の動きをできる限り正確にモデリングする必要はない。もしヒューマノイドロボットの関節軸の位置が固定されているならば、人間の行為者の動力学モデルの回転軸もまた固定されているべきであり、これはある程度の正確さで真実といえる。
【0011】
従って、この発明の目的はモーションキャプチャのための、パラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させることのできる方法およびプログラムを提供することである。
【0012】
この発明の別の目的は、いかなる手動の測定もなしに、モーションキャプチャのための、パラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させることのできる方法およびプログラムを提供することである。
【0013】
この発明のさらに別の目的は、一回の長い最適化問題においてすべての関節軸位置を推定する必要なしに、少ない計算量で、モーションキャプチャのための、パラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させることのできる方法およびプログラムを提供することである。
【0014】
【課題を解決するための手段】
この発明のある局面によれば、モーションキャプチャのためのパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるためのコンピュータで実現される方法は、人間の行為者の身体部品に付けられたマーカの、それぞれのローカル身体部品座標系におけるコンピュータ読取可能な位置データの組と、グローバル身体座標系に対するローカル身体部品座標系の位置と向きとを準備する位置データ準備ステップと、人間の行為者の身体部品に付けられたマーカの位置を表すコンピュータ読取可能なモーションキャプチャデータの第一の組を準備するステップとを含み、このモーションキャプチャデータは人間の行為者がある一組の動きを行なう間にキャプチャされ、さらに位置データの組とコンピュータ読取可能なモーションキャプチャデータの第一の組とを用いてコンピュータに人間の行為者の身体部品の関節軸の位置を推定させるステップを含む。
【0015】
コンピュータに推定させるステップは、コンピュータ読取可能なマーカの位置データの組と、コンピュータ読取可能なモーションキャプチャデータの第一の組と、パラメトリックな動力学モデルの連鎖中で先行する場所にある関節軸の組の位置とを用いて、パラメトリックな動力学モデルの連鎖内における現在の関節軸の組の位置を計算するステップをコンピュータに自動的に行なわせるステップを含み、連鎖中で先行する場所にある関節軸の組は、連鎖中で先行する場所にある関節軸の組の周りの動きが現在の関節軸の組の位置に影響を与えるような様態で動力学的な連鎖中に配置されている。
【0017】
関節軸の現在の組の位置を計算するステップは、好ましくは、(a)モーションキャプチャデータの第一の組の全ての測定時間について、各測定時間での人間の行為者の身体の位置および向き、ならびにもしあれば、その時点での連鎖中で先行する場所にある軸の組の関節角度を、コンピュータ読取可能なマーカの位置データの組と、モーションキャプチャデータの第一の組と、もしあれば先行するステップで計算された、連鎖中で先行する場所にある関節軸の組の位置とを用いて、推定するステップと、(b)コンピュータ読取可能なマーカの位置データの組と、モーションキャプチャデータの第一の組と、もしあれば先行するステップで計算された、連鎖中で先行する場所にある関節軸の組の位置と、身体の位置および向きと、もしあれば、ステップ(a)で計算された連鎖中で先行する場所にある関節軸の組に関連する関節角度とを用いて、連鎖内における現在の関節軸の組の位置と、関連した関節角度とを推定するステップとを含む。
【0018】
コンピュータが、先行する関節軸の組の位置と連鎖中の関節軸の第二の組の位置とを自動的に計算し、かくして連鎖中のすべての後続の関節軸が計算されるので、パラメトリックな動力学的モデルを人間の行為者のサイズに自動的に適応させることが可能となる。マーカの位置が計算に用いられるので、人間の行為者の関節軸の位置を手動で測定する必要はない。さらに、計算が2ステップで行なわれ、第一のステップの結果が第二のステップで用いられるので、計算量が減じられる。
【0019】
前記ステップ(a)は、モーションキャプチャデータの第一の組と、位置データの組と、身体の位置および向きと、連鎖中で先行する場所にある関節軸の組の関節角度と、先行するステップで計算された連鎖中で先行する場所にある関節軸の組の位置とによって規定される好適な指標関数を最適化することによって、連鎖中で先行する場所にある関節軸の組の関節角度を推定するステップを含んでもよい。
【0020】
最適化されるべき変数が、関節角度と、身体の位置および向きとを含むのみなので、計算量が減じられ、短時間で結果を得ることができる。
【0021】
ステップ(b)は、モーションキャプチャデータの第一の組と、位置データの組と、身体の位置および向きと、連鎖中で先行する場所にある関節軸の組および現在の関節軸の組の関節角度と、先行するステップで計算された連鎖中で先行する場所にある関節軸の組の位置および現在の関節軸の組の位置とによって規定される好適な指標関数を最適化することによって、現在の関節軸の組の位置を推定するステップを含んでもよい。
【0022】
最適化されるべき変数が、関節角度と、現在の関節軸の組の位置とを含むのみなので、計算量が減じられ、短時間で結果を得ることができる。
【0023】
位置データ準備ステップは、人間の行為者が予め定められた基準姿勢にある間に、人間の行為者の身体部品に付けられたマーカの位置を表すコンピュータ読取可能なモーションキャプチャデータの第二の組を準備するステップを含んでもよい。
【0024】
人間の行為者は予め定められた基準姿勢で立つことを求められるので、位置データを準備するのが容易である。
【0025】
予め定められた基準位置では、人間の行為者は手足を伸ばした直立姿勢で立っていてもよい。
【0026】
この発明の別の局面によれば、モーションキャプチャのために、パラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実行可能なプログラムは、人間の行為者の身体部品に付けられたマーカの、それぞれのローカル身体部品座標系におけるコンピュータ読取可能な位置データの組と、グローバル身体座標系に対するローカル身体部品座標系の位置と向きとを準備するための第一のプログラム部分と、人間の行為者の身体部品に付けられたマーカの位置を表すコンピュータ読取可能なモーションキャプチャデータの第一の組を準備するための第二のプログラム部分とを含み、モーションキャプチャデータは人間の行為者がある組の動きを行なう間にキャプチャされ、さらに位置データの組とコンピュータ読取可能なモーションキャプチャデータの第一の組とを用いて人間の行為者の身体部品の関節軸の位置を推定する第三のプログラム部分を含み、この第三のプログラム部分は、コンピュータ読取可能なマーカの位置データの組と、コンピュータ読取可能なモーションキャプチャデータの第一の組と、パラメトリックな動力学モデルの連鎖中で先行する場所にある関節軸の組の位置とを用いて、動力学モデルの連鎖内における現在の関節軸の組の位置を計算する第四のプログラム部分を含み、連鎖中で先行する場所にある関節軸の組は、連鎖中で先行する場所にある関節軸の組の周りの動きが現在の関節軸の組の位置に影響を与えるような様態で動力学的連鎖中に配置されている。
【0027】
先行する関節軸の組の位置と連鎖中の関節軸の第二の組の位置とをコンピュータが自動的に計算し、かくして連鎖中のすべての後続の関節軸が計算されるので、パラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させることが可能となる。マーカの位置が計算に用いられるので、人間の行為者の関節軸の位置を手動で測定する必要はない。
【0028】
第四のプログラム部分は、モーションキャプチャデータの第一の組の全ての測定時間について、各測定時間での人間の行為者の身体の位置および向き、ならびにもしあれば、その時点での連鎖中で先行する場所にある軸の組の関節角度を、コンピュータ読取可能なマーカの位置データの組と、モーションキャプチャデータの第一の組と、もしあれば先行するステップで計算された連鎖中で先行する場所にある関節軸の組の位置とを用いて、推定するプログラム部分(a)と、コンピュータ読取可能なマーカの位置データの組と、モーションキャプチャデータの第一の組と、もしあれば先行するステップで計算された連鎖中で先行する場所にある関節軸の組の位置と、身体の位置および向きと、もしあれば、プログラム部分(a)で計算された連鎖中で先行する場所にある関節軸の組に関連する関節角度とを用いて、連鎖中における現在の関節軸の組の位置と、関連した関節角度とを推定するプログラム部分(b)とを含んでもよい。
【0029】
先行する関節軸の組の位置と連鎖中の関節軸の第二の組の位置とをコンピュータが自動的に計算し、かくして連鎖中のすべての後続の関節軸が計算されるので、パラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させることが可能となる。マーカの位置が計算に用いられるので、人間の行為者の関節軸の位置を手動で測定する必要はない。計算が2つのプログラム部分で行なわれ、第一のプログラム部分の結果が第二のプログラム部分で用いられるので、計算量が減じられる。
【0030】
プログラム部分(a)は、モーションキャプチャデータの第一の組と、位置データの組と、身体の位置および向きと、連鎖中で先行する場所にある関節軸の組の関節角度と、第四のプログラム部分で計算された連鎖中で先行する場所にある関節軸の組の位置とによって規定される好適な指標関数を最適化することによって、身体の位置および向きと、連鎖中で先行する場所にある関節軸の組の関節角度を推定するためのプログラム部分を含んでもよい。
【0031】
最適化されるべき変数が、関節角度と、身体の位置および向きとを含むのみなので、計算量が減じられ、短時間で結果を得ることができる。
【0032】
プログラム部分(b)は、モーションキャプチャデータの第一の組と、位置データの組と、身体の位置および向きと、連鎖中で先行する場所にある関節軸の組および現在の関節軸の組の関節角度と、第四のプログラム部分で計算された連鎖中で先行する場所にある関節軸の組の位置および現在の関節軸の組の位置とによって規定される好適な指標関数を最適化することによって、現在の関節軸の組の位置を推定するプログラム部分を含んでもよい。
【0033】
最適化されるべき変数が、関節角度と、現在の関節軸の組の位置とを含むのみなので、計算量が減じられ、短時間で結果を得ることができる。
【0034】
第一のプログラム部分は、人間の行為者が予め定められた基準姿勢にある間に、人間の行為者の身体部品に付けられたマーカの位置を表すモーションキャプチャデータの第二の組を準備するプログラム部分を含んでもよい。
【0035】
人間の行為者は予め定められた基準姿勢にあるので、位置データを準備するのが容易である。
【0036】
予め定められた基準姿勢においては、人間の行為者は手足を伸ばした直立姿勢で立っていてもよい。
【0037】
【発明の実施の形態】
[動力学的モデル]
人間の動きは、ある程度の正確さで剛体である身体部品の多関節の動きとしてモデル化することができる。従って、ヒューマノイドエージェントのデカルト空間内での位置は、通常は、身体部品の一つに固定して付けられたグローバル座標系の位置および向きと、身体の軸に対する関節角度の値とによって与えられる。このため、ヒューマノイドエージェントの身体の動きは、選択された身体の座標系に対する身体の関節軸の位置と向きを特定するパラメトリックな動力学モデルを用いて記述することができる。
【0038】
ヒューマノイドエージェントの何らかの動きはこの場合、ある時間でのこの選択された身体座標系の位置および向きを特定する軌跡と、関節角度の軌跡とによって与えられる。この明細書では、身体の位置および向きをまとめて「身体の姿勢」と呼ぶ。ある程度の正確さで、人間の動きは、このようにしてもモデル化することができる。この発明の実施例に従った方法は、人間の動きとヒューマノイドエージェントの動きとをともに記述できる、パラメトリックな動力学モデルの同期化のための自動技術を提供する。
【0039】
このようなモデルにより、モーションキャプチャを用いて基となるパラメトリックモデルによって記述された関節空間内における人間の動きを測定することが可能になる。ヒューマノイドエージェントの動きも同じ動力学的空間内で起こるので、測定された関節角度の軌跡を直接利用してヒューマノイドエージェントの動きを駆動することができる。
【0040】
この方法は、ヒューマノイドエージェントの全身の動き、またはこのような動きの部分空間を記述できるパラメトリックな動力学モデルを特定することから始まる。このモードで規定される空間における人間の行為者の動きを測定するため、モデルを規定するパラメータを人間の行為者の物理的サイズに拡大または縮小する必要がある。この方法では、人間の行為者がすべての関連の自由度を発揮するようなさまざまな動きを行なっている間に獲得された3D(三次元)のマーカ位置測定に基づき、動力学的モデルのパラメータを推定することができる。行為者の手足の長さを手作業で測定する必要はない。
【0041】
図2は図1に示されたヒューマノイドロボットの動力学的構造を示し、ここで我々が目標とするのは、図2のようなヒューマノイドロボットの特定の動力学的構造によって、人間の動きをモデル化することである。図2に示されるように、この構造は関節4、6、8、10および12等の、ロボット2の右腕に位置づけられた多数の関節16を含む。この構造はさらに、左腕、右足、左足、首および腰の関節を含む。
【0042】
このようなパラメトリックモデルを、ひねり表現を用いて特定することは極めて自然である[7]。なぜなら、これによって、動力学的連鎖中で連続したローカルな座標フレーム間での変換を特定することに代えて、直接グローバルな身体座標系で作業することが可能になるからである。ここで、「動力学的連鎖」とは先行する関節の動きが後続の関節の位置に影響を与えるように動力学的構造内に配置された一連の関節を意味する。ひねり表現の唯一の欠点は、これが最小ではない(これは各変換ごとに4個ではなく6個のパラメータを必要とする)ことだが、後述するように、ひねりに基づく較正のための、一組の独立したパラメータを導くことができる。
【0043】
ここで目標とするのは、人間の身体の関節軸の場所と方向を決定することである。ひねりはこれらのパラメータで定義される。ひねりによる関節軸のパラメータ化を用いることで、関節軸の位置の各々について2個の独立したパラメータが導き出される。回転関節に関して、ベクトルniを関節軸方向の単位ベクトルとし、ベクトルqiを軸上の任意の点とする。両者は基本構成、すなわちすべての関節角度が0に等しい状態でのグローバル身体座標系で与えられる。この場合、第i番目の関節軸についてのひねりベクトルξ iは次の形をとる。
【0044】
【数1】
このような関節に対する、角度θiの動きによって引き起こされる身体部品の反映は、以下のエクスポーネンシャルマップ[7]を用いて計算される。
【0045】
【数2】
ここでR(θi, n i )は単位軸niの周りのθiだけの回転を記述する直交行列である。
【0046】
人間のモーションキャプチャデータからヒューマノイドロボットの動きを生成するために、人間の関節の動きを3−Dのマーカの動きと関連させる必要がある。マーカが付される剛体である身体部品のローカルな座標系におけるマーカの座標がy i で与えられるとすれば、身体構成(r, d, θi1…, θin)でのその3−D位置は以下のように計算される。
【0047】
【数3】
ここでベクトルξ i 1…,ξ inはマーカの動きyjを生じさせる動力学的連鎖を記述するひねりであり、Gxはマーカが付されるローカル身体部品座標系の位置および向きを、基本構成でのグローバル身体座標系に対して関連付ける同次行列である。(図1に示したヒューマノイドロボットの場合、x=上体、骨盤、頭、左上腕、左下腕、左手、右上腕、右下腕、右手、左上脚、左下脚、左足、右上脚、右下脚、右足である。)rおよびdは世界座標に対するグローバル身体座標系の回転ベクトルおよび位置によって表される向き、g(r,d)はrおよびdに対応する同次行列である。なお、マーカの動きに影響を与えるひねりの組は、マーカが付される身体部品が何であるかによって変わる。
【0048】
このような設定では、動力学的モデリングは関節軸の位置と、ローカル身体部品座標系の方向と位置とを特定することを含み、これらパラメータはすべて、身体が基本構成にある状態でのグローバル身体座標系で特定される。ローカル身体部品座標系とは別に、空間における身体の位置および向きを特定するグローバル身体座標系も固定する必要がある。
【0049】
[自動モデル生成]
この実施例のアプローチの基本は、人間の身体の動力学とヒューマノイドロボットまたはCGキャラクタの動力学との間の関係を確立することである。これは人間の行為者の動力学を、ヒューマノイドエージェント用のモデル標準でありかつ人間の行為者の物理的サイズに拡大または縮小したものでモデル化することによって達成される。ヒューマノイドエージェントの動力学は人間の身体の動力学と類似するので、広範囲の人間の動きにこの方法で対処することができる。
【0050】
この目的で、ヒューマノイドロボットの典型的な動力学的構造と人間の身体の動力学とを考察してみる。バイオメカニクスおよびコンピュータグラフィックスでは、首の関節、肩関節、股関節および踝の関節を通常は球面関節としてモデル化する。本件のヒューマノイドロボットではこれは当てはまらない。なぜなら、ヒューマノイドロボットのこれらの場所には、直交するが必ずしも交差しないいくつかの(典型的には3個の)連続した回転関節を有するためである。加えて、対応する関節軸の方向は基本構成においては、通常、身体の三つの主軸(上下、左右および前後)と一致する。被験者またはヒューマノイドエージェントが手足を伸ばして直立姿勢にあるとき身体は基本構成にあると考える。3個の連続した回転関節は球面関節と同様に任意の回転を生じさせることができ、これにより、二つの動力学的構造がある程度まで等価となる。従って、3自由度(DOF)の球面関節を、身体の主軸に沿った方向を向いた軸を持つ連続した3個の回転関節によってモデル化することには意味がある。軸の順序と符号とは、考察されるヒューマノイドエージェントの関節軸の順序および方向と同じになるよう選択しなければならない。
【0051】
どのような動力学的パラメータシステムを採用するかにかかわらず、パラメータ(関節角度)の実際の値はどのようなローカル座標系を選択するかに依存する。なぜなら、これらの値の間の変換を特定するのがこれらローカル座標系だからである。身体の姿勢がどのような場合でも、関節角度の値が、その姿勢に対応する姿勢をとっているヒューマノイドエージェントの関節角度の値と同じになるようローカル座標系を選択することが必須である。さもなければ測定された人間の関節角度をヒューマノイドエージェントの関節にマッピングすることはできない。従って、ここでは人間の行為者に対するグローバルおよびローカル身体部品座標系を、行為者が手足を伸ばして直立した姿勢にあるときそれらがすべて整列するような方向とした。この構成では、それらの軸は身体の主軸と平行になるように選択された。こうすれば、基本構成におけるグローバル座標系の関節軸方向は座標軸と一致する。
【0052】
[座標系と身体上のマーカ位置の実際の決定]
マーカの動きを、観察対象の行為者の関節の動きと関連付けられるようにするには、ローカル身体部品座標系での身体のマーカ位置を知らなければならない。このデータは、行為者がその関節角度が既知である直立姿勢をとっている間にマーカの位置を測定することで得られる。この目的には基本構成が好適である。実験では、行為者にこのような姿勢をとってもらい、マーカを記録した。他のロボットでは異なる基本構成が必要となる場合もありうるだろう。各身体部品につき、そこに付されるマーカすべての重心にローカル座標系の原点がくるようにした。
【0053】
身体の主軸の方向を決定するために、光学トラッキングシステムを較正してどこが上、下であるかがわかるようにした。従って、基本構成における身体軸の一つを(この実施例ではZ軸)世界座標系のZ軸と平行に設定することができる。左肩から右肩までの軸は、左肩および右肩の対向する位置に2個のマーカを付すことにより、またはデータから肩関節の場所を推定することにより、推定できる。これは[5]、[6]に記載の方法の一つを用いて行なうことができる。いずれの場合も二つの対向する位置間の線が第二の身体軸(このシステムではy軸)を規定する。測定および/またはマーカ設置の不正確さのため、導出された軸は正確には直交しない。このため、新たなZ軸方向を再計算することにより、強制的にこれらを直交させるようにする。
【0054】
【数4】
ここでylおよびyrはそれぞれ左肩および右肩に(または左肩関節および右肩関節の場所に)付された特別のマーカの座標である。この新たな方向はy軸と直交し、y軸に直交するすべての方向のうち元のz軸からもっとも偏位が少ないものである。最後に、y軸およびz軸方向のベクトルのクロス乗積を用いて、x軸方向が計算される。
【0055】
グローバル身体座標系の原点は、二つの肩関節(または二つの特別に位置づけられた肩マーカ)を結ぶ線の中間にあると仮定される。これは上体に固定される。基本構成では、グローバル身体座標系とすべてのローカル身体部品座標系とが整列している。この仮定を用いて、グローバル身体座標系(式(3)のGx)における基本構成での各身体部品の位置と向きを計算し、マーカの世界座標系をローカル座標系(式(3)の〜y j およびyj )に変換することができる。
【0056】
関節角度はゼロに等しいので式(3)を以下のように簡略化することができる。
【0057】
【数5】
グローバル座標系の位置は以下で与えられる。
【0058】
【数6】
一方、向きはその列に3個の座標軸を有する回転行列Rによって与えられる。
【0059】
【数7】
基本構成での各ローカル身体部品座標系の向きはグローバル身体座標系の向きと同じである。従って、相対的な向きは恒等行列で与えられる。相対的な位置はグローバル身体座標系の位置を減算することによって計算できる。従って、身体部品xについて、以下が成立する。
【0060】
【数8】
ここで、nxは身体部品に付けられたマーカの数である。最後に、マーカy j のローカル座標が数式(5)の逆をとることにより得られる。
【0061】
[関節位置の推定]
この時点で、依然として推定が必要なパラメータは関節軸の位置のみである。我々の目標は、身体上の関節軸の位置を、身体を中心とした座標系で推定することである。これらのパラメータを推定するために、被験者にある一組の動きをしてもらい、これをモーションキャプチャシステムで測定する。
【0062】
我々は、一つの大きな最適化プロセスですべての関節場所を推定しようとするのではなく、推定を10個のより小さい最適化問題に分割することとした。すなわち、首、腰、左右の肩+肘、左右の手首、左右の臀部+膝、および左右の踵である。
【0063】
3−D空間における関節軸の位置の自由度は2つのみである、なぜなら、軸に沿った位置は任意だからである。基本構成におけるすべての関節軸の方向は、グローバル身体座標系の座標軸と平行であり、従ってすべてベクトル[1,0,0]T、[0,1,0]T、[0,0,1]T、[-1,0,0]T、[0,-1,0]T、および[0,0,-1]Tの中の一つにより与えられる。注意すべきことは、関節軸の順序を、検討中のヒューマノイドロボットのそれと同じに保つことである。関節軸方向のベクトルの非―ゼロ座標に対応する座標が数式(1)で与えられる結果として生じるひねりに影響を与えないことが容易に理解できる。たとえば、[a,b,c]Tにあり[0,1,0]Tと平行な関節軸について、対応するひねりは以下に等しい。
【0064】
【数9】
従ってこれは第二の座標、すなわちbから独立している。このことから、各関節軸の場所を関節軸の方向ベクトルの非―ゼロ座標とは異なる二つの座標でパラメータ化することが可能である。
【0065】
関節軸の場所について独立した座標を得たので、好適な最適化指標を最小にすることでこれらを推定することができる。関節軸の場所とは別に、モデルマーカが測定されたマーカの位置と一致するように、空間内での身体の位置と向きおよび関節角度も推定する必要がある。最適化のプロセスをより小さくするために、検討すべき関節に先立つすべての自由度を、別個の最適化プロセスで推定する。この場合最適化プロセスに含まれるのは推定する必要のある関節角度の位置と、対応する関節角度のみである。それでも、結果として非常に大きな最適化問題が残る。たとえば、首関節の場所を推定するためには、以下の最適化基準を最小化する必要がある。
【0066】
【数10】
パラメータの数は測定時間の数とともに増加することに注意する必要がある。実験では、典型的には10個の最適化問題の各々について300回の測定を行なった。各関節軸の位置は2個のパラメータでパラメータ化できる。各関節軸について2個のパラメータがあり、従って3本の関節軸の場合には6個のパラメータ(首、腰、手および踵の場合)となり、4本の関節軸の場合には8個のパラメータ(肩+肘、臀部+膝の場合)となる。これらパラメータは基本構成で与えられ、変化しない。
【0067】
さらに、測定されたマーカの位置とこれらのパラメータとを関連付けるために、これらの軸に対する関節角度を推定する必要がある。関節軸の位置と異なり、関節角度は測定の組ごとに変化する。従って、300回の測定をする場合、最適化問題ごとに3×(300+2)=906個のパラメータ、または4×(300+2)=1208個のパラメータを推定する必要がある。
【0068】
このような最適化問題を解くために、サブ空間信頼領域法(subspace trust region approach)および疎行列代数[8]を利用した。信頼領域法は指標関数hの第一導関数の計算を必要とする。これらの導関数の計算は関節角度θ1(tk)、θ2(tk)、θ3(tk)、k=1、…Nおよび関節位置パラメータa、b、c、d、e、fに関するフォワード動力学関数(3)のヤコビアンの計算に基づいている。関節角度に関するヤコビアンの計算は周知の問題であり、これを[7]に記載の方法を用いて実現した。最適化基準(9)のヤコビアンは疎であり、計算時間を減じるためここでは最適化方法に疎行列代数を用いた。この実施例で用いた関数およびツールはMATLAB(TM)等の最適化ツールキットで利用可能である。
【0069】
[好ましい実施例]
図3はこの実施例の全体図を示す。図3を参照して、システムは人間の行為者18のさまざまな身体部品に付されたマーカの3−D位置を測定するための光学トラッカ30と、測定データの演算を行なってモーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに適応させるためにパラメータを最適化するコンピュータシステム20とを含む。コンピュータシステム20によってこうして計算された適応パラメータ80を、光学トラッカ30がキャプチャした同じ行為者18の動きデータに基づきロボットを制御するためのデータを生成する動き生成システム82で用いることができる。
【0070】
図4はコンピュータシステム20を示し、図5はシステム20をブロック図で示す。図4を参照して、コンピュータシステム20は、FD(フレキシブルディスク)ドライブ52およびCD−ROM(コンパクトディスク読出専用メモリ)ドライブ50を有するコンピュータ40と、キーボード46と、マウス48と、モニタ42とを含む。光学トラッカ30はコンピュータ40に接続される。
【0071】
図5を参照して、コンピュータ40は、FDドライブ52およびCD−ROMドライブ50に加えて、CPU(中央処理装置)56と、CPU56、FDドライブ52およびCD−ROMドライブ50に接続されたバス66と、ブートアッププログラム等を記憶する読出専用メモリ(ROM)58と、CPU56に接続され、プログラム命令、システムプログラム、およびデータを記憶するランダムアクセスメモリ(RAM)60とを含む。
【0072】
ここでは示さないが、コンピュータ40はさらにローカルエリアネットワーク(LAN)への接続を提供するネットワークアダプタボードを含んでもよい。ヒューマノイドロボットの場合、システムはさらに、カメラとロボットの種々の部品をコンピュータシステム20の制御に従って動かすための多数のアクチュエータを含む。
【0073】
コンピュータシステム20にパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させる方法を行なわせるプログラムは、CD−ROMドライブ50またはFDドライブ52に挿入されるCD−ROM62またはFD64に記憶されさらにハードディスク54に転送される。これに代えて、プログラムは図示しないネットワークを通じてコンピュータ40に送信されハードディスク54に記憶されてもよい。プログラムは実行の際にRAM60にロードされる。プログラムはCD−ROM62、FD64、またはネットワークを介してRAM60に直接ロードされてもよい。
【0074】
以下に説明するプログラムは、コンピュータ40にこの実施例の方法を行なわせるいくつかの命令を含む。この方法を行なわせるのに必要な基本的機能のいくつかはコンピュータ40のオペレーティングシステム(OS)またはサードパーティのプログラム、もしくはコンピュータ40にインストールされる最適化ツールボックス等のモジュールにより提供されるので、このプログラムはこの実施例の方法を実現するのに必要な機能全てを必ずしも含まなくてよい。プログラムが含む必要があるのは、命令のうち、所望の結果が得られるように制御された態様で適切な機能または「ツール」を呼出すことによって最適化プロセスを行なう部分のみである。コンピュータシステム20の動作は周知であるので、ここでは繰り返さない。
【0075】
図6はこの実施例の方法を実現するプログラムのための全体的な制御構造を示す。図6を参照して、人間の行為者の身体にマーカが付けられた後(90)、プログラムが開始する。肩の離れた位置に2個のマーカが位置付けられるので、基本構成においてこれら2個のマーカを結ぶ線によってグローバル身体座標系の水平軸が規定できる。まず始めに、コンピュータ40は行為者が基本構成の姿勢で立っている間にモーションキャプチャデータ92からマーカの3−Dデータをキャプチャする(94)。
【0076】
その後、ローカル身体部品座標系におけるマーカの位置と、グローバルフレームに対するローカルフレームの位置とが計算される(96)。なおこれに先立って、上述のとおりグローバル身体座標系が計算される。
【0077】
次に、行為者は一組の動きをするよう求められ、これが光学トラッカ30によって測定されて、キャプチャされたデータ110がコンピュータシステムに送られる(98)。この方法があいまいさのない回答を返す必要があるのであれば、行為者は適切な自由度全てについて動きを行なわなければならない。
【0078】
ステップ100で、コンピュータは、キャプチャされたデータ110とパラメトリックな動力学モデル112とに基づき大規模な最適化を用いて身体上の関節軸の位置を推定する。このステップの詳細は後に図7を参照して説明する。ステップ100の出力は、モーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに適応させる一組のパラメータである(102)。このステップでは、上述のとおり、推定プロセスが10個の別個のより小さい最適化問題に分割されている。
【0079】
図7はステップ100で行なわれるパラメトリックモデルを拡大または縮小するのに必要な最適化プロセスを示す。図7を参照して、モデル内のすべての動力学的連鎖について、以下のステップ122から126を繰り返す。なお、各鎖は、先行する関節複合体の動きが後続の関節複合体の位置に影響を及ぼすような形で動力学的構造内に連続して配置された一連の関節複合体を含んでいる。通常、動力学的連鎖は、上体、頭、左腕、右腕、左脚、右脚の自由度(DOF)またはそのサブセットからなる。関節複合体は首のDOF、左右の肩+肘のDOF、左右の手首のDOF、腰のDOF、左右の臀部+膝のDOF、左右の踵のDOF、またはそれらのサブセットからなる。
【0080】
ステップ122で、現在の連鎖内のすべての関節複合体がシーケンシャルな順序で分析され、各関節複合体についてステップ124および126が繰り返される。
【0081】
ステップ124で、モーションキャプチャデータ110のすべての測定時について、身体の姿勢(位置および向き)と、現在の関節複合体に先行する自由度とが、非線形最適化を用いて推定される。身体の姿勢と現在の関節複合体に先行する自由度との推定のためのパラメータは各測定時に互いに独立して推定できるので、ここでの他の最適化プロセスは大規模なものではない。
【0082】
式(1)から(3)で理解されるように、マーカの3−D位置は、現在の関節複合体に先行する関節複合体の関節角度、現在の関節複合体の関節角度、基本構成でのマーカの位置、および基本構成における現在と先行する関節軸のq i (軸上のいずれかの点)の関数である。これらのうち、基本構成におけるマーカの位置は既知であり、先行する関節軸のq i も、また、先の繰返しにより既知である。これらのパラメータは一定であるとみなすことができる。各測定データはマーカの3−D位置を含み、その各々は従って、身体の姿勢および先行する関節軸の関節角度の関数となるはずである。各測定時で最適化することにより、その測定に関し先行する関節軸に対する身体の姿勢および関節感度がステップ124で決定できる。
【0083】
次に、ステップ126で、身体上の現在の関節軸の位置と関連の角度との、大規模な非線形最適化を用いた推定が行なわれる。ここで、ステップ124と同様に、マーカの3−D位置は、身体の姿勢、現在の関節複合体に先行する関節複合体の関節角度、現在の関節複合体の関節角度、基本構成でのマーカの位置、および基本構成における現在と先行する関節軸のq i (軸上の任意の点)の関数である。これらのうち、基本構成におけるマーカの位置は既知であり、先行する関節軸のq i も既知である。さらに、身体の姿勢および先行する関節軸に関する関節角度はステップ124で決定されている。これらのパラメータは一定であるとみなすことができる。そこで、すべてのモーションキャプチャデータ110に対し大規模な最適化が行なわれる。この最適化により、身体上の関節軸の位置と、現在の関節複合体についての関連する角度が推定される。この最適化は依然として大規模なものであるが、これは一時にすべての測定データについてなされる最適化に比べればはるかに小さく、必要とされる時間も短い。
【0084】
上述のプロセスを、基本構成における右腕の連鎖を示す図8を参照してさらに説明する。2個の特別のマーカ142および144が、左右の肩の特定の場所にそれぞれ注意深く付けられる。始めに、光学トラッキングシステムを較正して、z軸が上下方向にくるようにする。y軸の方向150はマーカ142と144とを結ぶことで規定される。z軸の方向は、z軸が線150の中心で線150と交わり、かつ上下方向からの離間量が最小となるように再計算される。従って、グローバル身体座標系の原点は、y軸とz軸との交点で規定される。x軸方向はy軸およびz軸における単位ベクトルのクロス乗積によって計算される。
【0085】
基本構成における関節軸の方向は、グローバル身体座標系の方向の一つと平行になるように選択される。
【0086】
図8に示す関節4、6、8、10および12の位置は以下のように推定される。まず始めに、行為者は、関節4、6および8のすべてのDOFを発揮するような一組の動きをするよう求められる。関節4、6および8の位置は、モーションキャプチャデータの最適化により、図7のステップ124および126のプロセスを行なうことで推定される。ここで関節角度も推定されるが、これらは破棄される。
【0087】
次に、2度めの繰返しで、ステップ124において空間における身体の位置および向きと、関節4、6、8のDOFの関節角度が、非線形の小規模最適化を用いて推定される。その後、ステップ126で、関節軸10および12の位置とその関連の角度が、大規模な非線形最適化を用いて推定される。
【0088】
パラメトリック動力学的連鎖のすべての鎖について、同様のプロセスが行なわれる。
【0089】
[技術的問題]
指標関数(9)では、複数自由度の関節では関節軸が互いに交差することは仮定していない。この最適化指標関数にそのような仮定を組入れることは容易である。この場合、式(9)の6個のパラメータはただ3個に減る。というのも、それらの各々が3個のひねりのパラメータ化において2度ずつ現れるからである。関節軸の場所のうちいくつかを、たとえば左右の肩の軸の場所を同時に推定して、最適化指標に対称性という制約を課してもよい。
【0090】
モーションキャプチャのセッションの最終目的がコンピュータグラフィックのアニメーションを生成することであれば、このセクションで説明されるステップのいくつかは不要である。また、ヒューマノイドロボットの動力学に課されるいくつかの制約を緩和することもできる。たとえば、ロボットの関節軸が身体の主軸と平行であること、またはそれらが直交するということさえ、必要ではない。しかし、人間の動きをヒューマノイドロボットの動きにマッピングするためには、身体の主軸またはグローバル身体座標系として選択されたどのような他の座標系に対しても、これらの軸の向きを知ることは不可欠である。そうすれば、動力学的モデルをこれらの既知の関節軸方向を用いてパラメータ化することができる。
【0091】
この方策で誤差の源となるのは、一つは、人間の行為者が正確に基本構成の姿勢に動けないことである。このため、人の動力学的パラメータをロボットの関節角度にマッピングする場合、そのマッピングが幾分不正確になる。しかし、関節角度が既知であるようなヒューマノイドロボットの姿勢に関連付けることができる少なくとも一つの身体の姿勢におけるマーカの位置を知ることなしには、人間の関節角度をヒューマノイドロボットの関節角度に関連付けることは不可能である。
【0092】
2個の肩マーカを特別に配置することは、たとえばオブライエンら[5]またはシラギら[6]の方法を用いて左右の肩関節位置を推定することで避けられる。その後これらの関節位置を用いて、身体の第二の主軸方向を推定し、グローバル身体座標系の原点を決定することもできる。これらの方法はともに、関節の場所を、それによって結ばれる身体の二つの部分のローカル座標系を用いて推定している。この明細書に開示した方法と同様に、行為者は検討される関節のすべての自由度を発揮する一組の動きを行なうよう求められる。どちらのアプローチも、動きの間のすべての身体部品の位置および向きの推定に基づいている。これらの向きは、測定のたびごとに、身体部品のすべてについてそれに付された少なくとも3個のマーカが可視であれば(たとえばエイランら[9]の方法を用いて)、マーカデータから推定可能である。残念ながら、関節場所の推定はノイズの多いプロセスであり、推定は実際に行なわれた動きに依存して変化する。なぜなら、人間の関節は完璧な球状関節ではなく、動きの間固定されているわけではないからである。従って、このようにして生成されたモデルパラメータが、2個のマーカの特別な配置に基づくパラメータより正確であるという保証はない。加えて、多くの光学トラッキングシステムは疎なマーカデータを提供するのみであり(典型的には較正を行なう場合身体部品の各々につきわずか3個または4個のマーカがあるだけである)、このため、身体部品の位置および向きの推定がオクルージョンのため信頼性の低いものとなってしまう。これらの理由で、実現がより容易な、2個の肩マーカの特別な配置を利用する方が好ましい。
【0093】
人間の行為者のモデルを、モーションキャプチャのセッションを開始するたびに一から推定する必要はない。次のモーションキャプチャセッションでは、基本構成でのマーカの位置を測定するだけでよい。「自動モデル生成」の項で説明したとおり、こうして新たなローカルマーカ位置およびローカル座標フレームの位置と向きとを、グローバル身体座標系で推定することができる。間接軸の位置は古い動力学的モデルと同じままであり、それらを新しく推定するために一連の動きを行なうことなく、これらを再び用いることができる。
【0094】
[実験]
動力学的モデルの自動生成のためのこの方法を試験するため、複数の実験を行い、人間の行為者の全身運動を含むいくつかの動きの軌跡をキャプチャした。図9はデータ収集プロセスの例を示す。マーカベースの光学トラッカ30がこの目的で用いられた。光学トラッカ30は特定可能なアクティブマーカを用いる。全身運動の場合にはマーカのうちいくつかがオクルージョンをこうむることがしばしばあるので、アクティブマーカを用いると有利である。このような場合、パッシブなマーカを用いるシステムはよりマッチング誤差に弱い。
【0095】
実験により、この発明のモデル構築システムがコンピュータアニメーションの生成にも、ヒューマノイドロボットの動きにも、十分正確であることが示された。図9に示すとおり、被験者150は、すべての自由度を用いようと、関節複合体の各々(首、左右の肩、肘、手首、腰、左右の臀部、膝、および踵)を動かした。回復された動力学的パラメータは驚くほど安定していた。自動的に回復された関節位置の方に、手動で測定したものより自信を持てるほどであった。なぜなら、多くの関節については、身体での関節の実際の位置を判断するのは困難だからである。上体の自由度を4回にわたって行使した被験者一名の実際の値を表IからVIに示す。
【0096】
【表1】
【0097】
【表2】
【0098】
【表3】
【0099】
【表4】
【0100】
【表5】
【0101】
【表1】
【0102】
この発明の方法で得られたモデルは、データ収集プロセスの始めに被験者がとる基本構成と、2個の特別なマーカの配置とに依存する。明らかに、同じ被験者であっても、データ収集プロセスごとにデータがわずかに相違する。しかしながら、異なるセッションで得られたパラメータは同等であり、毎回すべての自由度を発現させる必要なしに、再びモデルを用いることができた。
【0103】
この発明を特定の実施例に則して説明したが、この発明はこれに限られるものではない。発明の範囲は請求項によってのみ制限される。
【図面の簡単な説明】
【図1】 ヒューマノイドロボットの例を示す写真による図である。
【図2】 パラメトリックな動力学モデルの概略図である。
【図3】 この発明の一実施例を実現するシステムの概略図である。
【図4】 この発明の実施例が実現されるコンピュータシステムの斜視図である。
【図5】 図4に示すコンピュータシステムの構造図である。
【図6】 この発明の一実施例に従ったシステムの動作の全体的制御を示すフローチャートである。
【図7】 パラメトリックモデルの拡大または縮小に必要な最適化プロセスのフローチャートである。
【図8】 この発明の実施例で用いられるパラメトリックな動力学モデルの関節連鎖の概略図である。
【図9】 モーションキャプチャプロセスを示す写真による図である。
【符号の説明】
2 ロボット、4、6、8、10、12 関節、20 コンピュータシステム、30 光学トラッカ、40 コンピュータ
Claims (10)
- モーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実現される方法であって、
人間の行為者の身体部品に付けられたマーカの、それぞれのローカル身体部品座標系における、コンピュータ読取可能な位置データの組と、グローバル身体座標系に対するローカル身体部品座標系の位置と向きとを準備する位置データ準備ステップと、
人間の行為者の身体部品に付けられたマーカの位置を表す、コンピュータ読取可能なモーションキャプチャデータの第一の組を準備するステップとを含み、前記モーションキャプチャデータは人間の行為者がある一組の動きを行なう間にキャプチャされ、さらに
前記位置データの組と前記モーションキャプチャデータの第一の組とを用いて、人間の行為者の身体部品の関節軸の位置をコンピュータに推定させるステップを含み、
前記コンピュータに推定させるステップは、
前記位置データの組と、前記モーションキャプチャデータの第一の組と、前記パラメトリックな動力学モデルの連鎖中で先行する場所にある関節軸の組の位置とを用いて、前記パラメトリックな動力学モデルの連鎖内での現在の関節軸の組の位置を計算するステップをコンピュータに自動的に行なわせるステップを含み、前記連鎖中で先行する場所にある関節軸の組は、前記連鎖中で先行する場所にある関節軸の組のまわりの動きが現在の関節軸の組の位置に影響を与えるような様態で動力学的な連鎖中に配置されており、
前記現在の関節軸の組の位置を計算するステップは
(a)前記モーションキャプチャデータの第一の組の全ての測定時間について、各測定時間での人間の行為者の身体の位置および向き、ならびにもしあれば、その時点での連鎖中で先行する場所にある軸の組の関節角度を、前記位置データの組と、前記モーションキャプチャデータの第一の組と、もしあれば先行するステップで計算された、前記連鎖中で先行する場所にある関節軸の組の位置とを用いて、推定するステップと、
(b)前記位置データの組と、前記モーションキャプチャデータの第一の組と、もしあれば先行するステップで計算された、前記連鎖中で先行する場所にある関節軸の組の位置と、身体の位置および向きと、もしあれば、ステップ(a)で計算された前記連鎖中で先行する場所にある関節軸の組に関連する関節角度とを用いて、連鎖内の現在の関節軸の組の位置と、関連した関節軸の角度とを推定するステップとを含む、方法。 - 前記ステップ(a)は、前記モーションキャプチャデータの第一の組と、前記位置データの組と、身体の位置および向きと、前記連鎖中で先行する場所にある関節軸の組の関節角度と、先行するステップで計算された前記連鎖中で先行する場所にある関節軸の組の位置とによって規定される好適な指標関数を最適化することによって、前記連鎖中で先行する場所にある関節軸の組の関節角度を推定するステップを含む、請求項1に記載の方法。
- 前記ステップ(b)は、前記モーションキャプチャデータの第一の組と、前記位置データの組と、身体の位置および向きと、前記連鎖中で先行する場所にある関節軸の組および現在の関節軸の組の関節角度と、先行するステップで計算された前記連鎖中で先行する場所にある関節軸の組の位置および現在の関節軸の組の位置とによって規定される好適な指標関数を最適化することによって、現在の関節軸の組の位置を推定するステップを含む、請求項1または請求項2に記載の方法。
- 前記位置データ準備ステップは、人間の行為者が予め定められた基準姿勢にある間に、人間の行為者の身体部品に付けられたマーカの位置を表すコンピュータ読取可能なモーションキャプチャデータの第二の組を準備するステップを含む、請求項1から3のいずれかに記載の方法。
- 前記予め定められた基準姿勢においては、人間の行為者は手足を伸ばした直立姿勢で立っている、請求項4に記載の方法。
- モーションキャプチャのために、パラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実行可能なプログラムであって、
人間の行為者の身体部品に付けられたマーカの、それぞれのローカル身体部品座標系における、コンピュータ読取可能な位置データの組と、グローバル身体座標系に対するローカル身体部品座標系の位置と向きとを準備するための第一のプログラム部分と、
人間の行為者の身体部品に付けられたマーカの位置を表すコンピュータ読取可能なモーションキャプチャデータの第一の組を準備するための第二のプログラム部分とを含み、前記モーションキャプチャデータは人間の行為者がある一組の動きを行なう間にキャプチャされ、さらに
前記位置データの組と前記モーションキャプチャデータの第一の組とを用いて人間の行為者の身体部品の関節軸の位置を推定する第三のプログラム部分を含み、前記第三のプログラム部分は
前記位置データの組と、前記モーションキャプチャデータの第一の組と、パラメトリックな動力学モデルの連鎖中で先行する場所にある関節軸の組の位置とを用いて、パラメトリックな動力学モデルの連鎖内における現在の関節軸の組の位置を計算する第四のプログラム部分を含み、前記連鎖中で先行する場所にある関節軸の組は、前記連鎖中で先行する場所にある関節軸の組の周囲の動きが現在の関節軸の組の位置に影響を与えるような様態で動力学的な連鎖中に配置されている、コンピュータで実行可能なプログラムであって、
前記第四のプログラム部分は
前記モーションキャプチャデータの第一の組の全ての測定時間について、各測定時間での人間の行為者の身体の位置および向き、ならびにもしあれば、その時点での前記連鎖中で先行する場所にある軸の組の関節角度を、前記位置データの組と、前記モーションキャプチャデータの第一の組と、もしあれば先行するステップで計算された前記連鎖中で先行する場所にある関節軸の組の位置とを用いて、推定するプログラム部分(a)と、
前記位置データの組と、前記モーションキャプチャデータの第一の組と、もしあれば先行するステップで計算された前記連鎖中で先行する場所にある関節軸の組の位置と、身体の位置および向きと、もしあれば、前記プログラム部分(a)で計算された前記連鎖中で先行する場所にある関節軸の組に関連する関節角度とを用いて、前記連鎖中における現在の関節軸の組の位置と、関連した関節角度とを推定するプログラム部分(b)とを含む、コンピュータで実行可能なプログラム。 - 前記プログラム部分(a)は、前記モーションキャプチャデータの第一の組と、前記位置データの組と、身体の位置および向きと、前記連鎖中で先行する場所にある関節軸の組の関節角度と、第四のプログラム部分で計算された前記連鎖中で先行する場所にある関節軸の組の位置とによって規定される好適な指標関数を最適化することによって、身体の位置および向きと、前記連鎖中で先行する場所にある関節軸の組の関節角度を推定するためのプログラム部分を含む、請求項6に記載のコンピュータで実行可能なプログラム。
- 前記プログラム部分(b)は、前記モーションキャプチャデータの第一の組と、前記位置データの組と、身体の位置および向きと、前記連鎖中で先行する場所にある関節軸の組および現在の関節軸の組の関節角度と、第四のプログラム部分で計算された前記連鎖中で先行する場所にある関節軸の組の位置および現在の関節軸の組の位置とによって規定される好適な指標関数を最適化することによって、現在の関節軸の組の位置を推定するプログラム部分を含む、請求項6または7に記載のコンピュータで実行可能なプログラム。
- 前記第一のプログラム部分は、人間の行為者が予め定められた基準姿勢にある間に、人間の行為者の身体部品に付けられたマーカの位置を表すモーションキャプチャデータの第二の組を準備するプログラム部分を含む、請求項6から8のいずれかに記載のコンピュータで実行可能なプログラム。
- 前記基準姿勢においては、人間の行為者は手足を伸ばした直立姿勢で立っている、請求項9に記載のコンピュータで実行可能なプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002235128A JP3960536B2 (ja) | 2002-08-12 | 2002-08-12 | モーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実現される方法およびコンピュータで実行可能なプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002235128A JP3960536B2 (ja) | 2002-08-12 | 2002-08-12 | モーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実現される方法およびコンピュータで実行可能なプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004163990A JP2004163990A (ja) | 2004-06-10 |
JP2004163990A5 JP2004163990A5 (ja) | 2005-04-21 |
JP3960536B2 true JP3960536B2 (ja) | 2007-08-15 |
Family
ID=32800893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002235128A Expired - Fee Related JP3960536B2 (ja) | 2002-08-12 | 2002-08-12 | モーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実現される方法およびコンピュータで実行可能なプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3960536B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101424942B1 (ko) | 2004-07-30 | 2014-08-01 | 익스트림 리얼리티 엘티디. | 이미지 프로세싱을 기반으로 한 3d 공간 차원용 시스템 및 방법 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100361070C (zh) * | 2004-10-29 | 2008-01-09 | 中国科学院计算技术研究所 | 一种基于光学的运动捕获数据的骨骼运动提取方法 |
JP2006146435A (ja) * | 2004-11-17 | 2006-06-08 | Univ Waseda | 動作伝達システムおよび動作伝達方法 |
US20080221487A1 (en) * | 2007-03-07 | 2008-09-11 | Motek Bv | Method for real time interactive visualization of muscle forces and joint torques in the human body |
EP3296068B1 (en) * | 2015-05-13 | 2019-10-23 | National Institute of Advanced Industrial Science and Technology | Robot behavior generation method |
KR102459677B1 (ko) | 2015-11-05 | 2022-10-28 | 삼성전자주식회사 | 알고리즘 학습 방법 및 장치 |
JP6529039B2 (ja) * | 2016-03-18 | 2019-06-12 | 株式会社計数技研 | リンク列マッピング装置、リンク列マッピング方法、及びプログラム |
CN110110356A (zh) * | 2019-03-26 | 2019-08-09 | 江西理工大学 | 泰奥杨森机构足式运动机器人的制作方法及系统 |
KR102747034B1 (ko) * | 2021-11-10 | 2024-12-26 | (주)모션테크놀로지 | 광학식 마커 방식의 인체 스켈레톤 생성을 위한 칼리브레이션 방법 |
-
2002
- 2002-08-12 JP JP2002235128A patent/JP3960536B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101424942B1 (ko) | 2004-07-30 | 2014-08-01 | 익스트림 리얼리티 엘티디. | 이미지 프로세싱을 기반으로 한 3d 공간 차원용 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2004163990A (ja) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
O'Brien et al. | Automatic joint parameter estimation from magnetic motion capture data | |
JP5210884B2 (ja) | 物理的多関節システムの姿勢を制御するコンピュータを用いた方法および多関節システムを位置決めするシステム | |
Wu et al. | Finding the kinematic base frame of a robot by hand-eye calibration using 3D position data | |
JP5210883B2 (ja) | 物理的な多関節システムの部位の動作を制御する、コンピュータを使用する方法、物理的な多関節システムの部位の動作を制御するシステム、人間とは別体の物理的多関節システムに前記人間の動作を追従させる、コンピュータを用いた方法、人間とは別体の物理的多関節システムによって前記人間の動作を追従させるシステム、及び、ソースシステムとは別体の物理的多関節システムの部位の動きを制御する、コンピュータを用いた方法 | |
CN111152218B (zh) | 一种异构仿人机械臂的动作映射方法及系统 | |
Ude et al. | Automatic generation of kinematic models for the conversion of human motion capture data into humanoid robot motion | |
Anshelevich et al. | Deformable volumes in path planning applications | |
Li et al. | Performance of surgical robots with automatically generated spatial virtual fixtures | |
JP3960536B2 (ja) | モーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実現される方法およびコンピュータで実行可能なプログラム | |
Xiao et al. | A new fixed axis-invariant based calibration approach to improve absolute positioning accuracy of manipulators | |
RU2308764C2 (ru) | Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства | |
Baron et al. | The kinematic decoupling of parallel manipulators using joint-sensor data | |
Singh et al. | DH parameters augmented with dummy frames for serial manipulators containing spatial links | |
Yunardi et al. | Robotic leg design to analysis the human leg swing from motion capture | |
JP2937834B2 (ja) | 3次元の動き生成装置 | |
CN110900608B (zh) | 基于最优测量构型选择的机器人运动学标定方法 | |
JP2004163990A5 (ja) | ||
Gragg et al. | Optimization-based posture reconstruction for digital human models | |
Mariño et al. | Ergonomic postural evaluation system through non-invasive sensors | |
Yunardi et al. | Implementation of motion capture system for trajectory planning of leg swing simulator | |
Damic et al. | Modelling and path planning of delta parallel robot in virtual environment | |
Abbas | Forward Kinematics Modeling of 5-DOF Stationary Articulated Robots | |
Molet et al. | An architecture for immersive evaluation of complex human tasks | |
Benitez et al. | A 3D simulation environment for kinematic task of the PUMA 560 robot | |
Huang et al. | A simple method of accuracy enhancement for industrial manipulators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040610 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070315 |
|
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: 20070417 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070511 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |