原文网址:
1 http://www.ros.org/news/2017/02/ros-binary-logger-package.html
2 https://github.com/CNR-ITIA-IRAS/binary_logger
我们想宣布发布新的ROS二进制记录器包。该包装设计为rosbag的替代品,当下列情况时:
- 需要多个和长消息采集(二进制文件具有较小的尺寸)
- 仅需要离线数据分析,并且在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文件
开发人员联系人
作者:
- 曼努埃尔·贝斯基(manuel.beschi@itia.cnr.it)
- Enrico Villagrossi(enrico.villagrossi@itia.cnr.it)
软件许可协议(BSD许可证)版权所有(c)2016,意大利国家研究委员会,工业技术与自动化研究所。版权所有。