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数据记录包的使用-机器人自动建图