Funciones de los Drones en el Sistema de Simulación

Responder
Avatar de Usuario
luis-fernandez
Moderador
Moderador
Mensajes: 1770
Registrado: Octubre 25, 2005, 09:04
Answers: 2

Funciones de los Drones en el Sistema de Simulación

Mensaje por luis-fernandez »

Se gestiona un simulador de drones (UAV) conectado vía Telnet.
Controla el vuelo automático, procesando rumbos, velocidades y altitudes.
Genera mensajes de red tipo VEKTOR y planes de vuelo, integrándose con radares mediante protocolos ATC.


Descripción General
En este sistema, los drones operan como unidades de vuelo virtuales (UAV) que funcionan de manera autónoma o semiautónoma dentro de una infraestructura de red específica. Su propósito es emular el comportamiento de aeronaves reales, gestionando su navegación y comunicándose de forma constante con un servidor central.

Principales Funciones y Capacidades
  • Comunicación y Transmisión de Datos:
    Los drones utilizan el protocolo Telnet para mantener una conexión activa con el servidor.
    • Planes de Vuelo: Al iniciar, transmiten un mensaje $FP con los detalles de su ruta, incluyendo origen, destino, velocidad de crucero y equipo.
    • Actualizaciones VEKTOR: Generan y envían periódicamente mensajes tipo VEKTOR que contienen su latitud, longitud, altitud (MSL/AGL), rumbo, velocidad y actitud (pitch/bank).
    • Datos para Radar: Envían información específica para sistemas de control de tráfico aéreo (ATC), como el código Squawk, la velocidad respecto al suelo y el estado de tren de aterrizaje.
  • Navegación y Cálculos Cinemáticos:
    El sistema permite realizar cálculos complejos para asegurar un movimiento realista:
    • Predicción de Posición: El software puede calcular la posición geográfica futura del drone tras 15 minutos de vuelo basándose en su rumbo y velocidad actual.
    • Gestión de Altitud: Los drones ejecutan cambios de nivel calculando la velocidad vertical necesaria para alcanzar una altitud objetivo de forma suave.
    • Maniobras Especiales: Son capaces de ejecutar esperas (Holds), procedimientos específicos (Procs) y realizar giros de 360 grados hacia ambos flancos.
  • Procesamiento de Comandos Externos:
    Las unidades reaccionan dinámicamente a las instrucciones recibidas desde el radar o un instructor:
    • Ajustes de Vuelo: Responden a comandos para modificar su velocidad (DRONESPEED), altitud (DRONEALTITUDE) o rumbo (DRONEHEADING).
    • Control de Transpondedor: Pueden recibir y asignar códigos de transpondedor enviados por el control de tráfico.
    • Terminación de Sesión: Si se recibe el comando KILL, el sistema cierra la instancia del drone de manera segura.
  • Gestión de Estados de Simulación:
    Cada drone rastrea internamente su ciclo de vida mediante tres estados:
    • dsUndefined: Estado inicial de configuración.
    • dsRaw: El drone existe pero aún no ha transmitido su plan de vuelo al servidor.
    • dsAlive: La unidad está plenamente activa y operativa en la simulación.
AHS8553 Luis Fernández LEVD
Coordinador de Escenarios
Staff AirHispania
Avatar de Usuario
luis-fernandez
Moderador
Moderador
Mensajes: 1770
Registrado: Octubre 25, 2005, 09:04
Answers: 2

Re: Funciones de los Drones en el Sistema de Simulación

Mensaje por luis-fernandez »

Especificación Técnica: Mensaje VEKTOR

Estructura General de la Cadena
El mensaje VEKTOR es una cadena de caracteres con campos delimitados por asteriscos (*), que sigue el siguiente esquema técnico:

Código: Seleccionar todo

#TMcallSign:*:*VEKTOR*ver*ICAO*lat*lon*AltMode*altAGL*altMSL*heading*pitch*bank*vx*vy*vz*rvx*rvy*rvz*status*gear
Se envía al servidor cada segundo, y éste lo reenvía a todos los interlocutores de la red (pilotos y ATCs).
Sólo es aprovechable por los pilotos, cuyos simuladores se encargan de visualizar los tráficos mediante las LRPs.

