ROS日志文件(rosbags)
介绍
rosbag或袋是一种文件格式存储活性氧ROS消息数据。这些包通常是由订阅一个或多个ROS的话题,并将接收到的消息数据存储在一个有效的文件结构。MATLAB®可以阅读这些rosbag文件和帮助筛选和提取消息数据。下面的章节详细rosbags在MATLAB的结构®为提取数据和工作流。
MATLAB rosbag结构
当访问rosbag日志文件、电话rosbag
并指定文件路径对象。MATLAB然后创建一个BagSelection
对象,该对象包含一个索引rosbag的所有消息。
的BagSelection
rosbag相关对象具有以下属性:
FilePath
:一个特征向量rosbag文件的绝对路径。开始时间
:一个标量表示第一个消息的时间被记录EndTime
:一个标量表示时间的最后一条消息被记录NumMessages
:一个标量表示有多少消息中包含的文件AvailableTopics
:一个列表的主题和消息类型被记录在袋子里。这是存储为表数据,列表消息的数量、消息类型和消息定义为每个主题。表数据类型的更多信息,参见访问数据表。下面是一个示例输出这个表:ans = NumMessagesMessageTypeMessageDefinition⒈______________________ _________________ /时钟12001 rosgraph_msgs /时钟[1 x185 char] /露台/ link_states 11999 gazebo_msgs / LinkStates [1 x1247 char] /奥多姆11998 nav_msgs /测程法[1 x2918 char] /扫描965 sensor_msgs /提升[1 x2123 char]
MessageList
:每条消息的列表行按时间戳排序的袋子当消息被记录。这个列表可以被索引,你可以选择一个列表的一部分。调用选择
允许您选择基于时间戳的子集,主题或消息类型。
另外,请注意BagSelection
对象包含一个索引的所有消息。然而,你仍然必须使用函数来提取数据。提取这些信息,请参阅readMessages
基于指数作为一个单元阵列获取消息或看到timeseries
阅读指定属性的数据作为时间序列。
工作流rosbag选择
在处理rosbags时,有一种普遍的程序应该如何提取数据。
加载一个rosbag:叫
rosbag
加载文件和文件路径和创造BagSelection
。检查可用的信息:检查
BagSelection
属性(AvailableTopics
,NumMessages
,开始时间
,EndTime
,MessageList
)来决定如何选择一个子集的信息进行分析。选择消息:叫
选择
创建一个消息的选择根据你所需的属性。提取消息数据:叫
readMessages
或timeseries
得到消息数据单元阵列或时间序列数据结构。可视化分析或过程数据为您的特定应用程序:使用提取的数据。你可以画出数据或开发算法来处理数据。
下面的图还显示了工作流。
限制
有一些局限性在MATLAB中的rosbag支持:金宝app
另请参阅
rosbag
|readMessages
|BagSelection