Schwerpunkte

Entwicklungsplattform vorgestellt

Embedded-Systeme schneller entwickeln

01. Oktober 2019, 15:06 Uhr   |  Tobias Schlichtmeier

Embedded-Systeme schneller entwickeln
© Fraunhofer IOSB

Die Stereokamera und das eingebettete System aus der Drohne.

Um Bildverarbeitungssoftware für Embedded-Systeme zu entwickeln, muss der Entwickler Programmcode mühsam von einer in die andere Sprache übersetzen. Meist von C++ in einen FPGA-Code. Um den Vorgang zu beschleunigen, hat ein EU-Konsortium jetzt eine Entwicklungsplattform geschaffen.

Immer öfter kommen in der Entwicklung Bildverarbeitungskomponenten zum Einsatz, zum Beispiel für Drohnen, Fahrerassistenzsysteme oder mobile Röntgengeräte. Als Plattform für die Komponenten dienen meist Embedded-Systeme auf FPGA-Basis. Als Programmiersprache für die FPGAs dient meist VHDL. Bildverarbeitungsanwendungen liegen jedoch meist in C oder C++ vor, weshalb der Entwickler den Programmcode mühsam übersetzen muss. Außerdem ist die Hardware anzupassen, was nicht immer möglich ist. So kommt es vor, dass Software-Entwickler bei Anwendungen zur Bildverarbeitung wieder bei null anfangen.

Programmcode schneller umwandeln

Um das Ganze zu umgehen, hat ein Konsortium aus sechs Ländern im Rahmen des »Tulipp-Projekts« eine Entwicklungsplattform geschaffen. Die Plattform besteht aus Design-Richtlinien, einer konfigurierbaren Hardware-Plattform, einem echtzeitfähigen Betriebssystem sowie einer Programmierwerkzeugkette.

Darüber hinaus

hilft ein Starter-

Kit, mit dem sich solche Anwendungen viel schneller und einfacher

entwickeln lassen. Portierungen von C++

-Programmen auf FPGA, an de

nen ein Entwickler oft

mehrere Monate gearbeitet hat, sind mit dem

Starter-Kit innerhalb weniger

Wochen zu stemmen.

Konkret heißt das für den Entwickler: Ausgehend von der in C++ programmierten Software

überlegt er, welche Code

-Bestandteile auf welche Hardware

-Komponenten aufzuteilen sind und welche Programmschritte sich optimieren lassen.

Dabei helfen

die erarbeiteten Design

-Richtlinien. Anschließend kommt das Starter-Kit zum Einsatz. 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 Programmierwerkzeugkette. 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.

Fraunhofer Embbeded-Systeme

Drohne mit Stereokamera
Das Videobild einer der beiden Kameras der Drohne.
Bild mit Tiefeninformation.

Alle Bilder anzeigen (4)

Auch Algorithmus wird beschleunigt

Zu den Projektpartnern bei der Entwicklung der Tulipp-Plattform zählt auch das Fraunhofer Institut für Optronik, Systemtechnik und Bildauswertung IOSB in Karlsruhe. Um die Werkzeuge bei der Code-Transformierung zu testen, wurden drei konkrete Anwendungsfälle herangezogen. Ein Forscherteam beschäftigte sich mit dem Verfahren zur Hinderniserkennung einer Drohne mit Stereokameras, ein anderes mit der Fußgängerdetektion bei autonomen Fahrzeugen und ein drittes mit der Live-Bildverbesserung bei Röntgenaufnahmen.

Das Ergebnis war für das Forscherteam zufriedenstellend. So wurde nachgewiesen, dass sich mit dem Entwicklungs-Kit nicht nur die Programmierung des Codes beschleunigt, auch der Bildverarbeitungs-Algorithmus läuft auf dem Embedded-System deutlich schneller als auf C++-Basis. Die Verfahren, die ursprünglich auf einem Hochleistungs-PC mehrere Sekunden für die Analyse eines einzigen Bildes gebraucht haben, laufen auf der Drohne in Echtzeit. So werden etwa 30 Bilder pro Sekunde analysiert. Auch die Fußgängerdetektion wurde in punkto Schnelligkeit um den Faktor hundert gesteigert: Statt einem Bild pro sieben Sekunden schafft das System 14 Bilder pro Sekunde. Die Strahlung bei Röntgenuntersuchungen wurde aufgrund vorgeschalteter Filter und besserer Bildauswertung auf ein Viertel reduziert. Gleichzeitig verringerte sich der Energieverbrauch aller drei Anwendungen um ein Vielfaches.

Somit erreicht Entwickler bei Einsatz der Entwicklungsplattform eine schnellere Programmierung, eine Beschleunigung der Algorithmen sowie eine Verringerung des Energieverbrauchs.

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen

Das könnte Sie auch interessieren

Kapazitätssteigerung von Li-Ionen-Akkus
Künstliche Intelligenz erforscht dunkle Materie im Universum
Mit der Genucard 3 sicher kommunizieren

Verwandte Artikel

Fraunhofer IOSB (Institut für Optronik, Systemtechnik und Bildauswertung)