モデルベース開発(MBD)は、設計段階でモデルを使ったさまざまな検証を行える優れた開発手法です。これまでは自動車業界を中心に導入されてきましたが、近年では自動車以外の分野・業界にも活用が進んでいます。
本記事では、モデルベース開発の概要や自動車以外の業界・分野でのモデルベース開発の事例、導入のポイントなどを解説します。
テクノプロ・デザイン社は、エンジニアリング・コンサルティング事業のエキスパートです。モデルベース開発導入を検討する際は、テクノプロ・デザイン社へぜひご相談ください。
車載システムだけでなく、建機、重機、農機などの開発や医療機器、ロボット開発などのエンジニアリング経験を基に、モデルベース開発におけるシミュレーション環境構築・検証までを一貫したサービスを提供します。
モデルベース開発(MBD)とは?
モデルベース開発(MBD:Model Based Development)は、自動車業界を中心とした組込みシステム(機器に組み込まれ、その機械等を制御するコンピューターシステム)の開発現場を中心に広まった手法です。従来の組込みシステム開発の課題を解決しつつ、スピーディな開発を可能としています。
ここでは、モデルベース開発の概要や特徴について解説します。
モデルベース開発とは?
モデルベース開発とは、シミュレーション技術や仮想空間などを活用した開発手法です。設計段階でコンピューター上に「動く仕様書」と呼ばれる「モデル」を作成し、そのモデルでシミュレーション・検証を行いながら、開発工程を進めます。つまり開発工程の上流である設計段階で、検証も同時進行できる手法です。
モデルベース開発では、MATLAB上で動作するプロダクトであるSimulinkがよく用いられます。
以下の図は、モデルベース開発の一例をV字モデルで表したものです。
モデルベース開発のシミュレーション環境は、次のものが挙げられます。
シミュレーション環境・プロセス | 概要 |
MILS (Model In the Loop Simulation) | ●仕様設計段階の制御モデルとプラントモデルで構成されたシミュレータ環境 ●シミュレーション動作を確認しながら制御モデルの仕様を検討する ●開発工程の(序盤)要件分析/基本設計工程で実施 |
SILS (Software In the Loop Simulation) | ●仕様設計段階の制御コードとプラントモデルで構成されたシミュレータ環境 ●制御コードはACGでモデルから自動生成されたものを使用。モデルからコードに置き換えたことによる影響の動作検証を行う開発工程の(中盤)のプログラミングの手前で実施 *SILSで合格したコードはECU側のコードと結合してECUソフトウェアとなる |
HILS (Hardware In the Loop Simulation) | ●制御装置であるECUと、制御対象を模擬したHILS装置で構成した評価環境 ●制御対象の振る舞いはHILS装置に組み込んだプラントモデルで模擬 ●実機環境と近い環境でECUソフトウェアの評価を行う ●開発工程の(終盤)のテスト工程で実施 |
RCP (Rapid Control Prototyping) | ●ECUを模擬したハードウェアに制御モデルを組み込み、実機に接続した評価環境 ●MILSでは確認できない項目のチェックが可能(電気ノイズの影響、プラントモデルで模擬できていない制御対象の動作確認) ●実機環境と近い環境で制御モデルの評価を行う ●開発工程の(序盤)要件分析/基本設計工程で実施 |
ACG (Automatic Code Generation) | ●制御モデルをプログラミングコードに自動で生成するプロセス ●生成した活用するにはコードの細かい微調整が必要 |
モデルベース開発と似た概念として、コンピューター上で計算や検証などのシミュレーション・解析を行うCAE(Computer Aided Engineering)があります。両者の違いはアプローチ先や技術です。
モデルベース開発は製品の妥当性・システム動作などの全体の検証を行う一方で、CAEは製品の特定の側面(流体、強度、振動、運動、熱など)に焦点を置いてシミュレーションを実施します。
【参考動画】
モデルベース開発の特徴
モデルベース開発の大きな特徴は、ハードウェアを準備せずともモデルを活用して検証を実施できる点です。
従来の開発・設計では、試作機や実機などのハードウェアを準備しなければ検証作業ができません。プログラムなどのソフトウェアを開発してもハードウェアがなければ動かせないため、工程の下流まで開発が終わるまで待つ必要があります。
モデルベース開発では、モデルを活用して実行・制御などについてのシミュレーションができ、ハードウェアがない状態でもさまざまな検証が可能です。
また従来の開発工程は、ソフトウェア・ハードウェアが揃った検証段階で仕様ミスや設計の不備が見つかると手戻りの負担が大きいという問題がありました。仕様・設計関係の手戻りは設計段階からのやり直しになるため、労力・費用・時間のいずれも大きなコストが発生します。
一方、モデルベース開発では、開発工程の上流の時点で検証や動作を確認可能です。
そのため不備が見つかってもまだ設計工程段階であることから、手戻りの負担は少なくて済みます。仮に途中で仕様変更が入っても、フレキシブルに対応しやすいのも特徴です。
モデルベース開発の現段階での主な活用先は自動車業界
モデルベース開発は、主に自動車業界で活用され浸透してきました。
自動車業界では、安全性・機能面がより優れた自動車の開発や、自動車運転・EV自動車(電気自動車)といった新技術の導入が日々求められています。衝突被害軽減ブレーキや車間距離制御装置などのASV(先進安全自動車)、自動運転システム、排ガス規制への対応などのさまざまなニーズに応えるには、複雑化したシステムであっても問題なく搭載・制御できるシステム・機器の開発が必要です。
製品の安全性・クオリティと市場ニーズのすべてを担保するには、あらゆる走行シーン・トラブルを想定した繰り返しの検証・改善が不可欠です。しかし何度もテスト・検証をするだけの試作機・実機の準備や分析、再開発を行うには、膨大な時間や費用がかかってしまいます。
一方、モデルベース開発ならモデルを使用してシミュレーションできるため、さまざまなシチュエーションの検証を実機の準備をせずに実施できます。
このように、自動車業界とモデルベース開発は非常に相性が良い上に、近年では、自動車業界以外でもモデルベース開発が取り入れられるケースが増えてきました。
自動車以外の業界・分野におけるモデルベース開発の向き・不向き
ここでは、自動車以外でモデルベース開発を行う業界や分野と、向いていない分野について解説します。
自動車以外でモデルベース開発が見込まれる業界・分野
これからモデルベース開発が見込まれる業界・分野の主な特徴は、次のとおりです。
- 自動車業界のように事故、故障、欠陥などさまざまなシチュエーションでの検証が重要になる業界・分野
- モデルを再利用して繰り返しの検証がアドバンテージになる業界・分野
- 現実で再現するのが難しいシチュエーションでの検証が必要な業界・分野
たとえば重機や建機、農機、産業用ロボット、鉄道、物流機器、医療機器、電機(パワーコンディショナ)、無線通信・オーディオ・信号処理・画像処理といった、機器制御が重要になる業界・分野とモデルベース開発の相性は良いでしょう。航空・宇宙産業や建機など、リアルな検証を頻繁に行えない現場でも普及が進んでいます。
原則として、システムの挙動をモデルで表せる分野すべてに応用が可能です。
また、将来的にはAIやディープラーニングの分野でも、モデルベース開発の活用が期待されています。
モデルベース開発に向いていない業界
モデルベース開発が向いていない業界・分野としては、制御を必要としないUI中心のソフトウェア開発が挙げられます。たとえば事務用ソフトやスマホアプリなどです。
自動車以外のモデルベース開発の事例
実際に自動車以外でのモデルベース開発にはどのような事例があるのでしょうか。ここからは自動車以外のモデルベース開発の事例を解説します。
医療機器のモデルベース開発
医療機器分野では、自動車や航空機などと同じく製品には高い信頼性・安全性の担保が必要です。そのため、モデルを活用してあらゆるシチュエーションを繰り返し検証できるモデルベース開発によって、さまざまなシステム・機器の開発が進められています。
たとえば身体への負担の検証、血液循環のシミュレーション、ペースメーカの開発などでモデルベース開発を導入した事例があります。
【参考動画】
エネルギー管理システム制御ソフトのモデルベース開発
大手メーカーである村田製作所には、モデルベース開発によってエネルギー管理システム制御ソフトの開発期間を50%以上短縮し、欠陥のないコード生成・プロジェクト始動の迅速化などを達成した事例があります。
活用事例は次のとおりです。
- PIコントローラーをモデル化し、コントローラーおよびプラントで閉ループシミュレーションを実行
- 停電・グリッドからのサージ、システム内の過電流といった異常状況に対する設計の評価として、追加の閉ループシミュレーションを実行
- コントローラーモデルからのCコード生成
このように自動車以外の製品でも、モデルベース開発の導入が進んでいます。
引用:MATLAB & Simulink「村田製作所がモデルベース デザインによりエネルギー管理システム制御ソフトの開発期間を 50%以上 短縮」
モデルベース開発のメリット・デメリット
自動車以外の業界でも広まりつつあるモデルベース開発には、多くのメリットが存在します。一方で導入を本格検討する際は、メリットだけでなく運用の難しさや人材育成などの面でのデメリットの確認も必要です。
モデルベース開発のメリット・デメリットをそれぞれ見ていきましょう。
モデルベース開発のメリット
モデルベース開発のメリットの多くは、シミュレーションを活用できる点にあります。モデル活用による具体的なメリットは次のとおりです。
- 設計段階でシミュレーションによる妥当性の検証ができるので、試作回数低減、開発スピード向上、手戻りが原因で発生するコストの削減などにつながる
- シミュレーションによる動的な検証を行いやすく、詳細なチェックや検証を繰り返せることで品質・開発効率の向上が期待できる
- 意図的に欠陥・故障を引き起こした検証ができ、トラブルや想定外のシーンを含めた膨大なシミュレーションが可能
- モデルを何度も使い回せるので、検証のために必要な試作機・実機にかかるコスト削減や複製・修正が容易
- モデル再利用によって、仕様書の作り直しや体裁を整える作業が不要
- モデルから自動的にプログラミングコードを生成でき、プログラミング・コーディング作業の時間を大幅短縮可能
このように、モデルベース開発には従来の開発にはない多くのメリットが存在します。
モデルベース開発のメリットについては、以下の記事で詳しく解説しています。
モデルベース開発のデメリット
モデルベース開発は優れた開発手法ですが、導入・運用の難易度が高いというデメリットがあります。モデルベース開発における、具体的なデメリットは次の通りです。
- 開発対象のモデルとは別にシミュレーション用のモデルの作成が必要になるなど、従来の開発手法よりも開発工数や負担が増大する(とくにV字の左側の工程)
- モデルベース開発に使用するツールに関するスキルや、モデルベース開発に関する技術力・経験を身に付けた人材の育成・教育に時間がかかる
- V字の左側(設計)に工数がかかる分、設計者の人数が必要になり、開発体制の不均衡による配置転換や教育計画の再考などが必要になる
モデルベース開発は、自社のみの取り組みでは導入難易度が高い手法と言えます。適切に導入するには、自社従業員の教育や開発環境整備などの下地を整える必要があります。モデルベース開発に精通した専門家の力を借り、協力しながら導入を進めていくとスムーズでしょう。
モデルベース開発の導入を成功させるポイント
モデルベース開発の導入を成功させるポイントは、「モデルベース開発に対応できる人材を育成する」ことと「既存モデルを活用する」の2つです。詳細を見ていきましょう。
モデルベース開発に対応できる人材を育成する
モデルベース開発の肝となるのが、モデルベース開発に対応できる人材の育成です。高度な技術力・対応力が求められるモデルベース開発を担当するには、プログラミングスキル、CADスキル、分析・解析・検証スキル、開発・設計の知識、その他コンピューター関係に精通している必要があります。
そのため現場OJTの実施、スキルアップ支援、研修会開催など、モデルベース開発人材の育成・教育に必要な体制の構築・実行を、組織全体で考えることが大切です。また、モデルベース開発の経験者の採用を検討するなど、人事部門との協力体制も重要です。
既存モデルを活用する
モデルベース開発に使用するモデルは、既存の開発モデルを活用することでモデルの作成工数を減らせます。モデル作成はモデルベース開発においてもっとも工数がかかるため、既存モデルを流用できれば大きな作業時間短縮につながるでしょう。
モデルベース開発に使えるモデルは、市場でも購入できます。ニーズに合致するモデルがあれば、購入するのが一番早いでしょう。とはいえ流通しているモデルはまだ少ないので、原則は自社モデルの流用または新規開発になります。
モデルベース開発の導入ならテクノプロ・デザイン社へ
モデルベース開発を導入するにはモデルベース開発を実行できる環境や、高い技術力を持つ人材が必要です。モデルベース開発に興味があるけど、どのように進めていけばよいかわからない」という担当者も多いでしょう。
テクノプロ・デザイン社では多角的なモデルベース開発支援サービスを提供しています。要件定義からモデリングまでのシームレスな設計をはじめ、モデルベースシステムズエンジニアリングの構築支援、モデルベース開発に関する人材育成やコンサルティング支援も可能です。お客様の課題に合わせたモデルベース開発支援をご提案いたしますので、ぜひお気軽にお問合せ・ご相談下さい。