End- und Fehlerbedingungen — Run stoppen und bewerten
Zwei unterschiedliche Fragen, zwei unterschiedliche Panels:
- END CONDITIONS — Wann stoppt der Run?
- FAIL CONDITIONS — War der Run ein Fehlschlag?
Beide befinden sich auf dem letzten Knoten des Logik-Graphen. Wählen Sie den END CONDITIONS-Knoten, und das Attribut-Panel zeigt beide Abschnitte.

Die Unterscheidung ist wichtig. Ein Run, der nach 30 Sekunden stoppt, ist nicht automatisch erfolgreich, und ein Run, der nach 4 Sekunden in einer Kollision endet, hat sich nicht automatisch korrekt verhalten. Die End-Bedingung kontrolliert die Zeit; die Fehlerbedingungen entscheiden über das Urteil.
END CONDITIONS
Abschnitt betitelt „END CONDITIONS“Der Knoten fasst sich selbst in einer Zeile zusammen:
| Zusammenfassung | Bedeutung |
|---|---|
Automatic | Keine explizite Bedingung. Der Run stoppt, wenn alle Phasen und Events abgeschlossen sind. |
After <name> ends | Ein importierter StopTrigger, zum Beispiel After CutInManeuver ends. |
+ Add condition im Panel ermöglicht es Ihnen, eine explizit zu setzen. Die
Auswahlmöglichkeiten entsprechen dem gleichen Katalog, der für
Event-Trigger verwendet wird, minus
Immediately (no condition) — 18 Bedingungen:
Simulation time · Time gap to actor · Time to collision ·Distance to actor · Traveled distance · Phase / event state ·Distance to point · Reach position · End of road · Actor speed ·Relative speed · Stand still · Actor acceleration · Collision ·Off-road · Scenario parameter · Scenario variable · Traffic signalBedingungen kombinieren mit ALL OF (AND) und or… genau wie Event-Trigger.
Im exportierten .xosc wird dies zum StopTrigger des Storyboards, sodass
andere OpenSCENARIO 1.x-Tools es berücksichtigen.
Drei End-Bedingungen decken den meisten Arbeitsbedarf ab:
- Lassen Sie es auf
Automaticeingestellt, während Sie das Szenario verfassen. Der Run stoppt von selbst, sobald Ihre Events abgeschlossen sind. Simulation timefür einen Run mit fester Länge — die übliche Wahl, wenn ein Szenario für einen Batch oder einen Vergleich verwendet wird.Phase / event state, stateendsum sofort zu stoppen, sobald das zu testende Manöver abgeschlossen ist, egal wie lange es dauert.
FAIL CONDITIONS
Abschnitt betitelt „FAIL CONDITIONS“Der Abschnitt erklärt, was er tut:
FAIL CONDITIONS Lässt die Simulation fehlschlagen, wenn sie während der Wiedergabe ausgelöst wird.
Eine Fehlerbedingung ist eine Assertion. Wenn sie während des Runs zu einem
beliebigen Zeitpunkt ausgelöst wird, endet der Run mit einem FAIL-Urteil,
anstatt bis zu seiner End-Bedingung zu laufen.
Neue Szenarien starten mit einer:
[Collision ▾] [✕]ACTOR A [Any actor ▾]Collision (default) — added automatically for new scenarios.Ein neu gezeichnetes Szenario schlägt also automatisch bei jeder Kollision fehl. + Add fail condition fügt eine weitere Zeile hinzu; jede Zeile hat ein ✕ zum Entfernen. Eine neu hinzugefügte Zeile wiederholt den gleichen Typ wie der Standard, also ändern Sie seinen Typ nach dem Hinzufügen.
Fehlerbedingungen sind ein Konzept, das drawtonomy eigen ist — sie sind nicht Teil des ASAM OpenSCENARIO-Standards. Siehe Wie sie gespeichert werden.
Die acht Typen
Abschnitt betitelt „Die acht Typen“| Typ | Schlägt fehl, wenn |
|---|---|
| Collision | Der ausgewählte Actor kollidiert mit einem anderen Entity. Any actor überwacht jedes Entity im Szenario. |
| Actor speed | Die Geschwindigkeit eines Actors erfüllt die von Ihnen festgelegte Regel — absolut oder relativ zu einem anderen Actor. |
| Distance to actor | Der Abstand zwischen zwei Actors unterschreitet oder überschreitet einen Schwellenwert. |
| Distance to point | Die Entfernung eines Actors zu einem festen Punkt unterschreitet oder überschreitet einen Schwellenwert. |
| Longitudinal distance to actor | Der Abstand entlang der Fahrbahn zu einem anderen Actor überschreitet einen Schwellenwert, gemessen voraus, dahinter oder in beide Richtungen. |
| Duration | Eine andere Bedingung gilt kontinuierlich länger als eine bestimmte Zeit. |
| Simulation time | Der Run erreicht eine bestimmte Zeit — ein Timeout. |
| Phase state | Eine Phase starts, is running oder ends. |
Die Optionen, die jeder Typ bereitstellt
Abschnitt betitelt „Die Optionen, die jeder Typ bereitstellt“| Einstellung | Auswahlmöglichkeiten |
|---|---|
| Actor-Auswahl | Any actor oder ein benanntes Entity |
| Distanzregel | falls below / exceeds |
| Geschwindigkeitsregel | = equals / > greater than / ≥ greater or equal / < less than / ≤ less or equal / ≠ not equal |
| Geschwindigkeitsbasis | Absolute speed / Relative to actor |
| Richtung der relativen Geschwindigkeit | Any direction / Faster / Slower / Same speed |
| Longitudinale Seite | Ahead or behind / Ahead / Behind |
| Phase state | starts / is running / ends |
Duration umhüllt eine andere Bedingung
Abschnitt betitelt „Duration umhüllt eine andere Bedingung“Duration ist nicht eigenständig eine Bedingung — es ist ein „für wie lange”-Wrapper. Wählen Sie sie, dann wählen Sie die innere Bedingung aus vier aus:
- Actor speed
- Distance to actor
- Distance to point
- Longitudinal distance to actor
So drücken Sie Toleranz aus. „Der Abstand unterschritt 5 m für einen einzelnen Frame” ist normalerweise Rauschen; „der Abstand blieb unter 5 m für zwei Sekunden” ist ein Befund. Wickeln Sie die Distanzbedingung in eine Duration, und Sie haben das Zweite gesagt.
Das Urteil lesen
Abschnitt betitelt „Das Urteil lesen“
Das Badge auf der Transport-Zeile meldet den Zustand des Runs:
| Badge | Bedeutung |
|---|---|
IDLE | Läuft nicht. Es wurde nichts evaluiert. |
RUN | Läuft. Keine Fehlerbedingung wurde bisher ausgelöst. |
PASS | Der Run erreichte seine End-Bedingung, ohne dass eine Fehlerbedingung ausgelöst wurde. |
FAIL | Eine Fehlerbedingung wurde ausgelöst. Der Run stoppte dort. |
PASS bedeutet also „abgeschlossen, und keine meiner Assertions wurde ausgelöst”.
Es ist nur so aussagekräftig wie die Fehlerbedingungen, die Sie schrieben — ein
Szenario ohne die Bedingungen wird für fast jedes Verhalten PASS melden.
Ein Szenario in einen Check umwandeln
Abschnitt betitelt „Ein Szenario in einen Check umwandeln“Das Muster ist dasselbe, das für automatisierte Tests verwendet wird:
- Richten Sie die Situation ein. Straße, Actors, Phasen, Events.
- Sagen Sie, was nicht passieren darf. Fehlerbedingungen: keine Kollision; der Abstand unterschreitet niemals 5 m für mehr als eine Sekunde; der Ego überschreitet das Geschwindigkeitslimit niemals; der Run dauert niemals länger als 30 s.
- Sagen Sie, wann Sie aufhören sollen zu suchen. End-Bedingung: eine Simulationszeit oder der Zustand des zu testenden Manövers.
- Führen Sie es aus und lesen Sie das Badge.
Einige Bedingungen, die es wert sind, beachtet zu werden:
| Absicht | Bedingung |
|---|---|
| Kein Kontakt | Collision, Any actor |
| Sichere Lücke halten | Duration → Distance to actor, falls below, mit einer Toleranz |
| Nicht dicht auffahren | Longitudinal distance to actor, Ahead, falls below |
| Limit respektieren | Actor speed, > greater than, Absolute speed |
| Szenario nicht blockieren | Simulation time als Timeout |
| Nicht überholen | Relative speed, Faster |
Wie Fehlerbedingungen gespeichert werden
Abschnitt betitelt „Wie Fehlerbedingungen gespeichert werden“Fehlerbedingungen liegen außerhalb des ASAM OpenSCENARIO-Standards, daher
bewahrt drawtonomy sie dort auf, wo ein standardkonformer Leser sie ignoriert:
als drawtonomy:failConditions-Eintrag in den ParameterDeclarations des
Szenarios.
Zu wissen lohnt sich:
- Der Parameter wird nur geschrieben, wenn Sie die Fehlerbedingungen bearbeitet
haben. Ein Szenario, das auf den Standardwerten belassen wurde, wird ohne
ihn exportiert, sodass in Ihrem
.xoscnichts Zusätzliches erscheint. - Andere OpenSCENARIO-Tools lesen die Datei normal — eine unbekannte Parameterdeklaration ist inert.
- Das erneute Importieren derselben Datei in drawtonomy stellt die Bedingungen genau wieder her.
- Eine
.xosc, die von anderswo importiert wird, startet ohne Fehlerbedingungen, sodass ein importiertes Szenario niemals einFAILmeldet, das Sie nicht verlangt haben.
Siehe auch
Abschnitt betitelt „Siehe auch“- Triggers-Referenz — der Bedingungskatalog, den End-Bedingungen zeichnen.
- Playback — wo das Urteil-Badge lebt.
- Phasen und Events
- Bauen Sie Ihr erstes Szenario