Iveco Group、バーチャル車両シミュレーションで電気自動車のソフトウェア開発を加速

完全なバーチャル車両で実現する、高速かつ拡張性に優れた EV ソフトウェアテスト


自動車業界ではこれまで、ソフトウェア開発のスピードは決して速いものではありませんでした。1 行のコードを検証できるようになるまでには、ハードウェア、テストベンチ、実車だけでなく、それらを操作する技術者も必要になります。時間もリソースも大量に必要となるこのプロセスでは、現代のソフトウェア開発のスピードに対応できるだけの拡張性を確保することが困難です。電気バン eDaily をはじめ、トラックやバスを展開するイタリアの商用車メーカー Iveco Group は、このギャップを解消することで、トップクラスのテクノロジー企業と同じようなソフトウェア開発を実現できると考えました。

「テクノロジーの世界では、16 歳の若者でも自分の部屋から世界を変えることができます。テクノロジーという力を手にしているので、誰かに許可を求める必要がないからです」と、Iveco Group で車両制御およびダイナミクス ソフトウェア開発を率いる Alessio Canepa 氏は語ります。「一方、自動車業界では、多くの場合、状況はまったく逆です。いつも誰かの対応を待たなければならないのです」

Canepa 氏は、Iveco Group が自社開発する車両制御ソフトウェア eVECOP を担当するチームを率いています。eVECOP が複雑になるにつれて、テストにかかる負担も増えていきました。チームが新しい機能を追加するたびにテスト項目が増え、何か 1 つ変更するだけでも、より多くのテストをやり直す必要がありました。こうしたテストを実際のハードウェア上で手動で実行することは、次第に困難になっていました。

大きさや色の異なる 7 台の IVECO トラック。

IVECO の全ラインナップ。(画像著作権: Iveco Group)

Iveco Group がその解決策として開発したのが、MATLAB® と Simulink® で構築されたバーチャル車両シミュレーター Virtualis です。Virtualis を使用すると、実際のハードウェアを用意する前から、バーチャルバッテリー、インバーター、充電器システムを含む完全なバーチャル車両を対象に、Iveco Group の実際の量産ソフトウェアを実行できます。

Virtualis 向けの eVECOP のスケーリング

eVECOP プラットフォームは Iveco Group の電気自動車制御システムの中核に位置し、小型車、大型トラック、バスにわたる数十もの相互接続された機能を連携させています。トラクション コントロールや回生ブレーキから熱マネジメント、電力配分に至るまで、これらすべての機能が、ほぼ全面的に MATLAB と Simulink で構築された 1 つの自社製ソフトウェア プラットフォームを通じて連携しています。

以前は、何か 1 つ変更するだけでも統合モデル全体の再ビルドが必要となり、約 20 分かかっていました。今では、モデルのコンパイルにかかる時間は 4 ~ 5 分まで短縮されています。こうした改善の一部は、Simulink でアクセラレータモードに切り替えたことで実現しました。

eVECOP の構成を整理されたスケーラブルなものにするには、Canepa 氏の言う「モジュラー アーキテクチャ」が欠かせません。これは、各ソフトウェア機能を明確な境界を持つ独立した自己完結型モジュールに分割するアーキテクチャです。Canepa 氏は、ソフトウェア プラットフォームを開発するチームにとって、優れたアーキテクトの存在が極めて重要だと指摘します。適切なアーキテクチャがあれば、経験の浅いエンジニアも、システム全体を理解していなくても個別のコンポーネントの開発に参加できます。そのため、新しい車種に対応する際も、エンジニアがゼロから開発を始めることなくプラットフォームを拡張できます。

Iveco Group は、Virtualis にも同じ原則を採用しました。このバーチャル車両シミュレーターでは、Simulink の参照モデルを活用し、ソフトウェア モジュールを個別に分離した状態で維持しています。これにより、変更があった場合でも、そのモジュールだけを再コンパイルすれば済みます。

eVECOP プラットフォームに焦点を当てた図。中央の脳のアイコンから、各種車両やバッテリーなどの主要コンポーネントが矢印で結ばれています。図には、トラクション コントロールなどの機能や、ハードウェア非依存性などの利点が示されています。

