易 鑫,陈 勇,3
(1.北京信息科技大学 机电工程学院, 北京 100192;2.新能源汽车北京实验室, 北京 100192; 3.北京电动车辆协同创新中心, 北京 100192)
汽车的主动安全技术一直是被关注的重点,主动安全可帮助提升车辆的操纵性和稳定性,从而降低事故的发生概率。主动安全技术的关键之一是准确获取车辆实时状态,主要有车辆的横摆角速度、纵向速度、侧向速度和质心侧偏角等。车辆状态参数的获取主要有两条路线,其一是基于传感器进行测量,但由于传感器成本过高,目前更多的采用算法进行估计。车辆状态估计的算法中,研究较多的有神经网络法、状态观测器法、粒子滤波法、模糊逻辑估计法以及卡尔曼滤波法等。由于神经网络法需要提供大量的样本,模糊逻辑估计法的加权系数难以确定,更多的是采用卡尔曼滤波算法估计,其优点在于具备递推迭代的方式,改进的EKF还可对非线性模型进行较为准确的估计。Boada等[1]提出了一种将卡尔曼滤波叠加运用的估计方法,以此达到对车辆状态和参数的估计。Salahshoor等[2]提出一种自适应EKF算法,运用新息和残差理论实时更新协方差矩阵R和Q,提高了滤波的精度和稳定性。田彦涛等[3]提出将平方根思想运用到无迹卡尔曼滤波中,达到估计汽车各个状态量的目标,并利用其估计到的侧偏角使用二乘法估计侧偏刚度信息。宋义彤等[4]采用无迹卡尔曼滤波算法设计一种车辆状态和参数的联合观测器,其能够同时辨识和估计车辆的状态和参数。时艳茹[5]基于达戈夫轮胎模型建立车辆非线性动力学模型,包含7个自由度,再通过UKF滤波估计的方法,结合路面附着系数,以得到关于车辆的侧向和纵向速度等信息。张家旭等[6]采用卡尔曼滤波器估计车速的同时,运用交互式多模型算法平滑融合滤波器的输出,以此得到对系统噪声统计特性具有自适应能力的滤波器。周兵等[7]使用扩展卡尔曼滤波对轮速估计的车速和无迹卡尔曼滤波算法估计得到的车速进行两者的融合,实现车辆状态参数的估计。李刚等[8]提出将Sage-Husa理论融入到EKF算法中,对车辆的状态参数进行估计,以车轮的轮速信息作输入,输出信号为车辆的质心侧偏角、横摆角等车辆状态信息;王震坡等[9]为了提高状态估计算法的抗干扰性,将模糊控制引入与UKF算法中,达到对测量噪声在线调整的目的。上述算法中,滤波的参数虽然随着过程噪声和观测噪声进行调整,但更多地是依靠人工经验进行参数设定,具有一定的局限性。
本文提出一种使用遗传算法与扩展卡尔曼滤波相结合的自适应滤波方法。该算法以前轮转角和油门/刹车制动踏板开度作为输入信号,实现对运动状态下车辆的横摆角、质心侧偏角以及纵向速度的有效评估,最后在Matlab/Simulink与CarSim中建立车辆模型并进行仿真,验证了算法的准确有效性。
为了达到准确并且实时地对车辆状态参数进行估计的目标,有必要搭建合适的动力学模型。在选择车辆模型上,考虑以2自由度车辆模型为基础[10],建立一个包含横摆和纵(横)向运动的车辆非线性3自由度模型,如图1所示。
图1 车辆3自由度动力学模型示意图
其受力模型如下。
横摆力矩为:
(Fy11-Fy12)sinδ)+
a(Fx11+Fx12)sinδ+
a(Fy11+Fy12)cosδ-
b(Fy21+Fy22)
(1)
横向受力为:
∑FY=(Fy11+Fy12)cosδ+Fy21+
Fy22+(Fx11+Fx12)sinδ
(2)
纵向受力为:
∑FX=(Fx11+Fx12)cosδ-(Fy11+Fy12)sinδ+
(Fx21+Fx22)
(3)
式中:MZ为车辆绕质心的力矩;FX和FY分别为纵向力和侧向力;δ为前轮转角;a(b)为质心至前(后)轴的距离;tf和tr分别为车辆前后轮轮距。
可得,车辆包含3自由度的微分方程为:
(4)
(5)
式中:m为整车的整备质量;ωr为横摆角速度;β为质心侧偏角;k1、k2分别为前后轮总侧偏刚度;vx为纵向速度、vy为侧向速度;ax/ay为车辆纵向/侧向加速度;Iz为绕z轴的转动惯量。
在汽车动力学控制中,轮胎的作用力(侧向力、纵向力、回正力矩)主要与载荷、胎压、路面附着系数等因素有关。轮胎是车辆的重要组成,与地面进行直接接触,其与地面的作用力对汽车的制动性能和操稳性等产生影响,因此,要想对汽车动力性能进行仿真,首要保障车辆轮胎模型的精确性。这其中,作为半经验模型,Magic-Formula轮胎模型精度高,且当轮胎处于非线性状态时,能够较为精确地拟合轮胎的非线性特性[11]。故选用Magic-Formula模型表达轮胎的动力学等特性,其表达式如下:
y=Dsin{Carctan[Bx-E(Bx-arctan(Bx))]}
(6)
Y=y+Sv
(7)
x=X+Sh
(8)
式中:Y为轮胎纵(侧)向力、也可代表轮胎作用于Z轴的力矩;X根据Y而定,代表轮胎纵向滑移率或侧偏角;D为峰值因子;C为形状因子;B为刚度因子;Sv为垂直偏移量;Sh为水平偏移量。
在进行车辆的状态预测时,需要计算轮胎受到的横纵向力,轮胎的纵向力Fx0为:
(9)
式中,x=λ为滑移率;
轮胎的侧向力Fy0为:
(10)
式中:x=α为侧偏角;a0~a8;b0~b8为拟合系数,可通过使用CarSim软件中提供的魔术轮胎模型提供。
对于车辆系统而言,是复杂的且非线性的。而卡尔曼滤波主要用于线性的表达形式,难以作用于非线性的系统,无迹卡尔曼滤波需要保证滤波过程矩阵半正定的性质,滤波过程极易发生崩溃,稳定性较差。故采用扩展卡尔曼滤波解决车辆非线性的状态测量,保证其具有良好的稳定性。
将车辆3自由度微分方程整理为如下形式:
(11)
式中:x(t)代表状态方程,x(t)=(ωr,β,vx)T;y(t)代表观测方程,观测向量y(t)=(ay);系统输入向量u(t)=(δ,ax)。w(t)为系统固有的噪声,其方差为Q,而v(t)为方差为R的观测噪声。
EKF滤波是一个递推迭代的过程,所针对的时间序列是离散化的,故对汽车3自由度方程进行离散化处理,通过前向欧拉法得到如下离散化后的状态方程:
(12)
式中,F(k)和H(k)分别为线性化处理后的对状态向量x(k)的偏导,
(13)
(14)
对线性化后的状态方程和观测方程赋初值并进行扩展卡尔曼滤波的递推估计,令模型输入为u(k),EKF算法递推过程如下[12]:
预测步:
(15)
(16)
更新步:
(17)
(18)
(19)
在汽车运行时,系统噪声和观测噪声的方差实际上是处于变化的过程,故系统的噪声协方差矩阵Q和测量噪声协方差矩阵R是实时变化的,传统的EKF算法将其假设为定值,这会影响滤波精度。因此,需根据环境和系统运动对过程噪声协方差阵和测量噪声协方差阵进行自适应调节[13]。
在对卡尔曼滤波中的协方差矩阵Q和R进行在线调整时,由于同时调整Q与R值极易滤波过程发散[14],故仅对观测矩阵R进行动态调整。周卫琪等[15]将UKF与遗传算法相融合,对噪声进行自适应寻优,提高了状态估计的精度;但是UKF滤波要求矩阵为半正定,计算过程极易崩溃,很不稳定,杨易等[16]利用遗传算法优化模糊卡尔曼控制器中的隶属函数,提高了滤波器的抗干扰性,进而保证了全局估计的准确性;Liu等[17]提出了一种包含无迹卡尔曼滤波(UKF)和遗传粒子群算法(遗传粒子群UKF)的混合算法来估计车辆的关键状态,具有更高的精度和更少的计算量。
生物的演变过程实质是基因进行重新组合,包括交叉和变异等。遗传算法通过采用数学的方式对自然界的进化进行模拟[18],并将自然界的“优胜劣汰”的现象用数学概率表达,以此解决函数中最优解问题[19]。
(20)
式中,λ为适应度系数。
新息序列[20]的定义为:
(21)
将式(12)中的Z(k)代入式(21)可得新息序列的理论协方差:
E[η(k)η(k)T)]theo=H(k)Pk/k-1H(k)T+R(k)
(22)
新息序列的真实协方差为:
(23)
则新息在k时刻的方差的偏差,即实际方差-理论方差得到ek为:
ek=E[η(k)μ(k)T]real-E[η(k)μ(k)T]theo
(24)
建立的遗传算法以自适应系数λ作为寻优的参数。以新息的实际方差和理论方差的差值ek的平方作为适应度函数,以其值最小为目标进行优化。系数λ的取值范围由观测噪声R的波动程度确定,噪声波动得越剧烈,其取值范围越广。本次实验选取λ的取值范围为[0,10],并采用较为广泛的二进制编码,求解精度精确到0.01,则由式(25)可确定二进制的位数为n=10。种群的大小一般取20~100个。本次实验令种群大小为50。再采用基于轮盘赌的选择法,交叉和变异的概率分别为0.6和0.001[21]。
(25)
加入遗传算法后的EKF状态估计算法流程框图见图2。
图2 GA-EKF算法流程框图
采用Carsim与Simulink联合仿真,对车辆横摆角速度、质心侧偏角以及车速进行仿真,从而对所提出的状态估计算法的有效性和准确性进行验证,并与传统的滤波算法相比较。仿真过程的车辆的基本参数详见表1。
表1 车辆基本参数
选择双移线工况作为仿真工况,初始速度v0=90 km/h,并设定路面附着系数μ值为80%,采样周期T为0.001 s。
Carsim与Matlab/Simulink仿真设计过程如图3所示。
图3 CarSim与Matlab/Simulink联合仿真设计过程框图
结合汽车3自由度状态方程,状态变量:x(t)=[ωr,β,vx]T的初值设置为[0,0,25]T。系统的输入量u(t)=[δ,ax]T,其对应的信号输入为如图4所示的形状。将系统的噪声的初始协方差定为Q0=I3×3。观测向量为y(t)=ay,其观测噪声为如图5所示的时变高斯白噪声,设定观测噪声的初始值R0=1 000,同时协方差矩阵设置为P0=I3×3*1。
图4 输入信号曲线
图5 含时变噪声的观测信号曲线
仿真时间设定为10 s,仿真结果如图6—8所示,其中,Carsim表示实际值,EKF表示使用扩展卡尔曼滤波算法得到的值,GA-EKF表示使用遗传算法改进的自适应扩展卡尔曼滤波算法得到的值。由图中可以看出,2种估计算法所取得的估计结果都相对较为满意,但是当观测噪声变化时,EKF算法的估计误差随之波动,其结果为增大的趋势,而GA-EKF算法仍然能够较好地跟踪。这是因为GA-EKF利用新息序列对观测噪声的特性进行了在线评估,动态地追踪观测噪声的特性,从而减轻其对车辆系统的状态估计带来的不利影响。因此,GA-EKF算法在保证良好的鲁棒性的前提下,较为准确地估计车辆状态。
图6 横摆角速度仿真曲线
图7 质心侧偏角仿真曲线
图8 纵向速度仿真曲线
为了进一步比较GA-EKF和EKF两种车辆状态估计方法的精度,对仿真结果进行了定量计算,得出如表2所示的平均绝对误差指标和表3所示的均方根误差指标。
表2 2种算法MAE指标
表3 2种算法的RMSE指标
从表2和表3可以看出,在对上述3个状态量的估计中,GA-EKF算法得到的指标中,MAE和RSME相对于EKF算法都有不同程度地降低,表明了所提算法的有效性。
本文提出基于车辆3自由度模型的GA-EKF状态估计算法,将遗传算法与自适应EKF相结合,在CarSim与Matlab/Simulink软件下进行联合仿真,通过对观测噪声估计值的动态调整,完成了对横摆角速度、质心侧偏角、纵向速度的有效评估。
GA-EKF算法中,通过遗传算法有效寻找最优解,达到动态修正观测噪声协方差矩阵R的效果,从而降低噪声所引起的系统误差。仿真结果表明:GA-EKF算法能更稳定、准确估计车辆行驶过程的各参数,具有更高的精度和抗干扰性。