Slimeinator (Open Source Full Body Tracker)
Owner: Lily (Lilyfox), Arvid (H3), Richard (liocore)
SlimeVR: https://slimevr.dev/
GitHub-Repo für PCB: https://github.com/H3wastooshort/slimeVR_PCB
Idee
Dieses Projekt ist gemeinsam mit Lily, Arvid und mir (Richard) entstanden. Lily hatte die ursprüngliche Idee, eigene SlimeVR-Tracker zu bauen; ich bin dann aus persönlichem Interesse dazugestoßen, und Arvid hatte sich schon früher mal damit beschäftigt und sogar etwas angefangen.
SlimeVR ist eine erschwingliche, community-entwickelte Open-Source-Lösung für Körper-Tracking, die sich zum Beispiel für VR-Spiele oder Motion Capture eignet. Es gibt zwar ein Hauptteam, das SlimeVR entwickelt und fertige Tracker verkauft, aber Software, Firmware und Hardware-Spezifikationen sind frei verfügbar. Es gibt auch gut dokumentierte Anleitungen zum Selbstbauen sowie viele Community-Projekte mit PCB-Schematics und 3D-druckbaren Gehäuse-Modellen.
Wie SlimeVR funktioniert
SlimeVR-Tracker basieren auf ESP-Mikrocontrollern und haben pro Tracker eine Inertial Measurement Unit (IMU), die Rotation misst. Aus diesen Rotationsdaten berechnet die Software über direkte Kinematik die Positionen der Tracker und erstellt daraus ein Modell des Körpers. Man braucht kein externes Equipment wie Lighthouse-Stationen, und keine teuren eingebauten Kameras für Inside-Out-Tracking. Die Tracker sind dadurch deutlich günstiger als andere Lösungen auf dem Markt, für VR-Spiele oder Projekte ohne professionellen Anspruch reicht die Qualität absolut aus. Empfohlen werden fünf bis zehn Tracker, für Motion Capture ohne VR sind bis zu sechzehn möglich.
PCB und Hardware
Wir haben uns entschieden, ein eigenes PCB und Gehäuse zu entwerfen, um die ESP32-S2 zu verwenden, die wir im Space hatten. Außerdem haben wir uns für größere Batterien als üblich entschieden, um längere Laufzeiten zu ermöglichen.
Das PCB-Design hat Arvid übernommen. Er hat Status-LEDs, Lade-Pads für Pogo-Pins, Battery-Protection integriert, dazu noch Jumper, damit das PCB auch für zukünftige Projekte und mit verschiedenen Komponenten wiederverwendet werden kann. Magnetometer wurden ebenfalls hinzugefügt, die SlimeVR-Software kann damit falsche Rotation die sich mit der Zeit aufbaut („Drift“) rausrechnen. Die PCBs haben wir bei LCSC bestellt und bestücken lassen, da IMUs und Magnetometer sehr klein sind, die ESPs und Batterien haben wir selbst und mit Simon's Hilfe gelötet.
Da der ESP32-S2 standardmäßig von der SlimeVR-Firmware nicht unterstützt wird, haben Arvid und Lily die Firmware angepasst. Arvid hat außerdem einen Pull Request zur SlimeVR-Software eingereicht, der ESP32-S2-Support hinzufügt.
Gehäuse
Lily hat bereits SlimeVR-Tracker und konnte wertvolle Nutzer-Erfahrung für die Gehäuse teilen.
Ursprünglich war geplant, das PCB direkt über der Batterie zu platzieren, um ein kompaktes quadratisches Gehäuse zu ermöglichen. Leider sind die Lade-Pads und LEDs auf verschiedenen Seiten des PCBs gelandet, sodass bei diesem Layout immer eines von beidem verdeckt wäre. Dadurch sind letztendlich zwei verschiedene Case-Designs entstanden, die wir beide in FreeCAD entworfen haben.
Ich habe ein rechteckiges Gehäuse entwickelt, bei dem Batterie und PCB nebeneinander liegen. Dazu gibt es auch Strap-Clips, inspiriert von anderen Community-Projekten: Statt die Tracker direkt anzuziehen, befestigt man zuerst die Straps am Körper und clippt dann die Tracker ein. Es gibt zwei Clip-Varianten, um das Gehäuse vertikal oder horizontal zu tragen. Der Nachteil des rechteckigen Designs ist, dass die Tracker damit leider etwas ungewöhnlich groß geworden und somit schwieriger zu tragen sind. Arvid hat parallel dazu das ursprünglich geplante quadratische Gehäuse umgesetzt, mit dicken Außenwänden für mehr Stabilität versehen und es weiter für größere Batterien angepasst.
Beide Gehäuse sind noch in der Entwicklung.
Straps
Es braucht auch Straps, um die Tracker am Körper zu befestigen. Die SlimeVR-Dokumentation enthält Anleitungen und empfohlene 3D-druckbare Schnallen-Modelle. Ich bin zu Singer's Nähwelt in Villingen gegangen, um elastisches Band, Schnallen und zusätzlichen Rat zu holen. Die Damen dort waren sehr neugierig über das Projekt. Da Schnallen vergleichsweise teuer und nicht in ausreichender Menge vorrätig waren, haben wir unsere eigenen gedruckt. Wir wurden auch zu ihrer Schneiderei eingeladen, nach etwas mehr Erfahrung mit den Straps können wir die Schnallen und Bänder dort professionell nähen lassen.
Ergebnis und Ausblick
Insgesamt sind für weniger Geld als beim Kauf gute Tracker entstanden. Arvid hat nun fünf Tracker, ich habe zehn. Die Tracking-Qualität ist mehr als ausreichend für unsere Zwecke, und die Batterien halten je nach Nutzung rund zwölf Stunden. Die PCB-Dateien sind auf GitHub verfügbar.
Während wir noch am Projekt gearbeitet haben, hat das SlimeVR-Team eine neue Tracker-Generation veröffentlicht welche deutlich kleiner und leichter ist und viel längere Laufzeit hat. Wir planen, darauf basierend eine verbesserte Version zu entwerfen (bereits schon „Perries“ getauft). Diese neue Version wird auch ein neues PCB und Gehäusedesign haben, um die Tracker kleiner und leichter zu machen, sodass sie mit Klett statt Clips befestigt werden können. Außerdem wollen wir TPU verwenden, um Schutz und Tragekomfort weiter zu verbessern. Ursprünglich war eine Ladestation für die Slimeinator geplant, die verschieben wir nun auf die Perries.





