接觸SLAM有半年左右,這段時間,我們跟進最新的開源算法,並根據實際情況修改了一些算法源碼,實現機器人的slam、路徑規划和避障行為。而我也從一個距離門口18條大街的小白順利入了門。
之前由於基礎薄弱,對計算機視覺、SLAM、機器人導航的一些概念不太明確,導致在選方案和傳感器的時候,大方向有點模糊,沒能跳出局部看全局,走了一些彎路。隨着學習的深入,對一些基礎知識也有了相對清晰的概念,最近試着梳理了一下相關的東西,也算是自己總結。
先祭出一張我自己徒手畫的框圖:
1、之前一直認為,機器人導航用的地圖就應該是SLAM輸出的地圖,但在圖優化時代,visual slam輸出的地圖,似乎只是用來追蹤攝像機軌跡的。機器人在獲得相機pose后,需要借助其他傳感器,如激光雷達等,來構建導航端需要的障礙物地圖。也就是說,導航用的地圖和visual slam輸出的地圖不用混為一談。
2、slam是屬於計算機視覺的一個分支,如果要用視覺做一些其他的應用,比如一些視覺交互和識別等,由於視覺計算比較消耗資源,在系統硬件架構上不應該與slam放在一起做,本身也應該是兩個不同的研究方向和應用場景。
3、cv、slam、機器人導航,會有一些交叉,但是本質上是屬於不同的研究方向,各自有各自的方法和難點,如果團隊想要做得比較深入,應該三部分研究工作由不同的人來承擔。我司現在就略為混亂,基本上每個人都涉及到了這三個方向,這樣效率會比較低。
以上是我自己梳理的東西,比較基礎,有的也是顯而易見的東西,若有錯誤的地方,希望看到的朋友能不吝賜教。越學習越感覺自己的無知,需要學習的東西太多了。