当前位置:   article > 正文

orb-slam3的编译和运行以及踩坑记录_orbslam3 运行 tum

orbslam3 运行 tum

首先进行源码的下载

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

 然后输入下面代码进行编译

  1. cd ORB_SLAM3
  2. chmod +x build.sh
  3. ./build.sh

在这里我是出现了错误,卡在g2o报错,然后看报错提示,原来是没有安装boost,在下载上boost

 

安装boost库

进入boost官网:https://www.boost.org/
或者和我下载一样的下载的是1.75.0

 解压后运行

  1. sudo ./bootstrap.sh
  2. sudo ./b2 install

编译完成后是这个样子

 接下来下载数据集kmavvisualinertialdatasets – ASL Datasets 下载一个ASL格式的序列(本人下载的Machine Hall 01数据集,简称MH01)

路径:ORB_SLAM3/dataset/MH_##/mav0(举例:MH01解压后文件名为mav0,在dataset文件夹中新建MH01文件夹,将mav0放入,不要直接修改文件名!!!)

然后打开orb-slam3源码中的脚本,“euroc_examples.sh“,找到包含MH01的指令

这里新版的orbslam源码中没有这个文件,然而README中是这么说的

 于是赶紧找找有没有前辈下载下来了euroc_examples.sh这个文件,然后就找到了个github里头是有这个文件的,这个github还是ORB-SLAM3的详细注释版,以后要看懂代码的话少不了它,链接先放这了

GitHub - electech6/ORB_SLAM3_detailed_comments: Detailed comments for ORB-SLAM3

 将这个版本的slam解压后,找到他的example文件夹里的euroc_examples.sh,然后将他复制到我们的slam下,我是直接复制到了根目录

 然后打开这个文件夹,找到下面的指令

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml "$pathDatasetEuroc"/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

将"$pathDatasetEuroc"/MH01,修改为自己的路径 /dataset/MH01,并去掉指令中的dataset-MH01_mono,修改后为

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt

然后运行

 我们发现什么都没出,可视化界面也没有,然后进行百度搜索后,我们打开mono_euroc.cc查看,第83行

  1. // Create SLAM system. It initializes all system threads and gets ready to process frames.
  2. ORB_SLAM3::System SLAM(argv[1],argv[2],ORB_SLAM3::System::MONOCULAR, false);

我们将这里的false改成true,然后重新 ./build.sh

 然后再执行这个,就出现了可视化界面

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/830678
推荐阅读
相关标签
  

闽ICP备14008679号