前言
这两天将r3live跑通,并录制了自己的数据在其上面跑,在此记录一下整个录制的过程。
bag的作用
rosbag 主要用于记录、回放、分析 rostopic 中的数据。它可以将指定 rostopic 中的数据记录到 .bag 后缀的数据包中,便于对其中的数据进行离线分析和处理。
二、rosbag的使用
1.录制命令样式
如果要记录所有的topic,则可以直接使用-a来记录
rosbag record -a
如果仅记录某些感兴趣的topic的话,这可以使用下面这个命令样式来进行记录
rosbag record <topic_name> <topic_name>....
如果要指定录制文件名字的话,则使用-O/-o
参数
rosbag record -O bagname.bag <topic_name> <topic_name>... #为文件命名
rosbag record -o bagname <topic_name> <topic_name>... #为文件名字做前缀
其他录制命令如下
rosbag record --duration=30 /topic_name #持续30s录制,还可以指定m,h,和--split类似
rosbag record --split --size=1024 /topic_name1 #空间达到1024M后分文件存储
rosbag record --split --duration=30 /topic_name1 #持续时间到30s后分文件存储
rosbag record --split --duration=5m /topic_name1 #持续时间到5m后分文件存储
rosbag record --split --duration=2h /topic_name1#持续时间到2h后分文件存储
rosbag record -l 1000 /topic_name1 # 录制该主题1000个消息限制
2.bag信息查看
当录制好bag以后,可以利用info
参数来查看bag的相关信息
rosbag info filename.bag
会显示类似如下信息
$ rosbag info 1.bag
path: 1.bag
version: 2.0
duration: 3.3s
start: Aug 24 2019 21:37:53.35 (1566653873.35)
end: Aug 24 2019 21:37:56.65 (1566653876.65)
size: 7.9 KB
messages: 20
compression: none [1/1 chunks]
types: geometry_msgs/Twist [9f195f881246fdfa2798d1d3eebca84a]
topics: /turtle1/cmd_vel 20 msgs : geometry_msgs/Twist
3.bag的播放
当录制好bag以后,可以利用play
参数让bag播放,回放bag中的topic
rosbag play <bagfile>
如果想改变消息的发布速率,可以用下面的命令,-r
后面的数字对应播放速率
rosbag play -r 2 <bagfile>
利用参数-l
则可实验循环播放
rosbag play -l <bagfile>
如果只播放感兴趣的 topic ,则用命令
rosbag play bag_name.bag --topics /topic_name1 /topic_name2
4.可视化显示工具:rqt_bag
提供全方位的图形化界面,具有录制,播放,显示,保存,加载文件,暂停等功能
rqt_bag bag_name.bag
总结
这几个就是这两天使用到的命令,感觉ros是边用边学才容易上手
版权声明:本文为weixin_42856109原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。