Suchen

Datenzusammenführung

Sensor-Fusion für Embedded-Vision-Applikationen

Seite: 4/4

Firmen zum Thema

Zwei unterschiedliche Architekturbeispiele

Die Entwicklung des oben erwähnten Algorithmus zur Objekterkennung und Entfernungsmessung kann für ein homogenes oder heterogenes System mit All Programmable SoC ausgeführt werden. Während die Sensortypen für beide Applikationen unterschiedlich sind, verfolgen beide Architekturen das Ziel, zwei Datensätze im DDR-Speicher des Prozessorsystems zu platzieren und die mit der programmierbaren Logik verfügbare Performance zu maximieren.

Die Implementierung des homogenen Systems zur Objekterkennung erfordert den Einsatz identischer Sensortypen. In diesem Fall ist das ein CMOS-Bildsensor. Das hat den Vorteil, dass man nur eine Bildbearbeitungskette entwickeln muss, die in der programmierbaren Logik zweifach, für beide Bildsensoren, eingerichtet wird.

Einer der Vorteile und Kriterien beim Einsatz stereoskopischer Vision-Systeme ist die homogene Architektur. Allerdings erfordert sie die Synchronisierung beider Bildsensoren. Die parallele Implementierung beider Bildbearbeitungsketten innerhalb der programmierbaren Logik und die Nützung desselben Takts innerhalb der programmierbaren Logik (mit den passenden Constraints) helfen bei der Erfüllung dieser nicht zu unterschätzenden Anforderung.

Die Berechnung der Parallaxe involviert eine intensive Verarbeitung. Doch die Möglichkeit der zweifachen Implementierung derselben Bildbearbeitungskette resultiert insgesamt in einer signifikanten Einsparung von Entwicklungskosten.

Die Architektur des in Bild 2 dargestellten homogenen Ansatzes zeigt die beiden Bildbearbeitungsketten, die überwiegend auf verfügbaren IP-Blöcken basieren. Die Bilddaten werden über den bereits besprochenen IP-Modul für die Sensor-Schnittstelle erfasst und vom Parallelformat in einen AXI-Stream konvertiert. Das erlaubt die Realisierung einer einfach erweiterbaren Bildbearbeitungskette. Außerdem kann man die Ergebnisse der Bildbearbeitung in den DDR des Prozessors transferieren. Dazu verwendet man den High-Performance AXI Interconnect in Kombination mit dem Video-DMA.

Bei genauerer Betrachtung des heterogenen Beispiels mit seinen unterschiedlichen Sensortypen könnte man die Architektur der Objekterkennung wie oben beschrieben auch mit der Distanzmessung per Radar kombinieren. Zur Implementierung des Radar-Systems gibt es zwei Optionen: mit gepulstem (Doppler-) Verfahren oder Dauerstrich. Die Entscheidung, welches Verfahren man wählt, hängt von den Anforderungen der Endanwendung ab. Doch beide verfolgen eine ähnliche Strategie.

Die Architektur des Ansatzes mit Radar-Sensoren (Bild 3) lässt sich in zwei Bereiche aufspalten: Signalerzeugung und Signalempfang. Die Signalerzeugung generiert das kontinuierliche Signal oder den Impuls zur weiteren Verarbeitung. Beide Verfahren erfordern, dass der IP-Modul zur Signalerzeugung eine Schnittstelle für einen High-Speed Digital-Analog-Wandler bereitstellt.

Auch der Signalempfang erfordert den Einsatz eines High-Speed Wandlers - in diesem Fall A-D - um das empfangene, kontinuierliche oder gepulste Signal zu erfassen. Zur Signalverarbeitung verwenden beide Verfahren eine FFT-basierte Analyse, die in der programmierbaren Logik implementiert ist. Auch hier kann man die resultierenden Daten per DMA in den DDR des Prozessors übertragen.

Unabhängig davon, welche Architektur man zur Implementierung wählt, wird der Fusionsalgorithmus beider Datensätze im Prozessor per Software ausgeführt. Fusionsalgorithmen können sehr intensiv hinsichtlich der erforderlichen Prozessor-Bandbreite sein. Eine praktikable Option für höhere Performance ist der Einsatz der verfügbaren Tool-Sets, insbesondere der SDSoC Entwicklungsumgebung.

Mit dem Einsatz des SDSoC hat man die Möglichkeit des nahtlosen Transfers von Software-Funktionen zwischen dem Prozessor und der programmierbaren Logik eines SoC. Dies geschieht mit Hilfe von Vivado HLS und einem Konnektivitäts-Framework. Beide sind für den Software-Entwickler transparent.

Natürlich wird man bevorzugt die High-Level Synthese zur Entwicklung der Funktionalität der Bearbeitungsketten beider Implementierungen, homogen wie heterogen, verwenden. Wir können dieses Vorgehen aber noch einen Schritt weiter treiben und eine kundenspezifische SDSoC-Plattform für die gewählte Implementierung erstellen. Anschließend nutzt man die Leistungsfähigkeit des SDSoC zum Einsatz der freien Logik-Ressourcen zur weiteren Erhöhung der Performance des gesamten Embedded Vision Systems.

Die Sensor-Fusion ist inzwischen in zahlreichen Embedded-Applikationen fest etabliert. Embedded-Vision-Systeme verzeichnen ein signifikantes Wachstum, und auch die Sensoren entwickeln sich in ihren Fähigkeiten rapide weiter. Die von den All Programmable FPGAs und SoCs bereitgestellte Funktionalität ermöglicht es, mehrere Sensortypen parallel zu betreiben und wie erforderlich zu synchronisieren. Die Fusion der Daten und Entscheidungsvorgänge erfolgt entweder im Prozessorsystem des SoC oder in einem Softcore-Prozessor. System- und High-Level Synthese-Tools wie SDSoC und Vivado HLS bieten also zahlreiche Vorteile bei der Entwicklung der Applikation. Dazu zählt vor allem die sichere Einhaltung der geforderten Zeitvorgaben.

* Adam Taylor ist selbständiger Embedded Systems Consultant und Autor der MicroZed Chronicles zur Benutzung der Zynq-Reihe von Xilinx.

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