ORB-SLAM3 安装运行


ORB-SLAM3 在ORB-SLAM2的基础上增加了IMU、鱼眼、Atas子地图这些新功能。 ORB-SLAM3 [1]依赖了Opencv3和Pangolin。Pangolin主要是用于可视化运行过程。这里我所使用的的系统环境是Ubuntu1804.

1、Pangolin 安装

Pangolin[2]的安装基本上按照官网的教程就可以一次成功。
1、安装依赖项

sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libpython2.7-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
sudo apt-get install libdc1394-22-dev libraw1394-dev
sudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev

2、下载、编译:

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .
sudo make install

opencv 3 的安装可以参考博客[5]。

2、ORB-SLAM3安装

ORB-SLAM3的安装也非常简单,基本上只需要安装上OpenCV3和Pangolin以后一建就可以编译成功了。

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3

编译代码

cd ORB_SLAM3
chmod +x build.sh
./build.sh

3、数据集测试

这里我主要是测试VIO的模式。测试用的EUROC数据集 [3] 和TUM的VIO数据集[4] 可以从官网上下载或者从这篇博客中下载 SLAM数据集(百度网盘)

3.1 EuRoC 双目+IMU测试

./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml ~/MH_04_difficult ./Examples/Stereo/EuRoC_TimeStamps/MH04.txt dataset-MH04_stereo

在这里插入图片描述

3.2 TUM-VI 双目鱼眼+IMU测试

./Examples/Monocular/mono_tum_vi Vocabulary/ORBvoc.txt Examples/Monocular/TUM_512.yaml ~/dataset-room1_512_16/mav0/cam0/data Examples/Monocular/TUM_TimeStamps/dataset-room1_512.txt dataset-room1_512_mono

在这里插入图片描述

3.3 ROS接口

ROS 接口的代码需要单独编译 ,需要把 ORB_SLAM3/Examples/ROS 这个目录加载到ROS工作环境中。 这里有两种方式,一种是写入到 ~/.bashrc 这个文件中。还有一种就是用 export (这种方式每次开启终端都需要执行一次export 操作)

cd ORB_SLAM3
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/crp/ORB_SLAM3/Examples/ROS
./build_ros.sh

在这里插入图片描述

3.3.1 启动EUROC 双目+IMU

1、先开一个终端运行roscore
2、在开启一个终端运行

rosrun ORB_SLAM3 Stereo_Inertial Vocabulary/ORBvoc.txt Examples/Stereo-Inertial/EuRoC.yaml true

3、播放bag包

rosbag play MH_04_difficult.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw /imu0:=/imu

在这里插入图片描述

3.3.2 启动 tum Vi 双目鱼眼+IMU

1、先开一个终端运行roscore
2、在开启一个终端运行

rosrun ORB_SLAM3 Stereo_Inertial Vocabulary/ORBvoc.txt Examples/Stereo-Inertial/TUM_512.yaml false

3、播放bag包

rosbag play dataset-room1_512_16.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw /imu0:=/imu

在这里插入图片描述

3.3.3 启动EUROC 双目

rosrun ORB_SLAM3 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EUROC.yaml true
rosbag play MH_04_difficult.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw

RGBD、单目同理就可以运行了。

参考资料

[1] https://github.com/UZ-SLAMLab/ORB_SLAM3
[2] https://github.com/stevenlovegrove/Pangolin
[3] https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads
[4] https://vision.in.tum.de/
data/datasets/visual-inertial-dataset
[5] https://zhuanlan.zhihu.com/p/142254644

评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值