TULIPP-Projekt: Eingebettete Systeme schneller entwickeln

| Redakteur: Sebastian Gerstl

Bild 1: Drohne mit Stereokamera. In dem weißen Kästchen sitzt das eingebettete System, das die leicht versetzten Bilder der beiden Kameras in Echtzeit auswertet und Hindernisse erkennt.
Bild 1: Drohne mit Stereokamera. In dem weißen Kästchen sitzt das eingebettete System, das die leicht versetzten Bilder der beiden Kameras in Echtzeit auswertet und Hindernisse erkennt. (Bild: Fraunhofer IOSB)

Sei es fürs Auto oder die Drohne: Bildverarbeitungssoftware für eingebettete Systeme zu entwickeln nimmt viel Zeit in Anspruch und ist daher teuer. Die Plattform Tulipp erlaubt es nun, energieeffiziente Embedded-Bildverarbeitungssysteme schnell und kostengünstig zu entwickeln – und damit die Zeit bis zur Markteinführung drastisch zu verkürzen.

Auf den ersten Blick haben Drohnen, Fahrerassistenzsysteme und mobile medizinische Diagnosegeräte nicht allzu viel gemeinsam. Doch: Sie benutzen vermehrt Bildverarbeitungskomponenten, etwa für die Hinderniserkennung oder Fußgängerdetektion. Im Falle mobiler Röntgengeräte kann man mit Hilfe der Bildverarbeitung auch bei reduzierter Strahlung ausreichende Bildqualität gewährleisten und somit die Strahlenbelastung erheblich reduzieren.

Im Gegensatz zu einem Arbeitsplatzrechner, wo die Abmessungen und Energieverbrauch nicht wirklich kritisch sind, sind für solche Anwendungen kleine, leichte, energieeffiziente und trotzdem echtzeitfähige Bildverarbeitungskomponenten gefragt. Gängige Computerarchitekturen mit Prozessoren sind für diese Anforderungen keine geeignete Hardwareplattform. Oft kommen deshalb eingebettete Systeme auf Basis sogenannter Field Programmable Gate Arrays (FPGAs) zum Einsatz. Das sind Logikbausteine, deren Schaltungsstruktur sich über eine spezielle Art der Programmierung frei konfigurieren lässt.

Dafür wird in der Regel die hardwarenahe Sprache VHDL verwendet. Das Problem dabei: Die meisten Bildverarbeitungsanwendungen liegen in höheren Programmiersprachen wie C/C++ vor, und ihre Übertragung auf die eingebetteten Systeme ist sehr mühselig. Nicht nur, dass VHDL sich stark von anderen Programmiersprachen unterscheidet – zusätzlich muss noch eine Anpassung auf die jeweilige Hardware erfolgen. So sind selbst bereits vorhandene VHDL-Programme nicht auf andere Hardware übertragbar. Die Software-Entwickler müssen also bei jedem neuen System wieder nahezu bei null anfangen.

Starter-Kit für schnelle Umsetzung besonders energieeffizienter, eingebetteter Systeme

Ein Konsortium, dem acht Partner aus sechs Ländern angehörten – darunter auch das Fraunhofer-Institut für Optronik, Systemtechnik und Bildauswertung IOSB in Karlsruhe – hat dieses Prozedere im Rahmen des Tulipp-Projekts nun erheblich vereinfacht. „Dabei entstand eine Entwicklungsplattform bestehend aus Design-Guidelines, einer konfigurierbaren Hardware-Plattform, einem echtzeitfähigen Betriebssystem, welches Multicore-Prozessoren unterstützt, sowie einer Programmierwerkzeugkette", fasst Dr.-Ing. Igor Tchouchenkov, Gruppenleiter am Fraunhofer IOSB, zusammen. „Darüber hinaus hilft ein Starter-Kit, das von einem unserer Partner im Rahmen von Tulipp auf den Markt gebracht wurde. Mit ihm lassen sich solche Anwendungen viel schneller und einfacher entwickeln. Portierungen von C++-Programmen auf FPGA, an denen ein Entwickler oft mehrere Monate gearbeitet hat, sind mit dem Tulipp-Starterkit innerhalb von wenigen Wochen zu stemmen."

Für den Entwickler heißt das: Ausgehend von der in C++ programmierten Software überlegt er zunächst, welche Code-Bestandteile man auf welche Hardware-Komponenten aufteilt und welche Programmschritte sich optimieren bzw. parallelisieren lassen. Dabei helfen ihm die erarbeiteten Design-Guidelines. Anschließend kommt das Starter-Kit ins Spiel. Es enthält die konfigurierbare Hardware, an die sich die benötigten Sensoren und Ausgabegeräte anschließen lassen, das multiprozessorfähige Echtzeit-Betriebssystem sowie die sogenannte STHEM-Toolchain.

Die darin enthaltenen Anwendungen erlauben es, das C++-Programm so zu optimieren, dass es möglichst einfach und schnell auf die FPGA portiert werden kann. „Ein besonderer Schwerpunkt der Toolchain liegt auf der Energieoptimierung: Schließlich sollen die Bildverarbeitungssysteme möglichst mit einem kleinen Akku auskommen", sagt Tchouchenkov. „In der Toolchain lässt sich der Energieverbrauch daher für jede Code-Funktion einzeln anzeigen und optimieren."

Hundertmal schneller als der High-End-PC

Um die Tulipp-Plattform zu entwickeln und zu testen, hat das Konsortium drei konkrete Anwendungsfälle bearbeitet: Das Forscherteam am Fraunhofer IOSB hat sich den Verfahren zur Hinderniserkennung einer Drohne mit Stereokameras gewidmet, weitere Projektpartner befassten sich mit der Fußgängerdetektion im Umfeld eines Autos sowie der Strahlenreduktion bei Röntgenuntersuchungen während einer Operation. Im Rahmen von Tulipp haben sie entsprechende Bildverarbeitungsverfahren von C++ auf FPGA portiert.

Das Ergebnis kann sich sehen lassen: Die Verfahren, die ursprünglich auf einem High-End-PC mehrere Sekunden für die Analyse eines einzigen Bildes gebraucht haben, laufen nun auf der Drohne in Echtzeit, d.h. es werden nun ca. 30 Bilder pro Sekunde analysiert. Auch die Fußgängerdetektion konnte in punkto Schnelligkeit um einen Faktor von hundert gesteigert werden: Statt einem Bild pro sieben Sekunden schafft das System nun 14 Bilder pro Sekunde. Und die Strahlung bei Röntgenuntersuchungen konnte aufgrund vorgeschalteter Filter und besserer Bildauswertung auf ein Viertel reduziert werden. Gleichzeitig konnte der Energieverbrauch aller drei Anwendungen um ein Vielfaches verringert werden.

Wie sich x86-Starterkits in der Serienproduktion einsetzen lassen

Embedded

Wie sich x86-Starterkits in der Serienproduktion einsetzen lassen

15.09.16 - Embedded-Module vereinfachen die Entwicklung. Dennoch ist der Weg zum kundenspezifischen Gesamtsystem i oft langwieriger als gedacht. Aber es gibt Abhilfe. lesen

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46170777 / Embedded Systeme)