国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

博客地址:https://www.cnblogs.com/zylyehuo/

參考資料

ORB-SLAM3配置及安裝教程
ORB-SLAM3配置安裝及運(yùn)行

環(huán)境配置

Win 11pro
VMware 17Pro
Ubuntu 18.04
Eigen3
Pangolin
Opencv3.4.3
ORB-SLAM3源碼: https://github.com/UZ-SLAMLab/ORB_SLAM3

效果圖

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)

注意事項(xiàng)

建議留有 15-20G 左右的內(nèi)存
如果是新系統(tǒng),沒(méi)有安裝git,則需要先裝git
sudo apt-get install git
如果是新系統(tǒng)的話,預(yù)裝的vi編輯器不完整,用不了
執(zhí)行如下命令安裝vi編輯器
sudo apt-get remove vim-common
sudo apt-get install vim
DBoW2 and g2o
DBoW2主要用于回環(huán)檢測(cè),g2o(General Graph Optimization)主要用于圖優(yōu)化。
ORB-SLAM3的源碼包自帶DBoW2 and g2o,編譯時(shí)會(huì)自動(dòng)安裝,不用管。

PART 1:準(zhǔn)備工作(下載安裝要用的文件)

step1: 新建一個(gè)文件夾,用于存放下載的文件

暫取名為 SLAM

step2: 下載 ORB-SLAM3源碼

在 SLAM 文件夾下打開(kāi)終端
輸入以下指令
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git

step3: 下載 Pangolin

在 SLAM 文件夾下打開(kāi)終端
輸入以下指令
git clone https://github.com/stevenlovegrove/Pangolin.git

step4: 下載 Eigen3

在 SLAM 文件夾下打開(kāi)終端
輸入以下指令
git clone https://github.com/eigenteam/eigen-git-mirror

PART 2:安裝步驟

step1: 安裝 Eigen3

在 SLAM 文件夾下打開(kāi)終端
輸入以下指令
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install
 
#安裝后,頭文件安裝在/usr/local/include/eigen3/

step2: 安裝 Pangolin

安裝 Pangolin 需要的依賴工具

在終端依次輸入以下指令
sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
sudo apt install cmake
sudo apt install libpython2.7-dev
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols

安裝 Pangolin

在 SLAM 文件夾下打開(kāi)終端
輸入以下指令
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .

step3: 安裝 Opencv3.4.3

官網(wǎng)下載地址:https://opencv.org/releases/page/5/

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)

下載之后放在最開(kāi)始創(chuàng)建的 SLAM 文件夾,右鍵提取文件進(jìn)行解壓
更新一下,準(zhǔn)備安裝OpenCV依賴庫(kù)

在終端輸入以下指令
sudo apt-get update

安裝OpenCV所有依賴庫(kù)

在終端輸入以下指令
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libtiff5-dev libswscale-dev libjasper-dev

# 原博客安裝的是libtiff4-dev,運(yùn)行過(guò)程報(bào)錯(cuò),改成libtiff5-dev

編譯OpenCV

在 SLAM 文件夾下打開(kāi)終端
輸入以下指令
cd opencv-3.4.3
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
注意:執(zhí)行上面指令后,終端會(huì)自動(dòng)下載一個(gè)必需的ippicv加速庫(kù)。
如果終端卡住并顯示正在下載,只需要等一會(huì)兒不用進(jìn)行任何操作。
否則,終端會(huì)顯示報(bào)錯(cuò)
cmake完成之后使用make編譯
make -j4
安裝
sudo make install

配置環(huán)境

1、添加庫(kù)路徑
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
2、更新系統(tǒng)庫(kù)
sudo ldconfig
3、配置bash
sudo gedit /etc/bash.bashrc

在末尾添加如下兩行代碼
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH 

保存,執(zhí)行如下指令使得配置生效
source /etc/bash.bashrc 

更新
sudo updatedb  
4、版本檢測(cè)

pkg-config --modversion opencv
輸出如下,表示OpenCV完成了安裝

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)

step4: 安裝 boost 庫(kù)

