Schneller Spieler

Industrie-PC – Wenn der RoboKeeper in Aktion ist, werden höchste Anforderungen an Rechenleistung, Bildverarbeitung und Steuerungssysteme gestellt.

11. November 2008

Die 1,96 Meter große Torwartfigur aus PU-Schaum und Aluminium-Rückgrat sieht vielleicht nicht besonders sportlich aus. Dafür verfügt der RoboKeeper vom Fraunhofer-Institut für Materialfluss und Logistik (IML) in Dortmund über extrem schnelle Reflexe und hält nahezu jeden Elfmeter und sogar Bananenschüsse mit Effet. Ein beeindruckendes Beispiel für Multicorebasierte Bildverarbeitungs- und Steuerungs- Applikationen. Die Bildverarbeitungssoftware berechnet exakt den Punkt, an dem der Ball die Torlinie passieren wird und steuert auf Basis dieser Berechnungen einen Servomotor an, der die Torwartfigur nach rechts oder links kippt, um den Schuss zu parieren. Bei einer Schussgeschwindigkeit von 100 Kilometer pro Stunde erreicht der Ball die Torlinie in 300 Millisekunden. Der RoboKeeper muss also sehr schnell reagieren. Dafür verfügt der Industrie-PC Kontron ThinkIO-Duo über einen Intel Core 2 Duo- Prozessor mit einem Prozessortakt von zwei mal 1,2 Gigahertz. Ein extrem leistungsfähiger Servomotor ermöglicht eine Radialbeschleunigung der Figur von bis zu 212 m/s2 – rund 17 Mal schneller, als ein Formel-1- Wagen – und lässt damit sogar Fußballprofis beim Angriff alt aussehen.

Parallele Datenverarbeitung

Zwei Digitalkameras hinter der Torlinie nehmen jeweils 40 Bilder pro Sekunde auf. An Hand dieser Bilder verfolgt das System die Flugkurve des Balls vom Moment des Abschlags bis zur Torlinie. Jede Kamera wird über einen der beiden Gigabit-Ethernet Ports des ThinkIO-Duo angeschlossen. Durch die Verwendung von zwei separaten Ports werden Daten-Kollisionen vermieden und mittels GigE-Vision-Standard zwei Bilder gleichzeitig übermittelt. Bei einer Auflösung von 640 x 480 Pixeln und einer Farbtiefe von 2 Bytes übertragen die Kameras pro Sekunde insgesamt 47 Megabyte an unkomprimierten Bilddaten.

Zwei Cores lassen spielen

Die Software, entwickelt vom IML und programmiert in C++, läuft auf dem ThinkIODuo unter dem Kernel 2.6.23.1 (SMP) mit Fedora Core 8 Linux mit ThinkIO-Erweiterungen. Dabei nutzt diese die Rechenleistung des ThinkIO-Duo voll aus. Die Bilder der beiden Kameras werden jeweils auf einem Prozessor Core im symmetrischen Multiprocessing parallel verarbeitet. Die Software untersucht die Bilddaten auf sogenannte Blobs (Binary Large Objects) und klassifiziert die Bildanteile entsprechend der Größe, Farbe und Form. Wenn sie zwei auf den Ball passende Blobs gefunden hat, berechnet der ThinkIO die Position des Balls im Raum. Die Ballgeschwindigkeit wird aus dem Positionsvergleich von zwei aufeinanderfolgenden Bildern errechnet. Sind Ballgeschwindigkeit und Position bekannt, ist es möglich, den Ort zu bestimmen, an dem der Ball die Torlinie passieren wird. Dabei berücksichtigt die Software sogar die Flugkurve. Das ermöglicht es dem RoboKeeper auch auf Schüsse mit Effet, Aufsetzer oder Bandenschüsse schnell und richtig zu reagieren. In nur 1 bis 2 Millisekunden hat der ThinkIO-Duo berechnet, auf welchen Winkel der RoboKeeper eingestellt werden muss, um den Schuss zu halten. Diese Werte übermittelt der ThinkIO-Duo via CAN-Interface an den Servomotor, der die Torwartfigur dann entsprechend bewegt.

Der RoboKeeper ist somit auch ein Referenzprojekt für Vision-basierte Applikationen, die sowohl schnelle Bildverarbeitung als auch eine umfangreiche Ausstattung mit Standard-PC- und Industrieschnittstellen für die Prozesssteuerung benötigen. Typische Beispiele sind Robotik-Systeme, die komplexe Erkennungsalgorithmen für die Objektidentifizierung und Positionsbestimmung nutzen, beispielsweise auf schnell laufenden Förderbändern, sowie die Ansteuerung von Servomotoren übernehmen müssen. Der ThinkIO-Duo bietet genügend Rechenleistung, um die Objektverfolgung und Positionsvoraussage auch für sich nicht linear bewegende Objekte zu berechnen. Damit ist eine Implementierung von Bildverarbeitungssystemen sowohl auf geraden als auch kurvigen Bereichen der Förderlinie möglich.

Individuelle Einstellung

