主要内容

ros2bagreader

访问ROS 2袋日志文件信息

    描述

    ros2bagreaderobject是ROS 2包文件中消息的索引。您可以使用它从ROS 2包文件中提取消息数据,或者根据特定的标准选择消息。

    创建

    描述

    bagreader= ros2bagreader (folderpath创建一个可索引文件ros2bagreader对象,bagreader,它包含来自输入路径上的ROS 2包文件的所有消息filepath.的folderpath的值FilePath财产。

    ROS 2包文件用于存储消息数据。它们的主要用途是记录通过ROS 2网络传输的消息。生成的包文件可以用于离线分析、可视化和存储。MATLAB提供了读取现有包文件的功能。

    请注意

    如果ROS 2包日志文件包含自定义消息,使用MATLAB创建自定义消息ros2genmsg函数之前创建ros2bagreader对象。

    属性

    全部展开

    此属性是只读的。

    ROS 2包文件的绝对路径,指定为字符向量。

    数据类型:字符

    此属性是只读的。

    第一个消息的时间戳,指定为以秒为单位的标量。

    数据类型:uint64

    此属性是只读的。

    最后一条消息的时间戳,指定为以秒为单位的标量。

    数据类型:uint64

    此属性是只读的。

    消息数,指定为一个标量。

    数据类型:

    此属性是只读的。

    可用主题的表,指定为表。表中的每一行列出一个主题、该主题的消息数量、消息类型和消息定义。

    数据类型:表格

    此属性是只读的。

    消息列表,指定为表。表中的每一行列出一条消息。

    数据类型:表格

    对象的功能

    readMessages 从ros2bagreader对象读取消息
    选择 选择ros2bagreader中的消息子集

    例子

    全部折叠

    解压缩包含ROS 2包日志文件的zip文件,并指定日志文件夹的完整路径。

    解压缩(“ros2_netwrk_bag.zip”);folderPath = fullfile(pwd,“ros2_netwrk_bag”);

    创建一个ros2bagreader对象,该对象包含日志文件中的所有消息。

    bag = ros2bagreader(folderPath);

    的内容获取信息ros2bagreader对象。

    Baginfo = ros2(“包”“信息”folderPath)
    baginfo =带有字段的结构:路径:/ tmp / Bdoc22b_2054784_2434877 / tpe79d7e9c ros-ex96596996 / ros2_netwrk_bag / ros2_netwrk_bag。db3'版本:'1' StorageId: 'sqlite3'持续时间:207.9020开始:[1x1 struct]结束:[1x1 struct] Size: 16839538消息:166867类型:[4x1 struct]主题:[4x1 struct]

    中的所有消息ros2bagreader对象。

    msgs = readMessages(包);

    选择按主题筛选的消息子集。

    bagSel = select(bag,“主题”“/”奥多姆);

    获取选择中的消息。

    msgsFiltered = readMessages(bagSel);

    版本历史

    在R2021a中引入

    全部展开

    另请参阅

    功能

    Baidu
    map