電動車両制御プラットフォーム (eVECOP)。

以前は、何か 1 つ変更するだけでも統合モデル全体の再ビルドが必要となり、約 20 分かかっていました。今では、モデルのコンパイルにかかる時間は 4 ~ 5 分まで短縮されています。こうした改善の一部は、Simulink でアクセラレータモードに切り替えたことで実現しました。アクセラレータモードでは、デバッグの柔軟性がわずかに低下する代わりに、実行速度が大幅に向上します。しかし、より大きな効果をもたらしたのは、参照モデルそのものでした。コード生成エンジンでは変更された部分だけが再コンパイルされるため、ほとんどのビルドで大部分の作業そのものが不要になります。さまざまな機能に小さな更新を絶えず加えているチームでは、この違いが短期間で積み重なり、大きな効果につながります。

シミュレーションを実行する段階では、速度の重要性はさらに高まります。Virtualis はリアルタイムを上回る速度で実行できるため、クラウド上で複数のインスタンスを並列に立ち上げ、複数のテストを同時に実行できます。Canepa 氏は、ソフトウェア企業の仕事の進め方を目にしたことが、この発想のきっかけになったと話します。

さまざまなバーチャル車両制御が表示された Simulink インターフェイスのスクリーンショット。

Simulink 上のバーチャル車両モデル。(画像著作権: Iveco Group)

「独自の Android® アプリを設計したい場合は、エミュレーターを使用します。誰かに頼ることなく、エンドツーエンドでテストできます」と Canepa 氏は話します。「私たちの取り組みの多くを後押ししているのは、クラウドやアプリの世界で起きている変化です」

Virtualis の核となる考え方は、この高速なテストを実現するには、環境が 100% バーチャルである必要があるということです。テストのうち、たとえ 1% でも実際のハードウェアを必要とすれば、クラウドで実行することも、並列に実行することも、リアルタイムを超える速度で実行することもできなくなります。この境界こそが、Virtualis をそれまでの手法とは本質的に異なるものにしています。

限界を超えるテスト

完全バーチャル環境の利点は、高速化だけにとどまりません。物理的なテストベンチや実車では実行できないテストもあります。車両を時速 100 km で走らせながら電気コンポーネントや配線をテストするのは、安全とはいえず、現実的でもありません。Virtualis では、こうしたテストもごく日常的なものになります。「バーチャル プラットフォームなら、できることに限界はありません」と Canepa 氏は話します。

「バーチャル プラットフォームなら、できることに限界はありません」

現在の Virtualis は、ソフトウェアが実際のハードウェア上で動作する前の段階で、ソフトウェア統合の問題を約 70% 検出できます。Canepa 氏によれば、この検出率を正確に測定することは困難であり、残されたギャップは Virtualis の固定的な限界を示すものではなく、チームがまだモデルに反映できていない現実世界の挙動を反映したものです。Iveco Group では、Virtualis のテストに合格したにもかかわらず実車で問題が発生した場合、バーチャル環境を現実により近づけるための更新が必要だと判断します。このサイクルを積み重ねることで、残るギャップを少しずつ埋めていくことができます。

それでも残るギャップは、偶発的なものではなく、構造上のものです。Virtualis ではレベル 1 の仮想化を行っており、基礎となるファームウェアやエレクトロニクスまではシミュレーションしていません。この点は、意図して選択したトレードオフです。より下位のレイヤーまで対象にすれば、より多くの領域をカバーできます。一方で、エンジニアがシミュレーションを途中で止めたり、すべての変数を確認したり、その瞬間にソフトウェアが何を行っていたのかを正確に理解したりすることができなくなります。

「ハードウェアシステムで問題が発生したときは、後になってからログを見るしかありません」と Canepa 氏は述べています。「Virtualis では、世界をその場で止めることができます」

この転換によって、Iveco Group はテストパイプラインのあり方を見直すようになりました。Iveco Group では現在、Virtualis ではカバーできない領域に特化してハードウェアインザループ テストを実施しています。その対象は、オペレーティング システム、低水準のドライバー、さらに Iveco Group の外部から提供される物理ハードウェア (たとえば、ソフトウェアと通信する ECU を製造するサプライヤーのハードウェア) です。それより上位のレイヤーについては、問題をより早く、より高速に、より低いコストで解決できます。

