Häufig gestellte Fragen

In dieser Dokumentation verwendete Definitionen:

Position: eine Position und Ausrichtung.

Hologramm: ein sichtbares virtuelles Objekt.

Reale Welt: die physische Welt.

Physische Welt: die reale Welt.

Virtuelle Welt: synthetisch erzeugte und simulierte Welt, die mithilfe elektronischer Medien dargestellt wird.

Marker in der virtuellen Welt: eine Position im virtuellen Koordinatensystem (Modellierungssystem). Es handelt sich im Grunde lediglich um eine Referenzposition und -ausrichtung.

Marker in der realen Welt: eine Position relativ zur realen Umgebung und zur Kamera, die einem Marker in der virtuellen Welt entspricht. Die Position des Markers in der realen Welt wird anhand einer Kombination von Sensordaten ermittelt.

Sichtbare Merkmale: Merkmale der physischen Welt, die visuell erkennbar sind.

Was ist die Aufgabe von WLT (World Locking Tools)?

Bei Unstimmigkeiten zwischen virtuellen und realen Markern sorgen die World Locking Tools für ein stabiles Koordinatensystem und eine Kameraeinstellung, die die sichtbaren Inkonsistenzen minimiert.

Anders ausgedrückt: Die gesamte Szene wird mithilfe eines gemeinsamen Pools von Ankern an die Welt gebunden, anstatt jede Gruppe von Objekten mit einem eigenen individuellen Anker zu verknüpfen.

Warum sind die Marker der virtuellen und realen Welt inkonsistent?

Zu den vielen erstaunlichen Technologien, die hinter Microsoft Mixed Reality stehen, gehört vor allem die Fähigkeit, die Position des Headsets in der physischen Welt in Echtzeit und ohne die Hilfe externer Geräte nachzuverfolgen.

Das Head-Tracking-System ist bemerkenswert genau bei der Bestimmung der Kopfposition relativ zu bekannten virtuellen Referenzpunkten in der physischen Umgebung. In der vorliegenden Dokumentation werden diese virtuellen Bezugspunkte als „sichtbare Merkmale“ bezeichnet.

Wenn der Benutzer eine bekannte Position relativ zu den umliegenden sichtbaren Merkmalen verlässt, z. B. wenn er im Raum umhergeht, und dann zu dieser Position zurückkehrt, erfasst das System viele dieser sichtbaren Merkmale. Es kann außerdem die Positionen dieser sichtbaren Merkmale relativ zur aktuellen Kopfposition bestimmen, und zwar mit erstaunlicher Genauigkeit.

Das Tracker-System weiß somit, wo sich diese Merkmale und der Head-Tracker relativ zueinander befinden, aber es kennt weder die absoluten Koordinaten des Head-Trackers noch die der Merkmale. Da die physische Welt über kein absolutes Koordinatensystem verfügt, gibt es nicht „die eine richtige“ Antwort. Das Tracking-System weist deshalb Koordinaten zu, die den jüngsten Ereignissen entsprechen, aber im gesamten Verlauf inkonsistent sein können. Dies bedeutet, dass die Koordinaten des Head-Trackers beim Zurückkehren an genau dieselbe Position nun anders lauten können als bei beim Verlassen dieser Position. Dies ist eine Form der Sensorabweichung.

Wenn sich aber die neuen virtuellen Koordinaten des Head-Trackers z. B. in positiver X-Richtung verschoben haben, dann werden alle in diesem virtuellen Koordinatensystem enthaltenen Hologrammobjekte nun in negativer X-Richtung relativ zum Head-Tracker verschoben. Dadurch ist die Position des Beobachters, der den Head-Tracker trägt, relativ zur realen Welt verschoben – verglichen mit der Position vor dem Rundgang.

Kann Unity dies lösen?

Ja, mit Einschränkungen. Unity bietet einen ausgezeichneten Mechanismus für diesen Fall, die so genannten Raumanker. Wenn sich der virtuelle Raum relativ zum physischen Raum verschoben hat, weiß ein Raumanker durch die Verfolgung der zugrunde liegenden sichtbaren Merkmale, dass er sich im virtuellen Raum verschieben muss, um im physischen Raum fixiert zu bleiben. Alle mit dem Raumanker verbundenen Elemente werden ebenfalls im virtuellen Raum von Unity verschoben, um im physischen Raum stationär zu bleiben.

Die Einschränkungen hängen mit der Tatsache zusammen, dass sichtbare Merkmale unzuverlässig werden, wenn sie sich weit von den Kameras des Head-Trackers entfernt befinden. Dies ist nicht überraschend. Sichtbare Merkmale, die nicht sichtbar sind, stellen schlechte Bezugspunkte dar.

Die sinnvolle Reichweite eines Raumankers ist daher auf 3 Meter begrenzt. Je nach den Genauigkeitsanforderungen der Anwendung kann die nutzbare Reichweite geringer sein.

Das scheint ziemlich gut zu sein, wo liegt dann das Problem?

Es ist mehr als gut – es ist schlichtweg beeindruckend! Es gibt jedoch Situationen – wichtige Situationen – in denen Raumanker keine zufriedenstellende Lösung darstellen.

