【视觉SLAM十四讲】各种库的安装及代码实践

在学习高博的《视觉SLAM十四讲》的过程中,遇到了各种问题。虽说在网上都能找到对应的解决方案,但没有一篇是详细列尽遇到的问题的文章。于是,打算自己写一篇记录学习过程中遇到的一系列问题。希望能为后续的学习提供一点帮助!(自己也是新手小白,还是有很多不懂的地方。)


目录

一、git clone代码不完全

二、CH2

1、安装gcc和g++编码器

2、cmake的安装

3、实践部分

三、CH3

1、Eigen库的安装

2、Pangolin库的安装

3、实践部分

实践3.2:Eigen

实践3.6:Eigen几何模块

实践3.7:可视化演示

四、CH4 

 1、Sophus库的安装

2、实践部分 

实践4.4:Sophus

五、CH5 

1、安装OpenCV

2、实践部分

实践5.3:计算机中的图像

实践5.4:3D视觉

六、CH6 

1、Ceres库的安装

2、g2o库的安装

3、实践部分

实践6.3:曲线拟合问题

七、CH7 

1、实践部分

实践7.2:特征提取和匹配

实践7.4:对极约束求解相机运动

实践7.6:三角测量

实践7.8:求解PnP

实践7.10:求解ICP

八、CH8

1、实践部分 

实践8.3:LK光流法

实践8.5:直接法

 九、CH9

1、实践部分 

实践9.3:Ceres BA

实践9.4:g2o求解BA

 十、CH10

1、实践部分

实践10.3:位姿图优化

十一、CH11

1、DBoW3库的安装

2、实践部分

实践11.3:创建字典

实践11.4:相似度的计算

十二、CH12

1、PCL库的安装

2、octomap库的安装 

3、实践部分

实践12.3:单目稠密重建

实践12.4:RGB-D稠密建图

十三、CH13 

实践:设计SLAM系统


一、git clone代码不完全

视觉SLAM十四讲中所涉及到的示例的源代码链接:https://github.com/gaoxiang12/slambook2

在ubuntu18.04系统下,打开终端在自己指定的目录下,执行以下命令:

 git clone https://github.com/gaoxiang12/slambook2.git

然后,发现3rdparty里面的文件夹(例:g2o、Pangolin等)内什么都没有。而在高博的github里面能看到是有文件的。执行以下命令,即可解决:

git clone --recursive https://github.com/gaoxiang12/slambook2.git

这样克隆下来的内容就是完整的了。

二、CH2

1、安装gcc和g++编码器

终端执行以下命令安装gcc和g++:

sudo apt-get update
sudo apt-get install gcc 
sudo apt-get install g++

2、cmake的安装

终端输入以下命令安装cmake:

sudo apt-get install cmake

3、实践部分

打开终端在slambook2/ch2目录下执行以下命令:

mkdir build && cd build
cmake ..
make

编译通过。

终端输入:

./helloSLAM 

 示例如下:

三、CH3

1、Eigen库的安装

终端执行以下命令进行Eigen库的安装:

sudo apt-get install libeigen3-dev

2、Pangolin库的安装

终端执行以下命令,安装依赖:

sudo apt-get install libxkbcommon-dev
sudo apt-get install wayland-protocols
sudo apt install libglew-dev

在 slambook2/3rdparty/Pangolin目录下,终端执行以下命令安装Pangolin库:

mkdir build && cd build
cmake ..
make
sudo make install

3、实践部分

实践3.2:Eigen

终端在slambook2/ch3/useEigen目录下执行以下命令:

mkdir build && cd build
cmake ..
make

在编译过程中出现以下报错:

fatal error::Eigen/Core:没有那个文件或目录。

执行以下命令,即可解决:

sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

然后重新进行编译,就能正常编译通过了。

终端输入:

./eigenMatrix 

运行示例:

实践3.6:Eigen几何模块

3.6.1:Eigen几何模块的数据演示

终端在slambook2/ch3/useGeometry目录下执行以下命令:

mkdir build && cd build
cmake ..
make

 build目录下,终端输入:

./eigenGeometry 

这个程序运行没什么问题,这里就不展示示例了。

3.6.2:实际的坐标变换例子

终端在slambook2/ch3/examples目录下执行以下命令:

mkdir build && cd build
cmake ..
make

 build目录下,终端输入: 

 ./coordinateTransform

 这个程序运行没什么问题,这里就不展示示例了。

实践3.7:可视化演示

3.7.1:显示运动轨迹

终端在slambook2/ch3/examples目录下,执行以下命令:

mkdir build && cd build
cmake ..
make

  build目录下,终端输入: 

./plotTrajectory 

 此时出现以下错误:

 将plotTrajectory.cpp文件中的代码:

string trajectory_file = "./examples/trajectory.txt";

更改为:

string trajectory_file = "../../examples/trajectory.txt";

将文件重新编译执行。

示例如下:

 3.7.2:显示相机的位姿

终端在slambook2/ch3/visualizeGeometry目录下,执行以下命令:

mkdir build && cd build
cmake ..
make

  build目录下,终端输入: 

./visualizeGeometry

 示例如下:

四、CH4 

 1、Sophus库的安装

在 slambook2/3rdparty/Sophus目录下,终端输入以下命令安装Sophus库:

mkdir build
cd build
cmake ..
make
sudo make install

2、实践部分 

实践4.4:Sophus

4.4.1:Sophus的基本使用方法

终端在slambook2/ch4目录下,执行以下命令:

mkdir build && cd build
cmake ..
make

 build目录下,终端输入:

./useSophus 

这个程序运行没什么问题,这里就不展示示例了。

4.4.2:评估轨迹的误差

终端在slambook2/ch4/example目录下,执行以下命令:

mkdir build && cd build
cmake ..
make

  此时出现以下错误:

  将trajectoryError.cpp文件中的代码:

string groundtruth_file = "./example/groundtruth.txt";
string estimated_file = "./example/estimated.txt";

 改为: 

string groundtruth_file = "../../example/groundtruth.txt";
string estimated_file = "../../example/estimated.txt";

将文件重新编译执行。build目录下,终端输入:

./trajectoryError

示例如下:

五、CH5 

1、安装OpenCV

如果之前安装了ROS,则OpenCV也被自动地安装了。安装ROS后,ubuntu系统会自动安装OpenCV 3.2.0。

终端输入以下命令查看OpenCV版本:

pkg-config opencv --modversion

由于OpenCV的安装过程较复杂,若没有安装OpenCV,我这里不作说明了。请参考以下文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如果是君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值