MBDのメリット・デメリット
モデルベース開発とは
モデルベース開発(MBD:Model Based Development)とは、システムをモデル化して「動く仕様書」となるモデルを作り、そのモデルを使ってシミュレーションしながら検証を繰り返して設計や開発を進めていく手法で、自動車業界では車載システム開発などでの導入が進められています。安全性や信頼性が重要とされる領域での利用が有効とされ、通信、航空・宇宙、電車、医療機器などでの利用も増えています。
従来の開発ではフローチャートやテキストを使った仕様書をもとに机上で妥当性を検証して設計書を作成し、コーディング、実機での検証という形で開発が行われてきました。
しかしフィードバックを重ねながら何度も検証が繰り返され、そのたびに修正やプロトタイプの作り直しをするため、多くの時間と労力がかかります。専用ソフトウェアを使い仮想環境でシミュレーションを行うモデルベース開発を導入することで、開発効率が向上しリリース期間の短縮が可能となります。
モデルベース開発のメリットとデメリット
モデルベース開発(MBD)にはメリットだけでなくデメリットもあります。モデルベース開発のメリットとデメリットについて解説していきましょう。
モデルベース開発のメリット
シミュレーションによる低コスト化
従来の開発方法では実機を用意して制御機能をコントローラーに実装しテストを行いますが、システムが大きい場合、不具合が生じた時の原因特定に時間がかかってしまいます。また、不具合を修正して再テストする時に、実機とコントローラーを組み直さなくてはならないため時間と手間がかかります。
MBDを導入すれば実機とコントローラーをモデル化してシミュレーション上でテストできるため、原因の特定と実機・コントローラーの組み直し時間を減らすことができます。
開発初期に詳細設計ができる
従来の開発方法では開発期間の後期に詳細設計工程が集中します。そのため不具合が発生した場合には修正・テストが必要となり、予定より開発期間が延びてしまうことが多いです。モデルベース開発を導入すれば、早期にシミュレーションでテストを始めることができるので、早いうちに不具合を修正し、計画通りに開発を進めることができます。
早期にテストできるので、開発を始める前にシミュレーションを使って事前検討も可能となり、実現可能性や、より正確な開発工数見積もりができるようになります。
しかし全て事前にシミュレーションできるわけではなく実際の開発現場では実機での検討が必要な場合もあります。その場合にはリアルタイムシミュレーターを使って制御モデルをすぐに実装してリアルタイム実行を行います。これはラピッド制御プロトタイピング(RCP:Rapid Control Prototyping)といいますが、モデルベース開発の標準的なツールであるMATLAB、SimulinkはRCP機能が充実しています。SpeedgoatR社のリアルタイムシミュレーターを利用すればMATLABの機能を使って、コントローラーの操作やシミュレーション結果の可視化も行うことができます。
※MATLAB:世界中の科学者・エンジニアがアルゴリズム開発、モデル作成、データ解析に使用する数値計算プラットフォーム・プログラミング言語。アメリカ合衆国のMathWorks社が開発。
効率よく機能検証ができる
シミュレーションで機能検証できれば検証の自動化ができます。開発システムが機能要求を満たしているか確認するためには、様々な条件下で機能をテストして結果評価をする必要があります。
複雑で大規模なシステムであるほど作業工数は膨大な数となります。モデルベース開発(MBD)ならシステムをモデル化してシミュレーションできるので、テストや評価が自動化でき、工数削減を実現できます。
必要機能を漏れなく設計できる
複雑で大規模なシステムであるほど実現すべき機能は増えていきます。何百、何千という膨大な機能が全て実現できているか把握するにはモデルで管理することが重要になります。機能漏れがあった場合、開発のやり直しや遅れが発生してしまうため、開発フロー中で要求に対し、どのように設計、検証したかトレーサビリティを持たせることが必要です。
モデルベース開発では実現する機能は要求仕様書という文書で表現し、シミュレーション上ではモデル形式で表現し、モデルをテストするための目標値や設定をまとめたテストケースも作成します。要求、モデル、テストを関連付けることで必要機能を漏れなく設計することができます。
自動コード生成できる
モデルで設計された制御機能は自動コード生成されマイクロコントローラーなどに実装できます。コードを手書きする必要がなくなるので開発効率がアップします。
C言語などのプログラミング言語は、プログラマーの能力によってコード品質が異なり、潜在的エラーがあったり、計算の悪いコードであったりすることもあります。自動コード生成機能を用いれば、コード品質を高い水準に保つことができるので、コードレビューにかかる工数を削減できます。
デメリット
設計工数の増加
モデルベース開発(MBD)では開発後期の検証工程が先になるため設計工数が増加します。開発対象の制御モデルだけでなく、制御される対象となるモデルや検証用データも作ってシミュレーションし、設計を修正していきます。検証工程は効率化されますが、設計工程の負担が従来よりも増えてしまいます。
人材育成に時間がかかる
モデルベース開発未経験者の場合、技術を覚えるための時間がかかります。従来の開発であれば制御される対象となるモデル作成は不要でしたがMBDでは必要となります。MBDを導入する場合には設計者への教育や外部からの人員なども必要となり、時間だけでなくコストがかかります。またMBDに必要なツールの費用もかかります。
設計者の増員が必要
従来の開発では開発後期の検証工程に多くの人員が必要でしたが、モデルベース開発では検証工程の人員を減らして設計工程の人員を増やす必要があります。今まで検証工程に携わっていた人員を配置転換することはできないので、設計者の育成や教育が必要となり、さまざまなコストがかかります。
自動車業界におけるモデルベース開発の必要性
急速にテクノロジーが進んでいる自動車業界では、今後も自動運転や電気自動車の普及が進むことが予想されます。また、環境や安全に対応するために、排ガス規制基準への対応、衝突被害軽減ブレーキ、横滑り防止装置など自動車に搭載される機能は複雑化しています。
限られた開発費用や労働力で品質を落とさずに製品化するためには、自動化できる部分は自動化して効率化する必要があります。そのため自動車業界ではモデルベース開発(MBD)の導入が増えているのです。
自動車業界だけでなく、検証のために広い場所を必要とする建設機械や航空機業界など頻繁な検証が難しい現場でもモデルベース開発が進んでいます。今後も実機を使わずに詳細なシミュレーションができるモデルベース開発のニーズがますます増加することが予想されています。
2021年には日産やトヨタなどの自動車メーカーや自動車部品メーカーによって2021年にMBD推進センター(JAMBE)が立ち上げられました。これは経済産業省による「自動車産業におけるモデル利用のあり方に関する研究会」でまとめられた「SURIAWASE2.0」を継承したものですが、現在ではMBDの全国普及を目指し、東芝デジタルソリューションズ株式会社、日本マイクロソフト株式会社など様々な企業が参画しています。
しかしながら、その専門知識を有するエンジニアはまだまだ不足しているのが現状です。
エンジニアとしての将来を検討する際には、若手エンジニアへのモデルベース開発技術の教育に力を入れているAZAPAエンジニアリング株式会社のような企業は、今後の活躍の場を広げるためにも、注目すべき企業だと言えるでしょう。