Ubuntu18.04+ROS melodic 跑通VINS-MONO的一些踩坑记录

2023-05-16

VINS-MONO的一些踩坑记录

0 本机环境

笔者的环境为Ubuntu 18.04 + ros melodic + opencv 4.1.1 + Eigen 3.3.9 +ceres solver-1.14

  • 跟VINS-MONO官方环境 ( Ubuntu 16.04, ROS Kinetic, OpenCV 3.3.1, Eigen 3.3.3, ceres solver)不同

1 踩坑开始

  • 第一个报错:‘CV_GRAY2BGR’ was not declared in this scope
    这是由于opencv版本高引起的,解决方法添加头文件:
#include <opencv2/imgproc/types_c.h>
  • 第二个报错:‘CV_AA’ was not declared in this scope
    解决方法添加头文件:
#include <opencv2/imgproc/imgproc_c.h>
  • 第三个报错:‘CV_CALIB_CB_ADAPTIVE_THRESH’ was not declared in this scope
    解决方法添加头文件:
#include <opencv2/calib3d/calib3d_c.h>
  • 第四个报错:‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope
    解决方法添加头文件:
#include <opencv2/imgproc/imgproc_c.h>

2 坑里打滚

这个时候直接catkin_make虽然可以通过,但是运行起来会遇到怀疑人生的报错。

[vins_estimator-2] process has died [pid 12283, exit code -11, cmd /home/xzt/catkin_ws/devel/lib/vins_estimator/vins_estimator __name:=vins_estimator __log:=/home/xzt/.ros/log/80f99180-e248-11ec-a970-84c5a661654d/vins_estimator-2.log].
log file: /home/xzt/.ros/log/80f99180-e248-11ec-a970-84c5a661654d/vins_estimator-2*.log
[feature_tracker-1] process has died [pid 12282, exit code -11, cmd /home/xzt/catkin_ws/devel/lib/feature_tracker/feature_tracker __name:=feature_tracker __log:=/home/xzt/.ros/log/80f99180-e248-11ec-a970-84c5a661654d/feature_tracker-1.log].
log file: /home/xzt/.ros/log/80f99180-e248-11ec-a970-84c5a661654d/feature_tracker-1*.log
[pose_graph-3] process has died [pid 12284, exit code -11, cmd /home/xzt/catkin_ws/devel/lib/pose_graph/pose_graph __name:=pose_graph __log:=/home/xzt/.ros/log/80f99180-e248-11ec-a970-84c5a661654d/pose_graph-3.log].
log file: /home/xzt/.ros/log/80f99180-e248-11ec-a970-84c5a661654d/pose_graph-3*.log

实际上这个问题vins-mono的issue里面也有人提到,对方的解决方法是降低CV的版本,问题有效解决。这个时候我们大胆怀疑应该是ROS自带的CV——bridgeCV版本对不上的问题。
遇到一堆不靠谱的改cv_bridge的,最终最终终于遇到了一个靠谱的,这里放上链接:
https://blog.csdn.net/bigdog_1027/article/details/79092263?spm=1001.2014.3001.5502

3 问题解决

然后修改完之后,就可以跑通了。
请添加图片描述

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

Ubuntu18.04+ROS melodic 跑通VINS-MONO的一些踩坑记录 的相关文章

