SLAM|Linux 配置《视觉SLAM十四讲》环境的步骤

参照《视觉SLAM十四讲》中环境安装配置的讲解,结合自身安装调试中出现的问题,记录如下:

  1. 安装g++
    sudo apt-get install g++
  2. 安装 cmake
    sudo apt install cmake
  3. 安装Eigen(几何模块)
    sudo apt-get install libeigen3-dev
    Eigen头文件默认位置:“/usr/include/eigen3/”
  4. 安装基于OpenGL的Pangolin
    (1)install pangolin的依赖项:
    sudo apt-get install libglew-dev
    .
    (2) compile and install pangolin(建议拷贝到 lance文件夹下)
    cd [path-to-pangolin]——cd lance
    mkdir build
    cd build
    cmake …
    make
    sudo make install
  5. 安装 git
    sudo apt install git
  6. 安装 Sophus
    Sophus.tar.gz文件夹拷贝到对应文件夹下(建议拷贝到lance文件夹下)
    在lance文件夹下,解压:tar zxvf Sophus.tar.gz, cd Sophus
    git checkout a621ff mkdir build cd build cmake … make
    注:如遇到有关SO(2)的安装问题:
    /Sophus/sophus/so2.cpp:32:26: error: lvalue required as left operand of assignment
    unit_complex_.real() = 1.;
    .
    /Sophus/sophus/so2.cpp:33:26: error: lvalue required as left operand of assignment
    unit_complex_.imag() = 0.;
    .
    该错误可以定位到so2.cpp源码文件下:

    SO2::SO2()
    {
    unit_complex_.real() = 1.;
    unit_complex_.imag() = 0.;
    }
    修改为
    SO2::SO2()
    {
    //unit_complex_.real() = 1.;
    //unit_complex_.imag() = 0.;
    unit_complex_.real(1.);
    unit_complex_.imag(0.);
    }
  7. 【SLAM|Linux 配置《视觉SLAM十四讲》环境的步骤】安装 Opencv
    (1)安装依赖项
    sudo apt-get install build-essential libgtk2.0-dev libvtk7-dev libjpeg-dev libtiff4-dev libjasper-dev libopenxr-dev libtbb-dev
    注:如果程序安装过程中没有完全完成,可以再安装一遍,一般就能够完成全部安装了
    libvtk7-dev可能遇到版本号已发生变化的,改一下即可,比如原来是libvtk5-dev
    .
    (2)Opencv文件夹拷贝到对应文件夹下,mkdir build cd build cmake … make
    注:opencv-3.4/modules/viz/src/precomp.hpp中的第一个#include,在运行相应程序时,make的时候出现错误“找不到文件”,所以可以注释掉即可。
  8. 安装Ceres(最小二乘问题求解库,曲线拟合)
    (1)安装依赖项
    sudo apt-get install libapack-dev libsuitesparse-dev libcxspares3 libgflags-dev libgoogle-golg-dev libgtest-dev
    .
    (2)ceres-solver.tar.gz拷贝到相应文件夹下,解压:tar zxvf ceres-solver.tar.gz mkdir build cd build cmake … make
    .
    注:make过程中出现问题: /usr/local/include/eigen3/Eigen/src/Core/util/XprHelper.h:64:8: error: no type named ‘Literal’ in ‘struct Eigen::NumTraits >
    原因是:ceres-solver和eigen3这个版本不兼容,需要重新配置一个版本。
    版本在:https://pan.baidu.com/s/1pNt9xoB
    .
    解压后执行命令
    cd eigen-eigen-ce5a455b34c0
    mkdir build
    cd build
    cmake …
    make
    sudo make install
    再编译ceres-solver就ok了。
  9. 安装 g2o
    (1)安装依赖项
    sudo apt-get install qt5-qmake qt5-default libqglviewer-dev-qt5 libsuitesparse-dev libcxsparse3 libcholmod3
    .
    (2)g2o.tar.gz拷贝到相应文件夹下,解压:tar zxvf g2o.tar.gz mkdir build cd build cmake … make
  10. 安装 Meshlab(打开点云的*.ply数据用)
    sudo add-apt-repository ppa:zarquon42/meshlab
    sudo apt-get update
    sudo apt-get install meshlab

    推荐阅读