# lern-tracking-system

Um den Studenten des Grundlagenkurses für *Virtual, Mixed und Augmented Reality* das Thema Tracking besser und anschaulicher vermitteln zu können wird im Zuge dieser Projektarbeit ein Lehr-Tracking-System geplant und gebaut. Mit ihm können die Grundlagen von Tracking Systemen praktisch veranschaulicht werden.

![hardware construction](images/full_system.jpg)

Ziel dieser Projektarbeit ist ein Prüfkörper, welcher sich in einem zweidimensionalen Raum mit einem visuellen, einem magnetischen und einem akustischen Verfahren tracken lässt.

![component mindmap](images/tracking.png)

Da im Lehr-Tracking-System nicht alle existierenden Tracking Mechanismen verbaut und veranschaulicht werden können wurden drei Tracking Mechanismen ausgewählt welche zum Einen in Mixed oder Virtual Reality Systemen oft zu Einsatz kommen, zum Anderen aber auch in dieser Projektarbeit umgesetzt werden können. Für die Projektarbeit wurde ein visuelles, ein magnetisches und ein akustisches Tracking ausgewählt. Diese drei Verfahren sind die gängigsten Verfahren und können auch ohne großen finanziellen Aufwand umgesetzt werden. Das Lern-Tracking System soll das Grundprinzip der einzelnen Tracking Verfahren sowie die Vor- und Nachteile aufzeigen. Das Hauptaugenmerk liegt demnach nicht auf der Güte sondern auf der Einfachheit der Systeme.

[Folgendes Video](https://www.youtube.com/watch?v=F4FBDjWUkbI) zeigt die in diesem Repo abgelegte Software in Aktion.
[![Ein Lern-Tracking-System für einen Augmented und Virtual Reality Hochschulkurs](images/screenrecord_thumb.jpg)](https://www.youtube.com/watch?v=F4FBDjWUkbI)

# Installation

Das [Arduino-Programm](arduino/) wurde mit der *VS Code IDE* und der darauf basierendem *PlatformIO* Umgebung auf einen Arduino UNO geflashed. Der linke Ultraschallempfänger ist am Pin 2, der rechte Empfänger am Pin 3 und der Sender an der Gondel am Pin 4 des Arduinos angeschlossen. Die MPU9250 wird via I2C vom Arduino angesprochen.

Auf dem [Raspberry Pi 4](raspberry-pi/) ist ein aktuelles Raspbian-Image aufgespielt worden. Danach wurde einfach dieses Repository mit `git clone` kopiert und das beigefügte [Installationsscript](raspberry-pi/install.sh) ausgeführt:
```bash
sudo apt update
sudo apt upgrade -y
sudo apt install git

cd ~/Schreibtisch
git clone https://gitlab.justprojects.de/hochschule/lern-tracking-system.git

cd lern-tracking-system/raspberry-pi
./install.sh
```

Zum Öffnen der GUI muss schließlich folgendes Pythonscript im `raspberry-pi` Projektordner ausgeführt werden:
```bash
cd ~/Schreibtisch
cd lern-tracking-system/raspberry-pi

python3 main.py
```