モデル作成と必要な技術について
目次
SUPERVISOR
監修者情報
JapanMBD推進センター
sponsored by AZAPAエンジニアリング株式会社

モデルベース開発の
利点や実装方法などを
産業界や研究機関に提供する
利点や実装方法などを
産業界や研究機関に提供する
「一般社団法人MBD推進センター」とは、モデルベース開発は経済産業省の主導で進められてきた普及への取り組みの延長線上にある団体です。トヨタや日産、マツダなど多くの企業が参加し、MBD開発の共同研究がおこなわれています。

MBD推進センター会員
市原 純一氏
市原 純一氏
自動車技術会のモデル流通検討委員の幹事を行いながら、制御開発、モデル開発を行う。MBD推進センターのガイドラインや、準拠モデルの開発にも携わる。
【所属・役職など】
・AZAPA株式会社 取締役
・ MBD推進センター 会員
・モデルベース大学 講師
ページ監修:MBD推進センター会員 市原純一氏
MBD推進センターは経済産業省の主導で進められてきたMBDの普及が主要な活動であり、MBDの利点や実装方法に関する情報を産業界や研究機関に提供し、MBDの普及を推進しています。その会員である市原氏に、当ページの監修を依頼しています。
モデルベース開発のモデル作成プロセス
自動車業界を中心に導入がすすむモデルベース開発(MBD:Model Based Development)は、「動く仕様書」となるモデルを作り、シミュレーションと検証を繰り返しながら、設計・開発を進めていく手法です。
従来のシステム開発はシステム仕様書をフローチャートやテキストで作成し、それを元にプログラミングし、プロトタイプ作成後にハードウェアでの検証を行っていました。しかし、検証には時間がかかり検証用ハードウェアも必要となります。
モデルベース開発では、設計時に動く仕様書である「モデル」を使い、シミュレーションによる検証をします。そのため、設計段階の工数は増えますが、検証工数が少なくなります。
モデルベース開発に適用されるV字プロセス
モデルベース開発では、要求定義から実機評価までの工程がV字プロセスに沿って行われます。V字の左側は設計領域で、机上でのモデルとシミュレーションにより設計・開発が行われます。右側は検証領域で、左側で設計された機能の検証を行います。
V字プロセスの左側のプロセスは「要件定義」「基本設計」「詳細設計」、右側のプロセスは「単体・結合テスト」「機能・システムテスト」「実機評価」、その間に「実装(プログラミング)」があります。
従来型開発とは異なる工程
従来型開発工程とは異なり、シミュレーションと検証を繰り返しながら設計・開発を進めるモデルベース開発には、「MILS」「SILS 」「RCP」「ACG」「HILS」という工程があります。モデルベース開発をするには、この工程をしっかりと身につけておかなくてはなりません。
MILS(Model In the Loop Simulation):基本設計、詳細設計
制御モデル(コントローラモデル)と制御対象モデル(プラントモデル)と組み合わせて机上でシミュレーションを行い、モデル間のインターフェースを決定します。
全てがモデル化されるため自由にシステム構成やパラメータ変更ができ、システムの振る舞いもコンピューター上で、すぐに確認することができます。早期に机上検証が行えることから設計の手戻りが少なくなります。
SILS (Software In the Loop Simulation ):基本設計、詳細設計
C言語等のソースコードからPCで実行可能なオブジェクトを作成し、制御対象モデル(プラントモデル)と結合してシミュレーションを行います。MILSでつくられた制御ロジックの検証やソフトウェアの動作確認を行います。
RCP(Rapid Control Prototyping):詳細設計
汎用制御装置(ECU:Electric Control Unit)に制御モデルをつないで制御設計の最適化を行います。MILSの制御対象モデルが想定通りになっているかどうかの検証などに用いられ、自動車開発ではトランスミッションや汎用エンジンに制御モデルを接続して動作確認ができます。
モデルシミュレーションだけでは確認できなかった項目チェックができ、必要な機能の詳細な洗い出しができます。
ACG(Automatic Code Generation):実装(プログラミング)
コードを自動生成するプロセスです。MATLAB/SimulinkなどのMBDツールを使用して行います。自動生成プログラムには意図していないコードが含まれることがあるため、レビューによる修正を行います。
HILS(Hardware In the Loop Simulation):機能・システムテスト
MILSで作成されたモデルの一部をハードウェアに置き換えてシステム検証を行います。入出力インターフェースがあるHILSシミュレータにモデルを実装して使います。MILSでは検証不可能な、物体運動による摩擦係数変化なども検証可能です。
モデル作成に必要な技術
モデル作成に必要な技術は、どのようなシステムなのかによって異なりますが、以下にあげる技術はモデルベース開発に必須といってもよいでしょう。
数学
モデルが数学的な原理に基づいて構築されることがあります。データ解析の基本的な技術である統計学は、モデル評価に使用されます。
たとえば、線形回帰、ロジスティック回帰、決定木、ニューラルネットワークなどのモデルは、数学的な式を使用してデータとパラメータの関係をモデル化します。モデルの内部構造や動作を理解するために数学的な知識が必要です。
統計学
モデルの評価・調整には統計学が使用されます。たとえば、モデル性能の評価には、正解率、適合率、再現率、F1スコアなどの統計的指標を使います。
プログラミング
モデルはプログラム言語で記述、実装されます。また、データの収集、前処理、モデルのトレーニング・評価、モデルのサーバー上でのデプロイメントなど、数多くのプロセスがプログラミングに基づいています。
PythonやRなど、データサイエンス向け言語がよく使用されますが、プログラミング言語の知識があればモデル実装は可能です。
データベース管理
モデルに必要なデータを格納し、適切に管理するためにデータベースが使用されます。データベース管理の知識がないと、データ収集、保存、アクセス、更新、削除などの基本的な操作を行うことができません。
機械学習と深層学習
機械学習や深層学習は、モデルの構築や評価などに使用されます。たとえば、モデルの選択での分類問題には決定木、ロジスティック回帰、ランダムフォレスト、回帰問題には線形回帰、線形回帰、サポートベクターマシン、ニューラルネットワークなどが使われます。
モデルの予測がどれだけ正確かどうかを評価するためには、正解率、適合率、再現率、F1スコアなどが使われます。
ビジネスの理解
モデルはビジネスニーズの課題に対処するために構築されます。適切なモデルを構築して適用するためには、ビジネスを理解することも重要です。