基於激光雷達的SLAM算法對比分析


本篇主要記錄目前在ROS下開源的幾種基於激光雷達的SLAM算法的特點以及優劣,目的在於對日后工作中選擇合適的算法提供指導,因此,下面將Karto,Hector,Gmapping,Cartographer等幾種開源算法通過列表的形式進行了對比:

Hector

Gmapping

Karto

cartographer

scan-matching(Gaussian-Newton equation) +傳感器的要求高

mapping采用的是RBPF的方法

KartoSLAM是基於圖優化的方法,用高度優化和非迭代 cholesky矩陣進行稀疏系統解耦作為解.

artographerGoogle的實時室內建圖項目,傳感器安裝在背包上面,可以生成分辨率為5cm2D格網地圖

 要求: 高更新頻率小測量噪聲的激光掃描儀.不需要里程計,使空中無人機與地面小車在不平坦區域運行存在運用的可能性.

粒子濾波的方法一般需要大量的粒子來獲取好的結果,但這必會引入計算的復雜度;粒子是一個依據過程的觀測逐漸更新權重與收斂的過程,這種重采樣的過程必然會代入粒子耗散問題(depletion problem), 大權重粒子顯著,小權重粒子會消失(有可能正確的粒子模擬可能在中間的階段表現權重小而消失).

 圖優化方法利用圖的均值表示地圖,每個節點表示機器人軌跡的一個位置點和傳感器測量數據集,箭頭的指向的連接表示連續機器人位置點的運動,每個新節點加入,地圖就會依據空間中的節點箭頭的約束進行計算更新.

獲得的每一幀laser scan數據,利用scan match在最佳估計位置處插入子圖(submap)中,且scan matching只跟當前submap有關。在生成一個submap后,會進行一次局部的回環(loop close),利用分支定位和預先計算的網格,所有submap完成后,會進行全局的回環。

利用已經獲得的地圖對激光束點陣進行優化, 估計激光點在地圖的表示,和占據網格的概率.

為避免局部最小而非全局最優的出現,地圖采用多分辨率的形式.

 自適應重采樣技術引入減少了粒子耗散問題 , 計算粒子分布的時候不單單僅依靠機器人的運動(里程計),同時將當前觀測考慮進去, 減少了機器人位置在粒子濾波步驟中的不確定性.

KartoSLAMROS版本,其中采用的稀疏點調整(the Spare Pose Adjustment(SPA))與掃描匹配和閉環檢測相關.landmark越多,內存需求越大,然而圖優化方式相比其他方法在大環境下制圖優勢更大.在某些情況下KartoSLAM更有效,因為他僅包含點的圖(robot pose),求得位置后再求map.

submap的構造是一個重復迭代配准scansubmap的過程。利用配准估算出posescan進行剛體變換,插入到submap中。

連續的scan用來構造submap,這里submap以概率格網的形式表現。每一個scan,在插入格網(submap)時,每一個gridhitsmiss兩種情況。離scan終點最近的gridhits,在scan原點和終點之間相交的gridmiss。之前未觀察的grid分配一個概率,已觀察的grid進行概率更新。

在總結的時候主要參考了,下述的兩篇博客,在此表示感謝。

https://blog.csdn.net/u012700322/article/details/52953768

https://blog.csdn.net/zyh821351004/article/details/47381135

 


免責聲明!

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



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