ORB-SLAM3 安装运行

2023-05-16

ORB-SLAM3 安装运行

  • 1、Pangolin 安装
  • 2、ORB-SLAM3安装
  • 3、数据集测试
    • 3.1 EuRoC 双目+IMU测试
    • 3.2 TUM-VI 双目鱼眼+IMU测试
    • 3.3 ROS接口
      • 3.3.1 启动EUROC 双目+IMU
      • 3.3.2 启动 tum Vi 双目鱼眼+IMU
      • 3.3.3 启动EUROC 双目
  • 参考资料

ORB-SLAM3 在ORB-SLAM2的基础上增加了IMU、鱼眼、Atas子地图这些新功能。 ORB-SLAM3 [1]依赖了Opencv3和Pangolin。Pangolin主要是用于可视化运行过程。这里我所使用的的系统环境是Ubuntu1804.

1、Pangolin 安装

Pangolin[2]的安装基本上按照官网的教程就可以一次成功。
1、安装依赖项

sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libpython2.7-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
sudo apt-get install libdc1394-22-dev libraw1394-dev
sudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev

2、下载、编译:

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .
sudo make install

opencv 3 的安装可以参考博客[5]。

2、ORB-SLAM3安装

ORB-SLAM3的安装也非常简单,基本上只需要安装上OpenCV3和Pangolin以后一建就可以编译成功了。

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

编译代码

cd ORB_SLAM3
chmod +x build.sh
./build.sh

3、数据集测试

这里我主要是测试VIO的模式。测试用的EUROC数据集 [3] 和TUM的VIO数据集[4] 可以从官网上下载或者从这篇博客中下载 SLAM数据集(百度网盘)

3.1 EuRoC 双目+IMU测试

./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml ~/MH_04_difficult ./Examples/Stereo/EuRoC_TimeStamps/MH04.txt dataset-MH04_stereo

在这里插入图片描述

3.2 TUM-VI 双目鱼眼+IMU测试

./Examples/Monocular/mono_tum_vi Vocabulary/ORBvoc.txt Examples/Monocular/TUM_512.yaml ~/dataset-room1_512_16/mav0/cam0/data Examples/Monocular/TUM_TimeStamps/dataset-room1_512.txt dataset-room1_512_mono

在这里插入图片描述

3.3 ROS接口

ROS 接口的代码需要单独编译 ,需要把 ORB_SLAM3/Examples/ROS 这个目录加载到ROS工作环境中。 这里有两种方式,一种是写入到 ~/.bashrc 这个文件中。还有一种就是用 export (这种方式每次开启终端都需要执行一次export 操作)

cd ORB_SLAM3
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/crp/ORB_SLAM3/Examples/ROS
./build_ros.sh

在这里插入图片描述

3.3.1 启动EUROC 双目+IMU

1、先开一个终端运行roscore
2、在开启一个终端运行

rosrun ORB_SLAM3 Stereo_Inertial Vocabulary/ORBvoc.txt Examples/Stereo-Inertial/EuRoC.yaml true

3、播放bag包

rosbag play MH_04_difficult.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw /imu0:=/imu

在这里插入图片描述

3.3.2 启动 tum Vi 双目鱼眼+IMU

1、先开一个终端运行roscore
2、在开启一个终端运行

rosrun ORB_SLAM3 Stereo_Inertial Vocabulary/ORBvoc.txt Examples/Stereo-Inertial/TUM_512.yaml false

3、播放bag包

rosbag play dataset-room1_512_16.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw /imu0:=/imu

在这里插入图片描述

3.3.3 启动EUROC 双目

rosrun ORB_SLAM3 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EUROC.yaml true
rosbag play MH_04_difficult.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw

RGBD、单目同理就可以运行了。

参考资料

