Herausforderungen bei Sensorschnittstellen für autonome Anwendungen

Veröffentlicht: 25.04.2017

Jacob Perrin, Applications Engineer, dSPACE Inc.

In den letzten Jahren hat der Bedarf an Fahrerassistenzsystemen (ADAS) und aktiven Sicherheitssystemen einen beispiellosen Höchststand erreicht. Unternehmen aus der Automobilindustrie suchen den Einstieg in den Markt der autonomen Fahrzeuge. Daher investieren Ingenieure viel Zeit und Aufwand in die Integration der vielen verfügbaren Sensoren.

Diejenigen, die sich mit Sensorfusion beschäftigen, erkennen die damit verbundenen Herausforderungen wie beispielsweise Multithread-Programmierung, Zeitstempeln und Resynchronisieren von Daten, Messung und Schätzung von Datenlatenzen, Systemoptimierung und Leistungsbewertung, Wiederverwendung von Code und Pflege von Software-Anwendungen. Die Liste ließe sich endlos fortsetzen.

Ein Lösungsansatz für manche Unternehmen ist die Entwicklung eigener oder die Anpassung bestehender Werkzeuge, die aber für die Echtzeit-Sensorfusion ungeeignet sind. Die Unternehmen, die eigene Werkzeuge entwickelten und pflegen mussten, befanden diese oftmals als unzureichend.

Der modellbasierte Entwurf ist seit langem eine wichtige Säule im eingebetteten automobilen Entwicklungsprozess. Denn es ist allgemein bekannt, dass modellbasierte Design-Ansätze die Entwicklungseffizienz steigern, die Produktqualität erhöhen und die Kosten senken.

Ein ähnlicher Ansatz ist notwendig, um die Herausforderungen der Sensorfusion anzugehen. Sie wird Ingenieure dabei unterstützen, sich auf die Entwicklung von Kernalgorithmen zu konzentrieren, indem sie den Aufwand für das Schreiben von Treibern für Sensorschnittstellen, Datensynchronisation usw. reduziert.

dSPACE hat mit dem in Paris ansässigen Unternehmen Intempora und seinem Produkt RTMaps (Real-time Multisensor Applications) die Lösung für diese technische Herausforderung gefunden. dSPACE und Intempora sind eine Partnerschaft für den internationalen Vertrieb eingegangen, so dass dSPACE seinen Kunden RTMaps direkt zur Verfügung stellen kann.

RTMaps ermöglicht es dem Anwender, neue Algorithmen und neue Systeme durch eine grafische, modulare Umgebung effizient zu entwickeln. Dadurch können Ingenieure auf einfache Weise Funktionen testen und auswerten, die auf verschiedenen Sensoren basieren oder in verschiedenen Konfigurationen und unterschiedlichen Verarbeitungs- und Datenfusionsstrategien vorliegen. Die Optionen von RTMaps zur Datenaufzeichnung und Echtzeitwiedergabe ermöglichen es, offline an realen Daten zu arbeiten, um Sensoren und Algorithmen zu entwickeln und zu vergleichen.

In den USA setzen immer mehr unserer Kunden dieses Werkzeug ein, daher existieren bereits zahlreiche Anwendungsfälle für RTMaps. Wenn Entwickler anfangs mit dem ADAS-Pool arbeiten, beschäftigen sie sich vor allem mit dem Problem der Anbindung an die verschiedenen Sensoren unterschiedlicher Hersteller. Dies ist eine gewaltige Aufgabe, und es kann Wochen oder gar Monate dauern, bis geeignete Schnittstellen entwickelt sind, um die Daten zu sammeln, zu synchronisieren und für die weitere Verarbeitung zur Verfügung zu stellen.

Mit RTMaps ist die Erfassung und Aufzeichnung der Daten eines Sensors mit wenigen Klicks erledigt. Das heißt, es ist keine Neuentwicklung der gleichen grundlegenden Gerätetreiber/SDK-Schnittstelle nötig, für die fast jedes Unternehmen bisher Engineering-Ressourcen investieren musste, ohne dass dabei geistiges Eigentum entsteht. In der RTMaps-Umgebung ziehen Sie einfach die RTMaps-Komponente für Ihren Sensor in das Diagramm, klicken auf Ausführen und können dann den Datenstrom visualisieren, bearbeiten und integrieren.

RTMaps – ein modulares Multithread-Framework für echtzeitfähige Multisensoranwendungen

Nachdem die Daten aus dem Sensor extrahiert wurden, stellt sich die Frage, was als nächstes geschehen soll. Software-Komponenten, die die Daten verarbeiten, befinden sich hinter der ursprünglichen Sensorschnittstelle. Falls noch keine Software-Komponente für Ihre Anwendung existiert, kann diese mit dem mitgelieferten C++/Python SDK erstellt werden. Sie können mit dem SDK auch Komponenten für zusätzliche Sensorschnittstellen erstellen. Häufig liefern Sensoranbieter eine Bibliothek für die Anbindung an einen Sensor gleich mit. Mit Hilfe dieser APIs lässt sich eine Komponente in Stunden oder Tagen bauen.

