FAST-LIO论文阅读

13 篇文章 43 订阅
9 篇文章 4 订阅
FAST-LIO是一种紧耦合的迭代扩展卡尔曼滤波方法,用于实现高效率和高鲁棒性的LiDAR-inertialodometry。该方法通过误差状态估计,减少了对高维表示的依赖,并利用IMU连续和离散模型以及激光雷达帧的概念来处理运动畸变。通过前向传播和后向传播校正,结合残差计算和迭代状态更新,提高了定位精度。文章还探讨了如何通过转换降低计算复杂度。
摘要由CSDN通过智能技术生成

论文:FAST-LIO: A Fast, Robust LiDAR-inertial Odometry Package by Tightly-Coupled Iterated Kalman Filter

源码链接

各位大佬对论文的解析:
FAST-LIO论文解读与详细公式推导

FAST-LIO是港大MaRS实验室在2021年提出的一个紧耦合迭代扩展卡尔曼滤波高计算效率、高鲁棒性的雷达里程计。影响深远,后续又陆续提出了FAST-LIO2以及Faster-LIO等框架。
在这里插入图片描述
下面,我们简单了解一些论文中的各个模块及其处理流程。

符号说明

在这里插入图片描述
t k t_{k} tk第K帧激光扫描的结束时间
τ i \tau_{i} τiLiDAR扫描帧中的第i个IMU数据
ρ j \rho_{j} ρjLiDAR扫描帧中的第j个激光点时间
I i , I j , I k I_{i},I_{j},I_{k} Ii,Ij,Ik IMU在 τ i \tau_{i} τi ρ j \rho_{j} ρj,以及 t k t_{k} tk三个时刻的载体坐标系
L j , L k L_{j},L_{k} Lj,Lk LiDAR在 ρ j \rho_{j} ρj t k t_{k} tk时刻的激光坐标系。
X , X ^ , X ˉ X,\hat{X}, \bar{X} XX^Xˉ:状态X的真值,预测值,更新值(后验,估计值)
X ~ \tilde{X} X~:状态X的真值 X X X与估计值 X ˉ \bar{X} Xˉ之间的误差(即: X ~ = X ⊟ X ˉ \tilde{X}=X\boxminus\bar{X} X~=XXˉ X = X ~ ⊞ X ˉ X=\tilde{X}\boxplus\bar{X} X=X~Xˉ )
X ^ κ \hat{X}^\kappa X^κ:迭代扩展卡尔曼滤波(IEKF)中的第 κ \kappa κ次迭代的状态量
X i , X j , X k X_{i},X_{j},X_{k} Xi,Xj,Xk:在 τ i \tau_{i} τi ρ j \rho_{j} ρj,以及 t k t_{k} tk三个时刻的状态量
X ˇ j \check{X}_{j} Xˇj:在后向传播中,相对于 t k t_{k} tk时刻状态 X k X_{k} Xk的估计值 X j X_{j} Xj

基础概念(运算符)

作者在文中定义了两个基础的运算符, ⊞ \boxplus ⊟ \boxminus
在这里插入图片描述
这里的 M M M表示一种 n n n维的流形。
⊞ \boxplus 操作对应于在流形 M M M上增加一个小的扰动。
⊟ \boxminus 操作对应于两个流形 M 1 M_1 M1 M 2 M_2 M2之间的微小差值。
分别对应于指数映射与对数映射。
在这里插入图片描述
同时,我们可以推导出下述结论
在这里插入图片描述

文中以IMU坐标系作为载体系,推出来的位姿也在载体系中。假设激光雷达与IMU刚性链接,使用一个外参转换关系 I T L = ( I R L , I p L ) {^I}T{_L}=({^I}R{_L}, {^I}p{_L}) ITL=(IRL,IpL)进行转换。

IMU连续模型

IMU的动力学模型如下:
在这里插入图片描述

