連成シミュレーションの概要

連成シミュレーションは、サブシステムで構成された複雑なシステムを容易に解析することのできるシミュレーション手法です。

そのシミュレーションはどのように行われるのでしょうか?各サブシステムは異なるシミュレーションツールで解析されますが、それらは同時に実行されます。それらの間の関連する信号は、実行中に一定の間隔で交換され、複合シミュレーションは、信号の秩序立った交換が可能であるように同期されます。

連成シミュレーションの利点

連成シミュレーションのアプローチでは、組織がそれぞれの規則に合った最も適切なツールを選ぶことが可能となります。連成シミュレーションの連成は、システムレベルのモデルを作成、解析する能力をエンジニアに提供します。

連成シミュレーションの応用

連成シミュレーションは、マルチフィジックスが連成される際に潜在力の高いソリューションです。下に示す自動車の例は、連成シミュレーションの一般概念および連成シミュレーションで実行可能である様々なシステムレベルのシミュレーションを示しています。同様の例は、他の産業領域においても見ることができます。

車両と制御との相互作用

この例における目的は、制御システムが機構システムの挙動をどれほど効果的に調整 / 制御できるかを理解することにあります。機構システムは車、制御システムはステアリング制御システムです。車両モデルはMotionSolveで定義し、ステアリング制御はSimulinkなどの制御パッケージで定義します。車両は、ヘディングやタイヤのスリップ角などの情報をコントローラに伝えます。コントローラはこれらの入力に基づいてステアリングホイール角またはトルクを計算し、車両モデルに戻します。



図 1. 車両モデルと車両を制御するコントローラーとの連成シミュレーション

この例における目的は、システム内の油圧が機構システムの挙動をどれほど効果的に調整 / 制御できるかを理解することにあります。機構システムは車、油圧システムはブレーキ装置です。車両モデルはMotionSolveで定義し、ステアリング制御はDSHPlus(www.fluidon.com)などの油圧パッケージで定義します。車両は、ホイールスピードやステアリングホイール角などの情報をコントローラに伝えます。コントローラ / 油圧システムはこれらの入力に基づいて制動要求やトルクを計算し、車両モデルに戻します。



図 2. 車両とそれを制御するブレーキなどの油圧システムとの連成シミュレーション

車両とドライバーとの相互作用

この例の目的は、フルビークルモデルをドライバーモデルで“運転”し、ドライバーの入力に対して車両がどのように反応するかを理解することにあります。ドライバーモジュールは、車両のヘディング、入力としてそのスピードで与えられます。ドライバーは、車両に指定の速度で指定の経路を辿らせる必要があり、車両の横加速度はターゲットの限界未満であることを確実にしなければなりません。ドライバーは出力としてスロットル値、ブレーキ圧、ステアリング角およびギアシフト値を指定します。車両はMotionSolveでモデル化します。階層構造の制御システムとしてモデル化されたドライバーは、別個のドライバーモジュールに含まれます。



図 3. 車両とそれを制御するドライバーモデルとの連成シミュレーション

車両と路面の相互作用

タイヤは、車両の中で路面と接する唯一の部分であることから、車両のシミュレーションにおいて極めて重要な役割を果たします。タイヤは、ゴム、金属およびプラスチックから成る非常に複雑なエンティティです。タイヤの挙動は、空気圧やトレッドなどの内的な要素、温度や路面状態などの環境的な要素、加速やブレーキング、ターンなどの走行状態など、さまざまな影響を受けます。

タイヤおよびタイヤ-地形の相互作用は極めて複雑かつ特殊であり、既製のタイヤモデルが用意されています。連成シミュレーションは、タイヤモデルを車両モデルと連成させるために使用されます。車両は、空間的にどの位置にありどの程度のスピードで動いているかをタイヤに伝えます。そこでタイヤは、タイヤ-地形相互作用力を計算し、スピンドルにかかる力とモーメントを車両に伝えます。

このような連成は、下の図に示されるように、非常に精緻である可能性があります。図内のトラック-トレーラーシステムは、100個ものタイヤを有する場合があります。それらのタイヤはそれぞれ、連成シミュレーションを介して車両モデルと結合されます。



図 4. 車両とそれを制御するドライバーモデルとの連成シミュレーション

車両 – メカトロニクスの相互作用

