[ORB_SLAM2]运行

文章参考:链接: link.

设备配置

  • Ubuntu 20.04
  • ROS版本:noetic
  • OpenCV:3.4.5

安装 ORB_SLAM2

创建环境

如果需要在ROS环境下运行ORB_SLAM,最好将工程放在catkin_ws/src文件夹下:

mkdir -p xxx_ws/src(必须得有 src)
cd xxx_ws
catkin_make

下载并尝试编译

进入src文件,git下,然后尝试编译:

cd src
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

编译报错处理

1.usleep

请添加图片描述
图片来源于博客:链接: link.

解决方法: 在报错对应的每个c++文件中或直接在system.h文件中加入

#include <unistd.h>

2.error:static assertion failed:std::map must have the same value_type as its allocator

解决方法: 在ORB_SLAM2的安装路径下打开 /include 文件夹,在 LoopClosing.h 中修改第49-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;

3.找不到 -lEigen3::Eigen error ld returned 1 exit status请添加图片描述解决方法:

请添加图片描述我就只有这三种错误,至此编译成功!

运行ORB_SLAM2

编译完成后会在ORB_SLAM2/Examples文件夹下生成各种可执行文件。我们以单目情况为例,展示如何运行ORB_SLAM2程序。

下载数据集

可以从这个网址下载 Tum数据集.

下载完成后解压缩,最好放到 ORB_SLAM2 的路径下。

本文采用的就是第一条数据集(如图)。

请添加图片描述

是时候运行了!

首先进入ORB-SLAM2环境中,然后输入代码

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml data/rgbd_dataset_freiburg1_xyz

其中TUM1可以改为TUM2和TUM3.
最后那个地址是你的data的地址。

  • 38
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值