Sunteți pe pagina 1din 36

FIEE

1
______________________________________________________________________

Facultad de Ingeniera Elctrica y Electrnica


(FIEE)

SEPARATA DE CONTROL II
(EE-616)

Autor:

Ing. Daniel Carbonel Olazbal

Laboratorios que contiene:


- N1: DISEO DE UN COMPENSADOR CON rltool
- N2: METODO DE SINTONA EN LAZO CERRADO (Zegler &
Nichols)
- N3: SIMULACIN DE SISTEMAS DE CONTROL DISEADOS
POR EL MTODO DE UBICACIN DE POLOS
- N4: CONTROL OPTIMO, BASADO EN EL NDICE DE
COMPORTAMIENTO CUADRTICO
- N5: LINEALIZACIN DE SISTEMAS NO LINEALES
(aplicaciones en control)

2008

FIEE
2
______________________________________________________________________

LABORATORIO N 1
DISEO DE UN COMPENSADOR CON rltool
Objetivos:

Familiarizarnos con la aplicacin de la herramienta de diseo


interactivo llamada rltool.
Analizar el lugar de las races para los sistemas de control LTI
SISO.
Especificar los parmetros de un compensador de realimentacin:
polos, ceros y ganancia.
Examinar cmo cambiando los parmetros del compensador,
cambia el lugar de las races y varias respuestas a lazo cerrado,
como la respuesta al escaln unitario, respuesta al impulso
unitario, diagramas de Bode entre otros.

Funcin rltool

Para explicar mejor el uso de esta herramienta, seguiremos un ejemplo que involucra un
servomecanismo electro-hidrulico, que esencialmente es un amplificador de potencia
electro-hidrulico, controlado por una vlvula piloto y un actuador, Figura 1.
Estos servomecanismos son muy pequeos y se utilizan para controlar posicin. Un
modelo a lazo cerrado para el control de posicin puede representarse como aparece en
la Figura 1.
En la Figura 1, K(s) representa el compensador que deseamos disear. Este
compensador puede ser tanto una ganancia como un sistema LTI. La planta viene dada
por:

Gp (s) =

4 x 10 7
s(s + 250)(s 2 + 40s + 90000)

Para este ejemplo, queremos disear un controlador de forma tal que la respuesta al
escaln a lazo cerrado cumpla con las siguientes especificaciones de diseo:
- El tiempo de establecimiento menor a 0.05 seg.
- El sobrepico mximo menor al 5%.

R(s) +

K(s)

Gp(s)

Y(s)

Figura 1: Diagrama de bloques de la planta ms el compensador, respectivamente.

FIEE
3
______________________________________________________________________

Figura 2: Ventana de la herramienta rltool


Para comenzar, desde el workspace de MATLAB, ingresemos el comando rltool, con el
que abrimos una nueva ventana, Figura 2, en la que encontramos:
-

Una barra de men, entre los que encontramos, por ejemplo, una opcin para
importar/exportar modelos y para editarlos.
Un grfico de bloques que es la estructura de realimentacin que utilizaremos; si
hacemos click sobre el bloque K, podemos ver o editar el compensador, y sobre P, F
o H para ver las caractersticas de diseo del modelo.
Un botn para cambiar entre realimentacin negativa y positiva.
Una descripcin del compensador que configuraremos. Por defecto toma el valor de
ganancia igual a 1 (K = 1).
Cuatro botones que utilizaremos para agregar polos o ceros del compensador,
borrarlos o moverlos.
Un cuadro de texto para editar la ganancia que modificar el lugar de los polos en
Lazo Cerrado.
Botones para editar los ejes.
Botones para modificar el zoom del grfico.
Check boxes para abrir herramientas de analisis de respuesta del sistema.
Una barra de status que provee informacin.

Una vez abierta la ventana, debemos importar el modelo del sistema para el que
queremos disear un compensador. Existen cuatro formas para importar un modelo LTI,
y estas son:

FIEE
4
______________________________________________________________________
1. Cargar el modelo desde el workspace de MATLAB, con el comando
rltool(sys,comp), donde sys es la funcin transferencia del sistema ingresada
como tal, y comp la del compensador (opcional).
2. Cargar el modelo desde un archivo de extensin .mat de un disco.
3. Cargar bloques LTI SISO desde un diagrama de SIMULINK.
4. Crear los modelos utilizando tf, ss o zpk.
Para este ejemplo, importemos nuestro modelo del servomecanismo desde el
workspace. Para ello debemos previamente ingresar el modelo con la funcin tf o zpk
y guardarla en una variable, por ejemplo Gp. Una vez cargado el modelo, lo podemos
importar desde el men Import Model del men File. En la ventana de importacin que
se desplegar encontraremos:
*
*
*
*
*
*
*

Un diagrama correspondiente a la estructura de realimentacin que utilizaremos.


Un botn que conmuta entre las dos posibles estructuras de realimentacin que hay
configuradas.
Una lista para seleccionar desde donde se importar el modelo.
Una lista de sistemas LTI disponibles o bloques.
Un cuadro de texto para editar el nombre del diseo.
Tres botones con flechas para transferir el modelo seleccionado de la lista al
componente de diseo del modelo, ya sea P, F o H.
Tres cuadros de textos para los nombres de los componentes del diseo. Desde este
recuadro podemos tambin definir funciones de transferencias para cada
componente, utilizando tf, ss o zpk.

Ya sea en cualquiera de las dos configuraciones, cada componente representa: F


(prefiltro); P (modelo de la planta); H (dinmica de la planta); K (compensador a disear).
Siguiendo con nuestro ejemplo, carguemos el modelo lineal en P, seleccionndolo desde
la lista de workspace y luego haciendo un click sobre la flecha que seala a P, o
simplemente tipeando en el cuadro de texto Gp (nombre de nuestro modelo). Luego de
seleccionar OK, en la regin de grfico de la ventana de diseo, aparecer el grfico del
lugar de las races del modelo ingresado, Figura 3. Los pequeos cuadros rojos sobre l
corresponden a los polos a lazo cerrado correspondientes al valor de la ganancia del
compensador.

