锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

论文阅读《A Multi-State Constraint Kalman Filter for Vision-aided Inertial Navigation》1

时间:2022-09-23 12:00:00 hoa传感器amic单点式传感器gv传感器hf1变送传感器20na位移传感器

目录

  • 摘要
  • 1 介绍
  • 2 相关工作
  • 3 估计器描述
    • A EKF状态向量结构
    • B 传播
    • C 状态增广
    • D 测量模型

摘要

本文提出了基于扩展卡尔曼滤波器的一种(EKF)实时视觉辅助惯性导航算法。该工作的主要贡献是推导出一个从多个相机位置观察到静态特征时产生的几何约束的测量模型。测量模型不需要包含三维特征位置EKF在线性误差范围内,状态向量最好。视觉辅助惯性导航算法的计算复杂性在特征数量上只是线性的,可以在大规模的真实环境中进行高精度的位置估计。该算法的性能已被广泛的实验结果证明,包括定位在城市区域的相机/IMU系统。

1 介绍

近几年来,视觉辅助惯性导航的研究引起了学术界的广泛关注。基于MEMS的惯性传感器制造的最新进展使得制造小型、廉价和非常精确的惯性测量单元(IMU)适用于移动机器人、无人机等小规模系统的位置估计是可能的。这些系统通常都在GPS不可靠的城市环境(城市峡谷),以及无法进行全球定位测量的室内、空间等环境。在无法依赖GPS在测量条件下,相机的低成本、成为辅助惯性导航的理想选择。

视觉感知的一个重要优点是图像是高维测量,信息内容丰富。特征提取方法通常可以检测和跟踪图像中的数百个特征。如果使用得当,可以得到良好的定位结果。然而,大量的数据也对估计算法的设计提出了重大挑战。在需要实时定位性能时,需要在算法的计算复杂性和估计精度之间进行权衡。

在本文中,我们提出了一种能够优化视觉特征多个测量提供的定位信息的算法。我们方法的动机是观察到,当从几个相机位置观察到静态特征时,可以定义所有这些位置的几何约束。我们工作的主要贡献是一个表达这些约束的测量模型,不包括滤波器状态向量中的3D特征位置导致计算复杂度仅与特征数量呈线性关系。在简要讨论了下一节的相关工作后,第三节将介绍估计器的细节。在第四节中,我们描述了在不受控制的城市环境中进行的大规模实验的结果,表明提出的估计器可以实现准确和实时的位置估计。最后,本工作的结论在第五节得出。

2 相关工作

一种集成惯性测量和视觉特征观测的算法遵循同时定位和构图(SLAM)范式。在这些方法中,现在IMU联合估计了所有视觉路标点的位置和三维位置。这些方法与基于SLAM相机定位的方法有相同的基本原理,但不同的是,IMU测量用于状态传播,而不是统计运动模型。基于SLAM该算法的基本优点是,它们可以解释相机的位置和观察到的特3D位置之间的相关性。另一方面,SLAM计算局限性是计算复杂性高;正确处理这些相关性的计算成本非常高,因此基于视觉的环境具有数千个特征SLAM这仍然是一个具有挑战性的问题。

有一些算法,和SLAM相反,为了实现实时操作,只估计相机的位置(即不共同估计特征位置)。计算效率最高的方法是利用特征测量来推导图像之间的约束。例如,在[7]中,一种基于图像的运动估计算法应用于连续图像对,以获得与惯性测量相结合的位移估计。类似地,在[8]和[9]中,极线几何定义用于当前图像和以前图像之间的约束,并扩展卡尔曼滤波器(EKF)中与IMU结合测量。极线几何与统计运动模型结合在[10]和[11]中,极线约束与飞机动力学模型结合在[12]中。使用特征测量对图像的约束在哲学上与本文提出的方法相似。然而,一个根本的区别是,我们的算法可以表达多个相机位置之间的约束。因此,当两个以上图像可以看到相同的特征时,可以获得更高的估计精度。

成对约束也用于保持由多个相机位置组成的状态向量算法。卡尔曼滤波器在[13]中实现,其中机器人位置的滑动窗保持在滤波状态。另一方面,在[14]中,所有相机位姿都是同时估计的。在这两种算法中,成对的相对位置测量从图像中导出,用于状态更新。该方法的缺点是,当一个特征出现在多个图像中时,多个位置之间的附加约束被丢弃,导致信息丢失。此外,当处理相同的图像测量值来计算多个位移估计时,它们并不是独立的,如[15]所示。

[16]给出了类似本文提出的方法的算法,直接使用路标测量值来约束多个相机位置。这是一种临时初始化路标的视觉里程计算法,利用它们对连续相机位置的窗口施加约束,然后丢弃它们。然而,该方法不能用于协同惯性测量。此外,路标点估计与相机轨迹之间的相关性没有得到适当的解释,因此该算法没有提供任何状态估计的协方差测量。

可变维数滤波器(VSDF)相机位置窗口也保持在中间。VSDF混合批量/递归法,(i)延迟线性化用于提高对线性化的准确性,(ii)在不使用动态运动模型的情况下,使用信息矩阵的稀疏性自然会出现。但是,当动态运动模型可用时(如视觉辅助惯性导航),VSDF计算复杂度最多为特征数量的二次型。

