Der Preis der Geschwindigkeit
High Speed Kameras liefern hohe Datenraten – und dann?
Technische Entwicklungen, die harmonisch aufeinander abgestimmt verlaufen und dabei zu mehr Leistung führen, sind ideal. Schwierig wird es, wenn eine einzelne Entwicklung den anderen vorauseilt. Der Computeranbieter Imago wirft diesbezüglich einen prüfenden Blick auf das Zusammenspiel von Kameras und IPC-Lösungen in der industriellen Bildverabeitung.
Ob 10GigE Vision, mehrere USB 3.0 Kameras, Camera Link Full, Camera Link HS oder CoaXPress, Kameras liefern heute aufgrund höherer Auflösungen und Bildwiederholraten sprunghaft höhere Datenraten. Wir nennen die Steigerung von Kameradatenraten Multiplikator M1.
Vor Jahren lieferten z.B. drei VGA-Kameras eine Gesamtdatenrate von 50 MByte/s. Und heute? Für drei typische USB 3.0-Kameras liegen die Datenraten bei 600 MByte/s, 660 MByte/s (Camera Link Full) und wie unlängst im Imago-Labor getestet, bei netto 1.000 MByte/s (10 GigE). Das entspricht somit einem Steigerungsfaktor M1 von 12 bis 20.
Ein weiterer Quantensprung ergibt sich aus der gesteigerten „Intelligenz“ heutiger BV-Algorithmen. Sie abstrahieren, sind anwenderfreundlich und rechnen dabei auf Farb-, 3D- oder Spektraldaten. So kommt ein Faktor M2 von 5 zustande. Dieser schlägt sich auch in zunehmend heterogenen Prozessorlösungen nieder, bei denen eine den Hauptprozessor ergänzende Rechenleistung erforderlich ist.
Bei x86-Architekturen benötigt das Windows-Betriebssystem immer wieder, aber unvorhersagbar, zusätzliche Ressourcen, der Prozessor läuft nicht im Grenzbereich damit „weiche“ Echtzeit erreicht wird. Anspruchsvolle graphische Bedienungsoberflächen (GUI) benötigen weiteren zusätzlicher Rechenaufwand. Alles hat seinen Preis: Quantifizieren wir also den Faktor M3 mit 2.
Die drei spezifizierten Faktoren dienen als Anhaltspunkte. Um eine deutlichere Vorstellung von ihrer Wirkung zu erhalten, multiplizieren wir sie miteinander: M1 × M2 × M3 = 20 × 5 × 2 = 200.
In nur wenigen Jahren ist also der Rechenleistungsbedarf um den Faktor 200 angestiegen! Die CPUs sind in dieser Zeit allerdings nicht adäquat schneller geworden.
Einerseits wird viel über Kameras, Kameraschnittstellen und Kabel diskutiert, andererseits bleiben die Rechnerlösungen aber auf der Strecke. Innovationen schaffen es daher nicht in den Markt, weil die erforderliche Rechnerperformance nicht zur Verfügung steht oder zu späte Beachtung findet. Die Skalierung der Performance von IPCs hat zudem Grenzen, spätestens beim Platzbedarf.
Lösungskonzepte
Warum kann es nicht für alle Anforderungen Standardprodukte geben? Die Anforderungen der Anwender und Märkte sind einfach zu unterschiedlich und lassen sich nicht in einer Produktfamilie konsolidieren. Licht in den Tunnel bringt ein von Imago entwickelter Fragenkatalog. Mit ihm wird dem Kunden zunächst bewusst gemacht, welche Parameter überhaupt Einfluss auf die Gestaltung der Lösung haben. Von den Antworten ausgehend werden dann Rechnerarchitekturen entwickelt, die auch für langjährige Serieneinsätze geeignet sind.
Heterogen oder Homogen?
Bei den homogenen Systemen arbeiten mehrere gleiche Prozessoren an einer Aufgabe und die Prozessorboards sind über schnelle Kommunikationsschnittstellen miteinander verbunden. Das hat den Vorteil, dass die Software auf nur einer Architektur mit nur einem Betriebssystem abläuft, was für Entwicklergruppen und firmenübergreifende Entwicklungsteams wichtig ist.
Bei heutigen Neuentwicklungen homogener Systeme geht es um die Realisierung von Multicomputern auf der Basis von Multikernprozessoren. Heterogene Systeme bestehen aus einem Mix unterschiedlicher Technologien. So wird eine x86-CPU z.B. über einen 8-Kern-Keystone-Prozessor, ein Hochleistungs-FPGA bzw. eine GPU unterstützt. Im Falle eines Keystone-Prozessors kann dies auch ein Board mit z.B. vier Prozessoren mit jeweils acht Kernen sein. Die Vorteile liegen im vergleichsweise niedrigen Stromverbrauch und in der damit verbundenen Kompaktheit.
FPGAs lassen sich heutzutage in OpenCL programmieren und die Hersteller versprechen wesentlich schnellere Entwicklungszeiten. Der sich aus der Nutzung von OpenCL ergebende Overhead wird dabei applikationsabhängig sein. Gleiches gilt für grafische, speziell für die Bildverarbeitung entwickelte Werkzeuge. Somit kann VHDL-Wissen nicht schaden. Außerdem können Ingenieure mit Programmierwissen und Elektronikkenntnissen VHDL schnell erlernen.
Bei den GPUs gibt es verschiedene Präferenzen, wie CUDA oder OpenCL, und verschiedene Leistungsklassen. Der Energie- und Lüftungsbedarf ist enorm und erzeugt Aufwand hin bis zur Schaltschrankauslegung. Alternativ gibt es zunehmend leistungsstärkere GPUs, die direkt in der CPU integriert sind oder Embedded GPU-Boards. Darüber hinaus engagieren sich Anbieter von Spezialsoftware, C++ Code auf der GPU auszuführen. Multicore-ARM-Prozessoren mit fast 200 GPU-Kernen dringen zum Beispiel in den Automotivemarkt vor.
Allerdings benötigt man auch Ingenieure und Informatiker, die mit den unterschiedlichsten Prozessoren arbeiten können und wollen. Ob CPU, Keystone-Architektur, FPGA, GPU oder ARM, es zeigt sich, dass viele Parameter die Wahl des Coprozessors oder der Coprozessoren beeinflussen. Hinzu kommt der jeweilige Bilddatenfluss innerhalb des Prozessors, zum DDR-Speicher oder über die Schnittstellen zu anderen Recheneinheiten. So wird verständlich, warum manches Konzept am Ende im Umfeld des Speichertransfers scheitert.
Echzeitfähigkeit
Insbesondere bei Hochleistungssystemen kommt dem Echtzeitverhalten eine große Bedeutung zu. Was nützt eine High-Speed-Zeilenkamera, wenn die Bilddaten nicht in Echtzeit verarbeitet werden können und die Maschine Antworten nicht rechtzeitig erhält? Der Einfluss von Betriebssystemen spielt eine Rolle und es geht dabei um Multicore-Multitasking OS, Linux, RTLinux sowie Windows Embedded.
Im Falle von heterogenen Lösungen kann auch bewusst die Echtzeit „ausgelagert“ werden, indem windowsfreie Hardware diese Anforderungen erfüllt. Praktische Erfahrungen gibt es mit der VisionBox AGE-X, in welcher der Real Time Communication Controller sämtliche Peripherie in µs-Genauigkeit steuert und Windows Embedded das Anwendungsprogramm ablaufen lässt.
Debugging
Das Thema Debugging wird in High Performance Computern schnell unterschätzt. Was passiert im Fehlerfall? Welche Informationen bietet die Applikationssoftware? Wie granular sind die Softwaremodule auf den einzelnen Prozesseinheiten? Je komplexer das System wird, desto mehr Aufwand fließt in die Software hinein, die autark gewisse Fehlerzustände meldet oder spezifische Logdateien erzeugt. Steht eine Maschine und das Visionsystem hat sich irgendwo verlaufen, steht der Anwender vor einer ernstzunehmenden Herausforderung.
Peripherie
Kein professionelles Visionsystem kommt ohne Hardwaresteuerungen aus. Hier geht es um I/O-Schaltzeiten, deren Jitter, die Beleuchtungsansteuerung (z.B. im Zeilentakt) oder die Triggerung vieler Kameras zum exakt gleichen Zeitpunkt. Nach der Bildaufnahme erfolgen die Berechnungen, die wiederum zu einer Aktion des Rechnersystems in die Maschine hinein führen. Die Reaktion der Peripherie muss klar definiert und mit entsprechender Software überprüft werden.
Langzeitlieferfähigkeit
Der Einsatz von Hochleistungsrechnern für die industrielle Bildverarbeitung, deren Stückzahlen gegenüber anderen Branchen eher gering ausfallen, erfordert die kontinuierliche Verfügbarkeit der Hardware über mehrere Jahre. Bei neuen Konzepten muss man auf die Erfahrung eines Elektronikherstellers vertrauen, auf dessen Marktkenntnisse und insbesondere auf dessen Wissen über seine Lieferanten. Auch die Lebenszyklen von Industrieelektronikkomponenten werden stetig kürzer. Mehr Vielfältigkeit, hohes Innovationstempo, Konkurrenz- und Margendruck haben auch hier ihren Preis. Insofern ist es wichtig, in der Konzeptarbeit Risiken aufzuzeigen und Alternativen zu bewerten.
Beratung
Eine fundierte Beratung steht am Anfang jeder Zusammenarbeit. Aus Ideen, ersten Kundenerfahrungen, z.B. mit mehreren USB-Kameras oder neuesten Algorithmen, werden Konzepte entwickelt, woraus sich schließlich die Hardwarearchitektur ergibt. Diese kann über Produkte, Technologien oder neue Ideen realisiert werden. Am Ende steht dann jeweils ein kunden- und aufgabenspezifisches Seriensystem, das den Wettbewerbsvorsprung sichert.
Kontakt
Imago Technologies GmbH
Straßheimer Str. 45
61169 Friedberg
Deutschland
+49 6031 684 26 11
+49 6031 684 26 12