Geregelte Verhältnisse
Embedded Systeme für die visuelle Servosteuerung
Viele der heutigen schnell wachsenden Branchen wie die Halbleiterindustrie, die Unterhaltungselektronik und Life Sciences erfordern Embedded Steuer- und Überwachungssysteme für Aufgaben wie Motorsteuerung, Bildverarbeitung und Leistungsmessungen. Diese Systeme dienen dazu, Smart Machines und andere intelligente Geräte zu implementieren, die einen höheren Durchsatz und mehr Flexibilität liefern sowie zu mehr Effizienz und höherer Produktqualität führen.
Die Anbindung an Motorsteuerungssysteme oder Robotersteuerungen mithilfe von industriellen Bussen und Protokollen ermöglicht es Ingenieuren, Bildverarbeitung (Bild 1) in bestehende Prozesse zu integrieren und Entscheidungen auf Grundlage von Ergebnissen aus der Bildanalyse zu treffen, ohne dass die Controller-Architektur völlig neu gestaltet werden muss. In vielen Anwendungen ist eine grundlegende Implementierung ohne Feedback ausreichend. In diesem Fall beginnt die Sequenz mit dem Bilderfassungssystem, welche das Bild eines Objekts erfasst. Danach werden die Koordinaten des Teils in Pixeln ermittelt und anschließend von Pixelkoordinaten in reelle Koordinaten umgewandelt. Diese werden anschließend an das Teilsystem weitergeleitet, das daraus den Bewegungsablauf einer koordinierten mehrachsigen Bewegung bestimmt.
Visuelle Servosteuerung
Bei klassischen Systemen der bildverarbeitungsgestützten Motorsteuerung werden Kameras meist nur zu Beginn des Bewegungsablaufs eingesetzt um zu überprüfen, ob die Aufgabe korrekt ausgeführt wurde. Es ist jedoch kein aktives Feedback in den Prozess integriert. Dadurch ist die Bewegung anfällig für Fehler bei der Umwandlung von Pixel in Abstände und die Genauigkeit der Bewegung ist vollständig von dem Teilsystem der Motorsteuerung abhängig. Dieser Nachteil wird bei hochpräzisen Anwendungen mit Bewegungen im 1/10 bis 1/1.000mm-Bereich deutlich. Um ihn zu vermeiden, muss die Bildverarbeitung fortlaufend während der Bewegung Feedback an die Motorsteuerung senden (visuelle Servosteuerung). Dabei liefert das Bildverarbeitungssystem Rückmeldungen in Form von Positionssollwerten (Dynamic Look & Move) oder Rückmeldungen über die tatsächliche Position (direkte Servosteuerung). Der erstgenannte Ansatz wird in industriellen Anwendungen zunehmend beliebter, besonders bei Roboteranwendungen. Die stetig steigende Leistungsfähigkeit der Bildverarbeitung ermöglicht es, Regelsysteme einzusetzen, bei denen das Bildverarbeitungssystem an die Motorsteuerungseinheit (bzw. den Roboter) über spezielle I/O-Kanäle oder - was gängiger ist - über Industrieprotokolle wie Ethercat angeschlossen wird. Das Ergebnis sind intelligentere Roboter, die eine höhere Genauigkeit bieten und relativ unempfindlich auf Kalibrierfehler oder Nichtlinearitäten reagieren. Doch ähnlich wie bei anderen Regelsystemen erfordert die zusätzliche Rückkopplungsschleife Feinabstimmung und lässt Instabilitäten zu. Anwendungen mit direkter Servosteuerung nutzen nur visuelles Feedback für die Motorposition oder die Geschwindigkeitsregelung. Damit dieser Ansatz nützlich und anwendbar ist, müssen Positions- oder Geschwindigkeitsinformationen von einer Reihe von Bildern extrahiert werden, die bei sehr hoher Geschwindigkeit erfasst wurden. Jede Lösung ist aus diesem Grunde anwendungsspezifisch und jede bestehende Implementierung typischerweise nicht allgemein anwendbar. Anhand eines ausgewählten Anwendungsbeispiels sollen die Möglichkeiten diskutiert und ein Ansatz aufgezeigt werden.
Anwendungsbeispiel Halbleiterindustrie
In der Halbleiterfertigung ist die Nachfrage nach mehr Effizienz und höherem Ertrag aus Silizium-Halbleitern ungebrochen. Da Leiterplatten immer kleiner werden und sich der weltweite Preisdruck verstärkt, bringen Wafer-Prozesse die Gerätehersteller an ihre physikalischen und betrieblichen Grenzen. Ein Ergebnis sind die zunehmend engen Toleranzen für eingehende physikalische und elektrische Wafer-Parameter in schwierigen Prozessschritten wie Beschichten und Ätzen. Äußerst genaue Positionierung und gleichmäßige Bewegungen auf der Halbleiteroberfläche sind in vielen verschiedenen Schritten der Wafer-Bearbeitung wichtig. Das wiederkehrende Muster auf der Wafer-Oberfläche ist eine naheliegende Möglichkeit, um Positions- oder Geschwindigkeitsinformationen einzuholen. Eine Kamera, die sich im Verhältnis zu dem sich wiederholenden Muster bewegt, erfasst Bilder bei hohen Geschwindigkeiten. Diese werden analysiert, um das Äquivalent eines Encoder-Signals zu erzeugen. Dann extrahieren die Bildverarbeitungsalgorithmen ein einzelnes Element des Musters und bestimmen seine Position. Auf Grundlage dieser Information erstellt ein Algorithmus das Profil eines Bewegungsablaufs für die Motorsteuerung, das die Anwendungsanforderungen erfüllt. Das ist üblicherweise entweder ein Profil, das den Positionsfehler verringert, oder ein konstantes Geschwindigkeitsprofil. Um den Motor effektiv zu steuern, müssen die Soll- oder Istwerte der Position mit Geschwindigkeiten von 1/10msec und schneller erzeugt werden, wofür das Bildverarbeitungssystem Bilder mit äußerst hohen Bildraten erfassen und verarbeiten muss. Aufgrund dieser erhöhten Anforderungen im Hinblick auf Timing und Synchronisation hat die Umsetzung einer visuellen Servosteuerung einen wesentlichen Einfluss auf die Steuerarchitekturen. Dadurch wird die Möglichkeit ausgeschlossen, handelsübliche Motorsteuerungs- und Bildverarbeitungssysteme sowie industrielle Kommunikationsmethoden zu nutzen. Auf der Suche nach Alternativen legen Maschinenbauer den Fokus auf leistungsstarke Embedded-Systeme, um die Motorsteuerungs- und Bildverarbeitungsaufgaben auf einer einzigen Hardwareplattform zu integrieren. Da sie sich auf unbekanntem Terrain bewegen, wenden sich viele von ihnen an Automatisierungszulieferer, um flexiblere Hardwarelösungen und Softwarewerkzeuge zu entwickeln.
Determinismus bei hoher Prozessorauslastung
In der Vergangenheit verfügten Embedded-Systeme über eine einzige zentrale CPU, sodass sich Systementwickler hauptsächlich auf Verbesserungen bei der CPU-Taktfrequenz und den Wechsel hin zu Multicore-Verarbeitung konzentrierten, um den für die Erfüllung der Automatisierungsaufgabe nötigen Verarbeitungsdurchsatz zu erreichen. Moderne Embedded-Prozessoren bieten jedoch eine wesentlich längere Befehlsbereitstellungsphase und Sprungvorhersagemechanismen, um die Rechenleistung weiter zu steigern. Somit dürften moderne Prozessoren hunderte Taktzyklen benötigen, um eine Unterbrechungsanfrage (Interrupt Request) zu bearbeiten, die einen deutlichen Eingriff in den Determinismus darstellt. Dies mag für viele Anwendungen akzeptabel sein, jedoch nicht für Low-Level-Steuerschleifen für die Motorsteuerung mit extrem hoher Geschwindigkeit und Genauigkeit. Hinzu kommt, dass Streaming-orientierte Verarbeitungsaufgaben wie die Bildverarbeitung einen hohen Gesamtdurchsatz erfordern, der noch immer eine Schwachstelle in vielen Embedded-Systemen ist. Eine Möglichkeit, Determinismus bei einer sehr hohen Prozessorauslastung zu erzielen und Flexibilität beim Daten-Streaming zu erreichen, ist, Rechenalgorithmen sowie datenintensive Firmware-Algorithmen durch benutzerdefinierte Hardware zu ersetzen und programmierbare Logik zu nutzen. In den letzten Jahren setzte die Branche bei einer großen Anwendungspalette auf FPGAs. Zulieferer im Bereich Automatisierung nutzen diese, da sie schnell Produkte an neue Standards und Verarbeitungsanforderungen anpassen können, um mit den Marktanforderungen Schritt zu halten. Außerdem kann damit ein Produkt sogar nach der Markteinführung um neue Funktionen erweitert werden. Um das Beste aus beiden Welten zu verbinden, migrieren Systementwickler heute auf Verarbeitungsarchitekturen (Bild 2) it mehreren verschiedenen Datenverarbeitungselementen, damit ein optimales Verhältnis von Durchsatz, Latenz, Flexibilität, Kosten und anderen Faktoren hergestellt werden kann. Heterogene Verarbeitungsarchitekturen bieten alle diese Vorzüge und ermöglichen die Implementierung von leistungsstarken Embedded-Systemen für die Integration von Bildverarbeitungs- und Motorsteuerungsfunktionalität. Zur Veranschaulichung einiger Vorteile der heterogenen Verarbeitungsarchitektur dient eine Architektur, die aus einer CPU, einem FPGA und I/O besteht. Im Gegensatz zu klassischen Prozessoren werden die Anwendung oder der Algorithmus bei FPGAs direkt in Hardware umgesetzt (durch Verschalten der Gatter des FPGAs), anstatt eine Applikation in Software ablaufen zu lassen. Dank dieses Low-Level-Zugriffs auf die Hardware können Motorsteuerungsalgorithmen benutzerdefiniert angepasst und Bildverarbeitung auf paralleler Hardware implementiert werden, wodurch die Geschwindigkeit erhöht und Jitter sowie Latenz verringert werden.
CPU und FPGA direkt programmieren
Standardplattformen für Embedded-Systeme, die auf heterogenen Architekturen basieren, stehen heute bereits zur Verfügung und machen die Entwicklung anwenderdefinierter Hardware überflüssig. Mit der Labview RIO Architecture gibt es bereits eine Standardplattform mit einer großen Bandbreite von Formfaktoren und Leistungsstufen: von Single-Board RIO als reine Platine bis hin zu CompactRIO im industrietauglichen Gehäuse und PXI. Dank einer umfangreichen Palette von I/O-Modulen, die analoge und digitale Messungen sowie die Anbindung an industrielle Bussysteme ermöglichen, können Prototypen für Anwendungen mit visuellen Servosteuerungen erstellt und eingesetzt werden. Eine Schlüsselkomponente dieser Architektur ist die grafische Entwicklungsumgebung Labview. Mit dem konsistenten grafischen Programmieransatz lassen sich CPUs und FPGAs auf heterogener Hardware direkt programmieren. Darüber hinaus abstrahiert Labview System-Timing, I/O-Zugang und die Kommunikation zwischen Elementen mittels der zugrunde liegenden Architektur. Für Automatisierungsaufgaben wie Motorsteuerung und Bildverarbeitung stehen außerdem umfassende IP-Bibliotheken zur Verfügung. Mit dem SoftMotion Module können Anwender Motorsteuerungsprofile mithilfe einer High-Level-Motorsteuerungsschnittstelle programmieren und an handelsübliche Motorantriebe anbinden. Durch Auslagern des kritischen Motorsteuerungs-IP auf den FPGA und den Einsatz von speziellen Antriebs-, Antriebsschnittstellen- oder allgemeinen I/O-Modulen können Maschinenbauer ihren High-Level-Motorsteuerungscode beibehalten und das Lower-Level-IP (Bild 3) benutzerdefiniert anpassen oder eigene Algorithmen implementieren. Somit können Anwender bestehendes IP auf dem Echtzeitprozessor oder dem FPGA nutzen. Das Vision Development Module bietet zusammen mit zusätzlichem IP für die Bildverarbeitung auf FPGAs umfangreiche Bildverarbeitungsfunktionalität. Mit diesen Werkzeugen können Motorsteuerungs- und Bildverarbeitungsexperten schnell Anwendungen für die Maschinensteuerung entwerfen. Diese reichen von einfachen Anwendungen wie 'Look & Move' bis hin zu modernen visuellen Servosteuerungen und lassen sich auf handelsüblicher Embedded-Hardware einsetzen.
Viele der heutigen schnell wachsenden Branchen wie die Halbleiterindustrie, die Unterhaltungselektronik und Life Sciences erfordern Embedded Steuer- und Überwachungssysteme für Aufgaben wie Motorsteuerung, Bildverarbeitung und Leistungsmessungen. Diese Systeme dienen dazu, Smart Machines und andere intelligente Geräte zu implementieren, die einen höheren Durchsatz und mehr Flexibilität liefern sowie zu mehr Effizienz und höherer Produktqualität führen.
Die Anbindung an Motorsteuerungssysteme oder Robotersteuerungen mithilfe von industriellen Bussen und Protokollen ermöglicht es Ingenieuren, Bildverarbeitung (Bild 1) in bestehende Prozesse zu integrieren und Entscheidungen auf Grundlage von Ergebnissen aus der Bildanalyse zu treffen, ohne dass die Controller-Architektur völlig neu gestaltet werden muss. In vielen Anwendungen ist eine grundlegende Implementierung ohne Feedback ausreichend. In diesem Fall beginnt die Sequenz mit dem Bilderfassungssystem, welche das Bild eines Objekts erfasst. Danach werden die Koordinaten des Teils in Pixeln ermittelt und anschließend von Pixelkoordinaten in reelle Koordinaten umgewandelt. Diese werden anschließend an das Teilsystem weitergeleitet, das daraus den Bewegungsablauf einer koordinierten mehrachsigen Bewegung bestimmt.
National Instruments Germany GmbH
Dieser Artikel erschien in inVision 2 2015 - 02.04.15.Für weitere Artikel besuchen Sie www.invision-news.de