近来需要用到SLAM环境来完成项目工作,因此在Ubuntu18.04系统进行操作,相信各位在这个环境配置方面一定头大,毕竟这个类型的博客一搜索直接铺天盖地的到来,但是我们按照他们博客来安装的时候经常报错,本人也是如此,甚至ubuntu系统已经被我重新卸载安装了,通过一两天的对多个博客进行分析比较,终于成功配置,这里写篇博客进行记录,以便于大家少走弯路。ubuntu版本相同的话,基本可以保证大家按照这篇博客全程顺利!(不要忘记安装完一个模块后关闭,打开新的终端,东西都在主目录可以看到)欢迎大家在评论区交流。
这是最基本的c++编译环境,可能已经安装了
sudo apt-get install cmake
sudo apt-get install g++
sudo apt-get install git
因为后续安装g2o的时候需要Eigen支持,所以我们先进行Eigen的配置
安装
sudo apt-get install libeigen3-dev
检查安装
pkg-config --cflags eigen3
卸载
sudo apt-get remove libeigen3-dev
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
这里不再多说,具体请参考我之前写的一篇博客
Ubuntu系统安装opencv详细操作及具体应用
Ubuntu16.04之后安装pcl可以直接apt-get
sudo apt-get install libpcl-dev pcl-tools
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 Solver是谷歌出品的关于线性优化的功能包,使用 LOAM SLAM算法中需要用到这个功能包。
由于使用git下载可能遇到很多问题,这里采用本地下载,非常方便
下载地址: 链接: https://pan.baidu.com/s/1EXjbTjZ8pkaEbeppHW3TuA 密码: 02dv
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
mkdir build
cd build
cmake ..
make -j8 //可用nproc这个命令查看cpu核心数,我的cpu核心数是8
sudo make install
安装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
安装DBoW2的时候需要OpenCV支持
git clone https://github.com/rmsalinas/DBow3.git
cd DBow3
mkdir build
cd build
cmake ..
make -j8
sudo make install
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