3D-Visualisierungswerkzeuge für die Entwicklung und Präsentation von Fahrerassistenzsystemen Jesko Klandt, Dr. Geerd Anders Carmeq GmbH Carnotstr. 4, 10587 Berlin, +49.30.3983537-258 jesko.klandt@carmeq.com, geerd.anders@carmeq.com Dieser Beitrag stellt einen Ausschnitt der Aktivitäten der Carmeq GmbH in der 2D/3D- Visualisierung für die Entwicklung und Entwicklungsunterstützung im Bereich der Fahrerassistenzsysteme vor. Im Fokus der Anwendung der Software CarScope befinden sich dabei Test- und Entwicklungsszenarien, in denen regelmäßig wiederkehrende Visualisierungsaufgaben von Applikations- und Sensordaten kontextunabhängig realisiert werden können. Carmeq Carmeq konzipiert, entwickelt und integriert softwarebestimmte Systeme für die Automobilindustrie. Zusammen mit Herstellern und Zulieferern bewältigen wir die Komplexität innovativer Systeme und Architekturen. Mit Hilfe fortschrittlicher Technologien und Prozesse optimieren wir Unternehmensabläufe und entwickeln spezifische Software für Automobilelektronik. Als Tochter des Volkswagen-Konzerns arbeiten wir für die gesamte Automobil- und Zulieferindustrie. CarScope Augen für die Technik Das Entwicklungswerkzeug CarScope dient der Darstellung systeminterner technischer Vorgänge, welche aufgrund der steigenden Komplexität der Anforderungen, der Applikationen und der immer umfassender werdenden Sensorinformationen zunehmend schwerer in kurzer Zeit zu erfassen sind. In vielen Bereichen der Forschung, der Vor- und Serienentwicklung von Fahrerassistenzsystemen stehen die Ingenieure vor ganz ähnlichen Herausforderungen, ein umfassendes und vollständiges Verständnis für die Funktionsweise heterogener technischer Systeme und das Zusammenspiel der Einzelkomponenten zu entwickeln. Die sehr gut entwickelte, visuell-räumliche Kognition des Menschen kann bei dieser Aufgabe wertvolle Dienste leisten. CarScope bildet das Bindeglied zwischen dieser Fähigkeit des Menschen und der Datenebene des betrachteten Systems.
Komplexe Technik in komplexer Umgebung In den vergangenen Jahren sind Fahrerassistenzsysteme immer weiter in den Vordergrund der Forschung und Entwicklung innerhalb der Automobilindustrie und auch weit in die öffentliche Wahrnehmung gerückt. Immer öfter, wenn von intelligenten Fahrzeugen die Rede ist, werden Funktionen wie Parklenkassistenz, Notbremsfunktionen oder Warnsysteme in kritischen Situationen genannt. Der Trend hin zu Fahrzeugfunktionen, die den Fahrer in Grenzsituationen unterstützen oder mit Hilfe von Komfortfunktionen dem Fahrer zur Hand gehen, ist klar erkennbar und wird sich in den nächsten Jahren weiter verstärken. Immer öfter sind es genau diese Funktionen, die zur Differenzierung von Konkurrenzfahrzeugen beitragen und die Innovationsführerschaft in einem Segment unterstreichen. Ebenso klar erkennbar ist der Trend zu immer umfassenderen Funktionen, die im Kontext komplexer werdender Anforderungen in Sekundenbruchteilen Abbildung 1: Fahrszene mit Video, Straße und mehreren Fahrzeugen. tragfähige Entscheidungen treffen müssen. Für deren Entwicklung benötigen Ingenieure, neben systematischen Tests und anderer bewährter Techniken, Werkzeuge, mit denen zu jedem Zeitpunkt jeder Aspekt einer Funktion in jeder Granularität visuell erfassbar ist. Für viele dieser Aufgaben gibt es bereits maßgeschneiderte Software-Werkzeuge, für andere Bereiche, z. B. der direkten Visualisierung aus Applikationen, ist das Angebot derzeit unzureichend. Grundprinzipien CarScope CarScope setzt genau an dieser Stelle an und stellt die Möglichkeit zur Verfügung, die innere Sicht der Anwendung sowie aktuelle Sensor- und Fahrzeugdaten in eine räumliche, äußere Ansicht zu überführen. Dabei stand im Vordergrund, eine für den Bereich der Fahrerassistenzsysteme möglichst allgemeingültige, zukunftsorientierte Lösung zu finden, welche über viele unterschiedliche Projekte, Konfigurationen und Szenarien hinweg einsetzbar ist.
Entscheidende Aspekte wurden definiert: Abbildungstreue: Bewusst wurde beim Entwurf der Visualisierung versucht, von konkreten Anwendungsszenarien zu abstrahieren und die atomaren Darstellungsprimitiven zu identifizieren, welche in möglichst vielen Szenarien eine Rolle spielen, ohne eine applikationsspezifische Ausprägung zu besitzen. CarScope ist eine 2D/3D-Visualisierung und beinhaltet keinerlei Simulation. Simulationen sind wichtige Bausteine in der Automobilentwicklung, hängen jedoch stark vom Anwendungsfall, der verwendeten Sensorik und Aktorik ab. CarScope kann sich auf tatsächliche oder simulierte Daten beziehen, ist aber eine reine Visualisierung, die in sehr unterschiedlichen Szenarien zum Einsatz kommt und daher keine Annahmen über den darzustellenden Inhalt trifft. Genau wie jede andere Software kann aber auch eine externe Simulation ihre Ergebnisse über die vorhandene Schnittstelle in CarScope darstellen. Entwicklungssysteme: Die Schnittstelle wurde so gestaltet, dass sie in möglichst vielen Entwicklungssystemen zum Einsatz kommen kann. Die vorhandene C-Schnittstelle lässt sich Abbildung 2: Überlagerung Video / Laser mit Hilfe eines halbtransparenten Videobildes
sowohl in C++ als auch in Matlab/Simulink, Vektor CANalyzer, dspace Autobox und viele andere Werkzeuge integrieren. CarScope kann ebenso als ADTF-Plugin betrieben werden. Mehrquellenfähigkeit: Viele verschiedene Systeme können ihre Informationen gleichzeitig in einer grafischen Darstellung vereinen. In einem komplexen System, dessen Informationsverarbeitung stark heterogen verteilt ist, bietet sich hier die Möglichkeit einer zentralen Darstellung. Netzwerkfähigkeit: CarScope basiert auf einem Client/Server-Protokoll, d. h., das grafische Ausgabefenster fungiert als zentrale Visualisierung (Server), welche ihre Informationen von verschiedenen Programmen und Softwareprozessen (Clients), von unterschiedlichen Betriebssystemen und Prozessorarchitekturen netzwerkweit bezieht. Die Transportebene wird sowohl synchron als auch asynchron über UDP realisiert. CarScope ist im Windows-Betriebssystem lauffähig, kann aber prinzipiell von allen Systemen angesteuert werden, die dieses Netzwerkprotokoll zur Verfügung stellen. Echtzeitfähigkeit: CarScope stellt Informationen unmittelbar nach deren Empfang dar. Möglich wird dies durch die Nutzung der Grafikkartenhardware zur visuellen Darstellung. Viele moderne Grafikkarten sind für die flüssige Wiedergabe von 3D-Computerspielen optimiert und unterstützen gängige grafische Beschreibungssprachen wie OpenGL oder DirectX, um räumliche Situationen spielend darzustellen. Dies wird von CarScope, wenn auch mit einem völlig anderen Hintergrund, in ganz ähnlicher Weise verwendet. Szenentreue Abbildung: In der Realität besitzt jeder Sachverhalt eine innere Struktur, die ebenso in CarScope abgebildet wird bzw. werden kann. So wird z. B. die Struktur-Beziehung Umwelt Fahrzeug Sensor Sensordaten in CarScope mit eben dieser Eltern-Kind- Beziehung abgebildet, so dass beispielsweise die Sensordaten zur Darstellung in der Umwelt nicht in globale Koordinaten transformiert werden müssen. Einfache Integration: Zur Darstellung von Informationen genügt die Integration einfacher Schnittstellenbefehle in die Anwendungen, um selbst komplexe Sachverhalte in relativ kurzer Zeit darstellen zu können.
Darstellungsprimitive Das Funktionsprinzip von CarScope ähnelt einem Baukasten. Viele atomare Darstellungsobjekte können miteinander kombiniert werden und bilden in ihrer Gesamtheit beliebig komplexe, strukturierte Szenarien ab. Folglich sind alle Bilder in diesem Beitrag mit Hilfe nur einer Version von CarScope entstanden. Bisher realisierte Darstellungsprimitiven: 3D Fahrzeuge Strahlsensor Sensordaten Linien Kreise Flächen Vierecke Marker Pfeile Bitmap z. B. 2D-Belegungskarte Höhenkarten Bilder Text Ursprung des Koordinatensystems Video Fahrbahn Signalverläufe Da die Entwicklung von CarScope nicht abgeschlossen ist, wird diese Liste ständig um weitere Elemente ergänzt. Um jeden Aspekt der Szenen betrachten zu können, lassen sich Abbildung 3: Interaktive Abstandsmessung mit Hilfe der Maus
der virtuelle Kamerapunkt und Blickwinkel mit der Maus frei bewegen oder über die Programmierschnittstelle festlegen. Durch die getrennte Festlegung von Kameraposition und Betrachtungspunkt, der jederzeit im Auge behalten wird, lassen sich auch komplexe Kamerafahrten einfach realisieren. Objekte können frei in die virtuelle Welt von CarScope platziert werden, aber auch alternativ an die virtuelle Kamera des Betrachters gekoppelt werden, damit sich z. B. Text oder Video auch nach Veränderung der Kamera- und Zoomeinstellungen im Blickfeld des Betrachters befinden. Im 2D-Modus können alle Abstände mit dem Vermessungswerkszeug vermessen werden (siehe Abbildung 3). Transparenz Alle Darstellungsprimitiven können nicht nur in ihrer Farbe festgelegt werden sondern ebenso in ihrer Transparenz. Damit kann bspw. die Wahrscheinlichkeit einer Hypothese intuitiv dargestellt oder auch eine Kombination von 2D- und 3D-Informationen vorgenommen werden. Die Kombination von halbtransparenter Videoleinwand und Entfernungsinformationen liefert z. B. eine völlig neue Interpretationshilfe für die Daten eines Lasersensors (siehe Abbildung 2 und Abbildung 4). Abbildung 4: Überlagerung von Video und Laser-Entfernungsdaten
Anwendungsszenarien Anwendungen für die Visualisierung von Messdaten lassen sich in sehr vielen Bereichen in Forschung, Vorentwicklung und Serienentwicklung finden. Innerhalb der Bereiche Forschung und Vorentwicklung stellt sich oftmals die Frage nach der Güte und Eignung von Sensorik für eine dezidierte Fragestellung. Ebenso erfordert die prototypische Realisierung eines Versuchsträgers, der oft aus mehreren Teilkomponenten besteht, die integrale Sicht auf das Gesamtsystem. Damit kann eine evtl. Fehlfunktion der Sensorik bzw. der Applikationssoftware während der Entwicklung und Tests nachgewiesen werden. Für die anschließende offline -Auswertung der aufgezeichneten Daten und Weiterentwicklung der Applikation ist die visuelle Darstellung der System- und der Messdaten ebenfalls von entscheidender Bedeutung. Abbildung 5: Vermessungsszene mit Hindernisinformationen Auch in der Serienentwicklung kann CarScope wichtige Fragestellungen schnell und präzise beantworten. Die Kontrolle der korrekten Funktion der vom Entwicklungspartner gelieferten Softwarekomponenten kann zusätzlich zu den erforderlichen systematischen Tests mit Hilfe einer intuitiven Visualisierung wertvolle Hinweise liefern. Die an den Schnittstellen der Komponenten anfallenden Daten und Entwicklerbotschaften enthalten zwar die notwendigen
Informationen, gewinnen aber durch grafische Aufbereitung erheblich an Transparenz. Eine dreidimensionale Darstellung des Sachverhaltes kann systematische Tests nicht ersetzen, aber den Aufwand für die erforderliche Kontrolle reduzieren und dem Auftraggeber die Sicherheit geben, dass die gelieferten Softwarekomponenten der zugrundeliegenden Anforderung entsprechen. Ein weiteres Problem, das in allen Bereichen eines Entwicklungsprozesses auftritt, ist die schnelle und präzise Vermittlung von Zweck und Funktionsweise einer Anwendung. Was hilft die beste Idee, wenn die richtigen Kollegen und Entscheidungsträger nicht von der Zweckmäßigkeit und Funktionstüchtigkeit der Komponente überzeugt sind? Hier kann eine grafisch ansprechende, intuitive Visualisierung überzeugende Argumente liefern und dabei helfen, entscheidende Weichen für die Zukunft einer Idee zu stellen. Abbildung 6: Darstellung von 3D Laserentfernungsdaten (hier 75.000 Punkte) eines Sensors
Abbildung 7: Verschiedene Fahrzeugmodelle in einer Szene Abbildung 8: Situation mit Fremdfahrzeugen
Abbildung 9: Beispiel der Höhendarstellung einer Karte mit Belegungswahrscheinlichkeiten Zusammenfassung CarScope bietet die Möglichkeit, Sensor-, Fahrzeug- oder Anwendungsdaten ohne großen Programmieraufwand in 2D- oder 3D-Sicht darzustellen und schließt damit eine bisher bestehende Lücke in der Online/Offline-Darstellung von aktuellen Messdaten im Bereich der Fahrerassistenzsysteme. CarScope-Elemente lassen sich nach dem Baukastenprinzip beliebig kombinieren, strukturieren und flexibel im Netzwerk unterschiedlicher Plattformen darstellen. Damit stellt CarScope die Möglichkeit zur Verfügung, in verteilten Systemen mit Hilfe einer zentralen Visualisierung die Übersicht zu behalten und jederzeit den Zustand aller Teilkomponenten eines Gesamtsystems im Auge zu behalten. Darüber hinaus liefert CarScope die Möglichkeit, die Präsentation einer Applikation durch visuelle Argumente zu unterstützen.
Die Autoren: Dipl.-Ing. Jesko Klandt geb. 1970 in Berlin studierte ab 1990 an der Technischen Universität Berlin Informationstechnik im Maschinenwesen. Von September 1995 bis März 2006 arbeitete er im Bereich Fahrerassistenzsysteme der Forschung der DaimlerChrysler AG unter anderem an der Entwicklung von Parkhilfesystemen. Seit April 2006 ist er Mitarbeiter der Carmeq GmbH. Dr.-Ing. Geerd Anders geb. 1971 in Berlin studierte ab 1990 an der Technischen Universität Berlin Luft- und Raumfahrttechnik. Er promovierte im Mai 2001 am Institut für Luft- und Raumfahrt im Fachgebiet Flugführung und Luftverkehr. Zwischen 2001 und 2003 war er Leiter der Berliner Niederlassung der Avitech Aviation Management Technologies GmbH. Seit Juni 2003 ist er Mitarbeiter der Carmeq GmbH und leitet dort das Business Team Umfeldsensorik.