boost官網(wǎng)地址:https://www.boost.org/
下載 1.77.0 版本

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
將文件下載至SLAM文件夾下,并解壓
解壓之后進(jìn)入解壓出來(lái)的文件夾
執(zhí)行以下指令

sudo ./bootstrap.sh

執(zhí)行完畢之后,會(huì)發(fā)現(xiàn)又多了些文件
再執(zhí)行下面這個(gè)腳本

sudo ./b2 install

需要一段時(shí)間,耐心等待即可

step5: 安裝 libssl-dev

在 SLAM 文件夾下打開(kāi)終端
輸入以下指令
sudo apt-get install libssl-dev

step6: ORB-SLAM3 的編譯和安裝

ORB-SLAM3 源碼編譯

在 SLAM 文件夾下打開(kāi)終端
輸入以下指令
cd ORB_SLAM3-master
chmod +x build.sh
打開(kāi)ORB_SLAM3-master對(duì)應(yīng)的CMakeLists.txt
找到 find_package(OpenCV 4.4)這行代碼,將OpenCV版本號(hào)改為find_package(OpenCV 3.4)

逐行依次執(zhí)行以下指令

安裝 ORB-SLAM3

echo "Configuring and building Thirdparty/DBoW2 ..."
 
cd Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j
 
cd ../../g2o
 
echo "Configuring and building Thirdparty/g2o ..."
 
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j

cd ../../Sophus

echo "Configuring and building Thirdparty/Sophus ..."

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j

cd ../../../

echo "Uncompress vocabulary ..."

cd Vocabulary
tar -xf ORBvoc.txt.tar.gz
cd ..

echo "Configuring and building ORB_SLAM3 ..."

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j5

出現(xiàn)以下圖片,則代表安裝成功

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)

PART 3:測(cè)試環(huán)境是否搭建成功(數(shù)據(jù)集測(cè)試)

EuRoc數(shù)據(jù)集下載地址:
https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads
要下載ASL格式的,下載V102V103兩個(gè)

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)

這個(gè)壓縮包下好之后,解壓打開(kāi)之后,里面是一個(gè)mav0的文件夾(有些打開(kāi)會(huì)還有一個(gè)_MACOSX 文件加,可以直接刪掉,只留mav0文件夾)
具體原因是這個(gè)其實(shí)是在MAC操作系統(tǒng)壓縮時(shí)產(chǎn)生的緩存垃圾,在Windows系統(tǒng)、Linux系統(tǒng)就會(huì)顯示出來(lái)
然后在ORB_SLAM3-master文件夾下創(chuàng)建一個(gè)文件夾dataset,
在dataset文件夾下將解壓的數(shù)據(jù)集文件夾放進(jìn)來(lái)
eg. /ORB_SLAM3-master/dataset/V102/mav0
在ORB_SLAM3-master的源碼中,有一個(gè)Examples文件夾
去下面這個(gè)鏈接拷貝 腳本euroc_examples.shExamples文件夾
https://github.com/electech6/ORB_SLAM3_detailed_comments

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
打開(kāi)**euroc_examples.sh** 這個(gè)腳本,里面有ORB-SLAM3各種運(yùn)行模式針對(duì)各個(gè)數(shù)據(jù)集的運(yùn)行指令,選擇下載數(shù)據(jù)集對(duì)應(yīng)模式下的指令,提取出來(lái)(以V102、單目+IMU為例):

./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml “$pathDatasetEuroc”/V102 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/V102.txt dataset-V102_monoi

加粗的地方需要改
**“$pathDatasetEuroc”**改為 ./dataset,表示數(shù)據(jù)集所在的路徑
在ORB_SLAM3-master文件夾下打開(kāi)終端執(zhí)行以下這條指令
./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml ./dataset/V102 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/V102.txt dataset-V102_monoi

出現(xiàn)以下畫(huà)面則代表 ORB-SLAM3 成功運(yùn)行,即環(huán)境安裝完成

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)

PART 4:部分問(wèn)題解決方案

1、 在安裝OpenCV所有依賴庫(kù)的時(shí)候出現(xiàn)報(bào)錯(cuò)信息

