SLAM知识[7]:依赖项和安装

1 SLAM有什么依赖项?

 SLAM开发的依赖项有下列7项:

1.1 KDevelop

是集成开发环境。创建新工程、导入工程、编译、执行文件。

1.2 Eigen

Eigen 是一个线性算术的C++模板库,包括:vectors, matrices, 以及相关算法。功能强大、快速、优雅以及支持多平台。

1.3 pangolin

Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。可以用于3D视觉和3D导航的视觉图,可以输入各种类型的视频、并且可以保留视频和输入数据用于debug。

参考地址:
【1】Pangolin:https://github.com/stevenlovegrove/Pangolin
【2】Pangolin安装问题:http://www.cnblogs.com/liufuqiang/p/5618335.html
【3】Pangolin的Example:https://github.com/stevenlovegrove/Pangolin/tree/master/examples
【4】Pangolin的使用:http://docs.ros.org/fuerte/api/pangolin_wrapper/html/namespacepangolin.html
【5】特性:http://www.stevenlovegrove.com/?id=44

转载原文:https://blog.csdn.net/c602273091/article/details/65441315  

Pangolin 安装及其使用_算法攻城狮-CSDN博客_pangolin

1.4 sophus

一个较好的 李代数库是由Strasdat维护的Sophus库。Sophus库支持三维运动的 SO(3)、 SE(3),此外还支持二维运动的 SO(2)、 SE(2)和相似变换 Sim(3)等内容。它是直接在Eigen库基础上开发的,因此我们不需要安装额外的依赖库。

1.5 opencv

opencv安装教程 - 多弗朗强哥 - 博客园 (cnblogs.com)

从略

1.6 ceres

Ceres solver 是谷歌开发的一款用于非线性优化的库,在谷歌的开源激光雷达slam项目cartographer中被大量使用。Ceres官网上的文档非常详细地介绍了其具体使用方法,相比于另外一个在slam中被广泛使用的图优化库G2O,ceres的文档可谓相当丰富详细。本篇博客介绍一下Ceres库的基本使用方法。

1.7 g2o

图优化本质上仍然是非线性优化。只不过利用图的方式表现出来,使问题可视化,然后可以根据可视化的结果来更好的调整优化过程。

常见的,比如bundle adjustment,ICP,数据拟合,都可以用g2o来做。甚至我还在想神经网络能不能写成图优化的形式呢……

深入理解图优化与g2o:g2o篇 - 半闲居士 - 博客园 (cnblogs.com)

  从代码层面来说,g2o是一个c++编写的项目,用cmake构建。它的github地址在:https://github.com/RainerKuemmerle/g2o 

2 依赖项的安装过程

2.1 kdevelop安装过程

  • sudo apt-get install cmake
  • sudo apt-get install kdevelop

测试,输入: Kdevelop

出现可视化界面就OK了。

2.2  Eigen安装过程

  • sudo apt-get install libeigen3-dev

2.3 pangolin安装过程

2.3.1 安装依赖

  • sudo apt-get install libglew-dev

  • sudo apt-get install cmake

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

2.3.2 下载Pangolin

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

2.3.3 编译Pangolin

cd  Pangolin               #  [此为Pangolin的克仑路径)] 打开解压后的Pangolin文件夹
mkdir build
cd build                      # 无序列表
cmake ..
make                         # (或者用cmake --build .)
sudo make install      #   (.h默认安装到了/usr/local/include)

到此,Pangolin已经被安装好了。

2.3 安装Sophus代数

sudo git clone http://github.com/strasdat/Sophus.git

cd  Sophus               #  [此为Sophus的克仑路径)] 打开解压后的Sophus文件夹
mkdir build
cd build                      # 无序列表
cmake ..
make                         # (或者用cmake --build .)
sudo make install      #   (.h默认安装到了/usr/local/include)

2.4 安装opencv

2.4.1 下载opencv

mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

2.4.2 安装依赖项

http://opencv.org/releases.html

sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
    libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
    libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
    gfortran openexr libatlas-base-dev python3-dev python3-numpy \
    libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \
    libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

2.4.3 生成编译场地

cd ~/opencv_build/opencv
mkdir -p build && cd build

2.4.4 预编译 

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

出现下面提示,说明预编译完成。 

-- Configuring done
-- Generating done
-- Build files have been written to: /home/vagrant/opencv_build/opencv/build

 2.4.5 开始编译

make -j16

2.4.6 开始安装

sudo make install

检查版本 

pkg-config --modversion opencv4

2.5 安装ceres

2.5.1下载

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

2.5.2 安装依赖 

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

2.6.3 编译

mkdir build
cd build
cmake ..
make -j4

2.6.4 安装

sudo make install

2.7  安装g2o

2.7.1 下载g2o:

链接github下载地址直接下载比较慢。

可以通过以下链接下载:链接:https://pan.baidu.com/s/1g5QpMNWeUdSI063qiMbZpA 提取码:aqxp 

2.7.2 安装依赖

 sudo apt-get install libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.2

根本不需要编译源码直接一行命令就可以

sudo apt-get install libpcl-dev

如果没有安装pcl_viewer就再加一行命令

sudo apt-get install pcl-tools

就完事了!

おすすめ

転載: blog.csdn.net/gongdiwudu/article/details/119751235
おすすめ