Classificazione degli scenari di guida — funzionale, logico, concreto
Il testing basato su scenari dei sistemi di assistenza alla guida avanzata (ADAS) e di guida automatizzata (AD) si basa su un’astrazione a tre livelli ereditata dal progetto di ricerca PEGASUS e ormai pratica standard nelle pipeline di test ADAS/AV:
- Scenario funzionale — qualitativo, in linguaggio naturale.
- Scenario logico — parametrico, con intervalli per ciascun parametro.
- Scenario concreto — completamente istanziato, ogni parametro fissato a un valore.
Questa pagina è un primer neutrale su cosa sia ciascun livello, come si relaziona all’ODD e a formati come OpenSCENARIO, e dove si inserisce drawtonomy.
I tre livelli di astrazione
Sezione intitolata “I tre livelli di astrazione”Scenario funzionale
Sezione intitolata “Scenario funzionale”Uno scenario funzionale è una descrizione qualitativa in linguaggio naturale di una situazione di guida. Nomina gli attori, il layout stradale e le manovre ma non si impegna con numeri.
Esempio: “Su un’autostrada a due corsie, un veicolo più veloce nella corsia sinistra si inserisce davanti al veicolo ego dalla corsia destra dopo averlo superato.”
Gli scenari funzionali vivono in piani di test, documenti di revisione della progettazione, slide, figure di paper e narrazioni dei casi di sicurezza. Sono il modo in cui gli esseri umani comunicano lo scenario tra loro.
Scenario logico
Sezione intitolata “Scenario logico”Uno scenario logico trasforma la descrizione funzionale in una forma strutturata con intervalli di parametri. Ogni variabile (velocità iniziale, distanze, TTC, offset laterale, meteo, curvatura stradale) riceve un dominio piuttosto che un singolo valore.
Esempio: “Velocità ego ∈ [70, 130] km/h, velocità relativa veicolo in cut-in ∈ [+10, +30] km/h, time-to-collision all’inizio del cut-in ∈ [1.5, 4.0] s, …”
Gli scenari logici sono quelli che vengono campionati, spazzati o ricercati durante le campagne di test. Gli strumenti e i DSL che puntano a questo livello includono Scenic, scenariogeneration (pyoscx / pyodrx) e OpenSCENARIO 2.0 / DSL.
Scenario concreto
Sezione intitolata “Scenario concreto”Uno scenario concreto è un’istanza specifica — ogni parametro fissato a un singolo valore. Questo è ciò che viene eseguito in un simulatore o in un test su pista chiusa.
Esempio: “Ego a 90 km/h, veicolo in cut-in a +20 km/h relativo, TTC = 2.5 s all’inizio del cut-in, asfalto asciutto, …”
Gli scenari concreti sono il livello a cui operano OpenSCENARIO 1.x XML, la riproduzione esmini e la maggior parte degli strumenti di replay.
Come i livelli si relazionano all’ODD
Sezione intitolata “Come i livelli si relazionano all’ODD”Il Dominio Operativo di Progettazione (ODD) è l’insieme delle condizioni in cui una funzione di guida è destinata a operare (tipi di strada, meteo, ora del giorno, regione geografica, ecc.). La classificazione degli scenari e l’ODD interagiscono a ogni livello:
- Gli scenari funzionali vengono scritti all’interno dell’ODD (“guida in autostrada in una giornata di sole”).
- Gli scenari logici vincolano gli intervalli dei parametri per rispettare l’ODD (ad es. intervalli di velocità che si adattano al vincolo autostrada-only dell’ODD).
- Gli scenari concreti sono istanze che dovrebbero rientrare all’interno dell’ODD, più casi limite deliberatamente scelti che sondano il suo confine.
Classificazione degli scenari negli standard
Sezione intitolata “Classificazione degli scenari negli standard”- PEGASUS — il progetto di ricerca tedesco che ha cristallizzato il vocabolario funzionale/logico/concreto usato qui.
- ISO 21448 (SOTIF) — sicurezza della funzionalità prevista; usa la classificazione degli scenari come spina dorsale del suo argomento che la funzione si comporti correttamente attraverso l’ODD.
- ASAM OpenSCENARIO — 1.x punta agli scenari concreti; 2.0 / DSL punta agli scenari logici.
- ASAM OpenDRIVE — fornisce il livello del mondo statico a cui tutti e tre i livelli di scenario fanno riferimento.
Dove si inserisce drawtonomy
Sezione intitolata “Dove si inserisce drawtonomy”drawtonomy non è un campionatore di scenari logici né un esecutore di scenari concreti. È una lavagna browser ottimizzata per scenari di guida. I pochi posti in cui si colloca nella classificazione:
- Figure di scenari funzionali. I diagrammi che entrano in piani di test, revisioni di progettazione, documenti dei casi di sicurezza, slide e figure di paper sono scenari funzionali in forma visuale. drawtonomy è ragionevole per quelli.
- Illustrazione di scenari logici. La “forma” di uno scenario logico (la geometria, gli attori, il moto approssimativo) è ciò di cui i lettori hanno effettivamente bisogno per capire prima che la tabella dei parametri abbia senso. drawtonomy è ragionevole per la figura; la tabella dei parametri stessa vive nel tuo DSL o foglio di calcolo.
- Schizzo di scenario concreto prima dell’authoring. Se stai per scrivere a mano un XML OpenSCENARIO 1.x specifico, drawtonomy può produrre uno schizzo 2D e un
.xosciniziale da cui iterare. Vedi Caso d’uso: Schizzare prima dell’authoring OpenSCENARIO.
Per l’authoring effettivo di scenari logici/concreti su larga scala — sweep di parametri, trigger condizionali, storyboard complessi — usa Scenic, scenariogeneration, XML OpenSCENARIO scritto a mano o OpenSCENARIO 2.0 / DSL. drawtonomy è per l’immagine, non per la logica del test.
Nello stesso ecosistema di test di scenari
Sezione intitolata “Nello stesso ecosistema di test di scenari”- Cos’è OpenSCENARIO?
- Cos’è OpenDRIVE?
- Cos’è esmini?
- Ecosistema: Scenic
- drawtonomy vs scenariogeneration
- drawtonomy vs OpenSCENARIO XML scritto a mano
Letture correlate
Sezione intitolata “Letture correlate”- Caso d’uso: Schizzare scenari di test ADAS — il flusso di lavoro per figure di test cut-in/fusione corsia/attraversamento pedonale.
- Caso d’uso: Schizzare prima dell’authoring OpenSCENARIO — schizzo visuale → XML.
- Caso d’uso: Figure per paper sulla guida autonoma — figure di scenari di qualità pubblicazione.