Классификация сценариев вождения — функциональные, логические, конкретные
Сценарное тестирование систем помощи водителю (ADAS) и автоматизированного вождения (AD) опирается на трёхуровневую абстракцию, унаследованную от исследовательского проекта PEGASUS и ставшую стандартной практикой в конвейерах тестирования ADAS / АВ:
- Функциональный сценарий — качественный, на естественном языке.
- Логический сценарий — параметрический, с диапазонами для каждого параметра.
- Конкретный сценарий — полностью конкретизированный, каждый параметр зафиксирован.
Эта страница — нейтральное введение в каждый уровень, его связь с ODD и форматами вроде OpenSCENARIO, а также место drawtonomy.
Три уровня абстракции
Заголовок раздела «Три уровня абстракции»Функциональный сценарий
Заголовок раздела «Функциональный сценарий»Функциональный сценарий — качественное описание ситуации на дороге на естественном языке. Называет участников, дорожную схему и манёвры, но не фиксирует числа.
Пример: «На двухполосном шоссе более быстрое транспортное средство в левой полосе обгоняет эго-автомобиль и перестраивается из правой полосы перед ним».
Функциональные сценарии живут в тест-планах, документах к обзорам архитектуры, слайдах, иллюстрациях для статей и нарративах аргументации безопасности. Так люди передают сценарий друг другу.
Логический сценарий
Заголовок раздела «Логический сценарий»Логический сценарий превращает функциональное описание в структурированную форму с диапазонами параметров. Каждой переменной (начальные скорости, дистанции, TTC, боковое смещение, погода, кривизна дороги) задаётся область значений, а не одно число.
Пример: «Скорость эго ∈ [70, 130] км/ч, относительная скорость автомобиля, перестраивающегося вперёд, ∈ [+10, +30] км/ч, время до столкновения в момент начала перестроения ∈ [1.5, 4.0] с, …»
Логические сценарии — то, что перебирается, зондируется или по чему ведётся поиск в ходе тест-кампаний. Инструменты и DSL, нацеленные на этот уровень: Scenic, scenariogeneration (pyoscx / pyodrx) и OpenSCENARIO 2.0 / DSL.
Конкретный сценарий
Заголовок раздела «Конкретный сценарий»Конкретный сценарий — одна конкретная инстанция: каждый параметр зафиксирован в одном значении. Это то, что выполняется в симуляторе или на закрытом полигоне.
Пример: «Эго на 90 км/ч, автомобиль-нарушитель на +20 км/ч, TTC = 2.5 с в начале перестроения, сухой асфальт, …»
Конкретные сценарии — уровень, на котором работают OpenSCENARIO 1.x XML, воспроизведение esmini и большинство инструментов повтора.
Как уровни соотносятся с ODD
Заголовок раздела «Как уровни соотносятся с ODD»Операционная область проектирования (ODD) — совокупность условий, в которых должна работать функция вождения (типы дорог, погода, время суток, географический регион и т. д.). Классификация сценариев и ODD взаимодействуют на каждом уровне:
- Функциональные сценарии написаны внутри ODD («вождение по шоссе в солнечный день»).
- Логические сценарии ограничивают диапазоны параметров, чтобы соответствовать ODD (например, диапазоны скоростей, подходящие для ограничения шоссе в ODD).
- Конкретные сценарии — инстанции, которые должны попадать внутрь ODD, плюс намеренно выбранные граничные случаи, зондирующие её границу.
Классификация сценариев в стандартах
Заголовок раздела «Классификация сценариев в стандартах»- PEGASUS — немецкий исследовательский проект, сформировавший используемый здесь словарь «функциональный / логический / конкретный».
- ISO 21448 (SOTIF) — безопасность предполагаемой функциональности; использует классификацию сценариев как основу аргументации того, что функция ведёт себя правильно во всём ODD.
- ASAM OpenSCENARIO — 1.x нацелен на конкретные сценарии; 2.0 / DSL нацелен на логические сценарии.
- ASAM OpenDRIVE — обеспечивает слой статического мира, на который ссылаются все три уровня сценариев.
Место drawtonomy
Заголовок раздела «Место drawtonomy»drawtonomy — это не генератор логических сценариев и не исполнитель конкретных сценариев. Это браузерная доска для сценариев вождения. Узкие места в классификации, где она пригождается:
- Фигуры функциональных сценариев. Диаграммы в тест-планах, обзорах архитектуры, документах аргументации безопасности, слайдах и иллюстрациях к статьям — это функциональные сценарии в визуальной форме. drawtonomy подходит для них.
- Иллюстрация логических сценариев. «Форма» логического сценария (геометрия, участники, приблизительное движение) — это то, что читателю нужно понять прежде, чем таблица параметров обретёт смысл. drawtonomy подходит для фигуры; сама таблица параметров живёт в DSL или таблице.
- Черновик конкретного сценария перед созданием. Если вы собираетесь написать конкретный XML OpenSCENARIO 1.x, drawtonomy может создать 2D-эскиз и стартовый
.xosc, от которого вы будете итерировать. Смотрите Сценарий: эскиз перед созданием OpenSCENARIO.
Для реального создания логических / конкретных сценариев в масштабе — перебор параметров, условные триггеры, сложные storyboard — используйте Scenic, scenariogeneration, ручной XML OpenSCENARIO или OpenSCENARIO 2.0 / DSL. drawtonomy — для картинки, а не для логики теста.
В той же экосистеме сценарного тестирования
Заголовок раздела «В той же экосистеме сценарного тестирования»- Что такое OpenSCENARIO?
- Что такое OpenDRIVE?
- Что такое esmini?
- Ecosystem: Scenic
- drawtonomy vs scenariogeneration
- drawtonomy vs ручной XML OpenSCENARIO