Ir al contenido

Subsistema · SUB-SERVIDOR

Servidor / percepción

Percepción, coordinación y puente ZMQ entre el operador y la electrónica embebida.

Validado
DisciplinasSoftware · Percepción · Comunicaciones
EntradasComandos JSON desde Meta Quest (puerto 5002) · Datos de RPLiDAR C1 (COM3) y RealSense D435i (USB3)
SalidasVideo, telemetría y datos de LiDAR (puertos 5555 / 5001 / 5007) · Comandos serie a los controladores embebidos (COM4 / COM5)

Pese al nombre, este subsistema no corre en ningún servidor externo. La NUC (Intel NUC i7) viaja a bordo del robot y hace de nodo central de percepción, procesamiento y coordinación.

Sobre ella corre un backend en Python 3.12 con ZeroMQ, sin ROS. Esa ausencia de ROS fue una decisión deliberada, registrada en ADR-0001.

  • Adquirir los datos de los sensores: RealSense D435i y RPLiDAR C1.
  • Procesar solo lo que el modo activo requiere —visión YOLOv8, grid de LiDAR o pipeline de paredes—, de modo que los modos inactivos no consuman CPU ni red.
  • Publicar video, sensores y datos binarios por ZeroMQ.
  • Recibir los comandos que envía Unity: modos, movimiento, manipulador y gripper.
  • Hacer de puente serie hacia el Puente H maestro (COM4) y hacia el gripper (COM5).

Todo lo que entra y sale de la NUC. Los sensores y los controladores cuelgan de puertos físicos; el operador, de los cuatro canales ZeroMQ.

5555 · video JPEG

5001 · JSON de estado

5007 · paredes y puntos

5002 · comandos JSON

serie

serie

estado

estado

RPLiDAR C1 · COM3

RealSense D435i · USB 3

Percepción · grid, paredes, YOLO

Coordinación · modos y watchdogs

Meta Quest 3 · operador

Puente H maestro · COM4

Controlador del gripper · COM5

La NUC no reenvía comandos tal cual: los traduce. Un drive_cmd con velocidades v/w del modelo uniciclo se convierte en consignas por motor antes de salir por COM4, y un manip_cmd en grados se convierte en la trama ASCII POSE que entiende el controlador del manipulador.

  • Middleware ZMQ — puertos, tópicos, comandos y puentes serie.
  • Percepción — pipeline de la RealSense y del RPLiDAR.
  • Verificación — frecuencias medidas por canal y pruebas pendientes.

Es el subsistema más replicable del proyecto: todo su comportamiento vive en un archivo de código que sí está publicado.

Nivel de replicación por parte
ParteNivelQué lo limita
Middleware ZMQReproducibleFaltan versiones fijadas de las dependencias
PercepciónReproducibleLos pesos de YOLO se descargan aparte, en el primer arranque

El hardware sí impone condiciones que el código no puede resolver: hacen falta una RealSense D435i con el SDK de Intel instalado y un RPLiDAR C1. Sin ellos el proceso arranca, porque los imports son tolerantes a fallo, pero se queda sin percepción.

FuncionalidadEstado
Streaming ZMQ (video + LiDAR + estado)Verificado
Control de base móvil y manipuladorImplementado
Telemetría de manipulador y gripperImplementado
Modos inmersivos (paredes, puntos LiDAR)Implementado
Watchdog ZMQ con paro seguro completoParcial