一.前記
此篇為博采眾家博客之長,瀝血整理之集大成者
本人大一學生,參加了SLAM相關的年度項目,第一步便是需要實踐ORB-SLAM,在電腦上運行程序并完成可視化與實時化。預實驗是跑現(xiàn)成的數(shù)據(jù)集,正式實驗是使用實時攝像頭。如圖~

在此過程中,我也是翻遍全網(wǎng)找各種教程找各種資料,但遺憾的是沒有找到一篇能帶著本蒟蒻完成此小目標的教程。網(wǎng)上教程大都是省略了一些步驟(因為大佬們默認讀者都會),導致本小白往往按步驟操作下來,最終結(jié)果總是failed。經(jīng)歷了痛苦的尋尋覓覓,通過惡補相關實踐知識,尤其是將各種教程東拼西湊,參悟理解,本小白終于——終于成功了!如果你有相似的目標,如果你啥也不懂,不妨按照我這個流程走,一定能成功。

這是我繪的流程圖。現(xiàn)在我假設你現(xiàn)在電腦上除了原神什么也沒有,沒有虛擬機什么的,一步步開始咯!
二.環(huán)境搭建
1.必備小知識
關于Ubuntu需要普及一點點小知識,暫時用不上,先看一下,等安裝完畢ubuntu就非常有用了。
有條件的話虛擬機的內(nèi)存在分配的時候整多一點,它默認的20G說實話不是很夠。
快捷鍵ctrl鍵+Alt鍵+T鍵即可打開終端。終端就是我們輸入指令的地方。在ubuntu某層次的文件夾右鍵后,最下方選項有個“打開終端”,這樣打開的終端是進入了該文件夾的終端。關于指令方面,復制別人博客上的代碼然后進自己的終端操作時記得一行一行的復制運行。常見的apt-get install是用來下載東西的,cd 后面接個文件名表示讓終端進入該文件夾,單走一個cd表示退回主界面的終端,最前面加個sudo表示用高級身份來指令,不然有時候系統(tǒng)拒絕執(zhí)行...... mkdir build表示建一個名叫build的文件夾,cmake ..表示對文件進行編譯,沒編譯成功就拿來用可能會出問題,只有編譯通過了才表示ok。git clone表示從github庫下載某源碼。
如果以后遇到“無法定位軟件包”的話應該是換源的問題,不過在跟著我教程(其實是跟著鏈接里的教程)安裝ubuntu的時候已經(jīng)會把源換好了。還出現(xiàn)的話那就sudo apt-get update。然后sudo apt-get upgrade。兩步是更新能下載的軟件包名單,整完應該就好啦。
以后的步驟可能需要我們進入某c++文件手動改寫代碼,注意教程讓我們改的是哪個文件,改的是哪一行代碼。
創(chuàng)建工作空間即mkdir catkin_slam,在后面實時運行攝像頭的時候需要它。
以后如果遇到了什么問題,都不要怕,微笑著面對它,嘗試讀懂系統(tǒng)報錯的英文關鍵詞,然后瀏覽評論區(qū)留言或者上網(wǎng)搜相關知識!
2.真正環(huán)境搭建
環(huán)境搭建這部分我是跟著高翔老師《視覺SLAM十四講》第二版做好的,如果沒有書的話不妨參考此博客
虛擬機VMware下載與安裝教程(詳細)_vmware虛擬機_-借我殺死庸碌的情懷-的博客-CSDN博客 跟著他下好VMware即可,然后該博客文末依次還附了如何下載,安裝Linux的發(fā)行版Ubuntu系統(tǒng)(這玩意的概念可以類比Window)。建議別點他的附的鏈接教程了(doge),接下來跟著新的一篇走, 在VM12虛擬機+安裝Ubuntu18.04+搭建ROS系統(tǒng)教程(超詳細圖文)——含各種避坑tips_小池澈平的博客-CSDN博客,跟著他做完安裝VMware TOOLS即可?。?!別跟他安裝ROS?。。。ê罄m(xù)會講),安裝VMware TOOLS,這個軟件非常有用,可以實現(xiàn)在主機和虛擬機間拖拽文件,以及復制粘貼。而解壓的話強烈推薦先下一個小插件,以后可以直接點右鍵里選項的“提取到此處”(即解壓)。下載插件只需終端輸入
sudo apt-get install unrar
整個安裝VMware TOOLS據(jù)說可以三步搞定(【Tools】Ubuntu20.04安裝VMware Tools詳解_ubuntu vmware tools_滄海一笑-dj的博客-CSDN博客),但我沒試過,而且他的版本不一樣,我不敢保證成功,即
sudo apt upgrade
sudo apt install open-vm-tools-desktop -y
sudo reboot
大家好奇且不怕犯錯的話可以先試試這個。記得評論區(qū)告訴我這個極簡版可不可行(doge
三.依賴庫準備
好了,基本的準備做完了,我們開始進入ORB-SLAM的范圍
跟著偉大的博主安裝好cmake,git ,gcc ,g++,Pangolin , OpenCV , Eigen一步步復制一步步走,務必確認每一步的結(jié)果和博主一致,否則就會在真正運行程序的時候出一個failed,教程在此: ORB-SLAM2詳細安裝教程(ubuntu18.04)_ubuntu安裝orbslam2_牙牙要健康的博客-CSDN博客。提一句,安裝Eigen的時候可能會有版本的區(qū)別,可能會在終端給出提示信息,彈出一大堆話,只要不是紅色的WARNING,就不要怕,繼續(xù)往下執(zhí)行。
在跟著該博客執(zhí)行到./build.sh時,如果系統(tǒng)出錯了(有warning),可能是這個原因!./build.sh相當于執(zhí)行build.sh這個文件,里面是對ORB-SLAM進行編譯的指令代碼,make -j表示多線程進行編譯,而如果你分配的虛擬機的性能不夠,如此操作可能導致系統(tǒng)崩潰!如果是這樣,記得手動進到Thirdparty里的g2o和DboW2兩個文件都把你新建的build刪了(是的,刪了),再把ORB-SLAM下面那個build文件夾刪了(不是刪build.sh),然后把build.sh里某行代碼make -j改成make,編譯速度慢一些(耗時確實長點),但能夠編譯成功!
四.使用數(shù)據(jù)集
我們采用的是TUM數(shù)據(jù)集,我只跟著 ORB-SLAM2詳細安裝教程(ubuntu18.04)_ubuntu安裝orbslam2_牙牙要健康的博客-CSDN博客 這篇做了單目相機沒做RGBD。
五.使用實時攝像頭
我們已經(jīng)使用了別人的數(shù)據(jù)集(視頻),實現(xiàn)了可視化,但我們還想在自己的攝像頭上搞東西。
1.下載ROS
首先我們需要下載ROS,這里強烈推薦魚香ROS一鍵安裝,真的只有一步?。?!在終端輸入它:
wget http://fishros.com/install -O fishros && . fishros
此方法參見博客 ros安裝(一鍵最簡安裝,吹爆魚香ROS,請叫我魚吹)-CSDN博客
關于ROS,還有小烏龜?shù)男∮螒蚩梢詼y試是否安裝正確。參見博客:
ros入門保姆級教程之召喚小烏龜_ros小烏龜_奈斯先生.的博客-CSDN博客
2.安裝usb_cam包及實際運行
這時候我們緊緊跟住這篇文章: 最完整---在ROS用自己電腦的攝像頭在運行ORB_SLAM2_ros運行orb-slam2_一大塊肉松的博客-CSDN博客
他寫的非常仔細,唯一值得說道的就是我們之前已經(jīng)下載過了ORB-SLAM2這個包,可以不用再下一遍,而選擇直接拖拽過去,但需要注意重新編譯一遍?(刪build再執(zhí)行build.sh)
好了,我們應該已經(jīng)大功告成啦?。?!
特此鳴謝以上提及的所有博主orz,把這些博客像拼圖一樣拼起來便成就了我們的最終成功。
實際上這只是我們學習SLAM的萬里征途的渺渺第一步,文章來源:http://www.zghlxwxcb.cn/news/detail-735480.html
接下來本蒟蒻打算去試試ROS里面視覺SLAM的仿真訓練~文章來源地址http://www.zghlxwxcb.cn/news/detail-735480.html
到了這里,關于純小白實踐ORB-SLAM2保姆級運行指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!