Declarative Scenario-based Testing with RoadLogic

Dit paper introduceert RoadLogic, een open-source tool die declaratieve OpenSCENARIO-specificaties omzet in uitvoerbare simulaties voor het testen van autonome voertuigen door middel van Answer Set Programming, bewegingsplanning en specificatiegebaseerde monitoring.

Ezio Bartocci, Alessio Gambi, Felix Gigler, Cristinel Mateis, Dejan Ničkovic

Gepubliceerd Wed, 11 Ma
📖 3 min leestijd☕ Koffiepauze-leesvoer

Each language version is independently generated for its own context, not a direct translation.

Stel je voor dat je een reisleider bent voor een groep zelfrijdende auto's. Je wilt dat ze een specifieke rit maken, bijvoorbeeld: "Rij achter die andere auto aan, ga dan voorbij, en eindig weer op dezelfde rijbaan."

In het verleden moesten mensen die deze tests doen, elke stap van die rit tot in de kleinste details uitschrijven: "Auto A moet 2 seconden 50 km/u rijden, dan 0,5 seconden versnellen, dan naar links sturen..." Dit is als het schrijven van een recept waarbij je niet zegt "bak de cake", maar precies schrijft: "zet de oven op 180 graden, doe 200 gram bloem in kom 1, voeg 3 eieren toe..." Het is enorm veel werk, saai en als je één getal verkeerd hebt, werkt het recept niet.

RoadLogic is een nieuwe, slimme tool die dit probleem oplost. Hier is hoe het werkt, vertaald naar alledaagse taal:

1. De "Reisplanner" (OS2)

De ontwikkelaars gebruiken een speciale taal (OS2) om alleen te zeggen wat er moet gebeuren, niet hoe.

  • Voorbeeld: "Auto A moet auto B inhalen."
  • Ze schrijven niet hoe de auto moet sturen of versnellen. Ze geven alleen het doel. Het is alsof je tegen een taxi zegt: "Breng me van station naar het museum," zonder te zeggen welke wegen hij moet nemen.

2. De "Gedachtekracht" (ASP)

Hier komt de magie van RoadLogic om de hoek kijken. De computer gebruikt een techniek die lijkt op puzzel oplossen.

  • De computer denkt: "Oké, om van station naar museum te komen, moet ik eerst linksaf, dan rechtdoor, dan rechtsaf."
  • Het bedenkt een hoog niveau plan (een abstracte route) dat voldoet aan de regels. Het is alsof de computer een schets maakt van de route op een kaart, zonder nog te weten welke gaten er in de weg zitten.

3. De "Stuurman" (Motion Planning)

Nu heeft de computer een schets, maar een echte auto kan niet zomaar door muren rijden of in één seconde van 0 naar 100 km/u.

  • RoadLogic neemt die schets en geeft hem aan een slimme stuurman (de FrenetiX-planner).
  • Deze stuurman zorgt voor de details: "Oké, ik moet linksaf, maar ik moet eerst remmen omdat er een gat in de weg zit, en dan langzaam sturen."
  • Het maakt van de ruwe schets een realistische, veilige rit die een echte auto zou kunnen rijden.

4. De "Controleur" (Monitoring)

Zodra de auto de rit heeft gereden, kijkt RoadLogic nog even na: "Hebben we echt gedaan wat we beloofd hadden?"

  • Het vergelijkt de gereden rit met het originele plan.
  • Als de auto per ongeluk de verkeerde kant op is gegaan of de regels heeft overtreden, wordt de rit afgekeurd en probeert de computer het opnieuw met een ander plan.

Waarom is dit zo belangrijk?

Vroeger moesten mensen duizenden variaties van een rit handmatig uitschrijven om te testen of een zelfrijdende auto veilig is. Dat is als proberen een auto te testen door elke mogelijke weg in het land één voor één te rijden.

Met RoadLogic kunnen ze nu één keer zeggen: "Test alle mogelijke manieren om in te halen." De computer bedenkt dan zelf honderden verschillende, veilige scenario's (soms gaat de ene auto snel, soms langzaam, soms wisselt hij van baan).

Kortom: RoadLogic is de tussenpersoon die zorgt dat de "dromen" van de ontwikkelaars (wat er moet gebeuren) omgezet worden in realistische dromen (wat de auto echt doet), zonder dat mensen urenlang hoeven te rekenen. Het maakt het testen van zelfrijdende auto's sneller, veiliger en slimmer.