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

目录

一、预备安装工具

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

(2)安装git

(3)安装cmake

(4)安装gcc、g++

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

(1)安装依赖项

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

(3)编译安装

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

(1)安装依赖项

(2)下载 相关的包

(3)编译安装

(4)配置opencv的编译环境

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

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

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

六、 运行ORB_SLAM2  程序

七、 EVO评测



 

一、预备安装工具

 

(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

 

ORB-SLAM2 “工具安装 和 系统运行“ 详细过程_第1张图片
 
如果 cmake 出现以下情况,就将 cmake 改为 make 就可以了
ORB-SLAM2 “工具安装 和 系统运行“ 详细过程_第2张图片

 

三、安装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 ..

ORB-SLAM2 “工具安装 和 系统运行“ 详细过程_第3张图片

make -j8

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

ORB-SLAM2 “工具安装 和 系统运行“ 详细过程_第4张图片

执行命令

sudo make install

ORB-SLAM2 “工具安装 和 系统运行“ 详细过程_第5张图片

 

(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  

 ORB-SLAM2 “工具安装 和 系统运行“ 详细过程_第6张图片

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

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 而不是使用 #include  
 
 
 

五、安装 运行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
 
 
编译时如果提示 boost 相关错误: 修改 Examples/ROS/ORB_SLAM2/ 文件夹下的 CMakeLists.txt 文 件
ORB-SLAM2 “工具安装 和 系统运行“ 详细过程_第7张图片
 
问题解决后的正确运行结果:
 
ORB-SLAM2 “工具安装 和 系统运行“ 详细过程_第8张图片
 
 
 
 
 

六、 运行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
 

 

你可能感兴趣的:(ORB-SLAM,解析)