21.01.2013 Aufrufe

Paper for Download - FKFS

Paper for Download - FKFS

Paper for Download - FKFS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Datenbankgestützte Szenario-Generierung<br />

für das Testen aktiver kamerabasierter Fahrerassistenzsysteme<br />

Florian Schmidt, Nico Hartmann<br />

electronics solutions<br />

MBtech Group GmbH & Co. KGaA<br />

Wegenerstr. 5/1<br />

71063 Sindelfingen<br />

florian.schmidt@mbtech-group.com<br />

nico.hartmann@mbtech-group.com<br />

Abstract: Die Zunahme (teil-) autonom agierender und damit besonders<br />

sicherheitskritischer Fahrerassistenzsysteme (FAS) stellt hohe An<strong>for</strong>derungen<br />

an die funktionale Absicherung. Aktive kamerabasierte FAS<br />

können durch „Visual Loop“-Testsysteme bereits in frühen Entwicklungsphasen<br />

in einem Closed-Loop-Verfahren verifiziert und validiert<br />

werden. Um die er<strong>for</strong>derliche Vielzahl der möglichen Testfälle abdecken<br />

zu können, müssen Test-Szenarien automatisch generiert werden. Dies<br />

geschieht durch parametrierte Testklassen, die alle Parameter für die fotorealistisch<br />

Darstellung der Fahrzeugumgebung berücksichtigen.<br />

1 Testen aktiver kamerabasierter Fahrerassistenzsysteme<br />

1.1 Automobilelektronik<br />

In Fahrzeugen der Mittel- und Oberklasse sind typischerweise rund 40 bis 60 untereinander<br />

vernetzte Steuergeräte verbaut, die verschiedenste Kom<strong>for</strong>t- und Sicherheitsfunktionen<br />

in Form von Embedded Software beinhalten. Die Komplexität ihrer<br />

Funktionen steigert sich durch wachsende Kundenerwartungen, erhöhte An<strong>for</strong>derungen<br />

z. B. an Sicherheitsstandards, und neue technische Möglichkeiten [Gr05,<br />

Ch09] kontinuierlich.<br />

Die ständige Interaktion der Software mit den anderen Verkehrsteilnehmern und<br />

besonders mit Menschen in ihrer Umgebung legen den benötigten hohen Qualitäts-<br />

und Sicherheitsstandard fest. Dazu kommen vielfältige verschiedene rechtliche<br />

Rahmenbedingungen, die Notwendigkeit einer einfachen Wartbarkeit, das Zusammenspiel<br />

von Hard- und Software sowie vieler Zulieferer für die einzelnen Elektronik-Komponenten<br />

sowie die Notwendigkeit von Ausfallsicherheit und Notlaufkonzepten<br />

selbst im Fehlerfall.


Automotive Software ist also durch hohe Komplexität, kom<strong>for</strong>t- und sicherheitsrelevante<br />

fahrzeugspezifische Funktionen und daraus resultierend höchste An<strong>for</strong>derungen<br />

an die Softwarequalität gekennzeichnet. [Lig02]<br />

1.2 Der Trend zu aktiven kamerabasierten Fahrerassistenzsystemen<br />

Steuergeräte beinhalten Funktionen zur Entlastung des Fahrers, sei es durch In<strong>for</strong>mationen,<br />

Warnungen oder aktive Unterstützung. Aktive Fahrerassistenzsysteme 1<br />

(FAS) unterstützen dabei in zunehmendem Maße durch autonome aktive Eingriffe.<br />

Diese Systeme greifen im Notfall selbständig durch Lenken oder (Not-) Bremsen<br />

direkt in die Längs- oder Querregelung des Fahrzeuges ein.<br />

Die Umfelderfassung durch Sensoren wie Radar, Video oder Ultraschall ist dabei<br />

der übliche Weg, um den Algorithmen In<strong>for</strong>mationen zur Situationsanalyse und -<br />

bewertung zu verschaffen. Die für eine aktive Fahrzeugreaktion verwendeten Aktoren<br />

haben üblicherweise wiederum Einfluss auf die Umwelt und damit auf den<br />

nächsten Sensormesswert, wodurch sich der Regelkreis schließt.<br />

