スキルアップ
【連載】自動車開発におけるシミュレーションの基本(第1回)

はじめに
自動車業界は100年に一度の変革期といわれて久しいですが、昨今はCASEやGXやDXと並んでSDV(Software Defined Vehicle)が一つの強力なキーワードとなっており、自動車のソフトウェア化の流れが急速に進んでいます。
SDVの実現に向けてシミュレーションや仮想環境の活用がより一層重要になっていくと考えられていますが、それらが示すものは多岐にわたります。そのため、エンジニアのバックグラウンドの違いによって持つイメージにズレがある場合があり、コミュニケーションの擦れ違いの一因になると考えられます。
今後、自動車開発において分野を横断した開発の重要性がいっそう増していくともいわれています。これまでは各エンジニアは個別の領域に特化して分業する傾向にありましたが、今後は、どのエンジニアもそのバックグラウンドによらず、ハードもソフトも、またそれらのシミュレーションについても理解を深めていくことが重要になっていくと考えられます。
以上を踏まえ、幅広いバックグラウンドを持つ読者を想定し、シミュレーション技術の全体像について理解を進めるための第一歩として役立てていただくことを目指し、本稿を執筆したいと思います。
なお、一部、筆者の個人的な意見や考えを基に記述しておりますので、ご承知置きください。
こんな方向け
自動車開発において、シミュレーション、MILS/SILS/HILS、といったワードを聞くものの、いまひとつ具体的なイメージを持てない方
本稿の概要構成
本稿の概要構成は以下の通りとなっており、5回に分けてシミュレーションについて解説を進めていきます。初回となる今回は「シミュレーションの定義、例、筆者が重要と考えるポイント」について説明します。
●第1回:シミュレーションとは
シミュレーションの定義、例、筆者が重要と考えるポイントについて説明します。
●第2回:シミュレーション対象となる自動車システムについての工学的観察
シミュレーションにおいては、まずはシミュレーション対象について理解を深めることが重要であるという考え方の下、自動車システムの例としてACC(Adaptive Cruise Control)を工学的に観察します。
●第3回:シミュレーションの考え方
シミュレーションするとはどういうことなのかについて、ACCを例に挙げて説明します。
●第4回:制御ソフトウェア開発におけるシミュレーション環境の構成
制御ソフトウェアを評価するためのシミュレーション環境構成の考え方について、ACCを例に挙げて説明します。
●第5回:MILS/SILS/HILS
制御系のソフトウェア開発におけるモデルベース開発の流れを踏まえつつ、MILS/SILS/HILSについて説明します。
なお、SDVのアーキテクチャやクラウド開発環境などの文脈で登場する「(コンピュータリソースの)仮想化」は、本稿で記述するシミュレーション環境を指して使われる「仮想環境」と似た単語ではありますが、技術的には一線を画すものであり、本稿のスコープ外とします。また、自動車開発や車載ソフトウェアに関する基本的な技術用語の説明は割愛します。
第1回:シミュレーションとは
まず、シミュレーションの定義について、辞書や学会標準での定義から以下に一部引用します。
- 大辞林 第三版の解説 [1]
物理的あるいは抽象的なシステムをモデルで表現し、そのモデルを使って実験を行うこと。実際に模型を作って行う物理的シミュレーションと、数学的モデルをコンピューター上で扱う論理的シミュレーションがある。模擬実験。
- 日本計算工学会学会標準の解説 [2]
シミュレーションとは、数値シミュレーションを意味する。現象を記述するモデルを作成し、このモデルから数値計算モデルを作成し、数値計算モデルにより自然現象の挙動を計算することを数値シミュレーションという。
- 機械工学辞典(日本機械学会) [3]
模擬と訳されることもある.元来は現実を人工的に模倣することを意味するが,工学的には,現象の内の注目する側面のみをモデル化し,このシミュレーションモデルを用いた試行的実験を通して,現実に起こりうる現象を予測する手段である.
上記を踏まえ、端的には、シミュレーションとは模倣である、と言えると思います。
ここで、シミュレーション(模倣)の対象は多岐にわたります。あえてバラバラの粒度でいくつか例を挙げますが、いずれも「〇〇シミュレーション」や「仮想〇〇」などと呼ばれます。
- 自動車の運動の振る舞い
- エンジン筒内の燃焼の振る舞い
- あるECUの、CAN通信における、リクエストメッセージに対するレスポンスメッセージの振る舞い
- ECUに搭載されたプロセッサの振る舞い
- あるソフトウェアモジュールの振る舞い
- レーダによる電磁波の伝播の振る舞い
- 自動車と通信するクラウドサーバの振る舞い
- 交通流や歩行者の振る舞い
- ハードとソフトが一体となったシステムの総合的な振る舞い
シミュレーションの必要性
自動車開発の大規模・複雑化、多品種・短納期化が加速する中で、シミュレーションには以下のようなメリットがあることからその必要性が認識されています。
●シフトレフト
実機がない段階からシミュレーションを活用することで、開発~検証の早期実施や試作回数の抑制が可能
●再利用性
一度作成したシミュレーション環境は再利用が可能
●スケーラビリティ
作成したシミュレーション環境は比較的容易に複製や拡張が可能
●自動化
繰り返し必要なテストや定型化されたテストの実施にかかる工数を削減可能
●特殊なシナリオ・状況の再現
実車では条件を整えるのが困難なシナリオ(特定の地域・気候・時間帯・交通状況など)や状況(実ECUでは状況を作り出すのが困難な故障状態など)を表現可能
●安全性
実車では安全性の観点から実施困難なテストシナリオを実行可能
●網羅性
テスト条件をパラメータで制御することなどにより、網羅的なテストパターンを実施可能
●メカニズム分析への寄与
実車実験では取得できない中間物理量が取得可能であるため、詳細なメカニズム分析に寄与
シミュレーションにおける重要なポイント
シミュレーションは上記のようなメリットがある強力な技術ですが、同時に取り扱いに注意すべき技術です。
シミュレーションの仕組みをよく理解していなくても、ツールが動けばシミュレーションは実行できてしまい、きれいなグラフや動画像(例:図 1)など、一見もっともらしい結果が得られてしまいます。
得られた結果を適切に活用するためには、シミュレーション対象を理解すること、および、シミュレーションがどこまで対象を表現し、現実世界を模倣できているのかを理解することが重要であると考えます。
シミュレーションを用いた業務は、ツールの使い方の習得に始まり、データの収集・処理・管理やプロセスの構築、シミュレーションの自動化・高速化・効率化などにも多大な労力がかかり、それらも実務上非常に重要な論点ですが、本稿では上記のポイントにフォーカスします。そこで 、シミュレーション対象となるものについてまず工学的に観察した後に、それをシミュレーションするとは一体どういうことなのか、という流れで次回以降解説していきます。

図 1 :オープンソースシミュレーター CARLAを用いたシミュレーションの例
参考文献
[1] 松村 明、三省堂編修所, 大辞林 第三版, 株式会社三省堂, 2006.
[2] 高野 直樹、“日本計算工学会学会標準解説(2)S-HQC001:2014(続)&002:2015,” p.6.[オンライン]. Available: https://www.jsces.org/activity/research/futashikasa/data/20151113_JSCES_S-HQC001&002.pdf.
[3]“機械工学辞典(日本機械学会),” [オンライン]. Available: https://www.jsme.or.jp/jsme-medwiki/doku.php?id=17:1005370.
この記事は面白かったですか?
今後の改善の参考にさせていただきます!