技术文章和通讯

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

宝马集团Tobias Freudling


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

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

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

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

收集数据和提取特征

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

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

在测试期间,我们捕获了转向过度检测算法中常用的信号:车辆的前向加速度、横向加速度、转向角和横摆率。此外,我们还记录了司机对转向过度的看法:当司机指出汽车转向过度时,我的同事作为乘客乘坐汽车,按下了笔记本电脑上的一个按钮。当司机表示汽车已恢复正常驾驶时,她松开了按钮。这些按钮的按下创造了我们训练有监督学习模型所需的基本事实标签。我们总共在43分钟的记录数据中捕获了约259000个数据点。

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

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

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

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

评估机器学习方法

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

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

真阳性(%) 真阴性(%) 假阳性(%) 假阴性(%)
基于PCA的K-最近邻
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上的表现如何™ 并为安装在宝马5系轿车上的目标ECU编译了代码。这次,我们自己在办公室附近的阿斯海姆附近的宝马工厂进行了测试。当我开车时,我的同事收集了数据,记录了我表示汽车转向过度的准确时间。

该分类器在ECU上实时运行,表现出奇地好,准确率约为95%。在进行测试时,我们不知道会发生什么,因为我们使用的是不同的车辆(宝马5系而不是M4)、不同的驾驶员和不同的赛道。仔细观察数据发现,模型与驾驶员感知的过度转向之间的大部分不匹配发生在过度转向条件的开始和结束附近。这种不匹配是可以理解的;即使对于驾驶员来说,也很难准确确定何时开始和停止转向过度。

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

2018年出版

查看相关功能的文章

查看相关行业的文章