timeseries

Создайте объект временных рядов для выбранных свойств сообщения

Описание

пример

[ts,cols] = timeseries(bag) создает временные ряды для всех числовых и скалярных свойств сообщения. Функция оценивает каждое сообщение в текущем BagSelection или rosbagreader объект bag как ts. cols выходной аргумент хранит имена свойства как массив ячеек из символьных векторов.

Возвращенный объект временных рядов является памятью, эффективной, потому что это хранит только конкретные свойства сообщения вместо целых сообщений.

пример

[ts,cols] = timeseries(bag,property) создает временные ряды для определенного свойства сообщения, property. Имена свойства могут также быть вложены, например, Pose.Pose.Position.X для x - положение оси робота.

пример

[ts,cols] = timeseries(bag,property,...,propertyN) создает временные ряды для специфичных для области значений свойств сообщения. Каждое свойство является различным столбцом в объекте временных рядов.

Примеры

свернуть все

Загрузите rosbag. Задайте путь к файлу.

bag = rosbag('ex_multiple_topics.bag');

Выберите определенную тему. Временные ряды поддерживают только одну темы.

bagSelection = select(bag,'Topic','/odom');

Создайте временные ряды для '/odom' тема.

ts = timeseries(bagSelection);

Загрузите rosbag. Задайте путь к файлу.

bag = rosbag('ex_multiple_topics.bag');

Выберите определенную тему. Временные ряды поддерживают только одну темы.

bagSelection = select(bag,'Topic','/odom');

Создайте временные ряды для 'Pose.Pose.Position.X' свойство на '/odom' тема.

ts = timeseries(bagSelection,'Pose.Pose.Position.X');

Загрузите rosbag. Задайте путь к файлу.

bag = rosbag('ex_multiple_topics.bag');

Выберите определенную тему. Временные ряды поддерживают только одну темы.

bagSelection = select(bag,'Topic','/odom');

Создайте временные ряды для всего углового 'Twist' свойства на '/odom' тема.

ts = timeseries(bagSelection,'Twist.Twist.Angular.X', ...
          'Twist.Twist.Angular.Y', 'Twist.Twist.Angular.Z');

Загрузите rosbag файл журнала и проанализируйте определенные сообщения на основе выбранных критериев.

Создайте rosbagreader объект всех сообщений в rosbag файле журнала.

bagMsgs = rosbagreader("ros_multi_topics.bag")
bagMsgs = 
  rosbagreader with properties:

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

Выберите подмножество сообщений на основе их метки времени и темы.

bagMsgs2 = select(bagMsgs,...
    Time=[bagMsgs.StartTime bagMsgs.StartTime + 1],...
    Topic='/odom')
bagMsgs2 = 
  rosbagreader with properties:

           FilePath: '/mathworks/devel/bat/BR2021bd/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)
msgs=99×1 cell array
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
    {1x1 Odometry}
      ⋮

Возвратите определенные свойства сообщения как временные ряды.

ts = timeseries(bagMsgs2,...
    'Pose.Pose.Position.X', ...
    'Twist.Twist.Angular.Y')
  timeseries

  Timeseries contains duplicate times.

  Common Properties:
            Name: '/odom Properties'
            Time: [99x1 double]
        TimeInfo: tsdata.timemetadata
            Data: [99x2 double]
        DataInfo: tsdata.datametadata

Входные параметры

свернуть все

Индекс сообщений в rosbag в виде BagSelection или rosbagreader объект. Можно получить BagSelection объект путем вызова rosbag.

Имена свойства в виде строкового скаляра или вектора символов. Можно задать несколько свойств. Каждое имя свойства является отдельным входом и представляет различный столбец в объекте временных рядов.

Выходные аргументы

свернуть все

Временные ряды, возвращенные как Time указатель на объект.

Список имен свойства, возвращенных как массив ячеек из символьных векторов.

Смотрите также

| | |

Введенный в R2019b