Amazon Web Services ブログ
AWS で自動車の E/E アーキテクチャをシミュレーションする Part 2: ソリューションの実例
この記事は、Simulating Automotive E/E Architectures in AWS Part 2: Solution in Action を翻訳したものです。
本記事は、AWS で自動車の電気/電子(E/E)アーキテクチャをシミュレーションする方法についてガイダンスを提供する2部構成のシリーズの2つ目のブログ記事です。パート1では、自動車の E/E アーキテクチャのトレンドと、クラウドを利用した ECU ソフトウェアのシミュレーションに関する一般的な概念と自動車メーカーが直面する課題について説明しました。パート2では、AWS および dSPACE VEOS と、AWS Graviton を使用した HPC イメージのネイティブ ARM を組み合わせて使用することにより、自動車メーカーが AWS および dSPACE のテクノロジを使用して自動車の E/E アーキテクチャをシミュレートする方法について説明します。
dSPACE は、主に自動車業界で使用される開発、テスト、および検証のためのツールと専門知識を提供する AWS パートナーです。dSPACE は30年以上の歴史の中で、シミュレーションおよび検証ソリューションのグローバルテクノロジーリーダーとなり、特に HIL(Hardware-in-the-Loop)システムで知られています。dSPACE は、仮想 ECU の複雑なネットワークをシミュレートするように設計された製品である VEOS や、ADAS(先進運転支援システム)/AD(自律走行システム)を含むさまざまな領域で使用できるクラウドベースのスケーラブルなシミュレーション用の SIMPHERA など、SIL(Software-in-the-Loop)ソリューションのポートフォリオを継続的に拡張しています。
VEOS-Graviton ソリューションは、自動車の E/E アーキテクチャをエミュレートするために設計されたdSPACE の VEOS(仮想イーサネットバス)を使用して、開発チームが仮想 ECU をテストする方法を示しています。これにより、さまざまなテストシナリオ下で入出力信号の早期検証や、AWS 上でのサブシステム間の通信が可能になります。
dSPACE と AWS の E/E シミュレーションソリューション
dSPACE には、エッジ ECU およびゾーン ECU を仮想化し、Amazon EC2 x86ベースのインスタンス上のVEOS で実行するためのソリューションと、HPC を AWS Graviton インスタンスで実行するためのソリューションがあります。HPC とゾーン ECU の間には、このブログシリーズのパート1の「最新の自動車 E/Eアーキテクチャ」でも説明したように、多くの通信が存在する。シミュレーションソリューションのセットアップでは、VEOS(仮想ゾーン ECU)と AWS Graviton(仮想 HPC)間の通信を確立する必要があります。
このセットアップでは、仮想ゾーン ECU を VEOS の仮想イーサネットチャンネルに接続する必要があります。このシミュレートされたイーサネットチャネルは、どのホストイーサネットデバイスからも独立しています。通信を可能にするには、HPC を代表する AWS Graviton インスタンスを VEOS を実行する仮想イーサネットチャネルに接続する必要もあります。VEOS は別のインスタンスにインストールされていることに注意してください。
dSPACE は、VEOS と AWS Graviton インスタンス間の通信を処理するためのブリッジコンポーネントを開発しました。ブリッジは2つの部分で構成されています: 1つの部分は VEOS で実行され、仮想イーサネット上で通信し、もう1つの部分は AWS Graviton インスタンス上で実行されます。ブリッジは OSI レイヤー2でイーサネットフレームをキャプチャし、インジェクションすることができます。これにより、シミュレーション内のコンポーネント上で本番イーサネット通信スタックを実現することが可能になります。
自動車業界で使用される一般的な通信プロトコルの1つは、SOME/IP(OSI モデルのレイヤー7)です。これは、UDP/IP と TCP/IP(OSI モデルのレイヤー3および4)に基づくサービス指向プロトコルです。ブリッジは下位レベルで Ethernet トラフィックを転送するため、dSPACE ブリッジコンポーネントを使用して、市販の SOME/IP スタックを使用したり、SOME/IP プロトコルの動作を調査したりすることができます。
dSPACE には、SOME/IP Restbus モデルを作成するためのソリューションも用意されており、例えば、ゾーン ECU がまだ使用可能でない場合に仮想的なゾーン ECU を作成することができます。これにより、VEOS でゾーン ECU をシミュレートすることも、Restbus モデルで AWS Graviton インスタンスと通信することも可能になります。ブリッジが2つのシミュレーションインスタンスとどのように相互作用するかを図1に示します。
図1:dSPACE ブリッジソリューションを示すハイレベルアーキテクチャ
VEOS では、エッジ ECU のシミュレーションや仮想バス(CAN、LIN)の設定も可能です。図2に示すように、ゾーナルアーキテクチャのシミュレーションに必要なあらゆる種類の ECU とモデルで構成される複雑なシミュレーションシステムを作成できます。
VEOS と AWS Graviton インスタンス間の同期に関して、図2に示すソリューションは、現時点では疎結合アプローチに依存しています。このアプローチにより、開発チームは必要に応じて自動車コンポーネントを簡単に切り替えることができます。 AWS Graviton インスタンスでは、自動車用 HPC で一般的に使用されているリアルタイム OS が利用されています。VEOS は、リアルタイム動作の近似を実現することを支援し、仮想コンポーネントのタスクをオンタイムで呼び出すことができます。
AWS 上で実現できるソリューションのアーキテクチャ図を図3に示しています。この図では、開発チームが dSPACE ControlDesk を活用して、仮想 ECU を実現している Amazon EC2 インスタンスとどのように接続するかを説明しています。
図3:シミュレーション・ソリューションの AWS アーキテクチャ図
このアーキテクチャに加えて、AWS Batch、Amazon Elastic Kubernetes Service、AWS Step Functions などの AWS クラウドコンポーネントを使用して、個々のコンポーネントをコンテナ化してスケーラビリティを高めることもできます。
ソリューションの実行
VEOS-Graviton ソリューションのデモを行うため、AWS は dSPACE をサポートし、簡素化されたヒーターコントローラというシンプルかつ鮮明なデモプロジェクトを作成しました。
AWS と dSPACE は、業界をリードする自動車用ソフトウェアコンポーネントのプロバイダである Elektrobit 社と協力しました。Elektrobit 社の EB Corbos 製品ラインには、Adaptive アプリケーション向けの AUTOSAR ランタイムが含まれています。Elektrobit 社と AWS は、このランタイムと関連する Adaptive アプリケーションを AWS Graviton インスタンス上で実行する環境を構築しました。AWS クラウドでの EB Corbos による Adaptive アプリケーションの開発と実行に関する詳細情報は、こちらのブログ記事でご覧いただけます。
このデモでは、Elektrobit は EB Corbos を利用した Adaptive アプリケーションとしてヒーターコントローラーを実装し、AWS Graviton インスタンスにデプロイしました。ヒーターコンポーネントは、デモの車両のメイン HPC を表しています。
センサー/アクチュエーター、エッジ、ゾーン ECU 用の個別の仮想コンポーネントの代わりに、すべての機能が Restbus モデルにまとめられ、VEOS で実行されます。Android インスタンスが HMI を表し、デジタルコックピット UI も AWS Graviton インスタンス上で実行されています。ヒーターコントローラ、より正確には EB Corbos 通信スタックは、ブリッジコンポーネントを介して Restbus モデルとデータを交換します。これは、AWS Graviton のホストイーサネットと VEOS の仮想イーサネットを接続します。
デモセットアップの代表的な図を図4に示します。
図4:E/E シミュレーションデモのハイレベルアーキテクチャ
シミュレーションが開始されると、開発者は Android ベースのデジタルコックピット UI から目標温度を設定することができます。コントローラアプリケーションは、目標温度を取得し、VEOS で実行されている Restbus モデルから現在の温度も受信します。ヒーター電力を計算し、Restbus モデルに送信します。AWS の Graviton 上のコントローラアプリケーションと VEOS の Restbus モデルは、クローズドループシナリオを表しています。
Restbus モデルは 「車室内温度サービス 」を、コントローラーアプリケーションは 「ヒーターコントローラーサービス 」を、デジタルコックピット UI は 「目標温度サービス 」を提供します。シミュレーションの初期段階では、開発者は関連する SOME/IP イーサネット通信を監視し、サービスディスカバリーやイベントサブスクリプションメッセージを見ることができます。また、dSPACE のソフトウェアを使用して、コンポーネント間で交換されるメッセージを監視することもできます。たとえば、dSPACE ControlDesk は、監視、実験、および計測のための dSPACE の別の製品です。ControlDesk を使用すると、VEOS に接続してシミュレーションシステムと対話することができます。図5に示すように、仮想 Ethernet チャネルのトラフィックを解析できます。
SOME/IP 通信が機能し、すべてのイベント登録が成功した場合、Android デジタル・コックピットの UI を使用して目標温度を変更することができます。この場合、図 6で強調表示されているように、2つのボタンを使用して、16度から 28 度の範囲を 0.5度のステップ・サイズで変更することができます。
ControlDesk はまた、現在の温度を測定することができます。これは Restbus モデルから読み込まれ、シミュレーション中に ControlDesk ビューにプロットされる信号です。ターゲット温度が UI を通して変更されるたびに、コントローラアプリケーションは、電流温度が一致するようにヒーターパワーを調整します。これは図7の ControlDesk プロッタに示されています。
VEOS と AWS Graviton の接続により、開発者などのソリューションユーザーは、ネイティブアプリケーションコードを実行する複数の HPC を含む自動車 E/E アーキテクチャを表現するシミュレーションシステムを作成することができます。
まず、シミュレーションが開始されるか、予期せぬクラッシュ、エラー、警告が発生しないかを確認するために、ユーザーはテスト実行を行うことができます。(仮想 ECU や HPC のような)個々のコンポーネントや、予期せぬ動作を引き起こす可能性のある初期入力信号やバスフレームに関連する問題を特定できます。いずれの場合も、仮想環境を使用して問題をデバッグして解決することが可能です。
検証チームが実施するインターフェーステストを通じて、すべてのコンポーネントが互いに正しく通信できるかどうかを確認することができます。ネットワークレベルの一例として、HPC とそのカウンターパートとなる ECU 間のサービス指向通信の調査があります。HPC とゾーン ECU の SOME/IP コンフィギュレーションにミスマッチがあれば、シミュレーション・システムで明らかになります。イーサネット・トラフィックを調査することで、開発者とテスト担当者は根本的な原因を理解し、設定を修正することができます。同様に、その他のプロトコル(DDS や MQTT など)の動作も調査することで、コンフィギュレーションの潜在的な問題を特定し、修正することができます。
フォールト・インジェクション・テストは、データが破損したり歪んだりした場合のシステムの堅牢性をチェックするために使用できる。VEOS で動作するコンポーネントには、信号へのオフセットの追加やイーサネットフレームのドロップなど、他のコンポーネントと交換されるデータを操作するためのさまざまなオプションがあります。このようにして、AWS Graviton 上で動作する HPC にエラーを注入し、その動作を分析し、よりロバストな動作を検討することも可能です。
インタラクティブか自動化か
異なるテストを実施するための2つの主要なアプローチがあります:
- 実験や対話的アクセスによる手動のアプローチ
- テスト自動化の利用
実験において、開発チームは、確立されたインターフェース(XIL API)またはツール(ControlDesk など)を使用して VEOS へインタラクティブにアクセスすることができます。これにより、システムの挙動を理解するための測定が可能な信号やバスレベルへのアクセスが可能になります。ユーザーが AWS Graviton インスタンスを VEOS に接続すると、AWS Graviton 上の HPC ソフトウェアスタックとクローズドループセットアップの一部である VEOS のモデルを評価し、シミュレーションするように、暗黙的に HPC と通信することを選択できます。実験中に作成された設定は、後で HIL 環境に再利用することができます。
自動車開発者は、さまざまなテストを頻繁に実行するために、dSPACE AutomationDesk のようなテスト自動化ツールを利用することができます。さまざまなテストルーティン(入力信号を特定のレベルに設定し、結果の出力信号を基準値と比較するなど)を作成することで、開発者は CI または CT(継続的テスト)のパイプラインの一部となるさまざまなテストケースを作成できます。
VEOS や AutomationDesk などの dSPACE ツールは、クラウド環境で大規模に実行するのに適しています。
SIMPHERA により、dSPACE は、さまざまな車両機能の検証テストスイートを作成、実行、および評価するためのクラウドベースのソリューションを提供します。また、シミュレーションシステムの作成とパラメータを設定し、それらをオーケストレーションして、カスタムの実行ノードで多数のテストケースを効率的に実行します。SIMPHERA の主な焦点は、ADAS および AD ソフトウェアの動作を理解するためのシナリオベースのテストです。
まとめ
本ブログでは、dSPACE VEOS と AWS Graviton インスタンスを接続し、クラウド環境で最先端の自動車E/E アーキテクチャをシミュレートするという新しいコンセプトを紹介しました。また、dSPACE、AWS、および Elektrobit が実施したデモを紹介し、このコンセプトがどのように機能するかを説明しました。最後に、自動車用ソフトウエアの開発者およびテスト担当者が、完全仮想かつスケーラブルな環境でさまざまなテストを実施するために、このアプローチをどのように活用できるかを説明しました。
AWS と dSPACE は、実装の詳細を改善し、AV/ADAS 領域などのさらなるユースケースを調査して、お客様向けのクイックレファレンスガイドを提供する予定です。HPC を含む自動車用ソフトウェアを開発またはテストする必要がある場合、VEOS-Graviton の接続により、ネイティブアプリケーションコードを使用しながら統合およびテスト用の仮想環境を構築することができます。これにより、全体的な開発プロセスまたは検証戦略において、コストと市場投入までの時間を削減する機会が得られます。
VEOS-Graviton による E/E シミュレーションソリューションのライブデモをご希望の場合は、dSPACE または AWS にお問い合わせください。
TAGS: automotive, hpc, Simulation, software defined vehicle