3次元剛体運動の理論と シミュレーション技法

3次元剛体運動の理論と
シミュレーション技法
Theory and Method for
3-dimensional Rigid Body Simulation
電子制御工学科
指導教官
西部 満
池田 徹之
剛体シミュレーションの利用と
モデル化の方法
利用
•CAEによる機械の動力学的特性の把握
•エンターテイメント等
モデル化手法
•拘束条件から運動方程式を求め,予め動きを定める
→静的,インタラクティブ性なし
•ステップ毎に拘束条件を与え,剛体に与える力を計算する
→動的,インタラクティブ性あり
剛体の状態ベクトル
•剛体の状態は位置,姿勢,運動量,角運動量で表される
•その時間微分は力とトルクによって定まる
よって剛体に働く 力とトルク を定めれば剛体の運動は決定でき,
定義された剛体の状態ベクトルYとその微分
 x(t ) 


 R (t ) 
Y (t )  
P (t ) 


 L(t ) 


 m 1P (t ) 


*
d
 ω(t ) R (t ) 
Y (t )  

dt
F
(
t
)


 τ (t ) 


剛体間衝突のモデル化
•バネ・ダンパによる手法(ペナルティ手法)
実装が容易/様々な係数の調節が必要
•Brian Mirtichの撃力ベース手法
撃力の計算は数値積分/接触を小さい衝突の連続と
して扱う/同時多点衝突も1点衝突に分割する
•David Baraffの撃力と接触力による手法
衝突と接触によって計算方法を変える/基礎理論に
反発係数を導入するだけで導出できる
David Baraff によ る 手法
接触と衝突が同一物体に
発生する時の問題点
新しい手法とその解法の提案
衝突と接触を別問題として扱うと問題が生じる
→衝突と接触を統一的に扱う必要がある
新しい手法
•接触問題に衝突問題も含めた線形相補性問題とする
•全て接触扱いにならないように解法アルゴリズムを変更する
(よって実際は線形相補性問題の変形となる)
•その解法アルゴリズムにBaraffの1点衝突モデルを使うが,
別のアルゴリズムを導入することも可能→摩擦の導入
•実質的なアルゴリズムはより単純になり,実装が容易
解法の詳細
衝突判定
面と辺による衝突判定
お互いの物体同士の面と辺での交点を求め,
交点を衝突点,面の法線を撃力の働く方向とする
利点:凹物体にも対応できる.
頂点以外に余分なデータを必要としない
欠点:特定の衝突判定に失敗する
→例外として処理してある程度解決
面と辺による判定で
失敗するパターン
実行結果 1
実行結果 2
結論
•Baraffの理論を基にしても,リアルタイムなシミュレーションに十
分対応できる.
•Baraffの理論を拡張する方法の有用性が摩擦の実装で確かめ
られた.
•面と辺による衝突判定は凹凸多面体に関係なく処理できるが,
特定の衝突では衝突した面の正しい法線が得られない.