Meta Quest 3 Teleoperación VR

Convierte un auricular Meta Quest 3 en un controlador de brazo robótico en tiempo real — no se requiere brazo líder. Transmisiones de pose de seguimiento de manos a través de UDP a Python, luego a cualquier brazo compatible. Latencia inferior a 120 ms en Wi-Fi 6.

<120ms
Latencia de extremo a extremo
50 Hz
Tasa de paquetes UDP
Sin ROS
Requerido
3+
Brazos compatibles

Auricular → UDP → Brazo robótico

El sistema está construido alrededor de un puente UDP unidireccional. La aplicación de Unity en el Quest 3 lee datos de seguimiento de manos y transmite paquetes de pose binarios a través de Wi-Fi. Un servidor Python en la PC de control recibe esos paquetes y reenvía comandos al robot a través de su SDK nativo. Sin ROS, sin middleware — solo sockets.

Meta Quest 3 Seguimiento de manos en Unity
VRHandPoseSender.cs
Subsistema de manos XR
UDP Wi-Fi Puerto 8888 / 8889
Paquete binario · 45 bytes
~50 Hz
Servidor de Python Receptor de hilo UDP
Validador de seguridad
Cola limitada
Controlador de robot SDK específico para el brazo
Sujeción del espacio de trabajo
Parada de emergencia
Brazo robótico Efector final de 6-DOF
Movimiento en tiempo real

La clave arquitectónica: solo el módulo del controlador de robot cambia entre modelos de brazo. La aplicación Quest 3 de Unity, el protocolo UDP y la infraestructura del servidor de Python son todos agnósticos al brazo. Cambiar de un brazo a otro requiere reemplazar aproximadamente 80 líneas de Python.

Brazos robóticos compatibles

El patrón de controlador modular significa que solo un archivo de Python cambia por brazo. Todos los brazos comparten la misma aplicación de Unity Quest 3 y protocolo UDP.

AgileX Piper

Brazo de 6 grados de libertad · Bus CAN a través de adaptador USB · biblioteca Python piper_sdk

Controlador: piper_controller.py

Listo para producción

OpenArm

Brazo de 7 grados de libertad · SocketCAN / ROS 2 MoveIt2 · código abierto de la comunidad

Controlador: openarm_controller.py

Beta

Kit Bimanual DK1

Brazos duales de 6 grados de libertad · utiliza el puerto 8888 (derecho) y 8889 (izquierdo) simultáneamente

Controlador: dk1_controller.py

Beta

VLAI L1

Brazos humanoides duales de 6 grados de libertad · puente ROS 2 sobre TCP/IP

Controlador: vlai_l1_controller.py

En desarrollo

Para agregar un nuevo brazo, implementa una clase de controlador con cinco métodos — connect, disconnect, set_pose, set_gripper, emergency_stop — y cambia la importación en teleoperation_main.py. Ver la guía de interfaz de adaptador.

Sistema a simple vista

Auriculares Meta Quest 3 (modo de seguimiento de manos)
Transporte UDP sobre Wi-Fi (puertos 8888 / 8889)
Tasa de paquetes ~50 Hz desde Unity; robot controlado a 30 Hz
Tamaño de paquete 45 bytes (binario de longitud fija, little-endian)
Latencia de extremo a extremo 50–120 ms en LAN Wi-Fi 6
Tiempo de ejecución del host Python 3.10+ (sin ROS requerido)
Versión de Unity 2022.3 LTS+ con paquete XR Hands
Brazo de referencia principal AgileX Piper (bus CAN vía USB)
Especificaciones completas y protocolo →

Comunidad

¿Tienes una pregunta sobre la teleoperación del Quest 3 o quieres compartir tu configuración?

Pregunta en el foro → Discord #vr-teleop →

¿Listo para teleoperar?

Obtén los scripts de Unity, el servidor de Python y piper_controller.py — todo lo que necesitas para ejecutar tu primera sesión de teleoperación VR.