Meta Quest 3 VR Teleop
Verwandeln Sie ein Meta Quest 3-Headset in einen Echtzeit-Roboterarm-Controller – kein Führungsarm erforderlich. Hand-Tracking-Pose-Streams über UDP an Python und dann an jeden unterstützten Arm. Latenz unter 120 ms bei Wi-Fi 6.
Headset → UDP → Roboterarm
Das System basiert auf einer unidirektionalen UDP-Brücke. Die Unity-App auf dem Quest 3 liest Hand-Tracking-Daten und sendet binäre Pose-Pakete über WLAN. Ein Python-Server auf dem Steuerungs-PC empfängt diese Pakete und leitet Befehle über sein natives SDK an den Roboter weiter. Kein ROS, keine Middleware – nur Sockets.
VRHandPoseSender.cs
XR Hands-Subsystem
Binärpaket · 45 Bytes
~50 Hz
Sicherheitsvalidator
Begrenzte Warteschlange
Arbeitsplatzspannung
Nothalt
Bewegung in Echtzeit
Die wichtigste architektonische Erkenntnis: Nur das Robotersteuerungsmodul ändert sich zwischen den Armmodellen. Die Quest 3 Unity-App, das UDP-Protokoll und die Python-Serverinfrastruktur sind alle Arm-agnostisch. Der Wechsel von einem Arm zum anderen erfordert das Ersetzen von etwa 80 Python-Zeilen.
Ihre Setup-Reise
Befolgen Sie diese Schritte, um von einem einfachen Quest 3 zu Ihrer ersten Live-Teleoperationssitzung zu gelangen. Dauert auf einem bekannten System etwa 1–2 Stunden.
Netzwerk & Voraussetzungen
Verbinden Sie Quest 3 und den Steuer-PC mit demselben LAN. Überprüfen Sie, ob die UDP-Ports 8888/8889 geöffnet sind
Unity-App-Konfiguration
Legen Sie im Inspektor die Ziel-PC-IP, positionOffset, rotationOffset und scaleFactor fest
Python-Server und Abhängigkeiten
Piper_sdk installieren, CAN-Schnittstelle aktivieren, teleoperation_main.py ausführen
Komplettlösung für piper_controller.py
Machen Sie sich mit connect, set_pose, set_gripper und Emergency_stop vertraut, bevor Sie live gehen
Sicherheitsvalidierung und erste Sitzung
Führen Sie einen Probelauf mit 25 % Geschwindigkeit durch, überprüfen Sie die Grenzen des Arbeitsbereichs und führen Sie eine Live-Teleoperation durch
Kompatible Roboterarme
Das modulare Controller-Muster bedeutet, dass pro Arm nur eine Python-Datei geändert wird. Alle Arme nutzen die gleiche Quest 3 Unity-App und das gleiche UDP-Protokoll.
AgileX Piper
6-DOF-Arm · CAN-Bus über USB-Adapter · Piper_sdk Python-Bibliothek
Die Verordnung: piper_controller.py
ProduktionsbereitOpenArm
7-DOF-Arm · SocketCAN / ROS 2 MoveIt2 · Community Open Source
Die Verordnung: openarm_controller.py
BetaDK1 Bimanual-Kit
Duale 6-DOF-Arme · nutzt Port 8888 (rechts) und 8889 (links) gleichzeitig
Die Verordnung: dk1_controller.py
BetaVLAI L1
Duale humanoide 6-DOF-Arme · ROS 2-Brücke über TCP/IP
Die Verordnung: vlai_l1_controller.py
In der EntwicklungUm einen neuen Arm hinzuzufügen, implementieren Sie eine Controller-Klasse mit fünf Methoden: connect, disconnect, set_pose, set_gripper, emergency_stop – und tauschen Sie den Import in teleoperation_main.py aus. Siehe die Anleitung zur Adapterschnittstelle.
System im Überblick
Leitfäden und Referenzen
Von SVRC kuratierte Inhalte, die den gesamten Teleoperations-Stack von Quest 3 abdecken.
Gemeinschaft
Haben Sie eine Frage zur Quest 3-Teleoperation oder möchten Sie Ihr Setup teilen?
Fragen Sie das Forum → Discord #vr-teleop →