一、ORB-SLAM2 安装和编译
1.1 ORB-SLAM2下载
从github.com下载ORB-SLAM2的代码。地址是:
ORB-SLAM2
可以在github上直接download ZIP压缩文件。也可在安装git之后,用以下命令在终端上下载
git clone https://github.com/raulmur/ORB_SLAM2
1.2 环境配置
在打开上述github链接后,下翻至底会看到 2.Prerequisites这表示运行ORB-SLAM2需要准备这些环境
在编译ORB-SLAM2过程中需要cmake,可使用这条命令下载
sudo apt install cmake
1.2.1 安装Pangolin
接下来我们需要安装Pangolin,我推荐大家从此链接中下载Pangolin
在下载了ZIP压缩包后解压缩放在ubantu的/home下(此处只要是英文路径都可以),但别急着安装Pangolin我们还需要安装一些必要的库
OpenGL:
sudo apt install libgl1-mesa-dev
Glew:
sudo apt-get install libglew-dev
Boost:
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
Python2/Python3:
sudo apt-get install libpython2.7-dev
1.2.2 安装OpenCV3
自己去官网下个opencv3系列,下载完成后,将其提取到主目录。,将该文件夹重命名为opencv3。
(1)安装cmake和依赖环境
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
(2)下载opencv3
点击Sources进行下载自己需要的版本压缩包,我这里下的是3.4.16版本
(3)解压文件
解压后,将文件夹放自己喜欢的地方,将解压后的文件夹重新命为opencv3
在opencv3文件夹下新建build文件夹
终端运行
make build
(4)进行cmake
在build目录下运行
sudo cmake -D CMAKE_BUILD_TYPE=Release -D
CMAKE_INSTALL_PREFIX=/usr/local ..
(5)进行编译
sudo make -j8
(6)进行安装
再执行
sudo make install
(7)配置环境
修改ld.so.conf文件
用gedit打开/etc/ld.so.conf
在文件中加上一行 /usr/loacal/lib
其中/user/loacal是opencv安装路径也就是makefile中指定的安装路径
终端执行
sudo gedit /etc/ld.so.conf
输入:
include /usr/local/lib
保存退出
运行下面语句刷新库链接配置
sudo ldconfig
在文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出
然后在命令行中输入刷新
source /etc/bash.bashrc
(9)检验是否安装成功
在命令行中输入如下命令:
pkg-config opencv --modversion
1.2.3 安装Eigen3
点击如图所示的ZIP文件下载后解压放到ubantu中,进入eigen文件加中执行以下步骤
mkdir build
cd build
cmake ..
sudo make install
安装后,头文件安装在/usr/local/include/eigen3中。这一步十分重要我们需要去检查安装到的路径。不然后在后续的ORB-SLAM2编译过程中会找不到文件。后续我们会在问题后告诉大家如何解决
最后一步的 DBoW2 和 g2o ,他们已经存在于ORB-SLAM2文件夹中的 Thirdparty文件夹中
1.2.4 Ceres安装
源码下载
https://gitcode.com/ceres-solver/ceres-solver/overview?utm_source=csdn_github_accelerator&isLogin=1
安装依赖源
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
编译
cd ceres-solver
mkdir build && cd build
cmake ..
sudo make -j8
sudo make install
1.2.5 DBoW3安装
源码下载
https://gitcode.com/rmsalinas/DBow3?utm_source=csdn_github_accelerator&isLogin=1
编译
mkdir build
cd build/
cmake ..
make
sudo make install
1.2.6 g2o安装
源码下载
https://gitcode.com/RainerKuemmerle/g2o/overview?utm_source=csdn_github_accelerator&isLogin=1&isLogin=1
安装依赖源
sudo apt-get install qt5-qmake qt5-default libqglviewer-dev-qt5 libsuitesparse-dev libcxsparse3 libcholmod3
编译
cd g2o
mkdir build && cd build
cmake ..
sudo make -j8
sudo make install
1.3 安装运行ORB_SLAM2
这里巨坑!,里面要修改很多错误,直接建议大家使用我修改好的,想自己修改的,可以慢慢去百度,解决error。
链接: https://pan.baidu.com/s/1njYz36ZCjN8xzpPyX9PA1A?pwd=6efv 提取码: 6efv
下载后,提取到主目录,,将文件夹名改为ORB_SLAM2,打开一个新终端,输入以下代码:
cd ORB_SLAM2
chmod +x build.sh
./build.sh
安装完成是这样的
二、运行Kitee数据集
2.1 数据集准备
https://cvg.cit.tum.de/data/datasets/rgbd-dataset/download
下载好后,进入ORB_SLAM2文件夹创建一个文件夹:data,将下载好的数据集压缩包提取到data下面,然后打开一个新终端输入以下命令:
cd ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml data/rgbd_dataset_freiburg1_xyz
2.2 制作自己的数据集(单目)
1、下载我给的这两个文档=文档=,一个CPP,一个yaml文件,将其复制到ORB_SLAM2下面,再用自己的手机拍一个视频,1、手机横向,2、开始拍摄时,首先手机左右缓慢水平移动,像螃蟹一样横着左右运动!,然后大概5s后,再慢慢往前走,不要走的太快,转弯时不要太快,以防跟踪丢失!
2、录制完成后,将其复制到ORB_SLAM2文件下,重命名为test.mp4,用微信传到电脑时,最好选择原图传送!,
3、以上步骤完成后,ORB_SLAM2里面应该多了三个文件:test.cpp,test.yaml,test.mp4.
4、修改ORB_SLAM2里面的CMakeLists.txt,添加如下代码:保存
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR})
add_executable(test test.cpp)
target_link_libraries(test ${PROJECT_NAME})
5、编译运行
打开一个新终端,输入如下:
cd ORB_SLAM2
mkdir build
cd build
cmake ..
make -j
cd ..
./test