Amazon Web Services ブログ

AWS IoT FleetWise による車両データからのインサイト生成 : 序章

この記事は2022年7月11日に投稿された記事の日本語訳です。

自動車メーカー、車両に関わるサービスのオペレータ、自動車部品メーカーは、製品やサービスのデジタル化を進めており、車両データはいくつかの方法でこのデジタル化を加速しています。まず、車両データにアクセスすることで、既存のビジネスプロセスを段階的に改善することができます。第一に、品質に関する問題の早期発見と根本原因の分析が挙げられます。第二に、車両データへのアクセスは、先進運転支援システム( ADAS )、パワートレインの電動化、モビリティ・シェア・サービスなどのメガトレンドです。

しかし、膨大な量の車両データを管理することは、技術面( ECU のデータフォーマットなど)、経済面(接続コストなど)、組織面(データサイロなど)で困難が伴う場合があります。

AWS IoT FleetWise は、車両データの収集、変換、クラウドへの転送をより簡単かつコスト効率よく行うことができる AWS のフルマネージドサービスです。転送後、自動車メーカーはデータを使用して、分析や機械学習など AWS の機能によるアプリケーションを構築することができます。

この記事では、まず車両データアクセスによって実現されるユースケースの概要と、典型的な実装上の課題について説明します。次に、AWS IoT FleetWise を使用して、コスト効率、安全性、拡張性の高い方法で車両データを管理する方法について学びます。最後に、AWS IoT FleetWise を利用したバッテリーヘルス監視のソリューション例を紹介します。この記事は、シリーズ第一部です。第二部では、ご自身の AWS アカウントでバッテリーヘルスモニタリングソリューションをセットアップして実行する方法について、実装ガイドをお届けします。

ニアリアルタイムでの車両データ処理ユースケース

車両データにほぼリアルタイムでアクセスすることで可能となるユースケースの例をご紹介します。

車両トラブルの防止

ほぼリアルタイムで車両データにアクセスできることで、自動車メーカーや運行会社は、より良い運転体験を提供し、車両の品質を向上させることができます。例えば、電気自動車( EV )のバッテリーがオーバーヒートした場合のシナリオを考えてみましょう。

EV のバッテリー温度は、車両全体について継続的に分析する必要がある重要な測定基準です。コストのかかる継続的なデータ取り込みを避けるため、EV バッテリー温度に閾値を設定し、データ収集を最適化することが考えられます。閾値を超えると、アラームが作動する形です。このアラームに基づき、バッテリー管理システム( BMS )から車両データの詳細な収集と分析のための自動プロセスが開始されます。

この分析結果は、自動車メーカーの品質技術部門に提供され、問題の重要度と考えられる根本原因を迅速に評価することが可能になります。根本原因分析に基づき、自動車メーカーは問題の影響を受けたドライバーをサポートするための短期的なアクションと、自動車の品質を向上させるための中期的なアクションを取ることができます。

先進運転支援システム( ADAS )の最適化ループ

ADAS では、車両に認識と知覚の両方を要求します。認識とは、車両センサー(カメラや LiDER など)を使って環境を感知する能力です。知覚とは、車両センサーからデータを収集し、そのデータを処理して、車両の周囲の世界を理解する能力です。

車両センサーデータを理解するためには、機械学習モデルを常に再トレーニングし、最適化する必要があります。このような最適化の目的は、未知数、すなわち車両の知覚が処理できない物体や状況の量を最小化することです。再トレーニングに最適なデータセットは、市販の車両から抽出されたデータです。

これまで、市販車から ADAS 最適化のためのデータを大規模に抽出することは、高い接続コストや手作業が多いため、コスト的に困難でした。

実装上の課題

データ駆動型のユースケースを実現するためには、自動車メーカーと車両に関わるサービスのオペレータは、車両データへのアクセスと処理を車両運行全体かつほぼリアルタイムで行えるようにする必要があります。また、効率的な実装のためには、車両のデータは、様々なタイプやモデルの分析を容易にするために、標準化されたフォーマットで利用可能でなければなりません。自動車業界のお客様は、データ駆動型のユースケースを実装する際に、以下のような課題に直面します。

独自のデータフォーマットによる実装の複雑さ

ECU は、1つまたは複数の車両コンポーネントを制御する、車両に組み込まれたシステムです。ECU は、データの送信(例えば、車両の BMS が CAN Bus 経由で現在のバッテリー温度を送信)とデータの受信(例えば、エアコンシステムが CAN Bus 経由で停止コマンドを受信)の両方を行うことができます。ECU は、車載ネットワークを介して他の車両部品と通信します。車載ネットワークの例としては、CAN 、LIN 、FlexRay 、イーサネットなどがあります。イーサネットの場合、プロトコルとしては DDS や SOME/IP などがあります。車両で使用されるデータフォーマットは、ECU の種類と車両ネットワークによって異なります。

