CONCEITO E DESENVOLVIMENTODESPORTO NÃO TRIPULADO · #bezpiLOTa · KAIROS DRONE AGENTDocumentação
#bezpiLOTa→Primeiros passos→Como funciona
PRIMEIROS PASSOS / ARQUITETURA

O controlador de voo executa o ciclo de voo de tempo real estrito. O SBC auxiliar gere vídeo, encaminhamento, API e comunicações externas. Mission Control escolhe USB direto, caminho LAN ou retransmissão remota sem misturar responsabilidades.

CONCEITO

O fluxo de ponta a ponta é descrito como arquitetura prevista; latência e frequências são referências de projeto até às medições KairOS.

Repositório KairOS ↗
03modos de ligação
1 Hzheartbeat do auxiliar
2 Hztelemetria prevista na nuvem
MAVLINKprotocolo principal
01
VISÃO GLOBAL

Dois computadores a bordo, responsabilidades diferentes

O controlador de voo gere motores, estabilização, GPS e sensores. O computador auxiliar — Raspberry Pi, Radxa, Jetson ou outro SBC Linux — executa KairOS Drone Agent e não substitui o FC: acrescenta vídeo, retransmissão de telemetria, conectividade na nuvem, rádio, API REST e extensões.

Em terra, Mission Control funciona no navegador. Pode aceder ao FC diretamente por WebSerial, ao Drone Agent por LAN ou a um retransmissor remoto por MQTT/Convex e sinalização WebRTC. Ground Agent é adicionado no cenário WFB-ng e transforma a receção de rádio num ambiente web local compreensível.

02
FLUXO DE DADOS

Ciclo completo de telemetria, comandos e vídeo

01

FC → Agente

MAVLink UART funciona habitualmente entre 115200 e 921600 baud; o agente espera pelo heartbeat e identifica o firmware.

02

Agente → consumidores locais

O encaminhador distribui MAVLink em bruto ao socket IPC, WebSocket, serviço na nuvem e estado de saúde.

03

Agente → nuvem

O sistema previsto publica telemetria a cerca de 2 Hz e estado através de caminhos HTTP/MQTT.

04

Câmara → navegador

A captura V4L2 passa por codificação H.264, MediaMTX/RTSP e transporte WHEP, WebRTC ou WFB-ng escolhido.

05

GCS → FC

Armamento, modo, missão e outros comandos regressam pelo mesmo caminho selecionado; o FC aplica as regras de pré-armamento.

06

ACK → interface

A confirmação do comando e novos heartbeat/estados regressam, após o que a interface atualiza o estado.

03
TRÊS MODOS DE LIGAÇÃO

USB direto, rede local e P2P remoto

ModoTransporteQuando utilizarReferência prevista
USB diretoWebSerial → FC, sem necessidade de agenteBancada, configuração, calibração e firmwareObjetivo de projeto <10 ms
LAN diretaREST :8080, MAVLink WS :8765, WHEP :8889Interiores, curto alcance, desenvolvimento e LAN de campoObjetivo: vídeo 50–150 ms; telemetria <100 ms
P2P remoto4G/Internet, sinalização SDP por MQTT, WebRTC e ConvexObservação remota e segunda viaObjetivo: vídeo 100–300 ms; telemetria 2–5 Hz

O transporte automático deverá procurar primeiro um caminho LAN durante cerca de quatro segundos e depois passar à sinalização P2P numa janela de cerca de catorze segundos. São intervalos de projeto: dependem da rede e não constituem um SLA KairOS.

05
A CADEIA DE VÍDEO

Da captura V4L2 à reprodução H.264 nativa

01

Captura

USB UVC ou MIPI CSI é aberto por V4L2; formato e resolução disponíveis são verificados antes do início.

02

Codificação

ffmpeg usa H.264 high profile, nível 4.1, yuv420p e opções de baixa latência; seleciona codificador por hardware quando disponível.

03

Publicação