Figura 3: Lugar de las races que resulta cuando cargamos el modelo

FIEE
5
______________________________________________________________________
Veamos hasta qu valor de ganancia podemos aplicarle al compensador para que se
mantenga estable a lazo cerrado, es decir, hasta que los polos a lazo cerrado se
mantengan en el semi-plano izquierdo del plano complejo. Este lmite lo podemos
calcular de la siguiente forma:
1.
2.
3.

Mover el puntero del mouse sobre un de los cuadrados rojos, donde aparecer una
mano en lugar del puntero. Arrastrar dicho cuadrado hasta lo ms cerca del eje
imaginario. Observar que el valor de la ganancia se va modificando.
Como no podemos saber si los polos se encuentran exactamente sobre el eje
imaginario, utilizar el zoom para acercarlos mejor. Una vez alcanzado el eje
imaginario, quitar el zoom con el botn de los binoculares.
Por ltimo, verificar que la ganancia correspondiente para que los polos a lazo
cerrado sean imaginarios puros es aproximadamente 43.5 (ganancia crtica).

El valor de la ganancia podra haberse modificado directamente desde el recuadro


correspondiente a la ganancia del compensador, hasta que los polos a lazo cerrado se
ubiquen sobre el eje imaginario.
Antes de disear el compensador, quisiramos conocer cmo se comporta el sistema a
lazo cerrado para un determinado valor de ganancia. Para ello, debemos seleccionar el
check box que aparece en la parte inferior de la ventana la opcin del grfico que no
interesa conocer. Para este ejemplo las especificaciones de diseo vienen dadas sobre
la respuesta al escaln, por lo que seleccionaremos dicha opcin, que desplegara una
ventana de LTIVIEWER. Si editamos el valor de la ganancia, por ejemplo 20, y
presionamos ENTER, veremos como la respuesta al escaln de la ventana LTIVIEWER se
modific. Recordemos que en dicha ventana, cuando hacemos click sobre la figura con
el botn derecho del mouse, podemos seleccionar que nos muestre las caractersticas
que necesitamos, en este caso el sobrepico y el tiempo de establecimiento. Podemos
observar que en este caso por ms que modifiquemos la ganancia, las especificaciones
nunca se alcanzan. Por lo que para que se cumplan debemos disear un compensador.
Para disear el compensador, debemos conocer donde queremos que se ubiquen los
polos en lazo cerrado para que las especificaciones se cumplan. Por eso vamos a elegir
del men Tools, la opcin Add Grid/Boundary, que realizar rectas donde se
especifiquen, en este caso le indicaremos el tiempo de establecimiento igual a 0.05 seg.
y el factor de amortiguamiento igual a 0.7. Una vez seleccionados dichos valores,
veremos que en el grfico aparecen las dos rectas correspondientes a las caractersticas
ingresadas. Ahora sabemos que para que se cumplan las especificaciones de diseo, los
polos dominantes del sistema a lazo cerrado debern ubicarse en la interseccin de
dichas rectas. Para ello, debemos mover el lugar de las races agregando polos y ceros
al compensador.
Para ello debemos proceder de alguna de las dos siguientes formas:
1)
Utilizando los botones de agregar, o quitar, polos o ceros: seleccionar el
botn correspondiente, luego con el puntero del mouse indicar donde se ubicar el polo y
hacer un click en dicho lugar.
Para nuestro ejemplo, ubiquemos un par de polos complejos conjugados por debajo y a
la derecha de los polos a lazo abierto. Agreguemos un par de ceros complejos
conjugados cerca de los polos a lazo abierto. Observemos como se modific el lugar de
las races. Si todava no pasa por la interseccin de las rectas correspondientes a las
caractersticas de diseo, mover los polos y/o ceros. Una vez conseguido esto, modificar
la ganancia para que los polos a lazo cerrado se ubiquen donde queremos, Figura 4. Por

FIEE
6
______________________________________________________________________
ltimo nos queda verificar con la respuesta al escaln que se cumplen las
especificaciones dadas, Figura 5.

Figura 4: Ubicacin deseada de los polos en Lazo Cerrado.

Figura 5: Respuesta al escaln del sistema en Lazo Cerrado.

FIEE
7
______________________________________________________________________
2)
Utilizando el men Edit compensator del men Tools, o haciendo un click
sobre el compensador del grfico de bloques de la derecha. Si ya realizamos el
procedimiento anterior, sabemos que los polos, ceros y ganancia del compensador se
puede aproximar con
K = 9.7
Polos = - 110 140i
Zeros = - 70 270i
Una vez encontrado el compensador que lleva a nuestro sistema a que cumpla con las
especificaciones dadas, podemos guardar los parmetros desde el men File, con la
opcin Export podemos llevarlo a un disco, o al workspace de MATLAB.

Otro ejemplo de LGR en MATLAB


Encontrar el LGR con MATLAB es muy simple:
1.- Declarar el numerador y el denominador de la Funcin de Transferencia como se
muestra en la figura. Los nmeros entre corchetes son los coeficientes de los
polinomios.
2.- Declarar la planta o proceso (En nuestro caso "pl"). sta instruccin crea la funcin de
transferencia con el numerador y el denominador declarados arriba y lo guarda en
"pl".
3.- Generar el LGR usando la instruccin rlocus y colocando entre parntesis la Funcin
de Transferencia de la cual deseamos obtener el LGR ( en nuestro caso "pl").

FIEE
8
______________________________________________________________________
4.- De la instruccin anterior obtenemos la figura:

5.- Con el comando rltool podemos obtener el LGR de una Funcin de Transferencia y
adems podemos saber la ganancia en cualquier punto, los puntos de cruce y los
puntos de abandono y llegada.
Llamar al rltool desde la ventana de comandos:

