Przejdź do głównej zawartości

Klasyfikacja scenariuszy jazdy — funkcjonalne, logiczne, konkretne

Testowanie oparte na scenariuszach dla zaawansowanych systemów wspomagania kierowcy (ADAS) i systemów automatycznej jazdy (AD) opiera się na trzypoziomowej abstrakcji wywodzącej się z projektu badawczego PEGASUS i będącej dziś standardową praktyką w potokach testowych ADAS / AV:

  1. Scenariusz funkcjonalny — jakościowy, w języku naturalnym.
  2. Scenariusz logiczny — parametryczny, z zakresami dla każdego parametru.
  3. Scenariusz konkretny — w pełni zinstancjowany, każdy parametr ustalony na konkretną wartość.

Ta strona to neutralne wprowadzenie do każdego poziomu, jego związku z ODD i formatami takimi jak OpenSCENARIO oraz miejsca drawtonomy.

Scenariusz funkcjonalny to jakościowy, słowny opis sytuacji drogowej. Nazywa aktorów, układ drogi i manewry, ale nie podaje liczb.

Przykład: „Na dwupasmowej autostradzie szybszy pojazd na lewym pasie wcina się przed pojazdem ego z prawego pasa po jego wyprzedzeniu.”

Scenariusze funkcjonalne pojawiają się w planach testów, dokumentach przeglądów projektowych, prezentacjach, rysunkach w publikacjach i narracjach przypadków bezpieczeństwa. To sposób, w jaki ludzie komunikują scenariusz między sobą.

Scenariusz logiczny przekształca opis funkcjonalny w ustrukturyzowaną postać z zakresami parametrów. Każdej zmiennej (prędkości początkowe, odległości, TTC, boczne przesunięcie, warunki pogodowe, krzywiznę drogi) przypisuje się zakres, a nie pojedynczą wartość.

Przykład: „Prędkość ego ∈ [70, 130] km/h, względna prędkość pojazdu wcinającego ∈ [+10, +30] km/h, czas do kolizji na początku wcięcia ∈ [1,5; 4,0] s, …”

Scenariusze logiczne są próbkowane, przeglądane lub przeszukiwane podczas kampanii testowych. Narzędzia i DSL celujące w ten poziom to Scenic, scenariogeneration (pyoscx / pyodrx) oraz OpenSCENARIO 2.0 / DSL.

Scenariusz konkretny to jedna konkretna instancja — każdy parametr ustalony na pojedynczą wartość. To właśnie jest wykonywane w symulatorze lub na zamkniętym torze testowym.

Przykład: „Ego przy 90 km/h, pojazd wcinający przy +20 km/h względem ego, TTC = 2,5 s na początku wcięcia, suchy asfalt, …”

Scenariusze konkretne to poziom, na którym działają XML OpenSCENARIO 1.x, odtwarzanie w esmini i większość narzędzi do replay.

Operacyjna Dziedzina Projektowa (ODD) to zbiór warunków, w których funkcja jazdy jest przeznaczona do działania (typy dróg, pogoda, pora dnia, region geograficzny itp.). Klasyfikacja scenariuszy i ODD oddziałują na siebie na każdym poziomie:

  • Scenariusze funkcjonalne są pisane w obrębie ODD („jazda autostradowa w słoneczny dzień”).
  • Scenariusze logiczne ograniczają zakresy parametrów, aby respektować ODD (np. zakresy prędkości pasujące do ograniczenia autostradowego ODD).
  • Scenariusze konkretne to instancje, które powinny padać wewnątrz ODD, plus celowo dobrane przypadki graniczne sondujące jego krawędź.
  • PEGASUS — niemiecki projekt badawczy, który skrystalizował słownictwo funkcjonalny / logiczny / konkretny stosowane tu.
  • ISO 21448 (SOTIF) — bezpieczeństwo zamierzonej funkcji; używa klasyfikacji scenariuszy jako kręgosłupa swojego argumentu, że funkcja zachowuje się poprawnie w całej ODD.
  • ASAM OpenSCENARIO — 1.x celuje w scenariusze konkretne; 2.0 / DSL celuje w scenariusze logiczne.
  • ASAM OpenDRIVE — dostarcza statyczną warstwę świata, do której odnoszą się wszystkie trzy poziomy scenariuszy.

drawtonomy nie jest próbnikiem scenariuszy logicznych ani wykonawcą scenariuszy konkretnych. Jest tablicą w przeglądarce dostrojoną do scenariuszy jazdy. Wąskie miejsca, w których plasuje się w klasyfikacji:

  • Rysunki scenariuszy funkcjonalnych. Diagramy trafiające do planów testów, przeglądów projektowych, dokumentów przypadków bezpieczeństwa, prezentacji i rysunków w publikacjach to scenariusze funkcjonalne w formie wizualnej. drawtonomy jest do tego rozsądnym narzędziem.
  • Ilustracja scenariuszy logicznych. „Kształt” scenariusza logicznego (geometria, aktorzy, przybliżony ruch) to właśnie to, czego czytelnicy potrzebują, by zrozumieć sens przed tabelą parametrów. drawtonomy jest rozsądnym narzędziem do rysunku; sama tabela parametrów trafia do Twojego DSL lub arkusza kalkulacyjnego.
  • Szkic scenariusza konkretnego przed tworzeniem. Jeśli zamierzasz napisać konkretny XML OpenSCENARIO 1.x ręcznie, drawtonomy może wygenerować szkic 2D i startowy plik .xosc do iteracji. Patrz Przypadek użycia: Szkicowanie przed tworzeniem OpenSCENARIO.

Do rzeczywistego tworzenia scenariuszy logicznych/konkretnych w skali — przeglądy parametrów, wyzwalacze warunkowe, złożone storyboardy — używaj Scenic, scenariogeneration, ręcznie pisanego XML OpenSCENARIO lub OpenSCENARIO 2.0 / DSL. drawtonomy jest od obrazka, nie od logiki testowej.