一.记录-rosbag
1.录制所有话题
rosbag record -a
记录下的bag会以录制结束时间进行命名。
2.录制指定话题,设置 bag 包名
rosbag record -O bag_name.bag /chatter #为文件命名
rosbag record -o bag_name /chatter #为文件名字做前缀
3.其它录制信息
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个消息限制
二.查询信息
1.显示包中的信息
rosbag info bag_name.bag
2.以频率形式显示包中的话题信息
rosbag info bag_name.bag --freq
3.以yaml形式显示话题信息
rosbag info bag_name.bag -y
#或者
rosbag info bag_name.bag --yaml
三.回放信息
原始信息播放
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
参考文章链接:https://blog.youkuaiyun.com/QLeelq/article/details/123201294