Mit dem Noitom PN Studio lässt sich der Unitree G1 per Ganzkörper-Motion-Capture in Echtzeit fernsteuern: Eine Person trägt den Inertial-Anzug, Axis Studio berechnet daraus ein Skelett, und dieses wird auf die 29 Gelenke des G1 übertragen (Beine, Hüfte/Taille, Arme, Handgelenke). So bewegt sich der Roboter 1:1 wie der Operator. Beide Systeme erhalten Sie bei der UxS GmbH – wir unterstützen bei Einrichtung und Integration.
Hinweis: Befehle, Pfade und Parameter sind illustrativ und versionsabhängig – maßgeblich sind die mitgelieferte SDK-Anleitung, die Noitom MocapApi sowie das Unitree-SDK.
Funktionsweise / Datenfluss
- PN Studio erfasst die Körperbewegung über die IMU-Sensoren.
- Axis Studio (Noitom-Software) berechnet daraus ein Skelett und sendet es als BVH-Datenstrom (UDP-Broadcast).
- Auf dem Steuerrechner empfängt das Python-SDK den Stream über die MocapApi und rechnet das Skelett per Retargeting auf die Gelenkwinkel des G1 um (Konfiguration
robots/unitree_g1_retarget.json). - Die Gelenkbefehle werden über unitree_sdk2py (DDS) an den G1 gesendet.
Voraussetzungen
- Noitom PN Studio, korrekt angelegt und in Axis Studio kalibriert.
- Axis Studio auf einem (Windows-)Rechner.
- Steuerrechner mit Linux (Ubuntu, Python 3.7+) – kann ein separater PC oder der Onboard-Rechner des G1 sein.
- Das Mocap-SDK (
mocap_sdk_python4linux) inkl. passender MocapApi-Bibliothek (lib/librobotapi_x86-64.sobzw.…_arm64.so). - unitree_sdk2py für die Roboteransteuerung und eine funktionierende Netzwerkverbindung zum G1 (siehe auch SDK-Einstieg).
- Alle Geräte im selben Netzwerk.
Schritt 1: PN Studio kalibrieren
Legen Sie den Anzug an, verbinden Sie ihn mit Axis Studio und führen Sie die Kalibrierung (Pose-Kalibrierung) durch, bis das Skelett der Person sauber folgt.
Schritt 2: BVH-Broadcast in Axis Studio konfigurieren
Unter Settings → BVH Data Broadcast aktivieren und wie folgt einstellen:
- Frame Format: Binary
- Skeleton: Axis Studio
- Rotation: YXZ (muss mit dem Skript übereinstimmen)
- Displacement: aktiviert (Positionsdaten)
- Protocol: UDP
- Target address: IP des Steuerrechners : 7012
Schritt 3: Steuerrechner vorbereiten
# SDK auf den Linux-Rechner kopieren
scp -r mocap_sdk_python4linux/ user@192.168.x.x:~/
# passende Bibliothek pruefen (x86_64 -> ...x86-64.so, aarch64 -> ...arm64.so)
uname -m
# Roboter-SDK installieren
pip install unitree_sdk2py
# Firewall: UDP-Port 7012 freigeben
sudo ufw allow 7012/udp
Schritt 4: Datenempfang testen (ohne Roboter)
Zuerst nur den Datenempfang prüfen – der Roboter wird dabei nicht bewegt:
cd ~/mocap_sdk_python4linux
python3 mocap_receiver.py --mode udp --port 7012 --display simple
# alternativ gefuehrt: ./start.sh
Erscheinen laufende Frames mit Avatar und Gelenkzahl (z. B. „Joints: 59″), ist die Mocap-Strecke bereit. Bei Problemen: Broadcast aktiv? Ziel-IP/Port korrekt? Rotation YXZ? Firewall offen?
Schritt 5: Retargeting auf den G1 starten
Jetzt das Skelett auf die G1-Gelenke übertragen. Vor dem ersten Start die Sicherheitshinweise unten lesen und den Roboter sichern.
# UDP-Modus (Axis Studio sendet an Port 7012)
python3 mocap_to_g1.py --mode udp --port 7012
# Direktverbindung zum PN-Link-Geraet (ohne Axis-Studio-PC)
python3 mocap_to_g1.py --mode direct --local-ip 10.42.0.101 --server-ip 10.42.0.202
Das Skript lädt die Retargeting-Konfiguration (robots/unitree_g1_retarget.json) und bildet das Mocap-Skelett auf die 29 G1-Gelenke ab (Hüfte, Knie, Sprunggelenke, Taille, Schultern, Ellbogen, Handgelenke). Die Übergabe an den Roboter erfolgt über unitree_sdk2py; achten Sie darauf, dass die richtige Netzwerk-Schnittstelle zum G1 verwendet wird.
Sicherheit (unbedingt beachten)
Warnung: Das direkte Bespielen aller Gelenke – insbesondere der Beine – kann einen frei stehenden Humanoiden zum Sturz bringen, da die Eigenbalance umgangen wird. Beginnen Sie ausschließlich mit gesichertem Roboter.
- Roboter beim Einrichten an einem Gestell/Gurt aufhängen, Füße frei.
- Zunächst nur den Oberkörper (Arme/Taille) teleoperieren; die Lokomotion/Balance über den eigenen Regler des G1 laufen lassen.
- Großzügigen Freiraum schaffen, keine Personen im Aktionsradius.
- Eine zweite Person mit griffbereitem Not-Aus.
- Mit kleinen, langsamen Bewegungen beginnen und schrittweise steigern.
Weiterführend
Alternative ohne Anzug: G1 per XR/VR teleoperieren. Grundlagen: G1-Armsteuerung, Unitree SDK-Einstieg. Mocap-API: pnmocap/MocapApi. Bei Fragen zur Einrichtung unterstützt Sie die UxS GmbH: Kontakt aufnehmen.
