Home > リソース > MBDynチュートリアル > 2.マルチボディダイナミクス解析に関する基礎知識
MBDynチュートリアル

2.マルチボディダイナミクス解析に関する基礎知識

MBDynの具体的な説明に入る前に、まずは一般論として、マルチボディダイナミクス解析とは何か、そして汎用マルチボディダイナミクス解析ソフトウェアとはどのようなソフトウェアなのか、簡単に概説します。

マルチボディダイナミクス解析とは

マルチボディダイナミクス解析(multibody dynamics analysis ― 「多体動力学解析」または「機構解析」と呼ばれることもあります)とは、互いに作用し合う複数の剛体(rigid body)が全体としてどのような運動をするのか、またその運動の過程でどのような力が発生するのかなどを、コンピュータを用いた数値計算によって調べる手法です。

例えば、下の図1のような機構(mechanism)を考えてみてください。


DoubleRigidPendulum_Schematic

図1: 2重剛体振り子

これは2重剛体振り子(double rigid pendulum)と呼ばれる機構で、天井と2つの剛体が2つのヒンジ(軸回転のみ許容するジョイント)で結合されてぶら下がっています。振り子の端を少し持ち上げて手を離せば、振り子はブラブラと揺れて運動します。このとき、振り子の位置速度が時間とともにどのように変わるのか、また2箇所のヒンジにはどのようながかかるのかなどを、マルチボディダイナミクス解析によって調べることができます。
アニメーションを見る>>

一般に、物体の運動を計算するためには、まず力学法則に基づいて運動方程式を立て、次にそれを積分するという手続きが必要になります。マルチボディダイナミクス解析では、各々の剛体の情報(質量、重心位置、慣性テンソル)と剛体間の作用条件(力、拘束条件等)などから一定の手順に従って機械的に運動方程式を生成し、生成した運動方程式をODE(またはDAEソルバーと呼ばれるプログラムによって数値的に積分して解きます。(ODE = ordinary differential equation、DAE = differential algebraic equation)

汎用マルチボディダイナミクス解析ソフトウェアとは

MBDynなどの汎用マルチボディダイナミクス解析ソフトウェアは、任意の解析対象についてマルチボディダイナミクス解析を実行してくれるソフトウェアです。すなわち、ユーザーが任意の解析対象について剛体の情報と剛体間の作用条件などを入力すれば、これらのソフトウェアは複雑な運動方程式の生成と数値積分を自動的に行い、結果をユーザーに返してくれます。従って、これらのソフトウェアを用いれば、ユーザーが力学の専門家でなくても、複雑な機構をもつ機械の運動を手軽に調べることができます。

マルチボディダイナミクス解析の入出力

一般に、マルチボディダイナミクス解析の入出力データは次のようなものです。

入力データ:

出力データ:

通常、ユーザーは入力データを入力ファイルに記述します。マルチボディダイナミクス解析ソフトウェアは入力ファイルに記述されたデータを読み込み解析を実行します。解析によって得られた運動や力などの出力データは、出力ファイルに記述されます。(図2参照)


InputOutput_Schematic

図2: 汎用マルチボディダイナミクス解析ソフトフェアの入出力

プリプロセッサとポストプロセッサ

市販の汎用マルチボディダイナミクス解析ソフトウェアの多くには、運動方程式の生成と数値積分を担う基本プログラムに加え、プリプロセッサポストプロセッサと呼ばれるプログラムが付属しています。プリプロセッサとは、主に入力ファイルの作成をグラフィックインターフェースの操作によって簡便に行うためのプログラムです。また、ポストプロセッサとは、出力データをグラフにしたり、アニメーションを表示したりするためのプログラムです。どちらもユーザーがより手軽にマルチボディダイナミクス解析を行えるようにサポートしてくれるプログラムです。(図3参照)

PrePostProcessor_Schematic

図3: プリプロセッサとポストプロセッサ

MBDynには、しかしながら、専用のプリプロセッサとポストプロセッサはありません。プリプロセッサが無いため、入力データはユーザーが入力ファイルに直接記述します。この作業は多少練習を要しますが、慣れればプリプロセッサを介するよりもはるかに柔軟に入力を制御することができるという利点もあります。入力ファイルを効果的に書く工夫についても、このチュートリアルで解説して行きます。

ポストプロセッサが無いため、グラフやアニメーションの表示には外部のプログラムを用いる必要があります。グラフの表示には、MATLABScilab、またはOctaveなどのプロット機能を持つ汎用数値解析ソフトウェアが利用できます。また、アニメーションの表示には、MBDynのプロジェクトチームが管理しているEasyAnimが利用できますし、フリーの3次元グラフィックソフトウェアのBlenderを利用することなども提案されています。MATLABなどの汎用数値解析ソフトウェアは洗練されたグラフィック機能を持っていることも多いので、これらのソフトウェアでアニメーションを表示するプログラムを自作しても良いでしょう。実際、上の2重剛体振り子のアニメーションをはじめ、このチュートリアルに含まれているアニメーションのほとんどはMATLABで作成したものです。これらポスト処理の方法についても後の項で詳しく説明します。