Bilderfassung und Bildverarbeitung

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.

Mit Kithara RealTime Suite lassen sich diese Eckpunkte verbinden und so kosten- und auch leistungseffiziente 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.

Kithara RealTime Suite: GigE-Vision-Kamera

In der industriellen Bildverarbeitung haben sich vor allem zwei zukunftsweisende Kamera-Standards durchgesetzt: 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. Neben hohen Datenraten sind beide Schnittstellen auch durch die günstige und austauschbare Standardhardware für nahezu jede Aufgabe anwendbar. Beide Standards lassen sich mit GenICam 2.0 konfigurieren, wodurch neben allgemeinen Funktionen auch auf herstellerspezifische Features zugegriffen werden kann.


Aufgabenstellung und Lösung

In der Bildverarbeitung ist der Einsatz von Windows unumgänglich, weil die meisten Anwendungsprogramme dieses Betriebssystem vorgeben. Ohne Einsatz einer Echtzeiterweiterung werden Entwickler jedoch in den meisten Fällen mit vermeidbaren Problemen konfrontiert:

  • Einzelne Datenpakete der Industriekameras fallen aus, damit sind Bilder unbrauchbar oder nur teilweise übertragen worden.
  • Die Reaktionszeit innerhalb der Windows-Anwendung ist zu lang und nicht deterministisch.

Ein Beispielszenario findet sich bei der Qualitätssicherung in der Verpackungsindustrie, wo eine Gut-Schlecht-Reaktion innerhalb einer bestimmten Zeit erfolgen muss, um ein fehlerhaftes Produkt rechtzeitig aus dem Prozess nehmen zu können. Das Camera Module von Kithara RealTime Suite löst dies auf beeindruckende Weise. Der Ausfall von Datenpaketen wird mit ausreichend groß dimensionierten Pufferspeichern und auf Basis der Echtzeit-Netzwerktreiber zuverlässig verhindert. Die Reaktion auf eingetroffene Bilder erfolgt im Kontext der Echtzeitumgebung innerhalb weniger Mikrosekunden. Dabei kann ein Echtzeit-Task aktiviert werden, um eine sofortige Steuerungsreaktion auszulösen.

Vor allem bei der Verarbeitung hochauflösender Bilder, kombiniert mit hohen Frameraten, kommen leicht Datenmengen zustande, die mit normalen Windows-Mechanismen nicht mehr beherrscht werden können.


Industrielle Bildverarbeitung besteht im modularen System von Kithara RealTime Suite aus folgenden Komponenten:

  • Echtzeit-Bilderfassung mit GigE Vision®- und USB3 Vision®-Kameras Camera Module
  • Bildverarbeitung mit Halcon™ und OpenCV Vision Module

Camera Module

Bilderfassung von GigE Vision®- und USB3 Vision®-Kameras in Echtzeit

  • Allgemein
  • Features

Das Camera Module dient der Erfassung von Bilddaten von industriellen Kameras nach dem GigE Vision® oder dem USB3 Vision® Standard in Echtzeit. Es stellt alle Funktionen zur Erkennung, Verwaltung und zur Erzeugung von Echtzeit-Streams bereit.

Große Pufferspeicher in Verbindung mit den Echtzeit-Netzwerk- oder USB3-Treibern verhindern zuverlässig einen Ausfall von Datenpaketen. Die Reaktion auf eingetroffene Kamerabilder erfolgt im Kontext der Echtzeitumgebung innerhalb weniger Mikrosekunden. Dabei kann eine Echtzeit-Task aktiviert werden, um eine sofortige Steuerungsreaktion auszulösen.

Mit dem Camera Module ist dank der zugrundeliegenden Echtzeit-Treiber ein maximaler Datendurchsatz je nach Schnittstelle und Systemkonstellation bis zum theoretischen Maximum erreichbar. Zur Verarbeitung der Bilddaten siehe Vision Module.

