catch-img

モデルベース開発の基本を解説!設計から開発プロセス全体を効率化

組込みシステムが複雑化・巨大化するに従って、車載システムを中心に広がってきた開発手法が「モデルベース開発」です。

紙の仕様書の代わりにコンピューター上の「モデル」を使い、シミュレーションを駆使した開発を行うのが特徴で、試作を繰り返す従来手法よりも、開発期間の短縮や品質の向上などのメリットが得られます。ソフトウェアによる機構制御を行う分野に幅広く応用が可能なため、自動車産業のほか、医療機器やロボット、エネルギー関連産業などでも活用が進んでいます。

ここでは、そんなモデルベース開発の基本的な考え方、メリット・デメリットなどをご紹介します。


モデルベース開発とは

組込みシステム開発で注目されるモデルベース開発(Model Based Development)は、設計工程でコンピューター上に作成する「モデル」を元に、シミュレーションによる検証を行いながら開発を進めていく手法です。

モデルとは、問題としている対象の抽象表現であり、開発に必要な部分を切り出してMATLAB/Simulinkなどの専用ソフトウエアを用いて記述します。これがコンピューター上で物理システムを再現した「実行可能な仕様書」となり、様々なシミュレーションを行う基となります。

モデルを利用すれば、実機製作を極力減らし、設計段階で繰り返しシミュレーションを行うことが可能になります。結果として、製作費用の低減や品質向上につながります。また、モデルや検証データの再利用とブラッシュアップが容易なことから、開発時の効率化だけでなく、次代の開発へ改善を引き継いでいく役割も果たします。


モデルベース開発のメリット・デメリット

モデルベース開発(MBD)では、実機ではなく「モデル」を使って開発を進めます。MATLAB/Simulinkなどの専用ソフトウェアを用いて作られるモデルは、対象システムのバーチャルな挙動シミュレーション、コードの自動生成など、従来型の開発プロセスでは得られない利点があります。

机上で網羅的に検証を行える

MBDでは、従来型開発では試作機の製作後に検証していた内容でも、モデルを使って早期にシミュレーションを行えます。また、実機では環境や条件をそろえるのに手間がかかる検証も即座に実行できます。

たとえば自動車のエンジンと制御装置を実機で検証する際、温度による動作変化を検証するためには、低温から高温まで環境を用意する必要があります。さらに一度エンジンをかければ、エンジン自体の熱で温度が上がるため、再検証はエンジン温度が下がるまで待たなければなりません。モデルを使ったシミュレーションなら、ソフトウェア上の一定環境下で、個別に条件を変えた検証が何度でもできます。準備の手間や待ち時間が不要で、工数と時間を大きく削減できます。

なおかつ、これらは企画や設計段階でのシミュレーションです。モノをつくる前に何度もシミュレーションを行うので、開発後期の大幅な手戻りを防ぐ効果があります。結果として、全体の効率アップや品質の向上が見込めます。

自動コード生成

MBDでモデル構築と実行に使用する専用ソフトウェアは、モデルからコードの自動生成が可能です(拡張機能)。ACG(Automatic Code Generation)と呼ばれ、MBDの開発工程としても定義されています。人の手によるプログラミング時間を大きく削減できるため、ミスの発生や工数を削減できるメリットがあります。

継続的な改善を効率的に実施できる

文字と図で成り立っている仕様書とは違い、MBDで作成するモデルは実際の動作を画面で確認できます。部署や他社とのやりとりで誤読のリスクを下げる効果があるため、プロジェクト内で意思疎通がしやすくなります。

また、作成したモデルは複製や改良が容易で、再利用しながらさらにブラッシュアップが可能です。用途に合わせたモデルをライブラリとして保存・管理しておくことで、精度を上げたモデルを共有できます。

モデルの継続的な改善によって、より正確に、より効率を上げていくことが、MBDの本来の目的ともいえます。

設計段階での工数は増える

MBDの難点と言えそうなところは、設計段階の負荷増大です。

従来の開発では、紙の仕様書からコーディングを行い、「実機(プロトタイプ)」作成の後にハードウェアと合わせた検証を行っていました。MBDは、この「実機」を仮想環境で動く「モデル」に置き換え、シミュレーションしながら開発と検証を繰り返す手法です。


これはソフトウェア開発でいう「V字プロセス」右側の検証過程を先に持ってくる形になるため、設計段階での工数は増えます。開発後期の手戻りが減るため、全体では効率化がはかれますが、MBD導入直後はバランスが崩れる可能性があります。また、モデルを扱う設計者を増やす、技術習得のフォローを行うなど、開発体制の見直しも必要になります。


