|
<h1>Tutorial zur prototypischen Umsetzung einer AR-Anwendung mit der HoloLens 2</h1>
|
|
# I will correct the spelling errors in the provided text and convert it into a markdown file.
|
|
|
|
|
|
<p>Herzlich willkommen zu diesem Tutorial! Hier wird Schritt für Schritt erklärt, wie ihr eine Augmented-Reality-Anwendung mit der HoloLens 2 entwickelt, die Unreal Engine und AirSim integriert und den WMW-Truck in eure Simulation einbindet. Dieses Tutorial soll euch als Grundlage dienen, um eigenständig und erfolgreich an diesem Projekt zu arbeiten.</p>
|
|
text = """
|
|
|
|
# Tutorial zur prototypischen Umsetzung einer AR-Anwendung mit der HoloLens 2
|
|
|
|
|
|
<h2>1. Vernetzung im Team</h2>
|
|
Herzlich willkommen zu diesem Tutorial! Hier wird Schritt für Schritt erklärt, wie ihr eine Augmented-Reality-Anwendung mit der HoloLens 2 entwickelt, die Unreal Engine und AirSim integriert und den WMW-Truck in eure Simulation einbindet. Dieses Tutorial soll euch als Grundlage dienen, um eigenständig und erfolgreich an diesem Projekt zu arbeiten.
|
|
<p>Bevor ihr startet, stellt sicher, dass ihr euch als Team gut vernetzt habt. Organisiert ein erstes Treffen und besprecht die Rahmenbedingungen des Projekts. Eine klare Kommunikation und Zielsetzung sind entscheidend für den Erfolg.</p>
|
|
|
|
|
|
|
|
<h3>Zielsetzungen:</h3>
|
|
## 1. Vernetzung im Team
|
|
<ul>
|
|
Bevor ihr startet, stellt sicher, dass ihr euch als Team gut vernetzt habt. Organisiert ein erstes Treffen und besprecht die Rahmenbedingungen des Projekts. Eine klare Kommunikation und Zielsetzung sind entscheidend für den Erfolg.
|
|
<li><strong>Aufgabenverteilung:</strong> Klärt, wer sich um die HoloLens 2, die Unreal Engine und die Integration von AirSim kümmern wird.</li>
|
|
|
|
<li><strong>Checkliste erstellen:</strong> Erstellt eine Liste aller Meilensteine, die erreicht werden müssen, z. B. Einrichtung der Hardware, Implementierung der Software und Tests.</li>
|
|
|
|
<li><strong>Kommunikationswege festlegen:</strong> Nutzt Tools wie Discord, Microsoft Teams oder WhatsApp, um ständig in Kontakt zu bleiben und Probleme zeitnah zu klären.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h2>2. Grundlagen der Augmented Reality verstehen</h2>
|
|
### Zielsetzungen:
|
|
<p>Ein grundlegendes Verständnis für Augmented Reality (AR) ist essenziell. Dazu solltet ihr euch mit den technischen Möglichkeiten und Herausforderungen dieser Technologie auseinandersetzen.</p>
|
|
- **Aufgabenverteilung:** Klärt, wer sich um die HoloLens 2, die Unreal Engine und die Integration von AirSim kümmern wird.
|
|
|
|
- **Checkliste erstellen:** Erstellt eine Liste aller Meilensteine, die erreicht werden müssen, z. B. Einrichtung der Hardware, Implementierung der Software und Tests.
|
|
|
|
- **Kommunikationswege festlegen:** Nutzt Tools wie Discord, Microsoft Teams oder WhatsApp, um ständig in Kontakt zu bleiben und Probleme zeitnah zu klären.
|
|
|
|
|
|
<h3>Empfohlene Tutorials:</h3>
|
|
## 2. Grundlagen der Augmented Reality verstehen
|
|
<ul>
|
|
Ein grundlegendes Verständnis für Augmented Reality (AR) ist essenziell. Dazu solltet ihr euch mit den technischen Möglichkeiten und Herausforderungen dieser Technologie auseinandersetzen.
|
|
<li><a href="https://youtu.be/1eFrotqm86E?si=VBUtZBDmT6oSzpCN">Tutorial 1: Einstieg in die HoloLens 2</a></li>
|
|
|
|
<li><a href="https://youtu.be/po76IvgYHms?si=Adj_FkF7a_VyU0KU">Tutorial 2: Anwendung von HoloLens 2 in der Praxis</a></li>
|
|
|
|
</ul>
|
|
|
|
<p>Nehmt euch ausreichend Zeit, diese Tutorials durchzuarbeiten, da sie euch die nötige Grundlage für die Arbeit mit der HoloLens 2 vermitteln.</p>
|
|
|
|
|
|
|
|
<h2>3. Erste Schritte mit der HoloLens 2</h2>
|
|
### Empfohlene Tutorials:
|
|
|
|
- [Tutorial 1: Einstieg in die HoloLens 2](https://youtu.be/1eFrotqm86E?si=VBUtZBDmT6oSzpCN)
|
|
|
|
- [Tutorial 2: Anwendung von HoloLens 2 in der Praxis](https://youtu.be/po76IvgYHms?si=Adj_FkF7a_VyU0KU)
|
|
|
|
|
|
<h3>Einrichtung der HoloLens 2:</h3>
|
|
Nehmt euch ausreichend Zeit, diese Tutorials durchzuarbeiten, da sie euch die nötige Grundlage für die Arbeit mit der HoloLens 2 vermitteln.
|
|
<ol>
|
|
|
|
<li><strong>Einloggen:</strong> Schaltet die HoloLens 2 ein und loggt euch mit dem Passwort <code>AVIR1234</code> ein.</li>
|
|
|
|
<li><strong>Zugang zum Menü:</strong>
|
|
|
|
<ul>
|
|
|
|
<li>Haltet eure Hand vor die Kamera der Brille und formt eine Faust.</li>
|
|
|
|
<li>Richtet die Innenseite eurer Faust zur Kamera. Es erscheint eine kastenförmige Anzeige auf eurer Hand.</li>
|
|
|
|
<li>Tippt auf diese Anzeige, um das Menü der HoloLens 2 aufzurufen.</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
<p>Virtuelles Erkunden:</p>
|
|
## 3. Erste Schritte mit der HoloLens 2
|
|
<ul>
|
|
|
|
<li>Nehmt euch Zeit, um die Benutzeroberfläche und die Steuerungsmöglichkeiten der HoloLens 2 zu erkunden.</li>
|
|
|
|
<li>Testet die Interaktion mit Menüs und Einstellungen, um euch mit der Navigation vertraut zu machen.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h2>4. Verbindung der HoloLens 2 mit dem PC und Unreal Engine</h2>
|
|
### Einrichtung der HoloLens 2:
|
|
|
|
1. **Einloggen:** Schaltet die HoloLens 2 ein und loggt euch mit dem Passwort `AVIR1234` ein.
|
|
|
|
2. **Zugang zum Menü:**
|
|
|
|
- Haltet eure Hand vor die Kamera der Brille und formt eine Faust.
|
|
|
|
- Richtet die Innenseite eurer Faust zur Kamera. Es erscheint eine kastenförmige Anzeige auf eurer Hand.
|
|
|
|
- Tippt auf diese Anzeige, um das Menü der HoloLens 2 aufzurufen.
|
|
|
|
|
|
Wenn man testen möchte wie Level aus einem ue-project auf der HoloLens aussehen würden, dann gibt es dafür abgesehen vom 5. Punkt noch zwei andere Möglichkeiten.
|
|
**Virtuelles Erkunden:**
|
|
|
|
- Nehmt euch Zeit, um die Benutzeroberfläche und die Steuerungsmöglichkeiten der HoloLens 2 zu erkunden.
|
|
|
|
- Testet die Interaktion mit Menüs und Einstellungen, um euch mit der Navigation vertraut zu machen.
|
|
|
|
|
|
<h3>VR Preview ohne die HoloLens 2</h3>
|
|
## 4. Verbindung der HoloLens 2 mit dem PC und Unreal Engine
|
|
Bevor man das Level baut, sollte man sicherstellen, dass man alle notwendigen Plugins installiert hat. Das geht auf verschiedene Arten. Entweder wählt man das Plugin aus den Projekt-Einstellungen direkt aus oder man fügt es manuell in den Projektordner ein. Das Windows Mixed Reality Plugin, das HoloLens Plugin und UX Tools sollten auf jeden Fall installiert sein. Wenn das Windows Mixed Reality Plugin nicht in den Projekteinstellungen auffindbar ist, dann muss man dieses manuell hinzufügen. Um die Grundlagen der HoloLens in Zusammenarbeit mit der Unreal Engine besser zu verstehen, bietet es sich an folgendes Tutorial zumindest die ersten 25 Minuten zu schauen: https://www.youtube.com/watch?v=u_qR-1DrvMg&t=4413s. In diesem Tutorial lernt man, wie man Objekte manipulieren kann, sodass man diese bspw. beliebig im Raum platzieren kann oder die Größe skalieren kann. Optimal für den Einstieg!
|
|
|
|
In den sogenannten Event Graphen kann man mittels der UX Tools Gesten, wie z.B. einem Kneifen eine Funktion zuteilen. Wenn man dem Tutorial folgt, sollte man diese Funktion integriert haben und in der Lage sein Objekte, die manipulierbar sind mit einem "pinch", zu bewegen.
|
|
|
|
Möchte man ein Objekt manipulieren, so muss man für dieses eine Blueprint Klasse erstellen und eine Generic Manipulator Komponente hinzufügen. Im Details Bereich kann man diese seinen Wünschen entsprechend einstellen.
|
|
|
|
Möchte man nun das Level testen, muss man unter Active Play Mode auf VR Preview klicken.
|
|
|
|
|
|
|
|
|
|
Wenn man testen möchte, wie Level aus einem ue-project auf der HoloLens aussehen würden, dann gibt es dafür abgesehen vom 5. Punkt noch zwei andere Möglichkeiten.
|
|
|
|
|
|
<h3>VR Preview mit der HoloLens 2</h3>
|
|
### VR Preview ohne die HoloLens 2
|
|
|
|
Bevor man das Level baut, sollte man sicherstellen, dass man alle notwendigen Plugins installiert hat. Das geht auf verschiedene Arten. Entweder wählt man das Plugin aus den Projekt-Einstellungen direkt aus oder man fügt es manuell in den Projektordner ein. Das Windows Mixed Reality Plugin, das HoloLens Plugin und UX Tools sollten auf jeden Fall installiert sein. Wenn das Windows Mixed Reality Plugin nicht in den Projekteinstellungen auffindbar ist, dann muss man dieses manuell hinzufügen. Um die Grundlagen der HoloLens in Zusammenarbeit mit der Unreal Engine besser zu verstehen, bietet es sich an, folgendes Tutorial zumindest die ersten 25 Minuten zu schauen: https://www.youtube.com/watch?v=u_qR-1DrvMg&t=4413s. In diesem Tutorial lernt man, wie man Objekte manipulieren kann, sodass man diese bspw. beliebig im Raum platzieren oder die Größe skalieren kann. Optimal für den Einstieg!
|
|
|
|
|
|
Wenn man das Level mit der HoloLens 2 testen, dann fehlen noch ein paar Schritte. Auf der HoloLens 2 selbst muss man zunächst angemeldet sein und der Rechner, auf dem das Projekt läuft und die HoloLens müssen im selben Netzwerk sein. Auf der HoloLens 2 gibt es eine App, die "Holographic Remoting Player" heißt. Diese muss gestartet sein, während man parallel dazu in der Unreal Engine die Verbindung herstellt. Ist die App auf der HoloLens 2 gestartet, sieht man eine IP-Adresse. In den Projekteinstellungen muss man unter dem Bereich Windows Mixed Reality den Punkt "Enable Remoting For Editor" ein Häkchen gesetzt haben. Danach gibt man die IP-Adresse der HoloLens 2 ein und drückt auf Connect. Auf der HoloLens gibt es dann die Anzeige, dass das Programm auf ein Signal wartet. Im Anschluss muss man wieder VR Preview klicken und man sollte die visuelle Darstellung der Unreal Engine auf der HoloLens 2 angezeigt bekommen.
|
|
In den sogenannten Event Graphen kann man mittels der UX Tools Gesten, wie z.B. einem Kneifen eine Funktion zuteilen. Wenn man dem Tutorial folgt, sollte man diese Funktion integriert haben und in der Lage sein, Objekte, die manipulierbar sind, mit einem "Pinch" zu bewegen.
|
|
|
|
|
|
|
|
Möchte man ein Objekt manipulieren, so muss man für dieses eine Blueprint-Klasse erstellen und eine Generic Manipulator-Komponente hinzufügen. Im Details-Bereich kann man diese seinen Wünschen entsprechend einstellen. Möchte man nun das Level testen, muss man unter "Active Play Mode" auf "VR Preview" klicken.
|
|
|
|
|
|
<h2>5. Verbindung der HoloLens 2 mit dem Device Portal</h2>
|
|
### VR Preview mit der HoloLens 2
|
|
|
|
Wenn man das Level mit der HoloLens 2 testen möchte, dann fehlen noch ein paar Schritte. Auf der HoloLens 2 selbst muss man zunächst angemeldet sein und der Rechner, auf dem das Projekt läuft, und die HoloLens müssen im selben Netzwerk sein. Auf der HoloLens 2 gibt es eine App, die "Holographic Remoting Player" heißt. Diese muss gestartet sein, während man parallel dazu in der Unreal Engine die Verbindung herstellt. Ist die App auf der HoloLens 2 gestartet, sieht man eine IP-Adresse. In den Projekteinstellungen muss man unter dem Bereich Windows Mixed Reality den Punkt "Enable Remoting For Editor" ein Häkchen setzen. Danach gibt man die IP-Adresse der HoloLens 2 ein und drückt auf "Connect". Auf der HoloLens gibt es dann die Anzeige, dass das Programm auf ein Signal wartet. Im Anschluss muss man wieder "VR Preview" klicken, und man sollte die visuelle Darstellung der Unreal Engine auf der HoloLens 2 angezeigt bekommen.
|
|
|
|
|
|
**Dieser Lösungsansatz ist in der Theorie möglich, aber in der Praxis schwer umzusetzen!**
|
|
## 5. Verbindung der HoloLens 2 mit dem Device Portal
|
|
|
|
|
|
<h3>Schritte zur Verbindung:</h3>
|
|
**Dieser Lösungsansatz ist in der Theorie möglich, aber in der Praxis schwer umzusetzen!**
|
|
<ol>
|
|
|
|
<li><strong>Device Portal aktivieren:</strong>
|
|
|
|
<ul>
|
|
|
|
<li>Navigiert zu den <strong>Einstellungen</strong> der HoloLens 2 und öffnet die <strong>Entwickleroptionen</strong>.</li>
|
|
|
|
<li>Aktiviert die Funktion <strong>Device Portal</strong>. Notiert euch die angezeigte IP-Adresse der HoloLens 2.</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li><strong>Verbindung über den Browser herstellen:</strong>
|
|
|
|
<ul>
|
|
|
|
<li>Öffnet einen Browser auf eurem PC.</li>
|
|
|
|
<li>Gebt die IP-Adresse der HoloLens 2 in die Adresszeile ein und drückt Enter.</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li><strong>Funktionen des Device Portals nutzen:</strong>
|
|
|
|
<ul>
|
|
|
|
<li>Die HoloLens 2 über den Rechner ausschalten.</li>
|
|
|
|
<li>Den Akkustand überprüfen.</li>
|
|
|
|
<li>Apps starten oder beenden.</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
### Schritte zur Verbindung:
|
|
|
|
1. **Device Portal aktivieren:**
|
|
|
|
- Navigiert zu den **Einstellungen** der HoloLens 2 und öffnet die **Entwickleroptionen**.
|
|
|
|
- Aktiviert die Funktion **Device Portal**. Notiert euch die angezeigte IP-Adresse der HoloLens 2.
|
|
|
|
2. **Verbindung über den Browser herstellen:**
|
|
|
|
- Öffnet einen Browser auf eurem PC.
|
|
|
|
- Gebt die IP-Adresse der HoloLens 2 in die Adresszeile ein und drückt Enter.
|
|
|
|
3. **Funktionen des Device Portals nutzen:**
|
|
|
|
- Die HoloLens 2 über den Rechner ausschalten.
|
|
|
|
- Den Akkustand überprüfen.
|
|
|
|
- Apps starten oder beenden.
|
|
|
|
|
|
<h2>6. AirSim installieren und in die Unreal Engine integrieren</h2>
|
|
## 6. AirSim installieren und in die Unreal Engine integrieren
|
|
<ol>
|
|
1. Installation von AirSim: [AirSim installieren](https://microsoft.github.io/AirSim/build_windows/)
|
|
<li>Installation von AirSim: <a href="https://microsoft.github.io/AirSim/build_windows/">AirSim installieren</a></li>
|
|
2. AirSim Integration in die Unreal Engine: [AirSim in der Unreal Engine einrichten](https://microsoft.github.io/AirSim/unreal_custenv/).
|
|
<li>AirSim Integration in die Unreal Engine: <a href="https://microsoft.github.io/AirSim/unreal_custenv/">AirSim in der Unreal Engine einrichten</a>.</li>
|
|
3. Folgt den dort beschriebenen Schritten, um eine benutzerdefinierte Umgebung in der Unreal Engine zu erstellen.
|
|
<li>Folgt den dort beschriebenen Schritten, um eine benutzerdefinierte Umgebung in der Unreal Engine zu erstellen.</li>
|
|
4. Achtet darauf, alle erforderlichen Plugins und Konfigurationen korrekt zu installieren.
|
|
<li>Achtet darauf, alle erforderlichen Plugins und Konfigurationen korrekt zu installieren.</li>
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
Wenn alle Schritte befolgt wurden, sollte die AirSim Integration abgeschlossen sein. Drückt man im Level auf Play, wird das Standardfahrzeug von AirSim gespawned. Dieses kann man fahren und auf der linken Seite des Fensters bekommt man Fahrzeuginformationen ausgegeben.
|
|
Wenn alle Schritte befolgt wurden, sollte die AirSim-Integration abgeschlossen sein. Drückt man im Level auf Play, wird das Standardfahrzeug von AirSim gespawnt. Dieses kann man fahren und auf der linken Seite des Fensters bekommt man Fahrzeuginformationen ausgegeben.
|
|
|
|
|
|
<h2>7. Unreal Engine Integration des WMW-Trucks und Einstellung der Räder</h2>
|
|
## 7. Unreal Engine Integration des WMW-Trucks und Einstellung der Räder
|
|
|
|
|
|
<h3>Beschaffung der Dateien:</h3>
|
|
### Beschaffung der Dateien:
|
|
<p>Beschafft die erforderlichen Dateien für den WMW-Truck: https://nextcloud.th-wildau.de/nextcloud/index.php/f/23393386 </p>
|
|
Beschafft die erforderlichen Dateien für den WMW-Truck: [Link zur Datei](https://nextcloud.th-wildau.de/nextcloud/index.php/f/23393386)
|
|
|
|
|
|
Wenn man versucht mit diesem Truck zu arbeiten, kann es sein, dass man diesen in Blender bearbeiten muss, damit die einzelnen Bones des Modells erkennbar werden. Ansonsten wird es schwierig die Fahrzeugbewegung richtig einzustellen, sodass die Räder sich bspw. drehen.
|
|
Wenn man versucht, mit diesem Truck zu arbeiten, kann es sein, dass man diesen in Blender bearbeiten muss, damit die einzelnen Bones des Modells erkennbar werden. Ansonsten wird es schwierig, die Fahrzeugbewegung richtig einzustellen, sodass die Räder sich bspw. drehen.
|
|
|
|
|
|
Alternativ könnte man sich eine bearbeitete Version des Trucks von der Gruppe "AirSim functions, plugins & development" herunterladen: https://nextcloud.th-wildau.de/nextcloud/index.php/apps/files/files/41603290?dir=/WMW%20Stuff/WinterSemester2024/AirSim%20Funktionen%2C%20Plugins%20%26%20Entwicklung
|
|
Alternativ könnte man sich eine bearbeitete Version des Trucks von der Gruppe "AirSim functions, plugins & development" herunterladen: [Link zur Datei](https://nextcloud.th-wildau.de/nextcloud/index.php/apps/files/files/41603290?dir=/WMW%20Stuff/WinterSemester2024/AirSim%20Funktionen%2C%20Plugins%20%26%20Entwicklung)
|
|
|
|
|
|
Sobald man einen Truck hat, dessen Räder innerhalb eines Skeletal Mesh benannte Bones haben, kann man an die Fahrzeugbewegung. Jetzt muss eine neue Blueprint Klasse vom Pawn WheeledVehicle erstellt werden. Öffnet man die Blueprint Klasse muss man dem Skeletal Mesh, falls noch nicht vorhanden, die Datei TruckRigg mitgeben. Auf der linken Seite im Blueprint Editor befindet sich ein Komponenten Abschnitt. Ist eine Vehicle Movement Komponente vorhanden, so kann man diese nutzen. Wenn nicht, muss man eine hinzufügen. Wählt man diese aus, sieht man Abschnitt "Detail" auf der rechten Seite den Bereich "Vehicle Setup". Im Wheel Setup müssen zwei Räder hinzugefügt werden, sodass da "6 Array elements" steht. Bei der Wheel Class muss man für die ersten zwei Räder CarWheelFront angeben und für die anderen vier CarWheelRear. Die Bone Names sollte in folgender Reihenfolge zugeteilt werden: FL, FR, ML, MR, BL, BR. Abgesehen von den ersten zwei Rädern, sollte zudem bei den anderen das Häkchen bei Disable Steer gesetzt sein.
|
|
Sobald man einen Truck hat, dessen Räder innerhalb eines Skeletal Mesh benannte Bones haben, kann man an die Fahrzeugbewegung. Jetzt muss eine neue Blueprint-Klasse vom Pawn "WheeledVehicle" erstellt werden. Öffnet man die Blueprint-Klasse, muss man dem Skeletal Mesh, falls noch nicht vorhanden, die Datei "TruckRigg" mitgeben. Auf der linken Seite im Blueprint Editor befindet sich ein Komponenten-Abschnitt. Ist eine "Vehicle Movement"-Komponente vorhanden, so kann man diese nutzen. Wenn nicht, muss man eine hinzufügen. Wählt man diese aus, sieht man im Bereich "Detail" auf der rechten Seite den Bereich "Vehicle Setup". Im "Wheel Setup" müssen zwei Räder hinzugefügt werden, sodass dort "6 Array elements" steht. Bei der Wheel Class muss man für die ersten zwei Räder "CarWheelFront" angeben und für die anderen vier "CarWheelRear". Die Bone Names sollten in folgender Reihenfolge zugeteilt werden: FL, FR, ML, MR, BL, BR. Abgesehen von den ersten zwei Rädern, sollte zudem bei den anderen das Häkchen bei "Disable Steer" gesetzt sein.
|
|
|
|
|
|
|
|
## 8. WMW Truck über AirSim beim Start eines Levels ausgeben
|
|
|
|
|
|
<h2>8. WMW Truck über AirSim beim Start eines Levels ausgeben</h2>
|
|
Nach der Einrichtung von AirSim sollte man in seinem AirSim-Verzeichnis eine "Settings.json" haben. Diese muss man so konfigurieren, dass statt des Standardfahrzeugs, der Truck gespawnt wird. Dafür muss man die "Settings.json" so anpassen, dass der Pfad zum Blueprint-Modell des Trucks führt. Ist das abgeschlossen, sollte der Truck spawnen. Der Truck wird allerdings in dem Zustand nicht in der Lage sein zu fahren, da man die Funktionalität des Trucks und die Kamerapositionierung in C++-Klassen implementieren muss.
|
|
|
|
|
|
Nach der Einrichtung von AirSim, sollte man in seinem AirSim Verzeichnis eine Settings.json haben. Diese muss man so konfigurieren, dass statt des Standardfahrzeugs, der Truck spawned. Dafür muss man die Settings.json so anpassen, dass der Pfad zum Blueprint Modell des Trucks führt. Ist das abgeschlossen, sollte der Truck spawnen. Der Truck wird allerdings in dem Zustand nicht in der Lage sein zu fahren, da man die Funktionalität des Trucks und die Kamerapositionierung in C++ Klassen implementieren muss.
|
|
## Viel Erfolg!
|
|
|
|
|
|
<h2> Viel Erfolg!</h2> |
|
|