← Neueste Arbeiten
⚡ electrical engineering

Compiling OpenSCENARIO 2.1 for Scenario-Based Testing in CARLA

Der Artikel stellt einen modernen Multi-Pass-Compiler vor, der die ASAM OpenSCENARIO 2.1-Domänenspezifische Sprache direkt in ausführbare CARLA-Verhaltensbäume übersetzt und so die Lücke zwischen deklarativem Szenario-Authoring und der Simulation in Open-Source-Testumgebungen schließt.

Ursprüngliche Autoren: Thoshitha Gamage, Lasanthi Gamage

Veröffentlicht 2026-04-21
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Thoshitha Gamage, Lasanthi Gamage

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Das große Problem: Der Dolmetscher, der nicht mehr mithalten kann

Stell dir vor, du möchtest ein sehr komplexes Theaterstück über autonomes Fahren auf einer Bühne namens CARLA aufführen. Die Schauspieler sind die Autos, die Straßen sind die Kulisse und die Regieanweisungen sind die Szenarien.

Früher (bei der alten Version 1.x) mussten die Regisseure ihre Anweisungen in einer sehr steifen, klobigen Sprache schreiben, die wie eine lange Liste von XML-Tags aussah. Das war wie ein Kochrezept, das nur aus "Zutat 1, Zutat 2, Zutat 3" bestand. Es funktionierte, war aber unflexibel und schwer zu lesen.

Dann kam die neue Sprache OpenSCENARIO 2.1. Das ist wie ein modernes, fließendes Deutsch oder Englisch. Man kann darin sagen: "Wenn das rote Auto schneller wird, bremse das blaue Auto sofort." Das ist viel natürlicher und mächtiger.

Aber hier liegt das Problem: Die Bühne (CARLA) und die alten Regie-Tools verstehen diese neue Sprache nicht. Sie sind wie ein alter Dolmetscher, der nur die alte, klobige Sprache kennt. Wenn man ihm die neue, moderne Anweisung gibt, stottert er, versteht nichts oder bricht zusammen. Die Forscher nennen das eine "Lücke" (Implementation Gap).

Die Lösung: Ein neuer, super-schneller Regisseur (Der Compiler)

Die Autoren dieses Papiers, Thoshitha und Lasanthi Gamage, haben einen neuen, hochmodernen Regisseur (einen Compiler) gebaut. Dieser Regisseur ist in der Lage, die moderne Sprache (OpenSCENARIO 2.1) sofort zu verstehen und in Handlungen für die Bühne (CARLA) zu übersetzen.

Sie haben diesen Regisseur in drei große Abschnitte unterteilt, wie eine gut organisierte Filmproduktion:

1. Der Drehbuch-Check (Frontend & AST)

Der Regisseur nimmt das Drehbuch (die .osc2-Datei) und liest es Zeile für Zeile.

  • Vergleich: Stell dir vor, er nimmt den Text und baut daraus ein riesiges, dreidimensionales Lego-Modell des Drehbuchs. Jedes Wort wird zu einem Baustein. Er prüft nur: "Stimmt die Grammatik? Sind die Sätze logisch aufgebaut?" Er kümmert sich noch nicht darum, was die Bausteine bedeuten, nur dass sie richtig zusammenpassen.

2. Der Logik-Check (Semantische Analyse)

Jetzt kommt der zweite Schritt. Der Regisseur schaut sich das Lego-Modell genauer an.

  • Vergleich: Er fragt: "Hey, wenn hier steht 'Auto A', weißt du, was das ist? Ist es ein LKW oder ein Fahrrad? Und wenn hier 'Geschwindigkeit' steht, ist das in km/h oder Meilen?"
    Er füllt eine Art Adressbuch (Symboltabelle) auf. Er stellt sicher, dass alle Charaktere existieren, dass die Regeln der Physik (wie "ein Auto kann nicht durch eine Wand fahren") beachtet werden und dass niemand Dinge tut, die im Universum unmöglich sind. Erst wenn alles logisch sauber ist, geht es weiter.

3. Die Aufführung (Backend & Behavior Trees)

