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:
- Scenariusz funkcjonalny — jakościowy, w języku naturalnym.
- Scenariusz logiczny — parametryczny, z zakresami dla każdego parametru.
- 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.
Trzy poziomy abstrakcji
Dział zatytułowany „Trzy poziomy abstrakcji”Scenariusz funkcjonalny
Dział zatytułowany „Scenariusz funkcjonalny”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
Dział zatytułowany „Scenariusz logiczny”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
Dział zatytułowany „Scenariusz konkretny”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.
Jak poziomy wiążą się z ODD
Dział zatytułowany „Jak poziomy wiążą się z ODD”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ź.
Klasyfikacja scenariuszy w standardach
Dział zatytułowany „Klasyfikacja scenariuszy w standardach”- 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.
Miejsce drawtonomy w ekosystemie
Dział zatytułowany „Miejsce drawtonomy w ekosystemie”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
.xoscdo 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.
W tym samym ekosystemie testowania scenariuszy
Dział zatytułowany „W tym samym ekosystemie testowania scenariuszy”- Czym jest OpenSCENARIO?
- Czym jest OpenDRIVE?
- Czym jest esmini?
- Ekosystem: Scenic
- drawtonomy vs scenariogeneration
- drawtonomy vs ręcznie pisany XML OpenSCENARIO
Powiązane artykuły
Dział zatytułowany „Powiązane artykuły”- Przypadek użycia: Szkicowanie scenariuszy testowych ADAS — przepływ pracy dla rysunków testowych wcięcia/połączenia pasów/przejścia dla pieszych.
- Przypadek użycia: Szkicowanie przed tworzeniem OpenSCENARIO — szkic wizualny → XML.
- Przypadek użycia: Rysunki do publikacji o jeździe autonomicznej — rysunki scenariuszy klasy publikacyjnej.