ORB_SLAM2运行指南

1.更新依赖
(1)更新apt库,更新软件列表

$ sudo apt-get update

(2)安装git,用于从Github上克隆项目到本地

$ sudo apt-get install git

(3) 安装cmake,用于程序的编译

$ sudo apt-get install cmake

(4)安装Pangolin
①安装依赖项

$ sudo apt-get install libglew-dev libpython2.7-dev

②从github将项目下载到本地

$ git clone https://github.com/stevenlovegrove/Pangolin.git

③编译安装

$ cd Pangolin
$ mkdir build
$ cd build
$ cmake ..
$ make -j(不要轻易用,cpu好的可以用并行)
$sudo make install

(5)安装OpenCV(我安装的是2.4.11版本,其他版本会有兼容性问题)
①安装依赖项

$ sudo apt-get install build-essential
$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

②在opencv官网(http://opencv.org)下载opencv2.4.11的资源版本,解压到本地.
③编译安装

$ cd ~/opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local...
$ make -j8(cpu性能不好的同学不要用这步)
$ sudo make install

(问题)安装中遇到"unsupported/Eigen/MatrixFuntions:No such file or directory…"问题

解决办法
复制Eigen/unsupported文件到/usr/local/include,然后删除unsupported/目录下除了Eigen/目录外的所有文件具体代码如下:(此时在/usr/include目录下)
$ sudo cp -r eigen/unsupported /usr/local/include
$ cd /usr/local/include/unsupported
$ shopt -s extglob
$ sudo rm -rf !(Eigen)
然后重新执行 $ sudo make install

(6)安装Eigen3

$ sudo apt-get install libeigen3-dev

(7)安装DBoW2和g2o

注:
DBow2是DBoW的改进版本,这个库是实现词袋模型的工具,把图像转换为单词表示形式.
g2o是一个用于优化-基于图的-非线性误差函数的库.
这两个库被引用在ORB-SLAM2工程的第三方库文件夹中,此处不再单独编译,在下一步统一编译.

(8)安装ORB-SLAM2,第三方库中的DBoW2和g2o,并解压ORB词典
①克隆

$ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

②编译ORB-SLAM2,第三方库中的DBoW2和g2o,并解压ORB词典

$ cd ORB_SLAM2
$ chmod +x build.sh
$ ./build.sh

编译错误:出现’usleep’ was not declared in this scope

按照下里面两个链接的想法尝试
https://blog.csdn.net/u010368556/article/details/79100344
https://stackoverflow.com/questions/6748569/c-compiler-error-was-not-declared-in-this-scope
首先在/ORB_SLAM2/src路径下把localMapping,loopClosing,Viewer,Tracking,system中加入头文件"#include
<unistd.h>“尝试执行build命令.
其次在/ORB_SLAM2/Examples/RGB-D/rgbd_tum.cc和/ORB_SLAM2/Examples/Monocular/mono_tum.cc和/ORB_SLAM2/Examples/Stereo/stereo_kitti.cc和/ORB_SLAM2/Examples/Monocular/mono_euroc.cc和/ORB_SLAM2/Examples/Monocular/mono_kitti.cc和/ORB_SLAM2/Examples/Stereo/stereo_euroc.cc中加入头文件”#include
<unistd.h>"尝试执行build命令
最后编译成功,还有几个warning是提示代码中有些函数功能被弃用了,有没有影响等后期再说.

以上编译就完成了,来尝试一下吧.接下来会更新几个在TUM数据集上测试的过程.

猜你喜欢

转载自blog.csdn.net/qq_34671967/article/details/86478935