Professional Documents
Culture Documents
Matlab: SACTA
SACTA
Índice
– Introducción
Computadores y Programación
1
Introducción
Objetivo
– Desarrollo de un programa de control de tráfico aéreo usando MATLAB.
Computadores y Programación
Entorno
– Se proporciona un entorno de simulación SACTA:
Simulador de Aprendizaje de Control de Tráfico Aéreo.
– Es un simulador muy básico.
Consta de un monitor de radar para Windows.
Funciones de alto nivel para utilizarlo en Matlab.
Escenarios simulados
Conexión a radar secundario
– NO es el objetivo del trabajo aprender Control de Tráfico Aéreo.
CYP
SACTA
Índice
– Introducción
Computadores y Programación
2
Control de Tráfico Aéreo
Objetivo
– Asegurar el tráfico comercial y aéreo.
Computadores y Programación
División
– Todas este control se realiza por zonas.
CYP
3
Control de Tráfico Aéreo
4
Control de Tráfico Aéreo
Plan de vuelo.
– Antes de iniciar un vuelo el piloto
Computadores y Programación
de zona.
Esta ficha es constantemente
actualizada con la información en
tiempo real del vuelo.
5
Control de Tráfico Aéreo
Curiosidades I…
– Whirlwind (1951). Primer ordenador para aplicaciones en tiempo real con una
Computadores y Programación
interfaz gráfica.
SAGE: Precursor de los Sistemas de control de tráfico aéreo
CYP
11
Curiosidades II…
– SAGE 1955: Evolución de la terminal gráfica.
Computadores y Programación
CYP
12
6
SACTA
Índice
– Introducción
Computadores y Programación
13
Coordenadas geográficas
14
7
Coordenadas geográficas
Notación utilizada:
– Hay varias notaciones para representar las coordenadas; nosotros vamos a utilizar
Computadores y Programación
Latitud +
Palma de Mallorca
(-3,41 40,24) (2,39 39,35)
Longitud - Longitud +
O:Oeste E:Este
Latitud `-
CYP
SACTA
Índice
– Introducción
Computadores y Programación
16
8
Descripción de SACTA
SACTA
– Consta de tres módulos principales.
Computadores y Programación
Descripción de SACTA
Matlab
SACTA
Computadores y Programación
SACTAmon
RADAR
TCP/IP
Librería RADAR Librería SACTA
Para Matlab Tu programa Para Matlab
SACTAlib
CYP
18
9
Descripción de SACTA
Matlab
SACTA
Computadores y Programación
SACTAmon
RADAR
TCP/IP
Librería RADAR Librería SACTA
Para Matlab Tu programa Para Matlab
SACTAlib
ESCENARIO
CYP
Escenario simulado
19
Descripción de SACTA
Monitor SACTA
– Presenta la información del tráfico aéreo.
Computadores y Programación
– Información estática
Malla: latitud y longitudes de
referencia.
Mapa : mapa vectorial de la
zona.
Rutas : rutas de vuelo
– Información dinámica
Posición del haz (ángulo)
Tiempo.
Objetos. Presenta la siguiente
información:
Nombre, destino
Longitud, Latitud
Altitud (ft), Velocidad (NM/h).
– Se puede presentar o ocultar esta
CYP
información.
– Ventana con la información de los aviones
20
10
Descripción de SACTA
Definición de escenarios.
– Los escenarios simulados se definen por medio de un array de estructuras,
t0
donde cada elemento i define un objeto:
Computadores y Programación
e(i).Nombre = 'A380';
e(i).Destino = 'BCN';
e(i).Trayecto = [-0.042, 38, 5000, 0 ;
-0.08, 40.13, 6000, 1200;
0.059, 42.46, 4000, 3000];
t1
– El nombre y destino son simplemente descriptivos, y lo más interesante es
la definición de trayecto:
El trayecto es una matriz en la que cada fila se define.
Longitud, Latitud, Altura (pies), tiempo.
Cada fila está definiendo un punto para un tiempo t.
Por lo tanto dos puntos i y i+1 están definiendo una
trayectoria entre los tiempos ti y ti+1.
La velocidad vendrá dada por la distancias entre los
puntos partido (ti+1-ti)
Si altura vale -1 indica que el avión no ha despegado (o
se ha estrellado).
– La forma de generar escenario (ver ejemplo escenario1.m)
Se crea un script y se crea la estructura e(i).
CYP
21
SACTA
Índice
– Introducción
Computadores y Programación
22
11
Manual de las librerías SACTA
Librerías
– Se ha desarrollado un conjunto de funciones para manejar los distintos
Computadores y Programación
módulos.
– Todas las funciones tienen ayuda (help Nombre_funcion)
– Todas las funciones tienen un prefijo indicando el nombre de la librería.
P.ej SACTA_PonCoord, RADAR_Leer.
– SACTA
Hay funciones para Iniciar el monitor, poner coordenadas,
mapa, rutas, etc.
Actualizar los objetos.
– RADAR
Obtiene información del RADAR
– ESCENARIO
CYP
23
SACTA I
– SACTA_Iniciar
Computadores y Programación
24
12
Manual de las librerías SACTA
SACTA II
– SACTA_PonMalla
Computadores y Programación
Ejemplo de uso
LonGrid = [-2.0 -1.0 0 1.0 2.0];
LatGrid = [37.0 38.0 39.0 40.0 41.0];
SACTA_PonMalla(LonGrid, LatGrid);
CYP
25
-1.007966 37.584858
26
13
Manual de las librerías SACTA
SACTA IV
– SACTA_PonRutas
Computadores y Programación
27
1 - peligro colisión;
2 - fuera de ruta)
28
14
Manual de las librerías SACTA
ESCENARIO
– ESCENARIO_Cargar
Computadores y Programación
29
ESCENARIO (II)
– ESCENARIO_Distancia
Computadores y Programación
30
15
Manual de las librerías SACTA
RADAR
– RADAR_Leer
Computadores y Programación
31
SACTA
Índice
– Introducción
Computadores y Programación
32
16
Ejercicios
Ejercicios
– Los ejercicios están pensados para tres sesiones de laboratorio.
Computadores y Programación
33
Ejercicios
Sesión 1: Configuración de SACTA y creación del bucle de lectura y actualización.
– Primero bajarse el software de la microweb.
Computadores y Programación
Fin
– Tercero: para probar el programa hay que tener arrancado el monitor. Desde el administrador de
archivos lanzar la aplicación SACTAmon.bat
34
17
Ejercicios
Sesión 1
– Datos
Computadores y Programación
SACTA_PonMapa
Escenario e1, tMax = 2000s.
Cada escenario tiene un tiempo de simulación.
35
Ejercicios
Sesión 2: Identificación de los objetos
– Todos los ejercicios de esta sesión se basan en modificar el bucle para identificar y
Computadores y Programación
SACTA_PonHaz(…)
fin
36
18
Ejercicios
Sesión 2: Ejercicios A
– Ej. 2.1: Identificación de objetos.
Computadores y Programación
Función IdentificarObjeto
Objeto no identificado -> aquel que no tiene nombre.
Si están identificados se modifica el campo Identificación.
Utilizar escenario e1, tmax = 2000s
– Ej. 2.2: Gestión de rutas
Función IdentificarRuta
Comprobar si los objetos siguen una ruta (sólo 2d)
Pasando como parámetros las rutas definidas, comprobar que
la distancia es menor a 1000 pies (en 2 dimensiones).
Para ello utilizar la función ESCENARIO_DistPuntoRecta
El truco es buscar entre todas las recta de todas la rutas si hay alguna que esté a
menos de 200 pies.
CYP
37
Ejercicios
Sesión 2: Ejercicios B
– Ej. 2.3: Gestión de colisiones simple
Computadores y Programación
Función ColisionSimple
Comprobar si dos objetos van a colisionar
Para ello a esta función se le pasará el objeto a comprobar
y el array con todos los objetos.
Para ello comprobar en cada momento si se respetan las
distancias mínimas de seguridad. Si hay peligro de colisión
el objeto pasa a estado colisión (1)
Para ello hay que iterar por cada objeto con el resto de objetos y comprobar las
distancias de colisión.
Primero comprobar si está a misma altitud (<1000ft) y luego comprobar distancia
< 8km. Para esto último podéis utilizar la función ESCENARIO_Distancia.
Utilizar escenario e3 tmax = 2000s
CYP
38
19
Ejercicios
Función ColisionFutura
Predecir si dos objetos van a colisionar
Para ello se calcula la ruta de todos los
objetos y se comprueba si va a colisionar
con otro. Se avisará con 15 minutos de
antelación. P2(lon2, lat2, alt2, t2)
Idea: hay que obtener la ecuación paramétrica de la
recta en función de t a partir de dos puntos. El actual y
otro anterior. Ver derecha.
Para ello utiliza la función ESCENARIO_Parametrica. ⎛ lon2 − lon1 ⎞
⎜ lon(t ) = (t − t1 ) + lon1 ⎟
Con esta ecuación se predice la situación del objeto en ⎜ t 2 − t1 ⎟
t+15minutos. ⎜ lat − lat1 ⎟
P (t ) = ⎜ lat (t ) = 2 (t − t1 ) + lat1 ⎟
Se aplica los criterios de colisión simple para los nuevos ⎜ t2 − t1 ⎟
puntos obtenidos. ⎜ alt2 − alt1 ⎟
⎜ alt (t ) = ( t −1 + 1 ⎟
t ) alt
Utilizar escenario e3 tmax = 2000s ⎝ t2 − t1 ⎠
CYP
39
Ejercicios
Sesión 3
– El objeto de esta sesión es almacenar la información de los vuelos en fichero
Computadores y Programación
20
Ejercicios
Sesión 3
– Ej. 3.2: Visualización de rutas 2-D
Computadores y Programación
Fin 38.5
Fin 38
-1.5 -1 -0.5 0 0.5 1 1.5 2
Plot(Lon, Lat)
41
Ejercicios
Sesión 3
– Ej. 3.3: Visualización de rutas 3-D
Computadores y Programación
40
2
1
38
pare que se muestren varios -2
42
21