Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Didaktik der Informatik | Informatik und Gesellschaft

Anleitung zur Nutzung von SenseGlove Nova

Stand: August 2023

Falls jemandem Fehler oder Lücken in der Anleitung begegnen, gerne Frank Wehrmann oder Lily Frey berichten.

 

Gliederung

  1. Technische Vorraussetzungen
  2. Setup vor Verwendung in Unity
  3. Einbindung in Unity
  4. Beispiel-Szenen von SenseGlove
  5. Unity Scripts 

 


1. Technische Voraussetzungen

 

Windows und Linux

Diese Anleitung ist für die Betriebsysteme Windows und Linux geschrieben, da das Programm zur Kalibrierung der Handschuhe nur für diese Betriebsysteme bereitgestellt wird.

 

Bluetooth

Zudem muss der PC oder Laptop Bluetooth besitzen, um sich mit den Handschuhen verbinden zu können.

 

SenseGlove SDK

Die SenseGlove SDK sollte im Vorfeld heruntergeladen werden: 

Dazu reicht es, das Projekt zu klonen bzw. herunterzuladen und die .zip zu extrahieren. Die angegebenen Schritte unter Getting Startet des ersten Projektes (Windows) sind hier nicht relevant.

 

Unity Hub und Editor

Außerdem sollte auf dem PC oder Laptop Unity Hub sowie Unity Editor installiert sein.

 

Anmerkung zum PC im Labor

Der PC, der im Labor zur Verfügung gestellt wird, besitzt intern kein Bluetooth. Daher muss ein Bluetooth Dongle angeschlossen werden, das sich in dem Case der Handschuhe befindet. Die SenseGlove SDK sowie Unity Hub und Editor sind ebenfalls schon installiert. Die SDK befindet sich auf dem Desktop als Ordner namens SenseCom. 

 

 


2. Setup vor Verwendung in Unity

 

1. Handschuhe aufladen

Vor jeder Verwendung sollte Zeit eingeplant werden, falls der Akku der Handschuhe leer sein sollte. Es kann manchmal auftreten, dass sich die Handschuhe beim Rumliegen entladen und dann leer sind, wenn man sie benutzen möchte. Manchmal sind die Akkus aber auch voll und man muss sie nur zum Anschalten kurz einstecken, falls sie nicht gleich reagieren.

 

2. Halterung für Controller anbringen

Möchte man die Handschuhe in VR mit einer Brille verwenden, müssen zuerst die Halter an die Handschuhe gebracht werden, auf die letztendlich die Controller der VR-Brille angebracht werden. SenseGlove hat hierfür eine Anleitung: 

https://www.youtube.com/watch?v=ZCks06_Vwko

 

3. Handschuhe per Bluetooth verbinden

Nun sollten die Handschuhe angeschaltet werden und in den PC/Laptop-Einstellungen per Bluetooth verbunden werden. Dabei ist jeder Handschuh ein eigenes Gerät, also einmal NOVA-1447-L und NOVA-1448-R, die beide jeweils verbunden werden müssen.

 

4. SenseCom.exe starten

Wenn die Handschuhe verbunden und angezogen sind, muss die Software zur Kalibrierung gestartet werden. Hierzu geht man in den Ordner SenseCom, den man durch das Herunterladen des GitHub Projektes und das Extrahieren erhalten haben sollte. In diesem Ordner befindet sich eine SenseCom.exe Datei, die gestartet werden muss. Hier kann nochmal überprüft werden, ob die Handschuhe tatsächlich mit dem PC oder Laptop gekoppelt sind.

 

5. Handschuhe anziehen

Vor der Kalibrierung sollten die Handschuhe angezogen werden. Falls es dabei Probleme geben sollte, ist hier von SenseGlove ein Video: https://www.youtube.com/watch?v=U_giuElkW7U

 

6. Kalibrieren

