【《视觉SLAM十四讲》前ch2-ch6实践全过程和遇到的问题及解决办法】

文章目录前言一、运行环境配置1.在虚拟机上安装Ubuntu14.042.解决一些小问题安装VMware Tools(用来跨系统复制粘贴,自由调整屏幕大小)火狐(Firefox)无法联网(用来下载压缩包)从文件目录下启动终端(在终端里切换目录太麻烦)二、实践出现的问题以及解决方案1.Ubuntu下安装包的方法2.编译高博提供的代码ch2ch3/useEigench3/useGeometrych3/visualizeGeometry总结前.
摘要由CSDN通过智能技术生成

文章目录

  • 前言
  • 一、运行环境配置
    • 1.在虚拟机上安装Ubuntu14.04
    • 2.方便Ubuntu使用
  • 二、《十四讲》的实践部分过程与问题
    • 1.Ubuntu下安装包的两种方法
    • 2.编译高翔的源码
      • ch2
      • ch3/useEigen
      • ch3/useGeometry
      • ch3/visualizeGeometry
      • ch4/useSophus
      • ch5/imageBasics
      • ch5/joinMap
      • ch6/ceres_curve_fitting
      • ch6/g2o_curve_fitting
  • 总结


前言

最近在看高博的《视觉SLAM十四讲》,几乎每一章都有实践部分。自己在实际操作中出现了一些问题,浪费了很多时间。于是想要把实践的过程和解决问题的过程记录下来,方便查阅。文中几乎所有问题都由前人解答过了,所以很多只是贴出链接。


一、运行环境配置

1.在虚拟机上安装Ubuntu14.04

链接: https://blog.csdn.net/qq_38410730/article/details/90954665.

2.方便Ubuntu使用

1.安装VMware Tools(用来跨系统复制粘贴,自由调整屏幕大小)
链接: https://blog.csdn.net/dcrmg/article/details/74090307.
之后可在虚拟机和Windows上相互复制粘贴,节省输入网址和代码的时间

2.解决火狐(Firefox)无法联网的问题(用来下载压缩包)
链接: https://blog.csdn.net/coding_Wen/article/details/108988911.
在第一步之后,我就能连上网了,搜索引擎自动变成了百度
进行第二步之后,我又上不了网了,原因是搜索引擎又跳回了Google,没找到百度,改成bing又可以了。

3.从文件目录下启动终端(在终端里切换目录太麻烦)
链接: https://blog.csdn.net/yuhengyue/article/details/98176655.

二、《十四讲》的实践部分过程与问题

1.Ubuntu下安装包的两种方法

使用apt-get命令安装

/*直接打开终端,输入*/
sudo apt-get install g++

使用cmake安装,(只要高博的源码3rdparty文件中包含的库,尽量不要自己下载,不同的版本可能会出现新问题。)

/*在解压好的文件夹内部,右键打开终端并输入*/
mkdir build
cd build
cmake ..
make
/*可以使用cmake -j4实现快速编译,但容易ram内存不足报错*/

/*如果是需要install的库,再加上一句*/
sudo make install

2.编译高翔的源码

在Firefox下打开https://github.com/gaoxiang12/slambook.,下载保存,并解压文件

ch2

在ch2文件夹内右键打开终端

mkdir build && cd build
cmake ..
make
cd ..
build/helloSLAM

ch3/useEigen

//使用apt-get命令安装Eigen
sudo apt-get install libeigen3-dev

//在useEigen文件内打开终端
mkdir build && cd build
cmake ..
make
cd ..
build/eigenMatrix

ch3/useGeometry

//在useGeometry文件内打开终端
mkdir build && cd build
cmake ..
make
cd ..
build/eigenGeometry

ch3/visualizeGeometry

//安装Pangolin依赖项
sudo apt-get install libglew-dev

//安装Pangolin
/*在解压好的Pangolin文件夹内打开终端*/
mkdir build && cd build
cmake ..
make 
sudo make install

//在visualizeGeometry文件内打开终端
mkdir build && cd build
cmake ..
make
cd ..
build/eigenGeometry

1.最后运行出现报错Pangolin X11: Unable to retrieve framebuffer options已放弃(核心已转储),看这篇文章:
https://blog.csdn.net/abcwoabcwo/article/details/107959192.

ch4/useSophus

//安装Sophus
/*在解压好的Sophus文件夹内打开终端*/
mkdir build && cd build
cmake ..
make 

//在useSophus文件内打开终端
mkdir build && cd build
cmake ..
make
cd ..
build/useSophus

ch5/imageBasics

//安装OpenCV依赖项
sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev
libopenexr-dev libtbb-dev

//安装opencv
/*在解压好的opencv-3.1.0文件夹内打开终端*/
mkdir build && cd build
cmake ..
make 
sudo make install

//在imageBasics文件内打开终端
mkdir build && cd build
cmake ..
make
cd ..
build/imageBasics ubuntu.png

1.opencv下载
在Firefox里打开https://opencv.org/releases,选择OpenCV – 3.1.0的Sources下载保存,并解压文件。

2.一个安装错误
在安装过程中可能会出现ICV: Downloading ippicv_linux_20151201.tgz 超时,下载该文件替换opencv-3.1.0/3rdparty/ippicv/downloads/linux-*目录下的同名文件,重新cmake。
参考文章:https://blog.csdn.net/qq_30163461/article/details/80441522.
替换文件:https://github.com/ZhengHui-Z/ippicv_linux_20151201.

3.高翔书中的可执行文件名错写如下,上面代码最后一行已经更正

build/image_basics ubuntu.png

ch5/joinMap

//使用apt-get命令安装PCL
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all

//在joinMap文件内打开终端
mkdir build && cd build
cmake ..
make
cd ..
build/joinMap
pcl_viewer map.pcd

ch6/ceres_curve_fitting

//安装Ceres依赖项
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

//安装Ceres
/*在解压好的ceres-solver文件夹内打开终端*/
mkdir build && cd build
cmake ..
make
sudo make install

//在ceres_curve_fitting文件内打开终端
mkdir build && cd build
cmake ..
make
cd ..
build/curve_fitting

ch6/g2o_curve_fitting

//安装g2o依赖项
 sudo apt-get install libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.2
libcholmod-dev

//安装g2o
/*注意g2o不可以在中文目录下,否则报错*/
/*在解压好的g2o文件夹内打开终端*/
mkdir build && cd build
cmake ..
make
sudo make install

//在g2o_curve_fitting文件内打开终端
mkdir build && cd build
cmake ..
make
cd ..
build/curve_fitting

1.在中文目录下安装,会出现报错。移动到非中文目录下重新编译安装即可。
参考文章:https://blog.csdn.net/rsvp2012/article/details/53817613
2.报错:c++: fatal error: 已杀死 signal terminated program cc1plus
原因是使用多线程语句make -j4导致虚拟机的运行内存不足,减少线程或者干脆使用make即可解决问题。
参考文章:https://www.codeleading.com/article/10915219351/


总结

系统环境在虚拟机上使用Ubuntu14.04。目前除了opencv的包,其他的都使用apt-get命令安装或者使用作者提供的库。尽量与《十四讲》作者保持一致。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值