topic_bildverarbeitung_b

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 der »RealTime Suite« von Kithara Software 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.

GigE Vision KameraIn der industriellen Bildverarbeitung haben sich vor allem zwei Kamera-Standards als zukunftsweisend erwiesen: 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 den 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-Betriebssystemen unumgänglich, weil die meisten Anwendungsprogramme Windows vorgeben. Normalerweise (ohne Einsatz einer Echtzeiterweiterung) werden jedoch die Entwickler in den meisten Fällen mit vermeidbaren Problemen konfrontiert:

  • einzelne Datenpakete der Industrie-Kameras fallen aus und 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 beispielsweise in 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 der »RealTime Suite« löst dies auf beeindruckende Weise.

Der Ausfall von Datenpaketen wird mit ausreichend groß dimensionierten Pufferspeichern und auf der Basis der Echtzeit-Netzwerktreiber zuverlässig verhindert. Die Reaktion auf eingetroffene Bilder erfolgt sofort im Kontext der Echtzeitumgebung innerhalb weniger Mikrosekunden. Dabei kann eine 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.

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 zusammen mit den Echtzeit-Netzwerk- oder USB3-Treibern verhindern zuverlässig einen Ausfall von Datenpaketen. Die Reaktion auf eingetroffene Kamerabilder erfolgt sofort 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 zugrunde liegenden 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 der »RealTime Suite« mit verschiedenen anderen Themen kombinieren.

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

  • Bilderfassung von GigE Vision® Kameras 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 Kamera-Speicher
  • setzt Custom Heartbeat Timeout
  • Startet und stoppt Erfassung von Bildern durch die Software
  • Stellt den Erfassungs-Modus durch die Software ein
  • GenICam xml Konfigurationsdatei wird automatisch heruntergeladen
  • Zugriff auf GenICam Funktionen zum Konfigurieren der Kamera
  • Fehlerhandhabung

Streams

  • Einer 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 übersehene oder unvollständige Bilder

GenICam Funktionen

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

Bildverarbeitung

  • Schreiben eigener Machine Vision Applikationen mit Bibliotheken wie HALCON
  • Bildverarbeitungs-Bibliotheken Sind im Kernel-Modus geladen
  • Verarbeitung in Echtzeit
  • Funktionen: Anpassung, Segmentierung, 3D Anpassung, OCR und mehr

Vision Module

Bildverarbeitung mit HALCON™ 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