基于稳态卡尔曼滤波的车辆质量与道路坡度估计∗

2018-10-13 02:19郝胜强罗培培席军强
汽车工程 2018年9期
关键词:坡道协方差卡尔曼滤波

郝胜强,罗培培,席军强

(北京理工大学机械与车辆学院,北京 100081)

前言

车辆在坡道上行驶时,由于实时动力不足,导致车辆熄火、频繁换挡或下坡时车辆速度剧增导致挡位不得不不断升高等问题,对制动要求较高,且未能利用发动机的制动作用对速度进行控制。车辆质量和道路坡度是换挡控制系统进行挡位决策的关键参量,对其进行精确辨识可提高自动变速器换挡控制品质。

目前,获得道路坡度角和车辆质量的研究方法主要有基于传感器和车辆纵向动力学两种。基于传感器的识别法是通过在车辆上加装传感器,例如利用倾角位移传感器[1]、惯性导航仪[2]和GPS[3-4]等直接测出坡度角,再进一步计算车辆质量。在常规车辆行驶过程中,受车身纵向加速度、悬架变形和路面颠簸的影响,使用角位移传感器不能得到路面坡度的准确值[5-6]。使用惯性导航仪测量坡道角度,滞后较为严重,且成本高,不利于实车普遍使用。GPS频率低,且存在定位误差,在特殊区域连续定位时,存在不能接收信号或信号偏差较大的问题,小的速度误差导致大的坡度估计误差。

基于车辆纵向动力学或运动学的识别方法是利用车辆的纵向动力学模型加上从汽车CAN总线上获取的数据来估算未知的系统参数[7-10]。虽然这方面的方法有很多,但一个共同的难题在于车辆自身参数(质量等)和外部阻力(坡度)变化的解耦,此外,道路的时变性也增加了估算过程的复杂性。

本文中采用加速度传感器采集信号,基于车辆纵向动力学和运动学模型,对数据进行拟合处理来得到质量和坡道角度。前人提出了基于递归最小二乘法[11]、基于双遗忘因子最小二乘法[12-13]和标准卡尔曼滤波[14]等方法来拟合数据,但运算量较大,且坡度识别的误差较大,实车跟随性并不理想。本文中利用稳态卡尔曼滤波方法,对质量和坡道角度进行估算,大幅减少了单片机的计算量,同时可保证数据估算的准确度,通过Carsim/Simulink联合仿真和实车实验,与惯性导航仪的测量结果进行对比,验证估算结果的实时性和准确性。

1 利用卡尔曼滤波估算坡道角度

1.1 车辆动力学模型分析

将整车看作一个刚体,由牛顿第二定律可得车辆的纵向动力学模型,如图1所示。则汽车的纵向动力学方程为

图1 车辆纵向动力学模型

式中:M为整车质量;v为车辆行驶速度;MT,D为动态工况下车辆的转矩;rg为车轮半径除以总传动比;Ffb为车轮制动时产生的摩擦力;Fareo为空气阻力;Fgrade为由于道路坡度和道路滚动阻力μ所引起的道路阻力,Fgrade=Mg(μcosα+sinα)。

进一步整理得

1.2 基于加速度传感器的纵向动力学质量估算

图2为假设车辆处于上坡时加速度传感器的测量原理示意图。测量的敏感轴为X轴(沿汽车行驶方向)和Z轴(垂直于行驶路面)。在上坡时,加速度传感器沿坡道方向测得的分量是车辆运动加速度a与重力加速度常量沿坡道分量的和,沿垂直于坡道方向上测得的是重力加速度垂直于坡道的分量。则式(2)可以变形为

图2 加速度传感器测量原理图

结合加速度传感器的信号输入可得

式(4)中除去待估参数质量M与坡度α以外,转矩MT,D在实际的计算中通常是由发动机与变速器匹配以后的共同输出特性曲线上查表获得;制动摩擦力Ffb可由车辆CAN总线直接获得;考虑到重型车辆的正常行驶车速较低,空气阻力Fareo可以忽略不计;将道路附着系数μ视为常数,则在车辆正常行驶、没有制动力矩存在的情况下,由式(4)可得车辆的质量为

1.3 基于稳态卡尔曼滤波的坡度识别

1.3.1 卡尔曼滤波原理

本文中拟用离散卡尔曼滤波器对时变的坡度角做出准确估算。它提供了一种高效可计算的方法来估计过程的状态,并使估计均方误差最小。卡尔曼滤波器用反馈控制的方法估计过程状态:滤波算法估计过程中某一时刻的状态,然后以(含噪声的)测量变量的方式获得反馈。因此卡尔曼滤波可以分为时间更新方程和测量更新方程两部分。时间更新方程利用上一状态来预测下一状态的预估值和估计误差协方差矩阵;测量更新方程利用当前观测值来修正预测值。如此反复,每一次都只用到前一次的状态而不需要之前所有的状态。图3为滤波算法的操作流程。

