【SLAM开发之二】库安装及实践

这里我们汇总一下SLAM开发中常用的库及安装方法:

OpenCV安装 & CMake安装

安装步骤

https://blog.csdn.net/Jum_Tsai/article/details/72466026
https://www.2cto.com/net/201702/592621.html

配置Bash

https://blog.csdn.net/cocoaqin/article/details/78163171

下载源码,包括opencv、opencv_contrib、opencv_extra,具体不做介绍。

https://github.com/opencv
OpenCV也是一个cmake工程,提供了大量的开源图像算法,是计算机视觉的必备库。


PCL安装

http://blog.csdn.net/mush_room/article/details/78339578

基本就三步:

1 sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl

2 sudo apt-get update

3 sudo apt-get install libpcl-all

PCL(Point Cloud Library)是跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构.


Eigen安装

sudo apt-get install libeigen3-dev
Eigen是一个C++开源线性代数库,用来表示矩阵和矢量运算,数值分析及其相关的算法。

VIM配置

http://zuoqiang.iteye.com/blog/1155102


kdevelop安装

https://userbase.kde.org/KDevelop/Install#GNU.2FLinux


ceres-solver安装

http://ceres-solver.org/installation.html
ceres-solver是由Google开发的开源的非线性最小二乘问题的算法库。Ceres官网上的非常详细地介绍了其具体使用方法。

g2o安装

https://github.com/RainerKuemmerle/g2o

这里安装最容易出问题,不同Ubuntu版本对应的库不一样,这里是16.04版本安装的依赖库:

sudo apt-get install libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake libqgliviewer-dev-qt4

基本上依赖的就是这几种库,但是,一定通过Tab键看看是不是更新过。

接下来就是解压,编译,安装了。

g2o是基于优化的非线性误差函数的一个开源的C++框架。g2o已扩展到大范围的一个新的问题,问题通常可以在几行代码指定。目前的实现为SLAM和BA的几种变体提供了解决方案。

参考文献:

Grisetti, Giorgio, et al. “A tutorial on graph-based SLAM.” 

Pangolin安装:

* use pangolin: slambook/3rdpart/Pangolin or download it from github: https://github.com/stevenlovegrove/Pangolin
* install dependency for pangolin (mainly the OpenGL): 
sudo apt-get install libglew-dev
* compile and install pangolin
cd [path-to-pangolin]
mkdir build
cd build
cmake ..
make 
sudo make install 

编译之前,通常将源码目录Pangolin\src\display\device下的display_x11.cpp文件注释下面的两行代码:

staticint visual_attribs[] = 
{ 
    GLX_X_RENDERABLE , True, 
    GLX_DRAWABLE_TYPE , GLX_WINDOW_BIT, 
    GLX_RENDER_TYPE , GLX_RGBA_BIT, 
    GLX_X_VISUAL_TYPE , GLX_TRUE_COLOR, 
    GLX_RED_SIZE , 8, 
    GLX_GREEN_SIZE, 8, 
    GLX_BLUE_SIZE, 8, 
    GLX_ALPHA_SIZE, 8, 
    GLX_DEPTH_SIZE, 24, 
    GLX_STENCIL_SIZE, 8, 
    GLX_DOUBLEBUFFER , glx_doublebuffer ? True : False, 
    //注释这一行GLX_SAMPLE_BUFFERS , glx_sample_buffers, 
    //注释这一行 GLX_SAMPLES , glx_sample_buffers > 0 ? glx_samples : 0, 
    None 
};
Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。


DBoW2

https://github.com/dorian3d/DBoW2
DBoW2是一种高效的回环检测算法,DBow2算法的全称为Bags of binary words for fast place recognition in image sequence,使用的特征检测算法为Fast,描述子为BRIEF描述子,是一种离线方法。


ROS安装


http://wiki.ros.org/kinetic/Installation/Ubuntu

OpenGL也是用到的系统库,它是一种高性能图形算法行业标准,是行业领域中最为广泛接纳的 2D/3D 图形 API。


Sophus,李群&李代数库

git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff


boost (C++库)

sudo apt-get install libboost-all-dev
Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。


最后,把依赖库写到这里:

sudo apt-get install libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-dev-qt4
sudo apt-get install liblapack-dev 
 
sudo apt-get install liblpack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev 
libgoogle-glog-dev libgtest-dev

# google-glog + gflags
sudo apt-get install libgoogle-glog-dev

# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev

sudo apt-get install libsuitesparse-dev

上述,只是视觉处理过程中遇到的库,借助已经做好的库,已经实现的算法,实现我们的阶梯。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值