ROS2 galactic生成的bag包里的MarkerArray在humble下播放不正常

近期发现ROS2 galactic下生成的bag包在humble下回放时使用rviz可视化,bag里的点云可以正常看到,但是使用Marker和MarkerArray画的box却死活看不到,感觉很纳闷,看网上有人报告说foxy下生成的bag包在galactic下播放会报SQL错误,推断ROS2不同版本之间关于bag的实现可能有一些差异导致不兼容。

考虑道ROS2生成的bag包实际上是个sqlite db文件,于是下载sqlite3的可执行文件和给VS code安装Sqlite3 Editor插件

使用Sqlite3 Editor对比了一下写入同样的message的galactic下生成的bag和humble下生成的bag里的数据区别,发现humble生成的bag比galactic生成的bag里多schema等两张表,剩下两张表topics和messages的表结构是一样的,里面存储的数据里除用binary方式存储的message的内容列外的其他文本方式显示的列的值看上去是一样的,于是先怀疑是不是因为少了schema那两张表导致humble不认识galactic生成的bag,于是手工把humble生成的bag里的多的两张表连数据都导入galactic生成的bag里,然后在humble下播放,发现rviz里还是看不到box,用echo接收那个topic也收不到消息,这才感觉应该应该是humble生成的bag里的messages表里data列用binary方式存储的message数据的格式和galactic下生成的bag里的messages表里的对应的data列的数据的格式根据就不同了

于是实验用Sqlite3 Editor插件的功能把galactic下生成的bag里的messages表里数据删掉(或者直接drop table messages)再导入humble生成的bag里的messages表里的数据,然后在humble下播放,rviz里就可以看到画出来的box了!

这说明humble在往bag的messages表里以binary方式写入message数据时,MarkerArray数据的binary格式和galactic写入的数据的格式就不一样,导致在galactic下生成的bag在humble下播放时,里面有MarkerArray的消息不能被正常读取到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/247367.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle 中换行chr(10)、回车chr(13)

一、前言 chr(n):返回 ascii 值对应的字符。 ascii(char):返回字符 char对应的ascii 值。 chr(n) 和 ascii(char) 作用刚好是相反的。 SQL> select chr(65) from dual; 控制台显示:ASQL> select ascii(A) from dual; 控制台显示&am…

【C++】开源:Boost进程间通信库InterProcess配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍Boost进程间通信库InterProcess配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一…

java--接口概述

1.认识接口 ①java提供了一个关键字interface,用这个关键字我们可以定义出一个特殊的结构:接口。 ②注意:接口不能创建对象;接口是用来被类实现(implements)的,实现接口的类称为实现类。 ③一个类可以实现多个接口(接…

LVS-DR+Keepalived+动静分离实验

架构图 解释一下架构,大概就是用Keepalived实现两台DR服务器的LVS负载均衡,然后后端服务器是两台Nginx服务器两台Tomcat服务器并且实现动静分离这个实验其实就是把 LVS-DRKeepalived 和 动静分离 给拼起来,真的是拼起来,两个部分…

某60区块链安全之JOP实战一学习记录

区块链安全 文章目录 区块链安全Jump Oriented Programming实战一实验目的实验环境实验工具实验原理实验内容Jump Oriented Programming实战一 实验步骤分析合约源代码漏洞Jump Oriented Programming实战一 实验目的 学会使用python3的web3模块 学会分析以太坊智能合约中中Ju…

目标检测——R-CNN系列检测算法总结

R-CNN系列算法详细解读文章: R-CNN算法解读SPPNet算法解读Fast R-CNN算法解读Faster R-CNN算法解读Mask R-CNN算法解读 目录 1、概述1.1 获取目标候选框1.2 候选框提取特征1.3 候选框分类及边框回归 2、R-CNN系列算法概述2.1 R-CNN算法2.2 SPPNet算法2.3 Fast R-CN…

如何将Java条码Dynamsoft Barcode Reader集成到命令行、GUI和Web应用程序中

Dynamsoft Barcode Reader SDK一款多功能的条码读取控件,只需要几行代码就可以将条码读取功能嵌入到Web或桌面应用程序。这可以节省数月的开发时间和成本。能支持多种图像文件格式以及从摄像机或扫描仪获取的DIB格式。使用Dynamsoft Barcode Reader SDK,…

自动化框架错误排查:本地全通过,pipline上大部分报错

现象: 最近经过一次切环境和验证码部分的代码重构,果不其然,我们的自动化框架就出错了 我在本地修改调试,并在堡垒机上全部跑过 但在pipline上则大部分报错 进一步排查 这么多case报错,而且报错log都一模一样,推断是底层出错 我在堡垒机上使用命令行来跑case,发现与…

Facebook引流怎么做?写个脚本就好!

在当今的数字化时代,流量对于任何一个网站或应用程序来说都至关重要,Facebook,作为全球最大的社交网络平台,无疑是一个获取流量的绝佳场所,但是,如何有效地从Facebook引流呢?写个脚本就好了! 在本文中&am…

封装Servlet使用自定义注解进行参数接收

文章目录 前言一、前后对比✨二、具体实现🎇三、效果展示🎏 前言 先说项目背景,本项目是本人在校期间老师布置的作业(就一个CRUD),课程是后端应用程序设计,其实就是servlet和jsp那一套&#xf…

(华为)网络工程师教程笔记(网工教程)网工入门——3、静态路由路由表的配置

参考文章:【全236集】网络工程师从基础入门到进阶必学教程!通俗易懂,2023最新版,学完即可就业!网工入门_华为认证_HCIA_HCIP_数据通信_网工学习路线 文章目录 13. 网工入门10-静态路由(路由表的配置&#x…

做一件荒谬的事:用AI推理下一次双色球结果 v0.1

做一件荒谬的事:用AI推理下一次双色球结果 v0.1 引言 事情的起因是父亲被亲戚安利,突然喜欢上了双色球,连规则和开奖结果怎么看都不懂的他,让我研究研究这个事,给他选个号。他还说老家有好几个人中了几百万&#xff…