データ形式が多様なため、車両全体およびフリート全体の車両データを分析するために必要なシステムが非常に複雑になっています。この複雑さにより、導入やメンテナンスの手間がかかり、データ駆動型のユースケースの実装が妨げられたり、遅くなったりすることがよくあります。

車両データへの大規模なアクセスのコスト的な問題

車両データへのアクセスが技術的に可能であっても、車両全体へのアクセスを拡大することは、接続コストが高いため、経済的に実現できないことがよくあります。このため、自動車メーカーは、車両データへのフリート全体のアクセスを必要とするユースケースの実装を阻まれることが多いです。

ECU のデータフォーマットに関する知識の問題

車両データフォーマットに関する知識は、しばしば組織内のサイロに閉じ込められています。このため、組織内のチームが効果的に連携して車両データに基づく革新を行うことが難しくなっています。

例えば、アプリケーション開発チームが、顧客向けのバッテリー監視モバイルアプリを実装するのに苦労することがあります。その理由は、アプリケーション開発チームが BMS データをデコードする方法を知らないからかもしれません。

AWS IoT FleetWise がデータ駆動型ユースケースの実装における課題を解決するために役立つ方法

AWS IoT FleetWise を利用することで、お客様は前項で説明した課題を、より少ない開発・運用工数で解決することができます。

車両データへの標準的なアクセスを可能にする

AWS IoT FleetWise は、自動車メーカーや車両に関わるサービスのオペレータが、複数の車両データソースから車両データを標準的な方法で収集することを可能にします。収集した車両データを Amazon Timestream などの専用データベースや Amazon Simple Storage Service ( S3 ) などのオブジェクトストレージに格納した後、車両データを効率的に照会することが可能です。

例えば、AWS IoT FleetWise を使用して、車両に関わるサービスのオペレータは、様々なメーカーの様々な車種について「充電電流」メトリクスを収集し、収集したデータを Amazon Timestream に格納することができます。これで、「充電電流」メトリクスに対するフリート全体のクエリーが可能になります。

クラウド取り込みのためのデータ量削減

AWS IoT FleetWise は、インテリジェントなデータフィルタリング機能を提供することで、データ量の削減を支援します。AWS IoT FleetWise を使用すると、二つの方法でデータ量を減らすことができます。

まず、ユースケースの目的に必要なシグナルのみを収集するように車両を設定することができます。第二に、特定の条件下でのみシグナルを収集するように AWS IoT FleetWise を設定することができます。このような条件の例としては、以下のようなものがあります。

  • スケジュール収集(例:特定の日の午後 1 時から午後 2 時の間のみ)
  • 条件ベースの収集(例:バッテリー温度が閾値を超えたときのみ)
  • 車両データをニアリアルタイムでアクション可能にする

    AWS IoT FleetWise を使用することで、お客様はほぼリアルタイムで車両データに作用するソリューションを構築することができます。そのために、AWS IoT FleetWise は、車両データを AWS に取り込み、保存する機能を提供します。このデータ取り込みにより、あらゆる規模の車両に対して安全でスケーラブル、かつコスト効率の高い接続が可能になります。

    データを取り込んだ後、AWS IoT FleetWise は、専用のデータベースまたはオブジェクトストレージにデータを保存するようオーケストレーションします。

    イノベーションを加速する

    AWS IoT FleetWise を使用すると、社内のすべての権限のあるチームが車両データにアクセスできるようになり、イノベーションが加速されます。車両データへのアクセスによって恩恵を受けるチームの例としては、車両エンジニアリング、品質エンジニアリング、アプリケーション開発、営業、マーケティングなどが挙げられます。

    AWS IoT FleetWise をベースとしたソリューションの論理アーキテクチャ

    AWS IoT FleetWise の機能について学んだところで、論理アーキテクチャと関係するペルソナについて深掘りしてみましょう。以下の画像は、AWS IoT FleetWise をベースとしたソリューションの論理アーキテクチャを表しています。

    Logical architecture for AWS IoT FleetWise solutions
    AWS IoT FleetWise ソリューションの論理アーキテクチャ

    ペルソナ

    AWS IoT FleetWise サービスと直接関わるペルソナは、データエンジニアと車両エンジニアの二人です。

    • データエンジニアは、車両からの生データを組織内の関係者が使用できるようにするタスクを持っています。具体的なステークホルダーはユースケースによって異なります。一例として、品質保証部門が、車両の品質問題の根本原因分析に車両データ(温度センサーなど)を使用することに関心を持っています。また、EV バッテリーの健全性監視ソリューションを開発するチームは、EV バッテリーの温度が特定の閾値を超えた場合に、BMS システムのデータにアクセスする必要があります。
    • 車両エンジニアは、車両 ECU と車両ネットワークに関する詳細な知識を持っています。特に、個々の ECU が提供するシグナルと、そのシグナルが特定の車両ネットワーク( CAN Bus など)でエンコードされていることの両方を認識しています。

    アーキテクチャーレイヤー

    AWS IoT FleetWise の機能を理解するために、上記のアーキテクチャの各レイヤーについて説明します。

    車両データ(車両側)の収集・変換・転送

    AWS IoT FleetWise Edge Agent は、車両データの収集、デコード、正規化、キャッシュ、AWS への取り込みを行う C++ ソフトウェアです。車両ゲートウェイ(例: NXP S32G2 )、インフォテインメントシステム、通信制御装置やアフターマーケット機器など、複数の導入オプションに対応しています。本記事の公開時点では、 CAN Bus および OBD2 メッセージのデコードをサポートしています。AWS IoT FleetWise Edge Agent は、 Amazon Software License 1.0 のもと、 GitHub で公開 されています。

    車両データのクラウドへの転送

    Edge Agent は、データをクラウドに転送するために、 AWS IoT Core を使用します。これは、安全でスケーラブル、かつコスト効率の高い MQTT/TLS 接続を提供します。

    車両データ収集のオーケストレーション

    データエンジニアは、AWS IoT FleetWise サービスを使用して、車両データ収集パイプラインを構築し、実行することができます。これは、手動によるアドホック分析だけでなく、自動連続車両データ処理も目的としています。データエンジニアは、AWS IoT FleetWise の以下の機能を利用することができます。

    • データ収集キャンペーンを管理します。データ収集キャンペーンは、どの車両データを、どのような条件で収集するかを定義します。
    • 車両データを専用のデータベースやストレージサービスにルーティングします。このブログの公開時点では、AWS IoT FleetWise は Amazon Timestream をサポートしています。

    シグナルと車両のモデル化

    データエンジニアがデータ収集パイプラインを作成する前に、車両エンジニアはクラウド上に車両の仮想モデルを構築します。AWS IoT FleetWise で車両モデリングを行うための3つのキーコンセプトは、シグナルカタログ、車両モデル、デコーダマニフェストです。

    • シグナルカタログは、階層的に構成された車両シグナルの中央、全社的なリポジトリです。例えば、EV の現在の充電率は、データ型「 float 」のセンサーとしてモデル化され、完全修飾名「 Powertrain.Battery.Charging.ChargeRate 」でアドレス指定が可能です。シグナルカタログは、COVESA の Vehicle Signal Specification ( VSS )に基づいています。
    • 車両モデル は、シグナルカタログのシグナルのサブセットを指し、同じシグナルを共有する車種をモデル化することを目的としています。
    • デコーダーマニフェストは、車両ネットワーク(例えば、CAN )からのバイナリデータを人間が読めるように変換するためのデコード命令を含んでいます。
      CAN バスベースの通信の例では、デコーダーマニフェストには、メッセージ ID 123、値 0x0011000 のバイナリ CAN バスメッセージを BMS.Battery.BatteryTemperature の値 17 に変換する命令が含まれます。

    車両データの保存

    AWS IoT FleetWise は、収集した車両データを専用のストレージサービスに格納します。

    • Amazon Timestream は、高速でスケーラブルなサーバーレス時系列データベースです。リアルタイムに近い処理が必要な車両データの保存に利用することを推奨します。
    • Amazon S3 (将来対応予定) は、業界最高水準のスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを備えたクラウドオブジェクトストレージです。バッチ処理が必要な車両データの保存に利用することを推奨します。

    車両データの解析とアクション

    車両データを保存した後は、AWSのアナリティクス、機械学習、アプリケーション統合のサービスを利用して分析したり、 Amazon Managed Grafana (可視化・ダッシュボード化)、 Amazon QuickSight (ビジネスインテリジェント)を使って可視化することが可能です。

    バッテリーの状態を監視するソリューションの例

    ここで、前述した論理アーキテクチャを実装したソリューションの一例を紹介します。このソリューションは、EV のバッテリーの状態を監視し、問題があればドライバーに通知するために使用することができます。以下は、このソリューションのアーキテクチャです。

    Sample solution for for battery health monitoring

    バッテリーの状態監視のためのサンプルソリューション

    本ソリューションには、以下のコンポーネントが含まれます。

    1.車両エンジニアが車両をモデル化し、デコードルールを構成する

    まず、車両エンジニアは車両設計に関する深い知識を用いて、AWS IoT FleetWise サービスに必要なクラウドリソースを設定します。( AWS Management console、AWS CLI または AWS APIs を使用する)。これらのリソースには、 シグナルカタログ, 車両モデル, デコーダーマニフェストおよび 車両インスタンスが含まれます。

    2.データエンジニアによる車両データ収集キャンペーンの開始

    データエンジニアは AWS IoT FleetWise で( AWS Management console , AWS CLI, AWS APIs を介して ) データ収集キャンペーンを開始できます。キャンペーン構成には、以下のようなデータが含まれます。

    • 収集してクラウドに転送する車両シグナルのユニーク名
    • タイムベースキャンペーンの場合、シグナル収集のサンプリングレート
    • 条件ベースのキャンペーンの場合、収集するデータを認識するための論理式
      (例:$variable.BatteryTemperature > 40.0)

    3.AWS IoT FleetWise による、車両上で動作する Edge Agent へのキャンペーン設定送信

    AWS IoT Core は、AWS クラウドと Edge Agent 間のデータの安全かつスケーラブルな転送を提供します。

    4.Edge Agent による、データ収集キャンペーンの実行

    まず、Edge Agent はキャンペーン構成で指定されたシグナルを車両ネットワークから収集します。接続が断続的な場合、Edge Agent は車両データを一時的に保存し、接続が可能になった時点で取り込みを続行します。

    5.Edge Agent による、AWS への収集した車両データ取り込み

    AWS IoT Core は、Edge Agent と AWS クラウド間のデータの安全かつスケーラブルな転送を提供します。

    6.AWS IoT FleetWise による、車両データ保存

    データの永続化には、高速でスケーラブル、かつサーバーレスの時系列データベースである Amazon Timestream が使用されます。

    7.バッテリーの状態検知サービスによる車両データの解析

    バッテリーヘルス検出コンポーネントは、 AWS Lambda 関数を使用して実装します。 Amazon EventBridge サービスは、AWS Lambda 関数を定期的に実行するように設定されます。

    各実行時に AWS Lambda 関数は車両データを照会し、その結果を分析してバッテリーの健全性の問題を特定します。特定されたバッテリーヘルスの問題ごとに、AWS Lambda 関数は、 Amazon Kinesis Data Streams にメッセージを取り込みます。

    8.バッテリー管理サービスによるバッテリー健全性データへの対応

    バッテリー管理コンポーネントは、AWS Lambda 関数を使用して実装される予定です。これは、データストリームからバッテリーヘルスのインサイトを処理します。ユーザー通知を必要とする各インサイトについて、 Amazon DynamoDB からドライバーのコンタクトデータを取得し、 Amazon Simple Queue Service ( SQS )に通知リクエストを送信します。

    9.通知ハンドラサービスによる、ドライバーへの SMS 通知送信

    通知ハンドラサービスは、Amazon SQS から通知リクエストを読み込み、車両の車両識別番号( VIN )データを現在の車両ドライバーの連絡先データでエンリッチし、Amazon Simple Notification Service ( SNS )経由でドライバーにメッセージを送信します。

    まとめと次のステップ

    このブログ記事の最初の部分では、AWS IoT FleetWise を利用したソリューションのユースケース、技術力、論理アーキテクチャについて学びました。その後、バッテリーの健康状態を監視するソリューションの例として、アーキテクチャを確認しました。このシリーズの第二部では、AWS アカウントでのサンプルソリューションの実装手順を説明します。

    執筆者について

    Andrei Svirida は Amazon Web Services のシニアスペシャリストソリューションアーキテクトです。彼は、あらゆる規模や業種の企業がデータドリブンなビジネスになることを可能にすることに情熱を注いでいます。そのために、IoT、アナリティクス、データエンジニアリングを中心に、AWS のお客様が AWS 上で安全でスケーラブルなソリューションを設計・構築できるよう支援しています。AWS 入社以前は、KUKA AG で IoT デリバリー責任者、Deutsche Telekom AG で社内コンサルティングの VP として勤務していました。コンピュータサイエンスのバックグラウンドを持ち、18 年以上の業界経験があります。

    この記事はソリューションアーキテクトの伊藤が翻訳しました。