Desglose de Campos de Telemetría
  • Identificación y Protocolo:
    • #TM: Prefijo que identifica un mensaje de telemetría.
    • callSign: Identificador de la aeronave (ej. AHS3023).
    • *VEKTOR*: Literal que define el protocolo de datos utilizado.
    • ver / ICAO: Versión del protocolo y código ICAO del modelo de aeronave.
  • Datos Geográficos y Altitud:
    • lat / lon: Latitud y longitud en formato decimal con hasta 6 decimales (ej. 0.######).
    • AltMode: Modo de altitud, generalmente MSL (nivel medio del mar) o AGL (sobre el terreno).
    • altAGL / altMSL: Valores de altitud expresados en pies.
  • Cinemática y Actitud:
    • heading: Rumbo de la aeronave transmitido obligatoriamente en radianes.
    • pitch / bank: Inclinación longitudinal y lateral.
    • vz (Groundspeed): Velocidad de desplazamiento calculada en pies por segundo (fps).
  • Estado de la Aeronave:
    • status: Indica si la unidad está en el aire o en tierra (Airborne u OnGround).
    • gear: Estado del tren de aterrizaje, enviado como valor numérico.
Reglas de Formateo y Conversión
  • Separador Decimal: El sistema reemplaza automáticamente todas las comas por puntos (.) antes de realizar el envío al servidor para garantizar la compatibilidad.
  • Conversión de Rumbo: Para el mensaje VEKTOR, los grados se convierten a radianes mediante la fórmula: (Grados * 2 * PI) / 360.
  • Conversión de Velocidad: La velocidad se transforma de nudos a pies por segundo utilizando la constante KNOTS_TO_FEET_PER_SECOND.
Mensaje para Radar (@N)
Adicionalmente, el sistema genera un mensaje simplificado para el radar que comienza con @N. Este incluye el Squawk asignado por el ATC y un rumbo codificado bit a bit que integra el estado OnGround.
AHS8553 Luis Fernández LEVD
Coordinador de Escenarios
Staff AirHispania
Avatar de Usuario
luis-fernandez
Moderador
Moderador
Mensajes: 1770
Registrado: Octubre 25, 2005, 09:04
Answers: 2

Re: Funciones de los Drones en el Sistema de Simulación

Mensaje por luis-fernandez »

En el sistema de simulación, el cálculo del rumbo suavizado (conocido en el código como `SmoothedHeading`) tiene como objetivo evitar cambios bruscos de dirección, permitiendo que el drone realice giros de manera progresiva y realista.

A continuación se detalla el proceso técnico basado en las fuentes:

Mecánica de Cálculo del Rumbo Suavizado

1. Función Principal de Suavizado
Para un vuelo convencional hacia un punto de destino, el sistema utiliza una función específica llamada `SmoothHeading`. Esta función toma tres parámetros:
  • Rumbo Actual: Se obtiene del vector anterior y se convierte de radianes a grados (

    Código: Seleccionar todo

    P1.Heading * RAD_TO_DEG
    ).
  • Rumbo Objetivo: El rumbo necesario para llegar al destino (

    Código: Seleccionar todo

    VectorToDestination.HeadingDegrees
    ).
  • Factor de Suavizado: Un valor constante definido en 0.1 que determina la velocidad de la transición.
2. Casos Especiales: Giros de 360 Grados
Cuando se activan comandos de giro completo (360R o 360L), la lógica varía para forzar la rotación continua:
  • Giro a la derecha (360R): El rumbo se incrementa sumando una constante llamada `DELTA_HEADING` al rumbo actual.
  • Giro a la izquierda (360L): Se resta el `DELTA_HEADING` al rumbo actual.
  • En estos casos, el `SmoothedHeading` se iguala directamente al resultado de este cálculo sin pasar por la función de suavizado estándar.
3. Regulación de Trayectoria (Pseudo-PID)
Si el sistema se encuentra en una fase específica de gestión de procedimientos (paso 8), se aplica un ajuste adicional para corregir desviaciones de la trayectoria:
  • Se calcula la diferencia absoluta entre el rumbo al punto de referencia (HeadingToARP) y el rumbo final deseado (VectorFinal.Heading).
  • Esta diferencia se divide por 10 y se suma o resta al `SmoothedHeading` para refinar la precisión del giro.
4. Normalización Final
Una vez obtenido el valor final, el sistema realiza dos pasos críticos antes de transmitirlo:
  • Corrección de Rango: Si el valor resultante es superior a 360, se le restan 360 para mantenerlo en el círculo de navegación estándar.
  • Conversión a Radianes: Para ser enviado en el mensaje VEKTOR al servidor, el rumbo suavizado se convierte nuevamente a radianes multiplicándolo por la constante `DEG_TO_RAD`.
AHS8553 Luis Fernández LEVD
Coordinador de Escenarios
Staff AirHispania
Responder