Beispiele für aktuell eingesetzte autonom aktiv eingreifende Systeme auf Basis von<br />

Kamerasensorik sind Spurhalteassistenten, oder der sich noch in der Forschung befindliche<br />

Ausweichassistent 2 , der je nach Beurteilung der Situation beim Erkennen<br />

eines Fußgängers entweder bremst oder ausweicht um eine Kollision zu vermeiden<br />

(Abbildung 1, links Notbremsung, rechts Ausweichen). Volvo bietet für den Stadtbereich<br />

einen kamerabasierten Notbremsassistenten, Volkswagen parkt durch Kamerasensoren<br />

unterstützt automatisch ein.<br />

Die Sicherheit aller Verkehrsteilnehmer ist das höchste Ziel bei der Entwicklung<br />

derart aktiv eingreifender Funktionen. Neben einer sorgfältigen und professionellen<br />

Softwareentwicklung ist daher auch das Testen der Softwarequalität ein wichtiger<br />

Schritt auf dem Weg zum Serieneinsatz eines mit diesen Helfern ausgestatteten<br />

Fahrzeugs.<br />

Abbildung 1: Ausweichassistent (Notbremsung, Ausweichen) [Quelle: Daimer AG].<br />

1 engl. Advanced Driver Assistance Systems, ADAS<br />

2 Im Juni 2009 von Daimler der Presse vorgestellt.


1.3 Funktionale Absicherung durch Hardware-in-the-Loop-Testverfahren<br />

Eine während des Entwicklungsprozesses möglichst frühzeitige Absicherung der<br />

implementierten Funktionen ist wünschenswert. Hardware-in-the-Loop (HiL) Tests<br />

stellen die erste Möglichkeit der Validierung und Verifikation des gesamten Steuergeräts<br />

oder kleinerer Steuergeräteverbünde dar. Dies geschieht im Labor noch bevor<br />

die reale Umgebung des Steuergeräts, also das Fahrzeug, existiert. Das bedeutet, die<br />

gesamte Umwelt auf die das Steuergerät durch seine Ausgänge Einfluss hat und die<br />

darauf rückwirkt, muss simuliert werden 3 . Je exakter diese Simulation ausfällt, desto<br />

realer wirken an den Eingängen die Stimulationen für die im Steuergerät eingebetteten<br />

Funktionen.<br />

Für aktive kamerabasierte Fahrerassistenzsysteme gibt es mehrere Möglichkeiten<br />

der funktionalen Absicherung. Testfahrten mit realen Fahrzeugen durch die reale<br />

Welt, oder das Wiedergeben aufgezeichneter Videos sind zwei herkömmliche und<br />

erfolgreiche Methoden des Testens. Erstere erlauben jedoch nur eine stark eingeschränkte<br />

Reproduzierbarkeit, sind aufwändig und ggfs. gefährlich. Zweitere sind<br />

zwar reproduzierbar, die Rückkopplung der Reaktion eines aktiven FAS findet jedoch<br />

nicht statt. Das gezielte Setzen oder Variieren von Parametern ist in beiden<br />

Fällen kaum möglich. Wird beispielsweise ein FAS-System für eine Baureihe adaptiert,<br />

so müssten alle Videos erneut aufgezeichnet werden, wenn die Kameraposition<br />

im Fahrzeug bzw. relativ zur Straße nur um wenige Zentimeter verändert wird.<br />

1.4 „Visual Loop” (VL)-Testsysteme<br />

Um kamerabasierte Funktionen aktiver Fahrerassistenzsystemen nun in HiL-Tests<br />

funktional abzusichern, muss deren Umwelt simuliert werden um die Kamerasensoren<br />

zu stimulieren. Dies bedeutet, dass Bilder der Fahrzeugumgebung aus dem<br />

Blickwinkel der entsprechenden Kamera(s) erstellt werden müssen. An diese Bilder 4<br />

werden die konträren An<strong>for</strong>derungen nach einer Berechnung in Echtzeit sowie nach<br />

höchstem Realismus der Darstellungen gestellt.<br />

Als Lösung stehen die „Visual Loop“ (VL) Testsysteme zur Verfügung, um durch<br />