图3 卡尔曼滤波算法原理图

一般地说,在过程激励噪声协方差矩阵Q和观测噪声协方差矩阵R都恒定的条件下,估计误差的协方差Pk与卡尔曼增益Kk会快速稳定并保持不变。因此可先计算这些参数,或用仿真运行一遍滤波器,先确定Pk与Kk的稳态值,即所谓的“稳态卡尔曼滤波”,它可大幅减少单片机的计算量同时保证数据估算的准确度。由于稳态卡尔曼滤波的Pk与Kk是常值,可以直接以常数的形式写入下位机,整个卡尔曼滤波算法被大大简化了。

1.3.2 基于稳态卡尔曼滤波的坡道角度识别方法

车辆质量估算后,即可作为已知量代入坡度的计算中。上一节已建立了基于车辆纵向动力学方程的模型,由于车辆行驶的速度不会发生突变,在经过Δt时间后,车辆的速度为

该式将车辆第(k-1)时刻的状态更新到第(k)时刻,因此也称为系统的转移方程。将转移方程写为离散卡尔曼滤波器形式,此时液力变矩器涡轮轴输入转矩看作系统输入变量,车速和坡度角的正弦值作为系统的状态量,一般车速均可由输出轴转速计算得到,因此选择车速作为观测量。变速器的输入转矩与车速信号融合后可实现对坡度的实时在线跟踪。

将车速信号与传感器信号作为系统观测量。同时通过状态转移方程计算坡度角。定义系统的状态变量为

由加速度传感器的测量原理可知:

式中a为车辆运动加速度。同样,认为车辆的速度、加速度和坡道角度都是不会发生突变的连续量。在Δt时间内,系统的状态方程可以写为

将式(9)写为矩阵形式的状态方程:

式中w为系统的观测噪声,假设为一个常值。

同样,系统的车速可由输出轴转速计算得到,因此系统的观测方程为

可以写出该系统的过程矩阵A、控制矩阵B和观测矩阵C。只要给定了该系统状态变量的初始值(即初始车速和初始的坡度值),然后确定实际系统中过程激励噪声协方差矩阵Q和观测噪声协方差矩阵R,则卡尔曼滤波算法便会依照图3和图4所示进行不断的迭代更新,最终实现实时坡道的估算。

图4 稳态卡尔曼滤波更新原理图

2 基于稳态卡尔曼滤波的Carsim/Simulink联合仿真验证

2.1 基于Carsim/Simulink的模型搭建

Carsim主要用于设置试验所用车辆的参数、行驶的坡道参数和试验过程;Matlab/Simulink用于算法的实现。二者之间通过软件接口实现数据的传输。

在Carsim中设置车辆状态参数和路面信息。状态参数包括车辆类型、驱动类型、发动机功率、变速器类型、差速器传动比和换挡控制等,路面信息包括路面中心线几何形状和路面坡度等。定义了Carsim的参数、输出接口和输出路径后,整个Carsim仿真模块就可以S-函数的形式嵌入到Matlab/Simulink中。由于不涉及对车辆的反馈控制,故在设置Carsim的输入输出接口时只定义了输出物理变量。如图5所示,将这些变量通过Carsim S-函数的形式嵌入到了Matlab/Simulink中。

图5 Carsim在Matlab/Simulink中的输出变量

图中:vehicle是车速;output shaft speed是输出轴转速;senser accx是传感器测量纵向加速度;Pitch是俯仰角度;senser accy是传感器测得的横向加速度;transmission input torque是变速器输入轴转矩;accx是车辆纵向加速度;accy是车辆横向加速度。

对车辆质量估算的Simulink模型如图6所示。模型的输入参数有变速器的输入转矩、车辆沿行驶方向与沿垂直于行驶方向的加速度、制动力矩和空气阻力。将对质量的估算可限制在车辆的低速过程,在满足速度要求的条件下才会进行估算。忽略空气阻力和制动力,则模型的输入量只有变速器输入力矩和加速度传感器的输入值。用速度作为限制条件来触发质量估算开启与停止的时刻。

图6 车辆质量估算模型

行驶道路坡度角的估算模型如图7所示。模型的观测量Z是车辆车速与传感器沿行驶方向测得的加速度组成的向量。根据图3可知算法须在每个计算周期不断进行估计状态与估算误差协方差的更新迭代。将估计的状态向量输出到观测器,即为算法估算的状态量——车辆速度、车辆纵向加速度和行驶坡度。同时还须将上一时刻的状态与误差协方差矩阵再次输入模型,用以状态的继续向前推进。

图7 坡度实时估算模型

2.2 联合仿真验证

