👨💻 ___March___:个人空间
🚓个人专栏:《车辆算法研究》
文章目录
一、前言
卡尔曼滤波(Kalman Filtering)是以控制领域大神R. E. Kalman命名的一种滤波技术,还可以称之为状态估计(State Estimation)方法。若不以R. E. Kalman来进行命名,这个方法还可以叫做Linear Least-Mean-Squares Estimator(线性最小均方差估计)或者Linear Quadratic Estimator(线性二次型估计)。
卡尔曼滤波使用对象通常是一个线性随机系统(Linear Stochastic System),通过测量的含有随机噪音的输出来估计出最优的系统状态。该方法的最优性是建立是使Mean Squared Errors(MSE)是数值最小。故扩展卡尔曼滤波器(Extended Kalman Filter,EKF),自适应卡尔曼滤波(Adaptive Kalman Filtering,AKF)也就应运而生。
卡尔曼滤波的应用范围十分广泛,提供了可以真正实用的针对有限维随机系统的实时状态最优估计。它作为一种工具,主要有两方面的应用:状态估计 与估计系统的性能分析。
因此,本文针对车辆质心侧偏角的状态估计进行讲解。
二、Kalman Filtering的基本模型
对于Kalman Filter的理解,用过的都知道“黄金五条公式”,且通过“预测步”与“更新步”两个过程来对系统的状态进行最优估计。
假设:一个离散线性动态系统的模型如下所示:
- - - - - - - - - - (1)
- - - - - - - - - - - - - - - - (2)
其中,各变量表征的意义为:
系统状态矩阵 - - - - - - - - - - - - - - - - 状态阵的观测量(实测)
状态转移矩阵 - - - - - - - - - - - - - - - - 控制输入矩阵
状态观测矩阵
过程噪声 - - - - - - - - - - - - - - - - 测量噪声
对于状态估计算法而言,我们可以获取状态量的三个值:状态预测值( )、最优估计值( )以及真实值( ),卡尔曼滤波的原理就是利用卡尔曼增益来修正状态预测值,使其逼近真实值。
对卡尔曼滤波的推导过程,第一个过程分为状态估计协方差的推导,即代价函数的求取;第二步则是卡尔曼增益矩阵及其他准则的推导。
1.状态估计协方差
状态预测值由状态预测方程可得:黄金1条
- - - - - - - - - - - - - - - - (3)
状态最优估计值可由状态更新方程可得:黄金2条
- - - - - - - - - - - (4)
通过该方程可知,卡尔曼增益实际上表征了状态最优估计过程中模型预测误差(Predicted Error)与测量误差(Measurement Error)的比重,即。当时,即预测误差为0,系统的状态值完全取决与预测值;而当时,即量测误差为0,系统的状态值完全取决于量侧值。
因此,可令:
- - - - - - - - - - - - - - - - - - (5)
- - - - - - - - - - - - - - - - - - (6)
- - - - - - - - - - - - - - - - (7)
- - - - - - - - - - - - - - - - - - -(8)
其中,各变量表征的意义为:
先验状态误差 - - - - - - - - - - - - - - - - 后验状态误差
真实值与预测值之间的协方差
真实值与最优估计值之间的协方差
由方程(2)(4)可知:
- - - - - - - - - - - - - - - (9)
将上式子变换可得:
- - - - - - - (10)
由方程(5)(6)可知:
- - - - - - - - - - - - - - - - - - - - - - (11)
因此,由方程(8)可知估计误差方差阵为:
- -(12)
上式展开得:
-(13)
2.状态变量
卡尔曼滤波的估计原则就是使最优状态估计的协方差最小,使其越来越逼近于真实值。因此,其目标函数为:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (14)
对卡尔曼增益矩阵求求偏导,可知:
- - - - - - - - (15)
由此可知最优估计条件下的卡尔曼增益矩阵为:黄金三条
- - - - - - - - - - - - - - - - - - - - - (16)
联立式(10)(13)即可知道估计误差方差阵为:黄金四条
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (17)
由式(5)可知:
- - (18)
化简可知:
- - - - - - - - - - - - - - - - - (19)
由式(7)可知:
- - - - - - - - - - - - (20)
- - - - - - - - - - - - - - - - - - (21)
由式(21)可知,预测协方差矩阵为:黄金5条
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (22)
至此,卡尔曼滤波的黄金5条全部推导完成,其“预测步”与“更新步”过程如下表1-1所示。
预测步 | |
更新步 | |
二、车辆动力学机理分析
目前,不易借助传感器直接测量质心侧偏角,通常要搭建车辆状态观测器进行估算。根据实际需求的不同,搭建的车辆模型是有所区别的,其复杂程度决定了状态观测器的运算精度与计算效率。因此,本节以线性二自由度模型为参考模型,搭建基于Kalman Filtering的状态观测器。
根据前面对Kalman Filtering的讲解和推导,为了便于对汽车质心侧偏角的预测,应对车辆的动力学系统进行分析,本文章主要基于汽车二自由度对汽车的质心侧偏角进行估计。
汽车二自由度包含汽车的横摆和侧倾两个角度进行分析计算,这部分较为基础,小编就不做多赘述了,如果有机会小编对汽车二自由度进行推到简单讲解。
二自由度汽车模型是一种经典的汽车模型,在汽车底盘控制器的研究中使用广泛。建模假设如下:
- 忽略转向系统的影响,直接以前轮转角作为输入;
- 忽略悬架的作用,认为汽车车身只作平行于地面的平面运动;
- 汽车的纵向速度视为不变,即纵向加速度为0;
- 汽车的侧向加速度限定在0.4g以下,轮胎侧偏特性处于线性范围内;
- 假设路面平整,无坡度。
汽车二自由度公式:
- - - - - - - - - - - - - - - (23)
- - - - - - - - - - - - - - - - - - - (24)
为了对非线性系统进行处理,需对车辆方程离散化,将线性二自由度模型的空间方程写成如下标准形式:
- - - - - - - - - - - - - - - - (25)
- - - - - - - - - - - - - - - - -(26)
- - - - - - - - - - - - - - - - - - - - - - (27)
- - - - - - - - - - - - - - - - - - - - - - - - - -(28)
根据上述,可求其状态方程矩阵:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(29)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(30)
A | |
B | |
C | |
D |
三、Kalman Filtering预测函数
预测步 | |
更新步 | |
四、车辆动力学参数说明
符号 | 名称 |
车辆质量 | |
横摆角速度 | |
质心侧偏角 | |
纵向速度 | |
侧向速度 | |
前轮到质心的距离 | |
后轮到质心的距离 | |
前轮转角 | |
前轮侧偏刚度 | |
后轮侧偏刚度 |