[1] https://github.com/UZ-SLAMLab/ORB_SLAM3
[2] https://github.com/stevenlovegrove/Pangolin
[3] https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads
[4] https://vision.in.tum.de/
data/datasets/visual-inertial-dataset
[5] https://zhuanlan.zhihu.com/p/142254644

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ORB-SLAM3 安装运行 的相关文章

  • 关机一直显示正在关闭服务器,电脑关机后,显示正在关机,但等半天也关不了 怎么办...

    电脑关机后 xff0c 显示正在关机 xff0c 但等半天也关不了 怎么办以下文字资料是由 历史新知网www lishixinzhi com 小编为大家搜集整理后发布的内容 xff0c 让我们赶快一起来看一下吧 xff01 电脑关机后 xf
  • 一只老鸟嵌入式工程师的血泪史!

    作为一名在嵌入式行业摸爬滚打许久的老鸟 xff0c 回想自己的经历之路 xff0c 那么漫长可又仿佛近在眼前 随着学生的日益增多 xff0c 偶尔之间 xff0c 会想起自己曾经的一个经历 此文仅献给那些刚刚踏上硬件之路和还在徘徊的同学们
  • 程序员的“菜鸟心态综合症”

    第3章 程序员的 菜鸟心态综合症 清华大学出版社 Java程序员 xff0c 上班那点事儿 作者 xff1a 钟声 第3章部分节选 人的一生会遇到很多挫折 xff0c 尤其是我们刚刚参加工作初期的年轻人 这个人生阶段往往会出现各种各样的处世
  • sc.textFile("file:///home/spark/data.txt") Input path does not exist解决方法——submit 加参数 --master local...

    use this val data 61 sc textFile 34 home spark data txt 34 this should work and set master as local Input path does not
  • mongodb查询数据库中某个字段中的值包含某个字符串的方法

    正则表达式最能解决 xff1a 例如 xff1a db getCollection 39 news 39 find 39 content 39 120 77 215 34 9999 这里主要是注意正则表达式要写对 xff0c 该转义的注意转
  • MATLAB 求两个矩阵的 欧氏距离

    欧式距离定义 xff1a 欧式距离公式有如下几种表示方法 xff1a MATLAB 求两个矩阵的 欧氏距离 xff1a 如果定义两个矩阵分别为a b 则定义c 61 a b 2 所求距离d 61 sqrt sum c
  • Vmware虚拟机磁盘空间不足

    Vmware虚拟机清理磁盘空间 遇到一个问题就是虚拟机中的磁盘空间越来越小 xff0c 即使把文件删除以后 xff0c 磁盘空间还是无法释放 这主要是vmware中的缓存没有清除 在使用vmware虚拟机的时候 xff0c 经常会在主机和虚
  • 技术面试感觉什么都会,面试官一问回答不上来怎么办?

    又到了一年金三银四 xff0c 回想到很多年前我刚参加工作时的面试经历 xff0c 那时都是呆呆地等着面试官问问题 xff0c 被问到一些自己并不熟悉的问题时要不就是思考半天也切不中要点 xff0c 要不就只能无奈地回答并不清楚了 其实不管
  • 强化学习遭遇瓶颈!分层RL将成为突破的希望

    本文作者是法国里尔大学Inria SequeL团队的博士生 xff0c Yannis Flet Berliac xff0c 他在本文中对分层强化学习 xff08 HRL xff09 的研究进行了总结 xff0c 文章首先回顾了强化学习 xf
  • 如何免费下载百度文库文章的三种方法

    百度文库中的资源很丰富 xff0c 但那里的文章不能复制 xff0c 而且有的要下载币 给 大家总结下免费下载复制百度文库的三种方法 第一种 利用百度快照 我们在百度文库中找到自己想要的文章后 xff0c 直接把那篇文章的地址复制 xff0
  • 434个H5游戏源码

    各种类型HTML5游戏 xff0c 界面和JS均可供项目参考 下面是下载地址 转载于 https blog 51cto com 12130120 2374590
  • iOS 左右滑动 手势 响应方法

    1 64 property nonatomic strong UISwipeGestureRecognizer leftSwipeGestureRecognizer 64 property nonatomic strong UISwipeG
  • 一道c语言编程题

    一道c语言编程题 将一个5 5的矩阵中最大的元素放在中心 xff0c 四个角分别放四个最小的元素 xff08 顺序从左到右 xff0c 从上到下顺序依次从小到大存放 xff09 xff0c 写一函数实现之 xff0c 用main函数调用 i
  • print(1,2,3,sep=':')的输出结果是?

    print 1 2 3 sep 61 39 39 1 2 3 第一个参数 要打印的值 第二个参数sep表示要打印多个值时 各值的分割方式 默认空格 第三个参数end表示结尾的方式 默认 n 转载于 https www cnblogs com
  • S3. Android 消息推送

    概要 消息推送 转载于 https www cnblogs com zlxyt p 11133181 html
  • Android camera2 回调imagereader 从Image拿到YUV数据转化成RGB,生成bitmap并保存

    ImageUtil java import android graphics ImageFormat import android media Image import android os Build import android sup
  • C语言中字符串结束符'\0'

    本质 39 0 39 就是8位的00000000 xff0c 因为字符类型中并没有对应的这个字符 xff0c 所以这么写 39 0 39 就是 字符串结束标志 39 0 39 是转义字符 xff0c 意思是告诉编译器 xff0c 这不是字符
  • SLAM中双目三角化

    双目三角化 形式1 xff1a 在等式左边同时乘 x 1 x 1 x 1 和
  • 用手机对电脑进行远程关机

    PS 本人一月份写的文章 xff0c 贴在这里 昨天真是奔波的一天 xff0c 中午烤肉逛街下午寿司看电影 xff08 陪老婆 xff09 今天中午又是麻辣诱惑 额 xff0c 不争气的肠胃果然导致我拉肚子了 不过 xff0c 话说昨天下午
  • 程序员到底是一个什么职业?

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 程序员首先是雇员 然后是工程师 xff1b 比起创造力 xff0c 工程能力对这个职位更为重要 为什么有人在技术造神 大家应该已经感受到 xff0c 技术圈这两年已经和娱乐

