Bildverarbeitung Wie ein FPGA die optische Inspektion beschleunigen kann

Autor / Redakteur: Carlton Heard * / Dipl.-Ing. (FH) Hendrik Härter

Ein schnellerer Testdurchsatz bei der optischen Inspektion ist dank besserer Prozessoren kein Problem. Zudem wird die Bildverarbeitung bei der Inspektion dank FPGAs effizienter.

Firmen zum Thema

Verbesserte Inspektion: Bildverarbeitungssysteme wie das NI CVS-1457RT kombinieren einen FPGA mit einem Prozessor zur nahtlosen I/O-Synchronisation.
Verbesserte Inspektion: Bildverarbeitungssysteme wie das NI CVS-1457RT kombinieren einen FPGA mit einem Prozessor zur nahtlosen I/O-Synchronisation.
(Bild: National Instruments)

Die Bilderfassung und -verarbeitung als Bestandteil von Produktionsanlagen ist kein neuer Trend, denn Kameras werden bereits seit vielen Jahren für die automatisierte Prüfung, für die Steuerung von Robotern und für Sortiermaschinen eingesetzt. Allerdings werden Systeme immer komplexer und auch die Leistungsanforderungen sind strikter. Verbesserte Prozessoren sorgen für Fortschritte beim Durchsatz für Systeme zur Bilderfassung und -verarbeitung, da die Bearbeitung der Bilder in vielen Produktionsumgebungen nicht länger einen Engpass darstellt. Einfluss auf die Inspektion hat die erhöhte Geschwindigkeit, denn dadurch gestaltet sich die Synchronisierung schwieriger.

Bildergalerie

Das Bildverarbeitungssystem ist nur ein Teil eines aus mehreren Systemen zusammengesetzten Puzzles, das mit weiteren Geräten sowie I/O synchronisiert werden muss, um innerhalb einer Anwendung gut zu funktionieren (Bild 1). Ein gängiges Inspektionsszenario ist es, fehlerhafte Teile während ihres Durchlaufs durch die Fertigungsstraße auszusortieren. Diese Teile bewegen sich in einem bestimmten Abstand zwischen der Kamera und dem Auswerfer, der die fehlerhaften Teile entfernt, auf einem Fließband voran. Während des Transports muss die Stelle auf einzelne Teile überwacht und zu den Ergebnissen der Bildanalyse im Verlauf der Strecke in Bezug gesetzt werden, um sicherzustellen, dass der Auswerfer fehlerhafte Teile korrekt aussortiert.

Um den Sortiervorgang mit dem Bildverarbeitungssystem zu synchronisieren, existieren verschiedene Methoden: Beispielsweise der Einsatz von Zeitstempeln mit bekannten Verzögerungen und Näherungssensoren, die auch die Anzahl der Teile verfolgen, die sie passieren. Die am häufigsten genutzte Methode setzt allerdings auf Encoder. Läuft ein Teil am Prüfpunkt vorbei, erkennt der Näherungssensor es und löst die Kamera aus. Ist ein bekannter Encoder-Zählerstand erreicht, sortiert der Auswerfer das Teil auf Grundlage der Bildanalyse.

Die Herausforderung hierbei besteht darin, dass ein Prozessor ständig den Encoder-Wert sowie die Näherungssensoren verfolgen muss, während er Bildverarbeitungsalgorithmen ausführt, um die Teile einzuordnen und mit dem Auswurfsystem zu kommunizieren. Daraus können sich komplexe Softwarearchitekturen ergeben sowie zusätzliche Latenz und erheblicher Jitter entstehen. Des Weiteren steigt das Risiko möglicher Ungenauigkeiten und auch der Durchsatz kann sinken.

Ergänzendes zum Thema
Das NI CVS-1457RT im Überblick

Das Real-Time Compact Vision System ist ein Bildverarbeitungssystem in einem lüfterlosen Gehäuse. Über den Standard GigE Vision zusammen mit zwei Power-over-Ethernet lassen sich handelsübliche Kameras anschließen. Das System beruht auf FPGA-basierte isolierte sowie TTL-basierte digitale I/O für die Daten, was auch die Bildverarbeitung eng verbindet. Zudem fungiert der FPGA als Coprozessor für die Bildverarbeitung. Im Rahmen der Systemprogrammierung können industrielle Bilderfassungsanwendungen entweder zügig mit dem „Vision Builder for Automated Inspection“ (AI) konfiguriert oder Anwendungen mit dem „LabVIEW Real-Time Vision Development Bundle“ programmiert werden. Vision Builder AI ist eine einfach zu handhabende Stand-alone-Programmierumgebung, um visuelle Prüfanwendungen zu erstellen.

Eine FPGA-fähige I/O vereinfacht die Entwicklung

Dieser Problematik können Ingenieure dadurch begegnen, dass sie die Synchronisation vom Prozessor in einen FPGA verlagern, dessen besondere Stärke die vollständig parallele Aufgabenausführung mit hoher Geschwindigkeit sowie minimalem Jitter und geringer Latenz ist. Ein FPGA kann Digitaleingangsleitungen lesen und darauf mit einer digitalen Ausgabe innerhalb von 20 ns reagieren. Damit ist er Prozessoren weit überlegen, bei denen es zu Softwareverzögerungen und Overhead seitens des Betriebssystems kommt. Andere Aufgaben wie Netzwerkkommunikation, Überwachungssteuerung und Bildverarbeitung lassen sich womöglich weiterhin in einem Prozessor implementieren. Die Kombination aus Prozessor und FPGA stellt daher eine Architektur bereit, die für eine Vielzahl von automatisierten Prüfanwendungen ausreichend flexibel und leistungsstark ist.

Bei aktuellen Bildverarbeitungssystemen, wie das „Compact Vision System NI CVS-1457RT“ von National Instruments, kommt diese Art von Architektur zum Einsatz. Das System enthält einen Atom-Prozessor von Intel für die Bildverarbeitung oder Netzwerkkommunikation, die PC-gestützte Systeme in der Regel ausführen, sowie einen integrierten FPGA von Xilinx für die industrietauglichen Digital-I/Os. Sein FPGA ist für bestimmte Funktionen vorkonfiguriert und erzeugt Abtastimpulse, triggert sowie schreibt und liest Daten aus bzw. in Digitalleitungen.

Da ein FPGA rekonfigurierbar ist, lassen sich die LabVIEW-FPGA-Module anpassen, sodass sie über zusätzliche Funktionalität wie benutzerdefinierte Trigger, Timing, PWM-Ausgänge, anwenderspezifische Digitalprotokolle und Hochgeschwindigkeits-Counter verfügen. Wird ein FPGA-basiertes I/O in Bildverarbeitungssysteme eingebunden, wird manche speicherprogrammierbare Steuerung überflüssig. Dadurch werden Systemintegration und -synchronisation noch zielgerichteter. Mit dem FPGA lassen sich Kameratriggerung und Beleuchtungsimpulse steuern, Encoder und Sensoren auslesen sowie Auswurfmechanismen lenken – alles komplett parallel und innerhalb einer einzigen Programmierumgebung.

(ID:44173815)