Roboter in VR

Roboter in der virtuellen Realität nutzen

Kürzlich wurde von einer unserer Oberschule angefragt, ob wir für den Einsatz im Fächerverbindenden Unterricht Material für „Robotik und VR“ empfehlen können. Außer dem uns bereits bekannten Beispiel des NovaBot’s:

[ https://highdoc-labs.de/novabot-training/de/training/novabot-szene.php ]

hatten wir leider nichts anzubieten. Also haben wir eine Übungssequenz entwickelt, die sich rund um einen Roboterarm in virtueller Realität dreht. Herausgekommen sind die hier zusammengefassten VR-Welten.


Roboter in VR I

Inhalt: Der erste Teil der Übungsreihe „Roboter in VR“ ist ein 3D-Puzzel. Aus den vier beweglichen Hauptbaugruppen soll ein funktionierender Roboter zusammengepuzzelt werden. Vorgegeben sind die Einzelteile und die fest stehende Basis. Zusätzlich sind die Drehachsen der beweglichen Teil zu erkennen. Nun muss der Roboterarm Teil für Teil in der richtigen Reihenfolge zusammengebaut werden. Wird ein Teil mit der virtuellen Hand aufgehoben und an der richtigen Stelle platziert, so rastet das Teil ein und es kann mit dem nächsten Teil weitergemacht werden. Wenn alle Teile richtig zusammengesetzt wurden erfolgt abschließend ein kurzer Funktionstest.


Hier ist der Link zu dieser Welt. So kann man die Welt auch in einem neuen Fenster öffnen: https://edu.delightex.com/XXA-NEV

Als 3D-Puzzle lässt sich diese VR-Welt wie gewohnt in AR auf dem Tablet oder Smartphone spielen!


Roboter in VR II

Inhalt: Hier finden wir den selben Roboter wieder, der in der Übung I zusammengepuzzelt werden musste. Die Aufgabe besteht nun darin, drei Metallobjekte in einen Altmetall-Container zu entsorgen. Dafür kann der Roboterarm über ein Steuerpult bedient werden. Eigentlich ist die Funktion selbsterklärend. Wird einer der Knöpfe auf dem Steuerpult angeklickt, so führt der Roboterarm diesen Befehl aus.


Hier ist der Link zu dieser Welt. So kann man die Welt auch in einem neuen Fenster öffnen: https://edu.delightex.com/TNY-LNB


Roboter in VR III

Inhalt: Hier besteht die Aufgabe nun darin, die selben drei Metallobjekte in den Container zu entsorgen. Diesmal jedoch passiert das durch die Programmierung des Roboterarms. Da CoSpacesEDU/Delightex keine Möglichkeit der Texteingabe unterstützt (Was unter der VR-Brille sowieso immer schwierig ist!) sind wir auf die gute, alte Lochkartenprogrammierung ausgewichen. Eine 10×15-Lochmatrix wird durch einen Lesekopf in 15 Schritten von links nach rechts abgearbeitet. In jedem Schritt werden die zehn Methoden einer Lochkarte gelesen. Ein Loch (schwarz) steht für „wird ausgeführt“, weiß hingegen (also ungelocht) steht für „überspringen“.

Links sieht man das komplette Zustandsdiagramm. Innerhalb dieser Zustände kann der Roboterarm durch das Anwenden von Methoden von Zustand zu Zustand springen. Programmieren bedeutet nun, durch die Abfolge von Methoden/Befehlen, die gestellte Aufgabe zu erfüllen.

Das Ziel ist es, die Löcher so auszustanzen (einfach durch anklicken), dass die Befehle dazu führen, die Aufgabe zu erfüllen und alle drei Metallobjekte in den Container zu befördern Innerhalb der 15 Programmierschritte des Loch-Schemas muss die Aufgabe erfüllt werden!


Hier ist der Link zu dieser Welt. So kann man die Welt auch in einem neuen Fenster öffnen: https://edu.delightex.com/VXS-EEX


Lösungstipps:

Da der Lesekopf von links nach rechts liest (… und innerhalb eines Schrittes von oben nach unten) können mehrere Methoden per Befehl in einem Schritt zusammengefasst werden. Somit reichen die vorgegebenen 15 Programmschritte bequem, um die Aufgabe zu erfüllen:


The Making of …


Zuerst brauchten wir ein Robotermodell das wir ohne Lizenz-Probleme verwenden und anpassen konnten! Hier sind wir auf ein freies Objekt aus der Modell-Sammlung der Plattform BlocksmithXR gestoßen. Zuerst wurde das Objekt in Spline hochgeladen und analysiert.


Im Spline-Editor sind die einzelnen Baugruppen gut zu erkennen:

Leider kann mit der freien Version von Spline kein Objekt heruntergeladen werden. Also brauchten wir einen anderen Weg.

Auch das freie Tool Figuro.io kann das Model zwar importieren, aber die Baugruppen-Einteilung geht verloren und auch das Speichern ist problematisch.

Das von uns sehr geschätzte Tool SandBox.BabylonJS.com könnte zwar einzelne Baugruppen erzeugen und auch exportieren, allerdings sehr langwierig und – da der Roboter auch animiert werden soll – sehr umständlich.

Letztendlich haben wir uns wieder für das freie Programm BlockBench entschieden. Hier musste der Roboterarm zwar erst in eine Obj-Datei umgewandelt werden, aber das ist ja kein Problem. Nach dem Importieren der Datei liegt der Roboterarm im Editor vor:

Zuerst haben wir Objekte entfernt, die nicht dabei sein sollten, da der Roboter per Elektro-Magnet und nicht mit einer „Klaue“ arbeiten soll:

Anschließend wurden die Baugruppen markiert und gruppiert:

Hier sind alle Baugruppen in separaten Gruppen zusammengefasst worden:

Nun konnten die Baugruppen als glb-Dateien exportiert und in CoSpacesEDU/Delightex importiert werden:

So, die Programmierung mittels CoBlocks innerhalb von CoSpacesEDU/Delightex konnte beginnen!

Die Ergebnisse kann man oben betrachten …


Wir – das Team des MPZ LKL – wünschen Ihnen viel Spaß beim Testen und viel Erfolg, sollten Sie das Material im Unterricht einsetzen!