ORB_SLAM2 运行TUM RGBD数据集过程记录

一. 编译代码

这里是用ubuntu20.04,opencv4安装orbslam2的一点记录。报错信息经过搜索找到了对应的解决办法,在这里做一个笔记

  • 报错1:FATAL_ERROR "OpenCV > 2.4.3 not found."的错误
    解决:将ORB_SLAM2/CMakeLists.txt中的opencv版本改成自己对应的版本

  • 报错2:error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope
    解决: 把Examples文件夹里.cc文件所有的这个名改成cv::IMREAD_UNCHANGED

  • 报错3:No rule to make target ‘…/Thirdparty/DBoW2/lib/libDBoW2.so’, needed by ‘…/lib/libORB_SLAM2.so’. Stop.
    解决:将ORB_SLAM2/Thirdparty/DBoW2/CMakeLists.txt中的opencv版本改成自己对应的版本

  • 报错4: static assertion failed: std::map must have the same value_type as its allocator
    解决:修改ORB_SLAM2/include/LoopClosing.h::50,把原来的:

 typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
   Eigen::aligned_allocator<std::pair<const KeyFrame*, g2o::Sim3> > > KeyFrameAndPose;

修改为:

typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
    Eigen::aligned_allocator<std::pair<KeyFrame* const, g2o::Sim3> > > KeyFrameAndPose;
  • 报错5:orb rror: ‘usleep’ was not declared in this scope
    解决:给对应的文件加上头文件
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

二. 运行TUM RGBD数据集

rgb与深度图像对齐

1.编译成功后,从官网下载associate.py文件 https://vision.in.tum.de/data/datasets/rgbd-dataset/tools
2. 根据orbslam2的github提示来对齐图片,生成txt

python associate.py PATH_TO_SEQUENCE/rgb.txt PATH_TO_SEQUENCE/depth.txt > associations.txt

3 运行程序(非ros)
查看一下自己运行的数据集的名字,比如要运行fr3_walking_rpy,那么下面要选的就是TUM3.yaml(因为与fr3对应)

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM3.yaml /数据集文件夹路径    /associations.txt 文件路径

4.运行结束后生成轨迹,可以用evo与groundtruth进行比较
evo测评TUM数据集
issue:How to get rotation error?

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值