Um die Kalibrierung zu starten, muss man in der gestarteten SenseCom Software oben links auf Calibrate klicken. Es ist wichtig, dass zu Beginn der Kalibrierung die Finger ausgestreckt sind, wie es auch die Grafik anzeigt. Sonst kann es vorkommen, dass die Kalibrierung fehlschlägt. Anschließend weiterhin die Hände wie in der Grafik angezeigt bewegen: Hände auf und zu machen und zum Schluss zur Bestätigung beide Daumen wie ein „OK“ zeigen. Nun ist alles bereit, um die Handschuhe in ein Unity Projekt zu integrieren.

 

Wiederholung als Video

Viele der bisher genannten Schritte (Download der SDK, Verbindung per Bluetooth etc.) sind in folgendem Video bis 1:54 zu sehen:

https://www.youtube.com/watch?v=okSigP6aztE

Was in diesem Video nach 1:54 gezeigt wird, wird erst in den nächsten Schritten dieser Anleitung erklärt. 

 

 


3. Einbindung in Unity

Diese Beschreibung orientiert sich an folgenden zwei Videos:

  1. https://www.youtube.com/watch?v=okSigP6aztE
  2. https://www.youtube.com/watch?v=AqDQuS2Xvhk

Vor allem ab dem 5. Schritt ist der Inhalt genauer im 2. Video zu sehen. Da das Video sehr schnell und unübersichtlich ist, werden hier die wichtigsten Eckpunkte als Übersicht genannt und manche fehlende Informationen ergänzt.

 

1. Unity Projekt erstellen

Zuerst muss ein Unity Projekt erstellt werden, indem man eine Anwendung für die Handschuhe bauen möchte oder die Beispiele von SenseGlove testen möchte. Es reicht aus, das voreingestellte 3D Core Template zu verwenden.

 

2. Unity Plugin 2.0

In dem bereits von GitHub heruntergeladenen Ordner SenseCom befindet sich die Unity Package SenseGlove_Unity_v2_5_0.unitypackage. Dieses Package sollte mittels Package Manager oder per Drag and Drop dem Projekt hinzugefügt werden (siehe 1. Video ab 2:16).

 

3. Steam VR und Vive Input Utility Plugin

Um der Anleitung im 2. Video folgen zu können, müssen zwei Plugins über den Asset Store und den Package Manager in das Projekt installiert werden:

 

4. [CameraRig]

Unter Assets/SteamVR/Prefabs befindet sich [CameraRig], welcher zur Szene hinzugefügt werden sollte. Er dient als VR-Rig des Kopfes (Sehen, Kopfbewegung etc.).

 

5. [SG_User]

Unter Assets/SenseGlove/Prefabs befindet sich der [SG_User], welcher ebenfalls zur Szene hinzugefügt werden sollte. Er dient als VR-Rig der Hände und bietet eine Schnittstelle zum Verbinden mit den Controllern. 

 

6. Tracker hinzufügen

Wie im 2. Video gezeigt muss man einen Cube (Tracker 1) zwischen die Hände platzieren und duplizieren (Tracker 2). Beiden Trackern wird das Script Vive Pose Tracker (Transform) hinzugefügt. Im Inspector muss unter Vive Role > TrackerRole ausgewählt werden und die entsprechenden Tracker 1 und 2. 

Anschließend wird ein leeres Objekt VR LLink erzeugt, welches die Komponente SG_VR_Rig bekommt. Im Inspector dieser Komponente sollten die Einstellungen folgendermaßen aussehen: 

Nun muss man dies noch mit dem SG_User verbinden: auf [SG_User] klicken und im Inspector unter SG_User (Script) bei Vr Rig den VR LLink auswählen.

 

7. Project Settings

Als letzten Schritt muss nur noch in den Project Settings unter XR Plug-in Management bei Oculus ein Häkchen gesetzt werden.

 

8. Test starten

Nun ist alles eingerichtet, sodass die Handbewegungen getrackt werden sollten, wenn man die Applikation startet. Als Test können jetzt die Controller (wenn nicht bereits erledigt) in die Halterung auf den Handschuhen gesteckt werden und die VR-Brille aufgesetzt werden. 

 

 


4. Beispiel-Szenen von SenseGlove

