机器人学习--粒子滤波SLAM/MCL定位参考资料+学习经验
學(xué)習材料1:
《概率機器人學(xué)》 谷歌無人駕駛之父?Sebastian Thrun等人著作。
注釋: 可能是本人智商有限,或者是移動機器人學(xué)領(lǐng)域的基礎(chǔ)知識了解不多。 剛剛看這本書的時候,尤其吃力,胡亂翻了幾頁,根本看不進去,看的目光呆滯,食欲不振。
? ? ? ? ? ?如果,同樣遇到類似的情況,無法耐心靜心全身心的從頭到尾看完,那說明可能是因為 先驗知識的不足,參考學(xué)習材料3:
?
學(xué)習方法建議: 假設(shè)學(xué)習這本書的讀者,已經(jīng)在Ubuntu OS中安裝 ROS ,至少跑過 gmapping 或 cartographer等 基于激光雷達傳感器的 SLAM建圖軟件。看到了效果,感性上大概知道怎么回事。然后想深入學(xué)習理論。
? ? ? ? ? ? ? ? ? ? ? ? ? 直接去啃英文論文當然是途徑之一,但是如果沒有先驗知識支撐的話,估計也看不懂; 直接去讀代碼的話,如果不是代碼小高手結(jié)合了解一點先驗知識,估計還是看不懂。以上所有,大牛大神高手除外。
中文版的書:建議提前搞清楚,移動機器人導(dǎo)航的三個問題:建圖、定位、slam(同時實現(xiàn)前兩者) 以及路徑規(guī)劃等了解一下。
? ? ? ? ? ? ? ? ? ? ? 然后,頭腦里記住一個概念,粒子濾波。貫穿 定位、建圖 slam。
? ? ? ? ? ? ? ? ? ? ? 然后,看書的第一、二章,先把貝葉斯濾波以及概率方面的基礎(chǔ)了解一下。搞清楚那個 預(yù)測 prediction 步驟 (運動模型 u ,用里程計);更新 correction/ updating/ innovation 步驟(觀測模型引入,z,激光雷達)? 的遞歸實現(xiàn)。
? ? ? ? ? ? ? ? ? ? ? 然后,別看卡爾曼濾波或者無跡卡爾曼濾波那些,方法以及過時了,而且深奧(沒有相關(guān)先驗知識的初學(xué)者而言),直接看第四章的信息濾波中的 粒子濾波,知道大概咋回事。
? ? ? ? ? ? ? ? ? ? ? 然后,看第五章的里程計運動模型,耐心的看一下閉式計算 和 采樣計算的幾個數(shù)學(xué)公式。(速度運動模型,是用于機器人未動之前 的概率運動規(guī)劃用的)(里程計運動模型是用于預(yù)測機器人下一時刻位姿用的。slam和定位中用的多)
? ? ? ? ? ? ? ? ? ? ? 然后,看第六章機器人感知(也就是觀測模型),整個內(nèi)容都值得看看。
插播一下:第五章的 運動模型,就是用于濾波方法的 預(yù)測階段; 第六章的感知模型或者觀測模型,就是用于濾波方法的 更新階段。至于是一個公式或者概率表達式,還是一堆粒子表示概率分布啥的,不重要,重要的先理解其 遞歸的精髓。
? ? ? ? ? ? ? ? ?假如不知道什么是遞歸( 去看看 計算機專業(yè)的 核心專業(yè)課之一 《數(shù)據(jù)結(jié)構(gòu)》或者 算法類似的書都有介紹)
? ? ? ? ? ? ? ? ? ? ?然后,過濾掉第七章的 馬爾可夫與高斯定位,先不要看,不要看,不要看; 直接看 第8章的 柵格與蒙特卡洛定位,重點是 MCL定位,以及其 各種改進版本, 合在一起是 AMCL。? (粒子濾波定位部分)
? ? ? ? ? ? ? ? ? ? ?然后,看地圖構(gòu)建部分,占用柵格地圖的構(gòu)建? ? (構(gòu)建地圖部分)
? ? ? ? ? ? ? ? ? ? ?然后,SLAM部分,過濾掉10-12章,直接看 第13章的 FastSLAM算法。大概看一下,有個概念和印象。?
? ? ? ? ? ? ? ? ? ? ?最后,去看一下 gmapping論文,以及它參考的 Raw Blackwellizaed啥的論文。
? ? ? ? ? ? ? ? ? ? ?完事!
如果,這一遍下來,感覺不明顯,那么就循環(huán)來個三五遍,絕對有所收獲。 等真正有所感悟和認知的時候,可以把 這本天書的其他章節(jié)瞅一眼看看。
補充: 網(wǎng)上有很多說,別看濾波的SLAM,直接看圖優(yōu)化的SLAM,比如說 cartographer,? 這個感覺有點太絕對了,畢竟,玩移動機器人的孩子們,不能吊死在 slam 這個技術(shù)上, 這些slam 也就機器人使用時 建個初始地圖而已, 后期不還是定位、導(dǎo)航、路徑規(guī)劃,以及更高級的應(yīng)用需求么。
?
學(xué)習材料2:
注釋:如果以上天書,特別是中文翻譯版 看的比較吃力的話,可以直接看英文版如下資料。
? ? ? ? ?(中文版吃力的原因: 可能是英文原版翻譯過程中很多不地道 或者錯誤部分。最簡單的就是粒子濾波定位中的地圖m,原版是加粗的,中文版小寫,更奇葩的是循環(huán)變量居然也用m,,,而且中文版翻譯有不少漏譯或者錯譯,變量符號弄錯的地方)
德國弗雷堡大學(xué)的??Cyrill Stachniss 和 Wolfram Burgard 兩位教授,大咖的總結(jié)材料。
(前者是大名鼎鼎的 gmapping的作者之一; 后者也是激光slam和定位方面的大佬,和Sebastian Thrun (谷歌無人駕駛之父)合作的驚世駭俗的《概率機器人學(xué)》著作)
《Particle Filters for Robot Navigation》
該電子版材料,詳細地講述了 粒子濾波從貝葉斯濾波開始的推導(dǎo)。粒子濾波在定位、建圖、SLAM以及主動探測中的有應(yīng)用。(相當于把《概率機器人學(xué)》中關(guān)于粒子濾波的很多內(nèi)容,單獨提取出來,整理成系統(tǒng)的內(nèi)容,比較值得一看)
?
注釋:以上講解的粒子濾波在機器人的slam用法中,都是指的是激光雷達傳感器。 視覺slam又是另外一回事了。 這么好的東西,不敢獨享,只要5個積分(因為有時候我去下載別人的資料也要積分,所以請包涵沒有設(shè)置免費 ): https://download.csdn.net/download/GGY1102/16299627 解壓密碼:123456 為了避開CSDN的審核,里面加了一些附加碩士論文。 此外,還有一本介紹機器人導(dǎo)航控制方面的電子書。學(xué)習材料3:
如果是對移動機器人領(lǐng)域了解太少的小白,可以參考這本書《自主移動機器人導(dǎo)論》,很經(jīng)典的一本入門介紹書,涵蓋 移動機器人的機械結(jié)構(gòu)、定位、建圖、slam、路徑規(guī)劃等多方向內(nèi)容的介紹。
注釋: 看完之后就知道 移動機器人領(lǐng)域該干啥了, 和傳統(tǒng)的工業(yè)機械臂等 還是有很大的區(qū)別的。移動機器人中有路徑規(guī)劃,path planning; 工業(yè)機械臂的叫 運動規(guī)劃 motion planning。
對于想做移動機器人 定位、建圖、SLAM(聲吶、激光等測距傳感器的SLAM)方面的學(xué)習值得參考;很經(jīng)典的書籍; 英文和中文版都有了 第二版;? 部分內(nèi)容和《概率機器人》有點交集,可以結(jié)合著一起看。:
下載鏈接:https://download.csdn.net/download/GGY1102/13255974
總結(jié)
以上是生活随笔為你收集整理的机器人学习--粒子滤波SLAM/MCL定位参考资料+学习经验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器人学习--Turtelbot3学习-
- 下一篇: 编程语言学习--C语言学习资料