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

Классификация сценариев вождения — функциональные, логические, конкретные

Сценарное тестирование систем помощи водителю (ADAS) и автоматизированного вождения (AD) опирается на трёхуровневую абстракцию, унаследованную от исследовательского проекта PEGASUS и ставшую стандартной практикой в конвейерах тестирования ADAS / АВ:

  1. Функциональный сценарий — качественный, на естественном языке.
  2. Логический сценарий — параметрический, с диапазонами для каждого параметра.
  3. Конкретный сценарий — полностью конкретизированный, каждый параметр зафиксирован.

Эта страница — нейтральное введение в каждый уровень, его связь с 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, плюс намеренно выбранные граничные случаи, зондирующие её границу.
  • PEGASUS — немецкий исследовательский проект, сформировавший используемый здесь словарь «функциональный / логический / конкретный».
  • ISO 21448 (SOTIF) — безопасность предполагаемой функциональности; использует классификацию сценариев как основу аргументации того, что функция ведёт себя правильно во всём ODD.
  • ASAM OpenSCENARIO — 1.x нацелен на конкретные сценарии; 2.0 / DSL нацелен на логические сценарии.
  • ASAM OpenDRIVE — обеспечивает слой статического мира, на который ссылаются все три уровня сценариев.

drawtonomy — это не генератор логических сценариев и не исполнитель конкретных сценариев. Это браузерная доска для сценариев вождения. Узкие места в классификации, где она пригождается:

  • Фигуры функциональных сценариев. Диаграммы в тест-планах, обзорах архитектуры, документах аргументации безопасности, слайдах и иллюстрациях к статьям — это функциональные сценарии в визуальной форме. drawtonomy подходит для них.
  • Иллюстрация логических сценариев. «Форма» логического сценария (геометрия, участники, приблизительное движение) — это то, что читателю нужно понять прежде, чем таблица параметров обретёт смысл. drawtonomy подходит для фигуры; сама таблица параметров живёт в DSL или таблице.
  • Черновик конкретного сценария перед созданием. Если вы собираетесь написать конкретный XML OpenSCENARIO 1.x, drawtonomy может создать 2D-эскиз и стартовый .xosc, от которого вы будете итерировать. Смотрите Сценарий: эскиз перед созданием OpenSCENARIO.

Для реального создания логических / конкретных сценариев в масштабе — перебор параметров, условные триггеры, сложные storyboard — используйте Scenic, scenariogeneration, ручной XML OpenSCENARIO или OpenSCENARIO 2.0 / DSL. drawtonomy — для картинки, а не для логики теста.

В той же экосистеме сценарного тестирования

Заголовок раздела «В той же экосистеме сценарного тестирования»