与VSDF相比之下,本文提出的多状态约束滤波器可以利用延迟线性化的优点,而复杂性仅为线性。避免了成对位移估计带来的计算负担和信息丢失,直接表示多相机之间的几何约束。此外,与SLAM与类型方法相比,它不需要在滤波器状态向量中包含3D特征位置,但仍有最佳位置估计。由于这些特性,算法非常有效,如第四节所示,实时高精度视觉辅助惯性导航。

3 估计器描述

提出的基于EKF估计器的目标是跟踪IMU固定坐标系 { I } \{I\} { I}相对于全局参考坐标系 { G } \{G\} { G}的3D位姿。为了简化处理地球自转对IMU测量结果的影响(见公式(7) ~(8)全局坐标系选择地心固定坐标系(ECEF)。算法1中给出算法概述。IMU可用时立即处理测量值以传播EKF状态与协方差(见第3)-B节)。另一方面,在每次记录图像时,当前的相机位置估计都附加到状态向量(见第3-C节)。由于在处理特征测量中,状态增加是必要的EKF在更新过程中,每个被跟踪特征的测量值被用来约束所有相机位置。所以,在任何时候,EKF状态向量包括(i)不断变化的IMU状态, X I M U X_{IMU} XIMU,和(ii)一个历史到 N m a x N_{max} Nmax过去的相机的位姿。下面,我们将详细描述算法的各个组成部分。

在这里插入图片描述

A EKF状态向量的结构

IMU状态的演变由向量描述:
X I M U = [ G I q ˉ T   b g T   G v I T   b a T   G p I T ] T (1) X_{IMU}=[^I_G\bar{q}^T \ b_g^T \ ^Gv_I^T\ b_a^T \ ^Gp_I^T]^T \tag{1} XIMU=[GIqˉT bgT GvIT baT GpIT]T(1)
其中 G I q ˉ T ^I_G\bar{q}^T GIqˉT是单位四元数,用来描述从坐标系 { G } \{G\} { G}到坐标系 { I } \{I\} { I}的旋转; G p I ^Gp_I GpI G v I ^Gv_I GvI是IMU相对于坐标系 { G } \{G\} { G}的位置和速度; b g b_g bg b a b_a ba 3 × 1 3\times1 3×1向量,它们分别用来描述陀螺仪和加速度计测量的偏差。将IMU偏差建模为随机游走过程,分别由高斯白噪声向量 n w g n_{wg} nwg n w a n_{wa} nwa驱动。根据公式(1),IMU的误差状态定义如下:
X ~ I M U = [ δ θ I T   b ~ g T   G v ~ I T   b ~ a T   G p ~ I T ] T (2) \tilde{X}_{IMU}=[\delta \theta_I^T \ \tilde{b}_g^T \ ^G\tilde{v}_I^T \ \tilde{b}_a^T \ ^G\tilde{p}_I^T]^T \tag{2} X~IMU=[δθIT b~gT Gv~IT b~aT Gp~IT]T(2)
对于位置、速度和偏差,使用标准加性误差定义(即变量 x x x的估计 x ^ \hat{x} x^的误差定义为 x ~ = x − x ^ \tilde{x}=x-\hat{x} x~=xx^)。然而,对于四元数则采用了不同的定义。具体而言,如果四元数 q ˉ \bar{q} qˉ的估计值为 q ˉ ^ \hat{\bar{q}} qˉ^,然后用误差四元数 δ q ˉ \delta \bar{q} δqˉ描述姿态误差,这是由这个关系定义的 q ˉ = δ q ˉ ⨂ q ˉ ^ \bar{q}=\delta \bar{q} \bigotimes \hat{\bar{q}} qˉ=δqˉqˉ^。在这个表达式中,符号 ⨂ \bigotimes 表示四元数的乘积。误差四元数为,
δ q ˉ ≃ [ 1 2 δ θ T   1 ] T (3) \delta \bar{q} \simeq \bigg[\frac{1}{2} \delta \theta^T \ 1 \bigg]^T \tag{3} δqˉ[21δθT 1]T(3)
直观上,四元数 δ q ˉ \delta \bar{q} δqˉ描述了导致真实和估计姿态重合的小旋转。由于姿态对应3个自由度,使用 δ θ \delta \theta δθ来描述姿态误差是一种最小表示。

假设EKF在时间步长 k k k时的状态向量中包含 N N N个相机位姿,该向量的形式为:
X ^ k = [ X ^ I M U k T       G C 1 q ˉ ^ T      G p ^ C 1 T     ⋯      G C N q ˉ ^ T      G p ^ C N T ] T (4) \hat{X}_k=[\hat{X}_{IMU_k}^T\ \ \ \ ^{C_1}_G\hat{\bar{q}}^T\ \ \ ^G\hat{p}_{C_1}^T \ \ \ \cdots \ \ \ ^{C_N}_G\hat{\bar{q}}^T \ \ \ ^G\hat{p}_{C_N}^T ]^T \tag{4} X^k=[X^IMUkT    GC1qˉ^T   Gp^C1T      

相关文章