FIEE
9
______________________________________________________________________
Aparecer la siguiente ventana:

Hacer click en file y en import:

FIEE
10
______________________________________________________________________
Despus de hacer click en import aparece esta ventana en donde nos pedir que le
indiquemos la planta o proceso (Funcin de Transferencia) con la cual trabajar. Nota
que nuestra Funcin de Transferencia ("pl") esta sobresaltada en azul. Solo hay que dar
un click en la flecha de G(s) para importarla. sta Funcin de Transferencia ("pl") es la
que generamos al comienzo, si hubiramos generado ms de una habran aparecido en
esta ventana.

seleccionar OK para generar el LGR

FIEE
11
______________________________________________________________________
sta grfica nos permite observar la ganancia en el cruce jw. Nota que para este ejemplo
la ganancia en el cruce es 3.94. Con la flecha del ratn podemos mover los cuadros rosa
del grfico y obtener la ganancia en cualquier punto as como los valores de los puntos
de cruce, y de los puntos de abandono y llegada si los hay. Dichos valores aparecern
en el recuadro gris de la parte inferior.
Entonces una gua rpida para la aplicacin de ste comando rltool, se da a
continuacin:

COMPENSADORES EN MATLAB (rltool)


Primero se define la funcin de transferencia de lazo abierto como se muestra en la
ventana de comandos.
Despus se definen uno o ms compensadores con los
cuales se va afectar el LGR.
Se llama a la herramienta rltool, se importa la Funcin de Transferencia definida en la
ventana anterior y tambin se hace otro tanto con algn compensador. Si se definieron
ms de un compensador su efecto se analiza uno a uno y se elige el que ms convenga
(ver figura).

FIEE
12
______________________________________________________________________

El LGR con el compensador definido es:

FIEE
13
______________________________________________________________________

LABORATORIO N 2
METODO DE SINTONA EN LAZO CERRADO
(ZIEGLER & NICHOLS)
Objetivos:

Poner en prctica los mtodos de sintona de Ziegler y Nichols,


para plantas industriales.
Implementar con el Simulink, los esquemas de controladores PID.

Para ello se implementar el esquema visto en el seminario ltimo.

1.

El amplificador en el paso directo, simula la aplicacin de un controlador Proporcional


(Kp), ya que recordemos que el procedimiento indica:

2.

Incrementar el valor de ganancia en factor de 2, hasta que el sistema oscile con


amplitud sostenida (cada vez que se aumente el valor de ganancia, debe
probarse si ya se lleg a la inestabilidad con la aplicacin de una seal en forma
de escaln unitario en la entrada).

Cuando se est cerca de la oscilacin sostenida los incrementos de ganancia


deben ser ms pequeos, para evitar pasar los polos al semiplano derecho.

Una vez ubicados los polos en el eje imaginario, deber tomarse nota del valor de
ganancia con que se lleg a la inestabilidad (Kpu) y el valor del perodo de
oscilacin (Tu).

Aplicar la Tabla (ubicada al final) de acuerdo al tipo de controlador a utilizar (P, PI


PID)
Reemplazar el amplificador en el paso directo por un controlador PID (ubicarlo en
el SIMULINK LIBRARY BROWSER, en el bloque SIMULINK EXTRAS en el
grupo ADDITIONAL LINEAR)

FIEE
14
______________________________________________________________________

Ajustar las ganancias proporcional (Kp), integral (Ki) y derivativa (Kd) del controlador
PID, de acuerdo a la tabla anterior y probar su funcionamiento.
3.(*)

Cuando se desea implementar otras variantes del controlador PID (por ejemplo la
accin derivativa en la retroalimentacin), lo que conviene es implementar el
controlador PID en sus partes P, I y D en forma individual independiente, as:

Ya que la Funcin de Transferencia de un controlador PID es:

1
Gc(s) = Kp 1 +
+ d s
i s

Entonces verificaremos que el funcionamiento es el mismo, tanto con una u otra


implementacin del controlador PID, para ello probaremos con el siguiente
esquema:

FIEE
15
______________________________________________________________________
IMPLEMENTACIN
PID INDIVIDUAL

IMPLEMENTACIN
CON BLOQUE PID

Cmo son las seales de salida de cada uno de los sistemas implementados?
Se puede decir que ambos funcionan igual?
4.(*)

Implementar el siguiente esquema en Simulink, previo diseo del controlador PID,


tal que el sistema ante una entrada en escaln, responda con: ess = 0 , Mp = 10%
y ts = 1 seg.
Probar su funcionamiento.

R(s)

E(s)

KP + KI

1
s

U(s)
2

( s + 6 s + 25)
KDs

Tabla de aplicacin para el Mtodo de Lazo Cerrado

P
PI
PID

Proporcional
0.56 KpU
0.45 KpU
0.67 KpU

Integrativo
TU / 1.2
TU / 2

Derivativo
TU / 8

Y(s)

FIEE
16
______________________________________________________________________

Donde:
Kpu, es la ganancia con la que el sistema oscila.
Tu, es el perodo de oscilacin
(*) :

tomado en la Primera Prctica calificada de EE-616-M/N del 2007-1

Aplicaciones de diseo (para tarea)


A continuacin se muestran dos plantas diferentes:

Gp1(s) =

5
(s + 1)(s + 2)(s + 3)

Gp2(s) =

0.5
s(s + 3)

Se le pide:
I.-

Disear un controlador PID (con cada una de las variantes mostradas al final),
con las siguientes caractersticas:
MP = 15%
Ts (elegir un valor adecuado)
ess = 0
Una vez hecho el diseo, se le pregunta;
a) Qu puede concluir de sus resultados, respecto a la configuracin que para
Ud. sera la configuracin ms adecuada?
b) Qu hecho es que lo hace llegar a la conclusin anterior?
c) cul sera el menos adecuado? (si es que lo hay)

II.-

En los casos de las plantas anteriores(Gp1(s) y Gp2(s)), se le pregunta:


Podra utilizarse algn mtodo de sintona, para ajustar el controlador a las
caractersticas de la planta?.
Si su respuesta es afirmativa, cmo realizara el procedimiento de aplicacin de
este mtodo para cada una de las plantas.
Sintoncelos y simule su funcionamiento.
Si su respuesta fue negativa, a qu se debe que no se pueda aplicar?, en una
aplicacin real Qu condicin cambiara de la planta para poder aplicar algn
mtodo de sintona?

III.-

Elegir una planta (distinta a Gp1(s) y Gp2(s)), que le permita aplicar el mtodo de
sintona en Lazo abierto.
Indicar el procedimiento a seguir y simular la respuesta del sistema, para verificar
sus resultados.

NOTAS:

- En todas las preguntas deben incluirse los diseos detallados, as como


las simulaciones respectivas en simulink (indicando los esquemas
empleados).
- Es importante, que al final de la tarea, se incluyan OBSERVACIONES Y
CONCLUSIONES, respecto a las implementaciones y diseos realizados.

FIEE
17
______________________________________________________________________
Otras variantes (que no son las nicas, pero si las ms aplicadas) que
encontraremos al aplicar Controladores PID, se muestran a continuacin:
1.-

R(s)

2.-

R(s)

PID, en controlador PID esta en el paso directo

+
_

KP +

KI
+ KD s
s

Gp(s)

Y(s)

PI-D, en la retroalimentacin de la planta se encuentra la accin derivativa y la


accin PI en paso directo.

+
_

KP +

KI
s

+
_

Gp(s)

Y(s)

KD s

3.-

R(s)

I-PD, la accin integrativa en el paso directo y la accin PD en la


retroalimentacin de la planta.

+
_

KI
s

+
_

Gp(s)

K P + KD s

Y(s)

FIEE
18
______________________________________________________________________

LABORATORIO N 3
SIMULACIN DE SISTEMAS DE CONTROL DISEADOS
POR EL MTODO DE UBICACIN DE POLOS
Objetivos:

Aplicar un mtodo de control moderno, como es la reubicacin de


polos
Aplicar observadores de estado de orden completo y de orden
reducido en el diseo de sistemas de control

Dado un sistema representado en el Espacio de Estado: x = Ax + Bu ,

A = 3
7

-1

-1 -1
1
- 4

0

B = - 2
7

C = (20 0 0 )

donde:

D=0

Entonces, empleando un control mediante la realimentacin del estado u = K x , se


pretende que los polos en lazo cerrado estn en:
1 = -4 + j5
2 = -4 j5
3 = -8

Ejemplo #1:

Diseo por ubicacin de polos, empleando la frmula de


Ackermann.

% Calcula matriz de realimentacin de estado para un sistema continuo


% de tercer orden, empleando la frmula de Ackermann
A = [1 -1 0;3 -1 -1;7 1 -4 ]
B = [0;-2;7]
C = [20 0 0]
D = 0;
% Polos de lazo cerrado deseados Pc = [-4+5*j;-4-5*j;-8]
echo on
% Clculo de la matriz de ganancia
K = acker(A, B, Pc)
sys1 = ss(A-B*K, 0*B, C, D);
% modelo continuo en el tiempo
% Define la variable tiempo
t = 0:0.02:1.6;
% Se fijan las condiciones iniciales
x0 = [-2 1 2]';
% x0 es un vector columna
% Respuesta a las CI
[Y, T, X] = initial(sys1, x0, t);
subplot(2,1,1)
plot(t,X)
title('Respuesta a las CI del regulador con realimentacin lineal de estado')
xlabel('tiempo en segundos')
ylabel('x1, x2 y x3')
grid on
% Reconstruye la seal de control
u = -X*K';

FIEE
19
______________________________________________________________________
subplot(2,1,2)
plot(t,u)
% title('Respuesta del regulador con realimentacin lineal de estado')
xlabel('tiempo en segundos')
ylabel('seal de control u')
grid on

Ejemplo #2:

Diseo por ubicacin de polos, empleando la frmula de


Ackermann.

Veamos un ejemplo del uso de la frmula de Ackermann con MATLAB


% Uso del comando acker y el concepto de sistema dual para un sistema continuo
A = [-2 5; 0 1];
% matriz de estado
B = [0; 4];
C = [-1 1];
Po = [-4;-6];
% Polos del observador en 4 y -6
Ke = acker(A',C',Po)'
% Calcula ganancia para ubicacin del sistema dual
Ao = A - Ke*C;
Bo = [Ke B];
eig(Ao)
% calcula eigenvalores del observador

Ejemplo #3:

Diseo de Observadores de Estado de orden completo.

Consideremos el diseo de un sistema regulador. La planta es:

.
y = Cx
x = Ax + Bu
1
0
0

donde: A =
B =
20.6 0
1
Se desea tener los polos de Lazo Cerrado en:

s1 = -1.8 + j2.4

C = (1 0 )
y

s2 = -1.8 j2.4

Y los valores caractersticos de la matriz de ganancias del observador son:


s1 = s2 = -8
Luego obtengamos la matriz de ganacias de realimentacin del Estado K necesaria y la
matriz de ganancias del observador Ke
% ------------ Ubicacin de polos y diseo del observador .---------% ****** Introduzca las matrices A, B, C y D ******
A=[0 1;20.6 0];
B=[0;1];
C=[1 0];
D=[0];
% ***** Verificamos el rango de la matriz de controlabilidad M *******
M=[B A*B];
rank(M)
Ans =

FIEE
20
______________________________________________________________________
%**** Dado que el rango de la matriz de controlabilidad M es 2,
% es posible una ubicacin arbitraria de los polos *****
%**** Introducimos el polinomio caracterstico deseado definiendo
% la matriz J siguiente y calculando poly (J) ****
J=[-1.8+2.4*i 0;0 -1.8-2.4*i];
poly(J)
Ans =

1.0000

3.6000