error: unable to locate libjasper-dev 無(wú)法定位這個(gè)包libjasper-dev
解決方法是:執(zhí)行以下指令
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
運(yùn)行完這個(gè),再輸入以下這個(gè)指令
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

2、編譯OpenCV時(shí)報(bào)錯(cuò)

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
解決方法是下載離線的ippicv庫(kù)
下載鏈接為:https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20170822
  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)

下載好之后,把這個(gè)ippicv文件夾單獨(dú)拷貝出來(lái),放到自己的文件夾中
然后把OpenCV源文件中 /3rdparty/ippicv 文件夾下的 ippicv.cmake 中第47行"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/" 改成新下載的ippicv文件路徑。
這樣,就改成了離線編譯的ippicv文件

再次執(zhí)行cmake指令,完成編譯
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
cmake完成之后使用make編譯
make -j4
安裝
sudo make install

3、在配置bash時(shí)候報(bào)錯(cuò)

如果執(zhí)行sudo updatedb 指令報(bào)錯(cuò),那么可能是沒(méi)有安裝mlocate
解決方法
先執(zhí)行安裝命令:apt-get install mlocate
再執(zhí)行:sudo updatedb

4、安裝 ORB-SLAM3 時(shí)候報(bào)錯(cuò)

運(yùn)行最后一條指令 make -j5 時(shí),出現(xiàn)報(bào)錯(cuò)如下:

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
解決方法
打開(kāi)對(duì)應(yīng)的文件,如Tracking.cc,LoopClosing.cc等
在所有 #include 后面添加以下代碼
namespace cv
{
template<typename _Tp, int m, int n> static inline
Matx<_Tp, m, n> operator / (const Matx<_Tp, m, n> &a, float alpha)
{
return Matx<_Tp, m, n>(a, 1.f / alpha, Matx_ScaleOp());
}
}

效果如圖文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-438767.html

  • 基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)
最后一條指令若使用 make -j4 或 make -j5,即使在對(duì)應(yīng)的文件中加入了上述代碼如果仍然會(huì)報(bào)錯(cuò)。

可改成僅使用 make 進(jìn)行編譯,但同時(shí),改成make之后編譯速度大大降低,需要等很久

