Industrielle Bildverarbeitung PC-gestützte Echtzeitbildverarbeitung

Die industrielle Bildverarbeitung steht vor der immer wiederkehrenden Aufgabe, sowohl das Leistungsniveau höher zu schrauben als auch sich dem Mainstream zu öffnen. Zugleich entwickelt sich zunehmend ein Echtzeitanspruch, um Bildverarbeitungsprozesse in kurzen vorgegebenen Zeiträumen durchzuführen.

Mit Hilfe des Echtzeitsystems »Real¬Time-Suite« lassen sich die eingangs genannten Eckpunkte verbinden und so Machine-Vision-Lösungen für industrielle Bereiche wie automatisierte Qualitätssicherung, Robotik oder Medizintechnik entwickeln. Dies umfasst die Bilderfassung, Bildverarbeitung sowie die darauffolgende Steuerungsreaktion in einem einzigen Echtzeitkontext.

Der Einsatz von Industriekameras konnte früher meist nur hardwarebasiert, z. B. durch digitale Signalprozessoren (DSP) und feldprogrammierbare Gate Arrays (FPGA), umgesetzt werden, um die hohen Echtzeitanforderungen im Bereich Machine Vision zu erfüllen. 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 Echtzeit-eigenschaften PC-basierter Ansätze (Bild 1) ist jedoch die Ausführung des Anwendungscodes auf der Kernel-Ebene. Das präemptive Multitasking der RealTime-Suite 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 nativen Maschinencode erzeugen zu können, setzt man auf Programmiersprachen wie C/C++ und Delphi.

Kamera-Schnittstelle im Echtzeitkontext

Die Anbindung von Schnittstellen, externen Geräten und Systemen an die Echtzeitumgebung von Kithara wird mit entsprechenden Funktionsmodulen gewährleistet. Im Vordergrund steht immer die Erfüllung zeitkritischer Anforderungen durch streng festgelegte Reaktionszeiten, sei es für Automatisierung, Automobilvernetzung, Hardwareprogrammierung und industrielle Bildverarbeitung.

Am Anfang steht bei der Bildverarbeitung immer die Kamera und die entsprechende Schnittstelle. Mit der RealTime-Suite werden eigens entwickelte und optimierte Netzwerk- und Kommunikationstreiber verwendet, welche die Grundlage für das Erreichen von Echtzeitbilderfassung mit den entsprechenden Kameraschnittstellen sind. So wird über leistungsfähige Ethernet-Treiber eine Echtzeitanbindung für GigE-Vision-Kameras bereitgestellt oder per XHCI-Treiber für Kameras mit dem USB3-Vision-Standard. Dadurch lassen sich Kameras sämtlicher Hersteller mit dem Echtzeitsystem von Kithara verwenden und untereinander flexibel austauschen. Damit die Kommunikation zwi¬schen Kamera und dem Echtzeitsystem reibungslos verläuft, stehen große Pufferspeicher bereit, um dem Ausfall von Datenpaketen vorzubeugen. Gerade für Streaming, beispielsweise bei simultanen Streams, sind Puffergröße und -anzahl zudem je nach Anforderung anpassbar.

Als sich Kithara Software 2011 erstmalig auf das Gebiet der Echtzeitbildverarbeitung auf Windows-PCs vorwagte, fiel der Blick sofort auf die beiden zukunftsweisenden Kameraschnittstellen GigE Vision und USB3 Vision. Beide Standards haben ähnliche Vorteile, die sie für ein besonders breites Spektrum industrieller Bereiche und Anwendungen empfehlen. GigE Vision punktet neben günstiger und austauschbarer Standardhardware mit hohen Übertragungsraten von 1 Gbit/s bis hin zu 10 Gbit/s sowie sehr großen Kabelreichweiten.

Auch USB3 Vision ist mit einer Brutto-Datenrate von 5 Gbit/s 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 mit Funktionsbibliotheken