ソフトウェア並みのスピードで開発

Virtualis をここまで構築する道のりは、決して平坦ではありませんでした。MATLAB と Simulink の環境を、このような複雑なソフトウェアに対応できるよう拡張しつつ、ビルド時間を短く保ち、デバッグの柔軟性も維持するには、唯一の正解が存在しないさまざまなアーキテクチャ上の判断を重ねる必要がありました。Iveco Group は MathWorks のエンジニアと緊密に連携し、どこまで実現できるのか、その限界を追求しました。

「私たちが構築したこの環境は、既に従来とはまったく異なる働き方を実現しています。開発で時間を節約できれば、その分だけ、本当に価値のある優れたものを作ることに時間をかけられます」

「非常に限られた時間の中で、最高品質を実現することが私たちの目標です。それこそが、私たちが共に取り組まなければならなかった最も難しい課題です」と Canepa 氏は語ります。

この協業では、実行効率の向上、複数のエンジニアが競合することなく同時に更新をコミットできるモデル構成の実現、そして自動で実行されるエンドツーエンドの継続的インテグレーションおよびテストパイプラインの構築に重点を置きました。開発者が新しいコードをコミットすると、すぐにそのコードをきっかけとして Virtualis でテストが開始されます。エンジニアは、数時間以内に結果を得られます。テストを実行し忘れる心配はありません。システムが自動で実行するため、忘れるという選択肢そのものがないのです。

eVECOP を実行するエミュレートされた VMU デバイスと Virtualis テストベンチ間の連携を示すテスト構成の図。この構成には、詳細なコントロール パネル インターフェイスも含まれています。

Virtualis のバーチャル車両の図。

Iveco Group は、短縮できた時間を製品そのものの向上に活用しています。Iveco Group のエンジニアは、形式的検証プロセスに何週間も費やす代わりに、車両そのものの改善を繰り返すために、より多くの開発サイクルを使えるようになりました。Canepa 氏は、これこそがソフトウェア品質を測る真の尺度だと考えています。

Virtualis は、チームの働き方における、数値では捉えにくい部分にも変化をもたらしました。従来の自動車開発では、個々の機能を開発するエンジニアが、その機能が最終的にどこへ組み込まれ、車両にどのような作用を及ぼすのかを知る機会がないことも珍しくありません。Virtualis を使用すると、すべての開発者が完全なバーチャル車両環境の中で作業できるため、変更を加えた際の影響が、全体のコンテキストの中ですぐに見えるようになります。このように目に見える形で確認できることが、仕事に対する人々の意識を変えていきます。エンジニアは新機能のプロトタイプを作成し、システム全体への影響をテストしたうえで、デモを行う時点で確実に動作することを確認できます。

「今ほど、一人ひとりが力を発揮できる環境を整えることが重要な時代はありません」と Canepa 氏は話します。

Canepa 氏にとって、Virtualis の意義は、ビルド時間の短縮やテストパイプラインの効率化だけにとどまりません。自動車メーカーは、準備ができているかどうかにかかわらず、ソフトウェア企業へと変わりつつあります。テクノロジー企業と同じように、迅速に、反復的に、バーチャル環境を優先してソフトウェアを開発およびテストする方法を確立した企業こそが、変化のスピードについていくことができます。Iveco Group は、そうした企業の 1 つになることを目指しています。

「私たちが構築したこの環境は、既に従来とはまったく異なる働き方を実現しています」と Canepa 氏は話します。「開発で時間を節約できれば、その分だけ、本当に価値のある優れたものを作ることに時間をかけられます」


その他の事例を読む

パネルナビゲーション

Orion 宇宙船が SLS ロケットで月を目指す

NASA のアルテミス計画、長期的な月探査を見据える

パネルナビゲーション

自動車向けサービス指向アーキテクチャへのモデルベースデザインの適用

ルノー、ROS Toolbox と Simulink で ADAS のプロトタイピングを促進

パネルナビゲーション

次世代の手術用ロボティクスを推進

モデルベースデザインで実現する適応型手術用ロボットの開発