HUD overlay
El HUD overlay es el heads-up display dibujado sobre el vídeo del drone.
Renderiza un cluster de instrumentos estilo piloto: indicador de actitud,
cintas de velocidad + altitud, compás de rumbo, batería, GPS, viento, radar
de obstáculos, ángulo de gimbal. Todo se alimenta del modelo compartido
HudData, que normaliza la telemetría de cualquier drone fuente (peer
TACLINK handheld, aeronave de DJI Cloud dock) en una única forma.
La lectura completa
| Elemento | Fuente | Campo(s) en HudData |
|---|---|---|
| Actitud (ADI) | FlightStatus | attitude.pitch, attitude.roll, headingDeg |
| Cinta de velocidad | FlightStatus | speedMps, horizontalSpeed |
| Cinta de altitud | FlightStatus | altitudeM |
| Tira de rumbo (HSI / compás) | FlightStatus | headingDeg |
| Badge de modo | FlightStatus | flightModeText (p. ej. GPS / MANUAL / RTH / ATTI) |
| Porcentaje de batería | AircraftStatus | batteryPct, lowBatteryWarning, seriouslyLowBatteryWarning |
| Voltaje / corriente de batería | AircraftStatus | aggVoltageMv, aggCurrentMa |
| Satélites GPS | AircraftStatus | satelliteCount |
| Calidad de señal | AircraftStatus | ocuSignalQuality, rcUplinkSignalLevel, videoDownlinkSignalLevel |
| Viento | AircraftStatus | windState.speed, .direction, .warningLevel |
| Radar de obstáculos (SVG) | AircraftStatus | perceptionObstacleData.horizontalObstacleDistance[], .upwardObstacleDistance, .downwardObstacleDistance |
| Pose del gimbal | AircraftStatus | gimbalState.pitch, .yaw, .roll |
| Batería RC | AircraftStatus | remoteController.battery.batteryPercent |
Cada campo es reactivo — el HUD se suscribe a la telemetría y se re-renderiza con cada nuevo frame (cadencia ~150 ms desde el drone).
Indicador de actitud
Una bola clásica de pitch y roll con:
- Líneas de cuadrícula de pitch cada 10°.
- Marcadores de roll en ángulos estándar (-30 / -15 / 0 / +15 / +30 / +45 / +60).
- División de horizonte (cielo / suelo) coloreada por el tema.
Los ángulos extremos (más allá de ±45° de pitch o ±60° de roll) parpadean en ámbar como advertencia — si tu drone está en esas actitudes sin querer, estás en problemas.
Cintas de velocidad + altitud
Cintas deslizantes verticales a la izquierda (velocidad) y derecha (altitud) de la bola de actitud:
- La cinta de velocidad muestra la velocidad sobre el suelo horizontal en m/s. Ticks mayores cada 5 m/s; ticks menores cada 1 m/s.
- La cinta de altitud muestra la altitud sobre el despegue en metros. Ticks mayores cada 10 m; ticks menores cada 1 m.
- El puntero central siempre apunta al valor actual.
Tira de rumbo
Una tira horizontal en la parte superior con letras cardinales (N, E, S, W) más ticks de grado cada 10°. Un triángulo índice centrado muestra el rumbo actual.
Badge de modo
Un pequeño badge de texto que muestra el string de modo de vuelo actual — valores comunes:
- GPS / POSITION — hold de posición con GPS.
- MANUAL / ATTI — sólo actitud (sin hold de posición).
- RTH / RETURNING — regresando a casa.
- LANDING — descendiendo para aterrizar.
- TAKEOFF — escalando para despegar.
- WAYPOINT — siguiendo una wayline pre-planificada.
Las aeronaves de DJI dock publican un conjunto mucho más rico de códigos de
modo — el HUD los normaliza a la lista anterior para mostrar. El modeCode
original todavía se preserva en el stream de telemetría para análisis de
flight-log.
Bloque de batería
- Número de porcentaje grande, codificado por color:
- ≥ 50 % → verde
- 25 - 49 % → amarillo
- 15 - 24 % → naranja
- < 15 % → rojo, pulsando.
- Voltaje (V) y corriente (A) debajo.
- Las flags
lowBatteryWarningyseriouslyLowBatteryWarningde la aeronave impulsan pulsación o parpadeo adicionales.
GPS + señal
- Satélites GPS — recuento con un indicador de tipo de fix (3D / RTK fixed / RTK float).
- Calidad de señal — compuesto de señal OCU, uplink RC, downlink de vídeo. Renderizado como barras de señal (0-5). Cualquier ruta individual por debajo de calidad “buena” parpadea en ámbar.
Viento
- Velocidad del viento (m/s) + flecha de dirección.
warningLevel(low / moderate / high) colorea el indicador de viento en ámbar o rojo — útil para saber cuándo cancelar un vuelo.
Radar de obstáculos (SVG)
Un pequeño anillo estilo radar alrededor del indicador de actitud. Los sectores se llenan cuando los sensores de proximidad detectan objetos:
| Distancia | Color |
|---|---|
| < 1 m | Rojo |
| < 2 m | Naranja |
| < 5 m | Amarillo |
| ≥ 5 m | Verde o ausente |
Ocho sectores horizontales más indicadores hacia arriba + hacia abajo te dan
conciencia esférica completa. Sólo los drones que publican
perceptionObstacleData lo rellenan — las aeronaves DJI Dock lo publican;
los handhelds a menudo no.
Pose del gimbal
Pequeña lectura del ángulo del gimbal en la esquina. Muestra pitch / yaw / roll del gimbal relativo al cuerpo del drone, más una mini-flecha indicadora.
Batería RC
Un pequeño indicador de batería para el remote controller (si está conectado). Se muestra separado de la batería de la aeronave — perder batería del RC puede forzar un RTH antes de que la aeronave propia esté baja.
Configuración
El HUD en sí no tiene panel de ajustes in-place. Los toggles para lecturas individuales + unidades + umbrales viven en el drone settings drawer → pestaña Settings.
Cuándo se atenúa el HUD
El HUD se auto-atenúa cuando:
- Se abre un diálogo modal u overlay sobre el vídeo.
- Arrastras una ventana PIP sobre una lectura.
- El tile se minimiza por debajo de una cierta altura — algunos elementos se colapsan para ahorrar espacio.
Abre cualquier diálogo para ver cómo el HUD se vuelve semi-transparente para que aún puedas leer los valores subyacentes.
Limitaciones conocidas
- Sin toggles de elemento por usuario — todas las lecturas se renderizan; no puedes ocultar el radar de obstáculos si tu drone no tiene uno (simplemente se queda vacío).
- Sin theming — los colores del HUD están fijados en el componente; no hay override de acento por usuario.