用机器学习检测BMW汽车的过度型

通过Tobias Freudling,BMW集团


过流是一种不安全的条件,其中车辆的后轮胎在导航转弯时失去了握力(图1)。它可能是由磨损的轮胎,滑道的道路条件,转动太快,转动时突然制动,或者这些因素的组合。

图1.在测试轨道上过度过度使用BMW M4。

现代稳定性控制系统旨在在检测到过量的速度时自动采取纠正措施。理论上,这种系统可以通过使用基于第一原理的数学模型来识别过流状态。例如,当来自车载传感器的测量超过模型中的参数的旧阈值时,系统确定车辆是过度的。然而,在实践中,由于所涉及的许多因素的相互作用,这种方法已经证明难以实施。在冰冷的道路上具有欠溢的轮胎的汽车可能需要比在干燥表面上正确充气轮胎运行的相同汽车的阈值不同的阈值。

在宝马,我们正在探索一种检测过度转向的机器学习方法。在Matlab工作®,我们开发了一个监督机器学习模型作为概念证明。尽管以前有机器学习的经验很少,但在短短三周内,我们完成了一个工作的ECU原型,能够检测超出98%的精度。

收集数据和提取功能

我们开始通过以前,期间和过境的车辆收集现实世界数据。在专业驾驶员的帮助下,我们在法国麦拉马斯的BMW证明场地进行了BMW M4的实时驾驶测试(图2)。

图2.法国米拉瓦斯的宝马证明场地。

在测试期间,我们捕获了在过度尺码检测算法中常用的信号:车辆的前进加速,横向加速度,转向角和横摆率。此外,我们记录了驾驶员对过境的看法:当驾驶员指示汽车过度时,我的同事们,骑在车里作为乘客,按下她的笔记本电脑上的按钮。当驾驶员指示汽车已返回正常处理时,她发布了按钮。这些按钮印刷机创建了我们需要培训监督学习模型的地面真理标签。完全,我们在记录数据的43分钟内捕获了大约259,000个数据点。

回到我们的慕尼黑办公室,我们加载了我们收集到Matlab的数据,并在统计和机器学习工具箱™中使用了分类学习者应用程序,以使用各种分类器训练机器学习模型。由此原始数据培训的模型产生的结果并不出色 - 准确度在75%和80%之间。为了实现更准确的结果,我们清理并减少了原始数据。首先,我们应用过滤器以减少信号数据上的噪声(图3)。

图3.滤波后的原始转向角信号(蓝色)和相同的信号(橙色)。

接下来,我们使用峰值分析来识别滤波输入信号上的峰值(本地最大值)(图4)。

图4.识别峰值的转向角信号。

评估机器学习方法

过滤并减少收集的数据后,我们处于更好的位置来评估监督机器学习方法。使用分类学习者应用程序,我们尝试了K-Collect邻居(KNN)分类器,支持向量机(SVM),二次判别分析和决策树。金宝app我们还使用该应用来通过主成分分析(PCA)来了解转换功能的效果,有助于防止过度拟合。

我们评估的分类器产生的结果总结在表1中。所有分类器都在识别过度界面时表现良好,其中三个产生了高于98%的真正阳性率。决定因素是真正的负税率:分类器能够确定车辆是否何时确定不是过流。在这里,决策树优于其他分类器,具有近96%的真正负率。

真正的阳性(%) 真否定(%) 假阳性 (%) 假阴性(%)
与PCA的k-indect邻居
94.74 90.35 5.26 9.65
金宝app支持矢量机器 98.92 73.07 1.08 26.93
二次判别分析 98.83 82.73 1.17 17.27
决策树 98.16 95.86. 1.84 4.14
表1.四种不同监督机器学习分类器的结果摘要。

生成车载测试代码

决策树产生的结果是有前途的,但真正的测试将是在真正的汽车中对ECU执行的分类器的程度。我们使用Matlab Coder™的模型生成了代码,并将其目标ECU的代码编译在BMW 5系列轿车中。这次,我们在靠近Aschheim附近的BMW设施进行了测试,靠近我们的办公室。当我开车时,我的同事收集了数据,当我指出汽车已经过流时,记录精确时间。

实时在ECU上运行,分类器令人惊讶地进行,精度率约为95%。进入测试,我们尚不知道要期待什么,因为我们正在使用不同的车辆(BMW 5系列而不是M4),不同的驱动程序和不同的轨道。仔细看看数据显示,模型与驾驶员的感知过度之间的大多数不匹配发生在超出性条件的开始和结束附近发生。这种不匹配是可以理解的;即使是驾驶员何时何时启动和停止,甚至可能难以确定。

已成功开发了用于过流检测的机器学习模型,并在原型ECU上部署它,我们现在设想了在BMW的机器学习中的许多其他潜在应用。收集的大量数据超过几十年来可供我们使用,今天,单一的车辆可以在一天内产生一个测量数据的大字节。机器学习提供了开发使用可用数据来了解驾驶员行为的软件并提高驾驶体验的机会。

发布2018年

查看相关功能的文章

查看相关行业的文章