视觉SLAM十四讲第二版踩坑总结
寒假花了点时间把slam第二版过了一遍,安装库文件实在太麻烦,我又总是因为内存问题把ubuntu系统搞坏,前前后后安了三四次。在此,记录第二版安装踩坑,如果未来不幸又要重装,留个参考。
视觉SLAM十四讲第二版踩坑总结
- 1 SLAM源代码下载
- 2 Kdevelop安装
- 3 安装opencv3.4.1
- 4 安装Pangolin
- 5 部分章节编译问题
- ch4 李群与李代数
- ch8 视觉里程计2
- ch9 安装Meshlab
- ch10 g2o_viewer
- ch11 字典与回环检测
- ch12 安装PCL
1 SLAM源代码下载
从github网站上克隆高翔slam第二版的代码:
git clone https://github.com/gaoxiang12/slambook2
下载完了发现第三方库3rdparty是空的,使用下面的命令获得子模块:
git submodule init
git submodule update
2 Kdevelop安装
sudo apt-get install kdevelop
3 安装opencv3.4.1
参考博客:Ubuntu16.04安装opencv3.4.1
下载:opencv-3.4.1.zip
按照slam第二版P108,先安装OpenCV的依赖项:
sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev
其中注意,书上给出的libtiff4-dev,在ubuntu16.04中只有libtiff5-dev。
解压opencv-3.4.1.zip,创建一个目录build,再进入build目录,打开终端。执行cmake命令。
cd opencv-3.4.1/
mkdir build
cd build
cmake ..
make -j4
sudo make install
4 安装Pangolin
阅读README.txt,同样先安装依赖项:
sudo apt-get install libglew-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
sudo apt-get install libdc1394-22-dev libraw1394-dev
sudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev
有部分依赖项和OpenCV的依赖是重合的。
5 部分章节编译问题
ch4 李群与李代数
example文件夹中,Cmakelists中没有使用C++11标准,在Cmakelists.txt开始部分加上:
add_compile_options(-std=c++11)
ch8 视觉里程计2
Cmakelists.txt中要求OpenCV版本大于4,我用3.4.1编译也能顺利运行,大于这个版本应该都是可行的。
ch9 安装Meshlab
安装Meshlab,用Meshlab打开点云文件.ply:
sudo apt-get install meshlab
ch10 g2o_viewer
第10讲使用g2o_viewer查看位姿图的时候遇到报错:
g2o_viewer: error while loading shared libraries: libg2o_viewer.so: cannot open shared object file: No such file or directory
sudo gedit /etc/ld.so.conf
#添加如下代码:
/usr/local/lib
sudo ldconfig
ch11 字典与回环检测
1、使用第二版源代码创建字典报错:
no rule to make target ‘/usr/local/lib/libDBow3.so’
将CMakeList.txt中的静态库libDBow3.a改为动态库libDBow3.so即可。
2、发现运行feature_trainning和loop_closure与书上给出的结果存在差异,feature_trainning输出了一大堆不知道是什么含义的数字。
3、loop_closure换用大字典之后相似度区分甚至更差了。
我看了高翔github主页上slambook2的讨论区,也有人提到这些问题,都跟我一样使用的是slambook2提供的DBoW3第三方库。
回环检测这一讲对应slambook1中的第12讲,有人提到使用slambook1的代码就可以得到正确的结果。目前不清楚到底是什么问题,讨论区也没有给出解答。
ch12 安装PCL
Ubuntu16.04安装PCL点云库,我之前也使用源代码安装方式,安了好几个版本都失败了,采用下面一步安装PCL,可以直接安装编译好的点云库PCL-1.7:
sudo apt-get install libpcl-dev
视觉SLAM十四讲第二版踩坑总结相关推荐
- 《视觉SLAM十四讲 第二版》笔记及课后习题(第一讲)
前言 之所以想要写这个系列的博客,是因为想要总结一下高博的<SLAM视觉十四讲第二版>的各章内容以及自己对书后习题的一些做法,也算是对自己学习过程的一个总结和回顾.博客分为两个大部分,即读 ...
- 《视觉SLAM十四讲 第二版》课后习题
本文为<视觉SLAM十四讲>(第二版)的课后习题解答,为本人学习时参考着网上的资源所写的答案,可能有所纰漏,希望大家指出. 文章目录 第1讲 预备知识 第2讲 初始SLAM 第3讲 三维空 ...
- 《视觉SLAM十四讲 第二版》笔记及课后习题(第七讲)
读书笔记:视觉里程计1 之前的内容,介绍了运动方程和观测方程的具体形式,并讲解了以非线性优化为主的求解方法.从本讲开始,我们结束了基础知识的铺垫,开始步入正题:按照第二讲的内容,分别介绍视觉里程计.优 ...
- 《视觉SLAM十四讲 第二版》笔记及课后习题(第三讲)
读书笔记:三维空间刚体运动 本讲介绍视觉 SLAM 的基本问题之一:一个刚体在三维空间中的运动是如何描述的.我们当然知道这由一次旋转加一次平移组成.平移确实没有太大问题,但旋转的处理是件麻烦事.我们将 ...
- 《视觉SLAM十四讲 第二版》笔记及课后习题(第十二讲)
读书笔记:建图 本讲我们开始介绍建图部分的算法.在前端和后端中,我们重点关注同时估计相机运动轨迹与特征点空间位置的问题.然而,在实际使用SLAM 时,除了对相机本体进行定位之外,还存在许多其他的需求. ...
- 视觉SLAM十四讲第二版[第2讲]
目录 前言 一.2.1-2.2内容 二.2.3内容 1.运动和观测概念 2.观测方程 三.2.4内容 总结 前言 兄弟,本章没什么难理解的东西,就是后面如果你对ubuntu不了解的话就会像我每天跟个弱 ...
- 视觉SLAM十四讲ch5 stereo踩坑日记
环境:ubuntu20.04 问题描述:在运行imageBasics 文件夹里面的程序时没有问题,但是在运行stereo 文件夹下面的程序时报错error: 'xxxxxx' was not decl ...
- slam十四讲第二版 pdf_聊聊这两年学习slam啃过的书
作者:Amber 来源:微信公众号|3D视觉工坊(系投稿) 「3D视觉工坊」技术交流群已经成立,目前大约有8000人,方向主要涉及3D视觉.CV&深度学习.SLAM.三维重建.点云后处理.自动 ...
- 【slam十四讲第二版】【课本例题代码向】【第七讲~视觉里程计Ⅱ】【使用LK光流(cv)】【高斯牛顿法实现单层光流和多层光流】【实现单层直接法和多层直接法】
[slam十四讲第二版][课本例题代码向][第七讲~视觉里程计Ⅱ][使用LK光流(cv)][高斯牛顿法实现单层光流和多层光流][实现单层直接法和多层直接法] 0 前言 1 使用LK光流(cv) 1.1 ...
最新文章
- Flash 与 Js 相互调用
- 前端学习(518):三列布局实现方式
- 第十一届蓝桥杯省赛 C++组试题 第2题 求完数
- artTemplate -- 性能卓越的 js 模板引擎
- java ognl 值栈_ognl-值栈基本操作
- mysql函数变量存储_MySQL存储过程、存储函数、变量
- 软件工程 毕业论文 文献引用 中英文文献整合
- hikaricp mysql_HikariCP数据库连接池
- js 获取字符长度(英文1,中文2)
- 通俗理解逻辑删除和物理删除的区别
- 2020-09-07(基于控制台的DVD管理系统)
- 20doing 动名词
- Pocket PC C#
- 浩辰cad电气2021 安装教程
- QPBOC——数据认证
- 农村电商是什么 农产品电商平台如何运营?
- ES6 标签模板(Tagged templates)
- 基于Java+SpringBoot+vue+element驾校管理系统设计和实现
- 怎么创建网页?有几种方法
- 设计模式之 单例模式