基于卡尔曼滤波算法对四轮前驱轿车行使状态估计

2019-07-10 02:04康桂彬
科技视界 2019年14期
关键词:卡尔曼滤波

康桂彬

【摘 要】针对车辆的行驶状态的估计的研究,对汽车的行驶状态的研究更有利于车辆的稳定性,主动安全和节能等方面的提高[2]。从经济性和工程实用性考虑,此次设计将利用现有的量产车载传感器所能测出的状态信号,通过车辆状态技术准确估计得到测量精度不高或难以低成本测量的状态信号[6]。搭建基于Adams/MATLAB的软件实时仿真,对卡尔曼算法本身控制参数以及车辆结构参数进行并行估计,完成对车辆行驶状态的估计。

【关键词】车辆行驶状态;卡尔曼滤波;联合仿真

中图分类号: U463.6 文献标识码: A 文章编号: 2095-2457(2019)14-0038-002

DOI:10.19694/j.cnki.issn2095-2457.2019.14.017

【Abstract】For the study of vehicle driving state estimation, the study of vehicle driving state is more conducive to improving vehicle stability,active safety and energy saving.Considering the economy and engineering practicability,this design will use the state signals that can be measured by the existing mass-produced on-board sensors to accurately estimate the state signals which are difficult to measure with low accuracy or low cost through the vehicle state technology.A real-time simulation software based on Adams/MATLAB is built to estimate the control parameters and vehicle structure parameters of the Kalman algorithm in parallel,and to complete the estimation of vehicle driving state.

【Key words】Vehicle driving state;Kalman filter;Joint simulation

1 本文主要研究內容

利用Adams和MATLAB建立模型联合仿真,实现基于卡尔曼滤波算法对四轮前驱轿车的行驶状态进行估计。

设计基于非线性车辆动力学模型的卡尔曼滤波状态估计算法,对卡尔曼算法本身控制参数(系统噪声协方差和量测噪声协方差)以及车辆结构参数(速度,加速度等状态变量)进行并行估计,实现估计算法自适应。搭建基于Adams/MATLAB的软件实时仿真,完成对车辆行驶状态的估计以用于提高车辆的稳定性,主动安全和节能等方面的性能。

2 Adams/view模型的建立和导出

利用Adams/view建立整车动力学模型:随机干扰路面,基于魔术公式的轮胎模型,建立车辆轮路耦合子模型;前后麦佛逊悬架,转向器总成,动力总成,四轮盘式制动器,车架及车身等。建立相关状态变量,在实现整车模型静平衡的基础上并运行仿真,观测各状态变量的实时数据,最后导出机械控制系统。

导出机械系统控制模型至MATLAB。再在MATLAB/simulink中以该模型为原型建立基于卡尔曼滤波的新模型。

3 利用卡尔曼滤波算法进行分析

卡尔曼滤波原理:

系统状态方程

这个状态方程是根据上一时刻的状态和控制变量来推测此刻的状态,wk-1是服从高斯分布的噪声,是预测过程的噪声,它对应了xk中每个分量的噪声,是期望为0,协方差为Q的高斯白噪声wk-1~N(0,Q),Q即下文的过程激励噪声Q。

观测方程:

zk=Hxk+vk

vK是观测的噪声,服从高斯分布,vK~N(0,R),R即下文的测量噪声R。

卡尔曼滤波时间更新方程:

结合行文思路,在MATLAB中建立分析系统仿真模型组成联合仿真模型。以垂向速度这一变量为例,其结果效果如下:

function testzs

clc

clear;

% 载入计算结果文件

load('zs.txt');

ts=ADAMS_tout;

% 分别对输出的数据进行卡尔曼滤波

for i=1:2

y1=ADAMS_yout(:,i);

y1_ = kalman_filter(y1,1e-6,4e-4,0,1)

;

figure;

box on;

plot(ts,y1,'-k',ts,y1_,'r');

legend('old-data','kalman-data')

end

%

function X = kalman_filter(data,Q,R,x0,P0)

% Q方差

% R噪声方差

% x0初始值

% P0初始值

N = length(data);

K = zeros(N,1);

X = zeros(N,1);

P = zeros(N,1);

X(1) = x0;

P(1) = P0;

for i = 2:N

K(i) = P(i-1) / (P(i-1) + R);

X(i) = X(i-1) + K(i) * (data(i) - X(i-1));

P(i) = P(i-1) - K(i) * P(i-1) + Q;

end

在随机线性系统中,在高斯白噪声作用下被估计的状态量在卡尔曼滤波算法中被看作是隨机线性系统的输出量,状态空间模型基于时间域,所以卡尔曼滤波算法对平稳随机过程滤波和非平稳随机过程滤波均能适用。

文献[8]中指出卡尔曼滤波算法具有以下特点:

卡尔曼滤波算法的量测更新过程需要求得卡尔曼滤波增益,但该增益矩阵和观测过程无关,可以预先在计算机上进行离线计算,这样可以减少卡尔曼滤波算法的实时计算量,提高实时性。

