Grafcet de Gestión Drone

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

Grafcet de Gestión Drone

Mensaje por luis-fernandez »

Explicación del Sistema de Gestión de Vuelo (Grafcet)

Este sistema implementa un Grafcet (control secuencial) para gestionar las maniobras de una aeronave o dron, controlando desde el cálculo de descenso hasta patrones de espera y maniobras de motor y al aire.

1. Cálculo del Descenso a la Pista (CalculoDescensoRwy)

La función principal determina el régimen de descenso necesario para aterrizar con precisión:
  • Delta de Altitud: Se calcula restando la elevación del vector final a la altitud actual de la aeronave (P1.MSL).
  • Tiempo al ARP: Se obtiene dividiendo la distancia al punto de referencia del aeródromo (ARP) entre la velocidad vertical convertida a nudos.
  • Resultado: El sistema devuelve el valor en pies por minuto (feet/min) dividiendo la altitud pendiente por el tiempo estimado.
2. Gestión de Estados y Transiciones

El flujo de navegación se gestiona mediante etapas (steps) y transiciones (tran) que disparan los cambios de estado:
  • Etapa Inicial (Step 1): Realiza un reset de las variables, poniendo el contador de puntos a cero y desactivando el modo HOLD.
  • Navegación (Steps 2-4): Convierte coordenadas para el siguiente punto de destino y avanza el contador una vez alcanzado el objetivo.
  • Maniobras Finales (Steps 7-8): Calcula el rumbo al ARP y activa los comandos de descenso final hacia la elevación de la pista.
3. Tabla de Acciones por Etapa

Código: Seleccionar todo

+-------+-------------------+-------------------------------------------------------+
| Etapa | Acción Principal  | Descripción Técnica                                   |
+-------+-------------------+-------------------------------------------------------+
| 5     | Generate Holding  | Crea un patrón de espera circular o de hipódromo.     |
| 8     | Descenso Final    | Envía comando de altitud y régimen calculado (fpm).   |
| 11    | Go-Around (GAVFR) | Inicia maniobra de motor y al aire.                  |
| 12    | Mantener Vuelo    | Fija altitud de seguridad (Elevación + 1000 pies).    |
+-------+-------------------+-------------------------------------------------------+
(Información extraída de las secciones)

4. Lógica de Transición Crítica

El sistema utiliza condiciones específicas para decidir cuándo saltar entre etapas:
  • Transición 11: Se activa cuando la diferencia entre el rumbo actual y el rumbo al ARP es menor a un umbral calculado según la Ground Speed.
  • Transición 17: Detecta la demanda de maniobra frustrada (DmdDroneGAVFR), forzando el paso a la etapa de ascenso.
  • Transición 21: Verifica si se ha alcanzado el punto y si existe una demanda de Touch-and-Go.
Nota de implementación escribió: El código también prevé el cierre de la aplicación (Step 9) una vez que la maniobra de aterrizaje se completa o el punto final es alcanzado con éxito.
Adjuntos
EaseUS_2026_02_ 2_10_50_07.jpg
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: Grafcet de Gestión Drone

Mensaje por luis-fernandez »

Análisis Profundo

El sistema se basa en una arquitectura de máquina de estados secuencial (Grafcet) que permite desacoplar la lógica de decisión de la ejecución de comandos. A continuación, se detallan los procesos matemáticos y lógicos que gobiernan la aeronave.

1. Algoritmo de Descenso Predictivo

La función CalculoDescensoRwy es el núcleo del aterrizaje guiado. A diferencia de un descenso fijo, éste es dinámico:
  • Cálculo de Pendiente: Se determina la DeltaAltitud (MSL actual - Elevación de pista).
  • Estimación de Tiempo (ETA): Utiliza la distancia náutica al ARP y la velocidad vertical convertida a nudos (P1.Vz * FEET_PER_SECOND_TO_KNOTS) para obtener el tiempo restante en minutos.
  • Regulación VNAV: El resultado es una tasa de pies por minuto (fpm) que asegura que la aeronave alcance la elevación de la pista exactamente al llegar a las coordenadas del ARP.
2. Lógica de Alineación Dinámica (Transición 11)

Uno de los puntos más interesantes es la ventana de captura de rumbo. El sistema no salta a la etapa de descenso (Step 8) hasta que se cumple una condición de proximidad angular basada en la velocidad:

Código: Seleccionar todo

ABS(VectorFinal.Heading - HeadingToARP) < Round(GroundSpeedFtPerSec * FEET_PER_SECOND_TO_KNOTS / 20)
¿Por qué es importante? Al dividir la velocidad de tierra por 20, el sistema ensancha el margen de error permitido para girar. Esto evita que el dron "sobrevuele" el eje de pista (overshoot) cuando vuela a altas velocidades, permitiendo una transición más suave entre la navegación de crucero y el vector final.

3. Maniobras de Seguridad y Contingencia

El sistema está diseñado para reaccionar a comandos críticos de seguridad:
  • Go-Around (Step 11 & 12): Si se dispara DmdDroneGAVFR, el sistema aborta el aterrizaje. La etapa 12 fuerza una altitud de seguridad definida como Elevación + 1000 pies con un régimen de ascenso de 500 fpm.
  • Touch-and-Go (Step 13): Si la bandera DmdDroneTGVFR está activa, al alcanzar el punto de pista no se cierra la aplicación, sino que se reinicia el flujo hacia la etapa de vuelo seguro (Step 12).
  • Holding Pattern (Step 5): Cuando se agotan los puntos de navegación, el sistema genera automáticamente un patrón de espera basado en el último rumbo y velocidad vertical conocidos, reseteando el contador de puntos para entrar en un bucle infinito de espera.
4. Matriz de Estados (Resumen Técnico)

Código: Seleccionar todo

+------+-----------------------+------------------------------------------------+
| Step | Función               | Acción Crítica                                |
+------+-----------------------+------------------------------------------------+
| 1    | Reset                 | Inicializa n=0 y desactiva HOLD.               |
| 2    | Target Nav            | Ejecuta ConvertirCoordenadas para punto 'n'.   |
| 7    | Vector Final          | Calcula HeadingToARP en grados.                |
| 8    | Final Glide           | Envía sDmdDroneAltitudeValue (Altitud|FPM).     |
| 12   | Safety Flight         | Mantiene Heading y Altitud +1000ft.            |
+------+-----------------------+------------------------------------------------+
Fuente: Procedimiento Grafcet_Proc_Management.

5. Integración con la Interfaz (UI)

El código actualiza constantemente la telemetría para el operador:
  • El Panel 2 muestra la etapa actual del Grafcet para depuración.
  • El Label_Punto indica el progreso del plan de vuelo (ej: "Punto 3/10").
  • Los logs registran eventos críticos como la generación del patrón de espera o el valor calculado de descenso.
Observación Técnica escribió: El uso de FormatFloat con myFormatSettings asegura que los comandos enviados al dron (cadenas de texto como "Altitud|Descenso") mantengan la precisión decimal requerida por el hardware de control.
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: Grafcet de Gestión Drone

Mensaje por luis-fernandez »

Vídeo explicativo:
.
Imagen
AHS8553 Luis Fernández LEVD
Coordinador de Escenarios
Staff AirHispania
Responder