Ubuntu20.04运行DM-VIO

news/2024/11/28 10:32:09/

目录

  • 环境配置
  • 非ROS环境运行
    • 编译
    • 运行
    • 结果图
  • ROS环境
  • 参考



环境配置

Ubuntu20.04

将项目中Cmakelists.txt中C++ 和 opencv版本修改下

C++ 使用 14

opencv使用4

非ROS环境运行

编译

按照官网即可

cd dm-vio
mkdir build
cd build
cmake ..
make -j

运行

DM-VIO给的命令是

bin/dmvio_datasetfiles=XXXX/datasetXXXX/dso/cam0/images              vignette=XXXX/datasetXXXX/dso/cam0/vignette.pngimuFile=XXXX/datasetXXXX/dso/imu.txtgtFile=XXXX/datasetXXXX/dso/gt_imu.csvtsFile=XXXX/datasetXXXX/dso/cam0/times.txtcalib=PATH_TO_DMVIO/configs/tumvi_calib/camera02.txtgamma=PATH_TO_DMVIO/configs/tumvi_calib/pcalib.txtimuCalib=PATH_TO_DMVIO/configs/tumvi_calib/camchain.yamlmode=0use16Bit=1preset=0                                                        # use 1 for realtimenogui=0                                                         # use 1 to enable GUIresultsPrefix=/PATH_TO_RESULTS/settingsFile=PATH_TO_DMVIO/configs/tumvi.yamlstart=2                                                         

在TUM-VI数据中 dso/cam0/images 不是文件夹,images还可以跳转,但运行时会报错。
在这里插入图片描述
所以将 "files=XXXX/datasetXXXX/dso/cam0/images " 改为了

bin/dmvio_datasetfiles=XXXX/datasetXXXX/mav0/cam0/data        ...                                                       

就可以运行了

结果图

在这里插入图片描述

ROS环境

参考



http://www.ppmy.cn/news/1550595.html

相关文章

在 JavaScript 中,将一个十进制字符串转为二进制的方法

在 JavaScript 中,可以使用以下几种方法将一个十进制字符串转为二进制: 方法一:使用 parseInt() 和 toString() 首先,使用 parseInt() 函数将十进制字符串转换为十进制整数。 parseInt() 函数会解析传入的字符串,并根…

firewalld防火墙阻止docker容器间通信的排查思路及解决方案

摘要 现有两个docker容器nginx、openjdk分别部署前后端服务,假设默认防火墙为firewalld,发现在默认配置下,本地直接curl后台服务器能正确响应,nginx的代理的请求proxy_pass无法得到后台服务器的响应,只得到502 BadGat…

[产品管理-156]:《领先的密码-BLM方法论全面解读与应用指南》- 全书概述

目录 前言: 一、BLM方法论概述 二、BLM方法论的核心要素 三、BLM方法论的应用指南 四、BLM方法论的实际应用案例 五、总结 前言: “领先的密码:BLM方法论全面解读与应用指南”这一主题涉及对Business Leadership Model(业务…

DataWhale—PumpkinBook(TASK06神经网络)

课程开源地址及相关视频链接:(当然这里也希望大家支持一下正版西瓜书和南瓜书图书,支持文睿、秦州等等致力于开源生态建设的大佬✿✿ヽ(▽)ノ✿) Datawhale-学用 AI,从此开始 【吃瓜教程】《机器学习公式详解》(南瓜…

探索 Python 任务自动化的新境界:Invoke 库揭秘

文章目录 探索 Python 任务自动化的新境界:Invoke 库揭秘背景:为何选择 Invoke?什么是 Invoke?如何安装 Invoke?5个简单的库函数使用方法1. 定义任务2. 带参数的任务3. 运行 Shell 命令4. 任务参数化5. 列出任务 场景应…

【竞技宝】LOL-传奇杯:KB3-1击败M3

北京时间2024年11月27日,英雄联盟第二届传奇杯正在如火如荼的进行之中。昨天首场比赛迎来胜者组首轮KB(leyan队)对阵M3(icon队)。本场比赛M3以出色的表现拿下首局之后被KB打出完美运营连追两局,最后一局更是在大优势的情况下接连出现失误被KB翻盘,最终KB3-1击败M3。以下是本场比…

去哪儿大数据面试题及参考答案

Hadoop 工作原理是什么? Hadoop 是一个开源的分布式计算框架,主要由 HDFS(Hadoop 分布式文件系统)和 MapReduce 计算模型两部分组成 。 HDFS 工作原理 HDFS 采用主从架构,有一个 NameNode 和多个 DataNode。NameNode 负责管理文件系统的命名空间,维护文件和目录的元数据信…

设计模式之 迭代器模式

迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种顺序访问聚合对象元素的方法,而又不暴露该对象的内部表示。简单来说,迭代器模式的目的是将集合对象(例如列表、数组等)的遍历过…