原文网址:

http://www.ros.org/news/2017/02/ros-binary-logger-package.html

https://github.com/CNR-ITIA-IRAS/binary_logger

我们想宣布发布新的ROS二进制记录器包。该包装设计为rosbag的替代品,当下列情况时:

  1. 需要多个和长消息采集(二进制文件具有较小的尺寸)
  2. 仅需要离线数据分析,并且在ROS中不需要实验的重放(例如使用MATLAB的数据分析)

二进制文件的使用允许减少日志文件的大小,并允许加快这些文件的后处理(例如,MATLAB花费〜0.1s来解压缩300MB的二进制文件)。该软件包可以记录一些常见的ROS消息,如:传感器msgs/ IMU,传感器的msg / JointState,geometry_msgs / WrenchStamped,等等新信息类型可以很容易地添加和鼓励用户作出贡献。还提供了两个MATLAB脚本来解包二进制文件。

你可以在这里找到的代码:https://github.com/CNR-ITIA-IRAS/binary_logger 更多的信息和一个简短的描述可以在资源库中找到。

联系人:Manuel Beschi manuel.beschi@itia.cnr.it - Enrico Villagrossi enrico.villagrossi@itia.cnr.it

CNR-ITIA的二进制记录器包(www.itia.cnr.it

存储库包含由意大利国家研究委员会(CNR-ITIA)的工业技术和自动化研究所开发的ROS二进制记录器的实现。

概述

该包提供了获取ROS主题的所有功能,并将数据存储到二进制文件中。

目标是减少存储文件的尺寸(如果与.bag文件相比),以便进行长时间数据采集,并加快日志文件分析(例如,MATLAB花费〜0.1s来解压300MB的二进制文件)。

可以记录的消息类型(目前)为:

  • 'JointState'

  • 'Imu'

  • 'PoseStamped'

  • '扳手'

  • 'Float64MultiArray'

安装和支持的ROS版本

下载并编译软件包(没有特定的依赖关系,只需要ROS标准安装)。

该软件包已经用ROS'Jade'和'Kinetic'测试。

用法

要获得一个新的主题,它需要:

1)定义主题特征(消息类型,持续时间,抽取)和二进制文件特性(二进制文件名,路径)到'cfg / binary_logger_cfg.yaml'(更多信息报告在文件内)。

2)启动文件“launch / binary_logger.launch”开始记录数据(注意:如果主题不可用,记录器将等待主题);

MATLAB

该软件包还提供了在MATLAB中解码二进制文件的脚本。更多详细信息在脚本(README)中报告。

添加新的记录器功能

包是一个开源项目,鼓励用户添加和共享新的功能,引入新的消息类型。

要添加新消息类型,需要:

1)为新消息类型添加一个新的头文件到“include / binary_logger /”文件夹(使用现有文件作为示例);

2)将对应的.cpp文件添加到'src / binary_logger /'foder(使用现有文件作为示例。需要做的主要更改是在处理回调的类方法中)。

注意:新的.cpp需要添加到CMakeLists.txt;

3)将新消息类型添加到'binary_logger_plugins.xml';

结果从联合状态消息的10分钟的日志提供为:

标题:

seq:16505 
邮票:

secs:1486559122 nsecs 
:461230839

frame_id:''

name:['joint_0','joint_1','joint_2','joint_3','joint_4','joint_5'] 
position:[ 0.0,0.0,0.0,0.0,0.0,0.0 ] 
velocity:[ 0.0,0.0,0.0 ,0.0,0.0,0.0] 
effort:[0.0,0.0,0.0,0.0,0.0,0.0]

提供以下结果:

1)录制文件的大小:

  • .bag文件的大小为180.0MB

  • 91.0MB fot的.bin文件

2)在MATLAB中加载文件的时间:

  • 8.215872 [s]为.bag文件

  • 0.391143 [s]为.bin文件

开发人员联系人

作者:

软件许可协议(BSD许可证)版权所有(c)2016,意大利国家研究委员会,工业技术与自动化研究所。版权所有。

