モデルベース開発は自動車開発において必須
モデルベース開発(MBD)は自動車の開発において必須の技術となっています。自動車メーカーではMBDが実践できる人材は非常に重宝され、転職においても高い市場価値を有しています!
CASEというキーワードで代表されるように、自動運転システム開発や電気自動車開発においてもMBDなしでは開発できません。
したがって、MBDに強みを持っている人は積極的に自動車メーカーへの転職をチャレンジしてもよいでしょう。
MILS/SILS/HILSはV字プロセスとセットで理解する
V字プロセスには設計プロセス(V字の左側)と検証プロセス(V字の右側)の2つに分けられることを説明しましたが、モデルベース開発(MBD)もV字プロセスの各フェーズに合わせて、最適な適用手法を選択することが重要です。
MBDでよく聞かれるMILS/SILS/HILSという3つのモデル環境の特徴とそれぞれの環境がV字プロセスのどのフェーズに適用することが有効なのかを解説します。
MILSは開発序盤のシステム設計で活躍
MILSはモデルのプラントとモデルの制御の統合環境
MILSとはModel in the Loop Simulationの頭文字を取ったものです。直訳すると、ループシミュレーションのモデルとなります。ここでのループシミュレーションとはプラント(制御対象)モデルとコントローラ(制御)モデルとのループを指しています。
つまり、MILSとはモデルで記述されたプラントモデルとモデルで記述されたコントローラモデルをループ構造したモデル環境のことです。

エンジン開発でのMILS適用例
エンジンMILSを例に考えてみます。エンジンMILSの場合、エンジンのプラントモデルとエンジンを制御するコントローラモデルを作ります。次に、インターフェイスと呼ばれるモデル間の入出力関係を決めていきます。

図2のように、エンジンMILSの場合はまずコントローラモデルが目標回転数や目標燃料噴射量(≒目標トルク)をプラントモデルに指示します。プラントモデルはその入力を受けてモデル内で筒内圧力、筒内温度、トルクなどの物理量が計算されます。
次に、その物理量はコントローラにフィードバックされて目標値が更新されます。目標回転数に届いていない場合は、さらに燃料噴射量を増やしたり、反対にオーバーシュートした場合は噴射量を減らしたりして目標に追従させようとします。
MILSはV字プロセスの左上(開発の初期段階)で活用
MILSはV字プロセスの左上、つまりまだ開発がスタートした直後のシステムが固まっていない初期段階で使うことが効果的です。

V字プロセスであればシステム設計〜ユニット設計のフェーズで適用することが効果的です。MILS環境を使うことで、①制御ロジックの基本骨格が机上で考えられるようになる、②車両全体での最適システム設計が机上で考えられるようになるという2つのメリットが得られます。
1つ目は、どんな制御にすればエンジンを上手くコントロールできるだろうかという制御視点での考え方です。2つ目は、この目標燃料噴射量でもっと大きなトルクを発生させるためにはエンジンをどのように改良すべきかというプラント視点での考え方です。MILSでは制御視点、プラント視点の両方の視点から開発していくことが重要です。
MILSではシステムの大枠を設計する段階なので、詳細なモデルは必要ありません。基本的な物理法則で記述されたシンプルな物理モデルを用いることが適切です。
SILSは開発中盤の主に制御ロジックの検証で活躍
SILSはモデルのプラントとソフトウェア(Cコード)の制御の統合環境
SILSとはSoftware in the Loop Simulationの頭文字を取ったものです。SILSはC言語などのプログラミング言語で記述されたコントローラモデルとモデルで記述されたプラントモデルとのループシミュレーションになります。

図4はSILSの概要図を示しています。コントローラがモデルからCコードなどのソフトウェアに置き換わっているだけで全体構成はMILSに酷似しています。
SILSはV字プロセスの中央付近で活用
SILSは一般的にMILSの次のフェーズで使用されるモデル環境になります。

まずMILSで制御ロジックの基本骨格を作り、その後C言語などのプログラミング言語でコーディングをします。そして、SILS検証を通して作った制御コードで狙い通りの制御ができているかを確認します。したがって、MILSは制御視点とプラント視点の両面がありましたが、SILSは制御視点がメインになります。
SILS環境の用途:記述したコードのバグ出し
作った制御コードに0割などの記述ミスがないか、状態が適切に遷移するかというコードのバグ抽出に使われることが多いです。
そのため、SILSに用いられるプラントモデルはMILSと同様に、定量的な精度はそれほど要求されず、定性的な動きが再現できれば十分なのです。
理想は、定性的に正しく動作し、演算負荷が軽く高速で計算できるモデル環境です。したがって、MILSとSILSでは同じプラントモデルを流用することが多いです。
HILSは開発終盤の実際のECUのテストで活躍
HILSはモデルのプラントと実機の制御(ECU)の統合環境
HILSとはHardware in the Loop Simulationの頭文字を取ったものです。実機のECUとモデルで記述したプラントモデルを結合させたループシミュレーションになります。HILSではコントローラは実機を使って検証していくことになります。

HILSはV字プロセスの右上で活用
HILSはV字の右側の検証プロセス内で使用されるモデル環境になります。

HILSでは実際のECUを用いて検証を行うため、ECUとプラントモデル間のインターフェイスは電子回路になります。したがって、MILSやSILSのようにモデリングツール内で接続するのではなく、ECU内の入出力回路とハード的に結合させてループを作ります。
HILS環境の要求機能はリアルタイム性
HILSの特徴は2つあります。1つ目の特徴はリアルタイムシミュレーションが要求される点です。リアルタイムシミュレーションとは実世界と同じ時間でシミュレーションできることであり、あたかも実際のプラントを制御しているようにECUを動作させる必要があります。そのため、HILSのプラントモデルには高速演算できることが要求され、高価な高性能計算機内にプラントモデルを構築します。
HILS環境の用途:故障診断など実機で再現が困難なシーンの検証
HILSの代表的な用途は、故障診断などの実機では検証が困難なシーンの検証です。
実際のECUと実際のエンジンを結合させた場合、故障診断が正常に働くか確認するためにはエンジンを故障させる必要があります。毎回エンジンを意図通りに故障させて検証することはあまりに非効率すぎますよね?
したがって、プラントモデルで任意の故障を再現させて、ECUが正常に故障を認知・判断・制御できるかを検証していくのです。
MILS/SILS/HILSはV字プロセスのフェーズに応じて適切に使い分け
今回は、MILS/SILS/HILSの3つのモデル環境の特徴と使い方について説明をしました。3つの特徴を表にまとめると以下のようになります。
重要なことは開発フェーズによって要求されるモデル精度、シミュレーション速度、汎用性は異なります。したがって、適材適所でMILS/SILS/HILSを使い分けていくことが大切です。
コントローラ(制御) | プラント(制御対象) | |
MILS | モデル | モデル |
SILS | Cコードなどのプログラミング言語 | モデル |
HILS | 実機(ECU) | モデル |
コメント