9.0000

% **** Introducimos el polinomio caracterstico Phi *****


Phi=polyvalm(poly(J),A);
% **** la matriz de ganancias de realimentacin del estado K se obtiene mediante*******
K=[0 1]*inv(M)*Phi
K=
29,6000
3.6000
%***** El programa siguiente determina la matriz del observador Ke*****
% **** Introducimos la matriz de observabilidad M y verificamos su rango *****
N=[C A*C];
rank(N)
2
% ***** Dado que el rango de la matriz de observabilidad es 2, es posible
% el diseo del observador *****
% ***** Introducimos el polinomio caracterstico deseado definiendo la
% matriz j0 siguiente e introduciendo el enunciado poly(j0) *****
j0=[-8 0;0 -8];
poly(j0)
ans =
1
16
64
% ***** Introducimos el polinomio caracterstico Ph *****
Ph=polyvalm(poly(j0),A);
% ***** La matriz de ganancias del observador Ke se obtiene a partir de *****
Ke=Ph*(inv(N))*[0;1]
Ke =
16.0000
84.6000

Ejemplo #4:

A partir de los resultados anteriores, determinamos el


polinomio caracterstico

% -------------Polinomio Caracterstico---------------% *********El polinomio caracterstico para el sistema diseado, se obtiene mediante
% | sI A + BK | | sI A + KeC | ************
%**********Este polinomio caracterstico se obtiene usando los valores caractersticos de
% A Bk y A KeC, del siguiente modo*********
X=[eig(A-B*K);eig(A-Ke*C)]
X=

FIEE
21
______________________________________________________________________
-1.8000 + 2.4000i
-1.8000 2.4000i
-8
-8
poly(X)
ans=
1.0000

19.6000

Ejemplo #4:

130.6000

374.4000

576.6000

Diseo de observadores de orden mnimo

% -------- Diseo de un observador de orden mnimo -------% **** Este programa usa la matriz de trnasormacin Q *******
% **** Introduzca las matrices A y B ****
A = [0 1 0;0 0 1;-6 -11 -6];
B = [0;0;1];
% **** Introduzca la s matrices Aaa, Aab, Aba, Abb, , Ba y Bb, Observe que
% A = [Aaa Aab;Aba Abb] y B = [Ba;Bb] ****
Aaa 0 [0]; Aab = [1 0] Aba = [0; -6] Abb = [0 1;-11 -6];
Ba = [0]; Bb = [0;1];
% **** Determine a1 y a2 del polinomio caractersitico
% para la parte no observada del sistema ****
p = polu(Abb)
p=

1 6 11

a1 = p(2); a2 = p(3);
% **** Introduzca la matriz de observabilidad reducida N y la matriz W ****
N = [Aab Abb*Aab];
W = [a1 1;1 0];
% **** Introduzca la polinomio caracteristico deseado definiendo
% la matriz j la siguiente e introduciendo el enunciado poly(j) ****
J = (-2*2*sqrt(3)* 0;0 -2-2*sqrt(3)*];
JJ = poly(j)
JJ =
1.0000 4.0000 16.0000
% **** Determine aa1 y aa2 del polinomio
% caracterstico deseado ****
aa1 = jj(2); aa2 = jj(3);
% ***** La matriz de ganancias del observador Ke para el observador de
% orden mnimo se obtiene mediante *****
ke = inv(W*N)*[aa2 - a2;aa1 a1]
Ke =

-2
17

FIEE
22
______________________________________________________________________

LABORATORIO N 4
CONTROL OPTIMO, BASADO EN EL NDICE DE
COMPORTAMIENTO CUADRTICO
Objetivos:

Ejemplo #1:

Aplicar otro mtodo de control moderno, como es el control


ptimo cuadrtico.

Cuando la matriz no es estable.

Considere el sistema definido mediante

x& 1 1 1 x1 1
=
+ (u)
x
&
2
0
2

x2 0
Demuestre que el sistema no se estabiliza mediante el esquema de control de
realimentacin de estado.
u = K x
Sin importar cul matriz K se seleccione. (Observe que el estado de este sistema es no
controlable) Defina
K = [k1 k2]
As

1 1 1
1 k 1 1 + k2
(k1 k2 ) =

A BK =
0
2
0
0
2

Por lo tanto, la ecuacin caracterstica se vuelve

s + 1 + k1 1 + k2
= (s + 1 + k1)(s 2) = 0
| sI ( A BK ) | =
0
s 2

Los polos en lazo cerrado se ubican en:

s = 1 k1

s=2

Dado que el polo en s = 2 est en el semiplano derecho del plano s, el sistema es


inestable con cualquier matriz K que se seleccione.
Por tanto, las tcnicas para el
control ptimo cuadrtico no se aplican en este sistema.
Supongamos que las matrices Q y R del ndice de desempeo cuadrtico se obtienen
mediante

1 0

Q =
0 1

R = (1)

Y que escribimos el programa MATLAB siguiente, La solucin MATLAB resultante es

K = (NaN NaN)
(NaN significa no es nmero.) Cuando no existe la solucin para un problema de
control ptico cuadrtico, MATLAB nos dice que la matriz K est formada por NaN.}.
Entonces:

FIEE
23
______________________________________________________________________

Ejemplo #1

Diseo De un sistema regulador ptimo cuadrtico

% ****** Determinacin de la matriz de ganancias de realimentacin


% K para un control ptimo cuadrtico ******
% ***** Introduzca la matriz de estado A y la matriz de control B *****
A=[-1 1;0 2];
B=[1;0];
% ***** Introduzca las matrices Q y R del indice de desempeo cuadrtico *****
Q=[1 0;0 1];
R=[1];
% ***** Para obtener una matriz de ganancias de realimentacin
% ptima K introduzca el comando siguiente *****
K=lqr(A,B,Q,R)
% Warming: Matriz is singular to working precision.
%K=
%
NaN
NaN
% ***** Si introducimos el comando [K,P,E] = lqr(A,B,Q,R), en tal caso *****
[K,P,E]=lqr(A,B,Q,R)
% ??? Error using ==> lqr
% (A,B) is unstabilizable.

Ejemplo #2:

Cuando la matriz es estable.

En donde

x& 1 0 1 x1 0
=
+ (u)
x& 2 0 - 1 x2 1
El ndice de desempeo J se obtiene mediante: J =
En donde

1 0

Q =
0 1

0 (x' Q x + u' R u) dt

R = (1)

Supongamos que se usa la seal de control u siguiente.

u = K x

Determine la matriz de ganancias de realimentacin ptima K.


La matriz de ganancias de realimentacin ptima se obtiene resolviendo la ecuacin de
Ric-cati siguiente para una matriz P definida positiva
El resultado es

AP + PA PBR-1BP + Q = 0

2 1

P =
1 1
Al sustituir sta matriz en la ecuacin siguiente produce la matriz K ptima

FIEE
24
______________________________________________________________________
2 1

= (1 1)
K = R-1 B P = (1) (0 1)
1 1
Por tanto, la seal de control ptimo se obtiene mediante: u = -x1 x2
El programa MATLAB, que produce la solucin para este problema, es:

Ejemplo # 3:

Diseo de un sistema regulador ptimo cuadrtico

% ***** Determinacin de la matriz de ganancias de realimentacin


% K para un control ptimo cuadrtico ******
% ***** Introduzca la matriz de estado A y la matriz de control B *****
A=[0 1;0 -1];
B=[0;1];
% ***** Introduzca las matrices Q y R del ndice de desempeo cuadrtico *****
Q=[1 0;0 1];
R=[1];
% ***** La matriz de ganancias de realimentacin ptima K (si existe la matriz K)
% se obtiene introduciendo el comando lqr (regulador lineal cuadrtrico) *****
K = lqr(A,B,Q,R)
%K =
%
1.0000

Ejemplo #4:

1.0000

Cuando se desea la matriz P positiva definida

Considere el sistema obtenido mediante


En donde:

1
0
0

A= 0
0
1
35 27 9

El ndice de desempeo J se obtiene mediante

En donde

1 0 0

Q = 0 1 0
0 0 1

x& = Ax + Bu

0

B = 0
1

J = ( x' Q x + u' R u) dt
0

R = (1)

Obtenga la matriz solucin P definida positiva de la ecuacin de Riccati, la matriz de


ganancias de realimentacin ptima K y los valores caractersticas de la matriz A BK
Entonces, el programa MATLAB que resolver este problema es:

FIEE
25
______________________________________________________________________

Ejemplo #5:

Diseo de un sistema regulador ptimo cuadrtico

% ***** Determinacin de la matriz de ganancias de realimentacin


% K para un control ptimo cuadrtico ******
% ***** Introduzca la matriz de estado A y la matriz de control B *****
A = [0 1 0;0 0 1;-35 27 9];
B = [0;0;1];
% ***** Introduzca las matrices Q y R del ndice de desempeo cuadrtico *****
Q = [1 0 0;0 1 0;0 0 1];
R = [1];
% ***** La matriz de ganancias de realimentacin ptima K, la solucin de la
% ecuacin de Riccati y los polos en lazo cerrado (es decir, los valores
% caractersticos de A - BK) se obtiene introduciendo el comando siguiente ******
[K,P,E] = lqr(A,B,Q,R)
%K =
%
0.0143

0.1107

0.0676

%P =
%
4.2625
%
2.4957
%
0.0143

2.4957
2.8150
0.1107

0.0143
0.1107
0.0676

%E =
%
- 5.0958
%
- 1.9859 + 1.7110i
%
- 1.9859 1.7110i

FIEE
26
______________________________________________________________________

LABORATORIO N 5
LINEALIZACIN DE SISTEMAS NO LINEALES
(aplicaciones en control)
Objetivos:

Familiarizarnos con el procedimiento ms aplicado en la


linealizacin de sistemas representados en espacio de estados.
Probar con el uso de simulink, el beneficio de esta aplicacin de
linealizacin.

Una gran parte de la teora desarrollada para el diseo de sistemas de control emplea
modelos matemticos lineales del proceso que se desea controlar a lazo cerrado. Sin
embargo, la inmensa mayora de sistemas en procesos qumicos exhibe conducta no
lineal. Ejemplo de sistema altamente no lineal lo constituye el campo de reactores
qumicos an para reacciones muy simples.
Entonces planteamos la siguiente pregunta: Cmo podemos emplear teora de control
lineal para el control de sistemas no lineales? Una forma simple de responder a esta
pregunta es: empleando alguna de forma de transformar el sistema no lineal en uno
lineal. De esta forma el modelo "linealizado" puede ser empleado para el diseo del
sistema de control del modelo no lineal original. Una posible ruta para el diseo del
sistema de control se muestra en la siguiente figura.

empezamos derivando el modelo (muy probablemente) no lineal del proceso que


deseamos controlar. A continuacin lo transformamos en un modelo lineal (el
procedimiento de transformacin sera explicado en esta parte). Posteriormente

FIEE
27
______________________________________________________________________
diseamos el sistema de control para el modelo linealizado. Finalmente el sistema de
control se prueba ya sea empleando el modelo lineal, o bien, el modelo no lineal original.
En esta parte mostramos la manera mediante la cual una funcin no lineal f(x; u) puede
ser representada aproximadamente por una funcin lineal alrededor de un cierto punto x0
(normalmente un estado estacionario del proceso Punto de equilibrio).
Tal vez una primera pregunta respecto al proceso de linealizacin, podra ser qu
significa linealizar un sistema no lineal? Linealizar una funcin no lineal f(x;u) significa
reemplazarla por otra funcin lineal f(x;u). Si las dos funciones representan bsicamente
el mismo proceso, entonces para que sirve representar una funcin no lineal por otra
lineal ? Usualmente esta aproximacin se realiza alrededor de un punto denotado por (x0,
u0) tal como se muestra en la siguiente figura.

Debido a que la mayora de herramientas para el anlisis de sistemas y diseo de


sistemas de control requieren que el modelo sea lineal, es necesario entonces disponer
de mtodos para linealizar modelos.
La linealizacin generalmente consiste en una expansin en series de Taylor de la
ecuacin de estado (no-lineal) alrededor de un punto de operacin definido naturalmente
por el sistema o seleccionado arbitrariamente para satisfacer alguna necesidad de
control.

f(x) = f(x 0 ) +

f
x

x +
x0

1 2f
( x ) 2 + ...
2! x 2 x
1444024443
trminos de orden superior

Tomando los trminos de primer orden:

f(x) = f(x 0 ) +

f
x

x
x0

FIEE
28
______________________________________________________________________
Cuando un modelo es muy complejo matemticamente es necesario recurrir a tcnicas
como las representaciones expansiones en series infinitas. Las soluciones en series
infinitas son usadas generalmente para aproximar el valor de una funcin en un punto
arbitrario con cierto grado de precisin, donde f(x) es la expansin alrededor del punto x0.
Es as que el modelo incremental lineal en espacio de estados del sistema linealizado es:

x = A x + B u
y = C x + D u
Donde el orden de las Matrices A, B, C y D, son:

Anxn ,

Bnxm ,

Cpxn ,

Dpxm

Entonces, el punto de trabajo es el estado de funcionamiento del sistema en torno al cual


vamos a trabajar y debe ser un estado de equilibrio, lo cual significa que las derivadas
temporales son cero: d/dt = 0
As el modelo lineal describir bien al real, cuando el
sistema evoluciona cerca del punto de equilibrio, ya que lejos del punto de equilibrio el
modelo linealizado pierde precisin.
Por ello el punto de equilibrio, debe elegirse lo ms prximo posible a los puntos de
funcionamiento previsibles del sistema en las condiciones de funcionamiento habituales.
La matrices A, B, C y D, no son sino las matrices Jacobianas, donde si las variables x, u
e y son escalares (es decir R), entonces A, B, C y D representan las pendientes de las
superficies f y g en el punto de operacin.

f1
x1
f2
A = x1
M
f n
x1

f1
f1

L
x2
xn

f2
f2
L

x2
xn
M
M
fn
fn
L
x2
xn
(x, u)

f1
u1
f2
B = u1
M
f n
u1

f1
f1

L
u2
um

f2
f2
L

u2
um
M
M
fn
fn
L
u2
um
(x, u)

FIEE
29
______________________________________________________________________

g1
x1
g2
C = x1
M
g
p
x1

g1
x2
g2
x2
M
gp
x2

L
L

g1

xn
g2

xn

M
gp

xn
(x, u)

g1
u1
g2
D = u1
M
g
p
u1

g1
u2
g2
u2
M
gp
u2

g1

um
g2

um

M
gp

um

(x, u)

LINEALIZACION DE UN SISTEMA DE DOS TANQUES


INTERCONECTADOS EN CASCADA
(aplicacin con Simulink)

Dado el siguiente sistema de dos tanques cilndricos iguales en cascada, siendo las
reas de seccin iguales a 10 m2, el objetivo del sistema es controlar el nivel en el
tanque 2.

Qi
Tanque 1

Tanque 2

H2

H1

Q0

Q12

H1 y H2alturas en los tanques 1 y 2


A
rea de seccin de los tanques cilndricos
Qi
Flujo (caudal) de alimentacin
Qi = Q = 2 m3/s
Qo
Flujo (caudal) de salida
3
= 1.23 Kg/m
g = 9.81 m/s2
=1
(factor que depende de la geometra del orificio de salida de cada tanque)

MODELAMIENTO DEL SISTEMA


Planteando las ecuaciones de conservacin de la masa

Q i Q12 = C1
Donde

dH1
dt

Q12 Q o = C 2

dH2
dt

FIEE
30
______________________________________________________________________
Q12 =

2 g (H1 H2) =

Qo =

2 g H2 =

esto para

k =

2 g (H1 H2) = k (H1 H2)

2 g H2 = k H 2
2 g = (1) (2)(1.23)(9.81) = 4.9125

Reemplazando obtenemos:

Q i k H1 H2

A
A

f1

H1 =

f2

H2 =

y = H2

k H1 H2 k H2

A
A

eligiendo como variables de estados:

x1 =

x2 =

x1 = H1 y

x2 = H2

Qi k x1 x 2

A
A
k x1 x 2 k x 2

A
A

y = x2
El esquema que emplearemos para determinar las respuestas temporales de H1 y
H2, es el siguiente:

FIEE
31
______________________________________________________________________
El bloque MatLab Function, se define as:
[-0.49125*sqrt(u(2)-u(3))+0.2 , 0.49125*sqrt(u(2)-u(3))-1.49125*sqrt(u(3))]

PROCEDIMIENTO DE LINEALIZACIN:
DETERMINACION DEL PUNTO DE EQUILIBRIO

f1

x1 =

Qi k x1 x 2

A
A
k x1 x 2 k x 2

A
A

f2

x2 =

y = x2

x1 = 0.2 0.49125 x 1 x 2

x 2 = 0.49125 x 1 x 2 0.49125 x 2

El sistema es no lineal, por lo que antes de la linealizacin obtendremos el punto de


operacin, haciendo:

x1 = 0

x2 = 0
Aplicando:

Qi k x 1 x 2

A
A
k x1 x 2 k x 2
0=

A
A
0=

Por lo que:

Q i = k x1 x 2

x1 x 2 = x 2

x1 x2 = x2
Qi2 = k2 (2x2 x2)

x1 = 2 x2
x2 = (Qi / k)2
x1 = 2 (Qi / k)2

Reemplazando valores, obtenemos el punto de equilibrio:

__ __
2
2
x1 x 2 = 2

