激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO

在之前的工作中有接触过LOAM,最近在工作中又接触到Faster LIO相关的工作,于是想着对Fast LIO / Fast LIO2 / Faster LIO这一系列工作进行一个简单的总结,以加深自己对激光SLAM算法的理解,之前总结过的一些和激光SLAM算法相关的博客还有,感兴趣的同学可以一起学习讨论:
激光SLAM总结——VLOAM / LIMO算法解析
激光SLAM总结——LIO-Mapping / LIOM / LINS / LIO-SAM算法解析

1. Fast LIO

FAST LIO是2021年提出的一个激光和IMU紧耦合迭代卡尔曼滤波框架,论文的贡献主要是提供了一个新的卡尔曼增益计算公式,新公式不依赖于测量维度,仅依赖于状态维度,从而达到高效的计算

Fast LIO是基于LINS进行进一步优化,那么LINS有什么问题呢?LINS是紧耦合框架,点云构建的残差被直接写入了观测方程,点云残差构建如下: f i ( x b k + 1 b k ) = { ∣ ( p ^ i l k − p a l k ) × ( p ^ i l k − p b I k ) ∣ ∣ p a l k − p b l k ∣  if  p i l k + 1 ∈ F e ∣ ( p ^ i k − p a l ) T ( ( p a k − p b k ) × ( p a l − p c l ) ) ∣ ∣ ( p a l k − p b l k ) × ( p a l k − p c l c ) ∣  if  p i l k + 1 ∈ F p f_{i}\left(\mathbf{x}_{b_{k+1}}^{b_{k}}\right)=\left\{\begin{array}{cl} \frac{\left|\left(\hat{\mathbf{p}}_{i}^{l_{k}}-\mathbf{p}_{a}^{l_{k}}\right) \times\left(\hat{\mathbf{p}}_{i}^{l_{k}}-\mathbf{p}_{b}^{I_{k}}\right)\right|}{\left|\mathbf{p}_{a}^{l_{k}}-\mathbf{p}_{b}^{l_{k}}\right|} & \text { if } \mathbf{p}_{i}^{l_{k+1}} \in \mathbb{F}_{e} \\ \frac{\left|\left(\hat{\mathbf{p}}_{i}^{k}-\mathbf{p}_{a}^{l}\right)^{T}\left(\left(\mathbf{p}_{a}^{k}-\mathbf{p}_{b}^{k}\right) \times\left(\mathbf{p}_{a}^{l}-\mathbf{p}_{c}^{l}\right)\right)\right|}{\left|\left(\mathbf{p}_{a}^{l_{k}}-\mathbf{p}_{b}^{l_{k}}\right) \times\left(\mathbf{p}_{a}^{l_{k}}-\mathbf{p}_{c}^{l_{c}}\right)\right|} & \text { if } \mathbf{p}_{i}^{l_{k+1}} \in \mathbb{F}_{p} \end{array}\right. fi(xbk+1bk)= palkpblk (p^ilkpalk)×(p^ilkpbIk) (palkpblk)×(palkpclc) (p^ikpal)T((pakpbk)×(palpcl))  if pilk+1Fe if pilk+1Fp残差的维度和点的数量相关,假设残差的维度为 m m m,在计算卡尔曼增益过程中会计算残差相对状态变量的线性化矩阵 H k \mathbf{H}_{k} Hk,其维度为 m × n m \times n m×n,其中 n n n为状态变量维度,进而计算 H k P k H k T + V \mathbf{H}_{k}\mathbf{P}_{k}\mathbf{H}_{k}^T+\mathbf{V} HkPkHkT+V时维度将变为 m × m m \times m m×m,在计算卡尔曼增益的过程中是需要对该矩阵进行求逆,可以预见当用于计算残差的特征点数量特别大时,计算卡尔曼增益也会变得相对耗时,在Fast-LIO就是通过SMW恒等式解决了该问题,使得计算卡尔曼增益不再依赖于观测维度,下面我们进一步看看具体是怎么做的

1.1 总体框架

Fast LIO的总体框架如下图所示:
在这里插入图片描述
大致流程是将激光雷达输入到特征提取模块,可获得平面和边缘特征,将提取后的特征和IMU测量值进行状态估计,输出 10 H Z 10HZ 10HZ 50 H Z 50HZ 50HZ的状态估计结果,并根据状态估计结果将特征点注册到全局地图。

1.2 Iterated Kalman Filter

下面进行Fast LIO的公式推导:

假设IMU系为Body系,激光系到IMU系为刚体变换 I T L = ( I R L , I p L ) { }^I \mathbf{T}_L=\left({ }^I \mathbf{R}_L,{ }^I \mathbf{p}_L\right) ITL=(IRL,IpL)

IMU的连续运动学方程为: G p ˙ I = G v I , G v ˙ I = G R I ( a m − b a − n a ) + G g , G g ˙ = 0 G R ˙ I = G R I ∣ ω m − b ω − n ω ⌋ Λ , b ˙ ω = n b ω , b ˙ a = n b a \begin{aligned}{ }^G \dot{\mathbf{p}}_I & ={ }^G \mathbf{v}_I,{ }^G \dot{\mathbf{v}}_I={ }^G \mathbf{R}_I\left(\mathbf{a}_m-\mathbf{b}_{\mathrm{a}}-\mathbf{n}_{\mathrm{a}}\right)+{ }^G \mathbf{g},{ }^G \dot{\mathrm{g}}=\mathbf{0} \\ { }^G \dot{\mathbf{R}}_I & \left.={ }^G \mathbf{R}_I \mid \boldsymbol{\omega}_m-\mathbf{b}_{\boldsymbol{\omega}}-\mathbf{n}_\omega\right\rfloor \Lambda, \dot{\mathbf{b}}_{\boldsymbol{\omega}}=\mathbf{n}_{\mathbf{b} \boldsymbol{\omega}}, \dot{\mathbf{b}}_{\mathbf{a}}=\mathbf{n}_{\mathbf{b a}}\end{aligned} Gp˙IGR˙I=GvI,Gv˙I=GRI(ambana)+Gg,Gg˙=0=GRIωmbωnωΛ,b˙ω=nbω,b˙a=nba其中 G p I { }^G \mathbf{p}_I GpI G R I { }^G \mathbf{R}_I GRI是IMU的位置和姿态, a m \mathbf{a}_m am ω m \boldsymbol{\omega}_m ωm为IMU的测量, b a \mathbf{b}_{\mathbf{a}} ba b ω \mathbf{b}_\omega bω为随机游走高斯噪声

IMU的离散运动学方程为 x i + 1 = x i ⊞ ( Δ t f ( x i , u i , w i ) ) \mathbf{x}_{i+1}=\mathbf{x}_i \boxplus\left(\Delta t \mathbf{f}\left(\mathbf{x}_i, \mathbf{u}_i, \mathbf{w}_i\right)\right) xi+1=xi(Δtf(xi,ui,wi))其中: x ≐ [ G R I T G p I T G v I T b ω T b a T G g T ] T ∈ M \mathbf{x} \doteq\left[\begin{array}{llllll} { }^G \mathbf{R}_I^T & { }^G \mathbf{p}_I^T & { }^G \mathbf{v}_I^T & \mathbf{b}_{\boldsymbol{\omega}}^T & \mathbf{b}_{\mathbf{a}}^T & { }^G \mathbf{g}^T \end{array}\right]^T \in \mathcal{M} x[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值