Está en la página 1de 9

CONTROL LONGITUDINAL

Autoland para Cessna Citation Bravo

Touceda Luis
61922/2
1. Introducción
Objetivo

El objetivo de este informe es diseñar los compensadores para el control longitudinal del
Cessna Citation que formaran parte del autoland.

Resumen

Para ello se va a partir del espacio de estados del modelo longitudinal del script que
proporciona la cátedra y luego se van a simplificar las matrices del mismo y con el modelo
simplificado se va a obtener la función de transferencia entre el elevador y el ángulo de pitch,
ya que el ángulo de pitch es la variable mas importante en lo concerniente al control
longitudinal, y por último se va a obtener un controlador utilizando el método de
parametrización afín, dicho controlador se va a discretizar y luego se va a diseñar una función
que lo implemente

Variables de la dinámica longitudinal y dispositivos de control

Para el control longitudinal se dispone de dos dispositivos de control, el elevador y el motor. Y


las variables que se controlan son la velocidad “u”, las velocidades angulares “w” y “q” y el
ángulo de cabeceo “pitch”.

2. Espacio de Estados del Modelo Longitudinal (Completo)


El vector de estados es 𝑥 = [𝑢, 𝑤, 𝑞, 𝑝𝑖𝑡𝑐ℎ]

𝑥̇ = 𝐴𝑥 + 𝐵𝑢
𝑦 = 𝐶𝑥 + 𝐷𝑢

𝑢 𝑋𝑢 𝑋𝑤 0 −𝑔𝐶𝑜 𝑢 𝑋𝑑𝑒 𝑋𝑑𝑡


