在自平衡小车读取IMU的陀螺仪数据过程中,零漂移严重影响计算小车俯仰角的准确性,因此引入卡尔曼滤波来处理陀螺仪读数。
在这里介绍卡尔曼滤波的使用,卡尔曼滤波一共有5个公式。其中2个用于预测状态,2个用于更新状态,1个是卡尔曼系数的计算:
先说2个预测状态的公式:
预测状态方程:
这一个公式是用上一个时刻(t-1时刻)的状态,乘以状态转移矩阵F,再加上控制量上的变换矩阵乘以控制增益,得到公式左边带帽子和减号的东西,就是当前t时刻的状态量。我们来一个一个解释。公式左边的状态量为什么带一个减号,因为它只是一个预测值,是不完整的(我是这么用于记忆的,可能不准确,希望不要杠)。公式右边的F,叫作状态转移矩阵,用于从上一个时刻t-1推测当前时刻t的状态。
至于如何确定F和公式最右边的控制增益,我想代入平衡小车的实际例子中来说。这里就要引入第一个假设,小车在俯仰的过程中,由于采样时间足够小(5ms)ÿ