Ga naar inhoud

Rijscenarioclassificatie — functioneel, logisch, concreet

Scenariogebaseerd testen van geavanceerde rijhulpsystemen (ADAS) en geautomatiseerde rijsystemen (AD) steunt op een drieniveauabstractie, overgenomen uit het PEGASUS-onderzoeksproject en inmiddels standaardpraktijk in ADAS/AV-testpipelines:

  1. Functioneel scenario — kwalitatief, in natuurlijke taal.
  2. Logisch scenario — parametrisch, met bereiken voor elke parameter.
  3. Concreet scenario — volledig geïnstantieerd, elke parameter vastgesteld op een waarde.

Deze pagina is een neutrale inleiding op wat elk niveau inhoudt, hoe het zich verhoudt tot de ODD en tot formaten zoals OpenSCENARIO, en waar drawtonomy past.

Een functioneel scenario is een kwalitatieve, natuurlijk-taalbeschrijving van een rijsituatie. Het benoemt de actoren, de wegindeling en de manoeuvres maar legt zich niet vast op getallen.

Voorbeeld: “Op een tweebaans snelweg snijdt een sneller voertuig op de linkerrijstrook het pad van het ego-voertuig vanuit de rechterrijstrook na het te hebben gepasseerd.”

Functionele scenario’s leven in testplannen, ontwerpdiscussiedocumenten, presentaties, paperfiguren en veiligheidsargumenten. Zo communiceren mensen het scenario naar elkaar.

Een logisch scenario zet de functionele beschrijving om in een gestructureerde vorm met parameterbereiken. Elke variabele (beginsnelheden, afstanden, TTC, laterale offset, weer, wegkromming) krijgt een domein in plaats van een enkelvoudige waarde.

Voorbeeld: “Ego-snelheid ∈ [70, 130] km/h, relatieve snelheid invoegend voertuig ∈ [+10, +30] km/h, time-to-collision bij begin invoeging ∈ [1,5, 4,0] s, …”

Logische scenario’s worden bemonsterd, gesweept of gezocht tijdens testcampagnes. Tools en DSL’s die op dit niveau mikken zijn onder andere Scenic, scenariogeneration (pyoscx / pyodrx) en OpenSCENARIO 2.0 / DSL.

Een concreet scenario is één specifieke instantie — elke parameter vastgesteld op een enkelvoudige waarde. Dit is wat wordt uitgevoerd in een simulator of een gesloten testbaan.

Voorbeeld: “Ego op 90 km/h, invoegend voertuig op +20 km/h relatief, TTC = 2,5 s bij begin invoeging, droog asfalt, …”

Concrete scenario’s zijn het niveau waarop OpenSCENARIO 1.x XML, esmini-afspelen en de meeste replay-tooling werken.

Het Operationeel Ontwerpdomein (ODD) is de set van omstandigheden waaronder een rijfunctie bedoeld is te werken (wegtypen, weer, tijdstip, geografisch gebied, enzovoort). Scenarioclassificatie en ODD werken op elk niveau samen:

  • Functionele scenario’s worden geschreven binnen de ODD (“rijden op de snelweg op een zonnige dag”).
  • Logische scenario’s beperken parameterbereiken om de ODD te respecteren (bijv. snelheidsbereiken passend bij de snelweg-enige beperking van de ODD).
  • Concrete scenario’s zijn instanties die binnen de ODD moeten vallen, plus bewust gekozen randgevallen die de grens verkennen.
  • PEGASUS — het Duitse onderzoeksproject dat de functionele/logische/concrete woordenschat hier crystalliseerde.
  • ISO 21448 (SOTIF) — veiligheid van de beoogde functionaliteit; gebruikt scenarioclassificatie als ruggengraat van het argument dat de functie correct gedraagt over de ODD.
  • ASAM OpenSCENARIO — 1.x richt zich op concrete scenario’s; 2.0 / DSL richt zich op logische scenario’s.
  • ASAM OpenDRIVE — levert de statische-wereld-laag waarnaar alle drie de scenarioniveaus verwijzen.

drawtonomy is geen logisch-scenario-sampler of concreet-scenario-executor. Het is een browserwhiteboard afgestemd op rijscenario’s. De smalle plekken in de classificatie waar het past:

  • Functionele-scenariofiguren. De diagrammen die in testplannen, ontwerpdiscussies, veiligheidscasedocumenten, presentaties en paperfiguren gaan zijn functionele scenario’s in visuele vorm. drawtonomy is hier redelijk voor.
  • Logisch-scenario-illustratie. De “vorm” van een logisch scenario (de geometrie, de actoren, de ruwe beweging) is wat lezers nodig hebben om het te begrijpen voordat de parametertabel zinvol is. drawtonomy is redelijk voor de figuur; de parametertabel zelf staat in je DSL of spreadsheet.
  • Concreet-scenario-schets voor het opstellen. Als je op het punt staat een specifieke OpenSCENARIO 1.x XML handmatig te schrijven, kan drawtonomy een 2D-schets en een starter .xosc produceren om van te itereren.

Voor het daadwerkelijke logische/concrete scenario opstellen op schaal — parametersweeps, voorwaardelijke triggers, complexe storyboards — gebruik je Scenic, scenariogeneration, handgeschreven OpenSCENARIO XML of OpenSCENARIO 2.0 / DSL. drawtonomy is voor het plaatje, niet voor de testlogica.