Meta Quest 3 VR Teleop

Transformez un casque Meta Quest 3 en un contrôleur de bras robotique en temps réel – aucun bras leader n'est requis. Le suivi manuel des flux de pose via UDP vers Python, puis vers n'importe quel bras pris en charge. Latence inférieure à 120 ms sur Wi-Fi 6.

<120 ms
Latence de bout en bout
50 Hz
Débit des paquets UDP
Pas de ROS
Requis
3+
Bras compatibles

Casque → UDP → Bras robot

Le système est construit autour d'un pont UDP unidirectionnel. L'application Unity sur le Quest 3 lit les données de suivi manuel et diffuse des paquets de pose binaires via Wi-Fi. Un serveur Python sur le PC de contrôle reçoit ces paquets et transmet les commandes au robot via son SDK natif. Pas de ROS, pas de middleware – juste des sockets.

Méta Quête 3 Suivi manuel Unity
VRHandPoseSender.cs
Sous-système XR Hands
Wi-Fi-UDP Port 8888/8889
Paquet binaire · 45 octets
~50 Hz
Serveur Python Fil de réception UDP
Validateur de sécurité
File d'attente délimitée
Contrôleur de robot SDK spécifique au bras
Serrage de l'espace de travail
Arrêt d'urgence
Bras robotique Effecteur terminal 6-DOF
Mouvement en temps réel

L'idée architecturale clé : seul le module de commande du robot change d'un modèle de bras à l'autre. L'application Quest 3 Unity, le protocole UDP et l'infrastructure du serveur Python sont tous indépendants du bras. Le passage d'un bras à un autre nécessite le remplacement d'environ 80 lignes de Python.

Soutiens-gorge robots compatibles

Le modèle de contrôleur modulaire signifie qu’un seul fichier Python change par bras. Toutes les armes partagent la même application Quest 3 Unity et le même protocole UDP.

Piper AgileX

Bras 6-DOF · Bus CAN via adaptateur USB · Bibliothèque Python piper_sdk

Contrôleuse: piper_controller.py

Prêt pour la production

Bras ouvert

Bras 7-DOF · SocketCAN / ROS 2 MoveIt2 · communauté open-source

Contrôleuse: openarm_controller.py

Bêta

Kit bimanuel DK1

Bras doubles 6-DOF · utilise simultanément les ports 8888 (à droite) et 8889 (à gauche)

Contrôleuse: dk1_controller.py

Bêta

VLAI L1

Bras humanoïdes doubles 6-DOF · Pont ROS 2 sur TCP/IP

Contrôleuse: vlai_l1_controller.py

En développement

Pour ajouter un nouveau bras, implémentez une classe de contrôleur avec cinq méthodes : connect, disconnect, set_pose, set_gripper, emergency_stop - et échangez l'importation dans teleoperation_main.py. Voir le guide d'interface de l'adaptateur.

Système en un coup d'œil

Casque Meta Quest 3 (mode de suivi manuel)
Transport UDP sur Wi-Fi (ports 8888/8889)
Tarif des paquets ~ 50 Hz depuis Unity ; robot commandé à 30 Hz
Taille du paquet 45 octets (binaire de longueur fixe, petit-boutiste)
Latence de bout en bout 50 à 120 ms sur réseau local Wi-Fi 6
Exécution de l'hôte Python 3.10+ (aucun ROS requis)
Version Unitaire 2022.3 LTS+ avec pack XR Mains
Bras de référence primaire AgileX Piper (bus CAN via USB)
Spécifications complètes et protocole →

Communauté

Vous avez une question sur la téléopération Quest 3 ou souhaitez partager votre configuration ?

Demandez au forum → Discord #vr-teleop →

Prêt à téléopérer ?

Obtenez les scripts Unity, le serveur Python et piper_controller.py : tout ce dont vous avez besoin pour exécuter votre première session de téléopération VR.