Bildverarbeitung

Licht, Kamera, Ergebnis

PC-gestützte Echtzeitbildverarbeitung

21.12.2015 -

Die industrielle Bildverarbeitung steht vor der ständigen Aufgabe, sowohl das Leistungsniveau zu erhöhen als auch sich dem Mainstream immer weiter zu öffnen. Gleichzeitig entwickelt sich ein steigender Echtzeitanspruch, um Bildverarbeitungslösungen in einem kurzen, vorgegebenen Zeitraum durchzuführen.

Um die hohen Echtzeitanforderungen im Bereich Machine Vision zu erfüllen, konnte der Einsatz von Industriekameras früher meist nur hardwarebasiert, beispielsweise durch digitale Signalprozessoren (DSP) und feldprogrammierbare Gate Arrays (FPGA), umgesetzt werden. PC-Prozessoren sind mittlerweile, dank Befehlssatzerweiterungen wie SSE, AVX und Multithreading, auf einem entsprechend hohen Leistungsstand, um ebenfalls harte Echtzeiteigenschaften für die industrielle Bildverarbeitung umzusetzen. Der Vorteil von PC-basierten Softwarelösungen ist eine wesentlich höhere Flexibilität, wodurch sich Time-To-Market Qualitäten verbessern lassen und schneller auf Änderungen des Marktes reagiert werden kann.
Voraussetzung für tatsächliche Echtzeiteigenschaften bei PC-basierten Ansätzen ist jedoch die Ausführung des Anwendungscodes auf der Kernel-Ebene. Das präemptive Multitasking-System der RealTime Suite von Kithara Software sorgt hierbei dafür, dass die wichtigsten Tasks prioritätsgesteuert vorrangig ausgeführt werden. Tasks lassen sich zudem auf dedizierte CPU-Kerne verteilen, um Echtzeiteigenschaften noch weiter zu verbessern, indem der Einfluss von Windows umgangen wird, ohne auf dessen Benutzeroberfläche zu verzichten. Die Windows-Erweiterung ist somit leistungs- und funktionstechnisch einem vollwertigen Echtzeitbetriebssystem ebenbürtig. Um dabei nativen Maschinencode erzeugen zu können, setzt man hier auf Programmiersprachen wie C/C++ und Delphi. Die Anbindung von relevanten Schnittstellen, externen Geräte und Systemen an die Kithara-Echtzeitumgebung wird über entsprechende Funktionsmodule hergestellt..

Kamerainterface im Echtzeitkontext
Am Anfang der Bildverarbeitung steht die Kamera und das entsprechende Interface. Mit der RealTime Suite werden eigens entwickelte und optimierte Netzwerk- und Kommunikationstreiber verwendet. Sie sind die Grundlage für die Echtzeitbilderfassung mit den entsprechenden Kameraschnittstellen. So wird über leistungsfähige Ethernet-Treiber eine Echtzeitanbindung an GigE-Vision-Kameras hergestellt oder per XHCI-Treiber an Kameras mit dem USB3-Vision-Standard. Dadurch lassen sich Kameras sämtlicher Hersteller mit dem Echtzeitsystem verwenden und untereinander flexibel austauschen. Damit hierbei die Kommunikation zwischen Kamera und dem Echtzeitsystem reibungslos verläuft, werden entsprechend große Pufferspeicher zur Verfügung gestellt, um dem Ausfall von Datenpaketen vorzubeugen. Gerade für den Bereich Streaming, beispielsweise bei simultanen Streams, sind Buffergröße und -anzahl je nach Anforderung anpassbar.
Im Zusammenhang mit der Echtzeitbildverarbeitung auf Windows-PCs fiel der Blick erstmalig 2011 auf zwei der zukunftsweisendsten Kameraschnittstellen, GigE Vision und USB3 Vision. Beide Standards besitzen ähnliche Vorteile, die sie für ein besonders breites Spektrum industrieller Bereiche und Anwendungen optimal einsetzbar machen. GigE Vision punktet neben dem Einsatz günstiger und austauschbarer Standardhardware zudem mit hohen Übertragungsraten von 1 bis hin zu 10 GBit/s sowie immensen Kabelreichweiten. USB3 Vision ist mit einer Bruttodatenrate von 5 GBit/s immer noch im oberen Bereich anzusiedeln, besticht aber vor allem durch kostengünstige Hardware. Beide Schnittstellen lassen sich über die RealTime Suite mit GenICam 2.0 konfigurieren, wodurch neben allgemeinen Funktionen auch auf herstellerspezifische Features zugegriffen werden kann.

