Почему drawtonomy — доска, построенная для сценариев вождения
drawtonomy — это доска, построенная специально для сценариев вождения. Большинство команд сегодня рисуют такие диаграммы в универсальных инструментах рисования или презентациях — те хорошо работают для общих фигур, но не знают, что такое полоса, поэтому геометрию приходится перерисовывать каждый раз, когда дорога поворачивает, у перекрёстка появляется ещё одно плечо или пешеходный переход нужно выровнять с дорогой.
Эта страница объясняет проектные решения, которые следуют из позиционирования «доска для сценариев вождения», а не «инструмент, экспортирующий в симулятор».
Проблема, вокруг которой это построено
Заголовок раздела «Проблема, вокруг которой это построено»Большая часть реальной коммуникации в автономном вождении проходит через диаграммы: в статьях, обзорах архитектуры, планировочных встречах, разборах инцидентов, классах и презентациях. Диаграмма — это артефакт, на который смотрят, о котором спорят и который помнят.
Универсальные инструменты рисования на этом уровне дают только универсальные фигуры. Полоса — это прямоугольник, который нужно перерисовывать при каждом повороте дороги; пешеходный переход — стопка прямоугольников, которые приходится выравнивать вручную; перекрёсток — полчаса возни. Хуже того, в момент изменения геометрии дороги — а в работе AV это происходит постоянно — приходится начинать заново.
drawtonomy существует, чтобы сделать этот цикл быстрым. Кирпичики, которые в действительности есть в домене — полосы, перекрёстки, пешеходные переходы, светофоры, дорожная разметка, транспорт, пешеходы — это первоклассные фигуры, поэтому иллюстрация остаётся корректной по мере итераций.
Где находится drawtonomy
Заголовок раздела «Где находится drawtonomy»Работа по сценариям вождения происходит на нескольких уровнях:
- Диаграммы. Статьи, слайды, эскизы на доске, иллюстрации в design-doc, материалы для занятий. Быстро и легко в принципе, но в универсальном инструменте геометрию дороги приходится перестраивать при каждом изменении.
- Инструменты создания. Редакторы OpenSCENARIO, редакторы дорожных сетей, CAD-подобные пакеты. Точные, медленные, дорогие в освоении.
- Симуляторы. esmini, CARLA, внутренние инструменты. Запускают сценарий, выдают данные.
drawtonomy живёт на уровне 1 и заходит на уровень 2, когда нужно: импортировать карту Lanelet2, эскизировать изменения, экспортировать OpenDRIVE/OpenSCENARIO, передать результат в esmini.
Приоритеты дизайна
Заголовок раздела «Приоритеты дизайна»Доска прежде всего
Заголовок раздела «Доска прежде всего»Точкой сравнения является быстрый эскиз на доске или в презентации, а не CAD-инструмент. Это задаёт планку трения: открыть URL, нарисовать, поделиться. Никакой установки, аккаунта, формата файла проекта. Всё, что сделало бы drawtonomy тяжелее быстрого эскиза, отсекается.
Учёт топологии
Заголовок раздела «Учёт топологии»Дорога — не мешок ломаных. drawtonomy моделирует связи полос (Next / Previous / Left / Right), чтобы перемещение границы автоматически обновляло соседние полосы. Две полосы, делящие границу, делят и одни и те же граничные точки — потяните один раз, обе двигаются. См. Модель связей полос.
Шаблоны домена вождения
Заголовок раздела «Шаблоны домена вождения»Транспортные средства (sedan, bus, truck, motorcycle…), пешеходы (walking, simple), светофоры для транспорта и пешеходов, пешеходные переходы, дорожная разметка, знаки, шаблоны перекрёстков. Это встроенные фигуры, а не приближения универсальными прямоугольниками. Пользовательские SVG-шаблоны можно добавлять через PR.
Редактируемость на выходе так же, как и на входе
Заголовок раздела «Редактируемость на выходе так же, как и на входе»Каждый формат вывода, который производит drawtonomy, сохраняет
достаточно состояния, чтобы быть отредактированным повторно.
drawtonomy.svg — каноническая форма без потерь: обычный SVG,
который везде отображается (браузеры, GitHub, презентации,
иллюстрации статей) и снова открывается в drawtonomy со всеми
связями и отношениями перекрытия. Ничто не запирается в формате,
который нельзя прочитать обратно.
Headless по необходимости
Заголовок раздела «Headless по необходимости»Код экспортёра и парсера — часть @drawtonomy/sdk и работает без
редактора. CI-пайплайны, браузерные расширения и ИИ-инструменты могут
программно генерировать и валидировать сцены.
Мосты к остальному рабочему процессу
Заголовок раздела «Мосты к остальному рабочему процессу»Когда у вас есть диаграмма, обычно хочется сделать с ней что-то. drawtonomy поставляет несколько мостов, чтобы иллюстрация не оставалась запертой внутри редактора:
drawtonomy.svg— по умолчанию. Встраивайте в статьи, слайды, Markdown-документы; открывайте позже, чтобы продолжить редактировать.- Обмен с Lanelet2 — открывайте Lanelet2 OSM-карту (включая образцы карт Autoware), редактируйте, экспортируйте обратно. Полезно для эскизирования изменений в существующей HD-карте.
- Экспорт ASAM — OpenDRIVE 1.8 + OpenSCENARIO 1.3, опционально собранные в готовый к esmini ZIP.
- AI Scene Generator — опишите сценарий на естественном языке или вставьте OpenSCENARIO XML и получите редактируемый холст, с которого начинать уточнение.
Эти мосты полезны, но сама диаграмма — причина, по которой существует drawtonomy. Иллюстрация в drawtonomy уже ценна сама по себе как иллюстрация; эти форматы позволяют ей перетекать в следующую стадию рабочего процесса при необходимости.
Что drawtonomy не есть
Заголовок раздела «Что drawtonomy не есть»- Не симулятор. Он не запускает сценарии. Экспорт в esmini, CARLA или ваш собственный инструмент для этого.
- Не CAD-инструмент. Он не обеспечивает инженерную точность (клотоидные сплайны, виражи, высота). Геометрия — простая 2D.
- Не пакет реального времени для совместной работы. Это однопользовательский редактор. Сохранил, поделился, открыл снова.