rosbag数据记录工具命令详解

Posted 非晚非晚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rosbag数据记录工具命令详解相关的知识,希望对你有一定的参考价值。

经常会使用rosbag进行数据记录和回放,尽管使用时间比较长,但是有一些命令还是要经过查询后才能回忆起来。这里为了自己和大家方便,统一记录整理一些常用的指令。

文章目录

1. 记录-rosbag

  • 录制所有话题
rosbag record -a

记录下的bag会以录制结束时间进行命名。

  • 录制指定话题,设置 bag 包名
rosbag record -O bag_name.bag /chatter #为文件命名
rosbag record -o bag_name /chatter #为文件名字做前缀
  • 其它录制信息
rosbag record --duration=30 /chatter #持续30s录制,还可以指定m,h,和--split类似
rosbag record --split --size=1024 /chatter #空间达到1024M后分文件存储
rosbag record --split --duration=30 /chatter #持续时间到30s后分文件存储
rosbag record --split --duration=5m /chatter #持续时间到5m后分文件存储
rosbag record --split --duration=2h /chatter#持续时间到2h后分文件存储
rosbag record -l 1000 /chatter  # 录制该主题1000个消息限制

2. 查询信息-info

  • 显示包中的信息
rosbag info bag_name.bag
  • 以频率形式显示包中的话题信息
rosbag info bag_name.bag --freq
  • 以yaml形式显示话题信息
rosbag info bag_name.bag -y
#或者
rosbag info bag_name.bag --yaml

3. 回放信息-play

  • 原始信息播放
rosbag play bag_name.bag
  • 开始播放立刻暂停,按空格继续:
rosbag play --pause bag_name.bag
  • 播放指定的多个topic
rosbag play bag_name.bag --topic /chatter1 /chatter2
#或者
rosbag play bag_name.bag --topics /chatter1 /chatter2
  • 加速或延迟播放速度
rosbag play bag_name.bag -r 2#以2倍速度播放
rosbag play bag_name.bag -r 0.5#以0.5倍速度播放
  • 指定播放起始点
rosbag play  bag_name.bag -s 5 #从5s的地方开始播放
  • 指定播放时长
rosbag play  bag_name.bag -u 250 #播放250s信息
  • 循环播放
rosbag play  bag_name.bag -l
  • 发布时钟

默认/clock话题是没有消息的

rosbag play --clock bag_name.bag #默认/clock的话题频率100hz
rosbag play --clock --hz 200 bag_name.bag #指定/clock的时钟为200hz

4. 压缩和解压缩命令-compress&decompress

  • 压缩

使用压缩命令,会将原来的bag备份并重命名为.orig.bag

#默认bz2格式压缩,特点:压缩数据小,但是慢
rosbag compress bag_name.bag
rosbag compress -j bag_name.bag

#lz4格式压缩,特点:压缩快,但是被压缩后的文件稍大
rosbag compress --lz4 bag_name.bag
  • 解压缩
rosbag decompress bag_name.bag

5. 重新录制-filter

过滤时可以使用或(or)和与(and)操作。

  • 按照topic过滤

注意topic要用单引号

rosbag filter my.bag out.bag "topic == '/tf' or topic == '/tf2'"
  • 按时间过滤
rosbag filter my.bag out.bag "t.to_sec() >= 123444.77 and t.to_sec() <= 234545.88"

6. 可视化显示工具-rqt_bag

提供全方位的图形化界面,具有录制,播放,显示,保存,加载文件,暂停等功能

rqt_bag bag_name.bag

以上是关于rosbag数据记录工具命令详解的主要内容,如果未能解决你的问题,请参考以下文章

ROS学习记录8——RosBag的使用

8.15-ros-bag使用

怎么播放rosbag建图的过程

rosbag使用--记录深度相机数据

ROS学习笔记-rosbag数据记录包的使用-记录和回放小海龟历程

ROS学习笔记-rosbag数据记录包的使用-记录和回放Spark机器人建图过程