ORB-SLAM2 “工具安装 和 系统运行“ 详细过程

  • Post author:
  • Post category:其他
 

一、预备安装工具

 

(1)更新apt库,更新软件列表

sudo apt-get update

(2)安装git

sudo apt-get install git

(3)安装cmake

sudo apt-get install cmake

(4)安装gcc、g++

sudo apt-get install g++

 

二、安装Pangolin作为可视化和用户界面

(1)安装依赖项

sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev

(2)将项目从github上下载到本地

git clone https://github.com/stevenlovegrove/Pangolin.git

(3)编译安装

 

cd Pangolin
mkdir build
cd build
cmake ..
make -j
sudo make install

 

 
如果
cmake 出现以下情况,就将
cmake 改为
make 就可以了

 

三、安装opencv,用于处理图像和特征

(1)安装依赖项

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

(2)下载 相关的包

opencv3.4.5链接:https://pan.baidu.com/s/1XFsJMEgDPWRLiyGrAzVl4A
提取码都是:slam
或者
 

wget -O opencv-3.4.5.zip https://github.com/Itseez/opencv/archive/3.4.5.zip

 

(3)编译安装

cd ~/opencv-3.4.5   // 看看自己包的位置在哪
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

make -j8

编译过程会花费较长时间,可以使用make -jx,x表示线程,可以加速编译
编译成功如下图:

执行命令

sudo make install

 

(4)配置opencv的编译环境

将opencv的库添加到路径

sudo gedit /etc/ld.so.conf.d/opencv.conf

在文件末尾添加:

上面的程序执行后会出现文档,添加下面的内容
/usr/local/lib   

保存回到命令行界面,执行命令让刚才的配置路径生效:

sudo ldconfig

配置bash

sudo gedit /etc/bash.bashrc

  在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

 

保存,执行命令使得配置生效:

source /etc/bash.bashrc

 

(5) 测试是否正常安装 (成功会出现带 “hello opcv” 字样的窗口)

cd opencv-3.4.5/samples/cpp/example_cmake
cmake .
make
./opencv_example
 
 
 
 

四、安装Eigen3.3.7 (建议源码安装) Eigen3.3.7链接 提取码:slam

下载并解压缩安装包
eigen3.3.7链接:https://pan.baidu.com/s/1AOKO3Xk9_Rg_qUPTaTKoW
提取码都是:slam
安装
 
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install
 
#
安装后 头文件安装在
/usr/local/include/eigen3/
#
移动头文件
sudo cp

r /usr/local/include/eigen3/Eigen /usr/local/include
备注:
在很多程序中
include
时经常使用
#include <Eigen/Dense>
而不是使用 #include <eigen3/Eigen/Dense> 
 
 
 

五、安装 运行ORB_SLAM2 (如果在ROS下 推荐工程目录: orbslam_ws/src )

 
mkdir orb_slam
cd orb_slam
mkdir src
cd src
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
 
 
cd orb_slam/src/ORB_SLAM2  
//我的程序放的位置,根据你自己的进入
chmod +x build.sh
./build.sh
 
编译时如果有如下错误:
在对应的头文件中加上
#include <unistd.h>
 
 

编译时如果提示
boost

相关错误:
修改
Examples/ROS/ORB_SLAM2/
文件夹下的
CMakeLists.txt
文 件
 
问题解决后的正确运行结果:

 
 
 
 
 
 

六、 运行ORB_SLAM2  程序

有TUM、KITTI、EuRoC三种数据集,本实验使用EuRoC数据集
 
cd orb_slam/src/ORB_SLAM2

 

./Examples/Monocular/mono_euroc 
Vocabulary/ORBvoc.txt 
Examples/Monocular/EuRoC.yaml 
/home/hltt3838/EuRoC_data/MH_01_easy/mav0/cam0/data 
Examples/Monocular/EuRoC_TimeStamps/MH01.txt
或者, 放在D盘的数据
./Examples/Monocular/mono_euroc 
Vocabulary/ORBvoc.txt 
Examples/Monocular/EuRoC.yaml 
/media/hltt3838/DATA/EuRoc_data/MH_05_difficult/mav0/cam0/data 
Examples/Monocular/EuRoC_TimeStamps/MH05.txt
 
 
 
 
 
具体含义的解释:
 
 ./Examples/Monocular/mono_euroc  Vocabulary/ORBvoc.txt   Examples/Monocular/EuRoc.yaml   PATH_TO_SEQUENCE_FOLDER
 
 
1: 对应的mian.c 函数                         
   2 :词点,这个不变           
3:euroc的配置文件                           
4:数据的路径
 
用户名写你的客户机名称,如果EuRoC文件夹在别的路径下,更改即可,如果下载的是其他数据包,对应更改末尾的MH05.txt,出现任何问题基本都是路径问题,仔细检查路径。

 

理解:运行的程序只是他们提供的一种方式,当你真的掌握这套程序后,很多的内容是可以改的!

 

 

Ctrl + c   可以停止运行的程序

 

运行中的状态,结束后窗口自动关闭,并在终端显示这一行

 

七、 EVO评测

这部分借鉴博客
https://blog.csdn.net/gyhjlauy/article/details/100598260
https://blog.csdn.net/A_L_A_N/article/details/88708979
https://blog.csdn.net/gaoyuzhong123/article/details/103211830
 

 


版权声明:本文为hltt3838原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。