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

就完事了!

SLAM知识[7]:依赖项和安装相关推荐

  1. java 插件开发 互相依赖_java – Eclipse插件开发:有没有办法控制有关我的插件缺少依赖项的安装程序消息?...

    我正在开发一个依赖于 Eclipse平台4.2(Juno)的eclipse插件,并且不能安装在旧版本的eclipse上. 当用户尝试在旧eclipse上安装我的插件(通过更新站点)时,Eclipse安 ...

  2. Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录

    Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录 安装需求 准备工作 Python及其依赖项 libffi glibc GDBM mpdecimal bz2 xz re ...

  3. 2022年5月26日:用C#生成.NET应用程序--创建新的.NET项目并使用依赖项(部分没看懂。)

    使用 NuGet 注册表中的依赖项可以更快地开发 .NET 应用程序. 了解如何管理项目的依赖 简介 在.NET项目中添加包 .NET 附带许多核心库,可处理从文件管理到 HTTP 再到压缩文件各种任 ...

  4. Anaconda3 离线安装 Django-3.2.7 及依赖项setuptools、sqlparse 、asgiref、typing_extensions等模块

    目录 一.背景 二.离线安装 setuptools.sqlparse .asgiref.typing_extensions等依赖模块 三.离线安装django 一.背景 因为信息安全管理的规定,这台服 ...

  5. caffe依赖项安装

    glog安装: 1. Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装: tar zxvf ...

  6. 如何下载python安装包的所有依赖_如何将包含所有依赖项的python包安装到Docker镜像中?...

    我在Ubuntu 15.10中使用Docker容器为Pyspark jupyter / pyspark-notebook工作.我需要安装具有所有依赖项的folium并在容器中运行Pyspark脚本.我 ...

  7. 没有安装node对等点依赖_功能依赖项的对等 数据库管理系统

    没有安装node对等点依赖 Equivalence of Functional dependencies states that, if the relations of different Func ...

  8. NodeJS(四)Mac下如何安装package.json里面会产生依赖项

    我们通常安装一个模块按如下命令: npm install 模块名称       //该情况下项目中的package.json文件中可能不会生成依赖项的文件. 所以如果要生成依赖项,那么可以利用如下命令 ...

  9. 安装SQL2008时遇到未能加载文件或file:///d:microsoft..sql.chainer.packagedata.dll或它的某个依赖项

    安装SQL2008时遇到"未能加载文件或"file:///d:microsoft..sql.chainer.packagedata.dll"或它的某个依赖项,如下图所示 ...

最新文章

  1. IDEA设置运行tomcat即生成war包
  2. java基础—自定义一个比较器,按照字符串的长度升序的方法来比较字符串进行储存(java集合三)
  3. 【灵修】舍得——有舍有得
  4. 强烈建议有孩子的看看
  5. excel 公式 单引号 concat_Excel制作倒计时、抽签器你见过没?
  6. 群体智能优化算法介绍
  7. 计算机硬盘模式,详细教你bios设置硬盘模式
  8. Permission is only granted to system apps解决方法
  9. 宁皓网ninghao.net这个人的教程不错
  10. 托福高频真词List19 // 附托福TPO阅读真题
  11. ftime()函数的用法!
  12. AS608光学指纹模块
  13. python自动做表格_用Python做自动化的表格处理(批量智能替换) - Python趣用之法2...
  14. Xshell6、Xftp6要继续使用此程序,您必须应用最新的更新或使用新版本
  15. 2020-12-2 IDEA2020.2 提示Typo:In word ‘XXXX’ 解决方法
  16. CCF2020企业非法集资风险预测-季军方案
  17. PCB布局布线中地的设计
  18. linux下邮件服务器 qmail sendmail postfix - 三种MTA的比较
  19. 冯小刚说公众人物只能骂不还口打不还手,这是当明星要承担的代价
  20. NSDI11-Spectroscope-Diagnosing performance changes by comparing request flows

热门文章

  1. torch_geometric笔记:nn. graclus (图点分类)
  2. NTU课程笔记:MAS 714 algorithm and theory of computing(1):introduction
  3. MATLAB实战系列(十九)-遗传算法解决TSP(旅行商)问题-应用及解析(文末附MATLAB源码)
  4. amoeba高可用mysql_amoeba for mysql 使用说明
  5. yy自动语音接待机器人_智能语音机器人落地产品有哪些?
  6. python 投票脚本_使用Python脚本拉取2014 CSDN博客之星投票情况
  7. win10电脑去掉快捷箭头_【搞机作战室】Win10系统电脑 常用快捷方式按键 (快捷键)介绍...
  8. matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
  9. Python入门100题 | 第015题
  10. 带你看android的内心世界