由于卡尔曼滤波算法的基本方程是时间域内的递推形式,其计算过程是一个不断地预测-修正的过程,在一个滤波周期内只需要知道上一时刻的历史数据,在算法整个的求解过程中无须存储大量的历史数据,对硬件内存的需求较小,在计算机或嵌入式实现该算法更简便,非常适合实时处理。

对于卡尔曼滤波估计结果可以采用以下两个判据来进行评价:期望状态估计均值是否和状态实际均值相等,我们希望不出现状态估计偏差,实现无偏估计;期望状态估计均值是否等于实际状态均值,使期望状态估计值与实际值之间的偏差尽可能地小,也就是减小误差的方差值。

在应用经典卡尔曼滤波的时候需要给定初值,并假设系统为时不变系统,状态空间模型能够可观和可控,状态方程中的状态转移阵和控制量阵已经观测方程中的观测阵为固定值。此外,初始值的选取会影响滤波估计的效果,但其只对初始阶段的滤波估计效果产生影响,当滤波时间充分长的时候,随着时间的推移滤波估计的精度将越来越高并逐渐收敛于实际值,所以初始值的选取与最终的滤波估计效果无关。

如图(1)可见,再经过卡尔曼滤波算法的处理后,数据图像会更加接近真实值,这说明卡尔曼滤波对车辆行驶状态的估计是可行的。更有益于其他有关车辆的仿真研究;为学者研究车辆的自动驾驶及车辆的主动安全的研究提供的可行的方案。

根据上一时刻的状态估计值和噪声协方差阵得到当前时刻的状态一步预测值和误差协方差一步预测阵,根据系统特性相关的状态一步转移矩阵、过程噪声方差阵和观测噪声方差阵等信息确定的误差协方差阵用来定量描述预测质量。量测更新过程为了充分利用观测值,根据判断时间更新质量的误差协防差、观测噪声方差阵和观测转移阵确定滤波增益,用来计算对时间更新过程中的状态修正量以及对误差协方差进行校正。

4 总结

通过对简单易测低成本传感器信号的信息融合实现四轮前驱轿车在行驶过程中的纵向速度,纵向加速度,横向速度,横向加速度,垂向运动的估计,运用Adams和MATLAB进行联合仿真试验,卡尔曼滤波算法在估计精度,实时性和稳定性方面具有良好的表现。

本文的创新点是:根据四轮前驱轿车的动力学参数以及道路线形参数,利用Adams提供的魔术轮胎模型和随机干扰路面,分别创建两组轮胎的轮胎属性文件和模拟行驶的路面属性文件,进而创建车辆轮路耦合子系统模型。让仿真更贴近真实值。

要进一步对车辆行驶状态的分析,有必要从以下几个方面完善对单轨车辆系统的研究:

1)开展车辆轮胎磨损的机理与控制相关理论的方法研究。

2)对车辆行驶状态的多重状态变量的综合分析,以很好的估计车辆行驶状态的真实情况。

3)结合状态分析在主动安全系统,无人自动驾驶等方面的研究还有很多需要深入研究的地方。

【参考文献】

[1]李增刚.ADAMS入门详细与实例[M].北京:国防工业出版社.

[2]周红妮,袁浩文.基于Matlab/Simulink与Adams/Car的车辆稳定性控制系统联合仿真[J].湖北汽车工业学院学报,2012,26(04):20-23.

[3]龚文斌,刘会杰,余金培.基于自适应扩展卡尔曼滤波的载波跟踪算法[J].航空学报2012,33(07):1319-1328.

[4]耿国庆,韦斌源,江浩斌,华一丁,吴镇.基于NA-EKF的分布式驱动电动汽车行驶状态估计研究[J].汽车工程,2018,40(07):770-776.

[5]李刚,李宁,段敏,李贵远,申彩英.基于Simulink的四轮轮毂电机电动汽车仿真模型开发[J].辽宁工业大学学报(自然科学版),2012,32(03):185-189.

[6]李刚,王野,宗长富.四轮轮毂电机电动汽车行驶状态估计[J].汽车工程,2018,40(02):150-155.

[7]黄小平,王岩.卡尔曼滤波原理及应用——MATLAB仿真[M].北京:中国工信出版社.

[8]金学波.Kalman滤波器理论与应用--基于MATLAB实现[M].科学出版社.

[9]薛定宇.基于MATLAB/SIMULINK的系统仿真技术与应用(第2版)[M].2011.清华大学出版社.

猜你喜欢
卡尔曼滤波
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
改进的扩展卡尔曼滤波算法研究
基于无迹卡尔曼滤波的行波波头辨识
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于有色噪声的改进卡尔曼滤波方法
应用RB无迹卡尔曼滤波组合导航提高GPS重获信号后的导航精度
基于模糊卡尔曼滤波算法的动力电池SOC估计
融合卡尔曼滤波的VFH避障算法
基于扩展卡尔曼滤波的PMSM无位置传感器控制
基于EMD和卡尔曼滤波的振荡信号检测