Die Ergebnisse der Bildauswertung können noch im Echtzeitkontext verzögerungsfrei an den Prozess gegeben werden, zum Beispiel über EtherCAT® oder CANopen®. Dazu lassen sich Automatisierungslösungen im Rahmen von Kithara RealTime Suite mit verschiedenen anderen Themen kombinieren.

Das Camera Module benötigt für die Echtzeit-Schnittstelle weitere Module, zum Beispiel das Packet Module für GigE Vision®-Kameras bzw. das XHCI Module für USB3 Vision®-Kameras.

  • Bilderfassung von GigE-Vision®- oder USB3-Vision®-Kameras in Echtzeit, abfrage- oder ereignisgesteuert
  • mehrere Kameras gleichzeitig, Hot-Plug-fähig, Fehlerbehandlung, Konfiguration nach GenICam 2.0

Funktionen

  • Jede standardkonforme Kamera wird unterstützt
  • Verknüpft mehrere Kameras
  • Hot-Plug

Steuerung

  • Automatische Handhabung der Verbindungen
  • Voller Zugriff auf die Kamerakonfiguration
  • Schreibt und liest Kameraspeicher
  • Setzt Custom Heartbeat Timeout
  • Startet und stoppt Erfassung von Bildern durch die Software
  • Stellt den Erfassungsmodus durch die Software ein
  • GenICam-XML-Konfigurationsdatei wird automatisch heruntergeladen
  • Zugriff auf GenICam-Funktionen zum Konfigurieren der Kamera
  • Fehlerhandhabung

Streams

  • Ein oder mehrere Streams der Kamera sind möglich
  • Erfassung von Bildern in Echtzeit
  • Hochleistungserfassung der Bilder, kein unnötiges Kopieren
  • Einstellung der eigenen Buffer-Größe und Buffer-Anzahl
  • Informiert über entgangene oder unvollständige Bilder

GenICam Funktionen

  • Nummeriert alle Kategorien
  • Einstellung und Abfrage aller zugänglichen Kamerafunktionen wie Bildformat, Pixelformat, Frame Rate, Belichtungszeit und mehr

Bildverarbeitung

  • Schreiben eigener Machine-Vision-Applikationen mit Bibliotheken wie beispielsweise Halcon
  • Bildverarbeitungsbibliotheken sind im Kernel-Modus geladen
  • Verarbeitung in Echtzeit
  • Funktionen: Anpassung, Segmentierung, 3D-Anpassung, OCR und mehr

Vision Module

Bildverarbeitung mit Halcon oder OpenCV in Echtzeit

  • Allgemein
  • Features

Das Vision Module dient der algorithmischen Verarbeitung von Bilddaten aus Industriekameras in Echtzeit. Dies ermöglicht eine sofortige Steuerungsreaktion, wenn das Bild vom PC erfasst und empfangen wurde. Die weit verbreitete und umfangreiche Bildverarbeitungsbibliothek Halcon der Firma MVTec aus München ist verwendbar*, sodass schnelle und leistungsfähige Lösungen möglich sind. Alternativ kann die offene Bibliothek OpenCV verwendet werden.

 

*Die Lizenz ist gesondert bei der Firma MVTec zu erwerben

  • Echtzeit-Bildverarbeitung – Schreiben eigener Maschinen-Vision-Applikationen unter Berücksichtigung von Bibliotheken wie Halcon oder OpenCV
  • Halcon oder OpenCV Bildverarbeitung ist im Echtzeitkontext geladen
  • Bildverarbeitung ist verknüpft mit Echtzeitaufgaben
  • Automatische Parallelisierung
  • Arbeitsabläufe: Anpassung, Segmentierung, 3D-Anpassung, OCR, und weitere
  • Nach Verarbeitung unmittelbare, initiierte Kontrollreaktion, zum Beispiel via EtherCAT® Master, CANopen® Master oder PLC