• rosbag 初尝试


    overview

    ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、函数库、可视化工具、消息传递和软件包管理等诸多功能。

    rosbag 记录深度相机数据

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

    rosbag

     rosebag支持的命令列表:

    1.查看.bag中包含的信息 : rosbag info 

    2.回放.bag中包含的信息: rosbag play 

      2.1以某一频率发布消息 : rosbag play -r 2 

      2.2从某一时间节点开始发布消息 : rosbag play -s 2 

    3.记录所有topic信息: rosbag record -a

      3.1记录部分信息 : rosbag record -o subset /turtle1/cmd_vel /turtle1/pose        产生一个名为subset.bag的文件。

    4.other command:

      4.1检查。确定一个.bag是否可以在当前系统中播放,或者是否可以迁移。rosbag check
      4.2修复。修复.bag文件中的消息,以便它可以在当前系统中播放。rosbag fix
      4.3过滤。使用python表达式转换.bag文件。rosbag filter
      4.4压缩。压缩一个或多个.bag文件。rosbag compress
      4.5解压缩。解压缩一个或多个.bag文件。rosbag decompress
      4.6重建。重建一个或多个破损的.bag文件。rosbag reindex

    5.将.bag记录的图像数据输出为图片或视频。  
    a.创建文件 export.luach 并写入一下内容

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

     

    1 $(find image_view)/test.bag" 其中image_view表示package名字,此处改为你的.bag文件所处的package的名字即可,同时test改为对应的名字。
    2 <remap from="image" to="/camera/image_raw"/> 此处表示需将你记录的topic名字覆盖掉/image 这个原始的topic。

    b.运行launch文件,即

    1 roslaunch export.launch

    此时数据将被分离成一组图片,并存在“.ros”文件夹中。

    c.创建文件夹 /source 
    将/.ros中的图片转移到/source中,即

    1 mv ~/.ros/frame*.jpg source/

    d.转换视频

    1 cd ~/source
    2 jpeg2yuv -I p -f 15 -j frame%04d.jpg -b 1 > tmp.yuv
    3 //其中-f 15 表示频率, -b 1 表示起始图片的编号。

    如果要产生.ogv文件:

    1 ffmpeg2theora --optimize --videoquality 10 --videobitrate 16778 -o output.ogv tmp.yuv

    如果要产生mpg文件:

    1 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

    在本步骤中可能会需要安装部分package,按提示安装即可:

    sudo apt-get install packeage-name

  • 相关阅读:
    Use MVS Dsbame convensions. windows下ftp.exe客户端上传错误
    Sqlserver 2005:数据库快照
    Oracle:使用ASM自动存储管理, 严重推荐
    Thunderbird 邮件客户端:windows 和 ubuntu 或 liunx 下共用的方法
    Oracle:Oracle 10 RAC 安装群集件的准备工作
    SSH
    STL
    ASP生成静态Html文件技术杂谈
    Nessus:网络和主机漏洞评估程序安装试用
    table 的 id 属性不被 document.getElementById支持
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/8473317.html
Copyright © 2020-2023  润新知