Ubuntu18.04搭建 SLAM环境(完美避坑,版本对应不报错)

写到前言

近来需要用到SLAM环境来完成项目工作,因此在Ubuntu18.04系统进行操作,相信各位在这个环境配置方面一定头大,毕竟这个类型的博客一搜索直接铺天盖地的到来,但是我们按照他们博客来安装的时候经常报错,本人也是如此,甚至ubuntu系统已经被我重新卸载安装了,通过一两天的对多个博客进行分析比较,终于成功配置,这里写篇博客进行记录,以便于大家少走弯路。ubuntu版本相同的话,基本可以保证大家按照这篇博客全程顺利!(不要忘记安装完一个模块后关闭,打开新的终端,东西都在主目录可以看到)欢迎大家在评论区交流。

一、CMake、g++、git的安装

这是最基本的c++编译环境,可能已经安装了

  sudo apt-get install cmake
  sudo apt-get install g++
  sudo apt-get install git

在这里插入图片描述

二、Eigen的配置

因为后续安装g2o的时候需要Eigen支持,所以我们先进行Eigen的配置

安装
sudo apt-get install libeigen3-dev
检查安装
pkg-config --cflags eigen3
卸载
sudo apt-get remove libeigen3-dev

在这里插入图片描述

三、Sophus的配置

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

“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.) ;

Sophus只需要编译不需要安装。

git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build
cd build
cmake ..
make -j12

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

四、OpenCV、PCL、Pangolin的配置安装

1、OpenCV的配置

这里不再多说,具体请参考我之前写的一篇博客
Ubuntu系统安装opencv详细操作及具体应用

2、PCL

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

sudo apt-get install libpcl-dev pcl-tools

在这里插入图片描述

3、Pangolin

git下源码,编译安装

安装依赖项
sudo apt-get install libglew-dev  libboost-dev libboost-thread-dev libboost-filesystem-dev
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST= 1 ..
make -j12
sudo make install

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

五、Ceres、g2o、DBoW3的配置

1、Ceres

Ceres Solver是谷歌出品的关于线性优化的功能包,使用 LOAM SLAM算法中需要用到这个功能包。
由于使用git下载可能遇到很多问题,这里采用本地下载,非常方便

(1)软件包下载:

下载地址: 链接: https://pan.baidu.com/s/1EXjbTjZ8pkaEbeppHW3TuA 密码: 02dv

(2)安装编译Ceres库所需依赖项

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

可能会出现无法定位lib cxsoarse3.1.2的问题,解决方法如下:
第一步,打开sources.list

sudo gedit /etc/apt/sources.list

第二步,将下面的源粘贴到最上方

deb http://cz.archive.ubuntu.com/ubuntu trusty main universe

第三步,更新源

sudo apt-get update

在这里插入图片描述

第四步,重新输入依赖项安装命令安装依赖项

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

(3)然后解压ceres,打开终端进入解压后的文件,编译安装

mkdir build
cd build
cmake ..
make -j8  //可用nproc这个命令查看cpu核心数,我的cpu核心数是8
sudo make install

在这里插入图片描述在这里插入图片描述在这里插入图片描述

2、g2o

安装g2o的时候需要Eigen支持
在ubuntu18.04安装g2o与在14.04下安装的主要区别在于qt,18.04默认安装 qt5,libqglviewer-dev 要换成libqglviewer-headers

sudo apt-get install libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-headers
git clone https://github.com/RainerKuemmerle/g2o
cd g2o
mkdir build
cd build
cmake ..
make -j8
sudo make install

在这里插入图片描述在这里插入图片描述在这里插入图片描述这里遇到了一个小问题cmake…编译的时候提示版本过低,接下来我们按照它提示的进行升级
第一步先移除原有的cmake(这一步过后之前实验配置的ROS Melodic小海龟可能要重新安装,这个重新安装的任务放到本篇博客全部完成后,具体可参考我上一篇博客,操作很简单,几分钟就回来了。害、美中不足)

sudo apt remove cmake

资源包下载:https://cmake.org/files/v3.15/
在这里插入图片描述进入解压后的安装包打开终端

./configure

在这里插入图片描述

make

在这里插入图片描述

sudo make install

在这里插入图片描述

cmake --version

在这里插入图片描述ok言归正传,回去继续操作
在这里插入图片描述在这里插入图片描述这里也需要加上sudo
在这里插入图片描述在这里插入图片描述

3、DBoW3

安装DBoW2的时候需要OpenCV支持
git clone https://github.com/rmsalinas/DBow3.git
cd DBow3
mkdir build
cd build
cmake ..
make -j8
sudo make install

在这里插入图片描述在这里插入图片描述在这里插入图片描述

六、octomap

git clone https://github.com/OctoMap/octomap.git
sudo apt-get install doxygen-latex doxygen-doc doxygen-gui graphviz libclang1-6.0
cd octomap
mkdir build
cd build
cmake ..
make -j8
sudo make install

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述至此大功告成!

七、参考博客

https://blog.csdn.net/qq_38373843/article/details/88667866
https://blog.csdn.net/qq_41035283/article/details/118309639
https://blog.csdn.net/JeSuisDavid/article/details/121146859
https://blog.csdn.net/qq_23958451/article/details/100526699

猜你喜欢

转载自blog.csdn.net/m0_48609250/article/details/124257064