ROS学习记录8——RosBag的使用

Posted 康娜喵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS学习记录8——RosBag的使用相关的知识,希望对你有一定的参考价值。

一.概念

为什么会存在ROSbag这个东西?ROSbag的作用是什么?

  • rosbag作为ros提供的一种工具,它可以记录系统中有关主题的发布的数据。
  • 在某些复杂的场景下,我们机器人会偶然触发bug,但是如果要等待复现这种bug可能会花费大量时间,所以可以通过rosbag来复现场景。

所以可以约等于将ROSbag理解为系统日志、机器人运行记录、强队demo。我们可以通过它查看机器人的运行时的信息,或者让机器人通过回放rosbag,以“相同的方式”再运行一次。

二.记录

rosbag会记录在控制台的当前目录下。

  • rosbag record -a 可以记录所有话题的内容
  • rosbag record /topic_name1 /topic_name2 /topic_name3仅记录有关话题。

rosbag会默认创建ros的名称,形如Recording to '2021-05-23-16-24-12.bag'
当然可以通过添加-O(-o) finename.bag的方式添加保存为bag文件的名字,大小写会导致不同的保存方式:

  • eg:
rosbag record -a -O test.bag
[ INFO] [1621758569.611777414]: Recording to 'test.bag'.
rosbag record -o test.bag -a
[ INFO] [1621758533.168720632]: Recording to 'test_2021-05-23-16-28-53.bag'.

三.信息

可以通过info命令,去显示该rosbag的信息。

  • 方式一,简单查看
rosbag info test.bag 
path:        test.bag
version:     2.0
duration:    4.8s
start:       May 23 2021 16:29:29.62 (1621758569.62)
end:         May 23 2021 16:29:34.45 (1621758574.45)
size:        15.8 KB
messages:    18
compression: none [1/1 chunks]
types:       rosgraph_msgs/Log [acffd30cd6b6de30f120938c17c593fb]
             top/name          [7eae61f42fe10628000d2b10fec2f3bd]
topics:      /Name_Info    4 msgs    : top/name         
             /rosout       9 msgs    : rosgraph_msgs/Log (2 connections)
             /rosout_agg   5 msgs    : rosgraph_msgs/Log
  • 方式二,树状查看,添加参数-y
kanna@cuit:~$ rosbag info test.bag -y
path: test.bag
version: 2.0
duration: 4.835510
start: 1621758569.616934
end: 1621758574.452444
size: 16204
messages: 18
indexed: True
compression: none
types:
    - type: rosgraph_msgs/Log
      md5: acffd30cd6b6de30f120938c17c593fb
    - type: top/name
      md5: 7eae61f42fe10628000d2b10fec2f3bd
topics:
    - topic: /Name_Info
      type: top/name
      messages: 4
    - topic: /rosout
      type: rosgraph_msgs/Log
      messages: 9
      connections: 2
    - topic: /rosout_agg
      type: rosgraph_msgs/Log
      messages: 5

三.回放

回放的基础命令:rosbag play file.bag,空格键可暂停/继续回放。
更改发布速度:rosbag play -r <times> file.bag,附加参数-r <times>可以修改播放的速度,比如-r 2则是二倍速
回放指定话题:rosbag play file.bag --topic /topic1,即可播放指定话题。

以上是关于ROS学习记录8——RosBag的使用的主要内容,如果未能解决你的问题,请参考以下文章

ROS学习笔记-rosbag数据记录包的使用-记录和回放小海龟历程

ROS学习笔记-rosbag数据记录包的使用-机器人自动建图

ROS学习笔记-rosbag数据记录包的使用-记录和回放Spark机器人建图过程

ROS进二阶学习笔记 -- ROS Bag

ROS进二阶学习笔记 -- ROS Bag

ROS学习 rosbag 转化为 mp4 格式视频