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.mzph.cn/news/197384.shtml

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

相关文章

Redis部署-哨兵模式

目录 redis sentinel相关名词 redis sentinel架构 故障转移流程 基于docker搭建redis哨兵 准备工作 搭建过程 模拟主节点宕机,观察哨兵节点的工作流程 哨兵重新选取主节点的流程 1.主观下线 2.客观下线 3.哨兵节点推举出一个leader节点 4.leader选举完毕,leader挑选…

RflySim | 姿态控制器设计实验一

姿态控制器设计实验1 一. 姿态控制设计简介 本文是建立在多旋翼的姿态即控制器中的反馈信号能够被较好地估计的前提下,控制器中的反馈信号是估计值。不过,为了更加简便根据分离原理,我们用真值代替反馈信号。本文的目的是让多旋翼的姿态能够…

Linux入门攻坚——7、磁盘管理——文件系统挂载管理及RAID、LVM

已经安装文件系统的分区需要经过挂载才能使用。 一切文件系统的使用都是从根开始,根是文件系统的起始点。 计算机启动过程:加电自检——bootloader——kernel——rootfs——/sbin/init kernel第一步要加载根系统。 将额外文件系统与根文件系统某现存的…

【ARM64 ATF 系列 3.1 -- cpu 复位,解复位及 reset 三者之间的关系】

文章目录 概述复位信号名称复位 (Reset)解复位 (Deassert Reset)Reset 信号它们之间的关系复位信号电特性复位信号的设计注意事项概述 在 ARM CPU 架构中,复位(Reset)、解复位(Deassert Reset)以及 Reset 信号是密切相关的概念,涉及到处理器的启动、初始化和恢复到已知状…

scss:修改element组件样式(el-select)

重点解析: 1.el-select组件可以分为输入框和下拉弹窗两个部分,下面会从这两个部分进行修改 2.element组件库中弹窗会加入到和#app元素同等级别的位置,相关html代码可打开浏览器检查在最下方找到,便于修改样式 实践方法&#xf…

用swig封装c++代码给python使用

前面我们用swig封装了c的代码给java使用: 如何用SWIG封装c接口给java使用?-CSDN博客 但是由于我们的代码写的太好了,python用户也想用,我们需要将c代码封装一下给python用户使用。 这种需求很常见吧。 现在AI动不动就是用pytho…

Python如何从文件中读取数据

从文件中读取数据 1. 读取整个文件 要读取文件,首先来创建一个文件: 然后打开并读取这个文件,再将其内容显示到屏幕上: file_reader.py with open(pi_digits.txt) as file_object:contents file_object.read()print(contents)…

SQL 常见函数整理 _ DATENAME() 返回指定日期的给定日期部分的名称

1. 用法 返回指定日期的给定日期部分的名称,如年份、月份、星期几等。 2. 语法 DATENAME ( datepart , date )datepart DATENAME 将返回的 date 参数的特定部分。 此表列出了所有有效的 datepart 参数 。 select getdate() 2023-12-01 16:25:47.513 datepart缩写…

代码随想录第二十一天(一刷C语言)|回溯算法组合

创作目的:为了方便自己后续复习重点,以及养成写博客的习惯。 一、回溯算法 1、种类 排列、组合、分割、子集、棋盘问题 2、回溯步骤 (0)回溯抽象 回溯法解决的问题均可以抽象为树形结构(N叉树) &…

Redis 分布式锁测试

一、前提依赖&#xff08;除去SpringBoot项目基本依赖外&#xff09;&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId> </dependency><!-- 配置使用redis启动…

【React设计】React企业级设计模式

Image Source : https://bugfender.com React是一个强大的JavaScript库&#xff0c;用于构建用户界面。其基于组件的体系结构和构建可重用组件的能力使其成为许多企业级应用程序的首选。然而&#xff0c;随着应用程序的规模和复杂性的增长&#xff0c;维护和扩展变得更加困难。…

计算机辅助药物设计AIDD-小分子-蛋白质|分子生成|蛋白质配体相互作用预测

文章目录 计算机辅助药物设计AIDD【小分子专题】AIDD概述及药物综合数据库学习机器学习辅助药物设计图神经网络辅助药物设计自然语言处理辅助药物设计药物设计与分子生成 计算机辅助药物设计【蛋白质专题】蛋白质数据结构激酶-Kinase相似性学习基于序列的蛋白质属性预测基于结构…

SSM项目实战-前端-添加分页控件-调正页面布局

1、Index.vue <template><div class"common-layout"><el-container><el-header><el-row><el-col :span"24"><el-button type"primary" plain click"toAdd">新增</el-button></el-…

零知识证明友好的波塞冬哈希(ZK-friendly Hashing: Poseidon)

文章目录 背景什么是 Poseidon 哈希技术原理各STARK friendly hash函数性能对比SHA256 VS Pedersen参考背景 2018年7月2日,以太坊基金会给StarkWare团队2年的赞助,用于寻找新的STARK friendly hash (SFH) 函数,可用于在区块链中构建transparent且抗量子安全的proof系统。 …

从遍历到A星寻路

在游戏当中&#xff0c;经常需要找一个点到其它点的路径。在之前的一篇博文(地图编辑器开发&#xff08;三&#xff09;)中也有使用到到A寻路。我们期望能找到最短的路径&#xff0c;同时也需要考虑到查找路径的时间消耗。游戏中的地图可以图的数据结构来表示&#xff0c;然后使…

JavaScript新特性

JavaScript新特性 紧接上文&#xff0c;JS入门手册&#x1f4af; 这篇文章介绍了&#xff0c;JavaScript的基本语法&#xff0c;而随着时代发展&#xff0c;JS早已今非昔比&#xff0c;推荐一个大佬的文章&#xff1a;阮一峰老师 ECMAScript ECMAScript&#xff08;简称“E…

锂电池包膜机通过设备管理系统做好预测性维护的作用

在现代工业生产中&#xff0c;包膜机在锂电产业链中处于电池制造环节&#xff0c;是锂电池生产线上的关键设备之一。然而&#xff0c;随着生产规模的扩大和工作环境的复杂化&#xff0c;锂电池包膜机也面临着常见故障和维护需求。为了更好地管理和维护锂电池包膜机&#xff0c;…

新加坡社区领袖卓顺发的荣誉与大爱精神

2023年11月24日,善济医社义务执行主席卓顺发太平绅士JP, BBM(L), PVPA受邀出席内政部主办的答谢活动2023,主宾为内政部长兼律政部长尚穆根先生(Mr. K Shanmugam)。 2018年起,卓顺发受委为太平绅士后,应内政部邀请,担任纪律咨询委员会委员和巡狱太平绅士及视察团委员。他在颁奖…

Java并发模式和设计策略

引言 小伙伴们&#xff0c;今天小黑要和咱们聊聊Java并发编程的那些事儿。在现代软件开发中&#xff0c;高效地处理多任务是一个不可或缺的能力。特别是对于服务成千上万用户的应用&#xff0c;能够同时处理多个操作不仅是一个加分项&#xff0c;简直是必备技能了&#xff01;…

【openssl】RSA 生成公钥私钥 |通过私钥获取公钥

通过博客&#xff1a;Window系统如何编译openssl 编译出openssl.exe&#xff08;位于apps文件夹下&#xff09;。 现在需要使用它获得公钥私钥、通过私钥获取公钥 目录 说明&#xff01;&#xff01;&#xff01; 一.定位openssl.exe目录 二、进入命令cmd 三、生成私钥 …