select

Выберите подмножество сообщений в ros2bag

    Описание

    bagsel = select(bag) возвращает ros2bag объект, bagsel, который содержит все сообщения в ros2bag объект, bag.

    Эта функция создает копию ros2bag объект или возвращает новое ros2bag объект, содержащий указанный выбор сообщения.

    пример

    bagsel = select(bag,Name,Value) предоставляет дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение". Для примера, "Topic","/scan" выбирает подмножество сообщений, отфильтрованных темой /scan.

    Примеры

    свернуть все

    Извлеките zip-файл, содержащий файл журнала пакетов ROS 2, и укажите полный путь к папке журнала.

    unzip('alltopics.zip');
    folderPath = fullfile(pwd,'alltopics');

    Создайте ros2bag объект, который содержит все сообщения в файле журнала.

    bag = ros2bag(folderPath);

    Получите информацию о содержимом ros2bag объект.

    bag2info = ros2("bag","info",folderPath)
    bag2info = struct with fields:
             Path: 'C:\Users\SHIVARAD\OneDrive - MathWorks\Documents\MATLAB\Examples\ros-ex96596996\alltopics\alltopics.db3'
          Version: '1'
        StorageId: 'sqlite3'
         Duration: 102.396644003
            Start: [1×1 struct]
              End: [1×1 struct]
             Size: 4965433
         Messages: 36503
            Types: [5×1 struct]
           Topics: [5×1 struct]
    
    

    Получайте все сообщения в ros2bag объект.

    msgs = readMessages(bag);

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

    bagSel = select(bag,"Topic","/scan");

    Получите сообщения в выделенной области.

    msgsFiltered = readMessages(bagSel);

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

    свернуть все

    Сообщения в ros2bag объект, заданный как ros2bag объект.

    Аргументы в виде пар имя-значение

    Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

    Пример: select(bag,"Topic","/scan") выбирает подмножество сообщений, отфильтрованных темой /scan.

    Тип сообщения ROS 2, заданный как строковый скаляр, вектор символов, массив ячеек из строковых скаляров или массив ячеек из векторов символов. Массив ячеек может содержать несколько типов сообщений.

    Пример: select(bag,"MessageType",{"sensor_msgs/CameraInfo","sensor_msgs/LaserScan"})

    Типы данных: char | string | cell

    Начальное и конечное время выбора ros2bag, заданное как вектор n -by-2.

    Пример: select(bag,"Time",[bag.MessageList(1,1).Time,bag.MessageList(2,1).Time])

    Типы данных: uint64

    Имя темы ROS 2, заданное как строковый скаляр, вектор символов, массив ячеек из строковых скаляров или массив ячеек из векторов символов. Массив ячеек может содержать несколько имен топик.

    Пример: select(bag,"Topic",{"/scan","/clock"})

    Типы данных: char | string | cell

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

    свернуть все

    Копирование или подмножество сообщений ros2bag, возвращаемое как ros2bag объект.

    См. также

    Объекты

    Функции

    Введенный в R2021a