Sofortige Verarbeitung durch Funktionsbibliotheken
Machine Vision hört natürlich nicht bei der Bilderfassung auf. Die eigentliche Bildverarbeitung findet über spezielle Bibliotheken statt, welche mit einer Vielzahl an vorgefertigten Algorithmen die erfassten Bilddaten auswerten sowie weiterverarbeiten. Um den gesamten Vision-Prozess in einem einzigen Echtzeitkontext auszuführen, wird die entsprechende Bildverarbeitungsbibliothek durch das Echtzeitsystem ebenfalls im Kernel-Modus geladen. Dadurch bleiben die Reaktionszeiten zwischen Bilderfassung und Bildverarbeitung in einem minimalen festgelegten Zeitraum. Die Software unterstützt dabei die bekannte freie Bibliothek OpenCV sowie die weit verbreitete kommerzielle Variante HALCON des Münchener Unternehmens MVTec.
Als Bindeglied zwischen Echtzeitbildverarbeitung und Steuerungsreaktion können Entwickler zudem die Bildverarbeitungs- sowie die Maschinenlogik in ihrem Anwendungscode unmittelbar zusammenführen. Unter Verwendung von EtherCAT können so Tausende I/O-Signale mit Frequenzen von 1 kHz oder höher erfasst, ausgewertet und weiterverarbeitet werden. Gleichzeitig ist die I/O-Topologie dabei flexibel skalierbar. Im Ergebnis lassen sich so über eine einzige Entwicklungsumgebung eingehende verarbeitete Bilddaten in komplexe Sequenzen umwandeln, mit denen Maschinen in Echtzeit angesteuert werden können.

Anwendungsbeispiel: Schüttgut-Sortiermaschine
Wie wichtig Echtzeit für den gesamten bildunterstützten Automatisierungsprozess ist, zeigt die Funktionsweise der Sortiermaschine des US-Unternehmens VMEK mit integrierten Funktionen der RealTime Suite. Hierbei handelt sich um eine Maschinenlösung zum Klassieren und Sortieren von Schüttgut, wie z.B. landwirtschaftliche Erzeugnisse oder große Mengen an kleinen Werkstücken. Das zu testende Material wird im Wasserfall-Verfahren von zwei Kameras aus unterschiedlichen Winkeln erfasst. Dabei wird jedes einzelne Teil bei einer Fallgeschwindigkeit von ca. 4 bis 5 m/s auf individuelle Kriterien, beispielsweise Größe, Farbe, Unreinheiten und selbst das durch volumetrische Berechnungen ermittelte Gewicht, untersucht und entsprechend den gesetzten Ausschlussparametern per Luftstoß aussortiert. Das Echtzeitsystem sorgt dafür, dass die von den GigE-Vision-Kameras empfangenen Bilddaten garantiert innerhalb weniger Mikrosekunden an die HALCON-gestützte Bildverarbeitung gelangen und die ausgewerteten Daten weiter im Echtzeitkontext den Luftstoß auslösen. Voraussetzung für einen präzisen Sortiervorgang ist der geringe Abstand von nur wenigen Zentimetern zwischen Kamera und mechanischer Reaktion, den die fallenden Objekte zurücklegen dürfen. Ohne harte Echtzeiteigenschaften wäre dies nicht umsetzbar.

Fazit
Bildverarbeitungssysteme sind in zahlreichen industriellen Bereichen im Einsatz, die benötigten Echtzeiteigenschaften konnten vormals jedoch meist nur hardwarebasiert umgesetzt werden. Neben dem Echtzeitanspruch steigen aber auch die Anforderungen an die Flexibilität, besonders für fortschrittliche Projektthemen rund um Industrie 4.0. Die Windows-Erweiterung RealTime Suite realisiert einen PC-basierten Lösungsansatz, der den gesamten Vision-Prozess mit einschließt und so leistungsfähige Echtzeiteigenschaften mit hoher Anpassungsfähigkeit vereint. Auf diese Weise werden garantierte Reaktionszeiten für den gesamten Prozess bereitgestellt, von der Bilderfassung mit Industriekameras, der Bildverarbeitung bis hin zur Steuerungsreaktion. Dank Windows wird dabei eine komfortable Benutzeroberfläche beibehalten.

Kontakt

Kithara Software GmbH

Alte Jakobstr. 78
10179 Berlin
Deutschland

+49 30 2789673 0
+49 30 2789673 20

Spannende Artikel zu Fokus-Themen finden Sie in unseren E-Specials. Lesen Sie jetzt die bisher erschienenen Ausgaben.

Zu den E-Specials

Media Kit

Die Mediadaten 2024 sind jetzt verfügbar! Laden Sie sie hier herunter.

Industrie-Lexikon

Begriffe aus der Bildverarbeitung und Automation, die man kennen sollte

Zum Lexikon

Spannende Artikel zu Fokus-Themen finden Sie in unseren E-Specials. Lesen Sie jetzt die bisher erschienenen Ausgaben.

Zu den E-Specials

Media Kit

Die Mediadaten 2024 sind jetzt verfügbar! Laden Sie sie hier herunter.

Industrie-Lexikon

Begriffe aus der Bildverarbeitung und Automation, die man kennen sollte

Zum Lexikon