Mit XR-Teleoperation steuern Sie den Unitree G1 immersiv über eine VR-Brille: Ihre Kopf-, Hand- und Handgelenksbewegungen werden auf die Arme und die geschickten Hände des Roboters übertragen, während das Stereo-Kamerabild des Roboters live in die Brille gestreamt wird. Grundlage ist Unitrees quelloffenes Projekt xr_teleoperate (vormals avp_teleoperate), das neben Apple Vision Pro und Meta Quest auch PICO-VR-Brillen (z. B. PICO 4 Ultra) unterstützt. Solche Teleoperations-Setups dienen u. a. dem Sammeln von Demonstrationsdaten für Imitation Learning.
Hinweis: Befehle, Optionen und Paketnamen sind illustrativ und versionsabhängig – maßgeblich sind das README und die Release-Hinweise des Repositorys unitreerobotics/xr_teleoperate.
Was ist XR-Teleoperation?
Die VR-Brille erfasst Ihre Hand- und Armposen (über Hand-Tracking bzw. Controller) und die Kopforientierung. Eine IK-/Retargeting-Pipeline (u. a. Pinocchio für inverse Kinematik und dex-retargeting für die Finger) rechnet diese Posen in Gelenkziele des G1 und seiner Hände (Dex3-1 oder Inspire) um. Gleichzeitig sehen Sie durch die Stereokamera des Roboters – Sie agieren also „aus der Ich-Perspektive“ des G1.
Voraussetzungen
- Unitree G1 mit beweglichen Armen und (für Greifen) geschickten Händen (Dex3-1 oder Inspire).
- PICO-VR-Brille (empfohlen: PICO 4 Ultra) mit aktiviertem Hand-Tracking, im selben Netzwerk wie der Steuer-PC.
- Stereo-/Kopfkamera am G1 zur Bildübertragung.
- Entwicklungs-PC mit Ubuntu, Python (z. B. 3.10), idealerweise Conda.
- Funktionierende Netzwerkverbindung zum Roboter und installiertes Unitree SDK (unitree_sdk2 / Python).
Schritt 1: PICO-Brille vorbereiten
- Brille einrichten, mit demselben WLAN wie der Steuer-PC verbinden und das Hand-Tracking in den Einstellungen aktivieren.
- Bei Bedarf den Entwickler-/Streaming-Modus bzw. die vom Projekt vorgesehene XR-App oder WebXR-Seite vorbereiten (siehe README – die Anbindung erfolgt je nach Version per App oder Browser über eine HTTPS-Adresse des Steuer-PCs).
- Notieren Sie die IP-Adresse des Steuer-PCs – die Brille verbindet sich später dorthin.
Schritt 2: xr_teleoperate installieren
git clone https://github.com/unitreerobotics/xr_teleoperate.git
cd xr_teleoperate
# empfohlen: eigene Python-Umgebung
conda create -n tv python=3.10 -y && conda activate tv
# Projekt-Abhaengigkeiten (u.a. unitree_sdk2_python, pinocchio, dex-retargeting)
pip install -r requirements.txt
Folgen Sie zusätzlich den im README genannten Schritten für die Submodule und die Retargeting-Konfiguration der verwendeten Hand (Dex3-1 bzw. Inspire).
Schritt 3: Bild-Server auf dem G1 starten
Damit das Kamerabild in die Brille gelangt, läuft auf dem Roboter-Rechner ein Bild-Server. Per SSH auf dem G1 starten:
# auf dem Onboard-Rechner des G1
python image_server/image_server.py
Der Server überträgt das Stereobild der Kopfkamera an den Steuer-PC bzw. die Brille. Prüfen Sie, dass keine Firewall den Port blockiert.
Schritt 4: Teleoperation starten und Brille verbinden
Auf dem Steuer-PC die Teleoperation mit der passenden XR-Quelle (PICO) starten:
# Steuer-PC (Beispiel; Optionen je nach Version/Hand)
python teleop/teleop_hand_and_arm.py --xr-mode=pico
# typische Zusatzoptionen: --arm G1 --hand dex3 --record
Setzen Sie anschließend die Brille auf und öffnen Sie die vorgesehene XR-App/Seite, sodass die Verbindung zum Steuer-PC steht. Sie sollten nun das Kamerabild des G1 in der Brille sehen.
Schritt 5: Kalibrierung und Bedienung
- Das Programm wartet üblicherweise auf eine Start-Geste/Bestätigung, bevor die Roboterarme der Bewegung folgen – so vermeiden Sie ein ruckartiges Anfahren.
- Bewegen Sie Arme und Hände zunächst langsam und mit kleinem Bewegungsumfang, um das Mapping zu prüfen.
- Greifen erfolgt über die Fingerbewegung Ihrer Hand, die auf die Roboterhand übertragen wird.
- Beenden/Pausieren Sie die Steuerung über die im README beschriebene Geste bzw. Taste.
Bewegungsdaten aufzeichnen (optional)
Mit der Aufzeichnungsoption (z. B. --record) lassen sich Teleoperations-Episoden als Datensätze speichern – etwa zum Trainieren von Imitation-Learning-Policies. Achten Sie auf ausreichend Speicherplatz und eine konsistente Szene.
Sicherheit
- Der G1 ist ein aufrecht stehender, humanoider Roboter – sichern Sie ihn beim Üben gegen Umfallen (Gestell/Aufhängung) und sorgen Sie für freien Raum.
- Während des Tragens der Brille sind Sie selbst nicht sehend für Ihre reale Umgebung – eine zweite Person sollte als Aufsicht mit griffbereitem Not-Aus daneben stehen.
- Halten Sie ausreichend Abstand zwischen Personen und den bewegten Armen/Händen.
- Beginnen Sie immer mit reduzierter Geschwindigkeit und kleinen Bewegungen.
Weiterführend
Repository und verbindliche Anleitung: unitreerobotics/xr_teleoperate. Grundlagen zur Ansteuerung der Arme: G1: Armsteuerung. Einstieg ins SDK: G1 SDK – Entwickler-Einstieg. Bei Fragen zur Einrichtung unterstützt Sie die UxS GmbH als deutscher Distributor: Kontakt aufnehmen.