Unter Assets/SenseGlove/Examples sind Beispiel-Applikationen von SenseGlove gegeben. Nicht alle sind für VR gedacht. Zum Beispiel lässt sich 00_HardwareDiagnostics ohne VR-Brille ausprobieren und kann dementsprechend allein durch die Bluetooth Verbindung ausgeführt werden. Andere Beispiele, die für VR vorgesehen sind wie 11_Basic_VR oder 13_VR_Tryout, funktionieren nicht auf Anhieb, da in diesen Szenen die Controller nicht mit den Handschuhen verlinkt sind (alles unter Einbindung in Unity fehlt), sodass nichts passiert, wenn man es so wie gegeben startet. Ein Weg, wie es am Ende funktioniert, ist, indem man in den Beispiel-Szenen alles kopiert außer Directional Light, XRRig und [SG_User] bzw. TrackedHands und das in die Szene einfügt, die man unter Einbindung in Unity erstellt hat. Alternativ kann man versuchen, die Beispiel-Szenen um die nötigen Einstellungen zu ergänzen.

 

CalibrationVoid_XR

Möchte man eine Unity Anwendung entwickeln, die später als .apk auf der Oculus Quest laufen soll, ohne mit dem PC verbunden zu sein (also standalone), dann bietet SenseGlove dafür in ihrer Unity Package eine Szene zur Verfügung, die man verwenden kann. Dazu müssen die Handschuhe lediglich eingeschaltet und mit der Brille per Bluetooth verbunden sein. Die Szene zum Kalibrieren findet man unter Assets/SenseGlove/CalibrationVoid. Es ist wichtig, dass die Szene CalibrationVoid_XR ausgewählt wird und nicht nur CalibrationVoid, weil es sonst zu Problemen mit der Erkennung der Controllern kommen kann. Diese Szene kann man in den Build Settings einfach als erste Szene auswählen und im Inspektor vom [CalibrationVoid Assets] Game Object unter dem SG_CalibrationVoid Script die Szene eintragen, die nach der Kalibrierung gestartet werden soll (als Build Index oder Szenen Name).

Wenn man die neueste Version des Unity Plugins hat, sollte alles funktionieren. Falls man eine ältere Version besitzt und es zu Problemen kommt, muss man lediglich eine Einstellung korrigieren: in der Szene CalibrationVoid_XR unter [SG_User] > SGHand Right > Calibration Layer im Inspektor bei Linked Glove und Linked Hand jeweils SGHand Right auswählen (für Left analog). Dann sollte auch da alles funktionieren. 

 

 


5. Unity Scripts

Um in eigenen Anwendungen das haptische Feedback der Handschuhe zu adressieren, werden Scripts benötigt. Dafür sind unter Assets/SenseGloev/Scripts schon einige gegeben, es gibt aber auch eine Dokumentation, um selbst Scripts zu schreiben. 

 

SenseGlove Scripts

Die Bereiche, die für die VR-Entwicklung interessant sind, sind unter Assets/SenseGloe/Scripts Feedback und Interaction. Im Feedback- und Interaction-Ordner befinden sich Scripts, die man Objekten im VR-Raum als Komponente hinzufügt, um ihnen bestimmte Eigenschaften zu geben, wie z.B. zerbrechlich, weich oder hart. Wenn man sich darin mehr reindenken möchte, lohnt es sich, sich in der Beispiel-Szene 13_VR_Tryout anzuschauen, welche Scripts und Einstellungen die Objekte im Inspektor haben. Zudem sind die Scripts selbst gut kommentiert, was es leichter macht, den Code von SenseGlove nachzuvollziehen und anhand davon eigene Scripts zu schreiben.

 

SenseGlove Developer Docs

https://senseglove.gitlab.io/SenseGloveDocs/

In dieser Dokumentation gibt es zwei Bereiche, die besondern hilfreich sind, wenn man selbst Scripts für die Handschuhe schreiben möchte: 

  • Unity3D Plugin > Learning Exercises
  • Native C++/C# API > C# API Reference