rosbag的命令

rosbag简介

rosbag 既可以指命令行中数据包相关命令,也可以指 c++/python 的 rosbag 库。这里的 rosbag 是指前者。
rosbag 主要用于记录、回放、分析 rostopic 中的数据。它可以将指定 rostopic 中的数据记录到 .bag 后缀的数据包中,便于对其中的数据进行离线分析和处理。
对于 subscribe 某个 topic 的节点来说,它无法区分这个 topic 中的数据到底是实时获取的数据还是从 rosbag 中回放的数据。这就有助于我们基于离线数据快速重现曾经的实际场景,进行可重复、低成本的分析和调试。

rosbag record

启动与 turtlesim 相关的两个 ros node

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
cd ~/bagfiles
rosbag record -a

-a 选项表示将当前发布的所有 topic 数据都录制保存到一个 rosbag 文件中,录制的数据包名字为日期加时间。
也可以只记录某些感兴趣的 topic

rosbag record /topic_name1 /topic_name2 /topic_name3

如果要指定生成数据包的名字,则用-O /-o 参数,如下:

rosbag record -O filename.bag /topic_name1

如果在 launch 文件中使用 rosbag record 命令,如下:

<node pkg="rosbag" type="record" name="bag_record" args="/topic1 /topic2"/>

rosbag info

rosbag info指令可以显示数据包中的信息:

rosbag info filename.bag

显示类似下边的信息:

xiaohu@xiaohu:~/bagfiles$ 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

Print information in YAML format.

 rosbag info -y filename.bag
xiaohu@xiaohu:~/bagfiles$  rosbag info -y 1.bag
path: 1.bag
version: 2.0
duration: 3.295966
start: 1566653873.351150
end: 1566653876.647117
size: 8103
messages: 20
indexed: True
compression: none
types:- type: geometry_msgs/Twistmd5: 9f195f881246fdfa2798d1d3eebca84a
topics:- topic: /turtle1/cmd_veltype: geometry_msgs/Twistmessages: 20

rosbag play

接下来回放数据包中的 topic。

保留turtlesim节点继续运行。

rosbag play <bagfile>

如果想改变消息的发布速率,可以用下面的命令,-r 后面的数字对应播放速率。

rosbag play -r 2 <bagfile>

如果希望 rosbag 循环播放,可以用命令

rosbag play -l  <bagfile>  # -l== --loop

如果只播放感兴趣的 topic ,则用命令

rosbag play <bagfile> --topic /topic1

在上述播放命令执行期间,空格键可以暂停播放。

如果想修改topic名字播放

rosbag play file.bag /topic_name:=/reame_topic_name
#//topic_name是原topic,reame_topic_name是新topic

ROS——一文读懂:rosbag相关推荐

  1. ROS——一文读懂:param参数

    文章目录 获取参数 设置参数 删除参数 检查参数 搜索参数 获取参数 通过NodeHandle,有两种方式获取参数: 下面的例子,n是NodeHandle实例对象 getParam()函数说明: ge ...

  2. 从实验室走向大众,一文读懂Nanopore测序技术的发展及应用

    关键词/Nanopore测序技术    文/基因慧 随着基因测序技术不断突破,二代测序的发展也将基因检测成本大幅降低.理想的测序方法,是对原始DNA模板进行直接.准确的测序,消除PCR扩增带来的偏差, ...

  3. 一文读懂Faster RCNN

    来源:信息网络工程研究中心本文约7500字,建议阅读10+分钟 本文从四个切入点为你介绍Faster R-CNN网络. 经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在20 ...

  4. 福利 | 一文读懂系列文章精选集发布啦!

    大数据时代已经悄然到来,越来越多的人希望学习一定的数据思维和技能来武装自己,虽然各种介绍大数据技术的文章每天都扑面而来,但纷繁又零散的知识常常让我们不知该从何入手:同时,为了感谢和回馈读者朋友对数据派 ...

  5. ​一文读懂EfficientDet

    一文读懂EfficientDet. 今年年初Google Brain团队在 CVPR 2020 上发布了 EfficientDet目标检测模型, EfficientDet是一系列可扩展的高效的目标检测 ...

  6. 一文读懂序列建模(deeplearning.ai)之序列模型与注意力机制

    https://www.toutiao.com/a6663809864260649485/ 作者:Pulkit Sharma,2019年1月21日 翻译:陈之炎 校对:丁楠雅 本文约11000字,建议 ...

  7. AI洞观 | 一文读懂英特尔的AI之路

    AI洞观 | 一文读懂英特尔的AI之路 https://mp.weixin.qq.com/s/E9NqeywzQ4H2XCFFOFcKXw 11月13日-14日,英特尔人工智能大会(AIDC)在北京召 ...

  8. 一文读懂机器学习中的模型偏差

    一文读懂机器学习中的模型偏差 http://blog.sina.com.cn/s/blog_cfa68e330102yz2c.html 在人工智能(AI)和机器学习(ML)领域,将预测模型参与决策过程 ...

  9. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

最新文章

  1. bootstrap4 调整元素之间距离
  2. 数据结构练习 00-自测1. 打印沙漏(20)
  3. 机器学习算法加强——回归实践
  4. 成功解决解决VM软件安装Linux的Ubuntu过程,打开时 Operating System not found
  5. OKWatchDog 打造一个安全的容器类
  6. 一个简单的内存分配例子
  7. java 解决汉诺塔问题
  8. isnull mysql_mysql isnull用法讲解
  9. javascript中数组的22种方法
  10. Intellij IDEA神器居然还藏着这些实用小技巧,爽!!!
  11. 2.3 logistic 回归损失函数
  12. android开发那些事儿(五)-通用流行框架大全
  13. mysql连接数过多
  14. 企业如何实现大数据分析平台
  15. Atitit.词法分析的理论原理 part2
  16. 大数据处理的基本流程
  17. l1约束比l2约束更容易获得稀疏解
  18. 4个团队领导必备的技能和素质
  19. 我的过错不值得原谅,麻木的岁月我还要背负多久。
  20. 实例011:养兔子 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

热门文章

  1. 注意!保护我方密码阵地!
  2. 广告接单平台推荐,支持公众号、视频号、抖音、快手、B站、小红书等流量主
  3. 基于FPGA图像的镜像
  4. 学python还是ps_学会Python之后,感觉PS真的不行!Python修图拉开PS几条街!
  5. 【数据结构与算法综合实验】欢乐连连看(C++ MFC)案例
  6. 如何来实现一个Linux内核的系统调用(基于tiny4412开发板)
  7. 吉他谱 - 心愿 - 王泽
  8. java 爱哦大容量并发_Java高并发的常见应对方案
  9. 计算机上的符号并不代表分数,你忽视的小小符号,决定着大大的分数!
  10. 最新区块链项目-芝士小视频