MBD(モデルベース開発)・MBSE(モデルベースシステムズエンジニアリング)
大規模かつ複雑化する車載システム。その開発に当てられる期間は年々短くなる傾向があります。そうした環境で従来どおりの設計手法で開発した場合に、評価フェーズにおいて仕様に関する問題が発生すると、大きな手戻りが発生してしまい製品計画全体にも大きな影響を与えます。
この課題を解決するため、要求や要件を早期に検証することができる新たな開発手法として、MBD(モデルベース開発)やMBSE(モデルベースシステムズエンジニアリング)が注目されています。
MBD(モデルベース開発)とは
WordやExcelなどを使う従来の設計手法に置き換わる開発手法で、ブロック線図などを使って設計することで、設計段階でシミュレーションすることも可能になります。このため、このモデルは「動く仕様書」と呼ばれることもあります。
MBSE(モデルベースシステムズエンジニアリング)とは
MBSEは、次のような課題に対して、局所的な解決や文書によるアプローチではなく、モデルを用いてシステム全体を表現することで関連性を見えやすくし、製品やサービスなどのシステム開発を成功に導く手法です。
- システムの複雑化に伴う課題
- システムの派生やシリーズ化に伴う課題
- 要求の不適切な分析
- 定義に伴う課題
- 要求変更への対応に伴う課題
- 大きな手戻りの発生に関する課題
- ドキュメントの標準化に関する課題
MBD(モデルベース開発)、MBSE(モデルベースシステムズエンジニアリング)のニーズ
MBD、MBSEは、次のようなニーズから生まれた開発手法です。
- 大規模化・複雑化するシステムにおいて、製品の実現の妥当性や課題を早期に把握したい。
- 仕様や設計をドキュメントで管理するのではなく、デジタルデータで管理したい。(セマンティックデータ)
自動車産業を取り巻く環境(「SURIAWASE2.0」の深化)
これまでの自動車産業は、日米欧の車両メーカー間の競争でしたが、自動運転や電気自動車の分野ではIT業界をはじめとする異業種からの参入も進み、一段と競争が激しくなっています。
こうした状況下において、日本の車両メーカーやサプライメーカーが、今まで以上に国際競争力を高めるために、経済産業省は、2018年に実機を用いずにバーチャル・シミュレーションで開発を行う手法(MBD)により高度化する「SURIAWASE2.0」を深化させるための方針をとりまとめ、活動してきました。これが、現在のモデルベース開発の広がりを加速させる背景となっています。
MBD(モデルベース開発)のプロセス
MBDの特徴の一つが、V字工程の左側にあたる設計工程段階で検証を行うことができることです。ここでは、MBDの各工程における実施内容をご紹介します。また、MBDでよく使われる用語についてもご説明します。
MBD(モデルベース開発)の設計
MBDにおける設計には、従来の設計における機能設計、構造設計、コンポーネント設計、モデリングが含まれています。また、大きく制御モデル設計と実装モデル設計に分けられます。
制御モデル設計
制御モデル設計では、次のような手順で制御モデルを作成します。その後、制御モデルの妥当性評価として、MILS(Model In the Loop Simulator)やRCP(Rapid Control Prototyping)による動作などの確認を行います。MILSでは、制御モデルを検証するために制御対象機能もモデルで実現します。これをプラントモデルと呼び、その精度が制御モデルの精度に影響するため、制御モデル設計においても重要なものと位置づけられています。
実装モデル設計・オートコード
実装モデル設計では、制御モデル設計で作成した制御モデルをソースコード変換する前に次の事項を確認し、必要に応じてモデルを修正したり、部分的に従来のソースコードで実現します。
- モデルガイドラインに沿った形となっているか
- 効率的なリソースの使用になっているか
- 性能に影響するものがないか
また、ミドルウェアやフレームワークとつなぎ込みのためのインタフェース層を作成します。その上で、オートコードジェネレーターを使って生成したソースコードと結合して、実行モジュールを作成します。
MBD(モデルベース開発)の評価
MBDにおける評価には、従来の開発で行われてきた評価(ホワイトボックステストやカバレッジ計測)に加えて「Back-to-Back」という評価を行います。また、結合評価やシステム評価でもシミュレーションを使った評価を行います。
単体評価
単体評価では、実装モデルから生成したソースコードも含めて、これまでの従来開発と同様のホワイトボックステストやカバレッジ計測を行います。加えてMBD特有の評価として、SILS(Software In the Loop Simulator)を使い、制御モデルの評価結果と同様の結果になるかという一致性検証(Back-to-Back)を行います。
特に、モデルでは浮動小数点演算が使えますが、ターゲットボードの制約で固定小数点となる場合があり、その際に誤差が発生することがあるため、その誤差が妥当なものかといった確認も行います。
結合評価
結合評価では、生成されたソースコードも含めてターゲットボードのコンパイラでオブジェクトを生成して評価を行います。この評価では、HILS(Hardware In the Loop Simulator)やPILS(Processor In the Loop Simulator)が使われます。HILSとPILSのどちらを使うかはプロジェクトによって違います。基本的には、SILSと同様MILSの入力データを使って、Back-to-Backを行ったり、リアルタイムプロセス上で動かし、処理時間の測定なども行います。
システム評価
システム評価では、接続されるECUを模擬したプラントモデルとHILSを使って機能の評価を行います。これまではECU間のやり取りがない状態での評価でしたが、システム評価ではCAN通信を使い、より実際の環境に近い状態で評価します。HILSを使って評価することで、テスト条件が複雑でも容易にテストすることができるようになります。
HILSに関する弊社の開発実績はこちらへ
テスト自動化・シミュレーター用語
MBDでよく使用される用語を解説します。
MILS (Model In the Loop Simulator) |
モデルで記述した制御機能をプラントモデルと結合して動作させるシミュレーション環境。 | |
---|---|---|
SILS (Software In the Loop Simulator) |
ソースコード(実行可能モジュール)とプラントモデルを結合して動作させるシミュレーション環境。 | |
PILS (Processor In the Loop Simulator) |
コードをターゲットボード上で動作する実行可能モジュールとし、プラントモデルと結合して動作させるシミュレーション環境。 | |
HILS (Hardware In the Loop Simulator) |
実行可能モジュールを書き込んだハードウェアとプラントモデルをCAN通信などでやりとりできるようにして動作させるシミュレーション環境。 | |
RCP (Rapid Control Prototyping) |
制御モデルを実機環境で試す場合の手法。リアルタイムクロックで動作する環境で動作させることで動作の妥当性を検証する。 | |
Back-to-Back | 制御モデルで動作検証したデータを使って、自動生成した後のソースコードを使ったSILSまたはMILSでモデルとソースコードの等価を確認。MBDで使用するツールは浮動小数点演算だが、マイコン側はそれぞれの制約要件もあり浮動小数点演算機能が搭載されていないものがあり、固定小数点での処理に置き換えることで小数点誤差が発生することがある。 |
Sky株式会社実績紹介
車載ECU開発実績
MBDの特徴を生かし、設計では制御モデルの作成、評価ではMILS、HILSといったシミュレーション手法を取り入れて製品開発を行います。MBDの実績は、次のような各種ECUで量産品の開発実績があります。
- パワートレイン系ECU
- エンジンECU
- トランスミッションECU
- EV / HV ECU
- パワーコントロールECU
- 電池ECU
- EVECU
- HVECU
- シフトバイワイヤECU
- ボディ系ECU
- ボディコントロールユニット
- スマートECU
- パワースライドドア / バックドアECU
- シートECU
- サンルーフECU
- ADAS系ECU
- 運転支援ECU
- ステレオカメラECU
- 周辺監視ECU
- ロケーターECU
- 自動運転ECU
各種ECUにおける実績
MBD(モデルベース開発)における各種ツールの使用実績
MBDでは、各工程でさまざまなツールを使用して開発を進めます。弊社は、表に記載したものをはじめ各ベンダーが提供するツールを使用した開発を行った経験・実績があります。
工程 | ツール | 内容 |
---|---|---|
制御モデル設計 |
|
|
実装モデル設計 |
|
|
オートコード |
|
|
単体評価(コード検証) / 結合評価 |
|
|
システム評価 |
|
|