基于AdaBoost算法的重型车辆侧翻预警研究
2021-08-27朱天军王振峰尹晓轩
朱天军,麻 威,王振峰,尹晓轩
(1. 河北工程大学 机械与装备工程学院,河北 邯郸 056038;2. 中国汽车技术研究中心有限公司 汽车工程研究院,天津 300300;3. 中汽研(天津)汽车工程研究院有限公司,天津 300300)
0 引 言
车辆发生翻车是一种严重的安全事故。据有关部门的不完全统计,2013—2016年,中国和美国两国近5年来发生的车辆侧翻事故和造成的死亡人数均呈现逐年上升的趋势[1]。重型车辆具有质心高、整车重量和体积大等特点,因此车轮间距就显得较小,所以重型车辆在弯道和遇到障碍物时极易发生侧翻危险。侧翻极限工况一旦发生,将给人民群众带来巨大的生命和财产安全。因此,重型车辆侧翻及其预防措施的研究显得极其重要。
针对侧翻,国内外学者进行了深入的研究。李海青等[2]基于模糊差动制动的综合控制系统,建立了相应的拟合毛刷轮胎模型,仿真结果表明,该综合控制系统在防侧翻的同时还提高了汽车的横摆稳定性;T. V. VU等[3]研究重型车辆主动抗侧倾杆系统的线性变参数控制器,通过对两种不同类型的重型车辆进行仿真,结果表明,该策略显著提高了车辆的横摇稳定性;何锋等[4]建立了整车9自由度侧倾模型和四轮路面激励模型,针对解耦算法中反馈控制器二阶系数选取的复杂性,运用遗传算法对目标函数进行全局寻优,仿真结果表明,车辆的稳定性得到有效的控制;肖佩等[5]建立了基于递推二乘法的路面附着系数在线辨识模型,分析了路面附着系数对车辆差动制动性能的影响,修正了差动制动控制策略,提出了考虑路面附着系数的车辆差动制动控制策略,仿真结果表明,车辆的主动安全性能得到提升;陈丽静[6]通过建立最优加权系数的LQG控制器的汽车主动悬架模型,验证汽车在一般转弯和紧急突发急转弯情况下,主动悬架对汽车侧翻的影响,研究结果表明,汽车的侧翻稳定性得到改善;陈松等[7]为实现车辆侧倾的主动控制,设计了一种基于谐波齿轮的电机控制式的AARB装置,建立了该AARB装置的侧倾角刚度数学模型,通过硬件在环试验得出,该方法有效地控制了车辆的侧倾;金智林等[8-9]提出基于二次预测型横向载荷转移率的汽车侧翻预警方法,同时又推导出一种新的车辆侧翻指数,用于预测三轴客车的车辆侧翻风险,研究结果表明,汽车侧翻的预警精度得到提高,汽车防侧翻的主动安全性能得到改善;韩雪雯等[10]基于差动制动原理设计的模糊滑模控制器,建立了车辆三自由度模型和被控车辆模型,联合仿真表明,车辆在极限工况下具有良好的操纵稳定性;赵又群等[11]根据预瞄跟随理论和灰色预测理论,建立预瞄预测驾驶员模型,推算出侧翻估计指标,仿真结果说明了侧翻预测系统的有效性;朱天军等[12]结合经典 Kalman状态地估计技术实时准确地估计重型车辆的状态,并研究基于改进侧翻预警时间 (time to rollover, TTR)重型车辆侧翻预警算法。
现阶段大部分侧翻预警研究的重点均为TTR算法、主动控制或差动控制,均为被动性的措施。目前缺少一种具有主动性、实时性以及应用范围更广阔的侧翻预警辅助,来预防侧翻带来的危害。应用AdaBoost算法,在重型车辆侧翻预测中可以利用现实中更新的以往数据进行分类器的训练,训练好分类器之后可以采集实时的数据进行分类预测,从而实现对车辆侧翻进行实时预测。其结果可为车辆驾驶员提供技术支撑,提前预测风险的到来,以便更好的应对侧翻风险,保障车辆的正常行驶,减少了危险侧翻事故的发生。
1 重型车辆侧翻影响因素
重型车辆侧翻是一个极度危险的工况。发生侧翻的影响因素归纳起来可以分为两类:一类是汽车设计参数的静态部分,比如汽车质心高度、悬架、车速、轮胎等;另一类是汽车行驶动态部分,比如汽车侧向加速度、横摆角、道路几何形状、驾驶员操作等[13]。
在分析以往侧翻事故中,横向载荷转移率(lateral-load transfer rate,LTR )、横摆角速度、侧倾角、侧向加速度、质心侧偏角最能够最能反映车辆的侧翻稳定性[14]。考虑到重型车辆的质心到侧倾中心的高度h与轮距T的比值较大,重型车辆极易发生侧翻事故,因此要对轮胎地面载荷进行监测。车辆稳定的指标可以由横向载荷转移率来反应,如式(1):
(1)
式中:Fr,i为右边第i个轮胎垂直载荷;Fl,i为左边第i个轮胎垂直载荷;LTR的值域为[-1,+1],当LTR为±1时,判定车辆已经有一侧轮胎离地。
2 重型车辆仿真模型
利用TruckSim®动力学软件选择车型。根据实际车型主要数据进行车辆模型的搭建。模型搭建大体上分为4部分:车辆簧载质量模型搭建、轮胎模型搭建、悬架系统搭建和转向系统搭建。模型搭建好后,随即进行预警模型的建立。表1是重型车辆仿真模型主要参数。
表1 重型车辆仿真模型主要参数Table 1 Main parameters of heavy vehicle simulation model
3 重型车辆侧翻预警模型
3.1 侧翻预警原理
重型车辆侧翻预警的物理模型不够精准,在缺乏理论模型数据的情况下,统计学习理论是最基本的分析手段[15]。机器学习基于以往的观察来获取较为准确的预测,其提供一种从观测数据出发得到目前尚不能通过原理分析得到的规律,进而利用此规律预测未来数据的方法,其核心是把样例分类到各种可能的离散值对应的类别中,并对未知样本做出尽可能精准的预测[16]。
重型车辆的预警问题归结为有监督学习的分类预测问题,以得到的侧翻统计数据构成训练样本,以AdaBoost集成学习算法形成分类学习器,并根据收集的各种参数数据进行侧翻预警[17]。
3.2 AdaBoost算法对侧翻情况的分类
AdaBoost学习算法的原理是提高错分类样本的权值降低正确分类样本的权值,构建多个弱分类器通过加权投票的方式构建最终的强分类器。AdaBoost算法应用在侧翻情况的分类中,主要应用分类器区分侧翻与非侧翻两种工作状态,侧翻时用“-1”表示,非侧翻时用“+1”表示。同时应用已有的数据作为训练样本集进行多个弱分类器的训练,使用单层决策树构建弱分类器进行训练分类。单层决策树(decision stump,也叫决策树桩)是决策树中较为简单的一种。单个单层决策树,只能对一个特征来做出决策。图1为单层决策树分裂过程。如图1,这棵树只有一次分裂进程,因而它实际上是一个树桩。图2为AdaBoost学习算法实现流程。
图1 单层决策树分裂过程Fig. 1 Splitting process of single decision tree
图2 AdaBoost学习算法实现流程Fig. 2 Realization process of AdaBoost learning algorithm
如图2,AdaBoost学习算法实现流程如下:
1)设定训练样本以及分类(x1,y1),…,(xn,yn),其中xi∈X,yi∈Y,Y的范围为{-1,+1}。初始化样本权重,设定D1(i)=1/n,最大循环次数为T的迭代练习。
2)对于第t=1,…,T次迭代,使用样本的权值分布Dt训练弱分类器。
3)得到弱分类假设ht:X→{-1,+1},计算弱分类器的错误率,如式(2):
εt=Pr~Dt[ht(xi)≠yi]
(2)
4)选取αt如式(3):
αt=1/2ln[(1-εt)/εt]
(3)
5)更新第t+1次迭代中的权值分布:
(4)
则:
(5)
式中:Zt是归一化参数。
6)在经由T次迭代以后,得到h1,h2,…,hT共T个弱分类器。
7)最后通过加权投票,得到强分类器:
(6)
式中:sign(·)表示符号运算。
分类器经过训练之后,需要对实时得到的数据进行分类处理。当被认定属于侧翻状态时,就需要提前对重型车辆进行控制,避免侧翻事故的发生。
3.3 基于AdaBoost算法的重型车辆侧翻预警系统
基于AdaBoost算法的重型车辆侧翻预警系统如图3。其概况如下:首先收集重型车辆中行驶过程中的原始数据集与LTR生成的数据类别标签,如图4,处理数据备用。图4中:Ff,r为右前轮垂直载荷;Fb,r为右后轮垂直载荷;Ff,l为左前轮垂直载荷;Fb,l为左后轮垂直载荷。然后建立一个单层决策树弱学习器。接着在算法中使用多个弱分类器进行特征列循环,对比所有列中最优分界值的最小误差值。随后将列进行分段,求解出所有段中最小误差分界值,并记录数据其中最小错误率。
图3 基于AdaBoost算法的重型车辆侧翻预警系统Fig. 3 Heavy vehicle rollover warning system in AdaBoost algorithm
图4 横向载荷转移率(LTR)模块与数据类别标签生成模块Fig. 4 Lateral-load transfer rate (LTR) module and data categorylabel generation module
同时根据式(2)与式(3),计算对应Alpha值αt和权重值Dt,求出分类结果的概率。分类结果概率包含最优单层决策树分类结果数据集和存放在最优单层决策树中的所有信息。最后进行预测,导入实时数据,经由单层决策树分类器得出分类结果,并计算出分类结果概率。循环全部单层决策树,并进行累加,得到最终结果。将结果提供给驾驶员作为技术支持,减少侧翻危险事故的发生。
4 算法仿真验证
笔者联合MATLAB & Simulink与TruckSim®动力学软件进行重型车辆仿真,如图5。
图5中,输入系统中的数据导入车辆模型中,进行联合仿真;经仿真生成原始数据和数据标签,将两者数据进行处理并记录;鱼钩工况和双移线工况生成的数据导入预警算法中进行训练,在得到强分类器之后将复杂工况生成的数据导入预警算法中进行预测,最后得到有效预测侧翻的结果。
图5 重型车辆联合仿真示意Fig. 5 Schematic diagram of heavy vehicle joint simulation
4.1 数据的建立
应用MATLAB & Simulink与TruckSim®动力学软件进行数据获取,选用车辆侧翻较多的工况如鱼钩转向工况和双移线工况为以往数据作为训练集,选用特殊复杂工况为实时数据作为测试集,以时间间隔为0.01 s记录一次数据。数据记录包含工况下的时间、横摆角速度、侧倾角、质心侧向加速度、质心侧偏角等数据,对数据进行预处理,得到训练集样本1 610 组(侧翻数据为410组,非侧翻数据为1 200组),测试集样本1 010组(侧翻数据为300组,非侧翻数据为710组)。
4.1.1 鱼钩工况
鱼钩工况下,方向盘转角输入设置如图6,道路附着系数设定为0.85,初始车速为85 km/h,横向载荷转移率LTR为 ±0.85 作为侧翻界限,标定数据标签并处理数据,作为训练集(Train)保存。图7为鱼钩工况下各参数的变化,其中图7(a)~(d)分别对应鱼钩工况下的横摆角速度、侧倾角、质心侧向加速度、质心侧偏角变化情况。
图6 方向盘转角输入(鱼钩工况)Fig. 6 Steering wheel angle input (fishhook work condition)
4.1.2 双移线工况
双移线工况下,路径的设置如图8,道路附着系数设定为0.85,初始车速为120 km/h,横向载荷转移率LTR为 ±0.85 作为侧翻界限,标定数据标签并处理数据,作为训练集(Train)保存。图9为双移线工况下各参数变化,其中图9(a)~(d)分别对应双移线工况下横摆角速度、侧倾角、质心侧向加速度、质心侧偏角的变化情况。
图8 双移线工况下路径Fig. 8 Path diagram under the working condition of DLC
4.1.3 复杂工况
复杂工况下,路径图的设置如图10,道路附着系数设为0.85,初始车速为120 km/h,横向载荷转移率LTR为 ±0.85作为侧翻界限,标定数据标签并处理数据,作为测试集(Test)保存。图11为复杂工况下各参数变化情况,其中图11(a)~(d)分别对应复杂工况下横摆角速度、侧倾角、质心侧向加速度、质心侧偏角的变化情况。图12为复杂工况下横向载荷转移率的变化情况。
图10 复杂工况下路径Fig. 10 Path diagram under complex working conditions
图12 复杂工况下LTR变化Fig. 12 LTR change under complex working conditions
4.2 分类性能度量指标
在机器学习中,利用混淆矩阵(confusion matrix)的工具来了解分类中的错误。二类问题中,如果将一个正例判为正例,那么就可以认为产生一个真正例(true positive,TP,也称真阳);如果对一个反例正确地判为反例,则认为产生了一个真反例(true negatice,TN,也称真阴)。相应的两种情况分别称为伪反例(false negative,FN,也称假阴)和伪正例(false positive,FP,也称假阳)[18]。笔者利用接受者操作特性曲线(receiver operating characteristic curve,ROC) 来权衡模型预判的准确率。
4.3 仿真结果
为验证重型车辆侧翻预警系统的有效性,将数据导入AdaBooost算法中,并构建分类函数进行预测车辆侧翻分类情况,结果如图13。选取的弱分类器个数为40个,测试集和训练集的准确率均达到80%以上。为更好验证不同分类器数目情况下AdaBoost算法的预测准确性,选取1~10 000个弱分类器进行预测,得到结果如表2。
表2 不同弱分类器数目的AdaBoost算法的预测正确率Table 2 Prediction accuracy of AdaBoost algorithm withdifferent numbers of weak classifiers
图13 重型车辆侧翻预警分类效果Fig. 13 Effect of warning classification of heavy vehicle rollover
为了证明AdaBoost算法在预测重型车辆侧翻过程中有更好的预测精度,笔者另外选取Logistic回归算法进行重型车辆侧翻预警对比。选取同样的数据,在Logistic回归算法进行预测分类,得到训练集正确率为73.3%,测试集正确率为63.7%。结果表明,相比Logistic回归算法,笔者设计的AdaBoost算法在预测重型车辆侧翻中具有更高的预判精度,结果如表3。
表3 AdaBoost学习算法与Logistic回归算法效果对比Table 3 Comparison of AdaBoost learning algorithm andLogistic regression algorithm %
图14中显示,ROC曲线远离参照线,说明文中分类器分类效果明显,而且在车辆侧翻过程中对侧翻预测的准确度高。
图14 AdaBoost重型车辆侧翻预警系统ROC曲线Fig. 14 ROC curve of AdaBoost heavy vehicle rolloverwarning system
AUC(area under curve)为ROC曲线下的面积。面积越大,模型的分类性能越好。计算出AUC为0.958,说明了AdaBoost算法侧翻预警模型预测效果的有效性。
5 结 语
1)笔者在分析不同工况中时发现,增加更多有关车辆稳定性因素的参数,或者增加训练数据样本量可以提高预测的精度,为接下来的数据研究提供新的依据。
2)针对重型车辆侧翻预警问题,设计了基于AdaBoost算法的车辆预警判据。仿真数据说明,笔者所设计的AdaBoost算法具有更高的预判精度,比Logistic回归算法精度提高了24.9%,ROC曲线下AUC值为0.958,进一步验证了AdaBoost算法模型预测效果的有效性与准确性。
3)基于AdaBoost算法的车辆侧翻预警系统,后续将应用于整车控制器的开发,利用实车试验,验证复杂工况下侧翻预警的效果。