Die Qual der Wahl

Die Qual der Wahl

Intelligente Kamera, Embedded System oder PC?

Bildverarbeitung ist spannend aufgrund ihrer Vielfalt und unendlich vielen Ideen. Sie kann sich aber auch durch die gewählte Plattform als Sackgasse erweisen.
Die Gründe dafür sind vielfältig:

  • • Intelligente Kamera: Für eine Anwendung steht zuwenig Rechenleistung zur Verfügung. Die geforderte Geschwindigkeit oder Genauigkeit wird nicht erreicht.
  • • PC: Die Plattform ist zu komplex für die Anwendung. Es läuft alles, aber der Wettbewerb bietet die gleiche Funktionalität günstiger als intelligente Kamera an.
  • • Interface & Skalierbarkeit: Einbindung in die lokale Infrastruktur der Maschine. Es gibt keine Datenbanksoftware für den Embedded Prozessor, ein Feldbusinterface fehlt, die Anforderungen wachsen nach der Erstinstallation bzw. die Rechnerplattform ist nicht flexibel genug.
  • • Die Softwareumgebung/-struktur erweist sich als nicht zukunftsträchtig: Es existiert eine historisch gewachsene, aber nicht parallelisierbare Programmstruktur auf einem Einzelkernprozessor bzw. eine Bedienung über eine Windowsoberfläche, obwohl eine browserbasierte Bedienung geschickter wäre.

Schnell ist eine Fehlentscheidung getroffen, die viel Arbeit oder einen neuen Systemansatz erfordert. Der Artikel soll zwischen den üblichen Alternativen (Kamera mit integriertem Prozessor, PC-Lösung oder Embedded-PC) Aspekte aufzeigen, die zur richtigen Wahl führen.

Softwareumgebung

Bei der Wahl der Softwareumgebung kann es unklar sein, auf welcher Plattform diese laufen soll:

  • • Windows: Windows 7, Windows 7 Embedded, Windows RT, Windows 8x…
  • • Linux (es gibt unendlich viele Derivate mit unterschiedlichen Eigenschaften)
  • • DSP/Bios, SYS/Bios, echtzeitfähige Multitaskingbetriebssysteme von Texas Instruments (TI)
  • • Parametrierbare, proprietäre Software für die Hardware eines Herstellers

Damit das BV-Know-how erhalten bleibt, sollte die Lösung hardwareunabhängig in C++ entwickelt werden, damit der Code auf verschiedenen Rechnerarchitekturen kompiliert werden kann, was das letzte Beispiel ausschließt. Da sich Mehrkernprozessoren gegenüber Einkernprozessoren durchsetzen, empfiehlt es sich, bei Neuentwicklungen oder Überarbeitungen das frei verfügbare OpenMP einzusetzen. Dieses bietet Werkzeuge, die es ermöglichen, dass der Compiler die Algorithmen auf mehrere Kerne automatisch verteilt. Somit ist der Bildverarbeitungsentwickler erst einmal unabhängig von der Zielplattform.

Bedienoberfläche

Die Bedienoberfläche und Parametrierung der Applikation sollte klar getrennt werden, denn in der Industrie gibt es unterschiedliche Anforderungen:

  • • Lokale Bedienung per Touch Display: Multitouch in Windows 8, unter Win-dows/Linux, über eigenes HMI oder browserbasiert.
  • • Abgesetzte Bedienung von der Maschinenoberfläche: browserbasierte Anbindung an die GUI (z.B. per XML-Kommandos) oder Remote Desktop (PC) / Remote Shell (Linux).
  • • Fernbedienung ohne Bedienoberfläche: per XML, Feldbusinterface, Ethernet…

Mit diesem Ansatz gelingt es, die Kundenanforderungen zu erfüllen, die Software offen zu gestalten und produktivitätssteigernde Softwaretools einsetzen zu können. Bildverarbeitungsanwendungen erfordern aber häufig eine intensive Diskussion über die Algorithmen und Bibliotheken. Die Benutzeroberfläche und die Einbindung in die Maschinenumgebung kosten aber oft genau so viel – wenn nicht sogar mehr – Aufwand.

Hardware

Jetzt sind die Grundlagen geschaffen, um zu entscheiden, ob die Anwendung als Intelligente Kamera oder PC-System umgesetzt werden soll:

  • • Als Intelligente Kamera läuft die gesamte Anwendung auf einer Kamera mit integriertem Rechner.
  • • Aufgrund kleiner Kameras und größerer Schnittstellenvielfalt besteht die Kombination von handelsüblichen Kameras und abgesetztem Embedded System.

Gerade bei Zeilenkamera-Anwendungen ist letzteres üblich, denn die mit TI-Prozessoren ausgestatteten VisionBoxen bieten hierfür angepasste Merkmale:

  • • Drehgebersignalverarbeitung zur Erzeugung der Zeilentrigger
  • • Hohe Rechenleistung über Mehrkernprozessoren
  • • Schnelle digitale IOs und Ethernet für die Anbindung der Peripherie
  • • Niedriger Leistungsverbrauch und somit die Möglichkeit, Zeilenkameras und Rechner auf einer Traverse zu montieren und als Gesamteinheit in die Maschine zu integrieren.

Im Umfeld von Embedded-PCs gibt es lüfterlose Bildverarbeitungsrechner mit Windows und integrierten Schnittstellen. Diese reduzieren die Anzahl von Geräten und Kabelbäumen im Schaltschrank (keine USV, LED-Controller, Triggereinheit oder I/O-Einheit) und vor allem Softwarestrukturen, die sämtliche Komponenten so steuern, dass die Anwendung funktioniert. Das klingt komplex und vielfältig? Ist es auch! Fachlich richtige Beratung steht daher im Vordergrund. Des Weiteren kann die Peripherie auch von der Softwareseite eingebunden werden. Ein Beispiel: Eine PC-basierte Applikation wird per Ethercat gesteuert, soll eine GigE-Zeilenkamera verwenden und zudem schnell auf Eingangssignale reagieren, das heißt der Embedded-PC wird mit einem Feldbusinterface erweitert, die Zeilenkamera zusammen mit dem Drehgeberinterface und der Berechnung der Drehgebersignale eingebunden und alles in einem Beispielprogramm verpackt. Der Applikationsentwickler startet somit auf einem höheren Niveau und spart Zeit im Einbinden der Hardware.

Fazit

Bildverarbeitungsapplikationen sollten hinsichtlich der verwendeten Komponenten offen entwickelt werden, um sich den Weg in die Zukunft nicht zu verbauen. Viele Anwendungen haben das Potenzial als intelligente Kamera in einer programmierbaren Kamera zu laufen und gerade Zeilenkameraanwendungen können mit Embedded Rechnern kompakt realisiert werden. PCs verlassen zunehmend den klassischen Schaltschrank und werden in verschiedensten Variationen eingesetzt. Algorithmen sollten in C++-Code geschrieben und somit portierbar gehalten werden. Die heutige Vielfalt der Hardwarekomponenten erfordert im ersten Schritt eine umfassende Beratung. ‚Embedded Vision‘ ist in aller Munde, zunehmend kommen Mehrkernprozessoren zum Einsatz und Betriebssysteme unterliegen einem schnellen Wandel.

Das könnte Sie auch Interessieren