rosbag 初尝试
overview
ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、函数库、可视化工具、消息传递和软件包管理等诸多功能。
rosbag 记录深度相机数据
rosbag package提供了一个命令行工具以及cpp类和python的API, rosbag使用命令行能够:录制,从包重新发布,获取包的概括信息,检查包的消息类型,使用Python表达式过滤包中信息,压缩解压缩包,重新索引包。
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
rosbag 初尝试的更多相关文章
- R语言爬虫初尝试-基于RVEST包学习
注意:这文章是2月份写的,拉勾网早改版了,代码已经失效了,大家意思意思就好,主要看代码的使用方法吧.. 最近一直在用且有维护的另一个爬虫是KINDLE 特价书爬虫,blog地址见此: http://w ...
- SQLSERVER2012里的扩展事件初尝试(下)
SQLSERVER2012里的扩展事件初尝试(下) SQLSERVER2012里的扩展事件初尝试(上) 我们继续文章扩展事件在Denali CTP3里的新UI(二)里的这个实验 脚本文件下载:http ...
- SQLSERVER2012里的扩展事件初尝试(上)
SQLSERVER2012里的扩展事件初尝试(上) SQLSERVER2012里的扩展事件初尝试(下) 周未看了这两篇文章: 扩展事件在Denali CTP3里的新UI(一) 扩展事件在Denali ...
- codefirst初尝试
Code First 约定 借助 CodeFirst,可通过使用 C# 或Visual Basic .NET 类来描述模型.模型的基本形状可通过约定来检测.约定是规则集,用于在使用 Code Firs ...
- 中文编程语言之Z语言初尝试: ZLOGO 4
原文: https://zhuanlan.zhihu.com/p/31505895. 作者为本人. @TKT2016 开发的Z语言(ZLOGO是它的一个部分)是本人至今看到的唯一一个仍活跃开发的开源且 ...
- 2017-12-24 手机编程环境初尝试-用AIDE开发Android应用
前不久才接触到纯粹用手机进行编程的开发者, 当时颇有孤陋寡闻之感, 因为之前听说过手机编程还是一些在线编程学习网站开发的学习环境, 没有想过真的有用它做实际开发的. 此文用AIDE免费版在自己的手机上 ...
- 2017-11-28 中文编程语言之Z语言初尝试: ZLOGO 4
"中文编程"知乎专栏原文. 作者为本人. @TKT2016 开发的Z语言(ZLOGO是它的一个部分)是本人至今看到的唯一一个仍活跃开发的开源且比较完整的中文编程语言项目. 它的源码 ...
- 不安分的android开发者(小程序初尝试,前后台都自己做)
前言 作为一个稍微有点想法的程序员来说,拥有一个自己开发,自己运营,完全属于自己的应用,应该是很多人的梦想.刚毕业那会,自己的工作是做游戏,于是也和朋友业余时间开发一些小游戏玩玩,可是终究不成气候,而 ...
- Scrapy初尝试
,python3.6版本 在看网上的安装的时候下一堆依赖,其实没有必要一个个的去装,pip直接分析依赖一块下载安装下来! 已经安装了pip模块 直接上 pip install scrapy 安装twi ...
随机推荐
- Jlink固件更新
故障:JLINK上的指示灯也不亮,无驱动等 文中所提工具和固件链接: 工具:http://pan.baidu.com/s/1c2z8nao 固件:http://pan.baidu.com/s/1jIB ...
- STM32 keil中编译遇到的问题
发现 移植的SPI程序 说里面的 SPI_InitTypeDef 所有有关 SPI库函数的都找不到 这是因为 用的是 原子的程序 在 config函数中 把这个注释了
- 校准仪的开发 ---等下整理 迪文屏的ICO文件 和输出配置问题
要有ICO文件才能
- linux ( crontab 定时任务命令)
linux ( crontab 定时任务命令) crontab 定时任务命令 linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工 ...
- GO文件读写01---读文件
打开文件 package main import ( "fmt" "os" ) /* buffer 缓冲区 utility 便利的工具 util 便捷工具(傻瓜 ...
- SQL Server 50道查询训练题,学生Student表
下面这个是题目所用到的数据库! 首先你需要在你的SQL Sever数据库中创建[TestDb]这个数据库,接下来下面这个代码.直接复制在数据库里运行就好了! 1 USE [TestDb] 2 GO 3 ...
- MindSpore 高阶优化器
MindSpore 高阶优化器 MindSpore自研优化器THOR(Trace-based Hardware-driven layer-ORiented Natural Gradient Desce ...
- 深度学习加速器堆栈Deep Learning Accelerator Stack
深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...
- Nucleus SE RTOS初始化和启动
Nucleus SE RTOS初始化和启动 Nucleus SE RTOS initialization and start-up 对于任何类型的操作系统,都有某种类型的启动机制.具体的工作方式因系统 ...
- Appium_Android自动化测试Genymotion之模拟器联网设置
目的: 使用Genymotion做Android项目,需要考虑到联网,以下是设置操作 操作步骤: 打开VM VirtualBox,设置->网络-> 启动模拟器,设置 备注: 模拟器的手机 ...