1. 程式人生 > >初始視覺里程計

初始視覺里程計

起因

臨近大四的時候,被告知畢業設計要做與機器人相關的題目。於是導師給了一個足球場上實現移動機器人視覺自定位的功能。拿到這個題目,萬般無奈,毫無頭緒,身邊的人也沒有搞過這個的,根本不知道這個東西到底是個啥。查看了很多很多文章,都是很多的理論性的東西,對於想實現但基本零基礎的我來說真的是毫無用處,於是到處加了QQ群也沒人搭理,又在部落格上到處留言也無果。當時真的是很絕望,一次又一次的起不了步。

在萬般無奈後,打算先整一個程式來跑一跑可能要好一點,在CSDN和github到處搜尋,懵懵懂懂的瞭解到一些什麼SVO,Mono,SLAM,OpenCV,Qt等詞彙。也下載了好幾個程式就是跑不出來,最後在部落格上看到

單目視覺里程計mono vo 看效果很不錯的樣子,然後就激動的就先做了一個Ubuntu系統,在Git上下載了程式碼,按照超級簡單的README,不出意料,編譯啥的到處都是錯。跑別人的程式就是這樣,系統環境不一樣,各種依賴的庫檔案,出現了error也沒有能力去解決,只能到處搜問題找答案,能解決就解決,不能解決也就只能那樣,於是又陷入了無奈的無奈。

開始入坑

我也看了馮兵的部落格 ,跟著做了一點,發現也是到處都是錯,也沒人幫忙。 後來消沉了一段時間後,遇到一個大神告知我去跑視覺ORB_SLAM2 的程式看看,感覺又有了希望,趕緊看了看。

SLAM (simultaneous localization and mapping),也稱為CML (Concurrent Mapping and Localization), 即時定位與地圖構建,或併發建圖與定位。問題可以描述為:將一個機器人放入未知環境中的未知位置,是否有辦法讓機器人一邊逐步描繪出此環境完全的地圖,所謂完全的地圖(a consistent map)是指不受障礙行進到房間可進入的每個角落。機器人在未知環境中從一個未知位置開始移動,在移動過程中根據位置估計和地圖進行自身定位,同時在自身定位的基礎上建造增量式地圖,實現機器人的自主定位和導航。

再漂亮的數學理論,如果不能轉化為可以執行的程式碼,那就仍是可望而不可即的空中樓閣。接下來我便要開始來跑跑這個程式了,程式跑出了之後再去看理論,理論知識不可少,大神告訴我清華博士高翔的 這本書也是必看的書視覺SLAM十四講 。在實驗室找到了這本書,有點小激動,心裡有點底了,之後我會記錄一些跑這個程式的點滴。不知有沒有也處於困惑無奈困惑無奈迴圈不出的朋友,我們可以共同探討一下。

人生就是這樣,你永遠不會知道你目前所經歷的,會不會成為你日後成功的基石