技术文章和通讯

用机器学习检测宝马汽车的过度转向

宝马集团Tobias Freudling


过度转向是一种不安全的情况,即车辆的后轮在转弯时失去抓地力(图1)。造成过度转向的原因可能是轮胎磨损、路面湿滑、转弯太快、转弯时突然刹车,或者是这些因素的综合。

图1.在测试跑道上过度转向BMW M4。

现代稳定性控制系统设计为在检测到转向过度时自动采取纠正措施。理论上,此类系统可以使用基于第一原理的数学模型来识别转向过度情况。例如,当车载传感器的测量值超过模型中参数的既定阈值时,该系统确定汽车转向过度。然而,在实践中,由于涉及的诸多因素的相互作用,这种方法已被证明难以实施。在结冰路面上轮胎充气不足的汽车可能需要与在干燥路面上轮胎充气适当的同一辆汽车大不相同的阈值。

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

收集数据,提取特征

我们首先从车辆转向过度之前、期间和之后收集真实世界的数据。在专业驾驶员的帮助下,我们在法国米拉马斯的宝马试验场对宝马M4进行了现场驾驶测试(图2)。

图2:宝马在法国米拉马斯的试验场。

在测试中,我们捕获了过度转向检测算法中常用的信号:车辆的前向加速度、侧向加速度、转向角度和偏航率。此外,我们记录了司机对过度转向的感知:当司机表示汽车过度转向时,我的同事作为乘客坐在车里,按下了笔记本电脑上的一个按钮。当司机表示汽车已经恢复正常操纵时,她松开了按钮。这些按键创造了我们需要训练一个监督学习模型的地面真实标签。总共,我们在43分钟的记录数据中捕获了大约259,000个数据点。

回到我们的慕尼黑办公室,我们将收集的数据加载到MATLAB中,并使用统计和机器学习工具箱中的分类学习器应用程序™ 使用各种分类器来训练机器学习模型。根据这些原始数据训练的模型产生的结果并不突出,准确率在75%到80%之间。为了获得更准确的结果,我们清理并减少原始数据。首先,我们应用滤波器来减少信号数据上的噪声(图3)。

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

接下来,我们使用峰值分析来识别过滤后的输入信号的峰值(局部最大值)(图4)。

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

评估机器学习方法

在过滤和减少收集的数据后,我们就能更好地评估有监督的机器学习方法。使用分类学习应用程序,我们尝试了k-最近邻(KNN)分类器、支持向量机(svm)、二次判别分析和决策树。万博1manbetx我们还使用该应用程序来查看通过主成分分析(PCA)转换特征的效果,这有助于防止过拟合。

表1总结了我们评估的分类器产生的结果。所有分类器在识别转向过度方面表现良好,其中三个分类器的真实阳性率超过98%。决定因素是真阴性率:分类器能够确定车辆何时启动的准确程度过度转向。在这里,决策树的表现优于其他分类器,实际负向率几乎为96%。

真阳性(%) 真阴性(%) 假阳性(%) 假阴性(%)
k -最近邻与主成分分析
94.74 90.35 5.26 9.65
万博1manbetx支持向量机 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上的表现如何™ 并为安装在宝马5系轿车上的目标ECU编译了代码。这次,我们自己在办公室附近的阿斯海姆附近的宝马工厂进行了测试。当我开车时,我的同事收集了数据,记录了我表示汽车转向过度的准确时间。

在ECU上实时运行,分类器表现得非常好,准确率约为95%。在测试中,我们不知道会发生什么,因为我们使用了不同的车辆(宝马5系而不是M4),不同的车手,不同的赛道。仔细查看数据后发现,大多数车型与驾驶员感知到的过度转向之间的不匹配都发生在过度转向状态的开始和结束附近。这种不匹配是可以理解的;即使是车手也很难准确地确定何时开始和停止过度转向。

在成功开发了用于转向过度检测的机器学习模型并将其部署在原型ECU上之后,我们现在正在设想宝马的机器学习的许多其他潜在应用。几十年来收集的大量数据可供我们使用,今天,一辆车可以在一辆车内生成1 TB的测量数据y、 机器学习提供了一个开发软件的机会,该软件使用可用数据来了解驾驶员的行为并改善驾驶体验。

2018年出版的

查看相关功能的文章

查看相关行业的文章