CONCEPTO Y DESARROLLODEPORTE NO TRIPULADO · #bezpiLOTa · KAIROS DRONE AGENTDocumentación
#bezpiLOTa→Primeros pasos→Mission Control
INICIO RÁPIDO / MISSION CONTROL

El escenario previsto empieza con un modo local de demostración: se exploran Dashboard, Plan, Configure, Flight Control y Simulate con datos sintéticos. El FC real se conecta solo tras publicar el componente y verificar contexto seguro, flujo serie y condiciones de seguridad.

PREVISTO

#bezpiLOTa Mission Control es un componente asociado del ecosistema, no una parte de KairOS Drone Agent; el repositorio ejecutable todavía no está publicado.

Repositorio de KairOS ↗
NODE 20+requisito de ejecución
4000puerto de desarrollo por defecto
07perfiles de demostración previstos
NO FCrequisito de demostración
01
REQUISITOS PREVIOS

Entorno de desarrollo y navegador

  • Node.js 20 o posterior.
  • npm 9 o posterior.
  • Git para clonar y actualizar el código fuente cuando se publique el repositorio.
  • Chrome, Edge o Firefox para la interfaz habitual; WebSerial/WebUSB requieren un navegador Chromium.
  • Cable USB con líneas de datos si se conecta posteriormente un FC real.
bashComprobación de herramientas
node --version
npm --version
git --version
02
OPCIÓN A

Entorno de demostración seguro sin FC

El modo de demostración se diseña para explorar la interfaz de forma segura sin conectar un vehículo real. Usa telemetría simulada y no presenta un banco de pruebas como sistema de vuelo operativo.

03
OPCIÓN B

Modo local de demostración

bashFlujo local de demostración previsto
# Отдельный репозиторий #bezpiLOTa Mission Control ещё не опубликован
# После выпуска ожидаемый поток будет таким:
npm install
NEXT_PUBLIC_DEMO_MODE=true npm run dev
Interfaz prevista de KairOS: el comando solo será ejecutable cuando se publique el componente correspondiente.

La interfaz prevista debe abrirse en http://localhost:4000. Con NEXT_PUBLIC_DEMO_MODE=true no se requieren base de datos externa, SITL ni hardware físico. Este bloque define el contrato de inicio y no afirma que el comando exista en el repositorio actual de KairOS Drone Agent.

04
EXPLORE LA INTERFAZ

Cinco superficies de trabajo principales

01

Panel

Actitud, GPS/altitud, batería, modo de vuelo, vía de conexión y alertas del sistema.

02

Planificación

Puntos de ruta, siete generadores, altitud/velocidad/disparo de cámara, geocercas, puntos de reunión y QGC WPL/KML/CSV.

03

Configuración

Failsafe, PID, alimentación, OSD, puertos, sensores, gimbal y paneles específicos del firmware.

04

Control de vuelo

Armado/desarmado, más de 25 modos ArduPilot, mando/HOTAS a 50 Hz, teclado y punto de ruta guiado.

05

Simulación

Trayectoria 3D de misión, seguimiento del terreno, marcadores de cámara, tiempos y perfil de altitud.

Cabina de vídeo #bezpilOta GCS: imagen de cámara, HUD, minimapa, batería, GPS, progreso de misión y comandos de vuelo.
INTERFAZ / EJEMPLO VISUALCabina de vídeo y comandos de vuelo

HUD, telemetría, minimapa y progreso de misión están junto a los comandos de control. El ejemplo ayuda a orientarse entre las interfaces de trabajo del operador.

05
CONECTAR UN FC REAL

Flujo WebSerial en localhost

bashInicio del servidor de desarrollo
npm run dev
Interfaz prevista de KairOS: el comando solo será ejecutable cuando se publique el componente correspondiente.
01

Abrir localhost

Abra http://localhost:4000 en un navegador Chromium.

02

Conectar el FC

Use un cable USB de datos, pulse Conectar y seleccione el puerto serie en el cuadro del navegador.

03

Apertura del puerto serie

El navegador obtiene permiso mediante una acción del usuario y abre el puerto.

