LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping論文解讀


@

abstract

LIO-SAM將lidar-慣性里程計置於一個因子圖之上,允許從不同來源將多種相對和絕對測量,包括環閉檢測,作為因子合並到系統中。由慣性測量單元(IMU)預積分估計的運動消除點雲畸變,並為激光雷達里程計優化提供初始猜測。所得到的激光里程計解被用來估計IMU的偏差。為了確保實時的高性能,我們將舊的激光雷達掃描邊緣化以優化姿態,而不是將激光雷達掃描與全局地圖匹配。局部尺度的掃描匹配代替了全局尺度的掃描匹配,大大提高了系統的實時性。還有選擇性地引入關鍵幀,以及將新關鍵幀注冊到固定大小的先前“子關鍵幀”集合的高效滑動窗口方法。

一、Introduction

1.1 LOAM的缺點:

LOAM將其數據保存在全局體素圖中,通常很難執行環路閉合檢測和合並其他絕對測量值(例如GPS)進行姿態校正。當這個體素圖在一個特征豐富的環境中變得密集時,它的在線優化過程就變得不那么有效了。LOAM在大規模測試中也會出現漂移,因為它的核心是基於掃描匹配的方法。

1.2 LIO-SAM的改進:

我們假設一個非線性運動模型對點雲去畸變,使用原始的IMU測量數據估計傳感器在一個激光雷達掃描過程中的運動。除了點雲去畸變,估計的運動還作為激光雷達里程計優化的初始猜測。得到的激光里程計解用於估計因子圖中IMU的偏差。通過引入全局因子圖進行機器人軌跡估計,可以有效地利用lidar和IMU測量進行傳感器融合,在機器人姿態之間進行位置識別,並引入絕對測量,如GPS定位和羅盤航向。這些來自不同來源的因子集合用於圖的聯合優化。此外,我們將舊的激光雷達掃描邊緣化以優化姿勢,而不是將掃描與全局地圖(如loam)匹配。局部尺度的掃描匹配而不是全局尺度的掃描匹配顯著地提高了系統的實時性能,關鍵幀的選擇性引入也是如此,以及一種有效的滑動窗口方法,它將一個新的關鍵幀注冊到一組固定大小的先驗“子關鍵幀”中。
我們的主要貢獻可概括如下:

  1. 一種建立在因子圖之上的緊密耦合的激光雷達慣性里程計框架,適用於多傳感器融合和全局優化。
  2. 一種高效的、基於局部滑動窗口的掃描匹配方法,通過將有選擇地選擇的新關鍵幀注冊到固定大小的先驗子關鍵幀集來實現實時性能。
  3. 所提出的框架通過各種規模、車輛和環境的測試得到了廣泛的驗證。

二、Related Work

這種利用傳感器融合的設計方案通常可分為兩類:

  1. 松耦合:引入LOAM和IMU對激光雷達掃描進行去畸變,並給出掃描匹配的運動先驗。然而,IMU不參與算法的優化過程。因此,LOAM可歸類為松散耦合方法。lego-loam也一樣。一種更流行的松耦合融合方法是使用擴展卡爾曼濾波器(EKF)。例如,在機器人狀態估計的優化階段,使用EKF整合來自lidar、IMU和GPS的測量值。
  2. 緊耦合:緊耦合系統通常提供更高的精度,目前是正在進行的研究的主要焦點。在[15]中預積分的IMU測量被用於點雲去畸變。文獻[16]提出了一種機器人中心激光雷達慣性狀態估計器R-LINS。R-LINS使用錯誤狀態卡爾曼濾波器以緊耦合的方式遞歸修正機器人的狀態估計。由於缺少其他可用的傳感器來進行狀態估計,它在長時間航行中會產生漂移。[17]中介紹了一種緊耦合激光雷達慣性測程與測圖框架LIOM。LIOM是LIO-mapping的縮寫,聯合優化從激光雷達和IMU的測量,與LOAM相比獲得類似或更好的准確性。

三、LIDAR INERTIAL ODOMETRY VIA SMOOTHING AND MAPPING(實際工作)

在這里插入圖片描述

A. 符號約定和文章綜述

在這里插入圖片描述當機器人姿態變化超過用戶定義的閾值時,將在圖中添加一個新的機器人狀態節點x。因子圖在插入新節點時使用貝葉斯樹(iSAM2)[19]的增量平滑和映射進行優化

B IMU預積分因子

