一:配置环境
参考博文:https://blog.csdn.net/ctyqy2015301200079/article/details/102835475
配置环境步骤:
(1)更新apt库,更新软件列表:sudo apt-get update
注:更新失败解决办法:sudo apt-get purge libappstream3
sudo apt-get update
(2)安装git,用于从Github上克隆项目到本地:sudo apt-get install git
(3)安装cmake,用于程序的编译:sudo apt-get install cmake
(4)安装Pangolin 作为可视化和用户界面
(4.1)a. 安装依赖项:sudo apt-get install libglew-dev libpython2.7-dev libboost-dev libboost-thread-dev libboost-filesystem-dev -y1
或者:sudo apt-get install libglew-dev libpython2.7-dev libboost-dev libboost-thread-dev libboost-filesystem-dev
(4.2)b. 从Github将项目下载到本地:git clone https://github.com/stevenlovegrove/Pangolin.git
(4.2)c. 编译安装:cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install
(5)安装OpenCV,做图像处理
(5.1)a. 安装依赖项
[编译器]: 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
(5.2)b. 在OpenCV官网(http://opencv.org)下载OpenCV相应版本的source版本2.4.11版本,然后解压到本地
(5.3)c. 编译安装:cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release –D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
(6)安装Eigen3,它是一个开源线性库,可进行矩阵运算:sudo apt-get install libeigen3-dev
(7)安装DBoW2和g2o。DBoW2是DBow库的改进版本,DBow库是一个开源的C++库,用于索引图像并将其转换为单词表示形式。g2o是一个开源的C ++框架,用于优化基于图的非线性误差函数。这两个库在ORB-SLAM2项目的第三方文件夹中,在此不单独编译,后续统一编译。
(8)安装ORB-SLAM2
(8.1)a. 克隆仓库:git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
(8.2)b. 编译ORB-SLAM2以及第三方库中的DBoW2和g2o,并解压ORB词典,将build.sh文件中的make -j改为make,再执行./build.sh命令。
cd ORB_SLAM2
chmod +x build.sh
./build.sh
此时orbslam2环境已经安装好。
二:运行数据集
-
运行过程参考博客:https://blog.csdn.net/xyt723916/article/details/89374201
-
tum数据集:https://vision.in.tum.de/data/datasets/rgbd-dataset/download
-
associate.py+evaluate工具(ate+ape):https://vision.in.tum.de/data/datasets/rgbd-dataset/tools
-
生成两个文件CameraTrajectory.txt和KeyFramejectory.txt在ORBSLAM2文件夹下。
-
计算rpe和ate:
python ./PATH/evaluate.ate CameraTrajectory.txt ./PATH/groundtruth.txt