目录
前言
写这个博客主要是因为学习过程中总是需要重新配置环境和编译ORB-SLAM3,所以记录一下过程,不然老是到处找各种问题的解决办法。
1、系统环境
采用虚拟机VMware 17运行
Ubuntu版本是22.04
2、准备工作
sudo apt-get install cmake
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install vim
sudo apt-get install git
3、Eigen安装
sudo apt install libeigen3-dev
4、Pangolin安装
克隆代码:
git clone https://github.com/stevenlovegrove/Pangolin.git
安装依赖:
sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
编译:
cd Pangolin
mkdir build
cd build
cmake ..
make
5、安装boost库
sudo apt-get install libboost-all-dev
6、安装libssl-dev
sudo apt-get install libssl-dev
7、安装OpenCV
官网下载opencv4.8.0(选择Sources):https://opencv.org/releases/
并解压
安装依赖:
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev
上面应该没什么问题,但在安装下面这个依赖一般会有问题:
sudo apt-get install libjasper-dev
解决方法:
#更换软件源
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
#该仓库没有数字签名,增加数字签名
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo apt update
sudo apt install libjasper1 libjasper-dev
这样就安装上了,接下来编译OpenCV,过程较慢,建议make -j
cd opencv-4.8.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
8、安装并编译ORB-SLAM3
克隆源码(网不好直接下载压缩包也行):
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
编译前需要修改CMakeLists.txt,否则会报错
首先要加入c++14编译支持,在CMakeLists.txt加入这行
add_compile_options(-std=c++14)
此外,根据OpenCV版本不同,把
find_package(OpenCV 4.4)
改为
find_package(OpenCV 4 REQUIRED)
保存,然后执行编译
cd ORB_SLAM3
chmod +x build.sh
./build.sh
注意,如果虚拟机配置不行,记得在build.sh文件里根据实际情况修改make -j,否则编译的时候会卡掉。
9、数据集测试
采用EuRoC数据集进行简单测试(数据集路径需自己设置):
./Examples/Stereo-Inertial/stereo_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo-Inertial/EuRoC.yaml ../Dataset/EuRoC/MH_01_easy ./Examples/Stereo-Inertial/EuRoC_TimeStamps/MH01.txt dataset-MH01_stereo_inertial
可正常运行,说明ORB-SLAM3安装成功!
10、安装evo
evo是SLAM常用的评估工具,首先从源码安装,安装时采用清华源加速下载,否则总会卡住
git clone https://github.com/MichaelGrupp/evo.git
cd evo
pip install --editable . --upgrade --no-binary evo -i https://pypi.tuna.tsinghua.edu.cn/simple
然后安装一些依赖,这里需要更换matplotlib的版本,因为最新版本和evo不兼容
sudo apt-get install python3-tk
sudo apt-get install python3-pil python3-pil.imagetk
pip uninstall matplotlib
pip install matplotlib==3.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
这样就安装成功了,然后进行用evo自带的数据进行测试:
evo_ape -h
cd evo/test/data
evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz
运行正常,说明安装成功!