ros2bag

Открытый и синтаксический анализ ros2bag файл журнала

    Описание

    ros2bag объект содержит все сообщения от файла журнала ROS 2 сумки.

    Создание

    Синтаксис

    Описание

    пример

    bag = ros2bag(folderpath) создает ros2bag объект, bag, это содержит все сообщения от файла журнала ROS 2 сумки, расположенного в пути folderPath. folderpath введите устанавливает значение FilePath свойство.

    Файлы ROS 2 сумки используются для того, чтобы хранить данные о сообщении ROS 2. Они используются, в основном, чтобы регистрировать сообщения, переданные по сети ROS 2. Можно использовать эти файлы сумки для оффлайнового анализа, визуализации и устройства хранения данных.

    Примечание

    Если файл журнала ROS 2 сумки содержит пользовательские сообщения, создайте пользовательские сообщения для использования MATLAB ros2genmsg функция прежде, чем создать ros2bag объект.

    Свойства

    развернуть все

    Это свойство доступно только для чтения.

    Путь к файлам ROS 2 сумки в виде вектора символов.

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

    Это свойство доступно только для чтения.

    Метка времени первого сообщения в виде скаляра в секундах.

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

    Это свойство доступно только для чтения.

    Метка времени последнего сообщения в виде скаляра в секундах.

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

    Это свойство доступно только для чтения.

    Количество сообщений в виде скаляра.

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

    Это свойство доступно только для чтения.

    Таблица доступных тем в виде таблицы. Каждая строка в таблице перечисляет одну тему, количество сообщений для этой темы, типа сообщения и определения сообщения.

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

    Это свойство доступно только для чтения.

    Список сообщений в виде таблицы. Каждая строка в таблице перечисляет одно сообщение.

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

    Функции объекта

    readMessagesСчитайте сообщения из ros2bag объект
    selectВыберите подмножество сообщений в ros2bag

    Примеры

    свернуть все

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

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

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

    bag = ros2bag(folderPath);

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

    bag2info = ros2("bag","info",folderPath)
    bag2info = struct with fields:
             Path: '/tmp/BR2021bd_1751886_255755/mlx_to_docbook5/tp3f005889/ros-ex96596996/ros2_netwrk_bag/ros2_netwrk_bag.db3'
          Version: '1'
        StorageId: 'sqlite3'
         Duration: 207.9020
            Start: [1x1 struct]
              End: [1x1 struct]
             Size: 16839538
         Messages: 166867
            Types: [4x1 struct]
           Topics: [4x1 struct]
    
    

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

    msgs = readMessages(bag);

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

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

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

    msgsFiltered = readMessages(bagSel);

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

    Функции

    Введенный в R2021a