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.
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.
VRHandPoseSender.cs
Sous-système XR Hands
Paquet binaire · 45 octets
~50 Hz
Validateur de sécurité
File d'attente délimitée
Serrage de l'espace de travail
Arrêt d'urgence
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.
Votre parcours d'installation
Suivez ces étapes pour passer d'un Quest 3 nu à votre première session de téléopération en direct. Prend environ 1 à 2 heures sur un système familier.
Réseau et prérequis
Mettez Quest 3 et le PC de contrôle sur le même réseau local ; vérifiez que les ports UDP 8888/8889 sont ouverts
Configuration de l'application Unity
Définissez l'adresse IP du PC cible, positionOffset, rotationOffset et scaleFactor dans l'inspecteur.
Serveur Python et dépendances
Installez piper_sdk, activez l'interface CAN, exécutez teleoperation_main.py
piper_controller.py Procédure pas à pas
Comprendre connect, set_pose, set_gripper et Emergency_stop avant de passer en ligne
Validation de sécurité et première session
Exécution à sec à une vitesse de 25 %, vérification des limites de l'espace de travail, exécution de la téléopération en direct
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 productionBras ouvert
Bras 7-DOF · SocketCAN / ROS 2 MoveIt2 · communauté open-source
Contrôleuse: openarm_controller.py
BêtaKit bimanuel DK1
Bras doubles 6-DOF · utilise simultanément les ports 8888 (à droite) et 8889 (à gauche)
Contrôleuse: dk1_controller.py
BêtaVLAI L1
Bras humanoïdes doubles 6-DOF · Pont ROS 2 sur TCP/IP
Contrôleuse: vlai_l1_controller.py
En développementPour 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
Guides et références
Contenu organisé par SVRC couvrant la pile complète de téléopération Quest 3.
Communauté
Vous avez une question sur la téléopération Quest 3 ou souhaitez partager votre configuration ?
Demandez au forum → Discord #vr-teleop →