1、引言
首先欢迎大家来到我的博客,因为自己在这个ORB_SLAM2的环境配置上走了太多的坑,为了让研友不再入坑,决定来个保姆级教程,哈哈哈。
2、库安装
大家如果之前安装过库,且ORB_SLAM编译失败了的,请将库残留卸载干净!(没安装过的除外),下面请大家按照我的步骤来。
Step1:安装cmake,gcc,g++,git,
已经安装的忽略。打开终端,输入如下。
sudo apt-get updatesudo apt-get install cmake gcc g++ git
Step2:安装Pangolin,请安装0.5版本
不过我安装0.5版本,爆巨多的错误,所以我用了0.6稳定版,需要的自取===>Pangolin<===,密码:9527 (即使报错,也可以通过百度来解决)(在此建议大家使用Micro Edge浏览器),
请将下载好的文件夹改名为Pangolin,放于主目录中。随后,新打开一个终端,依次输入以下命令:
sudo apt-get install libxkbcommon-devsudo apt-get install wayland-protocolssudo apt install libglew-devcd Pangolinmkdir buildcd buildcmake ..make -jsudo make install
库安装完成后,测试一下,能不能使用,请新打开一个终端,输入一下命令:
cd Pangolincd examples/HelloPangolinmkdir build && cd buildcmake ..make./HelloPangolin
若出现一个彩色方块,则安装成功。若出现error,就去微软浏览器搜索错误,或者火狐,这两个比较全!
Step3:安装Eigen3
sudo apt-get install libeigen3-dev
Step4:安装opencv3(安装4会冲突!)
自己去官网下个opencv3系列,也可以自取如下,===>oepncv3.4.15<===下载完成后,将其提取到主目录。,将该文件夹重命名为opencv3
打开一个新终端,输入以下命令:
sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-devcd opencv3mkdir buildcd buildcmake ..make -jsudo make install
安装完成后,打开一个新终端:输入:
sudo gedit /etc/ld.so.conf.d/opencv.conf
这时会出现一个文档,在文档最后一行添加:
/usr/local/lib
保存好后,退出,打开一个新终端,输入:
sudo ldconfig
再打开一个新终端,输入:
sudo gedit /etc/bash.bashrc
这时会出现一个文档,在文档最后一行添加如下代码:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport PKG_CONFIG_PATH
添加完成后,保存并退出,并打开一个新终端,输入:
source /etc/bash.bashrcsudo updatedb
测试opencv:输入如下代码:
cd opencv3/samples/cpp/example_cmakecmake .make./opencv_example
3、安装运行ORB_SLAM2,
这里巨坑!,里面要修改很多错误,直接建议大家使用我修改好的,想自己修改的,可以慢慢去百度,解决error。链接:===>ORB_SLAM2<===提取码:9527,下载后,提取到主目录,,将文件夹名改为ORB_SLAM2,打开一个新终端,输入以下代码:
cd ORB_SLAM2chmod +x build.sh./build.sh
如果出错,也可以通过微软或者火狐,搜索错误解决!
测试!
1、下载数据集,Computer Vision Group - Dataset Download (tum.de)
因需要挂梯子,否则下载很慢,也可以在我这里自取===>数据集(已更新)<===提取码:9527
下载好后,进入ORB_SLAM2文件夹创建一个文件夹:data,将下载好的数据集压缩包提取到data下面,然后打开一个新终端输入以下命令:
cd ORB_SLAM2./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml data/rgbd_dataset_freiburg1_xyz
仔细看此代码,都能在相应的文件夹里找到各个文件!
4、制作自己的数据集(单目)
1、下载我给的这两个文档===>文档<===,一个CPP,一个yaml文件,将其复制到ORB_SLAM2下面,再用自己的手机拍一个视频,1、手机横向,2、开始拍摄时,首先手机左右缓慢水平移动,像螃蟹一样横着左右运动!,然后大概5s后,再慢慢往前走,不要走的太快,转弯时不要太快,以防跟踪丢失!,我录制了2分钟,
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_SLAM2mkdir buildcd buildcmake ..make -jcd .../test