ORB-SLAM是一个基于特征点的视觉SLAM系统,在大规模的、小规模的、室内室外的环境都可以运行。由于ORB-SLAM系统是基于特征点的SLAM系统,故其能够实时计算出相机的轨线,并生成场景的稀疏三维重建结果。
1. 安装第三方库
安装前的准备: 安装 vim 、 cmake 、 git 、 gcc 、 g++
sudo apt-get install vim cmake
sudo apt-get install git
sudo apt-get install gcc g++
2. 安装Pangolin (建议源码安装)
- 安装依赖项
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev
- 安装 Pangolin
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOSR=1 ..
make -j
3. 安装OpenCV3.4
安装依赖项
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev
sudo apt-get install libtiff4.dev libswscale-dev libjasper-dev
安装 OpenCV3.4
官网下载源码,建立build文件夹 编译文件夹
cd opencv-3.4.5
mkdir build
cd build
cmake ..
make
sudo make install
配置环境变量
sudo vim /etc/ld.so.conf.d/opencv.conf
在打开的空白文件中添加 /usr/local/lib
执行 sudo ldconfig ,使配置的环境变量生效
配置 .bashrc ,末尾添加下面两行
//打开.bashrc
sudo vim /etc/bash.bashrc
//添加以下两行内容到.bashrc
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
source 与 update
source /etc/bash.bashrc
sudo updatedb
测试opencv
cd opencv-3.4.5/samples/cpp/example_cmake
cmake .
make
./opencv_example
4. 安装Eigen3.3.7
自行下载源码
cd eigen
mkdir build
cd build
cmake ..
sudo make install
安装后头文件安装在/usr/local/include/eigen3/,所以移动头文件
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
5. 编译运行ORB-SLAM2
自行下载源码
cd ORB_SLAM2
chmod +x build.sh
./build.sh
编译完成后会在ORB_SLAM2/Examples文件夹下生成各种可执行文件。
(可用的数据集有TUM,KITTI,EUROC)。数据集不同,命令的配置文件不同。
单目运行
1.TUM Datase
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/qjf/handy/tum_data/rgbd_dataset_freiburg1_desk/
运行结果:

左侧为图像与追踪到的特征点,右侧为相机轨迹与建模的特征点地图。
2.KITTI Dataset
./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER
3.EuRoC Dataset
./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml PATH_TO_SEQUENCE/cam0/data Examples/Monocular/EuRoC_TimeStamps/SEQUENCE.txt
双目运行
TUM Dataset
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE
ROS下运行
1.编译
先在~/.bashrc文件末尾添加一行路径,如下
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/自己的用户名/slam_ws/src/ORB_SLAM2/Examples/ROS
然后source一下
source ~/.bashrc
可以用echo $ROS_PACKAGE_PATH来检查一下路径
编译:
chmod +x build_ros.sh
./build_ros.sh
2.Running RGB_D Node
第1个终端:roscore
第2个终端:rosrun ORB_SLAM2 RGBD PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
1475

被折叠的 条评论
为什么被折叠?



