柚子快報激活碼778899分享:LOAM論文閱讀筆記
柚子快報激活碼778899分享:LOAM論文閱讀筆記
核心思想
將建圖與定位兩個部分分開,通過分別實現(xiàn)高頻(10hz)低精的激光里程計和低頻(1hz)高精的建圖,達(dá)到低漂移,低復(fù)雜度的效果
相關(guān)的定義
sweep: 相當(dāng)于現(xiàn)在激光雷達(dá)的一幀
軟件系統(tǒng)框圖
在每個 sweep 中會有多次里程計計算,當(dāng)激光點云累積到達(dá)到 1 sweep 時候就會做一次建圖操作
激光里程計
提取線特征(edge)和面特征(planar)
根據(jù)激光掃描的特性和點云分布的屬性提取特征:
以下為具體步驟:
(1)對每一個點,利用同一線束上的其他點(S)計算局部 smoothness
(2)對同一線束上的點按照 smoothness 進(jìn)行排序,并根據(jù)閾值分成 edge point 和 planar point
(3)為了保證分布均勻,劃分四個區(qū)域,每個閾值只保留2個 edge point 和4個 planar point
作者為了進(jìn)一步保證特征分布均勻做出規(guī)定:周圍點沒有被選取為特征,以及為了保證特征的質(zhì)量,對 S 做出了限制:
(1)S 中的所有點不能組成平行于激光束的 local planar,如圖(a)示
(2)S 中的任一點與當(dāng)前點在激光束方向上不能有太大的 gap,且相比于當(dāng)前點,更靠近激光雷達(dá)(可能存在遮擋),如圖(b)所示
特征匹配
以下為具體步驟:
(1)將上一個 sweep 的所有點云按照估計出來的位姿投影到當(dāng)前 sweep 的開始處,并構(gòu)建 3D KD-tree
(2)對當(dāng)前 sweep 中已有的點云提取線特征和面特征,然后將其投影當(dāng)前 sweep 的開始處,并在 KD-tree 中尋找最近的點
(3)如圖(a)所示,對于當(dāng)前 sweep 線特征 i,在最近點 l 的上一條或者下一條線束中尋找另一個最近點 j(由特征提取性質(zhì)可知,同一線束不可能再找到另一個距離近的線特征),同時對這兩個最近點驗證是不是線特征。如圖(b)所示,對于面特征 i ,在最近點 j 的同一線束上尋找第二個最近點 l ,在最近點 j 的上一條或者下一條線束中尋找第三個最近點 m ,同時對這三個最近點驗證是不是面特征
注:在將當(dāng)前 sweep 中的點云投影到開始處時,利用時間比例和當(dāng)前的位姿變換對點進(jìn)行投影(雷達(dá)的運動在短時間內(nèi)是勻速的(旋轉(zhuǎn)角度不變,平移速度不變))
運動估計
利用 L-M 算法最小化如圖所示的兩種距離(點到線,點到面)
算法流程
建圖
每次 sweep 都會執(zhí)行一次。主要是與局部地圖匹配來 refine 當(dāng)前的位姿(局部地圖是邊長為 10 m 的立方體,并以 5 cm 大小的體素網(wǎng)格進(jìn)行濾波)
以下為具體步驟:
(1)利用局部地圖中的點云構(gòu)建 3D KD-tree
(2)對當(dāng)前 sweep 中的每一個特征,在 KD-tree 中尋找一定范圍的點來構(gòu)建集合 S’
(3)對于線特征,只保留 S’ 中的線特征,并利用 PCA 求解 S’ 的直線方向;對于面特征,只保留 S’ 中的面特征,并利用 PCA 求解 S’ 的法線方向。同時通過 S’ 的幾何中心可以確定直線或者面的位置
(3)對于線特征,在直線上選取兩個點構(gòu)造相應(yīng)的點到線距離;對于面特征,在面上選取三個點構(gòu)造相應(yīng)的點到面距離
(4)利用 L-M 算法來求解位姿
注:建圖中的特征提取與里程計中的一樣,只不過會使用更多的特征(10倍)
ALOAM代碼
Advanced implementation of LOAM,秦通實現(xiàn),是原版LOAM的改進(jìn)(原版已經(jīng)閉源),主要是使用Eigen和Ceres對代碼進(jìn)行重構(gòu),原版LOAM有大量的歐拉角計算,很難懂
柚子快報激活碼778899分享:LOAM論文閱讀筆記
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。