随机推荐

  • android 清理内存杀死service,关于Service常驻内存不被清理的解决方法.

    众所周知 Service是跑后台的 但是有些Rom厂商把一键清理做的真是太好用了 以至于一键清理变成了一种习惯 Service已经变的不再是Service了 那为什么像诸如360 微信 QQ 却可以傍山傍水 哦 用错词了 大家懂的 言归正传
  • 自主做一个类似于微博的项目(计划篇)

    项目名称 xff1a archou微博 项目架构 xff1a B S架构 项目开发语言 xff1a java jquery html hql 开发框架 xff1a spring mvc hibernate 开发平台 xff1a window
  • [工作记录] 点云线特征提取

    概述 目前的点云线特征提取方法可以分为 xff1a 1 基于面片patch的线特征提取 xff0c 主要可以提取交线 xff0c 边缘线 这类方法首先都是要提取面 xff0c 然后对每个面对象提取 又可以分为 xff1a 基于图像的提取 x
  • Javascript闭包:从理论到实现,[[Scopes]]的每一根毛都看得清清楚楚

    昨天我写到 所有Javascript函数都是闭包 xff0c 有些同学表示还是接受不能 我好好的一个函数 xff0c 怎么就成闭包了 xff1f 那么 xff0c 让我们来探究一下 xff0c Chrome xff08 V8 xff09 到
  • mysql5.7安装审计插件libaudit_plugin.so

    1 下载插件 https bintray com mcafee mysql audit plugin release 1 1 7 805 files 2 解压插件复制到mysql lib库插件目录下 xff1a unzip audit pl
  • 通过jdbc连接hive报java.sql.SQLException: Method not supported问题

    今天尝试通过jdbc连接hive xff0c JDBC直接连接是正常成功的 xff0c 实例 xff1a import java sql Connection import java sql DriverManager import jav
  • DHCP介绍及H3C配置DHCP

    1 DHCP引入 1 简介 DHCP xff08 动态主机设置协议 xff09 是一个局域网的网络协议 xff0c 使用UDP协议工作 xff0c 主要作用是集中的管理 分配IP地址 xff0c 使网络环境中的主机动态的获得IP地址 Gat
  • centos7-内核版本降级

    环境介绍 线上环境运行centos 内核版本规定为 xff1a CentOS Linux release 7 3 1611 Core 查看内核版本参考命令 xff1a root 64 localhost cat etc redhat rel
  • SLAM中多目三角化

    多目三角化 1 闭式求解1 1 DLT 最小二乘方法求解1 2 最小化3D距离 2 构建优化方法求解3 构建高斯深度滤波器 LSD SLAM4 构建Beta分布滤波器 SVO5 EKF SLAM参考资料 在能实现双目计算特征点的深度基础上
  • 微软操作系统 Windows Server 2012 R2 官方原版镜像

    微软操作系统 Windows Server 2012 R2 官方原版镜像 Windows Server 2012 R2 是由微软公司 xff08 Microsoft xff09 设计开发的新一代的服务器专属操作系统 xff0c 其核心版本号
  • 最近很忙,也很累,忙里偷闲,尝试了下apache solr的安装

    最近很忙 xff0c 也很累 xff0c 忙里偷闲 xff0c 尝试了下apache solr的安装 第一次接触java的 xff0c 就和初次安装NET一样 部署开发环境折腾来折腾去 几经波折总算成功了 分享下个人安装的过程 xff1a
  • "类工厂模式"改写SqlHelper

    看到标题您一定很疑惑 xff0c 23种经典设计模式什么时候多了一个 34 类工厂模式 34 稍等 xff0c 请听我慢慢道来 实践是检验真理的唯一途径 最近用了 34 类工厂模式 34 改写了我公司的SqlHelper类 xff0c 改写
  • C++中基于Crt的内存泄漏检测

    尽管这个概念已经让人说滥了 xff0c 还是想简单记录一下 xff0c 以备以后查询 ifdef DEBUG define DEBUG CLIENTBLOCK new CLIENT BLOCK FILE LINE else define D
  • revit卸载/完美解决安装失败/如何彻底卸载清除干净revit各种残留注册表和文件的方法...

    在卸载revit重装revit时发现安装失败 xff0c 提示是已安装revit或安装失败 这是因为上一次卸载revit没有清理干净 xff0c 系统会误认为已经安装revit了 有的同学是新装的系统也会出现revit安装失败的情况 xff
  • 内核必须懂(三): 重编Ubuntu18.04LTS内核4.15.0

    目录 前言编译前准备编译安装重启之后最后 前言 之前在写系统调用的时候也说过 但是当时理解有限 写的不好 这次再重新编译内核 分享经验 编译前准备 首先补包 sudo apt get install build essential kern
  • STL视频_01

    ZC xff1a 这里视频里面有一个调试小技巧 xff0c VS08 VS2010开始 xff0c 控制台程序会自动退出 xff08 不像VC6 xff09 xff0c 那么可以在 函数退出的最后一句语句上设置断点 xff0c 然后查看控制
  • 四轴自适应控制算法的一些尝试开源我的山猫飞控和梯度在线辨识自适应等算法—(转)...

    本文的最主要目的在于抛砖引玉 xff0c 阿莫论坛真的是非常好的一个论坛 xff0c 没有这个论坛 xff0c 没有那么多这个论坛上的前人无私的奉献和热烈的讨论 xff0c 我想我是怎么也无法入门四轴的控制的 只是论坛上已经很多年都没有看到
  • ubuntu VNC连接树莓派

    其实ubuntu vnc连接树莓派很简单 xff0c 首先给树莓派安装vnc服务 xff0c 然后打开vnc服务 xff0c 最后ubuntu用远程桌客户端测试连接就好了 不过要注意连接前一定要打开vnc服务 xff0c 树莓派连接要有控制
  • nuttx学习-0:模拟安装

    一 Nuttx 模拟运行环境的安装 xff1a 1 文件要求 xff0c 主要需要三个文件 xff1a nuttx 7 24 tar apps 7 24 tar nuttx tools tar 2 环境要求 xff1a sudo apt g
  • ORB-SLAM3 安装运行

    ORB SLAM3 安装运行 1 Pangolin 安装2 ORB SLAM3安装3 数据集测试3 1 EuRoC 双目 43 IMU测试3 2 TUM VI 双目鱼眼 43 IMU测试3 3 ROS接口3 3 1 启动EUROC 双目 4