ROS使用教程--关于rosbag

原创 2016年08月30日 22:17:23

overview

rosbag package提供了一个命令行工具以及cpp类和python的API. rosbag使用命令行能够:录制,从包重新发布,获取包的概括信息,检查包的消息类型,使用Python表达式过滤包中信息,压缩解压缩包,重新索引包
命令行工具

This is the current list of supported commands:
- record. Record a bag file with the contents of specified topics.

$ rosbag record rosout tf cmd_vel
  • info. Summarize the contents of a bag file.
  • play. Play back the contents of one or more bag files.
  • check. Determine whether a bag is playable in the current system, or if it can be migrated.
  • fix. Repair the messages in a bag file so that it can be played in the current system.
  • filter. Convert a bag file using Python expressions.
  • compress. Compress one or more bag files.
  • decompress. Decompress one or more bag files.
  • reindex. Reindex one or more broken bag files.

如果记录一个高带宽的信息,例如图像信息,最好是在同一个相机节点运行的机器上记录,并指定文件的目的地所属的机器的硬盘
可以使用regex, 指令是-e, -regex

$ rosbag record -e "/(.*)_stereo/(left|right)/image_rect_color"

rosbage info

该工具将保存的bag文件显示出来,包含起止时间,toppics以及其类型,信息数量等.

rqt_bag

提供全方位的图形化界面,具有录制,播放,显示,保存,加载文件,暂停等功能

refer

  1. https://zhenshenglee.github.io/2016/08/16/160816ROS-Bag%E4%BB%8B%E7%BB%8D/
  2. http://chenjunjun.bitbucket.org/2016/03/22/ROS-%E6%B6%88%E6%81%AF%E5%BD%95%E5%88%B6%E5%92%8C%E5%9B%9E%E6%94%BE/

rosbag文件中提取视频

方法1

[refer ros wiki page]http://wiki.ros.org/rosbag/Tutorials/Exporting%20image%20and%20video%20data#CA-b03834a5a0917593e18fb84cfab917fbab79f52a_1

<launch>
  <node pkg="rosbag" type="play" name="rosbag" args="-d 2 $(find image_view)/test.bag"/>
  <node name="extract" pkg="image_view" type="extract_images" respawn="false" output="screen" cwd="ROS_HOME">
    <remap from="image" to="/camera/image_raw"/>
  </node>
</launch>

$(find image_view)/test.bag在使用的时候换成自己的bag文件的路径,然后生成一些文件,文件名统一格式为’frame%04d.jpg’,位置在.ros文件中.因此执行一下命令,移动文件,并录制成视频.

cd ~
mkdir test
mv ~/.ros/frame*.jpg test/

cd ~/test
mencoder "mf://*.jpg" -mf type=jpg:fps=15 -o output.mpg -speed 1 -ofps 30 -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=2500 -oac copy -of mpeg

方法2

https://github.com/OSUrobotics/bag2video 未测试.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

rosbag--ROS中数据的记录与重放

将运行的ROS软件上的数据记录到一个.bag文件,然后重放数据再产生相同的效果。   1. 记录数据(创建一个bag文件) 从一个运行的ROS系统中记录topic的数据,这个topic数据会在一...
  • hustfzt
  • hustfzt
  • 2016年08月31日 14:37
  • 6462

ros中使用rosbag记录数据及转换视频

1.查看.bag中包含的信息 : rosbag info 2.0回放.bag中包含的信息: rosbag play 2.1以某一频率发布消息 : rosbag play ...

ROS学习笔记十一:ROS中数据的记录与重放

本节主要介绍如何记录一个正在运行的ROS系统中的数据,然后在一个运行的系统中根据记录文件重新产生和记录时类似的运动情况。本例子还是以小海龟例程为例。记录数据(创建一个bag文件)首先运行小海龟例程:r...
  • mountzf
  • mountzf
  • 2016年08月28日 11:13
  • 2396

ROS相关:使用rospy 编写ros程序并使用rosbag存储数据

为什么使用rospyROS支持C++和Python,由于ROS的底层是由C++编写,因此大多数的ROS程序都使用C++,但是Python语言接口简单,更容易编写。并且可以使用python与深度学习的一...

ROS进二阶学习笔记(6) -- ROS Bag

ROS Bag是ROS计算图级的一个概念: Bags: ref : http://wiki.ros.org/Bags 在 计算图里 在线使用    工具:rosbag    创建bags,...
  • sonictl
  • sonictl
  • 2017年01月03日 14:41
  • 1403

如何在ROS环境中解码.bag格式数据

由于Udacity开源的数据使用了.bag格式,所以在解码其数据的时候,废了一番周折。首先,查看.bag文件信息使用rosbag info **.bag,具体如图所示:然后,根据上面信息修改expor...

从ROS bag文件中提取图像

从ROS bag文件中提取图像

rosbag的使用

1. 命令行使用,有两个方式:(1) 记录所有话题:rosbag record -o(2) 记录用户自定话题:rosbag record /temp /accl默认情况下,当运行前面的命令,rosba...

ROS入门_1.16 录制与回放数据

1. 录制数据(通过创建一个bag文件) 本小节将教你如何记录ROS系统运行时的话题数据,记录的话题数据将会累积保存到bag文件中。 首先,执行以下命令: roscore rosru...

ROS总结——录制和回放数据

ROS录制和回放数据本博客将总结如何通过rosbag将ROS系统运行过程中的数据录制到一个.bag文件中,然后通过回放数据来重现相似的运行过程。 1. 录制数据 本节将记录ROS系统运行时的话题数...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ROS使用教程--关于rosbag
举报原因:
原因补充:

(最多只允许输入30个字)