CONCEPTO Y DESARROLLODEPORTE NO TRIPULADO · #bezpiLOTa · KAIROS DRONE AGENTDocumentación
#bezpiLOTa→Primeros pasos→Cómo funciona
PRIMEROS PASOS / ARQUITECTURA

El controlador de vuelo ejecuta el lazo de vuelo de tiempo real estricto. El SBC auxiliar gestiona vídeo, enrutamiento, API y comunicaciones externas. Mission Control elige USB directo, una vía LAN o retransmisión remota sin mezclar sus responsabilidades.

CONCEPTO

El flujo de extremo a extremo se describe como arquitectura prevista; latencia y frecuencias siguen siendo referencias de diseño hasta que KairOS las mida.

Repositorio de KairOS ↗
03modos de conexión
1 Hzheartbeat del ordenador auxiliar
2 Hztelemetría prevista en la nube
MAVLINKprotocolo principal
01
VISIÓN GENERAL

Dos ordenadores a bordo, responsabilidades distintas

El controlador de vuelo controla motores, estabilización, GPS y sensores. El ordenador auxiliar —Raspberry Pi, Radxa, Jetson u otro SBC Linux— ejecuta KairOS Drone Agent y no sustituye al FC: añade vídeo, retransmisión de telemetría, conexión en la nube, radio, API REST y extensiones.

En tierra, Mission Control funciona en el navegador. Puede acceder al FC directamente mediante WebSerial, a Drone Agent por LAN o a un retransmisor remoto mediante MQTT/Convex y señalización WebRTC. Ground Agent se añade en escenarios WFB-ng y convierte la recepción de radio en un entorno web local comprensible.

02
FLUJO DE DATOS

Ciclo completo de telemetría, comandos y vídeo

01

FC → Agente

MAVLink UART suele funcionar entre 115200 y 921600 baudios; el agente espera el heartbeat e identifica el firmware.

02

Agente → consumidores locales

El enrutador distribuye MAVLink sin procesar al socket IPC, WebSocket, servicio en la nube y estado de salud.

03

Agente → nube

El sistema previsto publica telemetría a unos 2 Hz y estado mediante vías HTTP/MQTT.

04

Cámara → navegador

La captura V4L2 pasa por codificación H.264, MediaMTX/RTSP y el transporte WHEP, WebRTC o WFB-ng elegido.

05

GCS → FC

Los comandos de armado, modo, misión y otros regresan por la misma vía seleccionada; el FC aplica las reglas previas al armado.

06

ACK → interfaz

La confirmación del comando y los nuevos heartbeat y estados regresan, tras lo cual la interfaz actualiza el estado.

03
TRES MODOS DE CONEXIÓN

USB directo, red local y P2P remoto

ModoTransporteCuándo usarloReferencia prevista
USB directoWebSerial → FC; sin necesidad de agenteBanco, configuración, calibración y firmwareObjetivo de diseño <10 ms
LAN directaREST :8080, MAVLink WS :8765, WHEP :8889Interiores, corto alcance, desarrollo y LAN de campoObjetivo: vídeo 50–150 ms; telemetría <100 ms
P2P remoto4G/Internet, señalización SDP por MQTT, WebRTC y ConvexObservación remota y segunda víaObjetivo: vídeo 100–300 ms; telemetría 2–5 Hz

El transporte automático debe buscar primero una vía LAN durante unos cuatro segundos y después pasar a señalización P2P con una ventana aproximada de catorce segundos. Son intervalos de diseño: dependen de la red y no constituyen un SLA de KairOS.

05
LA CADENA DE VÍDEO

De captura V4L2 a reproducción H.264 nativa

01

Captura

USB UVC o MIPI CSI se abre mediante V4L2; se verifican el formato y la resolución disponibles antes de iniciar.

02

Codificación

ffmpeg usa H.264 de perfil alto, nivel 4.1, yuv420p y opciones de baja latencia; se selecciona codificador por hardware cuando está disponible.

03

Publicación

El flujo codificado se publica en MediaMTX/RTSP y sirve como fuente para los transportes posteriores.

04

LAN

WHEP ofrece WebRTC directamente al navegador local.

