Вы находитесь на странице: 1из 8

Ejemplos de diseo ptimo de controladores en adelanto y en atraso

de fase.
Profesor: Carlos Felipe Rengifo.

28 de abril de 2017

1. Diseo ptimo de controladores en adelanto de fase


Considere el sistema descrito por la siguiente funcin transferencia
1
G(s) = (1)
s(s + 1)
Para dicho sistema disee un controlador en adelanto de fase que permita obtener un tiempo de res-
puesta de lazo cerrado Ts igual a 1 segundo y un sobre-impulso p menor al 5 %.

Solucion: Primero se deduce la ubicacin de los polos de lazo cerrado deseados a partir de las es-
pecificaciones de desempeo. Para ello se utilizaran las expresiones correspondientes a sistemas su-
bamortiguados de segundo orden
4
Ts =
n
(2)

p = e 1 2

Resolviendo para y n se obtiene



= 2/2

n = 4 2

El objetivo es entonces que la funcin de transferencia de lazo cerrado obtenida sea lo mas prxima
posible de
n2
Gdcl (s) = 2
s + 2n s + n2
Los polos de lazo cerrado de Gdcl (s) son:

s1 = 4 + j 4
s2 = 4 j 4

Ahora que se conoce la ubicacin de los polos de lazo cerrado deseados, se ubican el polo y el cero del
controlador con el fin de que el lugar geomtrico de las races pase por s1 y s2 . Es importante recalcar
que la ubicacin de estos elementos no es nica, y que diferentes configuraciones polo-cero pueden llevar
a lugares geomtricos, que aunque diferentes, tendrn la caracterstica comn de pasar por los puntos s1
y s2 . El procedimiento de calculo del controlador se ilustrar para z = 2 y posteriormente se repetir

1
5

1
z p2 p1
p

10 9 8 7 6 5 4 3 2 1 1
1

Figura 1: Aportes angulares de los polos y los ceros.

para diferentes valores de z.

Para que el lugar geomtrico de las races pase por el punto s1 , la suma del aporte angular del
cero menos los aportes angulares de los dos polos de la planta y el del controlador debe dar un mltiplo
entero de 180o . Con base en el grfico de la Figura 1 se obtiene:
 
4
p1 = arctan = 135.0000o
4
 
4
p1 = arctan = 126.8699o
3
 
4
z = arctan = 116.5651o
2

El ngulo p debe satisfacer la siguiente igualdad

z (p1 + p2 + p ) = 180o

Al resolver para p se obtiene: p = 34.6952o . Con este valor se puede obtener la ubicacin del polo

4
p = 4 = 9.7778
tan (34.6952o )

Ahora que se conocen los valores de z y p, se calcula la ganancia necesaria para que s1 y s2 sean polos
de lazo cerrado
1
k=

Gc (s)G(s) s=4+j 4

s(s + 1)(s + 9.7778)


=
(s + 2)

s=4+j 4

= 44.4444 j 9.8686 1015

2
La parte imaginaria obtenida en el valor de la ganancia k del controlador es debida a los errores de re-
dondeo en las operaciones matemticas. En este caso dicho valor es tan pequeo que puede despreciarse.
As, el modelo del controlador es:
44.4444(s + 2)
Gc (s) =
(s + 9.7778)
La funcin de transferencia de lazo cerrado obtenida esta dada por
Gc (s)G(s) 44.4444(s + 2)
Gcl = =
1 + Gc (s)G(s) (s + 2.778)(s2 + 8s + 32)

En la Figura 2 se comparan las respuestas al escaln de las funciones de transferencia Gcl (s) y Gdcl (s).
En dicha figura se observa que el sobreimpulso de Gcl (s) es del 17.9 % y que el de Gdcl (s) es de tan solo
el 4 %. La pregunta que surge es : si en lugar de z = 2, el diseo se repite para otro valor de z, cual
es el z que minimiza la diferencia entre las respuestas al escaln de Gcl (s) y de Gdcl (s). Para obtener

Step Response

1.4 System: Gcl


Peak amplitude: 1.18
Overshoot (%): 17.9 Obtenido
At time (sec): 0.649 Deseado
1.2

1 System: Gcld
Peak amplitude: 1.04
Overshoot (%): 4.32
Amplitude

0.8 At time (sec): 0.795

0.6

0.4

0.2

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
Time (sec)

Figura 2: Respuesta al escaln del sistema de lazo cerrado

dicho z se resuelve el siguiente problema de optimizacin:


Z 1.8
d
J(z) = mn |ycl (t) ycl (t, z)|2 dt (3)
z0 0

d (t) y y (t, z) respectivamente las respuestas al escaln de Gd (s) y G (s). El intervalo de


Siendo ycl cl cl cl
simulacin en el que se compararan dichas respuestas esta comprendido entre 0 y 1.8 segundos. En la
Figura 3 se muestra el valor del ndice de desempeo J(z) de la ecuacin (3) en funcin de la posicin
del cero. Dicha figura muestra que el valor de z que minimiza J(z) esta alrededor de 1, punto en
el cual el cero del controlador cancela el efecto del polo de la planta. Por ejemplo, para z = 1.1 se
obtienen las respuestas de lazo cerrado mostradas en la Figura 4.

El calculo de los tres parmetros del controlador en adelanto de fase, puede formularse en su totalidad

3
Ubicacin ptima del cero del controlador
3.5

2.5
ndice de desempeo J

1.5

0.5

0
4 3.5 3 2.5 2 1.5 1 0.5 0
Ubicacin del cero

Figura 3: ndice de desempeo (3) para el controlador.

como un problema de optimizacin con restricciones similar a (3)


Z T
d
J(x) = mn |ycl (t) ycl (t, x)|2 dt (4)
x0 0
 T
Siendo x = K Z P el vector que contiene los parmetros del controlador en adelanto de fase

K(s + Z)
Gc (s) = (5)
s+P
El objetivo del problema de minimizacin descrito por la ecuacin (4) es encontrar el x que minimiza la
diferencia entre la respuesta al escaln de lazo cerrado obtenida con el controlador Gc (s) y la respuesta
de lazo cerrado deseada. Antes de presentar la solucin del problema de optimizacin (4) se explicara la
funcin fmincon de Matlab. Esta funcin permite encontrar un valor de x IRn que minimiza, global
o localmente una funcin dada f (x) con f : IRn IR

J(x) = mn f (x). (6)


x

El vector x se supone sin embargo restringido a un subconjunto de IRn definido por las siguientes
igualdades y desigualdades matemticas

x xmin Ai x = bi Ci (x) = 0
x xmax Ad x bd Cd (x) 0.

Las matrices Ai y Ad , los vectores xmin , xmax , bi y bd y las funciones Ci y Cd dependen del problema
que se quiera resolver. Estos parmetros en conjunto con la funcin f y con x0 , el valor inicial a partir

4
Step Response

1.4
System: Gcl Obtenido
Peak amplitude: 1.06 Deseado
1.2 Overshoot (%): 6.02
At time (sec): 0.749

1 System: Gcld
Peak amplitude: 1.04
Overshoot (%): 4.32
Amplitude

0.8 At time (sec): 0.795

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5
Time (sec)

Figura 4: Respuesta al escaln del sistema de lazo cerrado

del cual se comenzar la bsqueda del mnimo de f , constituyen los argumentos de entrada a la funcin
fmincon. Por ejemplo, el problema de minimizacin

mnx x1 x2 x3
(
x1 2x2 2x3 0 (7)
sujeto a
x1 + 2x2 + 2x3 72

puede ser resuelto con el cdigo siguiente

C = [];
xmin = [];
xmax = [];
bi = [];
Ai = [];
bd = [0; 72];
Ad = [-1, -2, -2; 1, 2, 2];
X0 = [10; 10; 10];
F = @(x) -x(1) * x(2) * x(3);
XOpt = fmincon(F, X0, Ad, bd, Ai, bi, xmin, xmax, C);

En este caso el valor utilizado para iniciar la bsqueda del mnimo es x10 = 10, x20 = 10 y x30 = 10. La
solucin entregada por fmincon es x1 = 24, x2 = 12 y x3 = 12. Si la funcin f no puede escribirse en
una sola linea de cdigo, esta se debe especificar en un archivo independiente. Para el caso del ejemplo
anterior, dicha funcin se escribiria de la siguiente manera

function [F] = fobjetivo(x)

5
F = -x(1) * x(2) * x(3)
end

Esta funcin debe almacenarse en un archivo llamado fobjetivo.m. En tal caso la variable F se definira
como F = @(x) fobjetivo(x);. Ahora que se conoce la utilizacin de la funcin fmincon, esta se
emplear para resolver el problema de minimizacin (4)

% Respuesta deseada de lazo cerrado


Ts = 1.0;
Xi = sqrt(2)/2;
Wn = 4 / (Ts * Xi);
Gcld = tf(Wn^2,[1 2*Xi*Wn Wn^2]);
[Yd,T] = step(Gcld);

% Condicin inicial para el algoritmo de bsqueda


X0 = [1; 1; 1];

% Definicin de la funcin a minimizar


F = @(X) evaluar_controlador(X, T, Yd);

% Solucion del problema de minimizacin


XMin = [ 0; 0; 0];
XMax = [100; 100; 100];
XOpt = fmincon(F, X0, [], [], [], [], XMin, XMax);

El cdigo de la funcin evaluar_controlador se detalla a continuacin

function [Fx] = evaluar_controlador(X, T, Yd)


s = tf(s);
Gol = X(1) * (s + X(2)) / ( (s + X(3)) * s * (s + 1) );
Gcl = feedback(Gol, 1, -1);
Y = step(Gcl,T);
Fx = sum( (Yd - Y).^2 );

Los valores obtenidos con este algoritmo de optimizacin son K = 32, Z = 1 y P = 8. Estos valores
del controlador conllevan a la siguiente funcin de transferencia de lazo cerrado
32
Gcl (s) = . (8)
(s + 8)(s2+ 8s + 32)

En este caso no hay ceros y los polos de lazo cerrado dominantes coinciden con los polos deseados.

2. Diseo ptimo de controladores en atraso de fase


Considere el sistema descrito por la siguiente funcin transferencia
1
G(s) = . (9)
(s + 2)(s + 4)

Para dicho sistema disee un controlador en atraso de fase que permita obtener un tiempo de respuesta
de lazo cerrado Ts igual a 1 segundo, un sobre-impulso p menor al 5 % y un error de estado estacionario
igual a cero.

6
Solucin: Con un programa en Matlab similar al del ejercicio anterior se obtiene el siguiente con-
trolador
22.5465(s + 1.165)
Gc (s) = . (10)
s
Este resultado es verdaderamente sorprendente ya que al algoritmo de optimizacin no hay manera de
especificarle si el controlador a disear debe ser en adelanto o en atraso de fase. El proceso mismo de
optimizacin converge naturalmente hacia un controlador en atraso de fase con un polo en s = 0. Esto
garantiza un error de estado estacionario igual a cero. En la figura 5 se muestra la respuesta al escaln
del sistema en lazo cerrado.

Respuesta de lazo cerrado

1.4
Obtenido
System: Gcl
Peak amplitude: 1.08 Deseado
1.2 Overshoot (%): 8.31
At time (sec): 0.748

1 System: Gcld
Peak amplitude: 1.04
Overshoot (%): 4.32
Amplitude

At time (sec): 0.795


0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3
Tiempo [segundos] (sec)

Figura 5: Respuesta al escaln del sistema en lazo cerrado obtenida a partir de la planta (9) y el
controlador (10).

Debe tenerse presente que aunque las respuestas deseada y obtenida no son exactamente iguales,
la respuesta obtenida es la mas cercana posible de la respuesta deseada. A continuacin se mostrar
que la definicin del tiempo de establecimiento deseado juega un papel fundamental en el xito del
diseo. Por ejemplo, si el tiempo de establecimiento deseado se aumenta de 1 segundo a 1.8 segundos,
el controlador obtenido es:
9.4591(s + 1.857)
Gc (s) = (11)
s
Este controlador conlleva a la respuesta de lazo cerrado ilustrada en la Figura 6. Al comparar las
Figuras 5 y 6 se observa que paradjicamente el sistema diseado con Ts = 1.8 segundos tiene un
tiempo de establecimiento mas pequeo que el sistema diseado con Ts = 1 segundo. En conclusin,
no es til seleccionar una respuesta de lazo cerrado rpida, si no existe un controlador que conlleve
a un comportamiento de lazo cerrado prximo de esta. Adems, una disminucin excesiva del tiempo
de establecimiento deseado puede conllevar a un controlador sin accin integral. Por ejemplo, para

7
Respuesta de lazo cerrado

1.4
Obtenido
System: Gcl Deseado
1.2 Peak amplitude: 1.04
Overshoot (%): 4.39
At time (sec): 1.39

1 System: Gcld
Peak amplitude: 1.04
Overshoot (%): 4.32
Amplitude

At time (sec): 1.43


0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3
Tiempo [segundos] (sec)

Figura 6: Respuesta al escaln del sistema en lazo cerrado obtenida a partir de la planta (9) y el
controlador (11).

Ts = 0.6550 segundos se obtiene el controlador


51.9154(s + 9.009)
Gc (s) = . (12)
s + 10
Es importante recalcar que la ubicacin del polo del controlador varia discontinuamente en funcin
del tiempo de establecimiento deseado. Para Ts = 0.656 segundos, el polo del controlador se ubica en
s = 10 y para Ts = 0.657 segundos, este polo se ubica en s = 0. Si el tiempo de establecimiento
se define como una variable a optimizar, el valor de Ts que produce el mejor ajuste a un sistema de
segundo orden es Ts = 2 segundos. Para este valor de Ts se obtiene el controlador
8(s + 2)
Gc (s) = . (13)
s
Este controlador, que cancela el polo dominante de la planta, conlleva a un sistema de lazo cerrado
cuya respuesta al escaln es exactamente igual a la respuesta de lazo cerrado deseada. Esto significa
que para el controlador precedente el valor del ndice de desempeo descrito por la ecuacin (4) es cero.
En general para un sistema de la forma:
kp
G(s) = , 0 < P1 P2 .
(s + P1 )(s + P2 )

El tiempo de establecimiento que permite que permite llevar a cero el ndice de desempeo (4) es
Ts = 8/P2 . Para este valor de Ts el correspondiente controlador en atraso es:

K(s + P1 ) P22
Gc (s) = , K= .
s 4 kp 2