moderne Grafiksimulationen größtmöglichen Realismus bei geringstmöglichem Rechenaufwand<br />

zu bieten [SS09]. „Visual Loop“ steht dabei für die visuelle Regelschleife<br />

zwischen 3D-Grafik und Kamerasystem (vgl. Abbildung 2). Die (simulierte)<br />

Umgebung löst eine aktive Reaktion des Steuergerätes aus, diese wiederum wirkt<br />

auf die Umgebung und damit auf die als nächstes erzeugte Grafik. Typischerweise<br />

werden hoch per<strong>for</strong>mante Grafik-Engines sowie Grafikkarten mit diversen visuellen<br />

Optimierungsverfahren verwendet, um selbst auf PC-Hardware die ge<strong>for</strong>derten<br />

Bilddaten in Echtzeit zu erzeugen. Die Grafik wird entweder über die Anzeige an<br />

einem Monitor und eine davon abfilmende Kamera oder direkt über bekannte Videoschnittstellen<br />

in das FAS-Steuergerät eingespeist.<br />

3 3<br />

Um den Regelkreis zu schließen ist meist die Umweltsimulation in Echtzeit nötig.<br />

4<br />

Bei aktuellen Systemen fallen typischerweise 25 Bilder mit je rund 1 Megapixeln pro Sekunde zur Berechnung an, in einigen<br />

Fällen auch deutlich mehr.


Steuergerät<br />

Aktives FAS<br />

Aktor<br />

Kamera<br />

Umgebungssimulation<br />

3D-Grafik<br />

Abbildung 2: Prinzip der „Visual Loop” (VL) Testsysteme.<br />

1.5 Heraus<strong>for</strong>derungen: Vielzahl der Testsituationen<br />

Durch VL-Testsysteme können Testfälle unter Laborbedingungen frühzeitig im<br />

Entwicklungszyklus getestet werden. Dabei ergeben sich zwei Heraus<strong>for</strong>derungen:<br />

• Zum einen können in VL-Systemen extrem viele Parameter beeinflusst werden.<br />

Von der Position jedes einzelnen Objektes (wie bspw. Bäume, Häuser,<br />

Verkehrsteilnehmer) über Wetterbedingungen (Tageszeit, Niederschlag) bis zu<br />

einzelnen Eigenschaften wie Farbnuancen oder Geschwindigkeiten können beliebig<br />

viele Details beliebig fein aufgelöst eingestellt werden. Aus dieser Fülle<br />

an möglichen einzelnen Testfällen müssen die in der vorhandenen Zeit durchführbaren<br />

nach gegebenen Kriterien sinnvoll ausgewählt werden.<br />

• Zum anderen müssen die Testfälle üblicherweise manuell in für das jeweilige<br />

VL-System spezifischen Editoren erstellt werden, was einen immensen Aufwand<br />

bedeutet. Neben der Wiederverwendbarkeit und Durchgängigkeit der<br />

Testfälle (was durch etablierte und offene Schnittstellen<strong>for</strong>mate ermöglicht<br />

wird) muss also die Erstellung automatisiert werden.<br />

Dies lässt eine automatische Szenario-Generierung wünschenswert erscheinen.<br />

2 Automatische Szenario-Generierung<br />

In Abschnitt 2.1 werden die Elemente von Testfällen aus parametrierten Testklassen<br />

für kamerabasierter FAS vorgestellt. Darauf folgt das Vorgehen der Testplanung<br />

(2.2), die Szenario-Kombination (2.3) sowie die Szenario-Generierung (2.4).<br />

Testplanung<br />

Parametrierbare<br />

Testklassen<br />

Testszenario-<br />

Generierung<br />

Testfall am<br />

VL-System<br />

Abbildung 3: Überblick zur Anwendung eines VL-Systems.


In Abbildung 3 ist dies im Überblick dargestellt. Der gestrichelte Pfeil zeigt das ursprüngliche<br />

Vorgehen an, manuell erstellte Testfälle direkt am VL-System umzusetzen.<br />

Die durchgehenden Pfeile zeigen die durch die in Abschnitt 1.5 gezeigten Heraus<strong>for</strong>derungen<br />

motivierte automatisierbare Vorgehensweise.<br />

2.1 Elemente von VL-Tests: parametrierbare Testklassen<br />

Testfälle für umfelderfassende Systeme enthalten allgemein die folgenden 5 Kategorien<br />

von Objekten, zusammengefasst zur „T-E-S-T-E“-Testfalldefinition:<br />

• T – Test-relevant: spezielle Objekte, z.B. Verkehrszeichen / Fußgänger<br />

• E – Environment: die Umwelt, das Wettersystem<br />

• S – Surrounding: Umgebung, Straßenrand<br />

• T – Track: die Straße<br />

• E – Ego-Vehicle: Fahrzeug mit Blickwinkel der Kamera<br />

Leere, d.h. unparametrierte „Testfall-Rahmen“ werden als „Testklassen“ bezeichnet.<br />

Diese können auch bereits teilweise mit Parametern vorgefüllt werden, um dem<br />

Anwender später die Erstellung von Testfällen mit Standard-Inhalten zu erleichtern.<br />

2.2 Testplanung: Parametrierte Testklasse = Testfall<br />

Eine Testklasse kann z. B. durch die Parametrierung mit den In<strong>for</strong>mationen „T =<br />

Fahrradfahrer, E = Nacht, S = Stadt, T = Nebenstraße, E = 30 km/h“ 5 als Testfall<br />

erstellt werden.<br />

Nun können Testfälle manuell geplant, erstellt und später umgesetzt werden. Eine<br />

effektivere Möglichkeit stellt jedoch die bereits automatisiert erfolgende Testplanung<br />

dar. Dazu wurde als Grundlage eine Datenbank konzipiert, die das o. g. T-E-S-<br />

T-E-Gerüst für beliebig viele Objekte umsetzen kann. Das bedeutet, dass die entsprechende<br />

Datenstruktur für Testfälle, ebenso wie die hierarchische Struktur aller<br />

möglichen Parameter in einer erweiterbaren Datenbank angelegt wurde.<br />

Ein Schwerpunkt lag hier auf der Erweiterbarkeit, da es später jederzeit möglich sein<br />

muss, nicht nur z. B. einzelne Objekte, sondern auch komplett neue Umgebungen,<br />

Wetterbedingungen, Straßeneigenschaften und Kameraparameter anzugeben. Wo<br />

bisher bspw. die Umgebungstypen „Stadt“, „Dorf“, „Wald“ und „Wiese“ implementiert<br />

wurden, wird langfristig „Küste“, „Gebirge“ etc. hinzu gefügt.<br />

5 Dieses Beispiel ist stark vereinfacht, die Parameter der fünf Kategorien sind hierarchisch aufgebaut und detaillierter.


Die hierarchische Testfalldefinition erlaubt eine schnelle Angabe der Testfalldetails,<br />

je nach Bedarf kann der Tester aber auch gezieltere Vorgaben zu relevanten Parametern<br />

machen. Die exakte Angabe der Ausrichtung einer Laterne innerhalb der Stadt<br />

mag z. B. für einzelne Testfälle wichtig sein. Meist möchte man diese In<strong>for</strong>mationen<br />

aber nicht für jedes Objekt angeben müssen, dann reicht die darüber liegende In<strong>for</strong>mation<br />

aus um automatisch Standardwerte zu erhalten.<br />

Ebenfalls Bestandteil aller Parameterwerte ist die Angabe ihrer Häufigkeit und<br />

Wichtigkeit. Die Häufigkeit gibt dabei das Vorhandensein in der realen Welt 6 an, die<br />

Wichtigkeit gibt eine Einschätzung 7 der Relevanz des Parameterwerts für die geplanten<br />

Testsituationen an.<br />

Durch Methoden der Versuchsplanung (engl.: Design of Experiments, DoE) folgte<br />

daraufhin eine auf die Situation angepasste Testplanung. Sie verwendet eine aus<br />

Häufigkeit und Wichtigkeit errechnete Priorität, sowie ggfs. je nach Test-Aufgabe<br />

vorgegebene feste Parameterwerte um daraus die wichtigsten Testfälle zu generieren.<br />

Mit der Möglichkeit, die Gesamtzahl der gewünschten Testfälle anzugeben,<br />

sowie einem (Pseudo-) Zufallsgenerator zum Erhöhen der Testfallvarianz, ergibt<br />

sich somit die für die jeweilige Teststrategie optimale Auswahl an Testfällen aus der<br />

geradezu unendlichen Menge der theoretischen Möglichkeiten.<br />

2.3 Kombinationsalgorithmik: Testfälle in Reihenfolge = Test-Szenario<br />

Für die Umsetzung der in der Datenbank nur abstrakt vorliegenden Testfälle, müssen<br />

diese in Form eines Szenarios angeordnet werden. Als Szenario wird die in VL-<br />

Systemen üblicherweise rechteckige Terrain-Grundplatte bezeichnet, auf der später<br />

alle 3D-Objekte dargestellt werden.<br />

Um den zeitlichen Overhead durch das Laden vieler kleiner Szenarien zu minimieren<br />

werden mehrere Testfälle in einem Test-Szenario angeordnet. Dabei ist es wichtig,<br />

eine durchgängige Abfolge der Testfälle und damit eine durchgängige Fahrt des<br />

Ego-Fahrzeug durch das Test-Szenario zu erreichen. Diese An<strong>for</strong>derung ergibt sich<br />

aus dem Wunsch, die Initialisierungs-Overheads des Testsystems und des Systemunder-Test<br />

(also das Steuergerät des FAS) zu minimieren. Zusätzlich ergibt sich<br />

dadurch der Vorteil, auch die Strecke „zwischen“ den Testfällen, sowie insgesamt<br />

längere Streckenverläufe mitzutesten. Eine Voraussetzung für das Erreichen dieser<br />

Durchgängigkeit ist es, dass sich die verschiedenen Parameter möglichst selten verändern<br />

8 . Durch eine Gewichtung der Parameter und ihrer Unterschiede lässt sich<br />

erreichen, dass (je nach Konfiguration) z.B. der Straßentyp seltener gewechselt wird<br />

als die Umgebung der Straße, um damit den Eindruck einer realistischeren Fahrt<br />

durch das Test-Szenario zu erzeugen. Ein Kombinationsalgorithmus geht nach diesen<br />

Vorgaben durch die in der Datenbank abgelegten Testfälle und sortiert sie neu.<br />

6 je nach geographischer Region ggfs. unterschiedlich<br />

7 Entweder aus Expertenwissen, oder z. Β. abgeleitet von Verkehrs- und Unfallstatistiken<br />

8 Mathematisch lässt sich dies durch die Minimierung der L1-Norm der Pfadlänge durch einen n-dimensionalen Raum vergleichen.<br />

n steht dabei für die Anzahl Parameter auf der obersten Hierarchieebene.


2.4 Automatische Test-Szenario-Generierung zur Umsetzung am VL-<br />

Testsystem<br />

Nachdem die durch die Methoden der Versuchsplanung erzeugten und mit Hilfe des<br />

Kombinationsalgorithmus in ihrer Reihenfolge optimierten Testfälle immer noch als<br />

abstrakte Parametersätze in der Datenbank vorliegen, ist es wünschenswert sie auch<br />

automatisch auf der Szenario-Grundplatte zu erzeugen. Dies ist üblicherweise bei<br />

VL-Systemen ein sehr aufwändiger manueller Prozess, in dem jedes 3D-Objekt einzeln<br />

positioniert werden muss.<br />

Um die Testfälle möglichst effizient in dem Szenario zu platzieren und ihre Reihenfolge<br />

beizubehalten, wurden verschiedene Ansätze untersucht. Die Platzierung innerhalb<br />

realer Straßennetze 9 ergab keine günstige Ausnutzung des (durch technische<br />

Randbedingungen beschränkten) Platzes innerhalb eines Szenarios (Abbildung 4<br />

links). Ebenso erschien der Ansatz, die Testfälle auf Kacheln der Reihe nach im Szenario<br />

zu platzieren als unbefriedigend, da der Aufwand der Berechnung und des Abfangens<br />

