过度转向是一种不安全的情况,即车辆在转弯时后轮失去抓地力(图1)。它可能是由轮胎磨损、路面湿滑、转弯过快、转弯时突然刹车或这些因素的组合造成的。
现代稳定性控制系统被设计当检测到过度转向来自动采取纠正措施。从理论上讲,这样的系统可以通过使用基于第一原理数学模型识别过度转向的条件。例如,当从车载传感器测量值超过为模型中的参数建立的阈值,则系统确定汽车过度转向。然而在实践中,这种方法由于涉及的诸多因素相互作用的证明是难以实现。与充气不足的轮胎在冰路面上的一辆汽车可能需要比正常充气不足的轮胎同车的操作在干燥的表面完全不同的阈值。
在宝马,我们正在探索一种机器学习方法来检测转向过度。在MATLAB工作®我们开发了一个监督的机器学习模型作为一个概念证明。尽管有与机器学习一点以往的经验,在短短三周内我们就完成了能够检测超过98%的准确度转向过度工作ECU原型。
收集数据,提取特征
我们从一辆车在过度转向之前、期间和之后的真实数据开始。在一位专业司机的帮助下,我们在法国米拉马斯的宝马试验场驾驶一辆宝马M4进行了现场驾驶测试(图2)。
在测试过程中,我们在捕获转向过度检测算法通常使用信号:车辆的向前加速度,横向加速度,转向角和偏航率。此外,我们记录的转向过度的驾驶感受:当驾驶员显示汽车被转向过度,我的同事,骑在车上的乘客,压在她的笔记本电脑的按钮。她放开按钮时,驾驶员指示该车已经回到正常处理。这些按钮按下创建我们需要训练监督学习模型的地面实况标签。总之,我们捕获约43分钟记录一次数据的259,000个数据点。
回到我们的慕尼黑办公室,我们装,我们已经收集到MATLAB和使用各种分类的使用统计和机器学习工具箱™分类学习应用列车机器学习模型中的数据。由受过训练的有关此原始数据模型所产生的结果是不突出-准确度为75%和80%之间。为了实现更精确的结果,我们清理和减少了原始数据。首先,我们应用的过滤器,以减少噪声的信号的数据(图3)。
接下来,我们使用峰值分析来识别过滤后的输入信号的峰值(局部最大值)(图4)。
评估机器学习方法
在过滤和减少收集的数据后,我们处于一个更好的位置来评估监督机器学习方法。利用分类学习应用程序,我们尝试了k-最近邻(KNN)分类器、支持向量机(SVMs)、二次判别分析和决策树。万博1manbetx我们还使用app来观察主成分分析(PCA)变换特征的效果,这有助于防止过拟合。
我们评估的分类器产生的结果汇总在表1中。所有的分类器在过度转向的识别中都有很好的表现,其中3种的真实阳性率都在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 |
为车内测试生成代码
由决策树产生的结果是有希望的,但真正的考验将是一个真正的汽车分类上的ECU如何执行。我们生成的代码从MATLAB编码器™模型,并编制了我们的目标ECU代码,安装在BMW 5系轿车。这一次,我们进行了在宝马工厂附近阿舍姆测试自己,贴近我们的办公室。我开车,我的同事收集的数据,记录了精确的时间,当我表示,这辆车是转向过度。
该分类器在ECU上实时运行,准确率达到95%左右。在进行测试时,我们不知道会发生什么,因为我们使用的是一辆不同的车(宝马5系,而不是M4)、不同的车手和不同的赛道。对数据的进一步观察显示,模型和驾驶员感知的过度转向之间的大部分不匹配发生在过度转向状态的开始和结束。这种不匹配是可以理解的;即使是司机也很难准确判断转向过度何时开始和停止。
在成功开发了转向过度检测机器学习模型,并将其部署在原型ECU,我们现在设想在BMW机器学习许多其他潜在的应用。提供给我们,今天收集了几十年的数据海量,单个车辆可以生成测量数据在一天一万亿字节。机器学习提供了开发使用现有数据来了解驾驶员的行为,提高了驾驶体验软件的机会。