Jetzt wird es spannend. Der Regisseur verwandelt das geprüfte Lego-Modell in eine Bauplan für ein Roboter-Orchester (Behavior Trees / py_trees).

  • Vergleich: Stell dir vor, das Drehbuch wird in eine Reihe von kleinen, automatischen Robotern übersetzt.
    • Ein Roboter heißt "Fahre".
    • Ein anderer heißt "Bremse".
    • Ein dritter heißt "Wechsle die Spur".
    • Diese Roboter sind mit einem Zentralen Register (Method Registry) verbunden. Wenn das Drehbuch sagt "Bremse sanft", schaut der Regisseur ins Register und sagt dem Roboter: "Führe die Funktion ChangeTargetSpeed mit dem PID-Regler aus."
    • Das Besondere: Alles passiert in Echtzeit. Wenn im Drehbuch steht "Warte, bis der LKW 5 Meter entfernt ist", prüft der Roboter das jede Sekunde neu, während das Spiel läuft.

Ein konkretes Beispiel: Der gefährliche Überholmanöver

Um zu beweisen, dass ihr neuer Regisseur funktioniert, haben sie ein spannendes Szenario getestet:

  1. Die Situation: Ein Held (ein Tesla) fährt auf der Straße. Ein riesiger LKW (der "Schurke") kommt von hinten.
  2. Der Trick: Der LKW beschleunigt plötzlich, holt den Tesla ein und schneidet ihm gefährlich vor die Nase (ein "Cut-In").
  3. Die Reaktion: Der Tesla muss sofort ausweichen (Spurwechsel) und gleichzeitig mit dem Fernlicht blinken, um den LKW zu warnen.
  4. Das Ende: Beide Autos müssen dann synchron vor einem statischen Hindernis (einem Straßenschild) stoppen.

Was war hier besonders?

  • Gleichzeitigkeit: Der Tesla musste gleichzeitig ausweichen und blinken. Der alte Dolmetscher hätte hier wahrscheinlich verwirrt geschaut. Der neue Regisseur hat zwei parallele Roboter-Teams gestartet, die perfekt zusammenarbeiten.
  • Mathematik in Echtzeit: Der LKW hat berechnet: "Ich muss bremsen, bis der Abstand zum Hindernis 45 Meter beträgt." Das wurde nicht starr vorgegeben, sondern live berechnet, während das Auto fuhr.
  • Kommunikation: Der Tesla hat dem LKW ein Signal gesendet ("Ich habe ausweichen können!"), woraufhin der LKW seine Bremse gelockert hat. Das ist wie ein geheimes Handzeichen zwischen Schauspielern, das nur der Regisseur versteht.

Warum ist das wichtig?

Früher mussten Forscher für solche Tests oft externe, langsame Computerprogramme dazwischenschalten, die die Logik lösten, bevor sie an CARLA geschickt wurden. Das war wie ein Übersetzer, der erst ein Buch in eine andere Sprache übersetzt, es dann per Post schickt und wartet, bis es zurückkommt.

Dieser neue Ansatz ist wie ein Live-Dolmetscher, der direkt auf der Bühne steht. Er übersetzt die Anweisungen sofort in Bewegungen. Das macht Tests viel schneller, genauer und erlaubt es, Tausende von Szenarien zu simulieren, um sicherzustellen, dass autonome Autos wirklich sicher sind.

Was kommt als Nächstes?

Die Autoren sagen: "Wir haben das Fundament gelegt, aber das Haus ist noch nicht fertig."

  • Geschwindigkeit: Da das System aktuell auf Python läuft (eine sehr flexible, aber manchmal langsame Sprache), wollen sie die schweren Rechenarbeiten in Zukunft auf C++ verlagern, damit es noch schneller ist – wie der Wechsel von einem Fahrrad auf ein Rennmotorrad.
  • Mehr Regeln: Sie wollen bald noch mehr Verkehrssituationen (wie Fußgänger oder komplexe Kreuzungen) unterstützen.

Fazit: Die Autoren haben den Schlüssel gefunden, um die moderne, mächtige Sprache der autonomen Fahrzeugtests (OpenSCENARIO 2.1) direkt mit der beliebtesten Simulationsbühne (CARLA) zu verbinden. Sie haben den "Dolmetscher" ersetzt, damit wir endlich die komplexesten Verkehrsszenarien sicher testen können.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →