Формат карт занятости ROS
Карта занятости ROS — пара файлов, как правило map.pgm и map.yaml, описывающая двумерный вид окружения робота сверху. Это канонический формат карт, потребляемый навигационными стеками ROS (nav1 map_server, nav2 map_server) и создаваемый пакетами SLAM: gmapping, Cartographer и slam_toolbox.
Что содержат два файла
Заголовок раздела «Что содержат два файла»Файл .pgm — это полутоновое изображение в формате Portable Gray Map. Значения пикселей кодируют занятость:
- Тёмные пиксели — занято (препятствия, стены).
- Светлые пиксели — свободное пространство.
- Определённый серый (часто 205) — неизвестно.
Файл .yaml описывает, как интерпретировать изображение в метрических координатах:
image: map.pgmresolution: 0.05 # метров на пиксельorigin: [-12.2, -28.5, 0.0] # левый нижний угол в (x, y, yaw)negate: 0occupied_thresh: 0.65free_thresh: 0.196Поля resolution и origin вместе позволяют любому инструменту преобразовывать пиксельные координаты в мировые и обратно.
Откуда этот формат берётся на практике
Заголовок раздела «Откуда этот формат берётся на практике»Наиболее распространённые конвейеры:
- Ручное управление роботом с подачей одометрии и 2D-лидара в gmapping или slam_toolbox; сохранение результирующей карты.
- Запуск Cartographer в офлайн-режиме на файле bag и экспорт карты занятости.
- Конвертация из другого формата —
.bt, проекция OctoMap или пользовательский формат.
Результат затем загружается map_server для локализации (AMCL) и планирования (nav2).
Место drawtonomy
Заголовок раздела «Место drawtonomy»drawtonomy импортирует пары .pgm + .yaml и позволяет аннотировать карту занятости в браузере:
- Карта отображается в масштабе на холсте с использованием метаданных
resolutionиorigin. - Вы можете рисовать полосы, перекрёстки, транспортные средства, пешеходов и дорожные знаки поверх карты.
- Аннотации хранятся отдельно как фигуры drawtonomy — исходный
.pgmне изменяется. - Полезен для фигур в статьях (карта SLAM с нарисованными маршрутами), обучения (аннотирование того, что видит планировщик) и быстрой разметки ground truth.
Это намеренно однонаправленный импорт: drawtonomy не является заменой инструментам редактирования карт nav2. Это удобный вариант, когда нужна визуально чистая, публикуемая аннотация карты SLAM.