F-LOAM:基于激光雷达的快速里程计和建图
文章:F-LOAM : Fast LiDAR Odometry and Mapping
作者:Han Wang, Chen Wang, Chun-Lin Chen, and Lihua Xie
github:https://github.com/wh200720041/floam
編譯:點云PCL
本文僅做學術分享,如有侵權,請聯系刪除。歡迎各位加入免費知識星球,獲取PDF論文,歡迎轉發朋友圈。內容如有錯誤歡迎評論留言,未經允許請勿轉載!
公眾號致力于分享點云處理,SLAM,三維視覺,高精地圖相關的文章與技術,歡迎各位加入我們,一起每交流一起進步,有興趣的可聯系微信:920177957。本文來自點云PCL博主的分享,未經作者允許請勿轉載,歡迎各位同學積極分享和交流。
摘要
同時定位與建圖(SLAM)在機器人領域有著廣泛的應用,如自動駕駛和無人駕駛等領域。一個好的SLAM系統其計算效率和定位精度是至關重要?,F有的基于激光雷達的SLAM研究通常將問題描述為兩個模塊:點云幀到點云幀匹配和點云幀到地圖匹配。這兩個模塊都是通過迭代計算來解決的,計算量很大。
在本文提出了一個通用的解決方案,旨在為基于激光雷達的SLAM提供一個計算效率高、精度高的框架。具體來說,我們采用了一種非迭代的兩級失真補償方法來降低計算量。對于每個掃描輸入,提取邊緣和平面特征,分別匹配到局部邊緣圖和局部平面圖,并考慮局部平滑度進行迭代姿態優化。通過深入的實驗評估了其在具有挑戰性的場景中的性能,包括倉庫自動導引車(AGV)的定位和自動駕駛的公共數據集。該方法在公共數據集評估中以10hz以上的處理率獲得了很好的定位精度,為實際應用提供了性能和計算成本之間的良好折衷。該方法目前是KITTI數據集排名中最準確、最快的開源SLAM系統之一。
圖1:在KITTI數據集上提出的方法的示例(a) 顯示序列05上的建圖的結果。(b)是通過整合攝像機視圖重建的三維道路景觀(c) 繪制從F-LOAM到地面的軌跡。
介紹
估計兩個點云幀之間變換的最經典方法是迭代最近點(ICP),其中兩個點云幀通過最小化點云距離迭代對齊。然而,優化過程中涉及大量的點,計算效率低下。另一種方法是匹配計算效率更高的特征。一個典型的例子是激光雷達里程計和建圖(LOAM),它主要思路是提取邊緣和平面特征,并通過最小化點到平面和點到邊緣的距離來計算姿態。然而,畸變補償和激光里程計都需要迭代計算,這仍然是昂貴的計算。
本文介紹了一種輕量型激光雷達SLAM,旨在為公眾提供一種實用的實時激光雷達SLAM解決方案。提出了一種結合特征提取、失真補償、姿態優化和建圖的新框架。與傳統方法相比,本文采用了非迭代的兩級失真補償方法來代替計算效率低下的迭代失真補償方法。在連續掃描點云幀中,具有較高局部平滑度的邊緣特征和具有較低平滑度的平面特征通常是一致的。這些點對于匹配更為重要。為了提高定位精度,在迭代姿態估計中還考慮了局部幾何特征。它能夠在低功耗的嵌入式計算單元上實現高達20hz的實時性能。
為了證明該方法的魯棒性,對該方法進行了全面的評價,包括室內和室外實驗。與現有的最新方法相比,該方法能夠以較低的計算代價獲得具有競爭力的定位精度,這是性能和速度之間的一個很好的折衷。值得注意的是,所提出的方法是KITTI基準中最準確和最快的開源方法之一。
主要內容
A 傳感器模型與特征提取
機械式三維激光雷達通過旋轉一個尺寸為M的垂直排列的激光束陣列來感知周圍的環境。它用M個平行讀數掃描垂直面。在每個掃描間隔期間,激光陣列在水平面上以恒定速度旋轉,同時激光測量按順時針或逆時針順序進行。
原始點云匹配方法(如ICP)對噪聲和動態對象(如人類)非常敏感,可用于自動駕駛。此外,激光雷達掃描包含數以萬計的點,這使得ICP計算效率低下。與ICP等原始點云匹配方法相比,特征點匹配在實際應用中更具魯棒性和效率。為了提高匹配精度和匹配效率,這里利用點云數據的表面特征和邊緣特征,同時剔除了噪聲或不太顯著的點。如上所述,三維機械激光雷達返回的點云在垂直方向上是稀疏的,在水平方向上是稠密的。因此,水平方向的特征更加明顯,在水平方向上進行錯誤特征檢測的可能性較小。對于每一個點云,我們聚焦在水平面上,并通過計算局部曲面的平滑度。
B 運動估計與失真補償
在LOAM和LeGO LOAM等現有方案中,通過點云幀對點云幀匹配來校正失真,該匹配方法迭代地估計兩個連續激光掃描點之間的轉換。然而,要找到變換矩陣需要迭代計算,計算效率很低。在本篇論文中提出使用兩級失真補償來降低計算成本。請注意,大多數現有的三維激光雷達能夠以10赫茲以上的頻率運行,兩次連續激光雷達掃描之間的時間通常非常短。因此,我們可以先假設短時間內的角速度和線速度恒定,來預測運動并校正畸變。在第二階段,在姿態估計過程之后,將重新計算畸變,并且將重新計算的未畸變特征更新到最終的地圖。
C 姿態估計
全局特征點地圖由邊緣特征和平面特征組成,分別進行更新和維護。為了減少搜索的計算量,邊緣特征地圖和平面特征地圖都存儲在三維KD樹中。通過從邊緣和平面特征圖中收集附近的點來估計全局線和平面。對于每個邊緣特征點, 從全局邊緣特征圖中計算其附近點的協方差矩陣。當點分布在一條直線上時,協方差矩陣包含一個更大的特征值。將與最大特征值相關的特征向量視為直線方向,直線的位置視為附近點的幾何中心。類似地,對于每個平面特征點,這里可以得到一個具有位置和曲面范數的全局平面。注意,與全局邊不同,全局平面的范數作為與最小特征值相關的特征向量。
D?建圖與失真補償
全局地圖由邊緣特征地圖和平面特征地圖組成,并基于關鍵幀進行更新。當平移變化大于預定義的平移閾值或旋轉變化大于預定義的旋轉閾值時,將選擇作為關鍵幀。與逐幀更新相比,基于關鍵幀的地圖更新可以減少計算量。如上所述,為了降低計算成本,基于恒定速度模型而不是迭代運動估計來執行失真補償。
實驗
A? 實驗設備
為了驗證該算法,我們在大尺度室外環境和中等尺度室內環境下對F-LOAM進行了評估。對于大規模實驗,我們在KITTI數據集上評估了我們的方法,KITTI數據集是SLAM評估中最流行的數據集之一。然后將該算法集成到倉儲物流中。首先在模擬倉庫環境下進行了驗證,然后在AGV平臺上進行了測試。
B 在公共數據集的評估
首先在廣泛用于戶外定位評估的KITTI數據集上測試了我們的方法。數據集是從一輛裝有Velodyne HDL-64激光雷達、相機和GPS的汽車上收集的。大多數最先進的SLAM方法都是在此數據集上進行評估的,例如ORB-SLAM、VINS Fusion、LIMO和LSD-SLAM。為了驗證算法的魯棒性,我們對KITTI數據集的所有序列(包括高速公路、市中心、縣道、居民區等不同場景)進行了評估。
? ? ? ? ? ? ? ? ?圖3:KITTI數據集序列00-10上不同定位方法的比較。
C 倉儲物流實驗
在本實驗中,我們的目標是建立一個自主的倉儲機器人來取代人工主導的制造業。AGV設計用于執行日常任務,如運輸。這就要求機器人平臺在復雜的環境中主動定位。
1) 仿真環境:首先在一個仿真環境中驗證我們的算法。仿真環境建立在Gazebo和Linux-ubuntu18.04上。如圖4(a)所示,我們使用虛擬先鋒機器人和虛擬Velodyne VLP-16作為地面車輛平臺。模擬環境重建了一個復雜的倉庫環境,包括各種對象,如移動的工人、貨架、機器等。
圖4:具有靜態和動態對象的模擬倉庫環境(a) 露臺模擬環境(b) 模擬先鋒機器人和Velodyne激光雷達進行評估(c) F-LOAM與地面真值的軌跡比較。
2) 實驗:為了進一步驗證我們的方法的性能,我們在一個實際的用于智能制造的AGV上實現了F-LOAM。如圖5(b-e)所示,倉庫環境由三個主要區域組成:自動充電站、物料搬運區和制造站。一個完全自主的工廠需要機器人將材料運送到制造機器上進行裝配和收集產品。所有這些操作都需要精確定位,以確??煽啃院桶踩浴S糜跍y試的機器人平臺如圖5(a)所示,并配有Intel NUC微型計算機和Velodyne VLP-16傳感器。定位和建圖結果如圖5所示。在這種情況下,機器人自動探索倉庫,并使用所提出的方法同時構建地圖。
圖5:倉庫環境中的壤土(a) 用于實驗的自動引導車(b-e)為AGV操作構建的先進工廠環境,包括操作機器、自動充電站和存儲架。中心圖像:倉庫定位和建圖的F-LOAM結果。
3) 性能評估
本文提出的方法也在裝有 VICON 系統的室內進行了測試,以評估其定位精度。機器人被遙控在測試區域內移動。結果如圖6所示,其中F-LOAM軌跡和地面真實軌跡分別以綠色和紅色繪制。可以看出,我們的方法可以精確地跟蹤機器人的姿態。與 VICON 系統提供的地面真值相比,它的平均定位精度達到2厘米。
圖6:所提出的方法與地面真值的比較。該方法能精確跟蹤機器人的位姿,平均定位誤差為2cm
定位精度和計算成本的對比
總結
本文提出了一個計算效率高的LiDAR-SLAM框架,旨在為有限計算資源的機器人應用提供一個良好的解決方案。與傳統方法相比,我們提出使用非迭代的兩級失真補償來減少計算量。另外,在連續掃描點云幀過程中,通常會提取局部平滑度較高的邊緣特征和平滑度較低的平面特征,這對于掃描幀與地圖的匹配更為重要。因此,在迭代姿態估計中也考慮了局部幾何特征。為了驗證該方法在實際應用中的魯棒性,進行了深入的實驗,包括仿真、室內AGV試驗和室外自主駕駛試驗。在室內測試中平均定位精度達到2cm,是KITTI數據集中最準確、最快的開源方法之一。
資源
三維點云論文及相關應用分享
【點云論文速讀】基于激光雷達的里程計及3D點云地圖中的定位方法
3D目標檢測:MV3D-Net
三維點云分割綜述(上)
3D-MiniNet: 從點云中學習2D表示以實現快速有效的3D LIDAR語義分割(2020)
win下使用QT添加VTK插件實現點云可視化GUI
JSNet:3D點云的聯合實例和語義分割
大場景三維點云的語義分割綜述
PCL中outofcore模塊---基于核外八叉樹的大規模點云的顯示
基于局部凹凸性進行目標分割
基于三維卷積神經網絡的點云標記
點云的超體素(SuperVoxel)
基于超點圖的大規模點云分割
更多文章可查看:點云學習歷史文章大匯總
SLAM及AR相關分享
【開源方案共享】ORB-SLAM3開源啦!
【論文速讀】AVP-SLAM:自動泊車系統中的語義SLAM
【點云論文速讀】StructSLAM:結構化線特征SLAM
SLAM和AR綜述
常用的3D深度相機
AR設備單目視覺慣導SLAM算法綜述與評價
SLAM綜述(4)激光與視覺融合SLAM
Kimera實時重建的語義SLAM系統
SLAM綜述(3)-視覺與慣導,視覺與深度學習SLAM
易擴展的SLAM框架-OpenVSLAM
高翔:非結構化道路激光SLAM中的挑戰
SLAM綜述之Lidar SLAM
基于魚眼相機的SLAM方法介紹
往期線上分享錄播匯總
第一期B站錄播之三維模型檢索技術
第二期B站錄播之深度學習在3D場景中的應用
第三期B站錄播之CMake進階學習
第四期B站錄播之點云物體及六自由度姿態估計
第五期B站錄播之點云深度學習語義分割拓展
第六期B站錄播之Pointnetlk解讀
[線上分享錄播]點云配準概述及其在激光SLAM中的應用
[線上分享錄播]cloudcompare插件開發
[線上分享錄播]基于點云數據的?Mesh重建與處理
[線上分享錄播]機器人力反饋遙操作技術及機器人視覺分享
[線上分享錄播]地面點云配準與機載點云航帶平差
如果你對本文感興趣,請后臺發送“知識星球”獲取二維碼,務必按照“姓名+學校/公司+研究方向”備注加入免費知識星球,免費下載pdf文檔,和更多熱愛分享的小伙伴一起交流吧!
以上內容如有錯誤請留言評論,歡迎指正交流。如有侵權,請聯系刪除
掃描二維碼
? ? ? ? ? ? ? ? ? ?關注我們
讓我們一起分享一起學習吧!期待有想法,樂于分享的小伙伴加入免費星球注入愛分享的新鮮活力。分享的主題包含但不限于三維視覺,點云,高精地圖,自動駕駛,以及機器人等相關的領域。
分享及合作方式:微信“920177957”(需要按要求備注) 聯系郵箱:dianyunpcl@163.com,歡迎企業來聯系公眾號展開合作。
點一下“在看”你會更好看耶
總結
以上是生活随笔為你收集整理的F-LOAM:基于激光雷达的快速里程计和建图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ArUco与AprilTag简介
- 下一篇: 学习PCL库你应该知道的C++特性