5

我一直在尝试为机器人实现一个导航系统,该系统使用惯性测量单元 (IMU) 和已知地标的摄像头观察,以便在其环境中定位自己。我选择了间接反馈卡尔曼滤波器(又名错误状态卡尔曼滤波器,ESKF)来执行此操作。我在扩展 KF 方面也取得了一些成功。

我已经阅读了很多文本,我用来实现 ESKF 的两篇文章是“错误状态 KF 的四元数运动学”和“用于 IMU-Camera Calibration 的基于卡尔曼滤波器的算法”(付费墙的论文,google-able) . 我使用第一个文本是因为它更好地描述了 ESKF 的结构,第二个是因为它包含有关视觉测量模型的详细信息。在我的问题中,我将使用第一个文本中的术语:“名义状态”、“错误状态”和“真实状态”;其中指的是 IMU 积分器、卡尔曼滤波器,以及两者的组合(标称减去误差)。

下图显示了我在 Matlab/Simulink 中实现的 ESKF 的结构;如果您不熟悉 Simulink,我将简要解释该图。绿色部分是标称状态积分器,蓝色部分是 ESKF,红色部分是标称状态和错误状态的总和。“RT”块是可以忽略的“速率转换”。

在此处输入图像描述

我的第一个问题:这个结构正确吗?

我的第二个问题:测量模型的误差状态方程是如何得出的? 就我而言,我尝试使用第二个文本的测量模型,但它不起作用。

亲切的问候,

4

2 回答 2

2

您的框图结合了两种将 IMU 数据引入 KF 的间接方法:

  1. 您有一个外部 IMU 积分器(绿色,标记为“INS”,有时称为机械化,您将其描述为“标称状态”,但我也看到它称为“参考状态”)。这种方法将 IMU 自由地集成到 KF 外部,通常选择这种方法,以便您可以以与 KF 预测/更新步骤(间接形式)不同(高得多)的速率进行这种集成。从历史上看,我认为这很流行,因为 KF 通常是计算成本高昂的部分。
  2. 还将IMU 输入到 KF 块中u,我假设它是 KF 的“命令”输入。这是外部积分器的替代方案。在直接 KF 中,您会将 IMU 数据视为测量值。为了做到这一点,IMU 必须对(位置、速度和)加速度和(方向和)角速度进行建模:否则不可能H产生Hx估计的 IMU 输出项)。如果您改为将 IMU 测量值作为命令输入,您的预测步骤可以简单地充当积分器,因此您只需对速度和方向进行建模。

您应该只选择其中一个选项。我认为第二个更容易理解,但它更接近于直接卡尔曼滤波器,并且需要您预测/更新每个 IMU 样本,而不是(我假设)较慢的相机帧速率。

关于版本(1)的测量方程,在任何 KF 中,您只能预测您可以从您的状态中知道的事情。在这种情况下,KF 状态是误差项的向量,因此您只能预测诸如“位置误差”之类的东西。因此,您需要将测量值预先z设置为位置误差。因此,让您的测量成为“估计的真实状态”与“嘈杂的相机观察”中的位置之间的差异。这个确切的想法可以由xHat间接 KF 的输入来表示。我对那里发生的 MATLAB/Simulink 的东西一无所知。

关于求和块(红色)的实际考虑因素,我建议您参考另一个关于间接卡尔曼滤波器的答案

于 2015-01-10T08:17:43.173 回答
2

Q1) 您的 SIMULINK 模型看起来很合适。让我对我为导航应用程序开发的基于四元数机械化的 KF 进行一些说明。

由于卡尔曼滤波器是一种优雅的数学技术,它借鉴了随机和测量科学,它可以帮助您减少系统中的噪声,而无需精心建模噪声。

所有 KF 系统都从对您想要消除噪音的模型的一些初步了解开始。反馈测量值以更好地演化状态(测量方程 Y = CX)。在您的情况下,您正在谈论的状态是四分位数中的错误,这将是 4 个值,dq1、dq2、dq3、dq4。

在您的应用程序中运行良好的 KF 将通过控制四元数周围的误差来准确确定设备的姿态/方向。四元数是任何物体的空间方向,使用标量和矢量,更具体地说是角度和轴来理解。

您正在谈论的误差方程是有助于卡尔曼增益的协方差。协方差表示围绕平均值的分布,它们有助于理解系统的中心/平均行为如何随时间变化。低协方差表示任何系统与平均行为的偏差较小。随着 KF 循环的运行,协方差不断变小。

卡尔曼增益最终用于补偿测量估计值与来自相机的实际测量值之间的误差。

同样,这种优雅的技术首先确保四元数中的误差收敛于零附近。

Q2) 只要​​您有非线性测量构造技术,EKF 就是一种很好的技术。如果 EKF 在你的系统中有太多的变换,那么在使用 EKF 时要非常小心,即不要尝试在你的状态上使用变换来重建测量值,这会严重影响模型的神圣性,并且由于噪声协方差不会经历类似的变换,所以会有一个一旦矩阵不可逆,就有可能达到奇点。

您可以查看恒定增益 KF 方案,这将使您免于协方差传播并节省大量计算工作和时间。这些技术很新,看起来很有前途。它们主动吸收 P(误差协方差)、Q(模型噪声协方差)和 R(测量噪声协方差),并且与 EKF 方案配合得很好。

于 2015-01-11T08:57:37.780 回答