Diese werden zu einer Laserwand aufgefächert und mit Motoren in regelmäßigen Abständen waagerecht und senkrecht über den Raum geschwenkt.
An den Controllern und dem HMD sind Sensoren angebracht die es ermöglichen die zeitliche Differenzen zwischen den Lichtblitzen an den verschiedenen Sensoren wahrzunehmen.
Aus diesen Zeitunterscheiden lässt sich die aktuell Position und Rotation der Controller und des HMDs bestimmen.
Dieses Verfahren ermöglicht es mit 2 Basistationen beliebig viele gegen stände zu Tracken, jedoch wird aktuell nur 1 HMD und 2 Controller an einem Computer unterstützt.
Außerdem ist es mit der aktuellen Version nicht möglich mehr als zwei Basistationen gleichzeitig zu betreiben und diese dürfen nicht beliebig weit von einander entfernt sein.
An den Controllern und dem HMD sind Sensoren angebracht, die es ermöglichen, die zeitliche Differenzen zwischen den Lichtblitzen an den verschiedenen Sensoren wahrzunehmen.
Aus diesen Zeitunterschieden lässt sich die aktuell Position und Rotation der Controller und des HMDs bestimmen.
Dieses Verfahren ermöglicht es, mit 2 Basistationen beliebig viele Gegenstände zu tracken, jedoch wird aktuell nur 1 HMD und 2 Controller an einem Computer unterstützt.
Außerdem ist es mit der aktuellen Version nicht möglich, mehr als zwei Basistationen gleichzeitig zu betreiben. Bei zwei Basisstationen ist der maximale Abstand eingeschränkt.
Zwischen den Lichtblitzen wird die Postion der Geräte mit den ebenfalls verbauten Gyrosensor und Beschleunigungsmesser approximiert.
Seit dem 27. März ist der Vive Tracker als Erweiterung des Systems für Entwickler erhältlich.
Dieser Tracker dient als Erweiterung zum tracken beliebiger Geräte mit dem Lighhouse Tracking System.
Er ist kompakter als ein Controller, hat keine Eingabetasten aber und eine Ebene Auflagefläche mit einer 1/4 Zoll Schraube zur Befestigung.
Für die Kommunikation zu dem Computer wird ein weiterer kabelloser USB Adapter verwendet.
Thoretisch können An einem System beliebig viele zusätzliche Tracker angeschlossen werden.
Seit dem 27. März 2017 ist der Vive Tracker als Erweiterung des Systems für Entwickler erhältlich.
Dieser Tracker dient als Erweiterung zum Tracken beliebiger Geräte mit dem Lighhouse Tracking System.
Er ist kompakter als ein Controller, hat keine Eingabetasten aber und eine ebene Auflagefläche mit einer 1/4 Zoll Schraube zur Befestigung.
Für die Kommunikation mit dem Computer wird ein weiterer kabelloser USB Adapter verwendet.
Theoretisch können an einem System beliebig viele zusätzliche Tracker angeschlossen werden.
Praktisch liegt die Obergrenze bei 16 getrackten Geräten (1 HMD, 2 Controller, 13 Tracker).
Eine weitere Ergänzug für die HTC Vive ist der TPCAST wireless adapter.
Hierbei wird das Kabel zwischen dem Headset und dem HMD durch eine Kabelose Alternative ausgetauscht.
Eine weitere Ergänzung für die HTC Vive ist der TPCAST wireless adapter.
Hierbei wird das Kabel zwischen dem Headset und dem HMD durch eine kabellose Alternative ausgetauscht.
Die USB Daten werden per WLAN übertragen, das Bild mit einer speziell dafür entwickelten hochfrequenten Funkverbindung und für die Stromversorgung wird eine handelsübliche Powerbank verwendet.
Als Bibliothek zur Kommunikation mit der HTC Vive wird das OpenVR verwendet.
Die OpenVR API von Valve erlaubt es auf VR Hardware von verschiedenen Herstellern zuzugreifen.
Unter andrem wird auch SteamVR und damit die HTC Vive unterstützt.
Die OpenVR API von Valve erlaubt es, auf VR Hardware von verschiedenen Herstellern zuzugreifen.
Unter anderem wird auch SteamVR und damit die HTC Vive unterstützt. % @@@ verstehe ich nicht. vive unterstützt vive. Was ist das besondere?
Die Genauigkeit des Lighthouse Trackings wurde in einigen Arbeiten untersucht.
Das HMD zittert in Ruhelage mit einer Basistation um 0.3mm und mit 2 Basistation erhöht sich diese Ungenauigkeit auf 2.1mm \cite{lighthouseAccuracy}.
Bei eigenen Messungen teilweise größere Ungenauigkeiten festgestellt.
In der Abb. \ref{img:Jitter} ist Messung mit einer maximalen Abweichung von fast 5mm zu sehen.
Das HMD zittert in Ruhelage mit einer Basistation um 0,3mm und mit 2 Basistation erhöht sich diese Ungenauigkeit auf 2,1mm \cite{lighthouseAccuracy}.
Bei eigenen Messungen wurden teilweise größere Ungenauigkeiten festgestellt.
In der Abb. \ref{img:Jitter} ist eine Messung mit einer maximalen Abweichung von fast 5mm zu sehen.
Die Präzision des Vive trackings wurde auch untersucht.
\cite{lighthouseAccuracy} spricht von einem durchschnittlichen Fehler von 1,5 -1,9 mm beim wiederholten positionieren an Punkten entlang eines Maßstabs.
\cite{lighthouseAccuracy} spricht von einem durchschnittlichen Fehler von 1,5 -1,9 mm beim wiederholten Positionieren an Punkten entlang eines Maßstabs.
\caption{Messung des Zitterns des HMD in Ruhelage mit dem Jitter Tester \cite{Jitter}. Postion ist in in mm, Rotation in Grad}
\caption{Messung des Zitterns des HMD in Ruhelage mit dem Jitter Tester \cite{Jitter}. Postion ist in in mm, Rotation in Grad angegeben}
\label{img:Jitter}
\end{center}
\end{figure}
...
...
@@ -109,30 +109,30 @@ Die Präzision des Vive trackings wurde auch untersucht.
\subsection{HoloLens}
Die Microsoft Hololens \cite{Hololens1} ist eine Augmented Reality Brille die es erlaubt interaktive Projektionen in der echten Welt darzustellen.
Die Microsoft HoloLens \cite{Hololens1} ist eine Augmented Reality Brille, die es erlaubt interaktive Projektionen in der echten Welt darzustellen.
Die Brille funktioniert ohne zusätzliche Hardware wie ein Smartphone oder einen zusätzlichen Computer.
Der Nutzer schaut auf jedem Auge durch einen transparenten Bildschirm auf denen 3D Projektionen eingeblendet werden.
Der Nutzer schaut auf jedem Auge durch einen transparenten Bildschirm, auf denen 3D Projektionen eingeblendet werden.
Die Steuerung erfolgt durch die Kopfbewegung, Gesten und Sprachsteuerung.
Die Hololens verfügt über ein inside-out Tracking zur Positionsbestimmung in Räumen.
Als Sensoren werden ein Beschleunigungsensor, ein Gyroskop, ein Magnetometer, eine Tiefenkamera und vier ``environment understanding'' Kameras \cite{Hololens2} verwendet.
Die Hololens baut sich mti hilfe dieer Sensoren ein grobes Mesh der Umgebung auf, das es regelmäßig updatet und verfeinert.
Die Hololens baut sich mit Hilfe dieser Sensoren ein grobes Mesh der Umgebung auf, das es regelmäßig updatet und verfeinert.
\subsection{Unreal Engine4}
Die Unreal Engine 4 \cite{UE4} ist eine der meist genutzten Spiele Engines.
Die Unreal Engine 4 \cite{UE4} ist eine der meistgenutzten Spiele-Engines.
Die Engine wird von Epic Games entwickelt und kann bis zu einem Jahresumsatz von 3000 US-Dollar kostenlos genutzt werden.
Unreal unterstützt viele verschiedene Plattformen wie Konsolen, Smartphones, PCs und Virtual Realtiy.
Das Framework der Unreal Engine besteht unter andrem aus einer Grafik Engine, einer Physikengine und einem mitgelieferten Editor mit vielen Werkzeugen zur Spielentwickelung.
Die Implementierung eines Spiels kann entweder in C++ erfolgen oder mit Hilfe des Blupeprint Visual Scriptings der Unreal Engine 4.
Diese Blueprints sind eine von Epic Games entwickelte Grafische Benutzeroberfläche die es ermöglicht Objektorientiert zu arbeiten.
Die Programmierung erfolgt dabei durch einen Graphen bei denen verschiedene Knoten (Methoden) per Drag and Drop verbunden werden.
Das Framework der Unreal Engine besteht unter anderem aus einer Grafik-Engine, einer Physik-Engine und einem mitgelieferten Editor mit vielen Werkzeugen zur Spielentwickelung.
Die Implementierung eines Spiels kann entweder in C++ erfolgen oder mit Hilfe des Blueprint Visual Scriptings der Unreal Engine 4.
Diese Blueprints sind eine von Epic Games entwickelte grafische Benutzeroberfläche die es ermöglicht, objektorientiert zu arbeiten.
Die Programmierung erfolgt dabei durch einen Graphen, bei dem verschiedene Knoten (Methoden) per Drag and Drop verbunden werden.
Diese Blueprints werden automatisiert in C++ Code übersetzt.
C++ und Blueprints können in einem Projekt kombiniert und parallel verwendet werden.
Auch die rendering Engine \bzw{} das Unreal Material System lässt sich im Stil der Blueprints anpassen.
Die dabei entstehende Grafen werden anschließen zu passenden Grafik Shadern übersetzt.
Auch die Rendering-Engine \bzw{} das Unreal Material System lässt sich im Stil der Blueprints anpassen.
Die dabei entstehende Grafen werden anschließend zu passenden Grafik Shadern übersetzt.
Eine direkte Anpassung der Shader ist nicht möglich.
In der Implementierung wurden Blueprints und C++ verwendet. Viele Funktionen sind einfach durch die visualle Skriptsprache erreichbar udn umsetzbar.
Reicht die Funktionalität der Blueprints nicht aus so wurden diese Funktionen in C++ implementiert.
In der Implementierung wurden Blueprints und C++ verwendet. Viele Funktionen sind einfach durch die visuelle Skriptsprache erreichbar und umsetzbar.
Reicht die Funktionalität der Blueprints nicht aus, so wurden diese Funktionen in C++ implementiert.