05.01.2022

Ein Einblick in verschiedene AR-Software-Tools

  • Frontline Worker digitalisieren
  • Programmieren oder Pinnen?

    Das Beste aus zwei Welten – so lautet ein viel beanspruchter Werbeslogan, der oft dann verwendet wird, wenn zwei Aspekte zum Tragen kommen: Emotion und Innovation, Natürlichkeit und Moderne, Pragmatismus und Perfektionismus. Aber was ist, wenn wirklich zwei Welten aufeinandertreffen und schier unbegrenzte Möglichkeiten eröffnen? Bei Augmented Reality (AR) trifft die Realität auf die Virtualität. Im Ergebnis entsteht das Beste aus zwei Welten.

    AR ist eine Schnittstelle zwischen realen Objekten und virtuellen Inhalten. Was simpel klingt, ist in Wirklichkeit eine zukunftsträchtige Technologie mit immensen Vorteilen. Das zeigt sich beispielsweise beim Lernen mit AR. Werden Lerninhalte durch virtuelle oder räumliche Simulation aufbereitet, muss der Lernende keine Nutzeroberfläche bedienen oder keine Informationen suchen. Seine kognitive Belastung sinkt zugunsten einer Fokussierung auf den Inhalt. Die Qualität des Lernens steigt.

    Kundenspezifische Wissensvermittlung braucht gute Programmierer

    Software Development Kits (SDKs) und Software Tools, die zur Implementierung solcher Schnittstellen notwendig sind, sind bereits weit verbreitet, z.B. ArCore, Apple Arkit und HoloLens Toolkit. Auch Richtlinien und Guidelines sind verfügbar, die auf Erfahrungswerten und umfangreichen Studien basieren. Doch Lerninhalte und die Anforderungen, die Unternehmen an die Wissensvermittlung stellen, sind zumeist fachspezifisch und individuell. Deshalb bedarf es visierter Programmierer, die auf den jeweiligen Kunden und seinen Anwendungsfall zugeschnittene Lösungen entwickeln. Dieser Prozess ist kosten- und zeitintensiv. Der Programmierer muss sich mit dem Tracking und der Interaktion mit virtuellen sowie realen Objekten befassen, Benutzerschnittstellen schaffen und bei der Entwicklung auf eine hohe Anwenderfreundlichkeit sowie eine gelungene User Experience achten.

    Trotz dieser individuellen Anforderungen zeigen sich Parallelen in den Anwendungsfällen, bei denen es um das Erlernen von Arbeitsabläufen geht. Im industriellen Bereich etwa ist oft die Animation und Beschreibung bestimmter Arbeitsschritte mit Hilfe von audiovisuellen und räumlichen Anweisungen sinnvoll. TeamViewer hat deshalb Tools entwickelt, mit denen der Kunde ganz einfach selbst Lerninhalte und Anleitungen erstellen kann. Er muss sich dazu weder mit Tracking, Interaktion oder dem Design der Benutzeroberfläche beschäftigen noch über Programmierkenntnisse verfügen. Mit TeamViewer Pins können virtuelle Lerninhalte an reale Objekte „gepinnt“ werden. Mit TeamViewer Steps wird Anleiten, Lernen und Üben Schritt für Schritt am virtuellen Objekt möglich.

    Eine Entwicklungsumgebung für alle SDKs – Unity

    Um eine ideale AR-Lernumgebung umsetzen zu können, bedarf es dem Zusammenspiel von Hardware- und Softwarekomponenten. Von den Fähigkeiten des Programmierers ist es abhängig, wie geschickt er diese Komponenten in einer Applikation zusammenfügt. Zudem braucht er eine geeignete Entwicklungsumgebung. Für AR-Apps bietet sich Unity an, da es sich als ausgesprochen kompatibel mit verschiedenen AR-SDKs erweist, etwa jenen für die HoloLens von Microsoft oder die Meta 2, die beide mit ihren hauseigenen SDKs ausgestattet sind.

    Die SDKs bieten Skripte, mit denen eine unkomplizierte und schnelle App-Entwicklung für die jeweilige Hardware ermöglicht wird. Der Entwickler kann auf grundlegende Funktionen der Hardware, wie das Kamerabild, Mikrofon und Lautsprecher, Sensoren zum Erfassen des Raums (Spatial-Mapping) und Interaktionen des Benutzers zugreifen. Individuelle Inhalte, die präsentiert werden sollen, müssen selbst erstellt und auf Basis des SDKs von einem Entwickler integriert werden.

    Neben AR-Brillen eignen sich auch Smartphones für AR-Apps, da sie die Sensorik, welche in AR-Brillen zum Einsatz kommt, bereits verbaut haben. Ein wesentlicher Vorteil der Smartphones ist ihre Omnipräsenz. Im Vergleich zu VR-Brillen können AR-Apps auf Smartphones schnell eine hohe Reichweite generieren. Auch hier sind SDKs für eine Vielzahl von Plattformen verfügbar, u. a. Goolge-ARCore (Android) und ARKit (iOS).

    Neben den genannten SDKs, die auf bestimmte Hardware oder Betriebssystem zugeschnitten sind, gibt es plattformunabhängige SDKs. Vuforia oder Kudan sind zum Beispiel auf Object-Tracking spezialisiert und vielseitig einsetzbar. Die Entwicklungsumgebung Unity eignet sich für alle erwähnten SDKs und die Software kann auf verschiedene Plattformen ausgeliefert werden.

    Softwarehersteller wie Microsoft, Goolge, Meta und Apple ergänzen ihre SDKs um eine Sammlung von grundlegenden Empfehlungen und Guidelines. Diese beruhen auf empirischen Daten und Erfahrungswerten aus der konkreten Anwendung. Sie geben Auskunft darüber, wie Interaktionen und Benutzerschnittstellen gestaltet werden können, um die Anwenderfreundlichkeit und die User Experience zu erhöhen. So gilt es z.B. die benötigte Framerate einzuhalten oder – je nach Hard- und Software – die korrekte Distanz zu wählen, sodass virtuelle Gegenstände und Schnittstellen-Elementen für den Nutzer angenehm dargestellt werden.

    Sehen Sie, wie unsere AR-Lösung funktioniert

    Setzen Sie sich mit unseren Experten in Verbindung und finden Sie heraus, wie Augmented Reality Ihre Unternehmensprozesse verändern kann.

    3 Komponenten + eine gute Idee = eine interaktive App

    Um eine interaktive App zu bauen, ist eine gute Idee unabdingbar. Dabei hilft es, die drei Hauptkomponenten einer jeden AR-App zu kennen. Diese lauten:

    1. Tracking
    2. Content
    3. Interaktion

    Das Tracking

    Damit eine AR-Brille mehr als ein gewöhnlicher Bildschirm ist, benötigt sie ein Tracking-System. Dieses verankert ein virtuelles Objekt im Raum, sodass es seine Position beibehält, auch wenn sich der Betrachter bewegt und das Objekt umrundet. Das Tracking platziert also virtuelle Inhalte in der Welt und sorgt dafür, dass sie an dieser Stelle bleiben.

    Die proprietären Tracking-Systeme einer Brille können durch Tracking-SDKs erweitert werden. Diese sind meist unabhängig von einer speziellen Brille integrierbar. Durch diese zusätzlichen Tracking-SDKs können neben der Position der Brille und der generellen Umgebung auch spezielle Objekte erkannt werden, die sich in der Umgebung befinden, z.B. Personen, Werkzeuge, Maschinen oder Gesten.

    Die HoloLens verwendet ein Inside-Out Tracking, wie es für AR-Devices typisch ist. Sie nutzt die Sensoren, die direkt in der Brille verbaut sind (Kameras, Infrarotkameras, Lichtsensoren und inertiale Messeinheiten), um sich selbst und Objekte im Raum zu positionieren. Dabei sucht sich die Brille sog. “Features”, d.h. “interessante” Punkte im Raum, die sie über mehrere Frames und aus mehreren Winkeln zuverlässig wiedererkennt. Somit kann sie feststellen, in welcher Beziehung sie selbst zur Umgebung steht.

    Auf die Sensoren können zusätzliche Algorithmen zugreifen. Es gibt meist zwei unterschiedliche optische Ansätze: Der erste Ansatz basiert darauf, natürliche Features wie ganze Objekte zu erkennen, und wird beispielsweise von VisionLib und OpenCV verfolgt. Nachteilig ist, dass oft vergleichsweise viel Rechenpower benötigt wird und sich die Anwendungen als weniger zuverlässig erweisen. Positiv ist zu vermerken, dass die Umgebung nicht speziell präpariert werden muss.
    Der zweite Ansatz sieht vor, dass Marker oder QR-Codes (sog. fiducial markers) an markanten Position oder Objekten platziert werden. Diese kann die Kamera leicht von anderen Objekten unterscheiden. Zu den Marker-basierte SDKs gehören z.B. Wikitude oder ARToolKit. Eine Integration in Unity ist bereits erfolgt.

    Das Tracking kann mit zusätzlicher Hardware verbessert werden. Ein aktueller Forschungsansatz ƒbeschäftigt sich mit Exo-Suits, wie dem HoloSuit, für Körper-Tracking oder zusätzlichen Sensoren wie die LeapMotion, die darauf spezialisiert ist, einzelne Finger zu tracken. Derzeit gibt es noch keine praxiserprobten Systeme in Verbindung mit der HoloLens, auch wenn erste Ergebnisse der Forscher- und Entwicklerteams durchaus vielversprechend sind.

    Für welches Tracking-System man sich entscheidet, hängt stark vom Usecase ab. Manchmal reichen die Standardfunktionen der Brille aus, wenn die Inhalte unabhängig von der Umgebung angeschaut werden können. In spezielleren Fällen müssen die Vor- und Nachteile zusätzlicher SDKs abgewägt werden, um das bestmögliche Ergebnis zu erreichen.

    Der Content

    Um Hologramme anzuzeigen, können 3D-Modelle einfach in Unity importiert werden. Meistens ist es damit jedoch nicht getan, denn für gewöhnlich möchte man ein Modell nicht nur anschauen, sondern zusätzliche Inhalte wie Animationen, Anweisungen, Texte, Bilder und Videos ergänzen. Handelt es sich um wenige Ergänzungen, so ist das Einpflegen in Unity kein Problem. Möchte man hingegen mehrere oder hunderte von Arbeitsanweisungen, Animationen oder medialen Content anzeigen, wird es schwierig, die Anzahl der Inhalte zu skalieren.

    Mit Hilfe eines Editors oder Content Creation Tools ist es möglich, das Einpflegen von Inhalten nicht einem Programmierer zu übertragen, sondern Personen, die dazu kein tieferes Verständnis von 3D-Engines benötigen. Das bedeutet zunächst einen großen initialen Entwicklungsaufwand.
    Zusätzlich zu der Anzahl der Inhalte muss bedacht werden, dass die Größe der graphischen Objekte auf die jeweilige Brille und ihre Fähigkeiten angepasst werden muss. Die HoloLens hat eine Displayauflösung von 1268×720 px und einen eigens angefertigten Prozessor. Trotzdem sollte man die Brille nicht mit dem Rendering von großen Dateien überfordern. Bilder und Videos müssen deshalb komprimiert und die Polygone der 3D-Objekte reduziert werden, damit flüssige 60 FPS (Bilder pro Sekunde) garantiert sind.

    Die Interaktion

    Ein Tracking-System und virtuelle Inhalte sind die Grundvoraussetzungen, doch ein wesentlicher Aspekt jeder AR-App lautet: Interaktion. Das Abspielen einer Animation, das Starten eines Videos oder das Platzieren von Hologrammen im Raum – es gibt wenige Anwendungsfälle, in denen der Nutzer nicht mit der virtuellen Welt interagieren möchte.

    Je nach AR-Brille sehen die Interaktionen unterschiedlich aus. Sie lassen sich wie folgt zusammenfassen:

    • Gesten: Die Hand-Gesten erlauben dem Nutzer Aktionen auszuführen. Was diese bewirken, kommt auf die Anwendung an. Häufig werden Gesten benutzt, um einen einfachen Maus-Klick auszuführen. Dabei wird die Position der Hand von der Brille getrackt. Auch komplexere Interaktionen wie Scrollen oder das Ziehen von Objekten im Raum können ausgeführt werden.
    • Gaze (von eng. Blick): Beim Beispiel HoloLens gibt es einen virtuellen Cursor, der in der Mitte des Sichtfelds platziert ist. Liegt der Cursor auf dem Objekt und führt der Nutzer eine Klick-Geste aus, wird mit dem Objekt, auf dem der Cursor liegt, interagiert. Dieser Cursor kann auch ohne Gesten benutzt werden. Eine Kopfbewegung des Nutzers kann ein bestimmtes Video abspielen, solange der Nutzer darauf schaut. Schaut er weg, stoppt das Video automatisch. Das ist hilfreich, wenn man dem Nutzer das Erlernen der Handgesten ersparen möchte.
    • Sprachinput: Auch ohne Hand- und Kopfbewegungen können Aktionen ausgeführt werden: mithilfe der Stimme. Bedeutet “Go Back” das Zurückgehen auf einen vorherigen Arbeitsschritt, muss der User nicht auf den Go Back-Button schauen und die Klick-Geste ausführen, sondern einfach das Keyword sagen. Dies kann Zeit sparen oder dann sinnvoll sein, wenn der Nutzer die Hände anderweitig benötigt.

    Eine wichtige Rolle spielt – neben dem Wie – die Frage, wo man interagiert. Traditionelle User-Interfaces sind in Fenstern angeordnet. Da der Nutzer einer AR-App diese überall und aus jeder Blickrichtung verwenden können sollte, müssen die Bedienelemente an gut erreichbaren Plätzen angeordnet werden. Häufig dienen Hologramme, die man im Raum platziert, als Anhaltspunkt. Mitunter kommt es aber vor, dass ein Menü oder ein Panel nicht zu einem bestimmten Hologramm gehört, sondern von überall aus zugänglich sein soll. In diesem Fall können Sprachinputs oder sich bewegende Fenster genutzt werden, die ihre Position mit der Blickrichtung des Users verändern.

    Welche Interaktionsmöglichkeiten sinnvollerweise angeboten werden sollten, hängt vom Anwendungsfall ab. Hierbei muss die Zielgruppe beachtet und die Komplexität sowie die Anzahl der Interaktionen entsprechend angepasst werden.

    Ohne Programmieraufwand geht es nicht, aber dieser lässt sich minimieren

    Zusammenfassend lässt sich festhalten, dass man für eine AR-App mit den geläufigen SDKs um das Programmieren und das Integrieren von Tracking, Content und User-Interface nicht umhinkommt. Ein Software-Entwickler muss mehrere Wochen an einer Applikation schreiben, bis sie die gewünschten Inhalte präsentieren kann. Jedes SDK kommt mit seinen Eigenheiten, weshalb sich der Programmierer zuvor ausgiebig damit beschäftigen muss. Daraus resultiert ein immenser Arbeitsaufwand für jede individuelle AR-App.

    Mit TeamViewer Steps und Pins lässt sich der Arbeitsaufwand für die Erstellung von Arbeitsschritten reduzieren, da hier ein minimaler Programmieraufwand besteht und benutzerfreundliche Schnittstellen im Vordergrund stehen. AR-Inhalte lassen sich per Drag and Drop erstellen. Die Plattformen ermöglichen es, individuelle Lerninhalte für die HoloLens, den konventionellen PC oder Tablets zu erstellen.

    Setzen Sie sich mit unseren Experten in Verbindung, um zu sehen, was TeamViewer für Sie leisten kann.