这是易于理解的,位置的导数是速度,速度的导数为加速度(增加的坐标转换与重力影响),重力为一个常数,导数为0,旋转的导数为角速度(推导可以参考高翔博士的SLAM十四讲),陀螺仪与加速计零偏的导数为高斯白噪声。

IMU离散模型

假设,IMU的采样频率为 Δ t \Delta t Δt,则离散模型可以写成如下形式:

在这里插入图片描述
其中:
在这里插入图片描述

LiDAR帧的概念

实际工作过程中 LiDAR是在不断的连续扫描的(这个频率非常高,数十万Hz),但是我们为了能够处理点云数据,人为的划分成了不同的扫描帧,如文中把累积20ms的点云作为一帧数据,扫描频率为50Hz。
在这里插入图片描述
即把上图中 t k − 1 t_{k-1} tk1 t k t_{k} tk的时间段(20ms)划分为一帧点云。

但是,这样引起一个问题是,带来了运动畸变。对于这一问题,在后续的章节中通过后向传播来进行纠正。

状态估计

在这里插入图片描述

作者使用误差作为要估计的状态,这样做有一系列好处:参考高翔博士-简明ESKF推导

  1. 在旋转的处理上,ESKF的状态变量可以采用最小化的参数表达,也就是使用三维变量来表达旋转的增量。而传统KF需要用到四元数(4维)或者更高维的表达(旋转矩阵,9维),要不就得采用带有奇异性的表达方式(欧拉角)。
  2. ESKF总是在原点附近,离奇异点较远,并且也不会由于离工作点太远而导致线性化近似不够的问题。
  3. ESKF的状态量为小量,其二阶变量相对来说可以忽略。同时大多数雅可比矩阵在小量情况下变得非常简单,甚至可以用单位阵代替。
  4. 误差状态的运动学也相比原状态变量要来得更小,因为我们可以把大量更新部分放到原状态变量中。

前向传播(运动方程)

前向传播的执行过程如下,每次接收到一次数据我们就会执行一次。
在这里插入图片描述

此外,由于不知道噪声的值,所以设置噪声 w w w为0,不断进行前向传播。当然,这样很快就会“飘”。但是,我们还有观测方程(LiDAR)进行修正。

对公式(4)转换为误差的形式,并进行线性化:
在这里插入图片描述
F X ~ F_{\tilde{X}} FX~ F W F_{W} FW分别为 X ~ i + 1 \tilde{X}_{i+1} X~i+1 w i {w}_{i} wi变量的雅克比矩阵。形式如下:
在这里插入图片描述
其中A(.)的表示方式为:
在这里插入图片描述

推导方式见论文中的附录,这里就不详细说了,很烦人。

有了运动方程的线性化表达式,我们还需要对应的协方差更新方式,假设噪声 w w w的协方差为 Q Q Q,则更新方式为:
在这里插入图片描述
直到一帧的扫描终点时刻 t k t_k tk,一个前向传播过程才结束。终点时刻 t k t_k tk的预测状态表示为 X ^ k \hat{X}_k X^k,对应的协方差表示为 P ^ k \hat{P}_k P^k(状态预测值 X ^ k \hat{X}_k X^k与状态真值 X k {X}_k Xk之间的误差的协方差 X ^ k ⊟ X k \hat{X}_k\boxminus{X}_k X^kXk)。

后向传播(运动畸变校正)

我们在处理过程中会融合在 t k t_k tk时刻的状态 X ^ k \hat{X}_k X^k与协方差 P ^ k \hat{P}_k P^k。但是,正如我们之前所提到的,每个点都有属于他们自己的时间戳,其测量时间并不是我们所规定的 t k t_k tk时刻,即LiDAR点采样(测量)时间 ρ j < t k \rho_j<t_k ρj<tk,这会引起参考坐标系的不一致。

在这里插入图片描述

如图中的下半部分,为了消除这种影响,作者使用下述公式,反向(后向)从 t k t_k tk时刻的位姿,推算出 ρ j \rho_j ρj时刻的位姿,并把 ρ j \rho_j ρj时刻的特征点转换到 t k t_k tk时刻。

