Roboter in VR (Multi-User)

Roboter in VR IV: Kooperative Übung in einer Multi-User-Umgebung

Im letzten Beitrag in unserem Blog ging es um die Anfrage einer Schule bezüglich des Einsatzes von VR im Zusammenspiel mit Robotik.

Die von uns zur Verfügung gestellten drei Übungen mit der Plattform CoSpacesEDU/Delightex können weiterhin frei genutzt werden. Besonders interessant ist VR aber erst in Verbindung mit Multi-User-Umgebungen. Bei denen kommt zum immersiven Erleben noch die kooperative Komponente mit hinzu. Deshalb haben wir uns entschlossen, den Roboter auch für eine MUE (Multi-User-Experience) zu nutzen.

Im Gegensatz zu CoSpacesEDU, wo die Programmierung komplett in Blockly gestaltet werden kann, bietet die Plattform FrameVR lediglich die Möglichkeit per Trigger (Touch-Sensor oder Proximity-Sensor) Aktionen auszulösen. Es war also erforderlich, den vorbereiteten Roboter komplett zu animieren und mit den Einzelschrittanimationen als glb-Datei zu exportieren.

Nachdem der Roboterarm fertig animiert war begann die Gestaltung der VR-Umgebung auf der Plattform FrameVR. Auch dazu haben wir bereits einen ausführlichen Beitrag veröffentlicht.

Nach der Auswahl einer schönen Umgebung (Environment) wurde der Roboterarm hochgeladen, positioniert und skaliert, so dass er gut bedienbar sein würde. Dann wurden die Methoden/Befehle als Text-Label an vier Ecken rund um den Roboter positioniert und als Touch-Sensor mit der entsprechenden Animation verknüpft. Ein weiterer Körper, der zur Abdeckung der Labels von hinten dient, wurde hinzugefügt und drei mal dupliziert, so dass jeder User/Nutzer nur ein Gelenk des Roboters bedienen kann. Ein Funktionstest zeigte, dass alle Animationen korrekt abgespielt wurden.

Im nächsten Schritt wurden einfache weiße Quader zur Abdeckung der Labels/Befehle ergänzt, die verhindern, dass „unmögliche“ Kombinationen versucht werden.

Das Verknüpfen der Labels mit den Animationen sowie das Ein- und Ausblenden der Schutzobjekte wurde im Action-Editor vorgenommen.

Unten in der Mitte befindet sich das Hauptmenü der Szene. Hier kann man das „Editieren“ aktivieren und dann das zu bearbeitende Objekt auswählen. In der Objekt-Eigenschaften-Karte am linken Bildschirmrand kann dann der Actioneditor aufgerufen werden.

Hier können nun die gewünschten Aktionen erstellt werden, indem man zuerst einen Trigger wählt und diesem dann Aktionen zuordnet. Das funktioniert ohne Quellcode nur durch das Auswählen der entsprechenden Optionen.

Nachdem die „Programmierung“ abgeschlossen wurde, werden noch ein paar farbige Kugeln so positioniert, dass die Hand des Roboterarms sie in einer bestimmten Stellung der Gelenke „berühren“ kann. Da FrameVR momentan keine Skript-Programmierung mehr unterstützt muss das Treffen der Ziele manuell/visuell abgeschätzt werden. (Das ist ein kleines Manko, zumal wir davon ausgegangen waren, dass eben auch richtig programmiert werden kann, denn früher war FrameSkript noch eingebunden.) Man kann dieses Manko aber auch nutzen, um den kooperativen Ansatz zu stärken:

Aufgabenstellung

Eure Aufgabe ist es, mit dem Roboterarm alle drei farbigen Kugeln zu berühren. Am Besten bilden sich 5-User-Teams. Vier User gegeben sich zu den vier Bedienstationen und der Fünfte ist der Spielmeister. Dieser Koordiniert die Bewegungen des Roboterarms durch die vier Spieler an den Bedienstationen und darf sich frei bewegen, um von allen Perspektiven aus schauen zu können, ob eine Kugel berührt worden ist. Gleichzeitig ist er der Zeitwächter. Wenn alle drei farbigen Kugeln berührt worden sind stoppt er die Zeit.

Wird die letzte Kugel berührt ist das Spiel zu Ende. Welches Team schafft das in der kürzesten Zeit!?

FrameVR „Roboter in VR“ öffnen!


Wir – das Team des MPZ LKL – wünschen Ihnen viel Spaß beim Ausprobieren!