到了這里,關(guān)于基于ORB-SLAM3庫(kù)搭建SLAM系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SLAM ORB-SLAM2(22)分解基礎(chǔ)矩陣

    在 《SLAM ORB-SLAM2(12)估算運(yùn)動(dòng)并初始地圖點(diǎn)》 中了解到 估算兩幀間相對(duì)運(yùn)動(dòng)過(guò)程: 記錄特征點(diǎn)對(duì)的匹配關(guān)系 RANSAC 采樣準(zhǔn)備 計(jì)算H矩陣或者F矩陣 判斷并選取模型求位姿過(guò)程 在

    2024年04月15日
    瀏覽(22)
  • SLAM ORB-SLAM2(20)查找基礎(chǔ)矩陣

    在 《SLAM ORB-SLAM2(12)估算運(yùn)動(dòng)并初始地圖點(diǎn)》 的 2.3. 計(jì)算H矩陣和F矩陣過(guò)程 中

    2024年03月17日
    瀏覽(29)
  • ORB-SLAM3整體流程詳解

    ORB-SLAM3整體流程詳解

    在之前,作者曾經(jīng)轉(zhuǎn)過(guò)一篇《一文詳解ORB-SLAM3》的文章。那篇文章中提到了ORB-SLAM3是一個(gè)支持視覺(jué)、視覺(jué)加慣導(dǎo)、混合地圖的SLAM系統(tǒng),可以在單目,雙目和RGB-D相機(jī)上利用針孔或者魚(yú)眼模型運(yùn)行。與ORB-SLAM2相比,ORB-SLAM3在處理大視差和長(zhǎng)時(shí)間未觀測(cè)到的場(chǎng)景時(shí)效果更好。它還

    2024年02月06日
    瀏覽(19)
  • ORB-SLAM3跑本地視頻

    ORB-SLAM3跑本地視頻

    把錄制的視頻放入ORB-SLAM3文件夾內(nèi),文件命名為:myvideo.mp4 在同一目錄下添加myvideo.yaml、myvideo.cc 重新編譯ORB-SLAM3 會(huì)出現(xiàn)myvideo執(zhí)行文件 在此文件夾打開(kāi)終端輸入: ./myvideo 即可運(yùn)行視頻

    2023年04月22日
    瀏覽(21)
  • ORB-SLAM內(nèi)的卡方檢驗(yàn)

    ORB-SLAM內(nèi)的卡方檢驗(yàn)

    Reference: 卡方檢驗(yàn)(Chi-square test/Chi-Square Goodness-of-Fit Test) 卡方檢驗(yàn)詳解分析與實(shí)例 卡方值: χ 2 chi^2 χ 2 值表示觀察值與理論值之間的偏離程度。計(jì)算這種偏離程度的基本思路如下: 設(shè) O O O 代表某個(gè)類別的 觀察頻數(shù) , E E E 代表基于某個(gè)假設(shè) H 0 H_0 H 0 ? 計(jì)算出的 期望頻數(shù) ,

    2024年02月06日
    瀏覽(27)
  • ORB-SLAM2環(huán)境配置及運(yùn)行

    ORB-SLAM2環(huán)境配置及運(yùn)行

    本文是基于Ubuntu 20.04及OpenCV 4.6.0成功運(yùn)行ORB-SLAM2,并在開(kāi)源數(shù)據(jù)集上進(jìn)行了測(cè)試。由于OpenCV和其他依賴庫(kù)的版本較新,編譯過(guò)程會(huì)出現(xiàn)一些問(wèn)題,需要修改部分代碼和CMakeLists.txt文件,這里做一個(gè)記錄,也希望能幫到有需要的小伙伴。 開(kāi)始嘗試安裝Eigen3.4.0和Pangolin-0.8版本,后

    2024年02月03日
    瀏覽(23)
  • SLAM ORB-SLAM2(21)基礎(chǔ)矩陣的計(jì)算和評(píng)分

    SLAM ORB-SLAM2(21)基礎(chǔ)矩陣的計(jì)算和評(píng)分

    在 《SLAM ORB-SLAM2(20)查找基礎(chǔ)矩陣》 中了解到 查找基礎(chǔ)矩陣主要過(guò)程: 特征點(diǎn)坐標(biāo)歸一化 Normalize 函數(shù) Normalize 參考 《SLAM ORB-SLAM2(14)特征點(diǎn)坐標(biāo)歸一化》 選擇歸一化之后的特征點(diǎn) 八點(diǎn)法計(jì)算基礎(chǔ)矩陣 ComputeF21 評(píng)分并評(píng)優(yōu) CheckFundamental 現(xiàn)在來(lái)看看基礎(chǔ)矩陣如何計(jì)算和評(píng)分

    2024年03月09日
    瀏覽(26)
  • ORB-SLAM3算法2之EuRoc、TUM和KITTI開(kāi)源數(shù)據(jù)集運(yùn)行ORB-SLAM3生成軌跡并用evo工具評(píng)估軌跡

    ORB-SLAM3算法1 已成功編譯安裝ORB-SLAM3到本地,本篇目的是用 EuRoc 開(kāi)源數(shù)據(jù)來(lái)運(yùn)

    2024年02月08日
    瀏覽(38)
  • ORB-SLAM3 數(shù)據(jù)集配置與評(píng)價(jià)

    ORB-SLAM3 數(shù)據(jù)集配置與評(píng)價(jià)

    在ORB-SLAM3運(yùn)行EuRoC和TUM-VI數(shù)據(jù)集并作以評(píng)價(jià)。EuRoC利用微型飛行器(MAV ) 收集的視覺(jué)慣性數(shù)據(jù)集,TUM-VI 是由實(shí)驗(yàn)人員手持視覺(jué)-慣性傳感器收集的數(shù)據(jù)集。這兩個(gè)是在視覺(jué)SLAM中比較常用的公開(kāi)數(shù)據(jù)集,所以測(cè)試并加以記錄。 1、EuRoC官網(wǎng)下載 從官網(wǎng)下載Euroc數(shù)據(jù)集,ASL格式 2、新

    2024年02月15日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包