車や飛行機などの複雑なシステムには、数多くの制御システムが埋め込まれています。これらのシステムは、車や飛行機の挙動を監視、制御して突発故障を回避し、高いパフォーマンスを確実にします。メカトロニクスという語は、そのような埋め込みシステムを定義するための造語でした。Figure 5は、自動車に関連したメカトロニクスシステムのいくつかの例を示しています。制御された車両の挙動を見極めるために、車両モデルと各種メカトロニックサブスシステムとの連成シミュレーションが必要です。



図 5. 自動車のメカトロニクスシステム. メカトロニクスは、高性能な製品、プロセス、およびシステムを設計するための、精密工学、制御理論、コンピュータサイエンス、数学およびセンサー技術の相乗利用です。

連成シミュレーションプロセス

連成シミュレーションプロセスは通常、下記のステップで構成されます:
  • 複雑なシステムを、サブシステムを描写する物理に基づいてサブシステムに分解
  • 個々のシミュレータ内で各サブシステムの機能論的モデルを生成し、各サブシステムが意図されたとおりに作動することを確認
  • さまざまなサブシステム間の“結合”(信号)を生成。通常、1つのシステムから別のシステムへの動力伝達が存在するため、1つのサブシステムは、速度、角速度、流れ、容積流量、またはエントロピー流量などのフロー情報を受け取る。代りに、フロー情報を受け取ったサブシステムに、力、モーメント、電圧、圧力や温度といった力の情報を返す
  • 内部プロセスコミュニケーションのためのメカニズム(例えば、単一マシン上の共有メモリ、またはネットワークコミュニケーションのためのTCP/IPなど)を選択
  • 複合シミュレーションを実行

このプロセスに内在するのは、各ソルバーによって結合された信号を採取するためのサンプリング戦略で、これは異なるアプローチで行われます。

図 6 の図は、このプロセスを2つのシミュレーターAとBの間で実行するための一般的な方法をおおまかに示したものです。

予め決定または連成シミュレーション中に計算されたサンプリング時間において、各シミュレータは、他のシミュレータの連成シミュレーションバッファに提供される必要のある情報を置きます。シミュレーターAがある時点でシミュレーターBからの情報を必要とすると、連成シミュレーションバッファでは、Bから得られたデータを使用した補間または外挿によって、該当の情報をAに提供します。同様に、シミュレーターBがある時点でシミュレーターAからの情報を必要とすると、連成シミュレーションバッファでは、Aから得られたデータを使用した補間または外挿によって、該当の情報をBに提供します。

図 6. 2つのシミュレーターAとBとの連成シミュレーションの概要

連成シミュレーションバッファの使用により、多くのシミュレーターA~Nによる連成を実現できます。各シミュレータが適切な周波数における交換値を置く限り、シミュレーションバッファは、各シミュレータに他のシミュレータから必要とするデータを提供することが可能です。

Control_PlantInputControl_PlantOutput、およびFMUの各ステートメントを使用して連成シミュレーションをMotionSolveで実装するプロセスは、サンプリング戦略にわずかな適格性が求められるものの、このプロセスに類似しています。

MotionSolveで実行する連成シミュレーションの目的は、別のシステムとデータを交換し、連続システムと同じような方法でそのデータを使用することにあります。ミュレーション中、解析を行う他のプロセス(Simulink、Activate...)とMotionSolveは、上述のとおり、連成シミュレーションバッファでデータを共有します。

MotionSolveと連成シミュレーションを行う他のプロセスは常に連成シミュレーションを先導して最初のステップを取り、MotionSolveはそれらのプロセスを調和させ続けるよう追いつきます。各ソルバーは、選択した任意のタイムステップを取ることができますが、他のソルバーからのデータがまだ利用できないような場合にソルバーが待機する状態もあります。

データは、外挿ソルバー(先行ソルバー)が補間ソルバーよりも大きいタイムステップを取ることができないように調整される必要があります。これは、外挿が早過ぎることから起こる大きなエラーを回避するためです。また、補間ソルバー(後発ソルバー)は、最後のタイムステップ用にデータが利用できない場合は、ステップを取ることができません。これは、補間の性質により、将来の時刻におけるデータが利用可能でなければならないためです。

MotionSolveは、Control_PlantInputControl_PlantOutput、およびFMUの各ステートメントを使用した連成シミュレーション(例えばSimulink)では遅延型ソルバーです。すなわち、(例えばControl_PlantInputを介して)届くデータが必ず補間されます。MotionSolveと連成シミュレーションを行う他のプロセスは常に先行し、つまり、(Control_PlantOutputを介して)届くデータを常に外挿します。