在多变环境中长期定位和建图的通用框架
點云PCL免費知識星球,點云論文速讀。
文章:A General Framework for Lifelong Localization and Mapping in Changing Environment
作者:Min Zhao, Xin Guo, Le Song, Baoxing Qin, Xuesong Shi, Gim Hee Lee, Guanghui Sun
編譯:點云PCL
歡迎各位加入免費知識星球,獲取PDF論文,歡迎轉發朋友圈。文章僅做學術分享,如有侵權聯系刪文。未經博主同意請勿擅自轉載。
論文閱讀模塊將分享點云處理,SLAM,三維視覺,高精地圖相關的文章。公眾號致力于理解三維視覺領域相關內容的干貨分享,歡迎各位加入我,我們一起每天一篇文章閱讀,開啟分享之旅,有興趣的可聯系微信dianyunpcl@163.com。
摘要
大多數現實場景中(如商場和超市)的環境隨時都在變化,不考慮這些更改的預構建建圖很容易過時。因此,有必要建立最新的環境地圖,以適配機器人的長期定位問題。為此,本文提出了一個通用的長期同步定位和建圖(SLAM)框架,該框架使用多部分地圖表示,并利用一種有效的地圖更新策略,包括地圖構建、位姿圖細化和稀疏化,為了減少內存使用的無限增長,我們提出了一種基于Chow-Liu最大互信息生成樹的地圖修剪方法。通過一個多月的機器人在真實超市環境中的部署,所提出的SLAM框架已經得到了全面的驗證。此外,我們還發布了從室內和室外變化環境中收集的數據集,希望能夠加速長期定位的SLAM研究,數據集可在
https://github.com/sanduan168/lifelong-SLAM-dataset
主要貢獻
典型的SLAM系統由前端和后端模塊組成,前端模塊從傳感器獲取數據,如激光雷達點云和相機圖像,并計算連續數據幀之間的位姿關系,后端模塊通過運行回環檢測來校正前端估計的漂移,為了應對環境變化,我們在前端和后端模塊的基礎上引入了地圖更新模塊,此地圖更新模塊執行以下操作:
在進行定位時收集傳感器數據并記錄動態場景。
檢測舊地圖和實時更新地圖之間的差異。
使用實時更新的地圖修剪舊地圖,從而在高效恒定的計算復雜度下跟上環境變化。
在本文中,作者提出了一個長期定位和建圖的一般框架,具體地說,該框架跟蹤場景中的變化,并維護最新的地圖,以便進行準確而穩健的定位估計,作者在超市環境中連續工作一個多月的真實商業機器人上測試了此方法。實驗結果表明,在環境發生重大變化的情況下,該方法能夠實現精確而魯棒的定位。本文的主要貢獻總結如下:
提出了一種在不斷變化的環境中完整的長期SLAM總體框架;
在保持計算和內存復雜性的情況下,有效運行一種基于子地圖的圖形稀疏化方法;
開放了在不斷變化的環境中,激光雷達、IMU和車輪編碼器數據的公共數據集,用于長期SLAM的研究。
主要內容
圖2,提出的長期SLAM框架概述
A.整體結構
如圖2所示該系統由三個子系統組成:局部激光雷達里程計(LLO)、全局激光雷達匹配(GLM)和位姿圖優化(PGR),LLO的作用是構建一系列局部一致的子地圖,GLM子系統負責計算傳入掃描點云和全局子地圖之間的相對約束,并將子映地圖和約束插入PGR,PGR是我們系統中最重要的部分,它從LLO和GLM收集子地圖和約束關系,修剪并保存在歷史地圖中的舊的子地圖,并執行姿勢圖稀疏化和優化。
B. Multi-session定位
地圖管理程序的方法基于圖3所示的地圖更新過程,部署到新環境中的機器人必須首先執行建圖,收集傳感器數據(包括激光雷達、IMU和車輪編碼器),并構建當前環境的地圖表示,該地圖由多個占用柵格子地圖組成,其中每個子地圖包括固定數量的具有相應位姿的激光雷達掃描數據。有兩個優點:
1)局部掃描點云到子地圖匹配,單個子地圖不受全局優化的影響;
2)通過修剪舊的子地圖并向其添加新子地圖中,可以方便地更新全局貼圖。
建圖階段結束后,機器人執行定位任務并從LLO創建新的子地圖,這些子地圖總是最新的,不斷記錄當前環境的最新特征,創建新的submap后,將其傳輸到PGR以進行后續的map更新,除LLO外,傳感器數據還輸入到GLM,GLM負責計算全局地圖中掃描點云和地圖之間的相對測量約束,并將約束輸出到PGR。PGR是框架的關鍵子系統,它分別從LLO和GLM接收新的子地圖和約束關系。PGR由三個模塊組成:子地圖修剪、位姿圖稀疏化和位姿圖優化。它通過替換舊會話中過時的子地圖來維護最新的子地圖。此外,為了保持姿態圖的稀疏特性,去除了相關的陳舊子地圖、節點和約束關系,來自PGR的其余子地圖被傳輸到全局子地圖數據庫,用于后續的定位任務,我們稱此過程為“地圖更新”。每個定位部分都重復上述步驟,以估計機器人的姿勢并獲得更新的地圖。
圖3,地圖更新過程的示意圖,在建圖階段的session0期間,首先構建一個新地圖,給定預先構建的地圖,機器人然后估計其姿勢,并在接下來的定位階段更新地圖。
C. 位姿圖優化
1)子地圖修剪:在長期定位的背景下,每當機器人重新進入之前訪問過的地形時,新的子貼地圖將被添加到全局地圖,而不是過時的子地圖,關鍵的想法是修剪舊的子地圖以限制其數量。大多數現有方法依賴于環境變化檢測。他們需要通過逐單元比較舊地圖和最新地圖,找出何時更新本地的地圖,為了降低計算復雜度,我們采用計算過時子地圖的重疊率,如果比率低于定義的閾值,則不會刪除舊的子貼圖,否則,它們將在以下位姿圖稀疏化模塊中標記為修剪和刪除,無論舊子地圖的狀態如何,新子貼圖都將添加到姿勢圖中。這種方法的優點是,我們可以為在固定區域工作的機器人保持恒定的計算時間。
2)位姿圖稀疏化:丟棄修剪子地圖的直接方法是拋出與子地圖連接的所有約束和節點,然而,這種方法會丟失很多關于位姿圖的信息,從而導致位姿圖的不穩定性,邊緣化是緩解這一問題的有效途徑,為了避免在所有變量對之間引入新邊,從而降低圖的稀疏性并大大增加計算復雜度,這里采用Chow-Liu樹將單個消除團近似為稀疏樹結構。
圖4示出了稀疏化過程,給定一個原始位姿圖(圖4(a)),在圖4(b)(藍色虛線矩形)中預定移除一個帶有兩個節點的子地圖,我們提取相關的子地圖和節點(圖4(b)中帶有紅色點圓的點)作為局部因子圖,在邊緣化子地圖和節點后,前鄰居形成一個消去團,使圖變得稠密(圖4(c))。
圖4,舉例說明了基于Chow–Liu最大互信息生成樹的圖稀疏化。(a) 未移除子地圖的原始位姿圖,(b) 選擇中央子地圖及其節點進行修剪。紅色虛線圓圈突出顯示具有藍色矩形約束的相關子地圖和節點。(c) 邊緣化后的結果,它們的前鄰居形成了一個消去團,使得位姿圖變得稠密(d) 由消除團的Chow–Liu樹近似得出的結果。(e) 將消除后并到原始姿勢圖中
實驗
A.實驗設置和數據集
圖5,該清潔機器人配備了一臺TiM571 2D激光雷達,它配備了用于航位推算的編碼器和HI219M AHRS(帶車載3-aixs加速計、3-aixs陀螺儀和3-aixs羅盤)。Intel SR300 RGBD攝像頭用于感知和避障
為了驗證我們的算法,我們在超市部署了一個三輪清潔機器人,如圖5所示。包括定位、導航和感知在內的算法模塊在配備Intel i5-4300M CPU和8G內存的工業計算機上執行,在一個月的時間里,機器人以隨機的起始位置在室內環境中執行清潔任務,我們選擇位于中國北京的一家超市作為實驗地點,因為它的人流、移動的手推車、貨物等高度動態,這對任何定位算法的準確性和穩定性都是一個巨大的挑戰。由于測試數據對于設計更魯棒的定位系統非常有價值,因此我們將其作為數據集收集并發布,以加速長期SLAM研究。數據集中的場景包括市場、車庫和辦公室,由2D激光雷達(Sick TiM571)和3D激光雷達(RoboSense RS-LiDAR-16)記錄,數據集還記錄其他傳感器數據,包括車輪編碼器和IMU,對于每個數據序列,我們仔細校準了設備內部的外部信息,特別是激光雷達和里程計之間的轉換,我們還以10 Hz的頻率提供了真值姿態,通過將激光雷達掃描與預先構建的一致地圖進行比較。
B.算法評估
圖12顯示了實驗結果,(a) (b)(c)是從市場收集的,每列中的左上角圖像和右上角圖像顯示在不同時間捕獲的大致相同的位置。左下方和右下方的圖像顯示了相應的地圖更新結果。應該注意的是,地圖的外觀與子地圖不同,因為為了方便查看,我們將子地圖切片連接到單個占用柵格地圖中,此外,我們在車庫場景中測試了我們的算法,(e)(f)(g)顯示了結果。圖6顯示了在市場上運行一個月后地圖變化的結果。(a) 是地圖階段的預構建地圖,(b)是基于(a)的更新地圖。
圖12,環境變化實例及相應的地圖更新實驗。(a)、(b)和(c)中的結果來自市場。(d)、(e)和(f)來自車庫
圖6 顯示了在超市里運行一個月后地圖變化的結果。(a) 是建圖階段的預構建地圖,(b)是基于(a)的更新地圖,我們比較這兩種地圖之間的差異如(c)所示。
圖7,25個超市數據的定位測試結果,每個算法左上角的百分比值為MRCL,右下角的百分比值為CRI
? 長期SLAM在多次地圖更新后的定位表現
總結
為了解決現實世界中的環境變化問題,我們提出了一個完整的可長期運行的SLAM框架,該方法利用多個定位會話和地圖更新策略,可以跟蹤場景變化并獲得最新地圖,提出了一種基于子地圖稀疏化方法,長期SLAM圖的復雜性,經過15次地圖更新后,節點和子貼圖的數量大致保持不變,計算負載隨地圖更新25次而變化,在Chow-Liu最大互信息生成樹上平衡計算復雜度和定位精度,一個多月來,在真實的超市中全面驗證了我們的方法,實驗表明,該方法在實際應用中具有一定的實用價值,此外,我們發布了我們的終身SLAM數據集,以加速這些場景中健壯的SLAM研究,然而,我們的方法目前沒有考慮到環境的意外急劇變化,更改可能會導致定位漂移,因為傳入掃描點云和地圖之間沒有有效的約束度量,在未來,我們計劃探索更健壯的定位算法來解決這個問題。
資源
三維點云論文及相關應用分享
【點云論文速讀】基于激光雷達的里程計及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方法介紹
掃描下方微信視頻號二維碼可查看最新研究成果及相關開源方案的演示:
如果你對本文感興趣,請點擊“原文閱讀”獲取知識星球二維碼,務必按照“姓名+學校/公司+研究方向”備注加入免費知識星球,免費下載pdf文檔,和更多熱愛分享的小伙伴一起交流吧!
以上內容如有錯誤請留言評論,歡迎指正交流。如有侵權,請聯系刪除
掃描二維碼
? ? ? ? ? ? ? ? ? ?關注我們
讓我們一起分享一起學習吧!期待有想法,樂于分享的小伙伴加入免費星球注入愛分享的新鮮活力。分享的主題包含但不限于三維視覺,點云,高精地圖,自動駕駛,以及機器人等相關的領域。
分享及合作:群主微信“920177957”(需要按要求備注) 聯系郵箱:dianyunpcl@163.com,歡迎企業來聯系公眾號展開合作。
點一下“在看”你會更好看耶
總結
以上是生活随笔為你收集整理的在多变环境中长期定位和建图的通用框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CloudCompare基础教程(1)-
- 下一篇: FAST-LIO2:快速直接的激光雷达与