O fluxo codificado é publicado em MediaMTX/RTSP e torna-se fonte dos transportes seguintes.

04

LAN

WHEP fornece WebRTC diretamente ao navegador local.

05

Remoto

MQTT transporta sinalização SDP; depois os dados multimédia seguem por WebRTC P2P ou por retransmissor quando necessário.

06

Rádio

wfb_tx envia H.264 por WFB-ng; Ground Agent recebe e republica localmente.

As opções nobuffer, low_delay e pequeno tamanho de sondagem reduzem a fila, mas a latência real depende de captura, codificador, débito, FEC, rádio, rede e descodificação no navegador. KairOS publicará medições por perfis concretos, não um número universal.

Cabina de vídeo com fluxo H.264: rumo, velocidade, altitude, GPS, bateria, minimapa, indicador de gravação e comandos de voo.
INTERFACE / EXEMPLO VISUALVídeo na interface do operador

A imagem da câmara é complementada por HUD, minimapa, modo de voo e indicador de gravação. O formato H.264 é identificado separadamente no ecrã.

06
RETRANSMISSÃO NA NUVEM

MQTT para tempo real, Convex para estado e fila de comandos

O agente KairOS previsto publica telemetria em MQTT a cerca de 2 Hz. A ponte MQTT-to-Convex agrega o estado com espera de estabilização de cerca de três segundos por dispositivo e o navegador recebe consultas reativas. Os comandos são escritos em Convex, o agente recolhe o item pendente por sondagem, converte-o em MAVLink e devolve ACK.

textCaminhos remotos de dados
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
PAPEL DO GROUND AGENT

O nó de campo converte receção de rádio em interfaces locais

ClienteVia
PortátilPonto de acesso Wi-Fi, Ethernet ou partilha USB CDC-NCM
Telefone / tabletNavegador na mesma rede local ou linha Android KairOS
Monitor de campoHDMI + quiosque Chromium
Mission ControlPerfil de estação terrestre com fontes de vídeo e telemetria

O literal do perfil é ground-station. Partilha a base de código com Drone Agent, mas ativa outros serviços: receção em vez de codificação a bordo, ponto de acesso/partilha/quiosque em vez de integração centrada no FC.

08
ESTADO DE MISSION CONTROL

Os repositórios de estado separam veículo, telemetria, missão e transporte

Repositório de estadoResponsabilidade
drone-managerNós, caminhos de ligação e veículo ativo
telemetry-storeEstado em direto e buffer circular de 300 amostras
mission-storePontos de rota, padrões, validação e estado de carregamento
video-storeFontes, transporte, reprodução e erros
settings-storePersistência IndexedDB e migrações
ground-station-storeRecetores, caminho de retransmissão, fontes e E/S de campo
Visão geral de uma frota de seis agentes: cartões com vídeo, telemetria e recursos, além de filtros online, stale e offline.
INTERFACE / EXEMPLO VISUALEstados individuais dos nós na visão geral da frota

Cada agente possui vídeo, telemetria e métricas de recursos próprios. Os filtros e estados ilustram a necessidade de distinguir disponibilidade do nó e atualidade dos dados.

09
O QUE ACONTECE AO ARMAR

Armar é uma cadeia confirmada, não uma mudança local

01

Intenção do operador

Mission Control chama protocol.arm() após confirmação explícita.

02

Protocolo

É criado MAV_CMD_COMPONENT_ARM_DISARM, comando #400.

03

Transporte

A trama segue por WebSocket/LAN ou Convex/nuvem até ao agente.

04

Série

O agente transmite o comando ao FC e não se apresenta como árbitro das verificações de pré-armamento.

05

Validação do FC

O firmware verifica sensores, GPS, bateria, interruptor de segurança, EKF e failsafes configurados.

06

Confirmação do estado

O bit 7 de HEARTBEAT base_mode e ACK regressam por IPC/MQTT; a interface mostra ARMED apenas após confirmação.