Der Personal Vision Sensor
Frei programmierbare Kamera mit Multi-Core ARM-Prozessor unter Linux
Neuentwicklungen von Prozessoren erhöhen stetig die verfügbare Rechenleistung in Vision Sensoren und Smart Cameras. Was noch vor wenigen Jahren PC-typische Rechenleistung war, steht heutzutage in einer Kamera zur Verfügung. Daher kann es sinnvoll sein bisherige PC-Anwendungen in einen Vision Sensor zu portieren. Hierfür benötigt man jedoch eine frei programmierbare Plattform ohne vorgefertigtes Programm.
Vision Sensoren sind weit verbreitet und erfüllen eine Vielzahl von Standardaufgaben. Eine einzige, kompakte Sensoreinheit erhöht insgesamt die Akzeptanz von Bildverarbeitungssystemen. Intelligente Kameras haben eine umfangreiche Software für die Lösung unterschiedlichster Aufgaben, adressieren den Techniker, den Endanwender. Ein Bildverarbeitungsingenieur sieht die Aufgabe hingegen mit anderen Augen – den Bildverarbeitungsaugen. Schnell ist er dabei und sagt: „Diese Anwendung kann ich mit sieben Operatoren lösen.“ Warum sollte man nicht den direkten Weg gehen und genau diese Operatoren implementieren? Eine Bildverarbeitungsbibliothek wie Halcon hilft noch dabei. Ein weiterer Vorteil: Mit nur wenigen Parametern kann ein einfaches GUI (Graphical User Interface) gestaltet werden. Dokumentation, Schulungen, Einweisungen werden wesentlich einfacher, da der Vision Sensor nur diese spezielle Aufgabe ausführt, ohne zusätzlichen Overhead – wie ein typischer Sensor eben. Daher kommt auch die Bezeichnung „Personal Vision Sensor“.
Aktuelle Neuentwicklungen im Hause Imago berücksichtigen die genannten Wünsche und Trends. Die VisionCam XM getaufte Kamera bietet mit einem 1,5 GHz getakteten ARM A15 Zweikern-Prozessor erheblich mehr Rechenleistung im Vergleich zum Vorgänger. Hinzu kommen mehr Arbeitsspeicher sowie zwei Gleitkommarechner für Sonderaufgaben. Im Umfeld industrieller Bildverarbeitung ist jedoch ein anderes Merkmal ausschlaggebend: der Echtzeit-Ethernet-Feldbus (z.B. EtherCAT, Sercos III, Profinet u.a.). Er ist integraler Bestandteil und wird über einen speziellen RISC-Prozessor realisiert, der ausschließlich die Aufgabe hat, die erste Ebene des Feldbusprotokolls abzuarbeiten. Damit ist die nächste Entwicklungsstufe der Maschinenkommunikation schon integriert und aufwendige I/O-Verkabelung kann entfallen. Die neue Serie wird abgerundet durch Optionen wie IP65-Schutz oder die 1 Gigabit/s Netzwerkschnittstelle.
Bequeme Entwicklung und Portierung
Wie läuft ein Entwicklungs- und Portierungs-Prozess ab? Fangen wir an mit dem Linux Betriebssystem und der Applikation, die vielleicht unter Windows läuft. Hier greift die VisionBox-Plattform AGE-X, die mit x86er Prozessoren ausgestattet ist und sowohl Windows Embedded als auch Linux als Betriebssystem nutzt. Das SDK (Software Development Kit) – aber auch BV-Bibliotheken oder Kameratreiber gibt es üblicherweise unter Linux. Abgesehen vom GUI-Design lässt sich der Kern einer Anwendung recht fix auf Linux portieren. Und damit steht die Tür offen für einen Versuch, diese auf einer Smart Camera ablaufen zu lassen.
Natürlich kann auch der Programm-Code direkt auf die Kamera portiert werden. Ist hierfür eine neue Toolchain erforderlich – z.B. Eclipse oder Third-Party Tools? Eine häufige Frage, denn Entwickler sind mit Microsoft Visual Studio vertraut. Die Antwort lautet: nein. Code editieren und debuggen findet weiterhin in Visual Studio statt, kompiliert wird direkt auf der Kamera. Hierzu überträgt ein Plug-In sämtliche Dateien auf die Kamera, führt dort die Kompilierung aus und erhält auch von dort Debug-Informationen. Schnell ist ein erstes Programm auf der Kamera lauffähig. Und Linux als Betriebssystem liegt im Trend, getrieben von vielen ARM-basierten Boards, IoT, iOS, Android. Die hohe Schule der Programmierung sind echtzeitfähige BV-Systeme. Auch dies kann mit der VisionCam XM mit ähnlicher Toolchain, einem kostenlosen Echtzeit-Betriebssystem und C++ erreicht werden, ohne Einschränkung bei der Nutzung der vier ARM- und Gleitkomma-Kerne.
Bildvorverarbeitung in der Kamera
Typische Vision Sensoren haben keine 1 Gbit/s Ethernet-Schnittstelle. Die neue Kamera kann jedoch auch Daten und/oder Kamerabilder sehr schnell übertragen. Damit ist sie ebenfalls für Bildvorverarbeitungsaufgaben prädestiniert. Beispiel: In einem großen Bild muss irgendwo ein Code gelesen werden. Ein Paket ist vielfältig beschriftet, alleine die Suche des Codes ist ein komplexer Algorithmus. Dieser wird von der Kamera ausgeführt, übertragen wird nur die Area-of-Interest um den Code. Ein übergeordneter Rechner ist in der Lage kleine Bilder von vielen Kameraansichten schnell auszuwerten, ohne Einbußen bei Datenraten oder Kabellängen.
Zusammengefasst ist die neue VisionCam eine Plattform für Bildverarbeitungsingenieure mit dem Anspruch ihre persönliche Anwendung im Formfaktor einer Kamera umzusetzen oder alternativ eine Kamera zur Bildvorverarbeitung einsetzen zu können. Und dieses alles mit einem der schnellste Dual Core ARM-Prozessoren inkl. Echtzeit-Feldbusanbindung. Live zu sehen gibt es das neue Gerät auf der Vision 2016, exklusiv auf dem Imago-Stand.
Kontakt
Imago Technologies GmbH
Straßheimer Str. 45
61169 Friedberg
Deutschland
+49 6031 684 26 11
+49 6031 684 26 12