提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
在Ubuntu20.04系统中编译运行ORB-SLAM3
一、Ubuntu20.04安装
前期准备:
- 一个大于4G的U盘作为系统盘。
- 从官网下载Ubuntu20.04,可参考这篇博客下载路径:
https://blog.csdn.net/weixin_45912291/article/details/108900602
如果装虚拟机,可参考这篇博客:
https://blog.csdn.net/Thanlon/article/details/100072462?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-100072462-blog-113409389.pc_relevant_aa&spm=1001.2101.3001.4242.1&utm_relevant_index=3
二、ORB-SLAM3配置
1.源码下载
到github上直接下载,放近自己所建的文件夹内,github打不开可以参考这篇文章:
https://blog.csdn.net/yl950305/article/details/115598773
或者在终端输入以下代码进行下载。
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
2.安装git和vi编辑器
我的是新系统需要安装git
sudo apt-get install git
安装vi编辑器
sudo apt-get remove vim-common
sudo apt-get install vim
3.Pangolin安装
git clone https://github.com/stevenlovegrove/Pangolin.git
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
编译安装Pangolin
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .
4.Opencv安装
不要安装opencv4以上的版本,我使用的是opencv3.4.3
源码官网:https://opencv.org/releases/
解压
unzip opencv-3.4.3.zip
编译Opencv
cd opencv-3.4.3
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
如果报错提示 ippicv_2017u3_lnx_intel64_general_20170822.tgz的加速库下载失败。可根据这篇博客https://blog.csdn.net/holly_Z_P_F/article/details/118031317#t4 下载离线的ippicv库。
再次输入cmake命令:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
opencv已经安装完成,以下需要配置环境:
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig=
配置bash
sudo gedit /etc/bash.bashrc
在末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
终端执行使配置生效:
source /etc/bash.bashrc
apt-get install mlocate
sudo updatedb
5.Eigen3安装
git clone https://github.com/eigenteam/eigen-git-mirror
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install
6.Python
sudo apt install libpython2.7-dev
7.安装boost库
下载官网连接:https://www.boost.org/
选择boost_1_79_0.tar.gz进行下载
解压:
tar -xzvf boost_1_75_0.tar.gz
进入解压后的文件夹,执行:
sudo ./bootstr`在这里插入代码片`ap.sh
sudo ./b2 install
安装libssl-dev
sudo apt-get install libssl-dev
三、ORB-SLAM3编译和安装
- 源码编译
打开源码文件夹ORB——SLAM3,在终端手动编译:
echo "Configuring and building Thirdparty/DBoW2 ..."
cd Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
cd ../../g2o
echo "Configuring and building Thirdparty/g2o ..."
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
cd ../../Sophus
echo "Configuring and building Thirdparty/Sophus ..."
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
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
如果出现:c++:fatal error:已杀死 问题可以进行SWAP方法试试,参考这篇博客:
https://blog.csdn.net/lucky__peng/article/details/124272717
若编译过程出现问题,可参考这篇博客:
https://blog.csdn.net/slender_1031/article/details/114106501
2. 数据集测试
数据集下载地址:
https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads
点击紫色link下载
解压之后,包含一个mav0文件夹在ORB_SLAM3文件夹中创建一个dataset文件夹,
在dataset文件夹下创建一个MH01,将mav0放进MH01中。
打开Examples文件夹,点击脚本euroc_examples.sh,可以看到有一个与MH01相关的指令:
./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml "$pathDatasetEuroc"/MH01 ./Monocular/EuRoC_TimeStamps/MH01.txt
将其中的““$pathDatasetEuroc”/MH01 ”改为 ../dataset/MH01
在Examples文件夹下执行如下指令:
./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml ../dataset/MH01 ./Monocular/EuRoC_TimeStamps/MH01.txt
就可以看到如下窗口:
本人是视觉slam小萌新,如有不足希望大家多多赐教。