5.4 通用卡尔曼滤波
上一节中描述的状态空间模型作为观测方程的更一般的公式
和状态方程
这里是一个p×1 向量是一个k×1 向量, 是一个p×k 矩阵, 是k×k 矩阵。我们可以想到的和
给定初始状态 和 ,预测方程为(类似于上面)
并且更新方程是,给定一个新的观察结果y1
这里
5.5 缺失数据
从概念上讲,丢失数据在卡尔曼滤波器的框架中很容易处理。该过程有两个步骤:(1)预测步骤,(2)更新步骤,当我们观察新数据时发生。如果缺少一个数据点,我们就无法执行步骤 2,因此我们只需跳过它。我们保留步骤 1 中所做的预测并继续到下一个时间点。
因此,如果 丢失,我们可以修改更新过程以简单地
5.6 示例:过滤手机的旋转角度
这是基于加速度计和陀螺仪测量积分的 X 轴方向估计旋转角度图。
Gyro
回想一下,手机根本没有移动,因此陀螺仪不应该真正记录任何运动。然而,乐器中的自然噪声会随着时间的推移而产生一些变化。特别是,似乎存在轻微的负偏差,因此陀螺仪似乎认为它正在沿负方向轻微旋转。当这种负面偏见随着时间的推移而积分时,其影响会随着时间的推移而累积,如上图所示。
5.7 示例:跟踪汽车的位置
我们在这里使用的模型将是前面提到的航天器模型的扩展。目标是跟踪沿着笔直道路行驶的汽车的线性(一维)位置。时间 t 时汽车沿这条道路的位置为,建模为
其中 是速度, 是加速度, 是测量时间点之间的时间差, 是噪声项。在这种情况下,我们可以将状态向量写为
这里令:
在 里α 是表征加速度项状态转换的(已知)系数,则状态方程为
此时:
对于数据,我们有两个观察结果。一个是表示一维位置的 GPS 坐标(在本例中为经度),另一个是汽车方向的加速度。加速度可以是向前方向(正)或向后方向(负)。数据表示为
这里:
没有直接测量速度的方法。这是汽车随时间变化的 y 轴加速度(以 为单位)。本例中的 y 轴是行进方向。
这是汽车随时间变化的经度位置,转换为沿道路的距离(以米为单位)。数据的采样率为 20 Hz(每秒 20 次测量),因此绘图的 x 轴以 1/20 秒为单位。
实际观测到的 GPS 测量是在 20 Hz 下进行的,但我们可能会遇到无法如此频繁地测量数据的情况。例如,加速度是始终可用的惯性测量,但 GPS 测量依赖于可能始终可用或可能不始终可用的卫星。为了模拟可能的数据缺失,我们可以通过对数据进行下采样来对GPS数据进行下采样。在这里,我们只保留每 1,000 个 GPS 值中的一个。卡尔曼滤波算法的结果如下所示。
上述曲线设 且 , α 被设为 0.64 .
下面是我们减少采样并保留每 200 个 GPS 值之一的图。
我们可以看到,当 GPS 值可用时,估计状态会尝试跟上它们,但通常需要时间进行自我修正。在上图中,我们有 τ=2,但我们可以通过减小 τ 来改变校正行为。在下图中,我们有 τ=0.5,我们可以看到轨道更加平滑。
虽然估计状态比较平滑,但也存在较大偏差。因此,在选择调整参数 τ 和 σ 时,需要平衡精度需求和平滑度需求(偏差与方差)。
5.8 示例:估计(模型)火箭的远地点
看看这个由乔·巴纳德 (Joe Barnard) 建造和发射的筒仓发射模型火箭。
这是第一次发射的慢动作版本。
火箭,无论是模型还是真实的,都需要能够随着时间的推移感知它们的位置、速度和方向。大多数情况下,他们需要知道自己是否指向正确或计划的方向,以及是否以正确的速度沿着正确的轨迹行驶。 (如果不是,则可以进行修正,但我们不会在这里讨论这个问题,因为这需要进入控制理论。)
惯性测量单元 (IMU) 中使用的典型仪器是陀螺仪和加速度计。这些仪器可以为机载计算机提供惯性测量,即纯粹在机上进行的测量,无需与外部输入或参考进行任何交互。现代系统通常还具有其他仪器,例如气压高度计(用于高度)、磁力计(用于航向/方向)和 GPS(用于位置)。
这是来自 z 轴(上/下)方向加速度计的数据。
这是气压高度计的数据。
这是使用下采样高度计读数(删除所有其他值)的估计轨迹。
这是来自同一模型拟合的估计速度。速度过零的点可能就是远地点所在的位置。