65.9K
CodeProject 正在变化。 阅读更多。
Home

关于使用 AWS SageMaker 进行预测性车辆维护的构想

starIconstarIconstarIconemptyStarIconemptyStarIcon

3.00/5 (1投票)

2019年11月1日

CPOL

7分钟阅读

viewsIcon

4634

如何收集车辆信息并在 AWS 上使用机器学习来预测和诊断车辆问题,防止其变得严重。

引言

近年来,“联网汽车”已经从一种概念性的事物,发展到一种实际存在且偶尔会遇到的事物,再到如今已成为许多汽车的选项。即使是那些在设计时没有考虑联网功能的汽车,也有可用的设备可以连接到车辆的诊断端口,并传输车辆运行的实时数据(我以前做过)。它们几乎适用于过去 25 年生产的任何汽车。对于单辆车而言,这些信息最多只是有趣,但不足以进行广泛适用的推断。对于一个车队而言,这些信息可能具有预测价值,并有助于决策。对于大量相似车辆的更大集合而言,则有潜力进行丰富的推断。车辆维护通常基于建议和一般规则。通过额外的数据,可以根据车辆的实际状态调整这些周期;对于表现出特定系统较高故障风险的车辆,可以提前安排维护;或者延迟指示表明对某个系统的维护还为时过早。在可能的情况下,可以实施措施以延长汽车某些系统的使用寿命。

该系统的最终目标是节约资源。资源包括燃油、维修零件以及诊断发生问题的过程中涉及的人力。它还可以用于估算车辆未来维护的成本,并决定是继续持有车辆还是更换车辆更有利。货币成本将是我们比较资源成本时可考虑的成本函数之一。

为什么仅凭行驶里程不足以作为衡量标准?

行驶里程是一个重要的指标,但它不一定足够。让我们以车辆中的一个特定系统——启动马达为例。启动马达是一种电动机,它会启动发动机的部件运动,以便发动机能够开始自行发电。一旦发动机运行,启动马达就不再工作了。启动马达所经历的磨损方面之一是汽车启动的次数。想象两辆相同的车辆,一辆通常进行 50 英里(约 80 公里)的行程,另一辆通常进行 5 英里(约 8 公里)的行程。在行驶 1,000 英里(约 1600 公里)后,进行 50 英里行程的车辆启动马达使用了 20 次,而进行 5 英里行程的车辆启动马达使用了 200 次。由于车辆是复杂的机器,即使在某个指标上使用相似的车辆,也存在许多其他方式导致其组件受到不同程度的压力或磨损。

可能值得考虑哪些指标?

车辆外部的许多条件可能会影响故障,而这些影响是我们需要记录的。温度、路况以及暴露在雨水等元素中或靠近含盐水体的情况,长期来看可能会影响各种系统。将这些外部因素与运行数据一起保存可能会有所帮助。我们并不知道所有影响某个部件的因素。我们将让机器学习来发现它们之间的关系。

对于内部条件,汽车已经有许多有用的传感器。有些信息需要手动捕获,例如未被汽车计算机监控的系统(轮胎、悬架等)的故障。还有一些故障条件并非完全的故障(汽车仍可驾驶),但需要及时处理,以免其发展成故障,并解决这些条件带来的效率低下问题(消耗比正常情况更多的燃油、车辆排放物差异、更高的运行温度)。

车辆的传感器提供了我们了解汽车各部件状态的测量值。但传感器也可能发生故障并提供错误信息。我们需要能够识别何时发生这种情况。各种传感器可能彼此之间存在某种关系,并且如果测量值不一致,则可能检测到传感器故障。例如,如果油量传感器开始提供显著增加的读数,而发动机转速读数和速度非零,那么油量传感器可能存在问题。

与其将原始传感器数据全部交给机器学习算法,不如考虑提取或计算一些其他特征。也可能存在对某些目的而言是噪声的数据。在需要足够分辨率进行推断的同时,又希望在可能的情况下使用小数据集进行推断,这需要一个平衡。我倾向于以可能高于所需的分辨率捕获数据,然后在使用的前进行降低。低分辨率数据可以从高分辨率数据生成。如果选择了一个分辨率,之后发现该分辨率不够,我们仍然拥有高分辨率数据,可以从中做出不同的选择。由于在有足够数据训练机器学习代理之前可能需要一段时间来收集数据,因此我不想在收集了很长一段时间的数据后才发现分辨率不够高。丢弃不需要的数据比未能获取足够数据的情况更容易补救。尤其是当收集数据需要大量时间时。

通过平均值、总和、导数和标准差,还可以从记录的数据中计算出新的信息。某些传感器上的滚动平均值也有助于清除数据中的一些噪声。

数据标签

我们的数据需要被标记才能有用。对于我们的初始标签,我们需要使用有关某些传感器正常读数的建议。对于许多系统,“正常运行”和“故障”并非唯一的适用标签。还有一些系统可能运行但性能下降(例如电池电量不足)。许多车辆在检测到问题时也会将传感器读数标记为问题并将其内部保存;当“检查发动机”指示灯亮起时,传感器读数会与问题代码一起存储。

附加数据

我以前在车上没见过这些,但我认为振动传感器也能提供有用的信息。有时,车辆出现问题的迹象是车辆发出的声音发生变化(声音本身就是振动)。我相信通过几个放置得当的振动传感器,我们可以学会将某些类型的振动与某些类型的问题联系起来。一些预期的可检测问题包括检测刹车盘的翘曲和轮胎的失衡。我相信其他旋转部件的问题也可能被检测到。这是一个需要通过收集振动数据来验证的信念,这些数据可以与其它传感器和性能数据相关联。振动传感器诊断问题的真实世界应用示例是,SpaceX 能够使用从振动传感器记录的信息来检测发射失败的原因;在发射过程中,第三方提供的某个部件出现了故障。这些信息帮助他们缩小了故障原因的范围,进一步的测试表明,来自特定供应商的部件不符合要求的规格。

数据的进一步收集和使用

一旦一个有用的机器学习模型被充分训练到可用的程度,人们就会希望继续对其进行训练,以提高准确性并适应车辆行为随时间的变化。实现这一目标的一种方法是允许用户选择是否收集其发动机数据。用户可以从中获得的好处是免费获得诊断信息。即使对于那些不愿分享其发动机数据的用户,也可以在应用程序中生成一个精简版的训练好的 AI,以便他们的手机能够为他们处理和解释数据。

历史

  • 2019 年 11 月 1 日:初始版本
© . All rights reserved.