In der RoboKeeper-Applikation werden die Standard-PC-Schnittstellen Ethernet und DVI für den Anschluss der Digitalkameras (GigE-Vision) und das HMI (DVI) genutzt. Über die industriellen Schnittstellen (CAN) erfolgt die Ansteuerung des Servomotors sowie die Geschwindigkeitseinstellung des RoboKeepers: Um jedem, vom Anfänger bis zum Fußballprofi, eine faire Chance zu geben, ein Tor zu erzielen, bietet der Robo Keeper die Einstellung von sieben verschiedenen Geschwindigkeitsstufen an. Diese werden mittels eines Handhelds, der über das modulare I/O-System des ThinkIO angeschlossen wird, angesteuert. Da auf zusätzliche PCMCIA-Karten verzichtet werden kann, erfolgte die Systemimplementierung schnell, einfach und somit kostengünstig. Für industrielle Applikation die eine SPS benötigen, ist ein optionales IEC 61131-3- SoftSPS-Paket verfügbar, das neben einem Editor für die Entwicklung von Feldbus-knoten und einem Compiler für die Erzeugung der Programmcodes auch verschiedene Diagnosetools für die Steuerung enthält. Und da die I/Os des Industrie-PCs direkt über die Software konfiguriert werden, bietet der ThinkIO-Duo Plug-and-Play für alle I/O-Klemmen. Die Verwendung eines ebenfalls optionalen OPC-Servers reduziert den Programmieraufwand zusätzlich, indem er APIs für den Austausch der Prozessdaten und Steuerungsbefehle zwischen der Steuerungsebene und der Firmen-IT, zum Beispiel einer ERP-Lösung oder eines Datenbanksystems, bereitstellt.

ThinkIO-Duo im Detail

Der mit 70 Millimeter Tiefe und 35 Millimeter Stecklevel sehr kompakte und passiv gekühlte Hutschienen-PC ThinkIO-Duo verfügt über einen Intel Core Duo-Prozessor U2500 mit einer Taktfrequenz von 1,2 Gigahertz und 512 Megabyte beziehungsweise 1 Gigabyte RAM Hauptspeicher. Der embedded IPC im robusten Aluminiumgehäuse bietet neben seiner hohen Rechenleistung und internem Flash, mit 512 Megabyte bzw. 2 Gigabyte, unter anderem einen bedarfsgerecht bestückbaren Compact-Flash-Sockel als Datenspeicher oder für Backup/Updates, einen 512 Kilobyte großen, nicht flüchtigen Speicher sowie alle Standard PC-Schnittstellen, wie 2 x USB 2.0, 1 x RS232, 1 x DVI-I und 2 x Gigabit LAN-Schnittstellen.

Der Fernzugriff oder eine Anbindung in die Unternehmens-IT-Welt ist somit möglich. Die interruptfähigen Onboard-Eingänge können unter anderem zur schnellen Reaktion auf externe Ereignisse, wie zum Beispiel den Ausfall der 24 Volt-Stromversorgung bei Verwendung einer externen USV oder beim Überschreiten eines Endbereichsschalters, genutzt werden. Watchdog und Echtzeituhr runden das System ab. Zur dezentralen Anbindung von Industrial-Ethernet- sowie klassischen Feldbuskomponenten ist der ThinkIO-Duo auch mit Profinet RTController, Profibus DP- und CANopen-Master- Funktionalität ausgestattet. Durch das flexible Plattformkonzept sind weitere Protokolle projektspezifisch ohne Anpassung der Treibersoftware möglich.

Die Firma Kontron bietet neben einem Windows XP Embedded Betriebssystem auch ein Echtzeit Linux Open Source Automation Development Lab (OSADL)-Softwarepaket für den ThinkIO-Duo standardmäßig an.

Ingrid Einsiedler, Kontron/csc

FAKTEN

Die Firma Kontron entwickelt und fertigt sowohl standardbasierte als auch kundenspezifische embedded und Rugged Mobile Lösungen für OEMs, Systemintegratoren und Anwendungsanbieter in den verschiedensten Marktsegmenten. Die Entwicklungs- und Fertigungsstandorte von Kontron in ganz Europa, Nordamerika und der asiatisch-pazifischen Region arbeiten mit einer globalen Vertriebs- und Supportorganisation zusammen, die den Kontron-Kunden hilft, ihr Time-to-Market zu reduzieren und dadurch Wettbewerbsvorteile zu erzielen. Das vielfältige Produktportfolio von Kontron umfasst: Boards und Mezzanine-Karten, Computer-On-Module, HMIs und Displays, Systeme und Fertigung nach Kundenwunsch.

KOSTENGÜNSTIGES PARALLEL-PROCESSING

Das Parallel-Processing ist notwendig, um die benötigte Rechengeschwindigkeit zu erhalten. Anfängliche Versuche mit einem Single-Core-Prozessor bereiteten Probleme, da die Kamerabilder nicht schnell genug aus dem Netzwerkpuffer gelesen werden konnten. Dies führte zu einem Datenverlust einzelner Bilder. Um das System dennoch auf Basis von Single-Core-Prozessoren umsetzen zu können, hätte das IML mindestens auf drei separate CPU-Boards zurückgreifen müssen: zwei für die parallele Verarbeitung der Bilddaten und ein drittes für das Load-Balancing. Hinzu kämen noch zusätzliche I/O-Karten für die Feldbus-Schnittstellen. Dies ließe sich nur mit einem applikationsspezifischen Racksystem unter erheblichem Aufwand für die Systemintegration und Systemprogrammierung umsetzen. Der einfach zu implementierende ThinkIO-Duo hingegen ermöglicht die schnelle Applikationsentwicklung, da er Dual-Core-Performance ohne erhöhte Thermal Design Power sowie alle Standard PC- und Industrie-Schnittstellen in einem einzigen, ultrakompakten und sofort einsetzbaren System vereint.

Erschienen in Ausgabe: 08/2008