Unitree G1: XR-Teleoperation mit PICO-VR-Brille

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

  1. Brille einrichten, mit demselben WLAN wie der Steuer-PC verbinden und das Hand-Tracking in den Einstellungen aktivieren.
  2. 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).
  3. 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.