Файлы журнала ROS (rosbags)

Введение

rosbag или сумка являются форматом файла в ROS для того, чтобы хранить данные о сообщении ROS. Эти сумки часто создаются, подписываясь на одну или несколько тем ROS и храня полученные данные о сообщении в эффективной файловой структуре. MATLAB® может считать эти rosbag файлы и справку с фильтрацией и извлечением данных о сообщении. Следующие разделы детализируют структуру rosbags в MATLAB® и рабочем процессе для извлечения данных от них.

MATLAB rosbag Структура

При доступе rosbag к файлам журнала, вызовите rosbag и задайте путь к файлу к объекту. MATLAB затем создает объект BagSelection, который содержит индекс всех сообщений от rosbag.

Объекту BagSelection связали следующие свойства с rosbag:

  • Filepath : вектор символов абсолютного пути к rosbag файлу.

  • Время начала: скаляр, указывающий время первое сообщение, был зарегистрирован

  • Время окончания: скаляр, указывающий время последнее сообщение, был зарегистрирован

  • NumMessages: скаляр, указывающий, сколько сообщений содержится в файле

  • AvailableTopics: список того, какая тема и типы сообщений были зарегистрированы в сумке. Это хранится как табличные данные, которые перечисляют количество сообщений, типа сообщения и определения сообщения для каждой темы. Для получения дополнительной информации о типах данных table см. Доступ к данным в Таблице (MATLAB). Вот является пример выводом этой таблицы:

    ans = 
    
                               NumMessages         MessageType          MessageDefinition
                               ___________    ______________________    _________________
    
        /clock                 12001          rosgraph_msgs/Clock       [1x185  char]    
        /gazebo/link_states    11999          gazebo_msgs/LinkStates    [1x1247 char]    
        /odom                  11998          nav_msgs/Odometry         [1x2918 char]    
        /scan                    965          sensor_msgs/LaserScan     [1x2123 char]    
  • MessageList: список каждого сообщения в сумке со строками, отсортированными по метке времени того, когда сообщение было зарегистрировано. Этот список может быть индексирован, и можно выбрать фрагмент списка этот путь. Вызов select позволяет вам выбирать подмножества на основе метки времени, темы или типа сообщения.

Кроме того, обратите внимание, что объект BagSelection содержит индекс для всех сообщений. Однако необходимо все еще использовать функции, чтобы извлечь данные. Для извлечения этой информации смотрите readMessages для получения сообщений на основе индексов как массив ячеек или смотрите timeseries для чтения данных заданных свойств как временные ряды.

Рабочий процесс для rosbag Выбора

При работе с rosbags существует общая процедура того, как необходимо извлечь данные.

  • Загрузите rosbag: Вызовите rosbag и путь к файлу, чтобы загрузить файл и создать BagSelection.

  • Исследуйте доступные сообщения: Исследуйте свойства BagSelection (AvailableTopics, NumMessages, StartTime, EndTime и MessageList), чтобы определить, как выбрать подмножество сообщений для анализа.

  • Избранные сообщения: Вызовите select, чтобы создать выбор сообщений на основе ваших желаемых свойств.

  • Данные о сообщении извлечения: Вызовите readMessages или timeseries, чтобы получить данные о сообщении или как массив ячеек или как структуру данных временных рядов.

  • Визуализируйте, анализируйте или обработайте данные: Используйте извлеченные данные для своего определенного приложения. Можно отобразить данные на графике или разработать алгоритмы, чтобы обработать данные.

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

Ограничения

Существует несколько ограничений в поддержке rosbag в MATLAB:

  • MATLAB может только проанализировать несжатый rosbags. Смотрите Wiki ROS для инструмента, чтобы распаковать сжатый rosbag.

  • Только rosbags в v2.0 формате поддерживаются. Смотрите Wiki ROS для получения дополнительной информации о различных форматах сумки

  • Путь к файлу к rosbag должен всегда быть доступным. Поскольку процесс выбора сообщения не получает данных, файл должен быть доступен для чтения, когда к данным о сообщении получают доступ.

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

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте