Sie sind hier: HomeFeldebeneBildverarbeitung

Bildverarbeitung: Computerbasiertes Sehen für Robotiksysteme

Fortsetzung des Artikels von Teil 3.

Workload-Konsolidierung inklusive

Grafik zu Embedded Vision Platforms Bildquelle: © Congatec

Smarte Embedded-Vision-Plattformen mit KI-basierter ‚Situational Awareness‘ werden aus vielen kleinen Funktionsbausteinen zusammengesetzt, deren Zusammenspiel validiert sein muss.

Das Ziel dieser Plattform ist vor allem die Zusammenführung einzelner Teillösungen hin zu einer homogenen Lösungsplattform sowie daneben eine Workload-Konsolidierung. Bisher separate Systeme zum Beispiel für Vision, KI oder IoT-Gateways können nämlich problemlos zusammen mit harten Echtzeit-Anwendungen und Time-Sensitive Networking (TSN) auf einer Hardware konsolidiert werden. Kunden sparen sich so die Entwicklung und Pflege unterschiedlicher Embedded-Systeme für die einzelnen Aufgaben, was enorme Kostenvorteile bietet. Um solch heterogene Systeme entwickeln zu können, benötigen OEMs vor allem einen leistungsfähigen Echtzeit-Hypervisor sowie die zur Applikation passende Multi-Core-Embedded-Serverplattform, auf der sich so viele Cores befinden, wie sie für die konkreten, softwareseitig diskret zu haltenden Aufgabenstellungen gefordert sind.

Die von Intel, Congatec und Real-Time Systems anlässlich der Embedded World 2019 präsentierte industrietaugliche Lösungsplattform basiert beispielsweise auf COM-Express-Type-6-Modulen mit Intel-Xeon-E2-Prozessoren und integriert drei applikationsfertig vorkonfigurierte virtuelle Maschinen. Eine betreibt eine Vision-Kamera von Basler, bei der die Vision-basierte Objekt-Erkennung unter Linux über die ‚OpenVino‘-Software von Intel erfolgt. Die KI-Algorithmen werden auf einer Intel-‚Arria-10‘-FPGA-Karte von Refexces ausgeführt.

Grafik zur Computer vision pipeline Bildquelle: © Congatec

Die Intel-Distribution des ‚OpenVino‘-Toolkits basiert auf Convolutional Neural Networks und unterstützt die heterogene Ausführung von Deep-Learning-Inferenz-Algorithmen über CPUs, GPUs und FPGAs sowie den Intel Movidius Neural Compute Stick.

Die unabhängigen Echtzeit-Partitionen betreiben Echtzeit-Linux, um jeweils ein inverses Pendel in Echtzeit in Balance zu halten, was die verteilten Fertigungsroboter symbolisierte. Besucher der Embedded World beispielsweise konnten versuchen, das Gleichgewicht dieser Pendel zu stören – das System reagierte sofort in Echtzeit und hielt die Pendel im Gleichgewicht. 

Eine weitere Linux-Partition wurde dazu benutzt, ein Secure Gateway ‚onboard‘ zu betreiben. Die Vorteile dieser Secure-Gateway-Integration sind zum einen die Einsparung der Kosten und des Platzes für das externe Gateway. Zum anderen schützen sie den Anwender vor gefährlichen Backdoors eines externen Gateways, sodass man die Steuerung mit einer Vision-App be-denkenlos direkt als Edge-Device konzipieren kann.

Um die Unabhängigkeit der Anwendungen und ihr Echtzeit-Verhalten auf einer einzigen Serverplattform mit mehreren virtuellen Maschinen zu demonstrieren, konnte die Linux-Partition, auf der das Vision-System in der Demo betrieben wurde, neu gebootet werden, was keine Auswirkungen auf das virtualisierte Echtzeit-System zeigte. Grundsätzlich lassen sich selbstverständlich ebenso alle weiteren Betriebssysteme auf ihren jeweiligen virtuellen Maschinen unabhängig voneinander neu booten und per Watchdog auf korrekte Arbeit überprüfen.