von Problemen (wie Sackgassen) immens ist (Abbildung 4 Mitte).<br />

Abbildung 4: Möglichkeiten der Anordnung von Testfällen in Test-Szenarien.<br />

Realisiert wurde eine Lösung, die Testfall-Kacheln in einem Schachbrettmuster im<br />

Szenario anordnet (Abbildung 4 rechts). Dabei hat jede Kachel einen definierten<br />

Eingangs- und Ausgangspunkt, so dass ein durchgängiger Straßenverlauf unabhängig<br />

vom Kachelinhalt gewährleistet ist. Innerhalb der Kacheln befindet sich die erzeugte<br />

Testfallstraße (grau hinterlegt rechts in Abbildung 4) und eine als „Aorta“<br />

bezeichnete Ringstraße, um wieder zum Ausgang der Kachel zu gelangen.<br />

Am Rand der Straße wird ein durch den Straßenverlauf vorgegebenes Gebiet mit der<br />

in der Datenbank zu dem jeweiligen Testfall hinterlegten Umgebung versehen,<br />

bspw. wird für einen Wald der Boden des Terrains entspr. texturiert und es werden<br />

typische 3D-Objekte eines Waldes wie Bäume und Sträucher platziert.<br />

Die In<strong>for</strong>mationen aller Testfälle zu Straße, Terrain, Umgebung und Wetter werden<br />

durch ein Software-Werkzeug in einem für das VL-System verständlichen Szenario-<br />

Format (z. B. in XML) abgespeichert und können damit entweder manuell nachbearbeitet<br />

oder direkt im automatischen Testbetrieb kamerabasierter Fahrerassistenzsysteme<br />

produktiv eingesetzt werden.<br />

9 Die man bspw. aus Straßendaten der „Open Street Map“ Datenbank erzeugen kann


3 Zusammenfassung, Ergebnisse und Ausblick<br />

Es wurde gezeigt, dass für die frühzeitige Absicherung aktiver kamerabasierter Fahrerassistenzsysteme<br />

die VL-Testsysteme eine wichtige Säule darstellen. Um Testfälle<br />

dafür effektiv und effizient zu erstellen, ist eine automatische Auswahl von Testfällen<br />

durch die Parametrierung von Testklassen innerhalb einer Datenbank empfehlenswert.<br />

Diese Testfälle können dann durch einen Kombinationsalgorithmus in eine<br />

durchgängige Reihenfolge gebracht und automatisch als Test-Szenario abgespeichert<br />

werden, wodurch das automatisierte Testen erheblich beschleunigt werden kann.<br />

Erste Ergebnisse (vgl. Abbildung 5) zeigen, dass die gesamte Generierung eines<br />

kompletten Test-Szenarios mit vielen tausend Objekten in mehreren Testfällen durch<br />

die Anwendung von Werkzeugen der in diesem Beitrag beschriebenen Methoden<br />

nur noch einen Aufwand von wenigen Sekunden verursacht.<br />

Die nächsten Schritte liegen u. a. in der Vervollständigung der Datenbank, sowie in<br />

der Übernahme bisher existierender Testfallkataloge.<br />

Abbildung 5: Beispiel eines automatisch erstellten Testfalls mit Wald.<br />

4 Literaturverzeichnis<br />

[Ch09] Charette, R.: This Car Runs on Code. IEEE Spectrum Online,<br />

http://www.spectrum.ieee.org, Feb. 2009.<br />

[Gr05] Grimm, K.: Software-Technologie im Automobil. In (Liggesmeyer, P.;<br />

Rombach, D., Hrsg.): Software Engineering eingebetteter Systeme.<br />

Spektrum Akademischer Verlag, Heidelberg, Berlin, 2005.<br />

[Lig02] Liggesmeyer, P.: Software-Qualität. Spektrum Akademischer Verlag,<br />

Heidelberg, Berlin, 2002.<br />

[SS09] Schmidt, F; Sax, E.: Funktionaler Softwaretest für aktive Fahrerassistenzsysteme<br />

mittels parametrierter Szenario-Simulation. Jahrestagung der<br />

Gesellschaft für In<strong>for</strong>matik 2009, Lübeck, September 2009.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!