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.

<120ms
Latência de Ponta a Ponta
50 Hz
Taxa de Pacotes UDP
Sem ROS
Necessário
3+
Braços Compatíveis

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.

Meta Quest 3 Rastreamento de mão Unity
VRHandPoseSender.cs
Subsistema XR Hands
UDP Wi-Fi Porta 8888/8889
Pacote binário · 45 bytes
~50 Hz
Servidor Python Receptor de fio UDP
Validador de segurança
Fila limitada
Controlador de robô SDK específico para braço
Fixação do espaço de trabalho
Parada de emergência
Braço robótico Efetor final com 6 graus de liberdade
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.

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ção

OpenArm

Braço de 7-DOF · SocketCAN / ROS 2 MoveIt2 · código aberto da comunidade

Controlador: openarm_controller.py

Beta

Kit Bimanual DK1

Braços duplos de 6-DOF · usa a porta 8888 (direita) e 8889 (esquerda) simultaneamente

Controlador: dk1_controller.py

Beta

VLAI L1

Braços humanoides dual de 6-DOF · ponte ROS 2 sobre TCP/IP

Controlador: vlai_l1_controller.py

Em desenvolvimento

Para 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

Headset Meta Quest 3 (modo de rastreamento de mãos)
Transporte UDP sobre Wi-Fi (portas 8888/8889)
Taxa de pacotes ~50 Hz do Unity; robô comandado a 30 Hz
Tamanho do pacote 45 bytes (binário de comprimento fixo, little-endian)
Latência de ponta a ponta 50–120 ms em LAN Wi-Fi
Tempo de execução do host Python 3.10+ (sem ROS necessário)
Versão do Unity 2022.3 LTS+ com pacote XR Hands
Braço de referência primário AgileX Piper (barramento CAN via USB)
Especificações completas e protocolo →

Comunidade

Tem uma pergunta sobre teleoperação do Quest 3 ou quer compartilhar sua configuração?

Pergunte no Fórum → Discord #vr-teleop →

Pronto para Teleop?

Obtenha os scripts do Unity, servidor Python e piper_controller.py — tudo que você precisa para executar sua primeira sessão de teleoperação VR.