ROS二进制日志包 ROS binary logger package的更多相关文章

  1. MySQL 二进制日志(Binary Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分. MySQL有几种不同的日志文件.通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志能够帮助我们定位mysqld ...

  2. MySQL二进制日志

    一.二进制日志(The Binary Log) 1.简介 包含所有更新了的数据或者已经潜在更新了的数据(比如一条没有匹配任何行的delete语句) 包含所有更新语句执行时间的信息 不记录没有修改数据的 ...

  3. mysql二进制日志详解

    一.什么是二进制日志 二进制日志主要记录mysql数据库的变化,二进制日志包含所有更新了数据或者潜在更新了数据(如没有匹配到任何行的delete语句),语句以时间的形式保存,描述了数据的更改.二进制日 ...

  4. 创建ros的程序包--3

    创建ros的程序包(原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/) 1.一个catkin程序包由什么组成? 一个程序包要想称为catkin程序 ...

  5. 涉及到复制和二进制日志中的选项和变量-Replication and Binary Logging Options and Variables

    在搭建复制中,有些参数需要我们留意,在这里罗列出来,供大家参考一下,以GTID为基础 --server-id server-id:这是一个全局的可动态调整的变量,取值范围为0-4294967295,也 ...

  6. ROS Learning-005 beginner_Tutorials 创建ROS程序包(就是软件包)

    ROS Indigo beginner_Tutorials-04 创建ROS程序包(就是软件包) 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu ...

  7. 4.1 ROS元功能包

    4.1 ROS元功能包 场景:完成ROS中一个系统性的功能,可能涉及到多个功能包,比如实现了机器人导航模块,该模块下有地图.定位.路径规划...等不同的子级功能包.那么调用者安装该模块时,需要逐一的安 ...

  8. 二进制日志BINARY LOG清理

    mysql> show master logs; +------------------+-----------+ | Log_name | File_size | +------------- ...

  9. 在github上最热门好评高的ROS相关功能包

    在github上最热门最受欢迎的ROS相关功能包 下面依次列出,排名不分先后: 1  Simulation Tools In ROS https://github.com/ros-simulation ...

随机推荐

  1. [CQOI2016] 手机号码 (数位dp)

    link $solution:$ $10^{10} \leq L \leq R < 10^{11}$这个数据范围很容易想到数位$dp$. 依照题意模拟即可. #include<iostre ...

  2. Facenet Triplet Loss

    Triplet Loss 在人脸识别中,Triplet loss被用来进行人脸嵌入的训练.如果你对triplet loss很陌生,可以看一下吴恩达关于这一块的课程.Triplet loss实现起来并不 ...

  3. matlab --- plot画图

    plot画的图形在上一个plot的figure中:hold on 添加图例:legend({'X','Y'}) 限制X轴Y轴的坐标范围:xlim([380 780]);ylim([0 2]) 或 ax ...

  4. Ansible7:Playbook常用模块

    目录 template set_fact pause wait_for assemble add_host group_by debug fail playbook的模块与在ansible命令行下使用 ...

  5. JavaScript中replace()方法的第二个参数解析

    语法 string.replace(searchvalue,newvalue) 参数值 searchvalue 必须.规定子字符串或要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则 ...

  6. Java开发者应该列入年度计划的5件事

    本文写了我今年计划要做的5件事.为了能跟踪计划执行的进度,就把这些事都列了出来.我觉得这些事对其它Java开发者而言也是不错的参考方向. 1.开发一个应用,通过Java来操作一种NoSQL数据库实现存 ...

  7. 学号20155308 2016-2017-2 《Java程序设计》第6周学习总结

    学号20155308 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入与输出 目的:文件的读写:网络上传数据的基础:同样要掌握父类中方法. 10. ...

  8. HDU 5532 Almost Sorted Array (最长非递减子序列)

    题目链接 Problem Description We are all familiar with sorting algorithms: quick sort, merge sort, heap s ...

  9. PHP验证注册信息

    注册页面reg.html <form action="reg.php" method="post"> 用户名<input type=" ...

  10. 20155303 2016-2017-2 《Java程序设计》第四周学习总结

    20155303 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 6.1 何谓继承 继承避免多个类间重复定义共同行为,使用关键字exten ...