Ubuntu18.04系统SLAM环境配置

之前的slam环境是在Ubuntu14.04下的,最近电脑出了些问题,索性直接换到18.04版本。

Ubuntu14.04下的环境是根据《视觉SLAM十四讲 从理论到实践》书中的提示进行安装的。在Ubuntu18.04下安装有些库的安装和依赖改变,还是有一些坑的。

G++

首先是最基本的c++编译环境,需要安装g++,可以直接

sudo apt-get install g++

在Ubuntu14.04下这样安装是不会出现任何问题的,但是在Ubuntu18.04下,由于18.04默认安装的gcc和g++版本问题,在安装Sophus时会出现一个小问题,在下边安装Sophus时会提到。

Eigen

线性代数库Eigen的安装不存在问题

sudo apt-get install libeigen3-dev

git

sudo apt-get install git

Sophus

Sophus的安装存在两个问题,一个是Sophus模板类和非模板类的区别,为了新手方便使用高博在十四讲中推荐的是非模板类的Sophus,需要将git到的Sophus回滚到a621ff版本;另一个就是由于编译器版本的不同,出现非模板类Sophus编译不过。

先贴上Ubuntu14.04下的安装过程,在对Ubuntu18.04的问题进行解决,Sophus只需要编译不需要安装。

git clone https://github.com/strasdat/Sophus.git

cd Sophus

git checkout a621ff

mkdir build

cd build

cmake ..

在ubuntu18.04下遇到的问题:

出现“unit_complex_.real() = 1.;   unit_complex_.imag() = 0. ;"的错误

解决方法:在sophus/so2.cpp文件中,将

unit_complex_.real() = 1. ;

unit_complex_.imag() = 0. ;

改为

unit_complex_.real(1.) ;

unit_complex_.imag(0.) = ;

然后重新编译即可。

更换gcc,g++为以前的版本,

卸载gcc,g++

安装gcc5,g++5

OpenCV

先写上ubuntu18.04的不同。之前版本的ubuntu终端apt-get安装到的opencv是二系的,而在ubuntu18.04安装到的是3.2版本的,这一区别之前直接下载源码安装的三系,用到二系安装时才发现的不对。

下边是18.04下的安装方法:

apt-get安装opencv3.2

sudo apt-get install libopencv-dev

而2系OpenCV需要从官网下载自己编译安装,

首先在官网https://opencv.org/下载OpenCV源码,解压。

安装依赖项

sudo apt-get install build-essential libgtk2.0-dev libvtk6-dev libjpeg-dev libtiff4-dev libopenexr-dev libtbb-dev

进入解压后的文件夹

mkdir build

cd build cmake ..

make -j4

sudo make install

笔者之前先源码安装的opencv3.4,在发现apt-get安装的版本为3.2后,选择一样源码安装2.4版本,同时通过源码安装两个版本需要将两个版本安装在不同位置,具体步骤在另一篇博客中https://blog.csdn.net/qq_41814939/article/details/81625666,官网下载源码可能会有一些慢,这篇文章也贴上了一种解决方法。

PCL

Ubuntu16.04之后安装pcl可以直接apt-get,

sudo apt-get install libpcl-dev pcl-tools

Pangolin

安装依赖项

sudo apt-get install libglew-dev  libboost-dev libboost-thread-dev libboost-filesystem-dev

然后就是git下源码,编译安装

 

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

cd Pangolin

mkdir build

cd build

cmake -DCPP11_NO_BOOST= 1 ..

make  -j4

sudo make install

Ceres

Ceres依赖谷歌的日志和测试工具

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

然后是git,编译安装

git clone https://github.com/ceres-solver/ceres-solver.git

cd ceres-solver

mkdir build

cd build

cmake ..

make -j4

sudo make install

g2o

在ubuntu18.04安装g2o与在14.04下安装的主要区别在于qt,18.04默认安装 qt5,

安装依赖项

 

sudo apt-get install libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev

所需要的依赖项在下载的源码中 README.md 文件中有写

依旧是git,编译安装

git clone https://github.com/RainerKuemmerle/g2o

cd g20

mkdir build

cd build

cmake ..

make -j4

sudo make install

DBoW3

git clone https://github.com/rmsalinas/DBow3.git

cd DBow3

mkdir build

cd build

cmake ..

make

sudo make install

你可能感兴趣的:(Ubuntu18.04系统SLAM环境配置)