Systementwicklung Fahrerssistenzsysteme einfacher entwickeln und validieren

Autor / Redakteur: Emil Näpflein * / Dipl.-Ing. (FH) Thomas Kuther

Immer leistungsfähigere Fahrerassistenzsysteme erfordern einen immer höheren Aufwand in Sachen Entwicklung und Validierung. Mit den richtigen Tools lässt sich dieser Aufwand aber in Grenzen halten.

Anbieter zum Thema

Fahrerassistenzsysteme: Die extrem hohen Anforderungen in Sachen Entwicklung und Validierung von Systemen wie dem Kreuzungsassistenenten von Audi lässt sich mit den richtigen Tools vereinfachen (Bild: Audi)
Fahrerassistenzsysteme: Die extrem hohen Anforderungen in Sachen Entwicklung und Validierung von Systemen wie dem Kreuzungsassistenenten von Audi lässt sich mit den richtigen Tools vereinfachen (Bild: Audi)

Die Liste der Fahrzeuge mit Fahrerassistenzsystemen wird immer länger. Diese Systeme sollen den Fahrer in bestimmten Situationen unterstützen und so insbesondere die Sicherheit und den Fahrkomfort erhöhen. Um diese Assistenzfunktion erfüllen zu können, sind verschiedene Sensoren zum Wahrnehmen der Umwelt erforderlich. Die Informationen dieser Sensoren werden aufbereitet und mit komplexen Algorithmen ausgewertet, sodass das Assistenzsystem dem Fahrer im entscheidenden Moment Hinweise geben oder ihn bei der Bewältigung einer Situation – gegebenenfalls auch durch einen Eingriff in die Fahrzeugführung – unterstützen kann.

Die ersten Assistenzsysteme waren Spezialentwicklungen

Die ersten Assistenzsysteme sind als Spezialentwicklungen der jeweiligen Fahrzeughersteller und Zulieferer entstanden. Sie haben mit eigenen Tools eine passende Entwicklungsumgebung geschaffen. Die schnelle technische Entwicklung, die steigende Komplexität der Anwendungen und die zunehmende Verlagerung von Funktionalität zu den Zulieferern, haben den Aufwand für die Pflege und Erweiterung der Entwicklungsumgebungen bei den Automobilherstellern und Zulieferern indes rapide ansteigen lassen.

Synergieeffekte dank freigegebener Entwicklungsumgebung

Aus diesen Gründen war es eine konsequente Maßnahme von Audi Electronic Venture (AEV), ihre Entwicklungsumgebung „Automotive Data and Time-triggered Framework (ADTF)“ auch für andere Automobilhersteller und Zulieferer zur Verwendung freizugeben. Seit 2008 wird ADTF unter der Bezeichung „EB Assist“ von Elektrobit sowohl für Windows als auch für Linux lizenziert. Mittlerweile gibt bereits mehr als 500 Installationen, mit denen mittlerweile eine Vielzahl von Assistenzsystemen erfolgreich entwickelt worden sind. Dank der breiten Verwendung durch alle, an der Entwicklung von Fahrerassistenzsystemen Beteiligten, ergeben sich Synergieeffekte, die sich letztlich auf die Gesamtkosten positiv auswirken. Alle Beteiligten können Komponenten in Quellform – wenn Knowhow geschützt werden soll auch in Binärform – austauschen und problemlos in ihrer eigenen Umgebung einsetzen. So lassen sich schon frühzeitig SIL-Tests mit zugelieferten Komponenten durchführen. Kostspielige Tests auf der Straße können bei gleicher Qualität reduziert werden. Das Installationspaket von ADTF enthält die folgenden Komponenten:

  • C++-Entwicklungsumgebung (SDK),
  • ADTF Runtime System mit Konfigurationseditor sowie
  • Dokumentation und Beispiele.

ADTF-Softwarekomponenten für eigene Anwendungen

Das SDK für Microsoft Visual Studio C++ und Linux GCC ermöglicht es, verschiedene ADTF-Softwarekomponenten für eigene Anwendungen zu entwickeln. Die Funktionalität stellen C++-Klassen bereit. Und durch die umfangreiche Klassenbibliothek lassen sich Komponenten und Anwendungen weitgehend unabhängig vom genutzten Betriebssystem entwickeln. Für die GUI-Entwicklung wird QT verwendet, für grafische Darstellungen OpenGL. Vorhandene Debug-Versionen der Bibliotheken unterstützen die Entwicklung, so liefert z.B. der Debugger von Visual Studio zusätzliche Informationen.

Tools zum Import, Export und Wandeln von Daten

Das ADTF Runtime System (Bild 1) stellt die Ablaufumgebung für die entwickelten Komponenten bereit. Wird es gestartet, so lädt es alle notwendigen Komponenten entsprechend dem Inhalt verschiedener XML-Konfigurationsdateien. Der Start erfolgt stufenweise, damit sich Kern, Systemservices und Applikationskomponenten in der richtigen Reihenfolge initialisieren. Über die Lizenz wird gesteuert, ob nur Basisfunktionalität zum Ausführen von ADTF Anwendungen oder aber die volle Funktionalität als Entwicklungsumgebung zur Verfügung steht. Die Entwicklungsumgebung enthält auch eine ganze Reihe von Tools mit denen Daten importiert, exportiert und umgewandelt werden können.

Mit dem Konfigurationseditor kann man aus vorhandenen Modulen über die grafische Oberfläche einfach Filtergraphen erstellen, die eine ADTF-Anwendung repräsentieren. Diese Filtergraphen werden in Konfigurationen abgelegt die man per Mausklick umschalten kann. Die mit vielen Programmbeispielen versehene Dokumentation hilft beim Einstieg in das Thema ADTF. Die Beispiele lassen sich häufig auch als „Templates“ für die eigenen Komponenten verwenden und können dann direkt in der Entwicklungsumgebung übersetzt und mit dem Runtime System ausprobiert werden.

Einheitliches Datenformat für alle relevanten Datenströme

Ein zentraler Bestandteil von ADTF ist ein standardisiertes Containerformat für alle relevanten Datenströme. Dadurch wird der Datenaustausch zwischen den am Entwicklungsprozess Beteiligten erheblich erleichtert. Aufzuzeichnende Datenströme, z. B. Video und CAN, werden vom mitgelieferten Harddisk_Recorder zeitsynchron aufgezeichnet. Diese lassen sich dann auch wieder zeitsynchron mit dem mitgelieferten Harddisk_Player abspielen, um neue Algorithmen zu testen oder mit SIL- und HIL-Tests die Qualität von Komponenten zu validieren. Neben Standarddatenformaten für die Datenströme kann man aber auch ganz neue Formate über eine Data Definition Language (DDL) in XML definieren.

Artikelfiles und Artikellinks

(ID:31204330)