2D-slam 雷射slam: 開原始碼的比較HectorSLAM Gmapping KartoSLAM CoreSLAM LagoSLAM

來源:互聯網
上載者:User

標籤:

最近找到一篇論文比較了一下 目前ros下2D雷射slam的開原始碼效果比較:

詳細參見論文:   An evaluation of 2D SLAM techniques available in robot operating system

1. 演算法介紹

A . HectorSLAM
    scan-matching(Gaussian-Newton equation)  +  感應器的要求高

  要求: 高更新頻率小測量雜訊的雷射掃描器.  不需要裡程計,使空中無人機與地面小車在不平坦地區運行存在運用的可能性.

   利用已經獲得的地圖對雷射束點陣進行最佳化, 估計雷射點在地圖的表示,和佔據網格的機率.

  其中掃描匹配利用的是高斯牛頓的方法進行求解. 找到雷射點集映射到已有地圖的剛體轉換(x,y,theta).

  ( 接觸的匹配的方法還有最近鄰匹配的方法(ICP) ,gmapping代碼中的scanmatcher部分有兩種方法選擇.   )

  為避免局部最小而非全域最優的(類似於多峰值模型的,局部梯度最小了,但非全域最優)出現,地圖採用多解析度的形式.

  導航中的狀態估計可以加入慣性測量,進行EKF濾波.


B.   Gmapping
    proposed by Grisetti et al. and is a Rao-Blackwellized PF SLAM approach.
    adaptive resampling technique

 目前雷射2dslam 用得最廣的方法,gmapping採用的是RBPF的方法. 必須得瞭解粒子濾波(利用統計特性描述物理運算式下的結果)的方法.

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

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


C. KartoSLAM
    graph-based SLAM approach developed  by SRI International’s Karto Robotics
    highly-optimized and non iterative Cholesky matrix decomposition for sparse linear systems as its solver
    the Sparse Pose Adjustment (SPA) is responsible for both scan matching and loop-closure procedures

     Karto Open Libraries 2.0  SDK(Karto Open Libraries 2.0 is available under the LGPL open source license. You can try the full Karto SDK 2.1 for 30 days.) 後面在詳細研究下(比較下MRPT庫)

       圖最佳化的核心思想我認為主要就是 矩陣的稀疏花與最小二乘..參見graph slam學習:g2o

  KartoSLAM是基於圖最佳化的方法,用高度最佳化和非迭代 cholesky矩陣進行稀疏系統解耦作為解. 圖最佳化方法利用圖的均值表示地圖,每個節點表示機器人軌跡的一個位置點和感應器測量資料集,箭頭的指向的串連表示連續機器人位置點的運動,每個新節點加入,地圖就會依據空間中的節點箭頭的約束進行計算更新.

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


D. CoreSLAM
    tinySLAM algorithm: two different steps(distance calculation and update of the map
     simple and easy

   為了簡單和容易理解最小化效能損失的一種slam演算法.將演算法簡化為距離計算與地圖更新的兩個過程,  第一步,每次掃描輸入,基於簡單的粒子濾波演算法計算距離,粒子濾波的匹配器用於雷射與地圖的匹配,每個濾波器粒子代表機器人可能的位置和相應的機率權重,這些都依賴於之前的迭代計算. 選擇好最好的假設分布,即低權重粒子消失,新粒子產生..在更新步驟,掃描得到的線加入地圖中,當障礙出現時,圍繞障礙點繪製調整點集,而非僅一個孤立點.



E. LagoSLAM
      Linear Approximation for Graph Optimization
      the optimization process requires no initial guess

         基本的圖最佳化slam的方法就是利用最小化非線性非凸代價函數.每次迭代, 解決局部凸近似的初始問題來更新圖配置,過程迭代一定次數直到局部最小代價函數達到. (假設起始點經過多次迭代使得局部代價函數最小).  LagoSLAM 是線性近似圖最佳化,不需要初始假設.  最佳化器的方法可以有三種選擇 Tree-based netORK Optimizer(TORO), g2o,LAGO



2. 實驗結果比較

分別從大小模擬環境和實際環境以及cpu消耗的情況下對演算法進行了比較. CartoSLAM 與gampping占很大優勢


說明:能力有限,講得有問題歡迎指正,暫且粗解到這,後面再具體看看對應演算法的詳細論文介紹,有問題再改...



著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

2D-slam 雷射slam: 開原始碼的比較HectorSLAM Gmapping KartoSLAM CoreSLAM LagoSLAM

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.