本文参考链接:https://zhuanlan.zhihu.com/p/452256687
详细内容请参考链接,相比原文,本文更加的简洁明了一点。
安装前提(建议先换源)
sudo apt-get install cmake
sudo apt-get install git
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
实验验证
点云拼接实验 。编译运行 slambook2/ch5/rgbd/joinMap.cpp
首先在slambook2/ch5/rgbd/的CMakeLists.txt中添加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
完成。后续运行其它实验,如果还差什么包或依赖的,补充安装即可。
感谢参考链接:https://zhuanlan.zhihu.com/p/452256687
|