Hoppa till innehåll

Körscenarieklassificering — funktionella, logiska och konkreta scenarier

Scenariobaserad testning av avancerade förarassistanssystem (ADAS) och automatiserade körsystem (AD) bygger på en trestegsabstraktion som härstammar från PEGASUS-forskningsprojektet och nu är standard i ADAS/AV-testpipelines:

  1. Funktionellt scenario — kvalitativt, på naturligt språk.
  2. Logiskt scenario — parametriskt, med intervall för varje parameter.
  3. Konkret scenario — fullt instansierat, varje parameter fixad till ett värde.

Den här sidan är en neutral introduktion till vad varje nivå innebär, hur den relaterar till ODD och format som OpenSCENARIO, och var drawtonomy passar in.

Ett funktionellt scenario är en kvalitativ, naturspråklig beskrivning av en körsituation. Det namnger aktörerna, väglayouten och manövrarna men tar inte ställning till siffror.

Exempel: “På en tvåfilig motorväg kör ett snabbare fordon i det vänstra körfältet in framför egobilen från det högra körfältet efter att ha passerat den.”

Funktionella scenarier lever i testplaner, designgranskningsdokument, bildspel, pappersfigurer och säkerhetsargumentation. Det är så människor kommunicerar scenariot till varandra.

Ett logiskt scenario omvandlar den funktionella beskrivningen till en strukturerad form med parameterintervall. Varje variabel (initialhastigheter, avstånd, TTC, sidoförskjutning, väder, vägkurvatur) ges ett värde­område snarare än ett enskilt värde.

Exempel: “Egohastighet ∈ [70, 130] km/h, det inskärande fordonets relativa hastighet ∈ [+10, +30] km/h, tid till kollision vid inskärningens start ∈ [1,5, 4,0] s, …”

Logiska scenarier är det som samplas, sveps eller söks igenom under testkampanjer. Verktyg och DSL:er som siktar på den här nivån inkluderar Scenic, scenariogeneration (pyoscx / pyodrx) och OpenSCENARIO 2.0 / DSL.

Ett konkret scenario är en specifik instans — varje parameter fixad till ett enskilt värde. Det är vad som körs i en simulator eller i ett kontrollerat vägtest.

Exempel: “Ego vid 90 km/h, inskärande fordon vid +20 km/h relativt, TTC = 2,5 s vid inskärningens start, torr asfalt, …”

Konkreta scenarier är den nivå där OpenSCENARIO 1.x XML, esmini-uppspelning och de flesta replay-verktyg verkar.

Operational Design Domain (ODD) är den uppsättning villkor under vilka en körassistansfunktion är avsedd att verka (vägtyper, väder, tid på dygnet, geografisk region osv.). Scenarieklassificering och ODD interagerar på varje nivå:

  • Funktionella scenarier skrivs inom ODD (“motorvägskörning en solig dag”).
  • Logiska scenarier begränsar parameterintervall för att respektera ODD (t.ex. hastighets­intervall som passar ODD:s motorvägsrestriktion).
  • Konkreta scenarier är instanser som ska falla innanför ODD, plus avsiktligt valda gränsfall som undersöker dess kant.
  • PEGASUS — det tyska forskningsprojektet som kristalliserade vokabulären funktionellt/logiskt/konkret som används här.
  • ISO 21448 (SOTIF) — säkerhet för avsedd funktionalitet; använder scenarieklassificering som ryggraden i argumentationen att funktionen beter sig korrekt i hela ODD.
  • ASAM OpenSCENARIO — 1.x siktar på konkreta scenarier; 2.0 / DSL siktar på logiska scenarier.
  • ASAM OpenDRIVE — tillhandahåller det statiska världslagret som alla tre scenarionivåerna refererar till.

drawtonomy är inte en logisk-scenario-sampler eller en konkret-scenario-exekutor. Det är en webbläsarbaserad rityta anpassad för körscenarier. De smala platser det befinner sig i klassificeringen:

  • Funktionella scenariofigurer. Diagrammen som hamnar i testplaner, designgranskningar, säkerhetsdokument, bildspel och pappersfigurer är funktionella scenarier i visuell form. drawtonomy är rimligt för dessa.
  • Illustration av logiskt scenario. “Formen” av ett logiskt scenario (geometrin, aktörerna, den ungefärliga rörelsen) är vad läsare faktiskt behöver förstå innan parametertabellen ger mening. drawtonomy är rimligt för figuren; parametertabellen lever i din DSL eller kalkylbladet.
  • Konkret scenarioskiss innan redigering. Om du ska handredigera ett specifikt OpenSCENARIO 1.x XML kan drawtonomy producera en 2D-skiss och en starter-.xosc som du itererar från. Se Användningsfall: Skissa innan OpenSCENARIO-redigering.