Meta Quest 3 Teleop VR
Transforme um headset Meta Quest 3 em um controlador de braço robótico em tempo real — sem braço líder necessário. Fluxos de pose de rastreamento de mão via UDP para Python, depois para qualquer braço suportado. Latência abaixo de 120 ms em Wi-Fi 6.
Headset → UDP → Braço Robótico
O sistema é construído em torno de uma ponte UDP unidirecional. O aplicativo Unity no Quest 3 lê dados de rastreamento de mão e transmite pacotes de pose binários via Wi-Fi. Um servidor Python no PC de controle recebe esses pacotes e encaminha comandos para o robô através de seu SDK nativo. Sem ROS, sem middleware — apenas sockets.
VRHandPoseSender.cs
Subsistema XR Hands
Pacote binário · 45 bytes
~50 Hz
Validador de segurança
Fila limitada
Fixação do espaço de trabalho
Parada de emergência
Movimento em tempo real
A principal percepção arquitetônica: apenas o módulo do controlador de robô muda entre os modelos de braço. O aplicativo Quest 3 Unity, o protocolo UDP e a infraestrutura do servidor Python são todos agnósticos em relação ao braço. Trocar de um braço para outro requer substituir cerca de 80 linhas de Python.
Sua Jornada de Configuração
Siga estas etapas para passar de um Quest 3 vazio para sua primeira sessão de teleoperação ao vivo. Leva cerca de 1 a 2 horas em um sistema familiar.
Rede e Pré-requisitos
Coloque o Quest 3 e o PC de controle na mesma LAN; verifique se as portas UDP 8888/8889 estão abertas
Configuração do Aplicativo Unity
Defina o IP do PC de destino, positionOffset, rotationOffset e scaleFactor no Inspetor
Servidor Python e Dependências
Instale piper_sdk, ativo uma interface CAN, execute teleoperação_main.py
Tutorial do piper_controller.py
Entenda connect, set_pose, set_gripper e emergency_stop antes de ir ao vivo
Validação de segurança e primeira sessão
Execução a seco a 25% de velocidade, verifique os limites do espaço de trabalho, execute teleoperação ao vivo
Braços de robô compatíveis
O padrão de controlador modular significa que apenas um arquivo Python muda por braço. Todos os braços compartilham o mesmo aplicativo Unity Quest 3 e protocolo UDP.
AgileX Piper
Braço de 6-DOF · barramento CAN via adaptador USB · biblioteca Python piper_sdk
Controlador: piper_controller.py
Pronto para produçãoOpenArm
Braço de 7-DOF · SocketCAN / ROS 2 MoveIt2 · código aberto da comunidade
Controlador: openarm_controller.py
BetaKit Bimanual DK1
Braços duplos de 6-DOF · usa a porta 8888 (direita) e 8889 (esquerda) simultaneamente
Controlador: dk1_controller.py
BetaVLAI L1
Braços humanoides dual de 6-DOF · ponte ROS 2 sobre TCP/IP
Controlador: vlai_l1_controller.py
Em desenvolvimentoPara adicionar um novo braço, implemente uma classe de controlador com cinco métodos — connect, disconnect, set_pose, set_gripper, emergency_stop — e troque a importação em teleoperation_main.py. Veja o guia da interface do adaptador.
Sistema em um relance
Guias e referências
Conteúdo curado pelo SVRC cobrindo toda a pilha de teleoperação do Quest 3.
Comunidade
Tem uma pergunta sobre teleoperação do Quest 3 ou quer compartilhar sua configuração?
Pergunte no Fórum → Discord #vr-teleop →