Esta página cubre la capa técnica de la aplicación: de qué paquetes depende y cómo habla con la NUC. La descripción de lo que el operador ve y toca está en Interfaz y controles.
Nivel de replicación
DescritoEstá el diseño explicado, con las dimensiones críticas y la razón de cada decisión. Sirve para rediseñar, no para copiar.
Lo que encuentras aquí
- Los 25 scripts de C# de la aplicación, completos
- Stack de paquetes con la versión del Meta XR SDK
- Contrato ZMQ completo: puertos, tópicos y esquema de comandos
- Parámetros de configuración por defecto de los componentes principales
Lo que falta para llegar a «Construible»
- El proyecto Unity: escenas, prefabs, jerarquía del canvas world-space y las referencias que enlazan cada script con su objeto — sin eso los scripts no forman una aplicación
- El APK compilado para Meta Quest 3
- Versiones de Unity y del resto de paquetes, más allá del Meta XR SDK
- El modelo 3D del ghost robot y sus límites articulares, que hoy viven en el prefab y no en el código
Este subsistema es el menos replicable de los tres, y conviene decirlo pronto: los scripts sueltos no reconstruyen la aplicación. Un script de Unity es un componente que se cuelga de un objeto de escena y recibe sus referencias desde el inspector. Sin las escenas y los prefabs, lo que hay aquí sirve para entender la lógica y el protocolo —que es mucho, y es suficiente para escribir un cliente propio— pero no para compilar esta app.
| Paquete | Función |
|---|---|
| Meta XR SDK (All-in-One) 83.0 | SDK principal, passthrough y controladores |
| AsyncZMQ (NetMQ) | Cliente ZeroMQ hacia la NUC |
| Unity XR Interaction Toolkit | Ray interaction y EventSystem VR/MR |
| TextMesh Pro | Toda la UI de texto |
| OVRInput | Lectura de joystick, botones y hápticos del controlador |
Endpoints ZMQ consumidos por Unity
Sección titulada «Endpoints ZMQ consumidos por Unity»| Puerto | Tipo | Dirección | Tópicos / contenido |
|---|---|---|---|
| 5555 | PUB/SUB | NUC → Unity | video_rgb — JPEG 640×480 |
| 5001 | PUB/SUB | NUC → Unity | stat, mode_ack, lidar_grid, manip_state, gripper_state |
| 5002 | PUB/SUB | Unity → NUC | cmd — comandos JSON |
| 5007 | PUB/SUB | NUC → Unity | walls_snapshot, walls_delta, lidar_points_snapshot, lidar_points_frame |
Los comandos que salen por el puerto 5002 se envían varias veces
seguidas, con unos milisegundos de separación. Es una defensa contra el
slow joiner de ZMQ: un suscriptor que acaba de conectarse pierde los
primeros mensajes que se publican, porque el enlace todavía no está
establecido. Repetir el comando hace que al menos una copia llegue.
Configuración por defecto
Sección titulada «Configuración por defecto»Estos valores están en los propios componentes y son los que toma la aplicación si nadie los cambia desde el inspector de Unity.
| Parámetro | Valor | Unidad | Notas |
|---|---|---|---|
| IP de respaldo de la NUC | 192.168.100.20 | — | Se usa si no hay ninguna guardada en PlayerPrefs |
| Modo de cámara al arrancar | normal | — | Se solicita a la NUC en el arranque |
| Frecuencia de envío de tracción | 15 | Hz | |
| Zona muerta del joystick | 0,18 | — | La NUC aplica otra distinta al recibir |
| Ganancia de giro | 1,0 | — | |
| Consigna máxima | 255 | crudo | |
| Ejes intercambiados | sí | — | swapAxes activo por defecto |
| Tolerancia de comparación de pose | 0,25 | ° | Por debajo, no se reenvía el comando |
| Recorrido del gripper | 0 – 80 | mm |
La IP de respaldo está incrustada en el componente, así que en otra red hay que cambiarla desde el inspector o introducirla con el teclado virtual la primera vez.
Scripts
Sección titulada «Scripts»Los 25 scripts de C# de la aplicación están empaquetados juntos. Cubren la recepción de cada canal ZMQ, la gestión de la IP de la NUC, los modos de control y el feedback de la interfaz.
Artefacto
Unity scripts (C#)Qué contiene Unity scripts (C#)
ZmqVideoReceiver, ZmqLidarGridView, ZmqLidarPointsReceiver, ZmqWallsReceiver, ZmqGripperStateReceiver, ZmqSensorReceiver, ZmqLidar3DCommandSender, NucIpManager, NucIpPanelController, ControlModeState, QuestMobileDriveTeleop, ManipulatorUIController, RobotStatusPanel, UiInteractionFeedback y otros — 25 scripts, carpeta completa de assets/downloads/Unity scripts/ del proyecto original.