ros2bag

Откройте и проанализируйте файл журнала ros2bag

    Описание

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

    Создание

    Синтаксис

    Описание

    пример

    bag = ros2bag(folderpath) создает ros2bag объект, bag, который содержит все сообщения из файла журнала мешков ROS 2, расположенного в пути folderPath. The 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('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);

    См. также

    Функции

    Введенный в R2021a