標籤:

新手要學slam,有什麼推薦嗎?


小夥伴們抬愛了……

------------------------------------------------------------------------------------------------------------------------------------------

1、首先是代碼環境問題。最好是Ubuntu+ROS的,畢竟大部分已有的開源演算法都有相應的ROS implementation的,起碼先跑跑別人的代碼看看效果。效果不好,咱就不學。

我本來對ROS是拒絕的,然後我就把大量時間放到了感測器的驅動和結果的顯示上,但是slam最核心的東西在演算法上啊啊啊啊!!!!!ROS幫你搞定了驅動和顯示,是個不錯的選擇。但是,如果是做商業產品的話,前面的話當我沒說過。

2、其次,根據你的感測器,會有不同的slam演算法

2.1--早期的2d激光雷達比較多一些,典型的就是Ros裡面的gmapping演算法,對應的教材是《Probabilistic Robotics》。切記:ROS裡面有很多模擬平台,初學者可以不必操作實際的機器人。

2.2---後面出了很多的基於視覺的slam演算法,這也叫做vslam。從Andrew Davison最早的Monoslam,到經典的PTAM演算法,以及最近幾年風生水起的lsd-slam、svo、orb-slam三劍客。當然他們都是單目的演算法了,無法得到精確的meric scale。硬體嘛,感覺一個20多塊的普通usb攝像頭就可以了。我不搞雙目,雙目不了解。

視覺不得不提的教材是《Multiple View Geometry in Computer Vision》來自 Richard Hartley

,然後學習點opencv真真是極好了,減少對matlab的依賴。

2.3--Kinect也算是比較經典的感測器,對應的演算法也是挺多的,從最早的來自TUM的RGBD-SLAM到擁有讓人眼紅的在線閉環檢測機制的RTAB-MAP,這些都是不錯的經典演算法。

新出的ORBSLAM2也是可以跑Kinect2的,而且效果還不錯。

我還是希望初學者能夠在線跑Kinect,而不是用別人做好的dataset.

3、新手如何入門?新手最好先看看一些開源的代碼,配合論文的閱讀。

單目的話,可以先看看orbslam,為什麼特別推薦呢?因為在orbslam的論文和代碼中,新手會接觸到一下視覺slam中幾個重要的問題①active match;②PnP問題;③地圖初始化;④閉環檢測;⑤局部的光束平差法和全局的優化………………

rgbd的話,可以先看看來自TUM的RGBD-SLAM,算是早期的演算法,都是一些基礎的問題吧

--------------------------------------------------------------------------------------------------------------------------------------------

PS:想學slam,居然不加slam群。年輕人,你這樣很危險啊!1群滿了,請加2群374238181

入群請註明姓名+學校啊!!!!

點擊鏈接加入群【SLAM研究者群-A2】:二維碼頁面


個人經驗,最簡單的,最容易獲得階段成就感的,是學習ROS 的navigation stack


謝邀,MRPT網站上有演算法列表以及對應的paper。不過我不是做演算法的,只能做到用一下,理解不了。


看來今年很火啊.

搜索SLAM出來幾個問題都是幾年的

OpenSLAM.org 這個網站收集了各種slam


推薦閱讀:

如何理解機器人的魯棒性 (robustness),高低有何體現?
非線性觀測器有幾種?哪些用的比較多?分別有什麼優缺點?
如何看待Ninebot想做家用機器人?
如何理解SLAM中的First-Estimates Jacobian?
你讀過哪些機器人、無人機、自動控制等方面的,讓你眼前一亮的論文?

TAG:機器人 |