GAIO CLUB

2022年06月14日

【第2回】モデル設計のポイント

MBD実践ステップアップガイド
MBD実践ステップアップガイド
プラントモデルは挙動や特性を表すため、運動力学や熱力学、流体力学などの方程式を使った数理モデルが用いられます。
制御モデルはプラントを制御するため、状態遷移モデルや制御工学的なモデルが使われます。

プラントモデル

プラントモデルは一般的に実機との挙動や特性の一致が要求されることから物理的特性をモデル化する必要があり、運動力学や熱力学、流体力学などの方程式が用られます。

物理モデルを作る事が困難な場合は、実機の計測データから入出特性を同定した状態空間モデルを作成するか、計測データをそのままモデル(実験モデル)としています。

モデルの精度に拘ると、モデル作成に多くの工数を必要とするうえ、シミュレーションを実用的な時間内で演算することができなくなります。目的に応じて必要な箇所は詳細なモデルを作成し、その他の部分は簡易なモデルを使うなどの工夫をすることが、シミュレーションの効果的な活用には必要となります。
車両運動モデル

プラントモデルの構成

プラントモデルの計算式は主に微分、積分で構成されますが、コンピュータで計算する場合、一回の計算を時間単位(微小変化時間(Δt))として演算を繰り返します。

車両運動の場合、通常0.1~1msecをΔtとして設定します。自動車エンジンの場合、エンジンサイクル内で発生するトルクは変動しますが、車両運動には大きな影響与えませんので、燃料や吸入空気量などのパラメータをサイクル内での平均値として計算しても問題ありません(平均値モデル)。エンジン気筒内の状態変化を詳細にデル化する必要がある場合は、もっと微少間隔での計測が必要となります(サイクリックモデル)。

6000rpmでのクランク角0.1度は2.78µsecですので、Δt=1µSecとすると一回転の変化をみるには十分な分解能が得られます。
エンジンモデル
モーターの場合も同様で、単位時間あたりの入力電力を平均値として回転体の運動に変換する計算を行います。
エンジンの場合と同じように、モーターの動きを詳細にモデル化するには、入力される電流が回転運動に変換される過程を詳細に計算する必要があります。

三相DCモーターの場合、各相に流れる電流を制御するインバータ回路のモデル化が必要となりますが、電気回路の変化をみるにはnsec単位でΔtを設定する必要があります。
モーターモデル
開発目的によっては、電気回路シミュレーションと運動シミュレーションを繋いで計算する必要がある場合もあります。
例えばモーターモデルの場合、Δt=1µsecの電気回路モデル演算1000回に1回の割合で運動モデル演算行えばΔt=1msecとして両者のモデルを同期して計算することがきます。ただし、この場合、シミュレーション演算の負荷と計測データ量の増加に対応したコンピュータ資源の確保をする必要がありますので、目的に合わせてモデルの組み合わや精度を決める必要があります。

制御モデル

制御プログラムの評価には、ECU(Electronic Control Unit)と制御対象であるプラントのほか、センサーやアクチュエータが必要となります。

開発の初期段階では、試作プラントのほか、流用できるセンサーやアクチュエータも入手できない事がありますが、制御モデルとプラントモデルを結合してシミュレーションできれば、制御アルゴリズムの評価を行うことができます。この場合に必要となるシミュレータについては、次回以降で改めて説明します。
制御系のモデル
開発したアルゴリズムを評価するためには、プラントやECU(Electronic Control Unit)のアーキテクチャを考慮した制御モデルが必要となります。

ECUの入出力は電気信号ですので、制御モデルとプラントモデルを繋ぐには、センサーモデル出力の電気信号を物理量に変換するインターフェイスモデルと、制御モデル出力の物理量を電気信号に変換しアクチュエータを駆動するインターフェイスモデルも必要となります。通常、このインターフェイスモデルを含めて制御モデルとして扱われる場合もあります。

また、ECUで使われるMPUと周辺回路の働きを明確にして、制御モデルと周辺モデルに分けて扱うこともあり、評価する内容や使用するシミュレータによって構成や扱いが変わってきます。
センサ・アクチュエーターを含む制御系のモデル

ECUモデル

MBDのメリットの一つは、モデル設計の過程でシミュレーションを行い、結果を確認しながらモデル設計を進められることです。

制御モデル全体が完成してから設計確認(デバッグ)をしていたのでは、細かな設計ミスに気が付かない場合や、問題個所の特定に時間を要する場合もあります。

MBDの場合、モデル設計の途中であっても部分的にシミュレーションを行い、その結果を物理量に変換して表示することが可能であり、シミュレーション結果と仕様の差を簡単に確認することができます。Simulink※1にはシミュレーションデータを表示したり、データを記録したりする機能がありますので、これを活用すると便利です。

また、制御モデルの出力が電流値で、マイコンの出力がパルスデューティとして出力するような場合、パルス信号を生成するドライバーモデル、パルスを電流変換する回路モデルにより電流波形としてモニターすることができます。

その都度、ECUアーキテクチャに合わせてドライバーモデルを作るのは面倒ですが、入出力は機種で共通して利用できる場合が多いので、ECUモデル部品として予め準備しておくと良いでしょう。

モニターするためにだけ追加したモデルは、製品化する場合は削除する必要がありますが、モニター用モデルを追加しなくても、使用されている変数をモニターするツールもサードパーティ製品にありますので、これを利用すると便利です。

※1 MathWorks社の登録商標
制御モデルの出力モニターの例

筆者紹介

斗納 宏敏(とのう ひろとし)

入社時は電気系エンジニアでしたが、数年間はエンジン実験や試験走行が主な仕事でした。その後、制御プログラム開発を担当している時にデバッグ用にシミュレータを開発しましたが、入社時の経験が大いに役立ちました。今では仮想開発環境が一般的となりましたが、実物を使った実験をする事がMBDにおいても重要だと考えています。

人気のコラム

最新のコラム