全自由度法
AGXは全自由度法
物理エンジンの運動方程式の取り扱い方法
物理エンジンの運動方程式の取り扱い方は「全自由度法」と「自由度削減法」がある [Bender2012] [⾧谷川2012] 。 AGXは全自由度法を採用している。 それぞれの特徴を次に示す。
- 全自由度法(Full coordinate system)
自由運動する剛体を直交座標系の運動方程式として扱う(ニュートン、オイラーの運動方程式)
閉リンク機構に対応
シミュレーション中にジョイントの追加削除ができ、柔軟性が高い
自由度削減法と比較して計算量が多い
拘束ソルバの精度不足や不十分な拘束力によってジョイントが外れることがある
- 自由度削減法(Reduced/Generalized coordinate system)
関節可動軸など実際に動く自由度についての一般座標系での運動方程式として扱う(ラグランジュの運動方程式)
シミュレーション中の構造の変更に特別な処理が必要
全自由度法と比較して計算量が少ない
数値計算誤差による関節の外れがない
手法によっては拘束力を取得できない

図 1 全自由度法と自由度削減法
図 1 は2リンクの剛体と床をヒンジジョイントで拘束した機構を それぞれの方法で表したものである。 全自由度法は24本、自由度削減法は2本の連立方程式を解くことになり、多関節の機構を高速に解くには自由度削減法が向いている。 一方で、各関節の全ての自由度について加わる力やトルクを取得して、解析するには全自由度法が向いている。
参考文献
Jan Bender, Kenny Erleben, Jeff Trinkle and Erwin Coumans. Interactive Simulation of Rigid Body Dynamics in Computer Graphics. EUROGRAPHICS 2012 State of the Art Reports, 2012, URL: https://animation.rwth-aachen.de/publication/0525.
⾧谷川 晶一, 三武 裕玄, 田崎 勇一. 動作行動開発のための物理エンジンSpringhead. 日本ロボット学会誌, Vol. 30, No. 9, pp. 841-848, 2012, doi:10.7210/jrsj.30.841.