Commit 2ee8dec2 by wester

gnarf

parent 61dad44a
...@@ -336,3 +336,4 @@ __pycache__/ ...@@ -336,3 +336,4 @@ __pycache__/
*.xsd.cs *.xsd.cs
Contact GitHub API Training Shop Blog About Contact GitHub API Training Shop Blog About
2017 GitHub, Inc. Terms Privacy Security Status Help 2017 GitHub, Inc. Terms Privacy Security Status Help
/3_PointCloud/opencv3/build/x86
\chapter{Hololens} \chapter{HoloLens}
\label{chapter:06Hololens} \label{chapter:06Hololens}
Ziel Daten aus der VR Umgebung Visualisiern Als Interaktion zwischen dem Experten in einer VR Umgebung und dem Lokalen User wird die Microsoft Augmented Reality Brille HoloLens verwendet.
Zeitgründen nur einen MA controller befestigten laserstrahl Die HoloLens Bietet die Möglichkeit Hologramme in die echte Welt zu projizieren.
Für die Interaktion zwischen VR und HoloLens wurde sich auf eine einfache beschränkt.
In VR wurde an einen Controller ein Laserbeam mit fester Länge befestigt.
\section{Unreal Engine Un Hololens} Bei synchronisierten Welten zwischen VR und AR sollte dieser Strahl auch in der HoloLens an dem Controller hängen.
Microsoft UWP Repsoitory
Development Branch \section{Unreal Engine 4 und HoloLens}
HAt nicht Compiled Es gibt keinen Offiziellen Support der HoloLens für dei Unreal Engine 4.
Videos zeigen lagy rotation Aktuell wird das einwickeln für die neue AR Plattform nur in Unity unterstützt.
Microsoft hat auf Github einen Fork der Unreal Engine \todo{citehttps://github.com/MICROSOFT-XBOX-ATG/MICROSOFT_UWP_UNREAL/tree/dev_MixedReality} in dem Support für die Universel Windows Plattform (UWP)\todo{glossar} enthalten ist.
UWP beitet eine allgemeine Plattform Für Apps, die auf allen Windows basierten Systemen funktionieren.
In diesem Repositoy befindet sich auch ein Development Branch der die HoloLens Unterstüzung in Unreal integriert.
Für die Implementierung wurde dieser Development Branch getestet.
Nach dem bauen der aktuellen Version wurde ein HoloLens Template in die Engine geladen \todo{cite https://github.com/ProteusVR/Hololens https://www.youtube.com/watch?v=KxvAm2qNJ0Q&feature=youtu.be}.
Jedoch gab es Probleme das Projekt zu packen, sodass es auf die HoloLens geladen werden kann.
Deshalb wurde für die AR Implementierung Unity verwendet.
\section{HoloLens Implementierung}
Die HoloLense Applikation in Unity ist einfach gehalten worden und die notwendige Logic wurde in der VR Applikation in Unreal umgesetzt.
Zunächst setzt man in der HoloLens einen Welt Anker in den Raum.
Weltanker dienen als besonders wichtiger Punkte und das System soll diesen Punkt immer tracken und konstant halten.
Die Unreal Enginesendet regelmäßig einen JSON formatierten String per UDP an die Hololens in dem Start- und Enpunkt des aktullen Lasers enthalten sind.
Diese werden anschließen relativ zum Welt Anker visualisiert.
\section{Kalibrierung}
Die Kalibrierung erfolgt anhand des Welt Ankers und eins Vive Trackers.
Der Welt Anker orientiert sich an dem erkannten Boden sodass die y Achse senkrecht nach oben zeigt.
Um die beiden Welten zu synchronisieren wird ein Vive Tracker so platziert, das die beiden Koordinatensysteme übereinstimmen.
Durch einen Tastenduck auf einen KJontroller wird die aktuelle Rotation und Position des Trackers in der Unreal Engine gespeichert.
Mit dieser Transformation kann der Strahl der VR Umgebung in das lokale Koordinatensystem des Weltankers transformiert werden.
\todo{Bilder übereinanderliegen. }
\section{Hololens Implementierung} Welt Anker
Welt Anker
verscheiobbar im Debug Modus verscheiobbar im Debug Modus
Eine Achse Senkrecht zum Boden Eine Achse Senkrecht zum Boden
empfängt JSON per UDP
zeichnet Line relativ zu Welt anker
\section{Kalibrierung}
Vive Trakcer an Postion und roatioon des Welt anker Vive Trakcer an Postion und roatioon des Welt anker
speichern auf Knopfdruck der Transformation des Trakcer Oringins speichern auf Knopfdruck der Transformation des Trakcer Oringins
......
...@@ -2,6 +2,16 @@ ...@@ -2,6 +2,16 @@
\label{chapter:07Evaluation} \label{chapter:07Evaluation}
\section{Versuchsablauf} \section{Versuchsablauf}
Türme
Punktwolke
nachbearbeitet
alles Am Tracker
Vorwissen
VR verschieben
\section{Probanden} \section{Probanden}
Statistik Statistik
Etwas erfahrung mIt VR Etwas erfahrung mIt VR
...@@ -11,48 +21,53 @@ ...@@ -11,48 +21,53 @@
ha keine Probleme gemacht, Farbbend der Steine war kräftig genug ha keine Probleme gemacht, Farbbend der Steine war kräftig genug
\pgfplotstableread{Charts/Erfahrung.txt}
\datatable
\begin{tikzpicture} \begin{tikzpicture}
\begin{axis}[ \begin{axis}[
width = \textwidth, width = \textwidth,
height = 10cm, height = 12cm,
axis x line*=bottom,
axis y line=left,
enlarge y limits,
ymajorgrids,
major x tick style = transparent,
ymin=-3,
ymax=3,
boxplot/draw direction=y, boxplot/draw direction=y,
xtick=data,% crucial line for the xticklabels directive
xticklabels from table={\datatable}{Label}
] ]
%\pgfplotstableread{Charts/Erfahrung.txt}
%\datatable
\pgfplotstableread{
Minimum Maximum Mittelwert Median Q1 Q3
-3 2 0.090909091 1 -1.75 1
-3 2 -2.090909091 -3 -3 -1
-3 3 1.590909091 2 1 3
}\datatable
\addplot+[boxplot prepared from table={ \addplot+[boxplot prepared from table={
table=\datatable, table=\datatable,
row=1,
lower whisker=Minimum, lower whisker=Minimum,
upper whisker=Maximum, upper whisker=Maximum,
lower quartile=Q1, lower quartile=Q1,
upper quartile=Q3, upper quartile=Q3,
median=Median median=Median
}, color=blue }, boxplot prepared, color=blue
] ]
coordinates {}; coordinates {};
\addplot+[boxplot prepared from table={ \addplot+[boxplot prepared from table={
table=\datatable, table=\datatable,
row=2, row=1,
lower whisker=Minimum, lower whisker=Minimum,
upper whisker=Maximum, upper whisker=Maximum,
lower quartile=Q1, lower quartile=Q1,
upper quartile=Q3, upper quartile=Q3,
median=Median median=Median
}, color=blue }, boxplot prepared, color=red
] ]
coordinates {}; coordinates {};
%\addplot table[y = Mittelwert] from \datatable;
\end{axis} \end{axis}
\end{tikzpicture} \end{tikzpicture}
......
set localPath=C:\Users\kaiwe\Desktop\TeXworks-win-0.6.2-201704300708-git_7ecce17 ::set localPath=C:\Users\kaiwe\Desktop\TeXworks-win-0.6.2-201704300708-git_7ecce17
::set localPath=..\..\TeXworks-win-0.6.2-201704300708-git_7ecce17 set localPath=..\..\TeXworks-win-0.6.2-201704300708-git_7ecce17
set ausarbeitungpath=. set ausarbeitungpath=.
start %localPath%\TeXworks.exe %ausarbeitungpath%\thesis.tex start %localPath%\TeXworks.exe %ausarbeitungpath%\thesis.tex
start %localPath%\TeXworks.exe %ausarbeitungpath%\thesis.bib start %localPath%\TeXworks.exe %ausarbeitungpath%\thesis.bib
......
Minimum Maximum Mittelwert Median Q1 Q3 Label Minimum Maximum Mittelwert Median Q1 Q3
-3 2 0.090909091 1 -1.75 1 VR -3 2 0.090909091 1 -1.75 1
-3 2 -2.090909091 -3 -3 -1 AR -3 2 -2.090909091 -3 -3 -1
-3 3 1.590909091 2 1 3
...@@ -45,8 +45,7 @@ ...@@ -45,8 +45,7 @@
\begin{document} \begin{document}
\begin{tikzpicture} \begin{tikzpicture}
\begin{axis}[boxplot/draw direction=y] \begin{axis}[boxplot/draw direction=y]
\addplot+[ \addplot+[ boxplot prepared from table={
boxplot prepared from table={
table=\datatable, table=\datatable,
lower whisker=lw, lower whisker=lw,
upper whisker=uw, upper whisker=uw,
...@@ -56,8 +55,9 @@ ...@@ -56,8 +55,9 @@
}, boxplot prepared }, boxplot prepared
] ]
coordinates {}; coordinates {};
\addplot+[
boxplot prepared from table={
\addplot+[ boxplot prepared from table={
table=\datatable, table=\datatable,
row=1, row=1,
lower whisker=lw, lower whisker=lw,
......
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