亚马逊AWS官方博客
使用 Amazon IoT FleetWise 从车辆数据发掘洞察简介
作者:Andrei Svirida
校对作者:唐清原,亚马逊云科技高级解决方案架构师
汽车制造商、车队运营商和汽车供应商正在将他们的产品和服务数字化,而车辆数据正在以多种方式推动这一数字化进程。首先,对车辆数据访问可以逐步改进现有的业务流程。其中一个例子是,更快地检测与质量相关的问题并分析其根本原因。其次,对车辆数据访问是推动高级驾驶辅助系统(ADAS,Advanced Driver Assistance System)、动力总成电气化和移动共享经济等大趋势的基础。
不过,从技术(例如,专有电子控制单元(ECU,Electronic Control Unit)数据格式)、经济(例如,连接成本)和组织(例如,数据孤岛)的角度来看,管理大量车辆数据可能是一项颇具挑战性的任务。
Amazon IoT FleetWise 是一项完全托管式亚马逊云科技服务,可利用此服务更轻松、更经济高效地使收集、转换车辆数据并将该数据传输到云端。传输完数据后,汽车制造商可以借助亚马逊云科技的分析和机器学习等功能使用这些数据构建应用程序。
在本博客中,您将首先大致了解车辆数据访问所支持的应用场景以及典型的实施挑战。之后,您将了解如何使用 Amazon IoT FleetWise 以经济高效、安全和可扩展的方式管理车辆数据。最后,我们将介绍使用 Amazon IoT FleetWise 监控电池运行状况的示例解决方案。本博客是博客系列的第一部分。在第二部分中,您将获得有关如何在自己的亚马逊云科技账户中设置和运行电池运行状况监控解决方案的实施指南。
近实时车辆数据处理的应用场景
让我们来看看一些通过对车辆数据的近实时访问支持的示例应用场景。
车辆问题预防
通过近实时访问车辆数据,汽车制造商和车队运营商能够提供更好的驾驶体验并提高车辆质量。以电动汽车(EV,Electric Vehicle)电池过热的场景为例。
电动汽车电池温度是一项关键指标,应持续为整个车队分析这个指标。为了避免成本高昂的连续数据摄取,您可能需要通过设置电动汽车电池温度阈值来优化数据收集。如果超过阈值,则将触发警报。根据这一警报,电池管理系统(BMS,Battery Management System)将自动开始收集车辆详细数据并进行分析。
该分析结果将提供给汽车制造商的质量工程部门,以便快速评估问题的严重性和可能的根本原因。通过分析根本原因,汽车制造商可以采取短期措施来帮助受该问题影响的驾驶员,并可以采取中期措施来提高车辆质量。
高级驾驶辅助系统(ADAS,Advanced Driver Assistance System)的优化循环
ADAS 要求车辆同时具备感知和认知能力。感知能力是指通过车辆传感器(例如摄像头或激光雷达)感知环境的能力。认知能力是指从车辆传感器中收集数据并处理这些数据以了解车辆周围环境的能力。
为了理解车辆传感器数据,必须不断地对机器学习模型进行再训练和优化。此类优化旨在最大限度地减少“未知情况”(即车辆认知能力无法处理的物体或情形)的数量。用于再训练的最佳数据集是从量产车中提取的数据。
到目前为止,由于连接成本高或人工工作量大,因此,从量产车中大规模提取用于 ADAS 优化的数据的成本非常高。
实施方面的挑战
要实施数据驱动型应用场景,汽车制造商和车队运营商必须能够近实时地访问和处理整个车队的车辆数据。为了确保高效实施,必须以标准化格式提供车辆数据,以便针对各种类型和型号的车辆进行分析。在实施数据驱动型应用场景时,汽车行业客户面临以下挑战:
专有数据格式导致的实施复杂性
ECU 是车辆中的嵌入式系统,可控制一个或多个车辆部件。ECU 既能发出数据(例如,车辆的 BMS 通过 CAN 总线发送当前电池温度),又能接收数据(例如,空调系统通过 CAN 总线接收停止命令)。ECU 通过车辆网络与其他车辆部件进行通信。车辆网络的示例包括 CAN、LIN、FlexRay 和以太网。对于以太网,协议示例包括 DDS 和 SOME/IP。车辆中使用的数据格式取决于 ECU 类型和车辆网络。
数据格式的多样性导致分析整个车辆的数据以及整个车队的车辆数据所需的系统具有高度复杂性。这种复杂性产生了大量的实施和维护工作,通常会阻止或减慢数据驱动型应用场景的实施。
大规模访问车辆数据的成本太高
即使可以通过技术实现对车辆数据的访问,但由于连接成本高,大规模访问整个车队的车辆数据在经济上通常也是不可行的。出于这一原因,汽车制造商通常无法实施需要访问整个车队的车辆数据的应用场景。
ECU 数据格式的相关知识的可用性有限
车辆数据格式的知识通常受限于组织孤岛。这使得组织内部团队难以有效地开展协作来根据车辆数据进行创新。
例如,应用程序开发团队可能会在为客户实施电池监控移动应用程序时遇到困难。导致出现此情况的原因可能是,应用程序开发团队不知道如何解码 BMS 数据,因为仅 BMS 工程团队掌握这些知识。
Amazon IoT FleetWise 如何帮助应对在实施数据驱动型应用场景时面临的挑战
通过使用 Amazon IoT FleetWise,客户可以减少开发和运营工作量,从而克服上一节中的挑战。
解锁对车辆数据的标准化访问
Amazon IoT FleetWise 使汽车制造商和车队运营商能够通过标准化方式从多个车辆数据源中收集车辆数据。在将收集到的车辆数据存储在 Amazon Timestream 等专用数据库或 Amazon Simple Storage Service(S3)(在正式发布(GA,General Availability)后可用)等对象存储中后,可以高效地查询这些车辆数据。
例如,通过使用 Amazon IoT FleetWise,车队运营商可以收集来自不同的制造商的一组多类车辆的“充电电流”指标,并将收集到的数据存储在 Amazon Timestream 中。现在,可以在车队范围内查询“充电电流”指标。
减少云摄取的数据量
Amazon IoT FleetWise 提供了智能数据筛选功能,可帮助减少数据量。借助 Amazon IoT FleetWise,您可以通过两种方式减少数据量。
第一种方式,您可以将车辆配置为仅收集应用场景所需的信号。第二种方式,您可以将 Amazon IoT FleetWise 配置为仅在特定条件下收集信号。此类条件的示例包括计划的收集(例如,仅在特定日期的下午 1 点到 2 点之间收集)或基于条件的收集(例如,仅在电池温度超过阈值时收集)。
近实时地使车辆数据可操作
借助 Amazon IoT FleetWise,客户可以近实时地构建处理车辆数据的解决方案。为此,Amazon IoT FleetWise 提供了摄取车辆数据并将该数据存储到亚马逊云科技的功能。数据摄取可为任何规模的车队提供安全、可扩展且经济高效的连接。
在摄取数据后,Amazon IoT FleetWise 会安排将数据存储在专用数据库或对象存储中。
加快创新速度
借助 Amazon IoT FleetWise,您可以让公司内所有符合条件的团队访问车辆数据,从而加快创新。可以通过访问车辆数据受益的团队示例包括车辆工程、质量工程、应用程序开发、销售和营销。
基于 Amazon IoT FleetWise 的解决方案的逻辑架构
现在,我们已了解 Amazon IoT FleetWise 的功能,让我们更深入地了探究逻辑架构和相关角色。下图显示了基于 Amazon IoT FleetWise 的解决方案的逻辑架构。
Amazon IoT FleetWise 解决方案的逻辑架构
角色
直接与 Amazon IoT FleetWise 服务交互的两个角色是数据工程师和车辆工程师:
- 数据工程师的任务是,使组织内部的利益相关者能够使用来自车辆的原始数据。具体的利益相关者可能因应用场景而异。其中一个例子是质量保证部门,该部门想使用车辆数据(例如,温度传感器数据)来分析车辆质量问题的根本原因。另一个例子是负责开发电动汽车电池运行状况监控解决方案的团队,只要电动汽车电池温度超过特定阈值,该团队就需要访问 BMS 系统数据。
- 车辆工程师对车辆 ECU 和车辆网络有详细的了解。特别是,车辆工程师既要了解单个 ECU 提供的信号,也要了解这些信号在特定车辆网络(例如 CAN 总线)中的编码。
架构层
为了理解 Amazon IoT FleetWise 的功能,我们将讨论上述架构的各个层。
收集、转换和传输车辆数据(车辆端)
Amazon IoT FleetWise Edge Agent 是一款 C++ 软件,可用于收集、解码、规范化、缓存车辆数据并将该数据摄取到亚马逊云科技。它支持多种部署选项,例如车辆网关(如 NXP S32G2)、信息娱乐系统、远程信息控制单元或售后设备。在本博文发布时,该软件支持对 CAN 总线和 OBD2 消息进行解码。 可以使用 Amazon 软件许可证 1.0 从 GitHub 下载 Amazon IoT FleetWise Edge Agent。
将车辆数据传输到云
为了将数据传输到云,Edge Agent 将使用 Amazon IoT Core。它提供了安全、可扩展且经济高效的 MQTT/TLS 连接。
协调车辆数据收集
数据工程师可以使用 Amazon IoT FleetWise 服务来构建和运行车辆数据收集管道,它既可用于手动临时分析,也可用于自动连续车辆数据处理。数据工程师可以使用 Amazon IoT FleetWise 的以下功能:
- 管理数据收集活动。数据收集活动确立了应在哪些条件下收集哪些车辆数据。
- 将车辆数据传送到专用数据库或存储服务。在发布本博客时,Amazon IoT FleetWise 支持 Amazon Timestream 服务。在正式发布后,将支持 Amazon S3。
为信号和车辆建模
车辆工程师必须先在云中构建车辆的虚拟表示形式,之后数据工程师才能创建数据收集管道。使用 Amazon IoT FleetWise 为车辆建模的三个关键概念是信号目录、车辆型号和解码器清单。
- 信号目录是一个公司范围的中央存储库,其中以分层方式组织车辆信号。它允许您提取底层车辆实施详细信息,并在整个车队中建立“通用语言”。例如,可将电动汽车的当前充电速率建模为“浮点”数据类型的传感器数据,并且可使用完全限定名称“Powertrain.Battery.Charging.ChargeRate”进行寻址。信号目录基于 COVESA 的车辆信号规范(VSS,Vehicle Signal Specification)。
- 车辆型号是指信号目录中的信号子集,旨在为共享相同信号的车辆类型进行建模。
- 解码器清单包含解码指令,用于将来自车辆网络(例如 CAN)的二进制数据转换为人类可读的数据。
在基于 CAN 总线的通信示例中,解码器清单可能包含有关如何将消息 ID 为 123 且值为 0x0011000 的二进制 CAN 总线消息转换为 BMS.Battery.BatteryTemperature 的值 17 的指令。
存储车辆数据
Amazon IoT FleetWise 将收集到的车辆数据存储在专用存储服务中:
- Amazon Timestream 是一个快速、可扩展的无服务器时间序列数据库。我们建议使用它来存储需要近实时处理的车辆数据。
- Amazon S3 是一个云对象存储,具有行业领先的可扩展性、数据可用性、安全性和性能。我们建议使用它来存储需要批量处理的车辆数据。
分析和处理车辆数据
在存储车辆数据后,可以通过适用于分析、机器学习和应用程序集成的 Amazon 服务来分析数据,也可以使用 Amazon Managed Grafana(可视化和仪表板化)或 Amazon QuickSight(商业智能)将数据可视化。
介绍用于监控电池运行状况的示例解决方案
现在,让我们看一个实施之前概述的逻辑架构的示例解决方案。您可以使用此解决方案来监控电动汽车的电池运行状况,并在检测到运行状况问题后告知驾驶员。下面显示的是此解决方案的架构:
用于监控电池运行状况的示例解决方案
此解决方案包括以下组成部分:
1.车辆工程师对车辆进行建模并配置解码规则
首先,车辆工程师利用他们对车辆设计的深入了解,通过 Amazon 管理控制台、Amazon CLI 或 Amazon API 为 Amazon IoT FleetWise 服务配置必要的云资源。这些资源包括信号目录、车辆型号、解码器清单和车辆实例。
2.数据工程师启动车辆数据收集活动
现在,数据工程师可以在 Amazon IoT FleetWise 中启动数据收集活动(通过 Amazon 管理控制台、Amazon CLI 或 Amazon API)。活动配置包含以下数据:
- 要收集并传输到云的车辆信号的唯一名称
- 对于基于时间的活动,为信号收集的采样率
- 对于基于条件的活动,为用于识别要收集的数据的逻辑表达式(例如,$variable.BatteryTemperature > 40.0)
3.Amazon IoT FleetWise 向车辆上运行的 Edge Agent 发送活动配置。
Amazon IoT Core 服务在亚马逊云科技与边缘端代理之间实施安全且可扩展的数据传输。
4.边缘端代理负责运行数据收集活动
首先,边缘端代理从车辆网络中收集活动配置中指定的信号。在间歇性连接的情况下,边缘端代理将临时存储车辆数据,并在连接可用后继续摄取数据。
5. 边缘端代理负将收集到的车辆数据摄取到亚马逊云科技。
Amazon IoT Core 服务在边缘端代理与亚马逊云科技之间实施安全且可扩展的数据传输。
6.Amazon IoT FleetWise 存储车辆数据
为了实现数据持久性,我们将使用 Amazon Timestream,这是一个快速、可扩展的无服务器时间序列数据库。
7.电池运行状况检测服务分析车辆数据
电池运行状况检测组成部分是使用 Amazon Lambda 函数实施的。Amazon EventBridge 服务将配置为以固定速率运行 Amazon Lambda 函数。
每次运行时,Amazon Lambda 函数都会查询车辆数据并分析结果,从而确定电池运行状况问题。对于发现的每个电池运行状况问题,Amazon Lambda 函数都会将一条消息摄取到 Amazon Kinesis Data Streams 中。
8.电池管理服务处理电池运行状况数据
电池管理组成部分是使用 Amazon Lambda 函数实施的。它将处理来自数据流的电池运行状况洞察。对于每项需要通知用户的洞察,它将从 Amazon DynamoDB 检索驾驶员的联系数据,并将通知请求发送到 Amazon Simple Queue Service(SQS)
9.通知处理程序服务向驾驶员发送短信通知
通知处理程序服务读取来自 Amazon SQS 的通知请求,使用当前车辆驾驶员的联系数据丰富车辆识别号码(VIN,Vehicle Identification Number)数据,并通过 Amazon Simple Notification Service(SNS)向驾驶员发送消息
摘要和后续步骤
在本博文的第一部分中,您已了解基于 Amazon IoT FleetWise 的解决方案的应用场景、技术能力和逻辑架构。之后,我们回顾了用于监控电池运行状况的示例解决方案的架构。在本博文的第二部分中,我们将引导您在亚马逊云科技账户中完成示例解决方案的实施步骤。
关于作者
Andrei Svirida 是 Amazon Web Services 的一名高级专案解决方案架构师。他热衷于让各个行业内的各种规模的公司成为数据驱动型企业。为此,他帮助亚马逊云科技客户在亚马逊云科技上架构和构建安全且可扩展的解决方案,并专注于 IoT、分析和数据工程。在加入亚马逊云科技之前,Andrei 曾在 KUKA AG 担任 IoT 交付主管,并在 Deutsche Telekom AG 担任内部咨询副总裁。Andrei 拥有计算机科学背景和 18 年以上的行业经验。