• ROS学习之消息包


    一个包是ROS中用于存储ROS 消息数据的文件格式。包 的扩展名为.bag - 在ROS中具有重要作用,并且已经编写了各种各样的工具来允许您存储,处理,分析和可视化它们。

     在线计算图中使用

    包通常由诸如rosbag的工具创建,该工具订阅一个或多个ROS 主题,并且将序列化的消息数存储在接收到的文件中。这些包文件也可以在ROS中回放到与他们记录的相同的主题,甚至重新映射到新的主题。

    使用ROS计算图中的包文件与ROS节点发送相同的数据通常没有区别,尽管您可能遇到存储在消息数据内的时间戳数据的问题。因此,rosbag 工具包括一个发布与数据记录在文件中的时间对应模拟时钟的选项

    包文件格式对于记录和播放都非常有效,因为消息以与ROS的网络传输层中使用的相同的表示形式存储。

     

    离线使用和数据迁移

    消息包是数据记录在ROS中的主要机制,这意味着它们具有各种离线功能。研究人员使用包文件工具链来记录数据集,然后可视化,标记它们并存储以供将来使用。Bag文件也被用于执行PR2机器人的长期硬件诊断记录。

    rqt_bag这样的工具可让您可视化包文件中的数据,包括绘制字段和显示图像。您还可以使用rostopic命令从控制台快速检查包文件数据rostopic支持列出包文件主题以及回显数据到屏幕。

    rosrecord软件包中也有程序化的API,使C ++和Python软件包能够迭代存储的消息。为了更快地操作bag文件,rosbag工具支持重新包装一个bag文件,这样可以将匹配特定过滤器的消息提取到一个新的包文件。

    存储在包文件中的数据通常非常有价值,所以袋子文件也被设计为在更新msg文件时容易地迁移包文件格式存储相应消息数据msg文件,并且像rosbagmigration这样的工具可以让您编写规则,以便在包装文件过期时自动更新。

     

    包工具

    • rosbag:用于录制,播放和其他操作的统一控制台工具。

    • rqt_bag:用于可视化包文件数据的图形工具。

    • rostopicecholist命令与bag文件兼容。

     

    较旧的工具

    以下工具已被rosbag 取代,但仍然支持:

     

    包格式

    包文件基本格式不应与普通用户相关。它可以更改,但向后兼容性将由程序化访问库或自定义转换库维护。

     

     

  • 相关阅读:
    查询计划Hash和查询Hash
    执行计划的重用
    执行计划组件、组件、老化
    执行计划的生成
    查询反模式
    T-SQL 公用表表达式(CTE)
    SQL 操作结果集 -并集、差集、交集、结果集排序
    SQL语句
    POJ 1821 单调队列+dp
    区间gcd问题 HDU 5869 离线+树状数组
  • 原文地址:https://www.cnblogs.com/qixianyu/p/6670045.html
Copyright © 2020-2023  润新知