经常会使用rosbag进行数据记录和回放,尽管使用时间比较长,但是有一些命令还是要经过查询后才能回忆起来。这里为了自己和大家方便,统一记录整理一些常用的指令。
1. 记录-rosbag
rosbag record -a
记录下的bag会以录制结束时间进行命名。
rosbag record -O bag_name.bag /chatter
rosbag record -o bag_name /chatter
rosbag record --duration=30 /chatter
rosbag record --split --size=1024 /chatter
rosbag record --split --duration=30 /chatter
rosbag record --split --duration=5m /chatter
rosbag record --split --duration=2h /chatter
rosbag record -l 1000 /chatter
2. 查询信息-info
rosbag info bag_name.bag
rosbag info bag_name.bag --freq
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
rosbag play bag_name.bag --topic /chatter1 /chatter2
rosbag play bag_name.bag --topics /chatter1 /chatter2
rosbag play bag_name.bag -r 2
rosbag play bag_name.bag -r 0.5
rosbag play bag_name.bag -s 5
rosbag play bag_name.bag -u 250
rosbag play bag_name.bag -l
默认/clock话题是没有消息的 。
rosbag play --clock bag_name.bag
rosbag play --clock --hz 200 bag_name.bag
4. 压缩和解压缩命令-compress&decompress
使用压缩命令,会将原来的bag备份并重命名为.orig.bag 。
rosbag compress bag_name.bag
rosbag compress -j bag_name.bag
rosbag compress --lz4 bag_name.bag
rosbag decompress bag_name.bag
5. 重新录制-filter
过滤时可以使用或(or)和与(and)操作。
注意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
|