𝑑 𝑤 𝑍𝑢 𝑍𝑤 𝑈𝑜 𝑔 ∗ 𝑆𝑜 𝑤 𝑍𝑑𝑡 ] ∗ [𝐸𝑙𝑒𝑣𝑎𝑑𝑜𝑟]
[ 𝑞 ]=[ ] ∗ [ 𝑞 ] + [ 𝑍𝑑𝑒
𝑑𝑡 𝑀𝑢 𝑀𝑤 𝑀𝑞 𝑀𝑤𝑑𝑜𝑡 𝑀𝑑𝑒 𝑀𝑑𝑡 𝐸𝑚𝑝𝑢𝑗𝑒
𝑝𝑖𝑡𝑐ℎ 0 0 1 0 𝑝𝑖𝑡𝑐ℎ 0 0

𝑢 1 0 0 0 𝑢 0 0
𝑤
[ 𝑞 ] = [0 1 0 0] ∗ [ 𝑤 ] + [ 0 0] ∗ [𝐸𝑙𝑒𝑣𝑎𝑑𝑜𝑟]
0 0 1 0 𝑞 0 0 𝐸𝑚𝑝𝑢𝑗𝑒
𝑝𝑖𝑡𝑐ℎ 0 0 0 1 𝑝𝑖𝑡𝑐ℎ 0 0
A continuación se va a simplificar el Espacio de Estados

3. Obtención de la función de transferencia entre el elevador y el


ángulo de pitch a partir del modelo de estados longitudinal
Simplificación del modelo del espacio de estados longitudinal

Se van a simplificar las matrices del espacio de estados del modelo longitudinal, para ello se
observa las matrices A, B, C y D:
a=

u w q pitch

u -0.04 0.05813 0 -9.791

w -0.3251 -1.108 60 0.608

q 0.003349 -0.06358 -2.33 0.006226

pitch 0 0 1 0

b=

elv(1) elv(2)

u -0.003201 3.904

w 2.477 0.2424

q -3.077 0

pitch 0 0

c=

u w q pitch

u 1 0 0 0

w 0 1 0 0

q 0 0 1 0

pitch 0 0 0 1

d=

elv(1) elv(2)

u 0 0

w 0 0

q 0 0

pitch 0 0

Eliminación de la velocidad “u”:

La velocidad “u” es controlada por el control de velocidad por lo tanto se elimina de las
ecuaciones. Se observa en las matrices que la velocidad depende 3,904 veces del accionar del
motor y 0,003201 del accionar del elevador

Eliminación de la acción de control del motor (Empuje):


Para cortos periodos de tiempo el dispositivo que más puede modificar el ángulo de cabeceo
es el elevador, por lo que se puede eliminar dicha acción de control de las ecuaciones. En las
matrices se observa que la derivada de pitch respecto al tiempo es “q” y la derivada de q
respecto al tiempo depende principalmente de “q” y de la acción del elevador 3,077 veces y no
depende del accionar del motor

Modelo Simplificado

Las matrices quedan de la siguiente forma:

𝑤 𝑍𝑤 𝑈𝑜 𝑔 ∗ 𝑆𝑜 𝑤 𝑍𝑑𝑒
𝑑
[ 𝑞 ] = [𝑀𝑤 𝑀𝑞 𝑀𝑤𝑑𝑜𝑡] ∗ [ 𝑞 ] + [𝑀𝑑𝑒] ∗ [𝐸𝑙𝑒𝑣𝑎𝑑𝑜𝑟]
𝑑𝑡 𝑝𝑖𝑡𝑐ℎ 𝑝𝑖𝑡𝑐ℎ
0 1 0 0

𝑤 1 0 0 𝑤 0
[ 𝑞 ] = {0 1 0 } ∗ [ 𝑞 ] + [ 0] ∗ [𝐸𝑙𝑒𝑣𝑎𝑑𝑜𝑟]
𝑝𝑖𝑡𝑐ℎ 0 0 1 𝑝𝑖𝑡𝑐ℎ 0
Función de transferencia entre el Elevador y el ángulo de cabeceo (pitch):
La variable que más interesa controlar es el ángulo de cabeceo por lo que se va a buscar la
función de transferencia entre el ángulo de pitch y el elevador, a dicha función se la llama G(s):
−3,077 ∗ 𝑠 − 3,565
𝐺(𝑠) = 3
𝑠 + 3,438 ∗ 𝑠 2 + 6,39 ∗ 𝑠 + 0,03176

Script
(Obtención de la función de transferencia entre el elevador y el ángulo de pitch a partir del
modelo del espacio de estados longitudinal)
El script para deducir la función de transferencia entre el elevador y el ángulo de pitch
partiendo del espacio de estados del modelo longitudinal es el siguiente:

%Espacio de Estados Longitudinal Completo:


a=ss(mdl.lng.a, mdl.lng.b, mdl.lng.c, mdl.lng.d);
tf(a);
%Espacio de Estados para Control Longitudinal Simplificado
aelev=mdl.lng.a(2:4,2:4);
belev=mdl.lng.b(2:4,1);
celev=[0 0 1];
delev=[0];
%Funcion de Transferencia entre el elevador y tita(Pitch)
modeloelevador=ss(aelev, belev, celev,delev);
ftelevteta=tf(modeloelevador);

4. Obtención de controlador “K(s)” de la planta G(s) con el método


de parametrización afín:
Los polos de la función de transferencia G(s) son:

I. −1,7165 + 1,8511 ∗ 𝑖
II. −1,7165 − 1,8511 ∗ 𝑖
III. −0,005
Se observa que la función G:

 Es de tercer orden, grado relativo 2


 No tiene polos inestables

La función de transferencia en lazo cerrado es T = Q*G

Donde:

 Q es bipropia
 G es de grado relativo 2

Por lo tanto T debe ser de grado relativo 2. Vamos a proponer:


𝑎
𝑇=
𝑠2 + 2 ∗ 𝑤𝑛 ∗ 𝜉 ∗ 𝑠 + 𝑤𝑛 2
Condición:

 𝑇(𝑠 = 0) = 1 para que tenga integrador

De la condición:

𝑎 = 𝑤𝑛 2
Quedando T:

𝑤𝑛 2
𝑇=
𝑠 2 + 2 ∗ 𝑤𝑛 ∗ 𝜉 ∗ 𝑠 + 𝑤𝑛 2
La función bipropia Q es:

𝑄 = 𝑇 ∗ 𝐺 −1
𝑤𝑛 2 𝑠 3 + 3,438 ∗ 𝑠 2 + 6,39 ∗ 𝑠 + 0,03176
𝑄= ∗
𝑠 2 + 2 ∗ 𝑤𝑛 ∗ 𝜉 ∗ 𝑠 + 𝑤𝑛 2 −3,077 ∗ 𝑠 − 3,565

El valor de "wn " y "ξ" se van a ir ajustando para obtener una respuesta satisfactoria.

Controlador de la planta G(s) en tiempo continuo:


𝑄
𝐾=
1−𝑇
Controlador de la planta G(s) en tiempo discreto:

El controlador K se discretiza con un tiempo de muestreo de 0,01 segundos y queda de la


siguiente manera:

𝑐1 ∗ 𝑧 3 + 𝑐2 ∗ 𝑧 2 + 𝑐3 ∗ 𝑧 + 𝑐4
𝐾𝑑𝑖𝑠𝑐𝑟𝑒𝑡𝑜 (𝑧) =
𝑧 3 + 𝑐5 ∗ 𝑧 2 + 𝑐6 ∗ 𝑧 + 𝑐7

5. Implementación del controlador


Por último se diseña la función para implementar dicho controlador, para ello se multiplica y
divide su numerador y denominador por su mayor exponente que en este caso es 𝑧 3 :

𝑢 𝑧3
= 𝐾𝑑𝑖𝑠𝑐𝑟𝑒𝑡𝑜 ∗ 3
𝑒 𝑧
Se despeja “u” y se llega a:

𝑢 = [𝑒(𝐾𝑛𝑢𝑚(1) + 𝐾𝑛𝑢𝑚(2) ∗ 𝑧 −1 + 𝐾𝑛𝑢𝑚(3) ∗ 𝑧 −2 + 𝐾𝑛𝑢𝑚(4) ∗ 𝑧 −3 )


− 𝑦(𝐾𝑑𝑒𝑛(2) ∗ 𝑧 −1 + 𝐾𝑑𝑒𝑛(3) ∗ 𝑧 −2 + 𝐾𝑑𝑒𝑛(4) ∗ 𝑧 −3 )|]/𝐾𝑑𝑒𝑛(1)

Defino: 𝑒𝑘 = 𝑒 ∗ 𝑧 −𝑘 e 𝑦𝑘 = 𝑦 ∗ 𝑧 −𝑘

Por ejemplo 𝑒2 = 𝑒 ∗ 𝑧 −2 significa que e*z-2 representa el error calculado 2 tiempos de


muestreos antes.

Se definen también el vector de error y el vector de salida:

𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑒𝑟𝑟𝑜𝑟 = [𝑒 𝑒1 𝑒2 𝑒3 ]
𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑠𝑎𝑙𝑖𝑑𝑎 = [𝑦1 𝑦2 𝑦3 ]
Con esto se llega a que la salida u es:

𝑢 = [(𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑒𝑟𝑟𝑜𝑟) ∗ (𝐾𝑛𝑢𝑚) − (𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑠𝑎𝑙𝑖𝑑𝑎)


∗ 𝐾𝑑𝑒𝑛(𝑑𝑒𝑠𝑑𝑒 𝑒𝑙 𝑠𝑒𝑔𝑢𝑛𝑑𝑜 𝑡𝑒𝑟𝑚𝑖𝑛𝑜 ℎ𝑎𝑠𝑡𝑎 𝑒𝑙 𝑓𝑖𝑛𝑎𝑙)]/𝐾𝑑𝑒𝑛(1)
Recordar que Knum y Kden son vectores con los coeficientes del controlador K en tiempo
discreto
Script
(Controlador en tiempo continuo, discreto e implementación a partir de la función de
transferencia G(s))

Script para obtener el Controlador en tiempo continuo y discreto

%% PARAMETRIZACION AFIN CONTROL LONGITUDINAL


% Calculo de T (Lazo cerrado)
phi=0.85;
wn=3.4;
DenT=[1 2*wn*phi wn^2];
NumT=DenT(end);
T=tf(NumT,DenT);
% Obtencion de Q y K
Q=minreal(T/ftelevteta);
K=minreal(Q/(1-T),0.0001);
Kdiscreto=c2d(K,0.01,'tustin');
% Vector de error y Vector de salida para implementación
Knum=Kdiscreto.num{1};
Kden=Kdiscreto.den{1};

Script de la Implementación:

function u = fcn(e,Kden,Knum)
persistent e1 e2 e3 e4 u1 u2 u3 u4
if(isempty(e1))
e1=0;
e2=0;
e3=0;
e4=0;

u1=0;
u2=0;
u3=0;
u4=0;
end
ev=[e e1 e2 e3];
uv=[u1 u2 u3];
u=(Knum*transpose(ev)-Kden(2:end)*transpose(uv)/Kden(1));
umax=1;
umin=-1;
if (u>umax)
u=umax;
elseif (u<umin)
u=umin;
end
u4=u3;
u3=u2;
u2=u1;
u1=u;

e4=e3;
e3=e2;
e2=e1;
e1=e;

6. Respuesta del Controlador en función del Rango a la Pista y Altura


En la práctica las acción de control del elevador depende no solo del error, sino también de la
distancia a la pista, es decir, la acción de control del elevador respondería de la siguiente
manera:

 Mientras mayor sea el error mayor va a ser la acción del elevador


 Mientras mayor sea la distancia a la pista menor va a ser la acción del elevador

Por lo tanto, lo ideal seria crear una maquina de estados que permita modificar la frecuencia
del compensador del control longitudinal que establezca:

 Frecuencias de respuesta bajas para elevadas distancias a la pista


 Frecuencias de respuesta altas para pequeñas distancias a la pista

Como esto no se supo como diseñarlo, se opto por crear una máquina de estados que:

 Reduzca bruscamente el error entre el ángulo que pide el control de trayectoria y el


que mide el INS, para grandes distancias a la pista
 Reduzca levemente ese mismo error para distancias medias a la pista
 Deje ese error exacto para pequeñas distancias a la pista.

Máquina de Controlador
Angulo de Pitch
Angulo de
solicitado por el Estados de Pitch
Pitch Elevador
control de trayectoria Modificado
(Rango, Altura)
vertical K3(s) G(s)

El script de esta Máquina de Estados es el siguiente:

function e=fcn(angulo,height,rango)
persistent etapa
if (isempty (etapa))
etapa=1;
end
switch etapa
case 1
e=angulo/2;
if height<250 & rango>-4600
etapa=2;
end
case 2
e=angulo/1.5;
if height<190 & rango>-3600
etapa=3;
end
case 3
e=angulo
otherwise
e=angulo/2.1
end

valores que pueden adoptar Alpha, deflexión del elevador:

 Alpha puede variar desde -8° hasta 22°


 Elevador: desde -22° hasta 16°
 Rudder: -25° hasta 25°
 Alerón: -32° hasta 32°

También podría gustarte