目录
一、安装基础工具
二、安装Pangolin,作为可视化和用户界面
三、安装OpenCV,用于处理图像和特征
(1)下载OpenCV 3.4.1
(2)安装依赖项
(3)编译安装
(4)配置环境,添加路径
(5)安装完成,测试一下
四、安装Eigen3
五、安装ORB_SLAM2
(1)报错1,及解决方案
六、运行单目SLAM实例
(1)更新软件源:
sudo apt update
(2)安装git,用于从GitHub上克隆项目包到本地:
sudo apt-get install git
(3)安装Cmake用于程序的编译:
sudo apt-get install cmake
(4)安装gcc,g++:
sudo apt-get install gcc g++
(1)安装依赖项:
sudo apt-get install libglew-dev
sudo apt-get install libpython2.7-dev
(2)从GitHub将项目下载到本地,下载安装Pangolin:(可能会有点慢,如果因为网不太好断开了,再重新执行一次下列命令即可)
git clone https://github.com/stevenlovegrove/Pangolin.git
(3)编译安装:
进入Pangolin文件夹:
cd Pangolin
创建编译文件夹,命名为build:
mkdir build
进入文件夹进行配置:
cd build
cmake ..
(注意cmake 与..之间有一个空格)
sudo make
(可以用 "make -j "命令速度会稍快一些,但如果电脑性能不佳,还是使用make命令较好)
sudo make install
(如果是要跑ORB-SLAM2,建议用OpenCV 3.4.1 版本,不然之后会很麻烦,会出现不兼容问题)
在OPenCV官网下载OpenCV 3.4.1 的source包然后解压到本地(下载链接http://opencv.org/releases.html,选择sources版本)
解压下载下来的zip包:(把压缩包放在你想要的位置,然后cd到该位置,解压即可)
unzip opencv-3.4.1.zip
进入到解压后的文件包中:
cd opencv-3.4.1
安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令
sudo apt-get install cmake (这一步我们已经在步骤一(3)中安装过,就不用操作了)
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 libtiff5-dev libdc1394-22-dev
(处理图像所需的包)
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev
(处理视频所需的包)
sudo apt-get install libatlas-base-dev gfortran
(优化opencv功能)
sudo apt-get install ffmpeg
cd opencv-3.4.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
(在中间会下载个东西,稍等一下就ok,没什么问题)
(如果已经在新的文件夹中编译,但是还会出现之前的报错,把cmakecache.txt删了再编译就可)
sudo make
(漫长的编译过程)
sudo make install
sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到:
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加:
/usr/local/lib
如下图所示,点击保存即可:
执行如下命令使得刚才的配置路径生效:
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
更新:
sudo updatedb
至此所有的配置都已经完成,下面用一个小程序测试一下
找到,cd到opencv-3.4.1/samples/cpp/example_cmake目录下
我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下
按顺序执行
cd opencv-3.4.1/samples/cpp/example_cmake
cmake .
make
./opencv_example
即可看到打开了摄像头,在左上角有一个hello opencv
即表示配置成功,如下图所示:
使用下列命令来安装eigen:
sudo apt-get install libeigen3-dev
执行下列命令下载安装ORB_SLAM2:
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
编译ORB_SLAM2和第三方库DBoW2和g2o:
进入ORB_SLAM2文件夹:
cd ORB_SLAM2
给build.sh文件权限:
chmod +x build.sh
编译build.sh文件:
./build.sh
之后报错问题1 ,如下:
问题1解决方案如下:
ORB_SLAM2/src/System.cc: error: ‘usleep’ was not declared in this scope usleep(5000);
解决方案:
找到对应的System.cc文件的首部加入 头文件:
#include
需要根据实际情况,提示哪个文件usleep有问题,就去加这个头文件,即可解决问题。
报错解决之后,最后,执行下列指令:
make
(编译过程可能会有点慢,耐心等待哦。这里也可以使用make -j、make -j4、make -j8等命令速度会稍快一些,-j 后的的数字代表线程。但如果电脑性能不佳,可以把build.sh文件和build_ros.sh文件中的最后一句命令make -j 改为make)
至此,ORB_SLAM2已经安装好啦。
编译完成后会在ORB_SLAM2/Examples文件夹下生成各种可执行文件。这里以单目情况为例,展示如何运行ORB_SLAM2程序。
(1)下载数据集
这部分在github上也有详细描述,包括单目相机(Monocular)、双目相机(Stereo)、RGB-D(RGB-D)相机,包括TUM数据集、KITTI数据集和EuRoC数据集,本人运行的是单目的EuRoC数据集,具体操作如下:
1、下载数据集,地址:http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets,下不下来的可以用迅雷试试,很大,这里我用的是MH05的包。
2、将下载好的数据集放在home文件夹下,打开终端,运行下面命令:
cd ORB_SLAM2
./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml /home/用户名/MH05/mav0/cam0/data Examples/Monocular/EuRoC_TimeStamps/MH05.txt
(home/用户名/MH05/按照自己的路径修改,建议把包放在home下)
用户名写你的客户机名称,如果EuRoC文件夹在别的路径下,更改即可,如果下载的是其他数据包,对应更改末尾的MH05.txt,出现任何问题基本都是路径问题,仔细检查路径。
运行中的状态,结束后窗口自动关闭,并在终端显示这一行:
这是将运行后的数据存在这个文件中,后续用EVO评测时,会用其与真实值作对比。
至此,ORB-SLAM2配置完成。