04

Heartbeat

Mission Control espera el heartbeat del FC e identifica el piloto automático y el vehículo.

05

Capacidades

Solicita AUTOPILOT_VERSION y las capacidades del protocolo.

06

Flujos + parámetros

Solicita flujos de telemetría y descarga parámetros; la referencia de diseño para la negociación inicial es de 2–5 segundos.

06
SEGURIDAD DEL NAVEGADOR

WebSerial funciona solo en un contexto seguro

WebSerial, WebUSB y Web Bluetooth requieren HTTPS o la confianza especial de localhost. Por ello se permite http://localhost:4000, pero http://<lan-ip>:4000 desde otro dispositivo no obtiene estas API. El acceso al hardware desde otro dispositivo requiere HTTPS o una compilación de escritorio/Electron.

La conexión a Drone Agent mediante WebSocket y REST normales no utiliza el permiso WebSerial, pero siguen importando las reglas de contenido mixto: una página HTTPS puede bloquear un agente HTTP/WS sin cifrar. Para un modo completamente local con HTTP, el GCS y el agente deben estar disponibles en un contexto coherente.

07
ALOJAMIENTO PROPIO EN LAN

Servidor local y agente en la misma red

textDirecciones LAN
npm run dev

# GCS on this machine
http://localhost:4000

# GCS from another LAN client
http://<your-lan-ip>:4000

# Example KairOS Agent address
http://kairos.local:8080
http://192.168.1.50:8080
Interfaz prevista de KairOS: el comando solo será ejecutable cuando se publique el componente correspondiente.
08
SITL

Física y protocolo sin vehículo real

bashPuente SITL previsto, después de publicar el componente
cd KairOS_Drone-Agent/tools/sitl
npm install
npm start

ArduPilot SITL debe instalarse por separado; el binario suele estar en ~/.ardupilot/. El puente conecta la telemetría del simulador con el transporte del navegador. Es más seguro que un primer experimento de protocolo en un vehículo, pero aún exige verificar versiones, parámetros y comportamiento de misión.

Pantalla de simulación SOFTWARE SITL: mapa de ruta, paso por puntos, telemetría, vídeo y registro de eventos de misión.
INTERFAZ / EJEMPLO VISUALMisión en contexto SOFTWARE SITL

La pantalla de simulación muestra mapa, paso por puntos, telemetría y eventos de transición entre puntos. El registro aporta contexto para verificar el comportamiento de la misión.

09
APLICACIÓN DE ESCRITORIO

Electron para API de hardware y paquete independiente

bashScripts de escritorio de KairOS
npm run desktop:dev
npm run desktop:demo
npm run desktop:build:mac
npm run desktop:build
Interfaz prevista de KairOS: el comando solo será ejecutable cuando se publique el componente correspondiente.

Como referencia de planificación se prevén unos 200 MB en disco y 200–300 MB de RAM. Los requisitos reales dependen de la plataforma y versión de ejecución y se publicarán con la compilación de Mission Control.

10
ENTORNO

Variables de modo e infraestructura externa

VariableValor por defectoFinalidad
NEXT_PUBLIC_DEMO_MODEfalseSiete drones simulados en lugar de fuentes reales
PORT4000Puerto del servidor de desarrollo
NEXT_PUBLIC_CONVEX_URLningunoBackend Convex opcional
NEXT_PUBLIC_MQTT_URLningunoBroker MQTT opcional

El modo local/directo no necesita variables de nube. La ausencia de Convex o MQTT no debe bloquear USB directo, descubrimiento del agente local ni planificación de misiones sin conexión.

11
ESTRUCTURA DEL PROYECTO

Estructura prevista del GCS independiente

textEstructura prevista del repositorio
KairOS_Drone-Agent/
├── agent/                onboard runtime
├── api/                  local control surface
├── protocols/            MAVLink and MSP adapters
├── media/                video transports
├── extensions/           sandbox runtime and SDK
├── tools/sitl/           simulator bridge
├── deploy/systemd/       Linux services
├── docs/                 project documentation
└── tests/                contracts and hardware profiles