视觉SLAM十四讲第二版踩坑总结

寒假花了点时间把slam第二版过了一遍,安装库文件实在太麻烦,我又总是因为内存问题把ubuntu系统搞坏,前前后后安了三四次。在此,记录第二版安装踩坑,如果未来不幸又要重装,留个参考。

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
  • 11
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
### 回答1: 《视觉SLAM十四第二版PDF是一本关于视觉定位与地图构建技术的经典教材,由国内知名专家学者合作撰写而成。本书系统地介绍了基于视觉传感器的SLAM技术的各个方面,包括相机模型、图像特征提取、初始姿态估计、运动估计、地图构建、回环检测等。同时,本书还特别关注了SLAM方法的实际应用,解了多个真实场景下的SLAM应用案例,并介绍了如何使用OpenCV、G2O等开源工具实现SLAM算法。此外,本书还对SLAM技术的最新进展进行了介绍,如基于深度学习的特征提取与描述、多目标视觉SLAM、无人机视觉SLAM等。本书所涉及的内容深入浅出,既适合初学者入门,也适合高级研究人员深入了解SLAM技术的最新进展。该书是目前国内最权威、最全面的视觉SLAM入门教材之一,值得广大从事机器人、计算机视觉、机器人自主导航、无人机等相关领域的科研人员、工程师和学生学习使用。 ### 回答2: 《视觉SLAM十四第二版PDF》是一本关于算法技术的经典教材,主要介绍了SLAM技术的应用和原理。本教材全面详细地介绍了视觉SLAM的相关知识,从基础的数学知识开始,述了传感器、滤波、3D点云和视觉测量等原理,帮助读者逐步深入了解SLAM技术的实现过程。 此外,《视觉SLAM十四第二版PDF》还详细介绍了几种常用的视觉SLAM算法,包括基于特征匹配的视觉SLAM算法VFH、基于直接法的RGB-D SLAM算法和基于半稠密法的DSO算法。对于学习SLAM的人来说,这些算法的深入掌握能够让他们更好地理解SLAM的各种应用场景和内部原理。 此外,本教材还包括各种真实案例以及实验代码,帮助读者更好地了解SLAM技术的应用和实现方法。总体而言,对于想要深入了解SLAM技术和拓展相关应用的读者来说,《视觉SLAM十四第二版PDF》是一本经典的参考教材,具有极高的价值和实用性。 ### 回答3: 《视觉slam十四 第二版 pdf》是一本涉及到计算机视觉和机器人技术的重要书籍。这本书主要介绍了基于视觉技术的跟踪和定位算法SLAMSLAM是一种用来对无人机、自动驾驶汽车和机器人等进行实时建图、路径规划和导航的技术。 本书包括十四个主题,内容涉及相机模型、卡尔曼滤波器、非线性优化、回环检测等各个方面。这本书适合于计算机视觉和机器人领域的专业人员和学生,以及对这些领域感兴趣的人。 此外,本书不仅仅是介绍了SLAM算法,还对视觉slam的一些经典算法进行了详细的解,同时也包括最新的研究成果,以及许多高质量的实验结果和实际应用案例。 通过阅读这本书,读者将能够全面了解视觉slam技术的基础和应用,对理解和掌握slam算法具有很大的帮助和作用。除此之外,本书也是一个很好的参考工具,尤其适合从事相关技术研究和开发的人员。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值