dSPACE und unsere Partner bei Intempora haben Erfahrung mit der Entwicklung von kundenspezifischen Komponenten. Wenn wir eine Komponente erstellen, wird sie in der Regel innerhalb weniger Tage in den Rolling-Release-Plan von RTMaps integriert, so dass alle RTMaps-Anwender die Komponente nutzen können. Allerdings sind mehrere voralgorithmische Komponenten enthalten, die für den Einsatz in Ihrer eigenen Anwendung genutzt werden können. Ein typisches Beispiel dafür ist ein standardmäßiges Komponentenpaket mit zahlreichen OpenCV-Funktionen, zusätzlich zu einer Vielzahl anderer Verarbeitungskomponenten.

Viele unserer RTMaps-Kunden gehen heute einfach zum Kunden, erfassen Daten und nutzen diese im Labor, um ihre Algorithmen zu verfeinern oder die Leistungsfähigkeit von Sensoren zu bewerten. Eine der hervorstechendsten Eigenschaften von RTMaps ist die Möglichkeit, Daten in einem standardisierten Format zu sammeln und dann synchron so wiederzugeben, als ob der Datenstrom direkt von den Sensoren kommen würde. Videodateien können als Rohdatenbilder (AVI, MPG, binär etc.) gespeichert werden. Sensorschnittstellen lassen sich direkt in .m-Dateien speichern, um sie in der MATLAB®-Umgebung zu verwenden. Kunden können sogar eigene Aufnahmeformate definieren. Eine Aufgabe, die für diese Anwender viel einfacher geworden ist.

RTMaps bietet auch die Möglichkeit der verteilten Ausführung. Dadurch wird es möglich, dass die Daten von verschiedenen Plattformen gesammelt werden können. Für ihre Wiedergabe verwendet die Player-Komponente einfach die .rec-Datei, die die Zeitstempel aus jeder dieser unabhängigen Datenquellen zusammenträgt und die Daten synchron wiedergibt. Zeitstempel können entweder über die Systemuhr oder über eine Geräteuhr erzeugt werden, zum Beispiel die UTC-Zeit von einem GPS.

Bei der Systemuhr ist es notwendig, Betriebssysteme zu verwenden, die RTMaps unterstützen. RTMaps ist Middleware, das heißt, es wird nur so gut funktionieren wie das zugrunde liegende System (Prozessor, Hardware-Beschleuniger, Betriebssystemoptimierungen etc.).

Für optimale Performance verwendet RTMaps mehrprozessgestützte, kopierfreie, ereignisbasierte Verarbeitungsmechanismen. Die derzeit unterstützten Systemarchitekturen sind x64/x86 unter Windows und Linux. Intempora wird jedoch bald eine neue Version von RTMaps namens RTMaps Embedded veröffentlichen. Diese Version wird die RTMaps-Engine erweitern, um ARM-Prozessoren eingebettet und entwicklungsübergreifend anzusprechen. Damit will Intempora Zielsysteme mit serienreifen Betriebssystemen wie QNX und Green Hills unterstützen.

Während Intempora die Veröffentlichung seiner neuen Software vorbereitet, wird dSPACE eine neue Hardware-Plattform herausbringen, die für den Einsatz als eingebettete Zielplattform optimiert ist. Diese neue Plattform wird über Schnittstellen wie GigE, GMSL, CAN/CAN FD, LIN, GNSS/IMU, USB, HDMI, WLAN, LTE und Bluetooth verfügen. Alle sind mit einer Sechskern-ARM-CPU und dem neuesten NVIDIA-Grafikprozessor gekoppelt. Diese als MicroAutoBox Embedded SPU (Sensor Processing Unit) bezeichnete Plattform ist die robuste Lösung für den Einsatz im Fahrzeug, nach der unsere Kunden gefragt haben. In Verbindung mit der MicroAutoBox II ermöglichen die beiden kombinierten Plattformen das Prototyping von sowohl der Perzeptions- als auch der Steuerungsanteile seiner autonomen Lösungen.

RTMaps ist eine interessante Ergänzung in der dSPACE Werkzeugkette, die immer häufiger eingesetzt wird. Es hat mir sehr viel Spaß gemacht, mit unseren Kunden an ihren autonomen Systemlösungen zu arbeiten. Alle unsere Kunden waren mit den Ergebnissen zufrieden. Ein Kunde stellte RTMaps auf die Probe, indem er zwei Mitarbeiter in den USA gegen ein Dutzend Ingenieure im Ausland antreten ließ. Beide Teams versuchten, eine Vielzahl von Sensoren anzubinden, um eine Lösung für die Perzeption in ihren Fahrzeugen zu finden. Innerhalb weniger Wochen konnte das US-Team mit RTMaps alle Sensoren anbinden und in einem Koordinatensystem platzieren. Monate später arbeitete das andere Team immer noch an der manuellen Codierung der vorläufigen Schnittstelle zu nur einem der Sensoren. Zu diesem Zeitpunkt hatte unser Kunde das Projekt fast abgeschlossen und ist seitdem ein großer Fan von RTMaps.

RTMaps ist ein leistungsstarkes Werkzeug, und ich freue mich darauf zu sehen, wie es eingesetzt wird, um das Rennen um die Pole Position im autonomen Fahren weiter anzufeuern.

Weiterführende Informationen Produktinformationen

Newsletter abonnieren

Abonnieren Sie unsere Newsletter, oder verwalten oder löschen Sie Ihre Abonnements