Erstens bewegt sich jeder Raumanker unabhängig von den anderen Raumankern durch den virtuellen Koordinatenraum von Unity und versucht, in der physischen Welt stationär zu bleiben. Das bedeutet, dass sich unabhängig voneinander verankerte Objekte relativ zueinander bewegen, während sie versuchen, in ihrer physischen Position zu verbleiben. Für eine Anwendung, die ein genaues Layout beibehalten soll, kann dies ein beträchtliches Problem darstellen.

Zweitens liefert ein einzelner Raumanker aufgrund seiner begrenzten Reichweite keine guten Ergebnisse für einzelne Objekte, die außerhalb des nutzbaren Bereichs des betreffenden Raumankers liegen. Während die Punkte eines Objekts, die sich in der Nähe des Raumankers befinden, gut in der Welt verankert bleiben, treten bei Punkten, die sich weiter vom Raumanker entfernt befinden, aufgrund der Hebelwirkung immer größere Fehler auf. Dies führt dazu, dass für Objekte oder eine Sammlung von Objekten, die größer als ein Meter sind, keine stabile Lösung für das World Locking zur Verfügung steht.

Was kann noch schief gehen?

Bei der Rückkehr zu einer zuvor eingenommenen Position verfügt World Locking Tools über genügend Informationen, um das virtuelle Koordinatensystem wieder auf die ursprüngliche Position im Verhältnis zur physischen Welt zurückzusetzen. Dadurch bleiben Hologramme, die in der virtuellen Welt stationär sind, auch in der physischen Welt stationär.

Allerdings kann es sowohl bei einer Bewegung weg von einer Position als auch bei einem Rundgang mit anschließender Rückkehr an die ursprüngliche Position zu Abweichungen kommen.

Ein konkretes Beispiel ist die Messung von 10 Metern zwischen zwei QR-Codes, die in einem physischen Raum platziert sind, aus der im virtuellen Raum zwei Boxen mit einem Abstand von 10 Metern modelliert werden. Zur Laufzeit jedoch, aufgrund der Abweichung der Kopfposition im virtuellen Raum, werden beim Zurücklegen der 10 Meter zwischen den QR-Codes 11 Meter im virtuellen Raum zurückgelegt.

Die Anwendung kann zur Lösung dieses Problems eine Funktion der World Locking Tools nutzen, die Informationen zur Kalibrierung der Entfernung im virtuellen Raum anhand der Entfernung im physischen Raum bereitstellt. Das von World Locking Tools bereitgestellte Verhalten besteht darin, dass die erste Box sichtbar wird, wenn Sie über dem ersten QR-Code stehen und nach unten blicken. Während die 10 Meter in der physischen Welt zurückgelegt werden, wird der zusätzliche Meter im virtuellen Raum stillschweigend absorbiert, sodass der Head-Tracker auch im virtuellen Raum 10 Meter bewegt wird. Wenn Sie also den zweiten physischen QR-Code erreichen und nach unten schauen, wird dort wie erwartet die zweite virtuelle Box angezeigt.

Beachten Sie, dass entsprechenden Anpassungen an allen Ankern vorgenommen werden, für die keine Ground-Truth-Daten vorliegen, da sie auf dem Weg zwischen den beiden QR-Codes weitergegeben werden. Diese Anpassung erfolgt selbstverständlich fließend, damit sie möglichst wenig wahrgenommen wird.

Was passiert, wenn die Marker in der realen Welt nicht stabil sind?

Wenn die Marker in der realen Welt dynamisch aktualisiert werden, kann World Locking Tools außerdem den räumlichen Rahmen und die Kameraeinstellung so anpassen, dass sie der aktuellen Konfiguration optimal entsprechen.

Wenn es sich bei den realen Markern für HoloLens beispielsweise um Raumanker handelt, werden sie mit der Zeit abweichen. Sie verschieben sich ebenfalls bei der Neueinrichtung (z. B. beim Abschluss eines Rundgangs) sowie unter anderen Umständen. Beim Aktualisieren der zugehörigen Positionen gleicht World Locking Tools dies wie zuvor durch die Anpassung der Kamera aus, um die wahrgenommenen Inkonsistenzen zwischen den erfassten Raumankern und ihren virtuellen Gegenstücken zu minimieren.

Es ist zu beachten, dass diese Kompensierung beim Aktualisieren der Ankerpositionen auch dann erfolgen kann, wenn keine Ground-Truth-Daten über die Marker vorliegen. Die angenommenen Ground-Truth-Daten besagen, dass die aktuellen Beziehungen zwischen den Markern in der realen Welt (eher) korrekt sind.

Was passiert, wenn die Inkonsistenzen zu groß werden?

World Locking Tools kann verschiedene Szenarien erkennen, in denen die Inkonsistenzen zwischen realen und virtuellen Markern erheblich sind und verbessert werden können. Beispielsweise können weitere Informationen ermittelt werden, die die räumliche Beziehung zwischen zwei zuvor isolierten Markerpools definieren. Bei einem Rundgang könnte es sinnvoll sein, die Marker entlang des Wegs zu verschieben, damit sich die Endpunkte treffen.

In diesen Fällen benachrichtigt World Locking Tools den Client über die mögliche Korrektur, führt diese auf Wunsch des Clients durch und benachrichtigt den Client über Anpassungen, die an den Objekten zur Verfolgung virtueller Marker vorgenommen werden sollten. Bis eine solche Korrektur vom Client angefordert wird (falls überhaupt), minimiert World Locking Tools weiterhin die wahrgenommenen Inkonsistenzen.