在这里插入图片描述
注意,因为特征点的频率高于IMU频率,所以并不是每个特征点时刻对应一个位姿。每个特征点的转换位姿都由其左侧的IMU时刻确定。

通过上述计算,得到 ρ j \rho_j ρj时刻到 t k t_k tk时刻的相对位姿为: I k T ˇ I j = ( I k R ˇ I j , I k p ˇ I j ) ^{I_k}{\check T}_{I_j}=(^{I_k}{\check R}_{I_j}, ^{I_k}{\check p}_{I_j}) IkTˇIj=(IkRˇIj,IkpˇIj)

基于此,我们可以通过下式,把局部坐标系的点测量值 L j p f j ^{L_j}{p}_{f_j} Ljpfj,投影的扫描终点时刻 t k t_k tk,即 L k p f j ^{L_k}{p}_{f_j} Lkpfj
L k p f j = I T L − 1 I k T ˇ I j I T L L j p f j ^{L_k}{p}_{f_j}={^{I}{T}^{-1}_{L}} {^{I_k}{\check T}_{I_j}} {^{I}{T}_{L}} {^{L_j}{p}_{f_j}} Lkpfj=ITL1IkTˇIjITLLjpfj
在这里插入图片描述
式中, I T L ^{I}{T}_{L} ITL为LiDAR与IMU之间的外参, L k p f j ^{L_k}{p}_{f_j} Lkpfj为投影到扫描终点时刻 t k t_k tk的坐标,用于下面的残差计算。

残差计算

经过上节中的运动畸变校正,我们可以把一个扫描帧中的所有特征点视为在同一时刻 t k t_k tk处进行采样,接着,投影到全局坐标系中:
在这里插入图片描述
式中, G T ^ I k κ {^{G}{\hat T}^{\kappa}_{I_k}} GT^Ikκ为我们想要求的 t k t_k tk时刻到全局坐标系下的位姿变换。

类似于LOAM的思想,转换后的特征点应该落在其对应的特征“线”“面”上,但是由于存在LiDAR测量误差与前向传播的状态推算误差,导致转换后的特征点并不能完全落在特征线/面上。
在这里插入图片描述
式中, G j G_j Gj为法向量 u j T u^T_j ujT(平面特征)或为边缘线特征朝向的反对称阵 ⌊ u j ⌋ ∧ \left \lfloor u_j \right \rfloor_{\wedge } uj(边缘特征)。即计算点到面或者点到线之间的距离。

作者只考虑模长小于0.5m的残差值。残差值高于阈值的被认为是噪声点或者是新观测的点。

迭代状态更新

如果我们把激光雷达的测量噪声去除,假设测量的点都是真实的坐标。
在这里插入图片描述
那么我们使用这个真值代入上述公式中转换的全局坐标系 G G G,再使用状态的真值 X k X_k Xk(有变换的真值 G T I k {^{G}{T}_{I_k}} GTIk),那么残差 z j κ z^{\kappa}_j zjκ的值应该为0;
在这里插入图片描述
对上式 h j h_j hj进行一阶近似:
在这里插入图片描述

式中, X ~ k κ = X k ⊟ X ^ k κ \tilde{X}^{\kappa}_k=X_k\boxminus\hat{X}^{\kappa}_k X~kκ=XkX^kκ X k = X ^ k κ ⊞ X ~ k κ X_k=\hat{X}^{\kappa}_k\boxplus\tilde{X}^{\kappa}_k Xk=X^kκX~kκ

存在:
在这里插入图片描述
在这里插入图片描述

结合(15)(运动方程)及残差(14)(观测方程),我们得到下述形式的目标函数:
在这里插入图片描述
式中: ∥ x ∥ M 2 = X T M X \left \| x \right \|^2_M=X^TMX xM2=XTMX

