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)

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.