一、使用rosbag在消息记录包文件中记录数据:
1、运行节点
$ rosrun chapter3_tutrials example4
2、记录数据
a、记录所有主题数据
$ rosbag record -a
b、仅记录特定主题
$ rosbag record /tmp/accel
按Ctrl+C,完成记录,生成.bag文件。
注:$ rosbag help record
3、在launch文件中直接调用rosbag record 。
#在launch 文件中添加如下所示节点
$<node pkg="rosbag" type="record" name="bag_record"
args="/temp/accel"/>
#launch直接运行rosbag时,消息记录包文件会默认创建在~/.ros路径下,除非使用-o(前缀)或-O(全名)给文件命名。
二、回放消息记录包文件
$roscore
#然后移动到消息记录包文件包所在的文件夹下。
$roabag play 2014-07-01-22-54-34.bag
#回放过程中“空格键暂停”,“S键一步步回放”,“Ctrl+C停止回放”,“选项(-l)允许循环回放“
通过rostopic list命令自动查看主题列表,如下所示:
/accel
/clock //用于指定系统时钟以便加快仿真的回放速度。通过-r选项进行配置。
/rosout
/rosout_agg
/temp
三、查看消息记录包文件的主题和消息
1、两种方法来查看消息记录包文件内部数据
a、$rosbag info 2014-07-01-22-54-34.bag
信息:创建日期、持续时间、文件大小、内部消息数量、文件的压缩格式(如果有压缩)、对应名称、消息数量、消息类型。
b、使用GUI工具叫作rqt_bag.允许我们回放消息记录包文件、查看图像(如果有)、绘制标量数据图和消息的RAW结构。
#只需要传递消息记录包的名称
#界面右击调用Raw、plot、image指令 View→accel→Raw/Plot
四、应用rqt与rqt_gui插件
$rosrun rqt_gui rqt_gui