基于双层隐马尔可夫模型的重型车辆行驶状态辨识方法研究
2015-02-28朱天军孔现伟李彬
朱天军,孔现伟,李彬
(1.河北工程大学 装备制造学院,河北 邯郸056038;2.中国汽车技术研究中心 汽车工程研究院,天津300300;3.康考迪亚大学机械与工业工程系高级车辆工程研究中心,加拿大 蒙特利尔H3G 2W1)
0 引言
重型车辆适宜于远程大吨位的运输。随着重型车辆行驶速度不断地提高和载重量的加大,行驶安全性越来越受到关注。重型车辆的侧翻问题已成为重要的安全问题之一。根据美国公路安全局统计[1],在所有的交通事故中,汽车侧翻事故的危害程度仅次于汽车碰撞事故,居第2 位。根据专家的统计,67%的车祸是由于弯道或紧急情况下突然猛打方向盘,使车辆发生侧翻而造成的[2]。重型车辆侧翻不仅造成财产损失和人员伤亡,而且对事故发生地的环境有可能造成严重污染。因此,如何实时监测并发现车辆危险行驶姿态,利用主动安全系统提高重型车辆行驶安全性能,从而避免侧翻事故发生,成为现代重型车辆研究的焦点问题。
近年来,隐马尔可夫模型(HMM)由于其马尔可夫链可以用来描述隐藏于随机观察序列中的时变特性,而使其在处理非平稳随机序列中具有独特优势,现已成为国内外驾驶员意图识别、车辆行驶状态估计与预测等应用领域中的一个研究热点问题。Lin 等[3]提出一种基于HMM 和数字影像的车辆状态辨识系统,可以利用车辆行驶影像记录数据实时计算和预测行驶车辆的纵向车速。Maghsood 等[4]设计了一种基于HMM 的车辆行驶状态(直线行驶、是否弯道行驶)辨识系统,该系统利用重型卡车侧向加速度信息来识别车辆行驶状态(左转、右转、直线),而且该方法可以推广到制动、加速等驾驶状态的辨识,但需要更多的车辆状态参数加入到该系统。Gadepally 等[5]开发一套无人驾驶车辆行驶状态估计和预测系统,其中车辆状态估计采用HMM 进行估计,驾驶员行为预测采用分层隐马尔可夫模型(HHMM)进行预测,十分适用于无人驾驶车辆对未知决策的实时判定。Pentland[6]采用HMM 对驾驶员行为和驾驶员意图识别进行研究。利用HMM 建立车辆驾驶员行为模型,根据驾驶员的操纵输入信息辨识当前的驾驶意图,并预测下一时间段的驾驶行为(如左转、移线和停车等工况)。试验结果表明有效预测率达到95%以上,且实时性很好。国内车辆行驶状态辨识与预测研究方面的研究才刚刚起步。吉林大学宗长富等[7]提出了基于HMM 和人工神经网络(ANN)相结合的模型,用于实现驾驶意图辨识和驾驶行为预测,从而达到辅助驾驶和提高主动安全性的目的。同济大学吕岸等[8]提出基于HMM 的高速公路超车行为在线辨识算法,该算法利用驾驶模拟器数据,辨识出高速公路上各种工况下的正常及非正常超车行为,对驾驶员进行警告和纠正。有很多问题,特别是车辆危险行驶状态识别等方面的问题有待解决,例如,如何保证车辆行驶姿态辨识算法在车辆各种工况(单一或复杂)下均适用、辨识准确率较高、实时性好。
本文采用一种基于双层HMM 的重型车辆行驶状态在线辨识方法,可动态辨识重型车辆各种行驶状态及有效预测重型车辆未来的侧翻危险。
1 双层隐马尔可夫模型
1.1 双层隐马尔可夫模型结构
本文建立的双层HMM 如图1所示,底层HMM包括3 个多维高斯隐马尔可夫模型(MGHMM)模块和1 个速度等级模块。3 个MGHMM 分别用来辨识横摆运动状态、转向运动状态、侧向运动状态。在重型车辆行驶状态辨识过程中,底层的4 个模块一起工作。根据实时的车辆运动状态信息和车速信息,在每个时间步长下,每个模块中的似然度(发生的可能性)最大的模型被识别出来,这样就可以实时辨识出当前重型车辆的行驶状态。这样一段时间后,就会得到4 串重型车辆运动状态的辨识结果,它们依次对应重型车辆横摆运动状态、转向运动状态、侧向运动状态以及速度等级。底层HMM 的推理结果(4 串重型车辆运动状态的辨识结果)被送到高层HMM,作为高层HMM 的观察序列。高层多维离散HMM(MDHMM)对应着复杂工况下的重型车辆行驶状态辨识。计算高层HMM 所包含的所有MDHMM 产生的可能性,选取似然度最大的模型作为当前重型车辆的行驶状态。
1.2 多维高斯隐马尔可夫模型(底层)
本文应用分类后的重型车辆侧向运动状态数据(侧向加速度和侧倾角),分别训练3 个有关侧向运动状态模型:侧倾模型、侧滑模型和侧翻模型。同理,应用分类后的重型车辆横摆运动状态数据(横摆角速度),分别训练3 个有关横摆运动状态模型:无摆动模型、小摆动模型和大摆动模型;应用分类后方向盘数据(方向盘转角和方向盘角速度),分别训练3 个有关转向运动状态模型:直线行驶模型、正常转向模型和紧急转向模型。应用重型车辆车速的数据对速度进行分级,例如:速度的大小为80 km/h,速度的等级为8.
图1 双层HMM 结构Fig.1 Double-layer hidden Markov model structure
重型车辆行驶状态对应的HMM 的观察序列是数据处理后的重型车辆各类运动状态信号和车速信号,且这些信号都是连续的,应用多维高斯HMM 理论来搭建重型车辆行驶状态MGHMM.
以搭建转向MGHMM 为例,模型的观察序列包括方向盘转角和方向盘角速度的处理后传感器数据。其观察序列以向量的形式描述,如(1)式。
式中:a(t)为方向盘转角;b(t)为方向盘角速度。
首先,应用Baum-Welch 算法,训练所有的转向MGHMM[9]. 利用Matlab HMM 工具箱结合建立的MGHMM,编写Matlab 程序,可以得到优化后的模型参数。以转向模型为例,其优化后的参数如下:
式中:π 为初始状态概率;A 为状态转移矩阵;B 为混淆矩阵;μ 为均值矩阵;U 为协方差矩阵。
其次,应用前向-后向算法[10]计算每个模型里的MGHMM 相对于当前的观察序列产生的可能性并选出每个模型里的产生概率最大的模型作为当前重型车辆的运动状态,同时对行驶速度进行分级。
具体过程为:采集某复合工况下的一长时间段的传感器数据,按照侧向运动、横摆运动、方向盘操纵数据进行数据分类,再把每类数据截成很多小数据段。发生在同一时间段的数据被分别送到对应的MGHMM 并辨识出当前的重型车辆行驶状态和速度等级。以上述方式逐段辨识,就得到了对应着这一长段传感器数据的4 串辨识结果。
1.3 多维离散隐马尔可夫模型(高层)
利用底层HMM 的推理结果(辨识得到的4 串重型车辆行驶状态及速度数据)作为高层HMM 的观察序列,训练复杂工况下重型车辆行驶状态的辨识。因为底层HMM 的结果是离散的,所以利用离散HMM 理论来搭建高层复杂工况下重型车辆行驶状态MDHMM. 这些MDHMM 的观察序列可以表示为
式中:a'(t)表示辨识得到的横摆运动状态的数字符号;b'(t)表示辨识得到的转向运动状态的数字符号;c'(t)表示辨识得到的侧向运动状态的数字符号;d'(t)表示速度等级数字符号。
对离散MDHMM 模型里的前向变量和后向变量公式进行修改,修改后公式为
式中:αt(i)为前向算法中HMM 模型在t 时刻,观察到的部分观察序列在某状态下的输出概率;βt(i)为后向算法中HMM 模型在t 时刻,观察到的部分观察序列在某状态下的输出概率;o't(f)为观察序列的变量。
混淆矩阵B 的重估公式需要修改,修改后公式为
式中:count(k(f)|j)表示在状态sj下车辆运动状态k发生次数的期望值,并且车辆运动状态k 对应某运动状态代码f,f=1,2,3,4. 这里的车辆运动状态包含横摆运动、转向运动、侧向运动状态及纵向速度等级;count(j)表示在状态sj下发生次数的期望值。
因此,高层多维离散MDHMM 可以描述为
式中:B'1、B'2、B'3、B'4分别代表着高层MDHMM 的4 个观察值混淆矩阵;A'代表高层车辆运动状态之间的状态转移矩阵;π'代表初始时刻高层车辆运动状态的初始概率矩阵。
利用Matlab HMM 工具箱,优化后的复杂工况下重型车辆行驶状态MDHMM 参数如下:
如上所述,通过双层HMM 的建模思想,底层HMM 的短时间段重型车辆行驶状态模块和车速分级模块可实时、分线程计算,这种方法实时性好、计算效率较高。本文的双层HMM 建模方法可以将短时间段的车辆行驶状态辨识组合为复杂工况下长时间段的行驶状态辨识。这种方法的显著优点:底层建立的MGHMM 具有模块化和可扩充性,仅需要将新增的MGHMM 辨识结果(一维观察序列)送入高层的HMM 中即可,而不像传统的单层HMM 那样需重新训练MGHMM,这样可以大大减少模型训练的工作量。
2 实验数据处理
2.1 实验工况确定
基于安全考虑,本文利用重型车辆动力学仿真软件Trucksim,选取典型重型车辆行驶工况,采集相应行驶工况实验数据作为本文考察的复杂行驶工况,如图2所示。
图2 重型车辆双移线实验工况Fig.2 Double lane change test of heavy duty vehicle
2.2 实验数据预处理
通过Trucksim 的典型行驶工况获得的所有车载传感器数据构成了HMM 训练的数据库。这些实验数据需按照图3所示的流程进行实验数据的预处理,然后才能用于训练表征重型车辆运动状态的HMM.
首先,考虑到实验数据含有噪声及传统的滤波算法会造成数据的相位延迟和漂移问题,本文选取Savity-Golay 滤波[11]来消除实验数据的噪声,且避免数据的相位延迟和漂移。实验数据进行放大和滤波处理后,把处理后的实验数据按照运动类型分为4 大类:横摆运动数据、侧向运动数据、转向运动数据和速度数据。其次把每个数据类里的数据分割为若干小段,并将其归类,使得每个数据段集合对应一个运动状态集合。然后采用T-G 检验法[12],结合每个数据段集合的某特征参数,对数据段集合里的异常数据进行剔除。最后,应用k-means 算法,对训练数据库里的运动状态界限值进行设定,为判定后续的辨识结果准确性做准备。
2.2.1 异常数据段剔除
所谓异常值指样本中的个别值其数据明显偏离样本的其余值。针对重型车辆行驶状态实验数据来说,重型车辆的某次异常行驶操纵就可能产生异常值。本文建立HMM 模型都是基于车辆行驶状态实验数据训练得到的,所以训练前必须剔除模型训练数据库中的异常值,以免对重型车辆运动状态的辨识结果产生影响。
图3 重型车辆实验数据预处理过程Fig.3 Test data pre-processing of heavy duty vehicle
对于一组观察值x1,x2,…,xn,如果这一组样本中的某个值xm的统计量大于临界值,那么这个值就被认为是异常值,即
式中:Tm为xm的待测统计量;Tp(n)为临界值;tp(n-2)可由分布分位数表查得;n 为可待测的观察值个数;s'和x'分别为不包含在内的其余观察值的样本均值和样本偏差。其中,p 由(10)式得到:
剔除异常值一般取α =0.01,本文选用双侧检验,故p=0.995.
选取特定的重型车辆运动状态的相应特征值,对正常转向和紧急转向来说,选取重型车辆运动状态参数的侧向加速度做特征值,对异常数据段进行剔除;对于重型车辆侧翻状态来说,选取车辆侧倾角做特征值,对异常数据段进行剔除。
以转向运动的实验数据为例,选取40 个紧急转向和正常转向运动的最大侧向加速度,如表1所示,采用T-G 检验法依次逐个剔除40 个数据中的异常数据,为后续训练车辆运动状态的MGHMM 模型做准备。
已知p =0.995,查询国家标准GB4086.3—83的“t 分布分位数表”[13],可计算得到tp(n -2)=2.711 6. 故
以紧急转向异常数据剔除为例,根据(9)式,分别计算各个转向运动传感器数据观察值,相对于各样本的统计量Tm(如图4). 根据Tp(40)的值,当统计量Tm大于临界值Tp(40)时,判定当前数据段异常并剔除。剔除前、后的数据如图5、图6所示。
2.2.2 正常转向、紧急转向和侧翻限值的确定
正常转向模型、紧急转向模型和侧翻模型这些重型车辆运动状态模型的训练是利用上述预处理后的车辆运动状态实验数据来训练的,为了验证辨识结果的正确与否,采用了K-means 算法对重型车辆的正常转向、紧急转向和侧翻的界限值进行确定。
具体K-means 算法[14]的聚类过程如图7所示。首先给定一个包含X 个数据对象的数据库和要生成的类的数目K,随机从X 个对象中选择K 个对象作为初始的聚类中心。然后计算剩余的X-K 对象与这K 个聚类中心的距离,把离聚类中心距离最近的对象分配给这个类,再重新计算得到新的聚类中心。不断重复计算和分配对象直到相邻两次的聚类中心没有变化,聚类中心收敛到固定值,则输出聚类结果,聚类结束。
表1 正常转向最大侧向加速度(最大侧向加速度1)和紧急转向最大侧向加速度(最大侧向加速度2)Tab.1 The maximum lateral accelerations of normal steering(data sequence 1)and emergency steering (data sequence 2) g
3 复杂工况下行驶姿态辨识模型验证
为了验证离线训练双层HMM 参数及在线辨识重型车辆行驶状态的总体方案,搭建Trucksim、Matlab/Simulink 和Matlab/HMM 工具箱联合在线验证模型参数及辨识平台,对本文提出来的重型车辆行驶状态辨识方案进行验证,其在线验证示意图如图8所示。
图4 各个紧急转向最大侧向加速度数据观察值相对于最大侧向加速度样本的统计量Fig.4 The maximum lateral acceleration observation values of emergency steering relative to maximum lateral acceleration sample statistics
图5 异常数据剔除前紧急转向最大侧向加速度数据观察值Fig.5 The maximum lateral acceleration observation values of emergency steering before the deletion of abnormal data
图6 异常数据剔除后紧急转向最大侧向加速度数据观察值Fig.6 The maximum lateral acceleration observation values of emergency steering after the deletion of abnormal data
图7 K-means 算法的聚类过程Fig.7 Clustering process of K-means algorithm
联合在线辨识重型车辆行驶状态方案首先要确定在循环执行的时间步长。对于时间步长的选取有两个要求:一是要满足辨识的实时性,二是要满足辨识的准确性。本文在确定时间步长时进行了大量实验,考虑到辨识实时性和准确性,首先分别选取0.05 s、0.06 s、0.07 s、0.08 s、0.09 s 和0.10 s 不同时间步长进行实验,得到了时间步长与辨识准确率的关系图,如图9所示。最后选取时间步长为0.09 s,既满足了实时性要求,也满足辨识的准确率。
重型车辆主要参数如表2所示。
由于HMM 模型是基于最大期望值的统计学算法,本文通过重型车辆行驶状态在线辨识平台,为建立的重型车辆行驶状态MDHMM 设置了最大似然度门槛值,即只有给定观察序列相对于某个MDHMM 产生的概率超过该MDHMM 的似然度门槛值,这个MDHMM 对应的行驶状态才能判断真实发生。本文利用重型车辆行驶状态在线辨识平台,在线验证了2 000 次紧急转向、正常转向、侧翻及横摆等行驶状态,辨识准确率达到99.7%.
图8 在线验证示意图Fig.8 Schematic diagram of online verification
图9 辨识准确率与循环时间步长的关系Fig.9 The relationship between identification accuracy and cycle time step
表2 重型车辆模型主要参数Tab.2 Main parameters of vehicle model
其中转向运动状态的辨识结果如表3所示,共列出了15 个转向运动的数据段:5 个直线行驶的数据段、5 个正常转向的数据段及5 个紧急转向的数据段。同时,也在表3中列出了上述数据段相对转向运动状态MGHMM 产生的概率(似然度值)并以对数形式给出。由表3可知,观察序列和某MGHMM 的匹配程度越高,这个似然度值(负值)就越大。在表3中将正确的辨识结果用浅蓝色背景标注。
表3 重型车辆行驶状态辨识结果Tab.3 Identification results of heavy duty vehicle status
对复杂工况(双移线工况)下处理后的方向盘传感器数据,其转向运动数据和行驶状态的辨识结果如图10 所示。
应用本文提出的基于双层HMM 模型的重型车辆行驶状态辨识的方法,在线辨识各个复杂工况的传感器数据对应的车辆行驶状态。侧向运动、横摆运动传感器数据和行驶状态在线辨识结果如图11、图12 所示,图中标示出侧向运动、横摆运动数据(侧向加速度、侧倾角和横摆角速度)和在线辨识的结果。
图11 重型车辆侧向运动状态辨识结果Fig.11 Identification results of heavy vehicle lateral motion status
图12 重型车辆横摆运动状态辨识结果Fig.12 Identification results of heavy vehicle yaw motion status
从图10、图11、图12 中可以看出,随着传感器数据的变化,本文提出的在线辨识算法可以实时、准确地辨识出重型车辆各种行驶状态(紧急、正常、直线行驶、侧倾、侧翻、横摆等)。
纵向车速等级在线辨识结果如图13 所示,对于纵向车速为70 km/h 时,其速度等级定义为7,其他纵向车速等级依次类推。
图13 重型车辆车速等级在线辨识结果Fig.13 Identification results of heavy vehicle speed
由上述可知,本文建立的基于分层HMM 的重型车辆行驶状态辨识方法可以有效、准确地完成重型车辆行驶状态辨识任务,同时实时性较好。经过实验验证,该辨识方法的准确率为99.7%.
4 结论
本文提出一种基于双层HMM 的重型车辆行驶状态辨识方法,可动态辨识重型车辆单一或复杂工况下的行驶状态(紧急转向、正常、直线行驶、侧倾、侧翻、横摆等)。实验结果表明,本文提出的重型车辆行驶状态辨识算法可以实现对重型车辆各种行驶状态进行有效的识别,并且可达到较高的准确率,同时实时性较好。
文中没有考虑重型车辆载荷发生变化,比如中途卸货等,没有研究在载荷发生变化的情况下辨识结果是否存在很大差异。在以后的研究中,需要完善辨识方法,实现各种载荷和驾驶工况下准确辨识重型车辆行驶状态的目标。本研究的下一步计划,将尽快将上述离线验证算法应用到HiL 硬件在环实验和实车试验中。
References)
[1]朱天军,宗长富,吴炳胜,等. 基于改进TTR 算法的重型车辆侧翻预警系统[J].机械工程学报,2011,47(10):88 -94.ZHU Tian-jun,ZONG Chang-fu,WU Bing-sheng,et al. Rollover warning system of heavy duty vehicle based on improved TTR algorithm[J]. Journal of Mechanical Engineering,2011,47(10):88 -94.(in Chinese)
[2]Zong C F,Zhu T J,Wang C,et al. Research on multi-objective stability control algorithm of heavy tractor semi-trailer based on differential braking[J]. Chinese Journal of Mechanical Engineering,2012,25(1):88 -97.
[3]Lin C C,Wang M S. Vehicle speeding early warning model using frame feature detection and HMM[C]∥IEEE 15th International Symposium on Consumer Electronics. Singapore:IEEE,2011:241 -244.
[4]Maghsood R,Johannesson P. Detection of the curves based on lateral acceleration using hidden Markov models[J]. Procedia Engineering,2013,66:425 -434.
[5]Gadepally V,Kurt A,Krishnamurthy A. Driver/vehicle state estimation and detection[C]∥14th International IEEE Conference on Intelligent Transportation Systems. Washington DC:IEEE,2011:582 -587.
[6]Pentland A P . Graphical models for driver behavior recognition in a smart car[C]∥Proceedings of the IEEE Intelligent Vehicles Symposium 2000.Dearborn,MI,US:IEEE,2000:7 -12.
[7]宗长富,杨肖,王畅,等. 汽车转向时驾驶员驾驶意图辨识与行为预测[J].吉林大学学报:工学版,2009,39(1):28 -32.ZONG Chang-fu,YANG Xiao,WANG Chang,et al. Driving intentions identification and behaviors prediction in car lane change[J]. Journal of Jilin University :Engineering and Technology Edition,2009,39(1):28 -32.(in Chinese)
[8]吕岸,胡振程,陈慧. 基于高斯混合隐马尔科夫模型的高速公路超车行为辨识与分析[J].汽车工程,2010,32(7):630-634.LYU An,HU Zhen-cheng,CHEN Hui. Recognition and analysis on highway overtaking behavior based on gaussia mixture-hidden Markov model [J]. Journal of Automotive Engineering,2010,32(7):630 -634.(in Chinese)
[9]Rabiner L R. A tutorial on hidden Markov models and selected applications in speech recognition[J]. Proceedings of the IEEE,1989,77(2):257 -286.
[10]Yu S Z,Hisashi K. An efficient forward-backward algorithm for an explicit-duration hidden markove model [J]. IEEE Signal Processing Letters,2003,10(1):11 -14.
[11]蔡天净,唐濠. Savitay-Golay 平滑滤波器的最小二乘拟合原理综述[J].数字通信,2011(1):63 -68.CAI Tian-jing,TANG Hao. The principle of least-squares review of Savitay-Golay smoothing filter [J]. Digital Telecommunications,2011(1):63 -68.(in Chinese)
[12]肖树臣,秦玉勋,韩吉庆. 基于格拉布斯法的试验数据分析方法[J].弹前与制导学报,2007,27(1):275 -277.XIAO Shu-chen,QING Yu-xun,HAN Ji-qing. A test analysis method based on Grubbs in experiments[J]. Journal of Projectiles,Rockets,Missiles and Guidance,2007,27(1):275 -277.(in Chinese)
[13]全国文献工作标准化技术委员会.GB4883—85 数据的统计处理和解释正态样本异常值的判定和处理[S]. 北京:中国标准出版社,1985.Technical Committee of National Literature Work Standardization.GB4883—85 The statistical processing and interpretation of data processing and decision of the abnormal value of normal sample[S]. Beijing:China Standard Press,1985.(in Chinese)
[14]Agha M E L. Efficient and fast initialization algorithm for Kmeans clustering[J]. International Journal Intelligent Systems and Applications,2012(1):21 -31.