Commit 7e202a76 by Kai Westerkamp
parents 29ce1680 0a21a5d9
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
\label{chapter:02related} \label{chapter:02related}
\section{Virtuelle Realität (VR)} \section{Virtuelle Realität (VR)}
Geprägt wurde der Begriff Virtual reality von dem Autor Bamien Broderik in seinem 1982 erscheinenen SF-Roman The Judas Mandala Geprägt wurde der Begriff Virtual Reality von dem Autor Bamien Broderik in seinem 1982 erschienenen SF-Roman The Judas Mandala
VR VR
Definition Definition
...@@ -58,49 +58,49 @@ Assistancec Papers ...@@ -58,49 +58,49 @@ Assistancec Papers
In diesem Unterkapitel wird verwendete Hardware und Software vorgestellt. In diesem Unterkapitel wird verwendete Hardware und Software vorgestellt.
\subsection{HTC Vive und Lighthouse Tracking} \subsection{HTC Vive und Lighthouse Tracking}
Die HTC Vive ist ein HMD das von HTC in Kooperation mit Valve seit April 2016 produziert und verkauft wird. Die HTC Vive ist im Kern ein Head-Mounted Display (HMD), das von HTC in Kooperation mit Valve seit April 2016 produziert und verkauft wird.
Das System besteht aus dem HMD, zwei Controllern und zwei Basistationen. Das System besteht aus dem HMD, zwei Controllern und zwei Basistationen.
Für den Betrieb wird zusätzlich ein leistungsstarker Computer benötigt, der das simulieren und rendern der virtuellen Welt übernimmt. Für den Betrieb wird zusätzlich ein leistungsstarker Computer benötigt, der das Simulieren und Rendern der virtuellen Welt übernimmt.
Das Headset wird hierfür mit Kabeln (USB, HDMI und Strom) an den Rechner angeschlossen. Das Headset wird hierfür mit Kabeln (USB, HDMI und Strom) an den Rechner angeschlossen.
Die Controller kommunizieren kabellos mit Headset, das die Daten an den Computer weiterleitet. Die Controller kommunizieren kabellos mit Headset, das die Daten an den Computer weiterleitet.
Die Vive verwendet das von Valve entwickelte Lighthouse Tracking. Die Vive verwendet das von Valve entwickelte Lighthouse Tracking.
Hierfür emittieren 2 passive Basistationen infrarot Laser. Hierfür emittieren 2 passive Basisstationen infrarote Laserstrahlen.
Diese werden zu einer Laserwand aufgefächert und mit Motoren in regelmäßigen Abständen waagerecht und senkrecht über den Raum geschwenkt. 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. 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. 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 gegen stände zu Tracken, jedoch wird aktuell nur 1 HMD und 2 Controller an einem Computer unterstützt. 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 und diese dürfen nicht beliebig weit von einander entfernt sein. 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. 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. 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. 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. 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. Für die Kommunikation mit dem Computer wird ein weiterer kabelloser USB Adapter verwendet.
Thoretisch können An einem System beliebig viele zusätzliche Tracker angeschlossen werden. 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). 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. 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 Kabelose Alternative ausgetauscht. 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. 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. 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. 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. 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. 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}. 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. Bei eigenen Messungen wurden teilweise größere Ungenauigkeiten festgestellt.
In der Abb. \ref{img:Jitter} ist Messung mit einer maximalen Abweichung von fast 5mm zu sehen. 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. 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.
\todo{Paper \cite{Niehorster2017TheAA} } \todo{Paper \cite{Niehorster2017TheAA} }
\todo{Paper https://dl.acm.org/citation.cfm?id=2996341} \todo{Paper https://dl.acm.org/citation.cfm?id=2996341}
\begin{figure} \begin{figure}
\begin{center} \begin{center}
\includegraphics[width=\textwidth]{Bilder/JitterTester.png} \includegraphics[width=\textwidth]{Bilder/JitterTester.png}
\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} \label{img:Jitter}
\end{center} \end{center}
\end{figure} \end{figure}
...@@ -109,30 +109,30 @@ Die Präzision des Vive trackings wurde auch untersucht. ...@@ -109,30 +109,30 @@ Die Präzision des Vive trackings wurde auch untersucht.
\subsection{HoloLens} \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. 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 Steuerung erfolgt durch die Kopfbewegung, Gesten und Sprachsteuerung.
Die Hololens verfügt über ein inside-out Tracking zur Positionsbestimmung in Räumen. 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. 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} \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. 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. 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. 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 Blupeprint Visual Scriptings der Unreal Engine 4. 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. 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. 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. Diese Blueprints werden automatisiert in C++ Code übersetzt.
C++ und Blueprints können in einem Projekt kombiniert und parallel verwendet werden. 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. 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. Die dabei entstehende Grafen werden anschließend zu passenden Grafik Shadern übersetzt.
Eine direkte Anpassung der Shader ist nicht möglich. 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. 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. Reicht die Funktionalität der Blueprints nicht aus, so wurden diese Funktionen in C++ implementiert.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment