Tarea3 09 sol

9
Departamento de Ingeniería de Sistemas y Automática Universidad Politécnica de Valencia INGENIERÍA DE CONTROL I 2009-10 _______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected] Diseño del control de un avión El modelo reducido de la dinámica de un avión en vuelo estacionado, puede expresarse por: = + = phi giro cabeceo beta * 1.0 0 0 0 0 0 1.00 0 incli. - ang. cabeceo alerón timón 0 0 63000 . 10 53000 . 1 23000 . 1 75000 . 4 00010 . 0 07290 . 0 phi giro cabeceo beta * 0 1.00000 0.08050 0 0 0.46500 - 0.38800 3.05000 - 0 0.03180 - 0.11500 - 0.59800 0.04150 0.08020 0.99680 - 0.05580 - phi giro cabeceo beta estados = ‘beta cabeceo giro phi'; entradas = 'timón alerón'; salidas = 'cabeceo ang.- incli.(phi)'; 1. Obtén los modelos discretos para periodos de muestreo de T 1 = 1 s. y T 2 = 0.1 s. 2. Considerando los pares cabeceo/timón y ang.incl/alerón, diseña sendos reguladores que consigan, en ambos bucles de control, amortiguamiento 0.2 y t est 5 seg, sin error estacionario, independientemente, como si no hubiera interacción entre variables. Simplifica ambas f.d.t.. Haz el diseño con ambos periodos de muestreo. 3. Determina el comportamiento real del sistema acoplado, con estos reguladores (en adelante, seguid con un solo periodo de muestreo). 4. Realiza un diseño equivalente a. Realimentando el estado (si fuera medible) b. Con un observador del estado, realimentando la salida 5. Realiza el diseño para conseguir las mismas prestaciones, sin acoplamiento: a. con un desacoplamiento dinámico b. por realimentación del estado

Transcript of Tarea3 09 sol

Page 1: Tarea3 09 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2009-10

_______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]

Diseño del control de un avión El modelo reducido de la dinámica de un avión en vuelo estacionado, puede expresarse por:

⎥⎥⎥

⎢⎢⎢

⎥⎦⎤

⎢⎣⎡

⎥⎦⎤

⎢⎣⎡

⎥⎦⎤

⎢⎣⎡

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=

−+=

phigiro

cabeceobeta

*1.0000001.000

incli.-ang.cabeceo

aleróntimón

0063000.1053000.123000.175000.400010.007290.0

phigiro

cabeceobeta

*

01.000000.08050000.46500-0.388003.05000-00.03180-0.11500-0.59800

0.041500.080200.99680-0.05580-

phigiro

cabeceobeta

estados = ‘beta cabeceo giro phi'; entradas = 'timón alerón'; salidas = 'cabeceo ang.- incli.(phi)'; 1. Obtén los modelos discretos para periodos de muestreo de T1= 1 s. y T2 = 0.1 s. 2. Considerando los pares cabeceo/timón y ang.incl/alerón, diseña sendos

reguladores que consigan, en ambos bucles de control, amortiguamiento 0.2 y test≤ 5 seg, sin error estacionario, independientemente, como si no hubiera interacción entre variables. Simplifica ambas f.d.t.. Haz el diseño con ambos periodos de muestreo.

3. Determina el comportamiento real del sistema acoplado, con estos reguladores (en adelante, seguid con un solo periodo de muestreo).

4. Realiza un diseño equivalente a. Realimentando el estado (si fuera medible) b. Con un observador del estado, realimentando la salida

5. Realiza el diseño para conseguir las mismas prestaciones, sin acoplamiento: a. con un desacoplamiento dinámico b. por realimentación del estado

Page 2: Tarea3 09 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2009-10

_______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]

Solución:

1. Obtén los modelos discretos para periodos de muestreo de T1= 1 s. y T2 = 0.1 s. La introducción de datos en Matlab se hace con: A=[-0.05580 -0.99680 0.08020 0.04150; 0.59800 -0.11500 -0.03180 0; -3.05000 0.38800 -0.46500 0; 0 0.08050 1.00000 0] B=[0.07290 0.00010; -4.75000 1.23000; 1.53000 10.63000; 0 0] C=[0 1.00 0 0; 0 0 0 1.0] D=[zeros(2,2)] %sistema completo S=ss(A,B,C,D); G=tf(S); %Analicemos la posible simplificación de las f.d.t. parciales %Primer subsistema s1=ss(A,B(:,1),C(1,:),0); %Comprobemos los polos de este sistema eig(s1.a) -0.0329 + 0.9467i -0.0329 - 0.9467i -0.5627 -0.0073 %también la respuesta a un escalón step(s1)

%Observamos que puede aproximarse por uno de primer orden. %realicemos una reducción de modelo con realización equilibrada %(balanced): sb1=balreal(s1); % y eliminemos las tres últimas variables de estado (nos quedamos con el %polo lento) sr1=modred(sb1,[2 3 4]) %nos queda un sistema de primer orden con f.d.t. g1=zpk(sr1);

-0.32514 (s+3.431) g1= ------------------

(s+0.007276)

Page 3: Tarea3 09 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2009-10

_______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]

%y observamos que representa fielmente al original, a largo plazo: hold on step(g1) %con ganancia estática negativa: g10=dcgain(g1);

g10= -153.3039 %No hay prácticamente diferencia en la respuesta escalón. %Segundo subsistema s2=ss(A,B(:,2),C(2,:),0); %Comprobemos los polos de este subsistema (que son los mismos) eig(s2.a) %también la respuesta a un escalón figure step(s2) %Observamos que puede aproximarse también por uno de primer orden. %realicemos uns reducción de modelo con realización equilibrada: sb2=balreal(s2); % y eliminemos las tres últimas variables de estado (nos quedamos con el polo lento) sr2=modred(sb2,[2 3 4]) %nos queda un sistema de primer orden con f.d.t. gd=tf(sr2); g2=zpk(sr2);

-31.7405 (s-0.6385) g2= -------------------

(s+0.007274)

%y observamos que representa fielmente al original, a largo plazo: hold on step(g2) %con ganancia estática positiva pero con la complicación adicional de ser %un sistema de fase no mínima %Modelo discretizado, para el sistema global, con T=1 Sd1=c2d(S,1);

Page 4: Tarea3 09 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2009-10

_______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]

[Ad1,Bd1,Cd1,Dd1] = SSDATA(Gd1); %Modelo discretizado, con T=0.1 Sd2=c2d(S,0.1); [Ad2,Bd2,Cd2,Dd2] = SSDATA(Sd2);

2. Considerando los pares cabeceo/timón y ang.incl/alerón, diseña sendos reguladores que consigan, en ambos bucles de control, amortiguamiento 0.25 y test≤ 4 seg, sin error estacionario, independientemente, como si no hubiera interacción entre variables.

%Aunque nos piden los diseños en TD, vamos a hacerlos en TC y después discretizamos. % En principio, para tiempos de estabilización menores de 4 segundos (sigma aprox 4/te).% sigma=4/5; z=.2; wn=sigma/z; % que requiere unos polos dominantes mas estables que los definidos por p1=[-1+3.872i -1-3.872i] %con una acción integral para eliminar el error en régimen permanente %Pero veamos el primer subsistema. %La ganancia estática es -153.3 y la constante de tiempo principal de tau=1/0.007276 %= 137.4382 %Por lo tanto, dada la gran ganancia en bucle abierto nos resuelve el diseño, de forma aproximada, una realimentación positiva unitaria, % cuya fdt en bucle cerrado es: f1=tf(1,1); m1=feedback(g1,f1,+1); %cuya respuesta escalón es: figure step(m1) %que satisface las especificaciones %Para el segundo subsistema, al ser de fase no mínima, tenemos restricciones. Tendríamos las mismas especificaciones: p2=[-1+3.872i -1-3.872i] %La solución más sencilla, de nuevo, es una realimentación negativa pero % pequeña, dada la gran ganancia en b.a. %Ajustamos la ganancia total con una prealimentación. Con m2=0.019*feedback(g2,.019*f1); %conseguimos los requerimientos hold on step(m2) %La discretización, con esta solución, queda simplificada. El control es una constante.

Page 5: Tarea3 09 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2009-10

_______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]

Observemos la validez del diseño sobre los sistemas simples originales: G11=zpk(s1); Zero/pole/gain: -4.75 (s+0.4981) (s^2 + 0.02379s + 0.2381) ------------------------------------------------- (s+0.5627) (s+0.007278) (s^2 + 0.06587s + 0.8972) » f1=tf(1,1); M1=feedback(G1,f1,+1); step(m1) hold on step(M1)

Time (sec.)

Am

plitu

de

Step Response

0 5 10 15 20 25 30 35-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0From: U(1)

To: Y

(1)

Time (sec.)

Am

plitu

de

Step Response

0 20 40 60 80 1000

0.2

0.4

0.6

0.8

1

1.2

1.4From: U(1)

To: Y

(1)

G2=zpk(s2) Zero/pole/gain: 10.729 (s^2 + 0.2159s + 0.9541) ------------------------------------------------- (s+0.5627) (s+0.007278) (s^2 + 0.06587s + 0.8972) M2=0.019*feedback(G2,.019*f1); figure step(m2)

Page 6: Tarea3 09 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2009-10

_______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]

hold on step(M2) Observándose el efecto de los polos de alta frecuencia despreciados en el diseño.

3. Determina el comportamiento real del sistema acoplado, con estos reguladores % Hemos visto que los subsistemas reales, "s1" y "s2", presentan un %comportamiento peor. El acoplamiento todavía lo empeora. % La simulación muestra las respuestas de %los subsistemas, con realimentaciones individuales, %así como el efecto del acoplamiento, tomando la realimentación: r=[1 0;0 -0.019];

Las respuestas no ajustadas al valor final (1 o -1) muestran este efecto.

Page 7: Tarea3 09 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2009-10

_______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]

4. Realiza un diseño equivalente a. Realimentando el estado (si fuera medible)

Deberíamos diseñar, para el sistema completo, una realimentación del estado para asignar los polos en {p1, p2} y comprobar si el error en régimen estacionario es satisfactorio. Si no, introduciríamos un par de integradores y asignaríamos el par de polos adicional bien a la izquierda.

p1=[-1+3.872i -1-3.872i]; p2=[-1+3.872i -1-3.872i] K=place(A,B,[p1 p2])

K = 3.0500 -0.3163 0.0447 0.1299 -0.6060 0.0841 0.1381 1.4767

Con impulse(A-B*K,B,C,D)

observamos la dinámica (adecuada) del sistema controlado, pero con step(A-B*K,B,C,D)

observamos que, obviamente, no hay un seguimiento de las referencias en las salidas. Deberíamos introducir los integradores y calcular la respuesta a los escalones de referencias.

b. Con un observador del estado, realimentando la salida En este caso tenemos dos variables de salida (cuatro si consideramos los integradores) y cuatro (seis) variables de estado. Por lo tanto necesitamos un observador de orden reducido (segundo orden) para estimar las variables 1 y 3 no medibles directamente. O bien un observador de orden completo para estimar las cuatro variables de estado iniciales.

Ko=place(A',C',5*[p1 p2])' Ko = 666.2442 22.0200 9.9914 0.0661 -47.9591 393.5938 -5.0198 9.3728 sobre el que posteriormente agregaríamos los integradores. 5. Realiza el diseño para conseguir las mismas prestaciones, sin acoplamiento:

a. con un desacoplamiento dinámico. % El modelo del sistema completo puede igualmente simplificarse: Sb=balreal(S); figure step(S) hold on Sr=modred(Sb,[2,3,4]); step(Sr)

Page 8: Tarea3 09 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2009-10

_______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]

% sin grandes diferencias. La matriz de transferencia reducida será: Gr=zpk(tf(Sr))

Gr= ⎥⎦

⎤⎢⎣

⎡ +++ 0.6349)-(s 31.9275-0.6014)-(s 45.1908

5.568)(s 0.149183.517)(s 0.31707-0.007275s

1

%con ganancia estática dcgain(Gr)

Go= 1.0e+003 * ⎥⎦

⎤⎢⎣

⎡2.7862 3.7359- 0.1142 0.1533-

, cuya inversa es: Go-1 = ⎥⎦

⎤⎢⎣

⎡0.2579 6.2843- 0.1921 4.6868-

% e instantánea ⎥⎦

⎤⎢⎣

⎡31.9275- 45.1908 0.14918 0.31707-

%que es invertible. No obstante, la inversa es inestable

Gr^{-1}= ⎥⎦

⎤⎢⎣

⎡++

++

3.517)(s 0.317070.6014)-(s 45.19085.568)(s 0.149180.6349)-(s 31.9275

0.0028)1.2748)(s-3.3817(s0.007275s

Por lo tanto, el desacoplamiento dinámico completo no es recomendable. El desacoplamiento dinámico, actuando con la inversa de la matriz de transferencia inicial completa nos presentará problemas similares. Otra alternativa es aproximar el modelo por el polo dominante, igualando las ganancias estáticas:

Gro = tf( {Go(1,1) Go(1,2); Go(2,1) Go(2,2)},{[137.457 1] [137.457 1]; [137.457 1] [137.457 1]})

⎥⎦

⎤⎢⎣

⎡+

=2786.2 3735.9- 114.2 153.3-

s137.457Gro 1

1

Page 9: Tarea3 09 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2009-10

_______________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]

que igualmente aproxima la respuesta a escalón del sistema original. Esto nos permite realizar un desacoplamiento estático, premultiplicando por Go-1, evitando las interacciones estáticas vistas anteriormente. El diseño del control, en TD, se haría siguiendo el procedimiento básico, para el sistema Go-1.G(s), aproximado por:

⎥⎦

⎤⎢⎣

⎡+

=1001

s137.457Ga 1

1

4. Realiza el diseño para conseguir las mismas prestaciones, sin acoplamiento:

b. por realimentación del estado Deberemos calcular la posible prealimentación-realimentación del estado que permitan el desacoplamiento. Partimos del sistema inicial, S. (El desarrollo está hecho en TC) Comprobamos la condición de Gilbert: rank(C(1,:)*B)= 1 rank(C(2,:)*B)= 0 rank(C(2,:)*A*B)= 1 Luego J =[C(1,:)*B;C(2,:)*A*B] J = -4.7500 1.2300 1.1476 10.7290 F=inv(J) = -0.2049 0.0235 0.0219 0.0907 Ai=[C(1,:)*A;C(2,:)*A*A] = 0.5980 -0.1150 -0.0318 0 -3.0019 0.3787 -0.4676 0 Kj=-F*Ai = 0.1930 -0.0325 0.0045 0 0.2591 -0.0318 0.0431 0 %siendo el sistema desacoplado: SD=ss(A+B*Kj,B*F,C,D); % con la respuesta a escalón se puede ver el desacoplamiento y reducción a integradores: step(SD)

⎥⎥⎥⎥

⎢⎢⎢⎢

=

210

01

s

sGsd

%el diseño se reduce pues a conseguir las especificaciones dinámicas (el error estacionario será nulo).