设置了Carsim中的参数后,通过Carsim与Matlab/Simulink的联合仿真来验证、比较算法。Carsim仿真中采用的计算步长为1ms,Matlab/Simulink中算法的计算步长为10ms。同时为验证算法的正确性,还从Carsim中引出了坡度传感器测得的车身俯仰角作为参考量。

将稳态卡尔曼滤波算法以嵌入式函数的形式写入Matlab/Simulink,并把它与标准卡尔曼滤波的估算结果做对比来检测它的有效性。图8和图9分别为利用联合仿真平台仿真得到的两种算法分别在常值坡道和正弦坡道上的估算结果。可以看出,稳态卡尔曼滤波与标准卡尔曼滤波的估算结果几乎完全一样,因此,本文中将标准卡尔曼滤波简化为稳态卡尔曼滤波是可行的。

图8 常值坡道坡度估算对比结果

图9 正弦坡道坡度估算对比结果

需要特别注意的是,对于卡尔曼滤波器的两个参数Q与R的设置,本文中是从信号噪声协方差的角度进行分析最终得出规律。本文中设置的算法只在车辆在挡时运行,当车辆处于换挡过程中时算法直接返回估算上一时刻的值。车辆行驶的路面状况对算法影响最大的是加速度传感器输出信号的噪声,而这一点会直接影响到观测噪声协方差矩阵,由于最终的算法是以常值带入进行的计算,故无法针对路面情况的改变对这些常值实时做出改变。但该问题可以通过离线标定的方法来解决,先通过测得的实车数据确定信号的噪声,再对Q与R进行离线计算,最后嵌入下位机。

为更好地对比验证基于稳态卡尔曼滤波得到坡道角度的快速性和准确性,本文中在基于查阅论文的基础上,搭建了利用递归最小二乘法估计坡道角度的模型。由于该方法已经成熟,在这里不再赘述,只是将其结果用于对比分析。

图10为对正弦坡道的仿真结果。卡尔曼滤波与坡度传感器测得的道路坡度相一致,最小二乘法在12s以后与参考值出现0.8°的偏差。值得注意的是,基于运动学的卡尔曼滤波虽然与参考值保持一致,但估算结果与仿真设置的实际道路有1°的偏差,这在实际道路的识别中是可接受的。

图10 坡道仿真估算结果

3 实车验证及结果分析

本文中选用SCA1020两轴式加速度传感器进行加速度信号的采集。传感器的测量原理如图11所示,其参数见表1。加速度传感器外部存在加速度时,传感器内的惯性质量块将产生惯性力。惯性质量块的位移与外界加速度具有一一对应的关系。在坡道时,加速度传感器沿坡道的分量测得的是车辆运动加速度a与重力加速度常量沿坡道分量之和,即

图11 加速度传感器原理示意图

实车试验时,选用比亚迪速锐作为试验车辆,对算法进行验证。如图12所示,将安装有加速度传感器的变速器ECU放在车辆质心位置,通过CAN通信来获取所需要的车辆变速器输出轴转速、挡位和在挡/换挡等信息。本试验还采用了高精度光纤捷联惯导系统来采集数据,以验证测试结果的准确性。

表1 SCA1020主要技术参数

图12 惯导与ECU试验环境

图13 和图14分别为选取两次上坡试验所采集的到的数据,图中已去除了二者的静态误差。从两图中可以看出,测试ECU估算出来的坡度与惯导相比时间上的滞后很小。由图可知,估算的误差基本保持在1°以内。需要特别说明的是,由于估算值相对于惯导的数据略有滞后,故比较得到的误差值会偏大,实际卡尔曼滤波的估算误差会小于直接计算得到的值。

图13 上坡试验采集数据

图14 坡道试验采集数据

4 结论

本文中基于加速度传感器的纵向动力学分析对质量进行估算,使用稳态卡尔曼滤波对车辆行驶道路的坡度角进行估算,利用Carsim/Simulink联合搭建的仿真平台验证了该算法。随后基于运动学原理,将经简化的卡尔曼滤波算法与车辆上加装两轴加速度传感器相结合,实现了用下位机对车辆行驶的实时坡道角度的估算。最后实车试验对比了卡尔曼估算结果与车辆惯导的坡度值,估算结果延时约为500~600ms,动态试验的精确度在1°以内,可满足工程使用要求。

猜你喜欢
坡道协方差卡尔曼滤波
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
AMT坡道起步辅助控制策略
夏天的样子
车辆运输船坡道行车仿真方法
脉冲星方位误差估计的两步卡尔曼滤波算法
矩阵分块方法在协方差矩阵中的应用
一种改进的网格剖分协方差交集融合算法∗
卡尔曼滤波在雷达目标跟踪中的应用
卡尔曼滤波在雷达目标跟踪中的应用
火星车转移坡道柔顺性优化设计及动力学分析