前言
由於網絡上關於機器人導航領域沒有太系統的中文教材系列。所以我剛開始進入這個領域時也困於不知從何下手。開設這個博客目的是希望把機器人領域一些經典的算法。作出系統性的解析和教學。
我希望也嘗試從以下3步對每一種算法作出中文的最詳細的教學。也是對所知所學留下的記錄。
- 論文角度入手,對每種算法作出系統和學術的闡述
- 我對算法直覺上的理解
- 手擼的方式,重寫代碼
1的意義自然不用提。最系統的理解都是從論文下手。2的意義在於我認為沒有直覺上的理解,一切的公式都浮在紙面,不實而且容易忘記。3用於確認真正的理解,正如我博客的小標題“紙上得來終覺淺,絕知此事要躬行”,把所學到的再親手實現一次。當然我們的目的是理解所以並不太關心執行效率。所有代碼盡量用簡單易懂的python來完成(也不是完全不作優化,必要也考慮部分移植為C/C++)。
第一個系列,就從建圖領域有名的HectorSLAM開始說起。
我的手擼版HectorSLAM代碼放在:https://github.com/scomup/lslam
參考的論文為以下:
A flexible and scalable SLAM system with full 3D motion estimation
以下的URL可以獲得免費的下載:
HectorSLAM系列計划根據以下目錄分多次寫完。
目錄
- HectorSLAM的整體邏輯
- 地圖結構
- 激光匹配
- 地圖更新
- 500行代碼重寫一個LidarSLAM
- 測試數據的准備,和測試數據讀取模塊的編寫
- GUI編寫
- 地圖模塊的編寫
- 核心模塊的編寫
- 主循環
- 匹配算法