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
    Для просмотра документации необходимо авторизоваться на сайте