Machine Vision hört nicht mit der Bilderfassung auf. Die eigentliche Bildverarbeitung findet über spezielle Bibliotheken statt, die 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 vom Echtzeitsystem ebenfalls im Kernel-Modus geladen. Dadurch wird garantiert, dass die Reaktionszeiten zwischen Bilderfassung und Bildverarbeitung in einem minimalen festgelegten Zeitraum bleiben. Die RealTime-Suite unterstützt dabei die bekannte freie Bibliothek »OpenCV« sowie die weit verbreitete kommerzielle Variante »Halcon« (inklusive der neuen Version 12) des Münchener Unternehmens MVTec.

Anwendungsbeispiel: Schüttgut-Sortiermaschine

Als Bindeglied zwischen Echtzeitbildverarbeitung und Steuerungsreaktion können Entwickler in ihrem Anwendungscode die Bildverarbeitungs- sowie die Maschinenlogik zusammenführen. Unter Verwendung des schnellen Industrial-Ethernet-Protokolls »EtherCAT« können so Tausende I/O-Signale mit Frequenzen von 1 kHz oder höher erfasst, ausgewertet und weiter verarbeitet werden. Gleichzeitig ist die I/O-Topologie flexibel skalierbar. Im Ergebnis lassen sich so über eine einzige Entwicklungsumgebung eintreffende verarbeitete Bilddaten in komplexe Sequenzen umwandeln, mit denen Maschinen in Echtzeit angesteuert werden können.

Wie wichtig Echtzeit für einen bildunterstützten Automatisierungsprozess sein kann, zeigt die Funktionsweise einer Sortiermaschine des Unternehmens VMEK (Bild 2). Hierbei handelt es sich um eine Maschine zum Klassieren und Sortieren von Schüttgut, beispielsweise landwirtschaftliche Erzeugnisse oder auch große Mengen kleiner Werkstücke. In diese Maschine integriert sind Funktionen der RealTime-Suite: Zwei Kameras erfassen das zu sortierende Material im Wasserfallverfahren aus unterschiedlichen Winkeln. Dabei wird jedes einzelne Teil bei einer Fallgeschwindigkeit von etwa 4 m/s bis 5 m/s auf individuelle Kriterien untersucht, beispielsweise auf Größe, Farbe, Unreinheiten oder selbst auf das durch volumetrische Berechnungen ermittelte Ge¬wicht. Entsprechend den gesetzten Ausschlussparametern werden Teile, die den Vorgaben nicht entsprechen, mit einem gezielten Luftstoß aussortiert.

Das Echtzeitsystem sorgt dafür, dass die von den GigE-Vision-Kameras empfangenen Bild¬daten garantiert innerhalb weniger Mikrosekunden die Halcon-gestützte Bildverarbeitung erreichen und die ausgewerteten Daten weiter im Echtzeitkontext den Luftstoß auslösen. Voraussetzung für einen präzisen Sortiervorgang ist eine kurze Strecke von nur wenigen Zentimetern zwischen Kamera und mechanischer Reaktion, welche die fallenden Objekte zurücklegen dürfen. Ohne »harte« Echtzeiteigenschaften wäre dies nicht umsetzbar. Verschiedene Parameter lassen sich einfach an geänderte Kriterien anpassen – ein weiterer Vorteil gegenüber rigiden hardwarebasierten Lösungen. Zusätzlich können durch die Implementierung eines übergeordneten EtherCAT-Automation-Protocols auch mehrere Maschinen miteinander kommunizieren und bestmöglich aufeinander abgestimmt werden.

Zusammenfassung

Bildverarbeitungssysteme sind in zahlreichen industriellen Bereichen bereits seit geraumer Zeit im Einsatz, benötigte 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 von Kithara Software realisiert eine PC-basierte Problemlösung, die 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 finalen Steuerungsreaktion. Mit Windows wird dabei eine komfortable Benutzeroberfläche beibehalten.

Da Bildverarbeitung bei den meisten industriellen Anwendungen jedoch nicht das einzige Aufgabenfeld darstellt, enthält die RealTime-Suite zusätzliche Werkzeuge zur Umsetzung weiterer Echtzeitaufgaben in Bereichen wie Automatisierung, Automobilvernetzung oder grundlegende Hardwareprogrammierung.

Über die Autoren:

Uwe Jesgarz ist Geschäftsführer und Martin Ebert Marketing-Manager, beide bei Kithara Software, Berlin.