ubuntu20.04 快速配置slambook2十四讲环境

本文参考链接:https://zhuanlan.zhihu.com/p/452256687

详细内容请参考链接,相比原文,本文更加的简洁明了一点。

安装前提(建议先换源)

# 1 安装CMake
sudo apt-get install cmake

# 2 安装Git
sudo apt-get install git

# 3 更新
sudo apt-get upgrade

1 下载slam14讲配套源码

这里提供两种方案

第一种: 下载slam14讲作者的

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

在这里插入图片描述

然后应该会发现 slambook2/3rdparty下的文件夹内容为空
在这里插入图片描述

如果为空,则执行以下语句。(速度比较慢)

cd slambook2/
git submodule update --init --recursive

不推荐这种,这种似乎版本容易出问题,建议自己去下载这六种包安装。
根据这个链接的内容进行跳转到相应的地方下载即可。
https://github.com/gaoxiang12/slambook2/tree/master/3rdparty

第二种:

我已上传gitee,你可以下载我的(这样速度相比上一种快许多)

版本方面我自己是没有问题的。

git clone https://gitee.com/diyugreat/slambook2.git

2 安装Eigen

sudo apt-get install libeigen3-dev

在这里插入图片描述

3 安装Pangolin

先安装依赖环境,终端输入:

sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev libpython3.8-dev python3-pip

在这里插入图片描述

在slambook2/3rdparty/Pangolin文件夹下打开终端并依次输入:

mkdir build
cd build/
cmake ..
make -j4
sudo make install

在这里插入图片描述

4 安装Sophus

在slambook2/3rdparty/Sophus文件夹下打开终端并输入:

mkdir build
cd build/
cmake ..
make -j4

如果你下载的是作者的源码,之后可能会报错,需要在CMakeLists.txt文件中添加以下内容:(我是在第30行已添加了)

set(CMAKE_CXX_FLAGS"-Wno-error=deprecated-declarations-Wno-deprecated-declarations ")

然后执行

sudo make install

在这里插入图片描述

5 安装OpenCV

这里自行安装,因为我以前安装过了,我的是 opencv 3.4.15。

注意最好使用opencv 3以上版本。

6 安装Ceres

先安装依赖环境,终端输入:

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev

在这里插入图片描述

在slambook2/3rdparty/ceres-solver文件夹下打开终端并依次输入:

mkdir build
cd build/
cmake ..
make -j4
sudo make install

在这里插入图片描述

7 安装g2o

先安装依赖环境,终端输入:

sudo apt-get install qt5-qmake qt5-default libqglviewer-dev-qt5 libsuitesparse-dev libcxsparse3 libcholmod3

在这里插入图片描述

在slambook2/3rdparty/g2o文件夹下打开终端并依次输入:

mkdir build
cd build/
cmake ..
make -j4
sudo make install

在这里插入图片描述

8 安装DBoW3

在slambook2/3rdparty/DBoW3文件夹下打开终端并依次输入:

mkdir build
cd build/
cmake ..
make -j4
sudo make install

在这里插入图片描述

9 安装PCL

终端输入:

sudo apt-get install libpcl-dev pcl-tools

在这里插入图片描述

10 安装octomap

终端输入:

sudo apt-get install liboctomap-dev octovis

在这里插入图片描述

实验验证

ch5点云拼接

点云拼接实验 。编译运行 slambook2/ch5/rgbd/joinMap.cpp

首先在slambook2/ch5/rgbd/的CMakeLists.txt中添加opencv路径

#opencv
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )

在这里插入图片描述

然后在slambook2/ch5/rgbd文件夹下右键进入终端,依次执行下面命令

也可以不创建build,直接cmake、make,只是cmake产生的文件多,因此创建了bulid文件夹用于保存

# 编译代码
mkdir build
cd build/
cmake ..
make -j4

在这里插入图片描述

由图生成了joinMap文件,然后运行它即可。

./joinMap

如果出现下面这个情况,将bulid文件夹下生成的 joinMap文件移到上级目录(即 rgbd/ 文件夹下)

因为post.txt在rgbd/文件夹下

在这里插入图片描述

然后在运行 ./joinMap

在这里插入图片描述

ch8 直接法与光流法

这个实验由于代码使用的是opencv2,而cmkelists.txt文件中是opencv4

如果不修改,则会报下面错:
error: ‘CV_GRAY2BGR’ was not declared in this scope
这是opencv2的用法,现在是COLOR_GRAY2BGR

因此有两种选择

  1. 要么将代码中opencv2的用法改成opencv3或者4的用法
  2. 要么将cmakelists文件中的opencv4改成opencv2。

这里选择第2个做法。
在这里插入图片描述后面就是编译过程了

# 编译代码
mkdir build
cd build/
cmake ..
make -j4

在这里插入图片描述然后如ch5一样,将生成的两个目标文件(optical_flow 和 direct_method)移到上级目录

然后在ch8文件夹中打开终端运行

  • 光流法
./optical_flow
  • 直接法
./direct_method

图片就略去了。

完成。后续运行其它实验,如果还差什么包或依赖的,补充安装即可。

感谢参考链接:https://zhuanlan.zhihu.com/p/452256687

  • 11
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值