ORB_SLAM2安装与运行
2016-11-24 18:04
435 查看
1. 安装C++11编译器
ORB_SLAM2使用了C++11的线程和时间控制函数。[javascript] view
plain copy
$sudo apt-get install gcc g++
2.安装Pangolin
ORB_SLAM2使用 Pangolin 构建可视化用户界面. 参见https://github.com/stevenlovegrove/Pangolin. [javascript] view
plain copy
$ sudo apt-get install libglew-dev #安装Glew
$ sudo apt-get install cmake #安装CMake
#安装Boost
$ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
$ sudo apt-get install libpython2.7-dev #安装Python2 / Python3
#下载、编译、安装Pangolin:
$ git clone https://github.com/stevenlovegrove/Pangolin.git
$ cd Pangolin
$ mkdir build
$ cd build
$ cmake -DCPP11_NO_BOOST=1 ..
$ make
$ sudo make install
3. 安装OpenCV 2.4.11
ORB_SLAM2使用OpenCV处理图像以及特征. 参见: http://opencv.org/downloads.htm. 至少需要 2.4.3 的版本. 本测试用 OpenCV 2.4.11.[javascript] view
plain copy
$ sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev
$ unzip opencv-2.4.11.zip
$ cd opencv-2.4.11;mkdir build;cd build;
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -DINSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -DBUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -DCUDA_GENERATION=Kepler ..
$ make
$ sudo make install
[javascript] view
plain copy
#在其中写入: /usr/local/lib
sudo gedit /etc/ld.so.conf.d/opencv.conf
#在文件末尾写入:
#PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
#exportPKG_CONFIG_PATH
udo ldconfig sudo gedit/etc/bash.bashrc
#source此脚本
ource /etc/bash.bashrc
4.安装Eigen3.1.0
g2o需要Eigen,下载和安装Eigen3的方法可以看这儿: http://eigen.tuxfamily.org. 需要3.1.0及以上。[javascript] view
plain copy
$ sudo apt-get install libeigen3-dev
5.BLAS and LAPACK
g2o需要BLAS和LAPACK[javascript] view
plain copy
$ sudo apt-get install libblas-dev
$ sudo apt-get install liblapack-dev
6. DBoW2 and g2o (Included in Thirdparty folder)
ORB_SLAM2使用修改版的DBoW2 库进行位置识别 ,使用 g2o 库进行非线性优化. 这两个修改版的库被放在第三方文件夹内.
7. 编译ORB_SLAM2库和例子程序(单目、双目和RGB-D)
[javascript] viewplain copy
$ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
$ cd ORB_SLAM2
$ chmod +x build.sh
$ ./build.sh
生成的libORB_SLAM2.so位于lib目录下,可执行程序mono_tum, mono_kitti, rgbd_tum, stereo_kitti, mono_euroc
and stereo_euroc位于Examples目录下。
8. 运行例子程序
8.1 Monocular 实例
1)TUM 数据集从http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载并解压一个序列,如:rgbd_dataset_freiburg1_desk2.tgz
执行下面的命令(把TUMX.yaml 修改为TUM1.yaml < freiburg1序列>,TUM2.yaml < freiburg2序列> or TUM3.yaml < freiburg3序列> )
[javascript] view
plain copy
$ ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt ./Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
#for example
$ ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt ./Examples/Monocular/TUM1.yaml ../tum_data/rgbd_dataset_freiburg1_desk2/
2) KITTI 数据集
从 http://www.cvlibs.net/datasets/kitti/eval_odometry.php下载数据集(灰度图像), 把KITTIX.yaml
修改为 KITTI00-02.yaml, KITTI03.yaml or KITTI04-12.yaml,这些*xx.yaml各自对应于序列 0 to 2, 3, and 4 to 12. Change PATH_TO_DATASET_FOLDER to the uncompressed dataset folder. Change SEQUENCE_NUMBER to 00, 01, 02,.., 11.如有不明白的地方,看一下代码:
[javascript] view
plain copy
./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER
8.2 Stereo 实例
1)KITTI 数据集从 http://www.cvlibs.net/datasets/kitti/eval_odometry.php下载数据集(灰度图像),把KITTIX.yaml
修改为 KITTI00-02.yaml, KITTI03.yaml or KITTI04-12.yaml,这些*xx.yaml各自对应于序列 0 to 2, 3, and 4 to 12. Change PATH_TO_DATASET_FOLDER to the uncompressed dataset folder. Change SEQUENCE_NUMBER to 00, 01, 02,.., 11.如有不明白的地方,看一下代码:
[javascript] view
plain copy
./Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER
8.3 RGB-D 实例
1)TUM 数据集从http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载并解压一个序列,如:rgbd_dataset_freiburg1_desk2.tgz
运行RGB-D实例时需要RGBD(depth)图像和RGB图像,所以需要把每一张RGB图像与之对应的RGBD图像建立关联(在Examples/RGB-D/associations/目录下有一部分关联文件,可以直接使用),关联Python文件associate.py(根据timestamp进行关联)。
[javascript] view
plain copy
$ python associate.py PATH_TO_SEQUENCE/rgb.txt PATH_TO_SEQUENCE/depth.txt > associations.txt
执行下面的命令(把TUMX.yaml 修改为TUM1.yaml < freiburg1序列>,TUM2.yaml < freiburg2序列>
or TUM3.yaml < freiburg3序列> ),把 ASSOCIATIONS_FILE修改为对应的关联文件。
[javascript] view
plain copy
$./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE
# for example
$./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt ./Examples/RGB-D/TUM1.yaml ../tum-data/rgbd_dataset_freiburg1_desk2/ ./Examples/RGB-D/associations/fr1_desk2.txt
8.4 ROS实例
8.4.1 安装ROS
9. SLAM和Localization 模式
你可在GUI中切换至SLAM模式或Localization模式。
9.1 SLAM 模式
这是默认模式. 此模式下,系统有三个线程并行运行: Tracking, Local Mapping and Loop Closing。 系统不停地定位相机,构建新的地图,并且试图闭合环形路径。
9.2 Localization 模式
当你有一个好的工作区域地图时,你可以使用此模式。在这种模式下,局部地图构建以及环路闭合检测将不工作。 系统在你提供的地图上定位相机 (此地图不再更新), 在必要时使用重定位(relocalization)。
相关文章推荐
- ORB_SLAM2安装与运行
- orb-slam的安装/配置/运行
- 编译安装及运行单目ORBSLAM2在Ubuntu14.04
- ORB_SLAM2学习记录1-ORB_SLAM2的安装与运行
- ORB-SLAM2安装与运行(非ROS环境下)
- ORB_SLAM2安装与运行
- 编译安装及运行单目ORBSLAM2在Ubuntu14.04
- Ubuntu14.04运行ORB_SLAM2总结
- ROS下运行ORBSLAM2
- LSD-SLAM 安装运行
- ORB_SLAM2安装以及使用说明
- 在ROS indigo下运行ORB-SLAM2
- Ubuntu下使用单目相机运行ORB SLAM2
- 使用自己笔记本摄像头运行orbslam2
- ORB_SLAM 功能包的安装与使用
- ORB_SLAM2的编译运行
- ZED 相机 && ORB-SLAM2安装环境配置与ROS下的调试
- 使用自己笔记本摄像头运行orbslam2
- 使用自己笔记本摄像头运行orbslam2
- ubuntu 16.04 x64 ROS kinetic 安装ORB—SLAM