ORB-SLAM3的运行与调试

本文介绍了如何在非ROS和ROS环境中使用EuRoC和TUMVI数据集进行视觉SLAM和自主定位的研究,提供了不同传感器组合(单目、双目、惯导和RGB-D)的数据处理和运行命令,有助于开发者评估和优化定位算法性能。
摘要由CSDN通过智能技术生成

1 非ROS环境下运行

1.1 EuROC数据集

用微型飞行器采集的视觉惯性数据集,包含双目相机和IMU同步测量数据及位姿的真值。

  • EuRoC 数据集是一个由欧洲机器人联合项目提供的数据集,包含了室内和室外不同场景下的数据集,具有高质量的相机和 IMU 数据。
  • 数据集涵盖了不同的实验场景,包括室内飞行、室内行走等,用于评估视觉 SLAM 和自主定位算法。
  • EuRoC 数据集提供了高度精准的相机姿态和相机-IMU 同步数据,适用于研究高精度的视觉定位和 SLAM 算法。

数据集需下载MH_01_easy.zip

下载地址:MH_01_easy.zip下载地址


运行命令:
注意: 命令中的${dir}是个人数据集的存放路径

  • 纯单目:
cd Examples
./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml ${dir}/MH01 ./Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono
  • 纯双目:
./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml ${dir}/MH01 ./Examples/Stereo/EuRoC_TimeStamps/MH01.txt dataset-MH01_stereo
  • 单目惯导:
./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml ${dir}/MH01 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/MH01.txt dataset-MH01_monoi
  • 双目惯导:
./Examples/Stereo-Inertial/stereo_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo-Inertial/EuRoC.yaml ${dir}/MH01 ./Examples/Stereo-Inertial/EuRoC_TimeStamps/MH01.txt dataset-MH01_stereoi
  •  RGB-D:

注意:这里没有运行指令,因为EuRoC数据集并不提供RGB-D数据格式。

1.2 TUM VI 数据集

其采用的相机和IMU传感器,在硬件上进行了时间同步。

所提供的图像具有高动态范围,事先进行了光度标定,用20Hz的帧率采集,分辨率为1024像素*1024像素;三轴IMU采样频率为200Hz,可测量加速度和角速度。

  • TUM 数据集由慕尼黑工业大学提供,包含了受控环境下的室内和室外数据,适用于定位、SLAM 算法的研究和评估。
  • 数据集中包含了 RGB 相机、深度相机、IMU 数据等多种传感器数据,用于不同类型算法的评估。
  • TUM 数据集在实验场景和数据类型方面更加多样化,适合评估不同条件下的算法性能。

需要下载数据集dataset-room1_512_16和rgbd_dataset_freiburg1_desk。

下载地址:TUM数据集下载

运行命令:
注意: 命令中的${dir}是个人数据集的存放路径

  • 纯单目:
cd Examples
./Monocular/mono_tum_vi ../Vocabulary/ORBvoc.txt Monocular/TUM_512.yaml ${dir}/dataset-room1_512_16/mav0/cam0/data Monocular/TUM_TimeStamps/dataset-room1_512.txt dataset-room1_512_mono
  • 纯双目:
./Stereo/stereo_tum_vi ../Vocabulary/ORBvoc.txt Stereo/TUM_512.yaml ${dir}/dataset-room1_512_16/mav0/cam0/data /home/sangfor/2023/bro_ws/dataset-room1_512_16/mav0/cam1/data Stereo/TUM_TimeStamps/dataset-room1_512.txt dataset-room1_512_stereo
  • 单目惯导:
./Monocular-Inertial/mono_inertial_tum_vi ../Vocabulary/ORBvoc.txt Monocular-Inertial/TUM_512.yaml ${dir}/dataset-room1_512_16/mav0/cam0/data Monocular-Inertial/TUM_TimeStamps/dataset-room1_512.txt Monocular-Inertial/TUM_IMU/dataset-room1_512.txt dataset-room1_512_monoi
  • 双目惯导:
./Monocular-Inertial/mono_inertial_tum_vi ../Vocabulary/ORBvoc.txt Monocular-Inertial/TUM_512.yaml ${dir}/dataset-room1_512_16/mav0/cam0/data Monocular-Inertial/TUM_TimeStamps/dataset-room1_512.txt Monocular-Inertial/TUM_IMU/dataset-room1_512.txt dataset-room1_512_monoi
  • RGB-D:
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml ${dir}/rgbd_dataset_freiburg1_desk /home/sangfor/2023/bro_ws/rgbd_dataset_freiburg1_desk/associations.txt

2 ROS环境下运行

运行三个终端


第一个终端:上面运行roscore

第二个终端:位置在你的orbslam目录下

第三个终端:位置在你的数据集目录下


接着在其余两个终端上,分别运行以下命令

  • 纯单目:
rosrun ORB_SLAM3 Mono Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml
rosbag play MH_01_easy.bag /cam0/image_raw:=/camera/image_raw
  • 纯双目:
rosrun ORB_SLAM3 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml false
rosbag play MH_01_easy.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw
  • 单目惯导:
rosrun ORB_SLAM3 Mono_Inertial Vocabulary/ORBvoc.txt Examples/Monocular-Inertial/EuRoC.yaml
rosbag play MH_01_easy.bag /cam0/image_raw:=/camera/image_raw /imu0:=/imu
  • 双目惯导:
rosrun ORB_SLAM3 Stereo_Inertial Vocabulary/ORBvoc.txt Examples/Stereo-Inertial/EuRoC.yaml false
rosbag play MH_01_easy.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw /imu0:=/imu
  • RGB-D:
    TUM数据集:rgbd_dataset_freiburg1_xyz.bag
rosrun ORB_SLAM3 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml
rosbag play rgbd_dataset_freiburg1_xyz.bag /camera/depth/image:=/camera/depth_registered/image_raw /camera/rgb/image_color:=/camera/rgb/image_raw

特别注意:每一条运行指令都会产生可视化页面这里不贴图了,记录一下。

最后欢迎大家指正!!! 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值