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
  • 播放多个bag

同时播放bag时,播放bag的顺序与录制的顺序相同,由于我们的bag录制文件并不是同一时间录制,因此bag录制文件会因录制顺序不同播放顺序也不同,同时两个录制文件播放的时间间隔等于两个录制文件录制的时间间隔。

rosbag play bag1.bag bag2.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
  • 18
    点赞
  • 149
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
rosbag是一个用于记录、回放和分析ROS数据工具。它可以将指定的ROS话题中的数据记录到以.bag后缀命名的数据包中,方便离线分析和处理。录制过程可以使用命令行工具rosbag record或在launch文件中使用rosbag record命令。录制时可以指定录制的话题、录制的持续时间、录制的文件大小等参数。录制结束后,可以使用rosbag info命令查看数据包中的信息,包括话题信息、频率信息和以yaml形式显示的信息。录制的数据包可以通过rosbag play命令进行回放,可以暂停和继续播放。录制的数据包可以用于重现实际场景,进行可重复和低成本的分析和调试。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [【ROSrosbag使用](https://blog.csdn.net/lemonxiaoxiao/article/details/121693548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [rosbag数据记录工具命令详解](https://blog.csdn.net/QLeelq/article/details/123201294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非晚非晚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值