ROS 2中数据包db3格式转mcap格式方法

ROS 2中db3格式的数据包支持的较早,也是默认保存的格式,如何转换为mcap呢?

0. ROS1 bag和ROS2的包文件互相转换

参考

rosbags-convert --src ros1_bag.bag --dst ros2_bag_dir

1. mcap工具

  1. 安装mcap支持
    直接在官方发布地址下载对应版本的mcap的编译后的文件即可
  2. 安装ROS2支持
sudo apt install ros-humble-rosbag2-storage-mcap
  1. 根据官方教程转换文件

优点:全局时间戳保持不变

2. 播放录制法

  1. 录制mcap
ros2 bag record </topic> -s mcap
  1. 播放db3
ros2 bag play <.db3文件> --clock

注意:也可能需要安装第1种方法的ROS 2支持。

缺点:录制过程中帧对应的包的全局时间戳(注意,不是topic自己内部的时间戳)会改变,因为即便使用仿真时间,读取原db3文件并发出之后,ros2 bag record接受的时候总是存在延时,且这个延时可能会根据系统资源的占用情况而抖动。而记录的全局时间戳是以接收到该topic时的系统(或仿真)时间戳为准。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值