ORB_SLAM2安装

ORB_SLAM2

ORB_SLAM2论文
ORB_SLAM2官网
ORB_SLAM2Github

环境:Ubuntu16.04/GTX1080/cuda-8.0


1 安装Pangolin

1.1 必需依赖项

(1)、C++11
(2)、OpenGL(Desktop/ES/ES2)
(3)、Glew
(win) built automatically (assuming git is on your path)
(deb) sudo apt-get install libglew-dev
(mac) sudo port install glew
(4)、CMake
(win) http://www.cmake.org/cmake/resources/software.html
(deb) sudo apt-get install cmake
(mac) sudo port install cmake

1.2 建议依赖项
Python2/Python3
(win) Python
(deb) sudo apt-get install libpython2.7-dev
(mac) preinstalled with osx)
1.3 可选依赖项
(1)、FFMPEG(用于视频解码与图片尺度调整)
(deb) sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
(2)、DC1394(For firewire input)
(deb) sudo apt-get install libdc1394-22-dev libraw1394-dev
(3)、libuvc (For cross-platform webcam video input via libusb)
git://github.com/ktossell/libuvc.git
(4)、libjpeg, libpng, libtiff, libopenexr (For reading still-image sequences)
(deb) sudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev
(5)、OpenNI / OpenNI2 (For Kinect / Xtrion / Primesense capture)
(6)、DepthSense SDK
1.4 非常规可选依赖
(1)、Eigen / TooN (These matrix types supported in the Pangolin API.)
(2)、CUDA Toolkit >= 3.2 (Some CUDA header-only interop utilities included)
http://developer.nvidia.com/cuda-downloads
(3)、Doxygen for generating html / pdf documentation
(deb)sudo apt-get install doxygen doxygen-gui
1.5 安装并生成文档
cd Pangolin-master
mkdir build
cd build
cmake ..
make -j4
sudo make install
make doc

2 Opencv 安装(至少为Opencv2.4.3)

2.1 Opencv 2.4.13 安装

(1)、编译
cd opencv-2.4.13
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_gpu=OFF ..
make -j8
sudo make install
sudo apt-get install python-opencv
(2)、验证
import cv2

2.2 Opencv3.2.0 安装( 此处安装Opencv3.2.0)
cd opencv-3.2.0
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_gpu=OFF ..
(cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. gpu支持)
make -j8
sudo make install
sudo apt-get install python-opencv
(2)、验证
import cv2

3 Eigen3 安装(至少为Eigen3.1.0)

3.1 Eigen依赖项

C++ ST
CMake

3.2 安装
cd Eigen3.3.3_Release
mkdir build
cd build
cmake ..
make -j4
sudo make install

4 DBoW2 and g2o (Included in Thirdparty folder)

2.1 DBoW2 安装

(1)、依赖项
OpenCV3.2.0
Boost::dynamic_bitset
(deb) sudo apt-get install libboost-dev
DLib(如果没有安装,在安装DBOW2时会自动安装)
(2)、 DBoW2 安装(作者提供)
出现找不到 -lopencv_dep_cudart问题,即:opencv所依赖的cuda存在问题;解决方法为不使用该功能,即:在CMakelist.txt中添加set(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
cd DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
(3)、 DBoW2-master安装
cd DBoW2
mkdir build
cd build
cmake ..
make -j4
sudo make install

2.2 g2o 安装
(1)、依赖项
Eigen3
CMake
(2)、可选依赖
suitesparse
Qt5
libQGLViewer
(deb) sudo apt-get install libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev
(3)、 g2o安装( 作者提供)
cd g2o
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
(4)、 g2o安装
cd g2o
mkdir build
cd build
cmake ..
make -j4
sudo make install

5 ROS(可选安装项,ROS主要是用来获取输入图像序列以及结果可视化)*

5.1 ROS安装 | ROS安装中文

**备注:**a version Hydro or newer is needed

5.2 Ubuntu16.04下安装ROS
(1)、版本说明(对应 ROS Kinetic )
(2)、安装步骤
sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
sudo apt-key adv –keyserver hkp://ha.pool.sks-keyservers.net:80 –recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt-get update
可选:
Desktop-Full Install: (Recommended) –> sudo apt-get install ros-kinetic-desktop-full
Desktop Install –> sudo apt-get install ros-kinetic-desktop
ROS-Base: (Bare Bones) –> sudo apt-get install ros-kinetic-ros-base
Individual Package –> sudo apt-get install ros-kinetic-PACKAGE (例如:sudo apt-get install ros-kinetic-slam-gmapping)
查找有效的安装包:apt-cache search ros-kinetic
(3)、Initialize rosdep
sudo rosdep init
rosdep update
(4)、Environment setup
echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
source ~/.bashrc
(5)、Getting rosinstall
sudo apt-get install python-rosinstall

6 ORB_SLAM2构建

6.1 开始构建(非ROS)

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
将在./lib/下创建libORB_SLAM2.so
备注 #include

7 示例

6.1 单目示例

数据集与运行示例
TUM Dataset
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
KITTI Dataset
./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER
EuRoC Dataset
对V1和V2序列执行以下第一个命令,或对MH序列执行第二个命令。 根据您要运行的顺序更改PATH_TO_SEQUENCE_FOLDER和SEQUENCE。
./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml PATH_TO_SEQUENCE_FOLDER/mav0/cam0/data Examples/Monocular/EuRoC_TimeStamps/SEQUENCE.txt
./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml PATH_TO_SEQUENCE/cam0/data Examples/Monocular/EuRoC_TimeStamps/SEQUENCE.txt

6.2 双目示例
数据集与运行示例
KITTI Dataset
./Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER
EuRoC Dataset
./Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml PATH_TO_SEQUENCE/mav0/cam0/data PATH_TO_SEQUENCE/mav0/cam1/data Examples/Stereo/EuRoC_TimeStamps/SEQUENCE.txt
./Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml PATH_TO_SEQUENCE/cam0/data PATH_TO_SEQUENCE/cam1/data Examples/Stereo/EuRoC_TimeStamps/SEQUENCE.txt
6.3 RGB-D示例
数据集与运行示例
TUM Dataset
python associate.py PATH_TO_SEQUENCE/rgb.txt PATH_TO_SEQUENCE/depth.txt > associations.txt
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE
6.4 ROS示例
(1)、环境配置
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS
chmod +x build_ros.sh
./build_ros.sh
(2)、单目
rosrun ORB_SLAM2 Mono PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
(3)、单目增强现实
rosrun ORB_SLAM2 MonoAR PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
(4)、双目
rosrun ORB_SLAM2 Stereo PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE ONLINE_RECTIFICATION
例如:
roscore
rosrun ORB_SLAM2 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml true
rosbag play –pause V1_01_easy.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw
(5)、 RGB_D
rosrun ORB_SLAM2 RGBD PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
7 其它说明

7.1 SLAM模式

这是默认模式,系统以parallal三个线程运行:跟踪,本地映射和循环关闭。系统将本地化摄像机,构建新地图并尝试关闭环路。

7.2 Localize模式
当您有一个良好的工作区地图时,可以使用此模式。在此模式下,本地映射和环路关闭被禁用。系统将本地化摄像机(不再更新),如果需要,使用重新定位。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值