4.9125

2
2
= [0.3315 0.16575 ]
4.9125

) (

DETERMINACION DEL SISTEMA LINEALIZADO


Linealizando el sistema a partir del punto de operacin obtenido, determinaremos las
matrices A, B, C y D

FIEE
32
______________________________________________________________________

f1

A = x1

f2
x1

f1

2A
x2

=
f2

x2
(x1, x2, Q ) 2 A

2 A x1 x 2
k
k

2 A x1 x 2 2 A x 2

x1 x 2
k
x1 x 2

x2 = (Qi / k)2

pero:

y considerando el caudal de ingreso constante:

k =

x1,x2,Q )

x1 = 2 (Qi / k)2
Qi = Q

2 g = (1) (2)(1.23)(9.81) = 4.9125

A = 10

Q=2

Resolvemos y reemplazamos:

f1
k2

H2
2AQ

=
f2
k2

H2
(x1, x2, Q ) 2 A Q

f1

A = x1

f2
x1

f1

x2
0.6033 0.6033

=
f2
0.6033 1.2066

x2
(x1, x2, Q )

f1
Q
i
B=

f 2

Qi (

1/A 0.1
=
=

0 0

2
k

AQ

(4.9125) 2

2 (10) (2)
=
(4.9125) 2

2 (10) (2)

f1

A = H1

f2
H1

k2
2AQ

(4.9125) 2

2 (10) (2)
(4.9125) 2

(10) (2)

g
g
C=
= [0 1 ]
x1 x 2

x1,x2,Q )

El esquema para determinar las respuestas temporales de H1 y H2 (aplicando el


procedimiento de linealizacin), es el siguiente:

FIEE
33
______________________________________________________________________

LINEALIZACION DE UN SISTEMA DE TANQUES


EN CAIDA
(aplicacin con Simulink)
En la figura siguiente se muestran dos tanques abiertos idnticos, los tanques son
cilndricos y con rea de seccin de 9 m2.
El objetivo del control es estabilizar la altura del Tanque 2 (H2), empleando como fuerza
de control el flujo de alimentacin Qo.

Qo

Tanque 1
g

H1

P1

Q1

H2

Tanque 2

P2
Q2

P1, P2:
son las presiones en el fondo de los tanques.
Po:
Presin atmosfrica.
Q1, Q2: Flujos (caudales) de salida de los tanques
Q0:
Flujo de alimentacin,
Q0 = 3 m3/s
= 1.23 Kg/m3
g = 9.81 m/s2
= 0.4
(factor que depende de la geometra del orificio de salida de cada tanque)

MODELAMIENTO DEL SISTEMA:


Podemos obtener las siguientes ecuaciones del sistema de tanques:

Q1 =

P1 P 0

Q2 =

P2 P0

Adems:
P1 P0 = g H1

P2 P0 = g H2

De los caudales de cada tanque y de sus respectivas capacitancias (mismas que son
iguales al rea de seccin de cada tanque).

FIEE
34
______________________________________________________________________
Q 0 Q 1 = C1

dH1
dt

Q1 Q 2 = C 2

dH 2
dt

Donde C1 = C2 = S = 9 m2
Por lo que en base a las ecuaciones anteriores:

H1 =

Q 0 Q1

S
S

pero:

Q1 =

P1 P 0

Q2 =

P2 P0

H2 =

Q1 Q 2

S
S

reemplazando:

H1 =

H2 =

P1 P 0
S

Q0

P1 P 0 P 2 P 0

S
S

como : P1 P0 = g H1

P2 P0 = g H2

y eligiendo como variables de estado:


obtendremos finalmente:

x1 =

Q0 g

x1
S
S

x2 =

y = x2

g
S

x1

x2

x1 = H1 y

x2 = H2

FIEE
35
______________________________________________________________________

El bloque MatLab Function se define asi:


[-0.154385*sqrt(u(2))+u(1)/9 , 0.154385*sqrt(u(3))-0.154385*sqrt(u(3))]

PROCEDIMIENTO DE LINEALIZACION
DETERMINACION DEL PUNTO DE EQUILIBRIO

f1:

x1 =

Q0 g

x1
S
S

f2:

x2 =

g:

y = x2

g
S

x1

x2

x1 =

1
0.154385 x 1
3

x 2 = 0.154385

x1

x2

El sistema es no lineal, por lo que antes de la linealizacin obtendremos el punto de


operacin, haciendo:

x1 = 0

x2 = 0
Aplicando:

g
Q
0= 0
x1
S
S
0=

g
S

x1

x2

Q0
= x1
g
x1 = x2

H1 =

Q0

FIEE
36
______________________________________________________________________
Por lo que el punto de operacin es:

_ _ Q 2
x 1 x 2 = 2 0

2
g
Q0

Reemplazando valores:

_ _
(3)2
x 1 x 2 =

(0.4) 2 (1.23) ( 9.81)

(3) 2

= [ 4.66 4.66 ]
(0.4) 2 (1.23) ( 9.81)

OBTENCION DEL SISTEMA LINEALIZADO


Conocido el punto de operacin, obtendremos las matrices del sistema linealizado: A, B,
C y D.

f1

A = x1

f2
x1

f1
g

2 S x1
x2

=
f2
g

x2
(x1, x2, Q0 ) 2 S x1

f1
Q
0
B=

f 2

Q 0 (

1/S 1/9
=
=
0 0

2S x2
(
0

0.03576
0
0.03576 0.03576

x1,x2,Q0 )

g
C=
x1

g
= [0 1 ]
x2

x1,x2,Q0 )

SIMULACION EN SIMULINK
Al realizar la simulacin, el Bloque MatLab Function, expresar:
[ 0.154385*sqrt(u(2))+1/3 , 0.154385*sqrt(u(2)) 0.154385*sqrt(u(3))]
Las condiciones iniciales del Integrador, son:
[ 4.66 4.66]

S-ar putea să vă placă și