您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

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?


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进