主要内容

timeseries

为选定的消息属性创建时间序列对象

描述

例子

ts关口] = timeseries(为所有数字和标量消息属性创建时间序列。该函数计算当前中的每条消息BagSelectionrosbagreader对象作为ts.的关口参数Output将属性名存储为字符向量的单元格数组。

返回的时间序列对象是内存效率高的,因为它只存储特定的消息属性,而不是整个消息。

例子

ts关口] = timeseries(财产为特定的消息属性创建时间序列,财产.属性名也可以嵌套,例如,Pose.Pose.Position.Xx机器人的-轴位置。

例子

ts关口] = timeseries(财产, propertyN……)为特定于范围的消息属性创建时间序列。每个属性都是时间序列对象中的不同列。

例子

全部折叠

把袋子装上。指定文件路径。

袋子= rosbag(“ex_multiple_topics.bag”);

选择一个特定的主题。时间序列仅支持单个主题。金宝app

bagSelection = select(包,“主题”' /奥多姆');

创建一个时间序列' /奥多姆'的话题。

ts = timeseries(bagSelection);

把袋子装上。指定文件路径。

袋子= rosbag(“ex_multiple_topics.bag”);

选择一个特定的主题。时间序列只支持单个主题。金宝app

bagSelection = select(包,“主题”' /奥多姆');

创建一个时间序列“Pose.Pose.Position.X”的属性' /奥多姆'的话题。

ts =时间序列(bagSelection,“Pose.Pose.Position.X”);

把袋子装上。指定文件路径。

袋子= rosbag(“ex_multiple_topics.bag”);

选择一个特定的主题。时间序列只支持单个主题。金宝app

bagSelection = select(包,“主题”' /奥多姆');

为所有的角“扭曲”属性' /奥多姆'的话题。

ts =时间序列(bagSelection,“Twist.Twist.Angular.X”...“Twist.Twist.Angular.Y”“Twist.Twist.Angular.Z”);

加载rosbag日志文件,并根据选定的条件解析出特定的消息。

创建一个rosbagreaderrosbag日志文件中所有消息的对象。

bagMsgs = rosbagreader(“ros_multi_topics.bag”
FilePath: '/mathworks/devel/bat/Bdoc22b/build/matlab/toolbox/robotics/robotexamples/ros/data/bags/ros_multi_topics. properties: /mathworks/devel/bat/Bdoc22b/build/matlab/toolbox/robotics/robotexamples/ros/data/bags/ros_multi_topics. properties:bag' StartTime: 201.3400 EndTime: 321.3400 NumMessages: 36963 AvailableTopics: [4x3 table] AvailableFrames: {0x1 cell} MessageList: [36963x4 table]

根据时间戳和主题选择消息的子集。

bagMsgs2 = select(bagMsgs,...时间= [bagMsgs。StartTime bagMsgs。开始时间+ 1],...主题=' /奥多姆'
FilePath: '/mathworks/devel/bat/Bdoc22b/build/matlab/toolbox/robotics/robotexamples/ros/data/bags/ros_multi_topics. 'bag' StartTime: 201.3400 EndTime: 202.3200 NumMessages: 99 AvailableTopics: [1x3 table] AvailableFrames: {0x1 cell} MessageList: [99x4 table]

检索选择中的消息作为单元格数组。

msgs = readMessages(bagMsgs2)
公司=99×1单元格数组{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}{1 x1测程法}⋮

以时间序列的形式返回某些消息属性。

ts = timeseries(bagMsgs2,...“Pose.Pose.Position.X”...“Twist.Twist.Angular.Y”
timeseries timeseries包含重复的时间。Common Properties: Name: '/odom Properties' Time: [99x1 double] TimeInfo: tsdata。timemetadata Data: [99x2 double] DataInfo: tsdata.datametadata

输入参数

全部折叠

rosbag中消息的索引,指定为BagSelectionrosbagreader对象。你可以得到一个BagSelection通过调用rosbag

属性名,指定为字符串标量或字符向量。可以指定多个属性。每个属性名都是一个单独的输入,表示时间序列对象中的不同列。

输出参数

全部折叠

时间序列,返回为a时间对象句柄。

属性名列表,作为字符向量的单元格数组返回。

版本历史

R2019b引入