利用迭代卡尔曼滤波,我们对(17)进行求解
在这里插入图片描述

得到 X ˉ k \bar{X}_k Xˉk P ˉ k \bar{P}_k Pˉk

上述求解过程中还存在一个问题是求解卡尔曼增益K需要对 H P H T + R HPH^T+R HPHT+R进行求逆。这个维度为 m ∗ m m*m mm即特征点的数量(观测的数量)。这个维度是很大的,所以求解比较困难。

作者把卡尔曼增益的公式等价转换为下述形式,求逆的维度为状态量的维度 18 ∗ 18 18*18 1818,大大降低了计算的维度。
在这里插入图片描述
等价转换过程的推导也是比较简单的,利用了矩阵的求逆定理。
在这里插入图片描述

### 回答1: Fast-lio-localization是一种快速的激光雷达定位技术,可以在复杂的环境中实现高精度的定位。它利用激光雷达扫描周围环境,通过对激光点云数据的处理和分析,确定机器人在环境中的位置和姿态。这种技术在自动驾驶、机器人导航等领域有着广泛的应用。 ### 回答2: Fast-lio-localization是指一种高效的激光雷达定位算法。激光雷达作为机器人感知环境的重要设备,具有高精度、高稳定性等优点,广泛应用于机器人导航和定位中。快速、准确的机器人定位是机器人实现自主导航的重要前置条件之一。 Fast-lio-localization基于几种建图方法(如点云匹配技术)和滤波算法(如卡尔曼滤波)进行数据处理,以实现机器人的高精度定位。这种算法的主要优点在于它能够在较短时间内完成机器人定位,且定位的精度较高,比传统的定位算法速度快、精度高。 Fast-lio-localization算法主要包含以下几个步骤:首先,在机器人行进过程中,激光雷达会产生一堆散点云数据,接着使用建图算法将这些散点云融合成地图,用于机器人的定位;接着,使用几何滤波进行滤波处理,去除冗余噪声数据;最后,使用卡尔曼滤波处理数据,完成机器人的定位。 Fast-lio-localization算法的优势主要表现在速度和精度两个方面。首先,在定位精度方面,即使是在不良环境下,这种算法仍然可以实现高精度的定位。其次,在定位速度方面,这种算法可以应对海量数据的处理,且不需要大量的计算资源。 总体来说,Fast-lio-localization是一种高效的机器人定位算法,可以实现快速、准确的机器人定位。此外,它还可以扩展到更多其他领域,例如自动驾驶、机器人巡检等,具有广阔的应用前景。 ### 回答3: Fast-LIO-Localization是基于激光雷达的实时定位与地图构建系统。它使用现有的和准确的传感器,如激光雷达和惯性测量单元(IMU),快速地实时定位和构建场景的三维地图。系统中主要包含以下模块:激光雷达数据处理和点云匹配、IMU数据处理和运动噪声估计、位姿优化和地图构建,以及位姿跟踪和发布。Fast-LIO-Localization不需要预先应用标记或地标,并能快速响应任何类型的场景和不同的平台。 目前,Fast-LIO-Localization已被广泛应用于无人驾驶车辆、机器人和无人机等领域。在无人驾驶车辆中,Fast-LIO-Localization能够实时定位和构建实时地图,从而能够提高车辆的自主导航能力。在机器人领域,该系统能够提供精确的定位和地图构建,从而使机器人在复杂环境中进行自主操作更加稳健和准确。在无人机中,Fast-LIO-Localization能够提供实时的高精度定位数据和地图,从而能够改善无人机的飞行轨迹控制和导航计划。 总之,Fast-LIO-Localization是一种高效的定位与地图构建系统,它不仅能够广泛应用于各种智能移动设备和系统中,而且还能够提高设备和系统的性能和可靠性。它在实时性、精确性和普适性方面的优势,使得Fast-LIO-Localization成为了目前最受欢迎的激光雷达实时定位和地图构建的解决方案之一。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓晨的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值