05

Remoto

MQTT transporta la señalización SDP; después los medios viajan por WebRTC P2P o por retransmisor si es necesario.

06

Radio

wfb_tx envía H.264 mediante WFB-ng; Ground Agent lo recibe y vuelve a publicarlo localmente.

Las opciones nobuffer, low_delay y un tamaño de sondeo pequeño reducen la cola, pero la latencia real depende de captura, codificador, tasa de bits, FEC, radio, red y decodificación del navegador. KairOS publicará mediciones por perfiles concretos, no una cifra universal.

Cabina de vídeo con flujo H.264: rumbo, velocidad, altitud, GPS, batería, minimapa, indicador de grabación y comandos de vuelo.
INTERFAZ / EJEMPLO VISUALFlujo de vídeo en la interfaz del operador

La imagen de cámara se completa con HUD, minimapa, modo de vuelo e indicador de grabación. La pantalla identifica expresamente el formato H.264.

06
RETRANSMISIÓN EN LA NUBE

MQTT para tiempo real, Convex para estado y cola de comandos

El agente KairOS previsto publica telemetría en MQTT a unos 2 Hz. El puente MQTT-to-Convex agrega el estado con una espera de estabilización de unos tres segundos por dispositivo, mientras el navegador recibe consultas reactivas. Los comandos se escriben en Convex, el sondeo del agente recoge el elemento pendiente, lo convierte a MAVLink y devuelve el ACK.

textVías remotas de datos
Telemetry: FC → Agent → MQTT → bridge → Convex → Mission Control
Commands: Mission Control → Convex queue → Agent poll → MAVLink → FC
Video: Camera → Agent → MQTT SDP → P2P WebRTC → Browser
07
ROL DE GROUND AGENT

El nodo de campo convierte la recepción de radio en interfaces locales

ClienteVía
PortátilPunto de acceso Wi-Fi, Ethernet o conexión compartida USB CDC-NCM
Teléfono / tabletaNavegador en la misma red local o línea Android de KairOS
Monitor de campoHDMI + quiosco Chromium
Mission ControlPerfil de estación terrestre con fuentes de vídeo y telemetría

El literal del perfil es ground-station. Comparte base de código con Drone Agent, pero activa otros servicios: recepción en lugar de codificación a bordo; punto de acceso, conexión compartida y quiosco en lugar de incorporación centrada en FC.

08
ESTADO DE MISSION CONTROL

Los almacenes separan vehículo, telemetría, misión y transporte

AlmacénResponsabilidad
drone-managerNodos, vías de conexión y vehículo activo
telemetry-storeEstado en directo y búfer circular de 300 muestras
mission-storePuntos de ruta, patrones, validación y estado de carga
video-storeFuentes, transporte, reproducción y errores
settings-storePersistencia IndexedDB y migraciones
ground-station-storeReceptores, vía de retransmisión, fuentes y E/S de campo
Resumen de flota de seis agentes: tarjetas con vídeo, telemetría y recursos, con filtros conectado, obsoleto y desconectado.
INTERFAZ / EJEMPLO VISUALEstado de cada nodo en el resumen de flota

Cada agente tiene vídeo, telemetría e indicadores de recursos propios. Los filtros y estados muestran por qué deben distinguirse disponibilidad del nodo y actualidad de sus datos.

09
QUÉ OCURRE AL ARMAR

Armar es una cadena confirmada, no un interruptor local

01

Intención del operador

Mission Control llama a protocol.arm() después de una confirmación explícita.

02

Protocolo

Se crea MAV_CMD_COMPONENT_ARM_DISARM, comando #400.

03

Transporte

La trama llega al agente por WebSocket/LAN o por Convex/nube.

04

Serie

El agente transmite el comando al FC y no se atribuye el arbitraje de las comprobaciones previas al armado.

05

Validación del FC

El firmware comprueba sensores, GPS, batería, interruptor de seguridad, EKF y failsafes configurados.

06

Confirmación de estado

El bit 7 de HEARTBEAT base_mode y el ACK regresan por IPC/MQTT; la interfaz muestra ARMED solo después de confirmarse.