ORB-SLAM2安装
有这些依赖项:
主要参考下面的博文
注意在安装依赖项Pangolin时,如果是从GitHub直接git的最新版本的Pangolin,那么编译安装的时候就会出现问题
1、sudo apt install libeigen3的版本可能不够,可以自己下载编译安装eigen库
2、eigen库的位置需要注意,一般是“/usr/include/eigen3”,而这个新版本的Pangolin好像是在“/usr/local/include”中找,所以最好是两个位置都存一份
3、新版的Pangolin包中“varstate.h”头文件包含了
#include <any>
而这个需要C++17,ThinkPad双系统装的是Ubuntu16.04,而**Ubuntu16.04 支持的是C++14版本(gcc 5.4.0),并不支C++17,**这就需要升级gcc,可以参考下面的博客
但是看着过程还是很繁琐,师兄路过提醒,装低版本的Pangolin不可以嘛,我想也是,ORB-SLAM2是17年开源的,用的应该就是旧版的Pangolin
于是编译安装高翔博士视觉SLAM十四讲3rd_party中的Pangolin,非常顺畅
安装好依赖后再编译安装ORB-SLAM2就非常顺畅了
安装完成后测试,打开终端,输入:
cd ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ../rgbd_dataset_freiburg1_desk
运行过程截图如下:
运行输出如下:
ORB-SLAM2 Copyright (C) 2014-2016 Raul Mur-Artal, University of Zaragoza.
This program comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it
under certain conditions. See LICENSE.txt.
Input sensor was set to: Monocular
Loading ORB Vocabulary. This could take a while...
Vocabulary loaded!
Camera Parameters:
- fx: 517.306
- fy: 516.469
- cx: 318.643
- cy: 255.314
- k1: 0.262383
- k2: -0.953104
- k3: 1.16331
- p1: -0.005358
- p2: 0.002628
- fps: 30
- color order: RGB (ignored if grayscale)
ORB Extractor Parameters:
- Number of Features: 1000
- Scale Levels: 8
- Scale Factor: 1.2
- Initial Fast Threshold: 20
- Minimum Fast Threshold: 7
-------
Start processing sequence ...
Images in the sequence: 613
New Map created with 110 points
-------
median tracking time: 0.0502065
mean tracking time: 0.0544293
Saving keyframe trajectory to KeyFrameTrajectory.txt ...
trajectory saved!
最终相机的运动轨迹以txt格式存储起来
但出现了这个问题:
QObject::~QObject: Timers cannot be stopped from another thread
GitHub上有人提出了issues
看大家暂时没有很好的解决办法,但不影响轨迹的绘制与存储,所以暂时先不仔细考虑了