随机推荐

  • 全志XR806芯片 串口修改波特率后与目标波特率不匹配如何解决?

    1 问题背景 有客户反应 xff0c XR系列MCU在修改完串口波特率后 xff0c 打印输出的是乱码 xff0c 通过仪器抓波形发现输出的波特率与设置不一致 2 问题描述 串口修改波特率后与目标波特率不匹配 3 问题分析 XR系列MCU的
  • 树莓派价格暴涨买不起?他们自己做了一块价格还不到1/4的开发板平替树莓派,还火到海外去了

    众所周知 xff0c 树莓派诞生之初时的设计有四大要点 一个可编程的硬件 xff08 功能很强 xff09 足够有趣 xff0c 能吸引年轻人 xff08 可玩性确实高 xff09 能反复扔进书包 xff0c 不怕挤坏 xff08 质量杠杠
  • C++ struct与class的区别

    可以归纳为 xff1a struct A char a struct B A char b 1 struct作为数据结构实现体 xff0c 它的数据访问默认是Public公有的 xff0c class作为对象的实现体 xff0c 它的成员变
  • 蚁群算法实现三维避障轨迹规划(Matlab)

    关于蚁群算法 其实大多数优化算法都是 试错 的过程 xff0c 不同的是如何利用在 试错 过程中得到的经验 蚁群算法在 试错 的过程中通过留下信息素对未来的试错过程加以提示 xff0c 从而保证一定的收敛性 代码分析 我写了一份matlab
  • CAN总线基础知识(2)——CAN的数据帧

    CAN总线基础知识 xff08 2 xff09 CAN结构上由7个段组成 xff08 仲裁段包括上篇说的can id 和 RTR xff09 xff0c 如图所示 其中根据仲裁段ID码长度的不同 xff0c 分为标准帧 xff08 CAN2
  • 一种通过printf打印的调试程序的方法

    我们在写代码的时候 xff0c 有时候需要调试程序的时候 xff0c 对于初学者 xff0c 可以通过简单的增加printf函数打印 xff0c 这样能够来跟踪程序的踪迹 xff0c 举个很简单的代码 xff1a include lt st
  • 详解Unity中的Nav Mesh新特性|导航寻路系统 (二)

    前言 第一篇我们简要概述了新版NavMesh的一些新增功能 xff0c 以及旧版的对比 本篇我们来讲一讲NavMeshSurface NavMeshLink这两个组件的参数以及如何应用 xff0c 接下来就进入正题吧 本系列提要 Unity
  • ROS安装包--rqt

    ROS安装包 rqt 安装命令刷新缓存 安装命令 sudo apt get install ros kinetic rqt sudo apt get install ros kinetic rqt common plugins sudo a
  • 【无标题】

    ROS自定义话题传输出现md5sum错误 问题描述 提前从一个程序中使用rosbag record命令对某一话题进行了录制 xff0c 之后用rostopic echo命令确定了录入了信息 但是给另一程序发布的时候 xff0c 终端报错 x
  • 关于CAN标准帧和扩展帧为什么分别占位是11bit和29bit

    关于CAN标准帧和扩展帧为什么分别占位是11bit和29bit 文章目录 关于CAN标准帧和扩展帧为什么分别占位是11bit和29bit前言一 关于标准帧二 关于扩展帧总结写在结尾 前言 之前一直没明白CAN标准帧和扩展帧为什么分别占位是1
  • 旭日x3派个人配置总结(ubuntu server + xrdp)

    旭日x3派基本设置 旭日x3派使用文档 首发 多方位玩转旭日x3派 XRDP 43 Xface4远程桌面设置 安装xrdp并解决闪退 黑屏问题 ROS2 Foxy配置 解决 Failed to connect to raw githubus
  • 思岚S2激光雷达1—初次连接

    1 去官网下载Robostudio xff0c 我这里是windows http www slamtec com robostudio 2 连接激光雷达 3 去官网下载SDK 4 在SDK文件夹里的tools里面找驱动下载驱动 5 电脑成功
  • ZED2双目相机1:标定

    一 下载及安装 xff08 1 xff09 按照下面这个链接 xff1a https blog csdn net TengYun zhang article details 123072847 下载完是这样的 xff1a xff08 2 x
  • ZED2双目相机2:畸变矫正

    1 运行ZED2相机 xff08 注意是在ZED WS工作空间里 xff09 xff08 1 xff09 关闭anconda xff08 如果有的话 xff09 xff1a conda deactivate span class token
  • 用android代码实现一个可以万能播放器

    要实现一个万能播放器需要使用多媒体库 xff0c 可以使用Android自带的MediaPlayer类以及ExoPlayer库 以下是一个简单的示例代码 xff1a 在XML布局文件中添加一个SurfaceView和几个按钮 xff1a s
  • 初出茅庐的小李第108篇博客二进制打印

    二进制打印介绍 C语言在格式化打印的时候有很多格式控制 xff0c 比如十进制打印用 d输出 xff0c 十六进制用 x输出 xff0c 八进制用 o格式输出 xff0c 但是当我们期望看一个数据的二进制的时候就必须借助计算器或者其他比较不
  • QGroundControl 自定义命令小工具的使用

    Custom Command Widgets 不用编译qgc的源码 xff0c 仅仅需要编写一个QML UIs文件这个小工具窗口可以被加载 xff0c 并且从重启之后仍然可以使用 xff0c 而且不受操作系统的限制主要有两个用途 xff11
  • HTTP请求方式GET和POST代码示例

    HTTP请求方式GET和POST代码示例 1 HTTP名词解释1 2 HTTP传输方式1 2 1GET名词解释1 2 1POST名词解释 1 3Http中Post 和Get代码实现 1 HTTP名词解释 HTTP大名叫做超文本传输协议 xf
  • Postman工具常见操作

    Postman常见操作 1 新建GET或POST请求 xff08 1 xff09 打开Postman xff0c 选择File gt New xff08 2 xff09 选择Request xff0c 进入 xff08 3 xff09 输入
  • Ubuntu18.04+ROS melodic 跑通VINS-MONO的一些踩坑记录

    VINS MONO的一些踩坑记录 0 本机环境 笔者的环境为Ubuntu 18 04 43 ros melodic 43 opencv 4 1 1 43 Eigen 3 3 9 43 ceres solver 1 14 跟VINS MONO