Anlässlich der spannenden Bachelorarbeit unseres Werkstudenten Christopher Butzke wollten wir dir gerne den tollen App-Prototypen, welchen er im Rahmen der Bachelorarbeit umgesetzt hat, vorstellen. Bei der Prototyp-App handelt es sich um eine Anwendung, in der Zeichenflächen in Augmented Reality in der AR Cloud gespeichert werden können. So können mehrere Nutzer gleichzeitig mit derselben Zeichenfläche in Echtzeit interagieren. Aktivitäten anderer User werden direkt bei jedem Teilnehmer sichtbar. Die technischen Hintergründe, eine Beschreibung der Funktionen und Fakten zum Thema AR Cloud im Allgemeinen erfährst du in folgendem Blogbeitrag.
Augmented Reality – technischer Hintergrund
Der Begriff Augmented Reality beschreibt das realistische Darstellen virtueller Modelle über ein Gerät in der realen Umgebung.
Um dies technisch umzusetzen, gibt es drei Konzepte:
Motion Tracking
Mit der Kamera des Geräts wird die Umgebung z.B. an Möbelstücken oder Tapeten nach markanten Punkten, sogenannten Feature Points, abgesucht. Alle Punkte werden in der Anwendung als Point Cloud gesammelt. Innerhalb dieser Ansammlung von Feature Points kann das Gerät mit Hilfe seiner Sensoren und gespeicherten Punkten im Blickwinkel der Kamera berechnen, wo es sich in Referenz zu den anderen Punkten im Raum befindet. Die Feature Points und deren Positionierung in der Point-Cloud bilden so einen digital abstrahierten realen Raum.
Environmental Understanding
Die Feature Points sind außerdem für die Erkennung horizontaler und vertikaler Flächen wichtig. Punkte, die auf einer vertikalen oder horizontalen Ebene nahe beieinander liegen, werden als zusammenhängende Fläche erkannt. So können Flächen wie Böden und Wände erkannt werden.
Light Estimation
Das Gerät erkennt die aktuellen Lichtverhältnisse der Umgebung und überträgt sie auf das virtuelle Objekt. So kann dieses die Beleuchtung der unmittelbaren Umgebung annehmen, was für eine realistische Darstellung sorgt.
AR Foundation
AR Foundation ist eine von Unity entwickelte High-Level API, welche die Entwicklung von AR-Anwendungen vereinfacht. Diese API vereinheitlicht die Methodenaufrufe und übersetzt sie in Bezug auf das basierende AR Framework. So ist es möglich, eine Codebasis für die Entwicklung auf ARKit (Apple iOS) und ARCore (Android) zu nutzen.
AR Cloud
Die AR Cloud ist eine erweiternde Technologie für Augmented Reality. Werden innerhalb einer AR Session virtuelle Objekte platziert, werden diese persistent gespeichert und ermöglichen so auch zu einem späteren Zeitpunkt den Zugriff auf die Daten.
Die Objekte bleiben in ihrer originalen Position und stellen einen Bezug zur physischen Umgebung her.
Um die digitalen Inhalte an der richtigen Stelle zu positionieren, muss eine genaue Position ermittelt werden. Dies geschieht nicht auf Basis ungenauer GPS-Daten, sondern durch maschinelle Bildverarbeitung, welche die Platzierung zentimetergenau bestimmt.
Es wird eine virtuelle Schicht über der realen Welt erstellt, die einen Kontext zur Umgebung bietet. Diese Technologie könnte ähnlich bedeutend wie die Internetsuche werden. Der Benutzer hält zukünftig sein Gerät direkt auf das Objekt, zu dem er gerne mehr erfahren würde, um die gesuchten passenden Informationen direkt anzeigen zu können. Diese werden in Augmented Reality visualisiert.
Azure Spatial Anchors
Hierbei handelt es sich um einen Dienst der Microsoft Azure Plattform zur Implementierung der AR Cloud Technologie. Virtuelle Inhalte können so in AR gesichert und zu einem späteren Zeitpunkt an der selben Stelle erneut abgerufen werden.
Die Technologie beruht auf Ankern, die als Markierungen im Raum die Position und Rotation des Objekts festlegen.
Werden mehrere Anker in einer Session erstellt bzw. erkannt, werden diese automatisch miteinander verbunden. Es muss also nur ein Anker im Netz erkannt werden, um die Positionen der verbundenen Anker zu ermitteln.
Geofencing
Beim Geofencing handelt es sich um eine Technologie, die die reale Welt in virtuelle Bereiche segmentiert. Endgeräte können eigene Positionsdaten mit den Daten der erstellten Geofences abgleichen, um herauszufinden, ob sie sich in einem bestimmten Geofence befinden. Mit diesen Informationen können standortbezogene Dienste automatisch ausgeführt werden.
Peer-to-Peer Netzwerk
Ein Peer-to-Peer Netzwerk beschreibt die Verbindung von Geräten, in der alle Teilnehmer gleichwertig sind. Jedes teilnehmende Gerät kann die Dienste der anderen nutzen und eigene Dienste anbieten. Somit bedarf es im Vergleich zum Client-Server-Netzwerk keinen zentralen Server der Dienste für Clients.
Mit Hilfe eines Multipeer Connectivity Frameworks können iOS-Geräte in der Nähe ein Peer-to-Peer Netzwerk zu anderen Geräten aufbauen. Die Kommunikation wird über WiFi Netzwerke, Peer-to-Peer WiFi und Bluetooth unterstützt.
In der Discovery-Phase sucht das Gerät nach bereits bestehenden Peer-to-Peer Netzwerken in der Nähe. Die Kommunikation zwischen den Peers ist in dieser Phase nur begrenzt möglich. Es können Einladungen zu einer Peer-to-Peer Session an verfügbare Geräte versendet und Einladungen angenommen werden, um an solchen Sessions teilzunehmen. Diese kann automatisch in der Anwendung oder vom Nutzer manuell beantwortet werden. Sobald ein Gerät beigetreten ist, beginnt die Session-Phase.
In der Session-Phase kann die Anwendung direkt mit anderen Teilnehmern (Peers) kommunizieren. Daten und Ressourcen können zwischen den Peers versendet werden.
Das Projekt
Das Projekt sollte für iPhone-Geräte mit der Spiele-Engine Unity umgesetzt werden.
Das Konzept
Das Ziel des Projekts war die Entwicklung einer Zeichenflächen-App, welche es den Nutzern ermöglichen soll, digitale Zeichenflächen überall platzieren und abrufen zu können. Es sollte möglich sein, die Zeichenfläche durch manuelle Einstellungen wie Länge, Breite und Rotation an die reale Umgebung anzupassen. Mit der Bewegung des Fingers über den Bildschirm kann der Benutzer mit verschiedenen Farben auf der Zeichenfläche zeichnen. Die Fläche selbst wird transparent dargestellt, um dem User das Gefühl zu geben, in die reale Umgebung zu zeichnen. Die Änderungen auf der Zeichenfläche sollen für alle Nutzer innerhalb von einer Sekunde synchronisiert und dargestellt werden.
Die kollaborativen Möglichkeiten der AR Cloud sollten durch die Erstellung, Synchronisierung und Speicherung der benutzergenerierten Inhalte innerhalb einer AR Session demonstriert werden. Bereits bei Abrufen der Zeichenfläche sollte erkannt werden, ob und welche Objekte in der Nähe platziert wurden. Um dies zu erreichen, werden die gespeicherten Objekte bereits durch die GPS Position des Benutzers gefiltert. Nahe gelegene Zeichenflächen sollten nach erfolgreicher Umgebungserkennung an der korrekten Stelle angezeigt werden.
In der Anwendung selbst sollte es zwei Arten von Benutzerrollen geben: die Administratoren und die Benutzer.
![](https://sevend.de/wp-content/uploads/2019/11/ardraw.jpg)
Der Administrator
Der Administrator ist für die Erstellung von Zeichenflächen verantwortlich. Die Umgebung wird mit der Gerätekamera erfasst, um Flächen zu erkennen und Umgebungsdaten für das Speichern im AR Cloud Dienst vorzubereiten. Er kann die Position, Breite, Höhe und Rotation der Zeichenfläche festlegen. Diese Werte sollen beim Aufrufen durch den Nutzer abgerufen und wie vom Administrator vorgegeben dargestellt werden. Dafür muss das Objekt in der AR Cloud gesichert werden.
Beim Starten der App wird ein Peer-to-Peer Netzwerk aufgebaut. Die Anwendung verbindet sich automatisch zu bestehenden Netzwerken oder baut eine neue Sitzung auf. Die User sollen mit den von den Administrators erstellten Zeichenflächen interagieren können.
![](https://sevend.de/wp-content/uploads/2019/11/admin.jpg)
Der Benutzer
Der Benutzer muss seine Umgebung mit der Gerätekamera erfassen. Anschließend vergleicht der AR Cloud Dienst diese Umgebungsdaten mit den Daten der gespeicherten Zeichenflächen. Sobald eine Übereinstimmung festgestellt wurde, kann die Zeichenfläche in der realen Welt in Augmented Reality initialisiert und dargestellt werden. Mehrere Benutzer können dieselbe Zeichenfläche gleichzeitig aufrufen.
Die Position, Größe und Rotation des Objekts soll dabei für alle Nutzer im Verhältnis zu ihrer eigenen Position im realen Raum übereinstimmen. Die Toleranz soll dabei maximal 20cm betragen.
Die Benutzer haben zusätzlich Zugriff auf eine geographische Karte, auf der alle erstellten Zeichenflächen markiert wurden. Auch die eigene Position wird dem User auf der Karte angezeigt.
Ein User kann mit der Zeichenfläche interagieren, indem er in verschiedenen Farben zeichnet. Auch Zeichnungen sind ein persistenter Teil der Zeichenfläche, sodass sie verbunden mit der jeweiligen Zeichenfläche immer wieder aufrufbar sind. Die Zeichnungen sollen mit einer maximalen Verzögerung von einer Sekunde ab der Erstellung bei allen in der Nähe befindlichen Nutzern synchronisiert dargestellt werden.
![](https://sevend.de/wp-content/uploads/2019/11/benutzer1.jpg)
![](https://sevend.de/wp-content/uploads/2019/11/benutzer2.jpg)
Herausforderungen
Während der Entwicklung kamen auch Schwierigkeiten und Herausforderungen auf, für die eine Lösung gefunden werden musste.
Umgebungsveränderungen
Eine Herausforderung, welches sich bei der Positionierung der virtuellen Modelle in Augmented Reality in der AR Cloud ergaben, war die sich verändernde Umgebung. Verändert sich die Umgebung stark, können die markanten Bildpunkte nicht mehr identifiziert und das Modell bzw. der Anker nicht mehr der Umgebung zugeordnet werden.
Synchronisierung und Datenaustausch
Auch die Synchronisierung von Zeichnungen zwischen mehreren Nutzern stellte sich zunächst als problematisch heraus. Zu Beginn wurden die gesamten Texturdaten komprimiert und auf den Server geladen. Dies brachte einen sehr hohen Datendurchsatz bei der Übertragung mit sich und die Versionen überschrieben sich in der Datenbank. Es wurde daraufhin ein Algorithmus eingesetzt, der nur das Delta zum vorherigen Stand an den Server überträgt. Die Position des Fingers sowie die ausgewählte Farbe und Linienbreite werden gespeichert und in die Datenbank hochgeladen.
Bei anderen Clients werden diese Daten anschließend aus der Datenbank geladen und auf lokalen Texturen dargestellt. Schon bei kleinen Zeichnungen werden so jedoch große Datenmengen erzeugt, die bereits bei zwei gleichzeitigen Nutzern hohe Geschwindigkeitseinbußen mit sich bringen. Teilweise dauert es bis zu 30 Sekunden, bis eine einfache Zeichnung komplett synchronisiert wurde.
Diese Verzögerungen im Datenaustausch wurden gelöst, indem statt einer Cloud-Datenbank ein Peer-to-Peer Netzwerk verwendet wurde. So wurde auch die Abhängigkeit der Synchronisierungsgeschwindigkeit von der Internetverbindung des Teilnehmers getrennt. Schon kleine Verzögerungen bei der Synchronisierung von Echtzeitdaten hatten große Auswirkungen auf die Performance: die Übertragung sollte möglichst direkt erfolgen.
Die aktuelle AR Cloud
Aktuell existiert noch keine allgemeine AR Cloud, in der jeder Nutzer seine virtuellen Objekte in der realen Umgebung in Augmented Reality platzieren und abrufen kann. Der Austausch und das Streaming von 3D-Daten in Echtzeit für eine große Anzahl von Menschen ist ein Problem, dem das aufkommende 5G-Netz etwas entgegenwirken könnte. Doch derzeit unterstützen nur wenige Smartphones das erst seit kurzem existierende 5G-Netz.
Auch die Frage, wem die AR Cloud denn gehört, ist nicht geklärt. So könnte beispielsweise ein Unternehmen Augmented Reality-Werbung in einem Store der Konkurrenz platzieren.
Daraus wird ersichtlich, dass die AR-Cloud sehr mächtig ist. Die Gestaltung der AR Cloud und ihres Nutzungsrechts stellt sich also alles andere als einfach dar und muss auf jeden Fall geklärt werden.
Anwendungsfälle
Mögliche Anwendungsfälle finden sich für die AR Cloud-Zeichenflächen-App in vielen verschiedenen Bereichen.
Künstlerischer Bereich
Vor allem in künstlerischen Bereichen lässt sich die App bestens einsetzten. Eine Idee war eine Kunstausstellung mit Augmented Reality-Gemälden zu veranstalten. Erweiterbar ist diese Idee, indem zuvor mehrere Teilnehmer oder Teams die AR-Gemälde erstellen und sie zur Bewertung ausstellen. Die besten Werke könnten anschließend in der AR-Kunstausstellung präsentiert werden, sodass jeder Besucher die selben Gemälde an der selben Stelle über das eigene Gerät in Augmented Reality betrachten kann.
Industrie
Auch in der Industrie findet die App praktische Einsatzfelder. Beispielsweise beim Einlernen eines neuen Mitarbeiters können hilfreiche Informationen direkt an den richtigen Stellen im Raum platziert werden. Fängt ein Mitarbeiter zum Beispiel an, an einem Fließband zu arbeiten, können die einzelnen Prozessschritte am passenden Fließbandabschnitt erklärt werden. So muss der neue Mitarbeiter nicht mehr mit viel Zeitaufwand instruiert werden.
Ebenfalls übertragbar ist dieser Anwendungsfall auf die Qualitätssicherung. Wird am gefertigten Produkt ein Mangel erkannt, kann die Stelle direkt mit einem entsprechenden Vermerk für die Nachbesserung markiert werden.
Damit sich ein neuer Mitarbeiter auch direkt im Gebäude zurecht findet, können auch hier für die Inhouse-Navigation entsprechende Hinweise platziert werden. Da in einem Gebäude das GPS-Signal meist nicht wirklich gut funktioniert, wäre dies eine zielführende Alternative, die viele Vorteile bietet.
In einem Lager beispielsweise können Kisten bzw. ganze Regale oder Regalfächer in AR beschriftet werden. Hier können sowohl der Navigations- als auch der Hinweis-Aspekt der App eingesetzt werden.
Spielerisch
Die App lässt sich auch in spielerischen Bereichen einsetzten wie für ein virtuelles Gästebuch oder eine Feedback-Wand z.B. im Ausgangsbereich eines Museums oder eines Restaurants. Auf diesem Weg können die Besucher ihre Eindrücke und Anregungen verewigen.
Auch für das simple gemeinsame Zeichnen oder Spielen von einfachen Spielen wie Tic-Tac-Toe eignet sich die AR Cloud-Zeichenflächen-App.
Informationen
Ist ein Nutzer beispielsweise in einer neuen Stadt unterwegs und möchte gerne mehr Informationen zu einer Sehenswürdigkeit oder einem bestimmten Ort erhalten, kann er die von anderen Nutzern hinterlassenen Hinweise, Tipps und Infos abrufen.
Marketing
Auch im Marketing kann die Zeichenflächen-App für das gezielte Platzieren von Werbemitteln genutzt werden. Beispielsweise könnte ein nahegelegenes Restaurant kurz nach dem Ausgangsbereichs eines Freizeitparks nach einem anstrengenden Besuch einen Werbebanner positionieren. Hier ist allerdings darauf zu achten, wie in der AR Cloud zukünftig mit solch einer Werbeplatzierung umgegangen wird.