无人驾驶在行驶过程中的噪声或者其他波动,带来的传感器测量与实际有误差,卡尔曼滤波就是在努力消除这种误差,比如说一个超声波传感器,我们假设车辆固定,障碍物实际离车辆的距离实际是5米,但是超声波给到的距离是如下图:
非常波动来着,于是卡尔曼滤波诞生了,它可以让波动变得更加平滑。
像烧水的情况,你说煤气炉施加的Uk会百分百作用到开水不?并不会,由于效能的原因,许多能量必然会散发到空气当中,所以烧水也有烧水的过程噪声项X(k) = AX(k-1)+Bu(k) +w
w就是这里的干扰项,AX(k-1)是指水的上一个时刻的状态,Bu(k)是随着时间施加的能量。
另外温度计观测也不是百分百正确,它也并不能跟水当前的状态成正比,而是要考虑因为温度计本身带来的观测噪声Vk,所以表达式是yk = C Xk + Vk
又比如用这个图来理解
起初的状态值位于Xk-1,它也有噪声且符合正态分布,经过一个时间过程之后的值为Xk, 它也有噪声,观测值为Yk,它也有噪声,最优观测值为Xk和Yk的交集的中间位置,也是呈正态分布。但能够取最优。
卡尔曼的方程是怎样的呢?
1.状态转移
举一个匀加速直线运动的小车为例子
我们学过物理都知道,已知小车的位置Pi和速度Vi、加速度Ut,可以用如下公式来表达小车位置和当前速度,
这里的Ut就是加速度,
然而更直接的有这个矩阵,