2.5 ros数据记录回放

一、使用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

 

 

猜你喜欢

转载自blog.csdn.net/wtj318_/article/details/82853023
2.5