在這里插入圖片描述

C. 激光里程計因子

  1. 特征提取:
    通過評估局部區域上的點的粗糙度來提取邊緣和平面特征。粗糙度值較大的點被划分為邊緣特征。同樣,粗糙度小的被分類為平面特征。我們將第\(i\)時刻激光雷達掃描提取的邊緣和平面特征分別表示為\(F^e_i\)\(F^p_ i\)。我將在同一時刻提取的所有特征組成一個激光雷達幀\(\mathbb{F}_{i}\),其中\(\mathbb{F}_{i}=\left\{\mathrm{F}_{i}^{e}, \mathrm{F}_{i}^{p}\right\}\)
    對於特征提取過程的更詳細的描述可以在1中找到,如果使用的是距離圖像,則可以在7中找到。
  2. 關鍵幀選擇
    使用一種簡單而有效的啟發式方法:與之前的狀態\(x_i\)相比,當機器人姿態變化超過用戶定義的閾值時,我們選擇激光雷達幀\(F_{i+1}\)作為關鍵幀。在因子圖中,新保存的關鍵幀\(F_{i+1}\)與一個新的機器人狀態節點\(x_{i+1}\)關聯。兩個關鍵幀之間的激光雷達幀被丟棄。通過這種方式添加關鍵幀,既能平衡映射密度和內存消耗,又能保持相對稀疏的因子圖,適用於實時非線性優化。在我們的工作中,增加一個新的關鍵幀的位置和旋轉變化閾值被選擇為1米和10◦。
  3. 激光雷達測程因子的生成步驟如下:
    1. 體素地圖的子關鍵幀(Sub-keyframes):我們實現了一個滑動窗口的方法來創建一個包含固定數量的最近激光雷達掃描的點雲地圖。我們沒有優化兩個連續的激光雷達掃描之間的轉換,而是提取n個最近的關鍵幀,我們稱之為子關鍵幀,用於估計。然后子關鍵幀集合\(\left\{\mathbb{F}_{i-n}, \ldots, \mathbb{F}_{i}\right\}\)使用與之關聯的變換矩陣\({T_{i-n},...,T_i}\)轉換到世界坐標系W。轉換后的子關鍵幀被合並到一個體素地圖\(M_i\)中。於我們在前面的特征提取步驟中提取了兩種類型的特征,因此\(M_i\)由兩個亞體素地圖組成,分別是邊緣特征體素地圖\(M^e_i\)和平面特征體素地圖\(M^p_i\)。激光雷達幀和體素地圖之間的關系如下:
      在這里插入圖片描述
      \({ }^{\prime} \mathrm{F}_{i}^{e}\)\({ }^{\prime} \mathrm{F}_{i}^{p}\) 是在世界坐標系 \(\mathbf{W}\)下的經過變換的邊特征和面特征。然后對\(\mathbf{M}_{i}^{e}\)\(\mathbf{M}_{i}^{p}\) 進行下采樣來去除同一體素中的重復特征。在這篇文章中, \(n\) 為選為\(25\)\(\mathbf{M}_{i}^{e}\)\(\mathbf{M}_{i}^{p}\) 的降采樣率分別是 \(0.2 m\)\(0.4 m\)
    1. Scan-matching:(這里比較簡單,就直接上原文了)
      在這里插入圖片描述
      在這里插入圖片描述
  1. Relative transformation:和loam相同,不再贅述
    在這里插入圖片描述
    提出了另一種可選的方法,用scan-map的匹配,代替原來scan-scan的匹配

D. GPS因子

當我們接收到GPS測量值時,我們首先使用[21]中提出的方法將其轉換到局部笛卡爾坐標系中。在因子圖中添加一個新節點之后,我們將一個新的GPS因子與這個節點關聯起來。如果GPS信號與激光雷達幀之間沒有硬件同步,則根據激光雷達幀的時間戳對GPS測量值進行線性插值。

我們注意到,在GPS接收可用時不斷增加GPS因子是不必要的,因為激光雷達慣性測程法的漂移增長非常緩慢。在實際應用中,我們只在估計的GPS位置協方差大於接收到的GPS位置協方差時添加一個GPS因子。

E. 閉環因子

和lego-loam一樣使用的基於歐式距離的閉環檢測,不再贅述

打賞

碼字不易,如果對您有幫助,就打賞一下吧,你的支持是我前進的動力O(∩_∩)O

支付寶

微信


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM