小白新手入门新电脑安装配置orb-slam2 一步到位不踩坑(ubutun18.04)

目录

一、安装基础工具

二、安装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++

二、安装Pangolin,作为可视化和用户界面

(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

三、安装OpenCV,用于处理图像和特征

(如果是要跑ORB-SLAM2,建议用OpenCV 3.4.1 版本,不然之后会很麻烦,会出现不兼容问题)

(1)下载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

(2)安装依赖项

安装依赖库和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

(3)编译安装

 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

(4)配置环境,添加路径

sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到:

 sudo gedit /etc/ld.so.conf.d/opencv.conf

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加:

/usr/local/lib

如下图所示,点击保存即可:

小白新手入门新电脑安装配置orb-slam2 一步到位不踩坑(ubutun18.04)_第1张图片

执行如下命令使得刚才的配置路径生效:

sudo ldconfig 

配置bash:

sudo gedit /etc/bash.bashrc

在最末尾添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH 

如下图所示,点击保存即可:

小白新手入门新电脑安装配置orb-slam2 一步到位不踩坑(ubutun18.04)_第2张图片

保存,执行如下命令使得配置生效:

source /etc/bash.bashrc  

更新:

sudo updatedb

(5)安装完成,测试一下

至此所有的配置都已经完成,下面用一个小程序测试一下

找到,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
即表示配置成功,如下图所示:

小白新手入门新电脑安装配置orb-slam2 一步到位不踩坑(ubutun18.04)_第3张图片

四、安装Eigen3

使用下列命令来安装eigen:

sudo apt-get install libeigen3-dev

五、安装ORB_SLAM2

执行下列命令下载安装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)报错1,及解决方案

小白新手入门新电脑安装配置orb-slam2 一步到位不踩坑(ubutun18.04)_第4张图片

问题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已经安装好啦。

六、运行单目SLAM实例

编译完成后会在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配置完成。

 

 

 

 

 

 

你可能感兴趣的:(slam,slam,linux)