モデルベース開発のプロセス 


MBDは、動く仕様書である「モデル」を使い、設計時にシミュレーションによる検証を行うのが特徴です。従来型の開発プロセスとは異なる工程として、代表的なものにMILS、RCP、ACG、HILSなどがあります。


MILS(Model In the Loop Simulation)

MILSは、開発ターゲットとなる制御ロジックをモデル化して、制御対象のモデルと組み合わせて仮想で行うシミュレーションのことです。開発の上流側で用いられ、制御仕様の決定などをサポートします。一般的に、制御ロジック(装置)をコントローラー、制御対象をプラントと呼び、コントローラーとプラントすべてがモデルで構成されます。その点で、モデルを実機と接続するHILSとは異なります。

MILSではすべてがモデル化されるため、パラメータやシステム構成を自由に変更できるのがメリットです。システムの振る舞いもコンピューター上で即座に確認できます。また、検証機材の物理的破損を気にせず行えるため、極端な条件設定や大胆な設計変更を行っても問題はありません。設計者のアイデアを好きなように試行できます。

MILSにより早期に机上検証を行うことで、設計の手戻りを少なくできます。ただ、すべてを仮想で行うため、ハードウェアに起因するエラーや、実行時間にかかわる内容は検証できません。これらは、のちの工程でRCPやHILSによって確認します。


RCP(Rapid Control Prototyping)

RCPは、制御モデルを汎用の制御対象(ハードウェア)につないで、制御設計の最適化をはかる手法です。たとえば自動車開発であれば、制御モデルを汎用エンジンやトランスミッションに接続して動きを確認します。MILSにおける制御対象モデル(プラントモデル)が想定通りに作られているかの検証や、実機プラントが複雑でモデル化が難しい場合などに用いられます。

モデルによるシミュレーションだけでは確認できない項目のチェックができ、必要な機能の早期見極めが可能です。


ACG(Automatic Code Generation)

ACGはコード自動生成のことで、MATLAB/Simulinkなどモデルベース開発専用ツールの拡張機能を使用します。製品にはMATLAB Coderなどがあります。

人手を介さずプログラムを自動生成できますが、モデルの記述によっては意図しないコードが生成される場合もあるため、通常レビューを行いながら細部を調整します。


HILS(Hardware In the Loop Simulation)

HILSは、MILSでモデル化した一部をハードウェアに置き換えてシステムの検証を行う工程です。また使用する専用ハードウェア(リアルタイムシミュレータ)そのものも指します。装置を制御するECU(Electric Control Unit)を検証するために用いられ、入出力インターフェースを備えたHILシミュレータに、モデルを実装して使用します。

すべてをモデルで行うMILSによる検証では、目的とする検証以外の「記述できない要素」が多く存在します。たとえば物体の運動による摩擦係数の変化などです。このような実時間での評価が必要になる要素を、モデルを実装した専用ハードウェアを用いて検証します。

HILSは、試作機完成前にECUをテストできるため、試作機製作費用を低減できます。また、細かな検証と修正の工数は増えますが、異なるプログラムの動きを短時間で試行できるため、実機評価後の手戻りを減らす効果も見込めます。結果として、開発全体のスピードアップとコストダウンにつながります。

さらにHILSは、従来の開発プロセスに沿ったまま一部のみをHILシミュレータに置き換えることができるため、モデルベース開発全面移行への足がかりにもなります。


すでにモデルベース開発なしには成立しない分野も

組込みシステム開発の大規模化、複雑化は指数関数的スピードで増大しており、従来の実機試作をベースとした開発プロセスでは対応できないプロジェクトも珍しくありません。すでに航空や自動車産業では、モデルベース開発で「開発の効率化を目指す」のではなく、「モデルベースでないと開発できない」状況にあるといえます。製品サイクルが短くなり、短時間・低コストの開発がより求められるなか、この流れはモノづくりを行う産業全体に波及することが予見されます。

MBDを全面的に導入しようとすると、高価な機材の購入や組織体制の変更をともないますが、一部をMBDに置き換えるだけでもメリットを享受できます。業界によっては、モデルの流通も推し進められており、環境は整いつつあります。実績を持つ請負先やMBDベンダーなどと協力しながら、まず自社で導入できる部分がないか検討することで、大きな開発プロセス効率化の端緒となる可能性が十分あります。

CONTACT
お問い合わせ
人材に関するお問い合わせやお悩みなど、お気軽にご相談ください。