Перейти к содержимому

Аннотирование карт занятости ROS

После нескольких часов настройки SLAM у вас есть красивая карта занятости. Теперь вам нужно поместить её в статью, отчёт или презентацию с нарисованным маршрутом, отмеченными целевыми позами, закрашенными запрещёнными зонами. Именно для этого предназначен импорт карт ROS в drawtonomy.

drawtonomy читает пару карт ROS (изображение .pgm + метаданные .yaml) и:

  • Помещает карту занятости на холст в правильном метрическом масштабе.
  • Использует поля resolution и origin из YAML для сохранения мировых координат.
  • Позволяет рисовать полосы, перекрёстки, транспортные средства, пешеходов, светофоры и свободные стрелки / текст поверх.

Слой рисования — отдельный набор фигур; исходный .pgm никогда не изменяется.

  • Иллюстрации к статьям. «Рисунок 3: планирование nav2 вокруг препятствий». Голая карта занятости едва читаема; карта с нарисованными маршрутами и целевыми позами рассказывает историю.
  • Внутренняя документация. Карта SLAM, аннотированная запрещёнными зонами, местами зарядки и именованными подобластями — артефакт, который переживает текучку команды.
  • Учебные материалы. При обучении nav2 или AMCL аннотированная карта позволяет студентам видеть то, что видит планировщик.
  • Воспроизводимые ошибки. «Робот застрял здесь, вот карта, вот планируемый маршрут, который не работает».
  1. Импорт. Импорт → карта ROS. Перетащите оба файла .pgm и .yaml (или упакуйте их в zip).
  2. Проверьте масштаб. resolution и origin из yaml применяются автоматически. Линейка drawtonomy показывает метры.
  3. Аннотируйте. Используйте фигуры Lane, Vehicle, Path, Polygon и Text. Инструмент «Полигон» с низкой непрозрачностью хорошо работает для закрашивания запрещённых зон.
  4. Сохраните как .drawtonomy.svg (нативный SVG-формат drawtonomy). Аннотации на SLAM-карте почти никогда не создаются за один раз — добавляются новые запрещённые зоны, меняются имена подобластей, иногда карта перезаписывается. .drawtonomy.svg открывается с каждой аннотацией на месте, поэтому итерация — это правка, а не перерисовка.
  5. Экспортируйте для распространения. Из той же сцены экспортируйте PNG для документации или плоский SVG (с картой как растровым фоном и аннотациями как векторами) для статей и слайдов.
  • Используйте один акцентный цвет для слоя аннотаций. Несколько цветов поверх полутоновой карты создают визуальный шум.
  • Добавьте масштабную линейку вручную с помощью Linestring и текстовой фигуры — drawtonomy не рендерит её автоматически, но линейки точно говорят, сколько метров составляет данная длина.
  • drawtonomy — это не замена инструментам редактирования карт nav2 map_server (утилиты CLI для кадрирования / раздувания / поворота карты). Для этого оставайтесь в цепочке инструментов ROS.
  • Слой аннотаций нативен для drawtonomy; храните файл .drawtonomy.svg как источник истины и экспортируйте плоский SVG только когда вам нужна геометрия аннотаций в другом инструменте.