Download - separata-N3
-
8/19/2019 separata-N3
1/36
-
8/19/2019 separata-N3
2/36
-
8/19/2019 separata-N3
3/36
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 opción paraimportar/exportar modelos y para editarlos.
- Un gráfico de bloques que es la estructura de realimentación que utilizaremos; sihacemos click sobre el bloque K, podemos ver o editar el compensador, y sobre P, Fo H para ver las características de diseño del modelo.
- Un botón para cambiar entre realimentación negativa y positiva.- Una descripción 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 enLazo Cerrado.
- Botones para editar los ejes.- Botones para modificar el zoom del gráfico.- Check boxes para abrir herramientas de analisis de respuesta del sistema.- Una barra de status que provee información.
Una vez abierta la ventana, debemos importar el modelo del sistema para el quequeremos diseñar un compensador. Existen cuatro formas para importar un modelo LTI,y estas son:
-
8/19/2019 separata-N3
4/36
FIEE 4
______________________________________________________________________
1. Cargar el modelo desde el workspace de MATLAB, con el comandorltool(sys,comp), donde sys es la función transferencia del sistema ingresadacomo tal, y comp la del compensador (opcional).
2. Cargar el modelo desde un archivo de extensión .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 elworkspace. Para ello debemos previamente ingresar el modelo con la función tf o zpk y guardarla en una variable, por ejemplo Gp. Una vez cargado el modelo, lo podemosimportar desde el menú Import Model del menú File. En la ventana de importación quese desplegará encontraremos:
* Un diagrama correspondiente a la estructura de realimentación que utilizaremos.* Un botón que conmuta entre las dos posibles estructuras de realimentación 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 diseño.* Tres botones con flechas para transferir el modelo seleccionado de la lista alcomponente de diseño del modelo, ya sea P, F o H.
* Tres cuadros de textos para los nombres de los componentes del diseño. Desde esterecuadro podemos también definir funciones de transferencias para cadacomponente, utilizando tf, ss o zpk.
Ya sea en cualquiera de las dos configuraciones, cada componente representa: F (prefiltro); P (modelo de la planta); H (dinámica de la planta); K (compensador a diseñar).
Siguiendo con nuestro ejemplo, carguemos el modelo lineal en P, seleccionándolo desdela lista de workspace y luego haciendo un click sobre la flecha que señala a P, o
simplemente tipeando en el cuadro de texto Gp (nombre de nuestro modelo). Luego deseleccionar OK, en la región de gráfico de la ventana de diseño, aparecerá el gráfico dellugar de las raíces del modelo ingresado, Figura 3. Los pequeños cuadros rojos sobre élcorresponden a los polos a lazo cerrado correspondientes al valor de la ganancia delcompensador.
Figura 3: Lugar de las raíces que resulta cuando cargamos el modelo
-
8/19/2019 separata-N3
5/36
-
8/19/2019 separata-N3
6/36
FIEE 6
______________________________________________________________________
último nos queda verificar con la respuesta al escalón que se cumplen lasespecificaciones dadas, Figura 5.
Figura 4: Ubicación deseada de los polos en Lazo Cerrado.
Figura 5: Respuesta al escalón del sistema en Lazo Cerrado.
-
8/19/2019 separata-N3
7/36
FIEE 7
______________________________________________________________________
2º) Utilizando el menú Edit compensator del menú Tools, o haciendo un clicksobre el compensador del gráfico de bloques de la derecha. Si ya realizamos elprocedimiento anterior, sabemos que los polos, ceros y ganancia del compensador sepuede aproximar con
K = 9.7
Polos = - 110 ± 140iZeros = - 70 ± 270i
Una vez encontrado el compensador que lleva a nuestro sistema a que cumpla con lasespecificaciones dadas, podemos guardar los parámetros desde el menú File, con laopción 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 Función de Transferencia como se
muestra en la figura. Los números entre corchetes son los coeficientes de lospolinomios.
2.- Declarar la planta o proceso (En nuestro caso "pl"). Ésta instrucción crea la función detransferencia con el numerador y el denominador declarados arriba y lo guarda en"pl".
3.- Generar el LGR usando la instrucción rlocus y colocando entre paréntesis la Funciónde Transferencia de la cual deseamos obtener el LGR ( en nuestro caso "pl").
-
8/19/2019 separata-N3
8/36
FIEE 8
______________________________________________________________________
4.- De la instrucción anterior obtenemos la figura:
5.- Con el comando rltool podemos obtener el LGR de una Función de Transferencia yademás podemos saber la ganancia en cualquier punto, los puntos de cruce y lospuntos de abandono y llegada.
Llamar al rltool desde la ventana de comandos:
-
8/19/2019 separata-N3
9/36
FIEE 9
______________________________________________________________________
Aparecerá la siguiente ventana:
Hacer click en file y en import:
-
8/19/2019 separata-N3
10/36
FIEE 10
______________________________________________________________________
Después de hacer click en import aparece esta ventana en donde nos pedirá que leindiquemos la planta o proceso (Función de Transferencia) con la cual trabajará. Notaque nuestra Función de Transferencia ("pl") esta sobresaltada en azul. Solo hay que darun click en la flecha de G(s) para importarla. Ésta Función de Transferencia ("pl") es laque generamos al comienzo, si hubiéramos generado más de una habrían aparecido enesta ventana.
seleccionar OK para generar el LGR
-
8/19/2019 separata-N3
11/36
FIEE 11
______________________________________________________________________
Ésta gráfica nos permite observar la ganancia en el cruce jw. Nota que para este ejemplola ganancia en el cruce es 3.94. Con la flecha del ratón podemos mover los cuadros rosadel gráfico y obtener la ganancia en cualquier punto así como los valores de los puntosde cruce, y de los puntos de abandono y llegada si los hay. Dichos valores apareceránen el recuadro gris de la parte inferior.
Entonces una guía rápida para la aplicación de éste comando rltool, se da acontinuación:
COMPENSADORES EN MATLAB (rltool)
Primero se define la función de transferencia de lazo abierto como se muestra en laventana de comandos. Después se definen uno o más compensadores con loscuales se va afectar el LGR.
Se llama a la herramienta rltool, se importa la Función de Transferencia definida en laventana anterior y también se hace otro tanto con algún compensador. Si se definieronmás de un compensador su efecto se analiza uno a uno y se elige el que más convenga(ver figura).
-
8/19/2019 separata-N3
12/36
FIEE 12
______________________________________________________________________
El LGR con el compensador definido es:
-
8/19/2019 separata-N3
13/36
-
8/19/2019 separata-N3
14/36
FIEE 14
______________________________________________________________________
Ajustar las ganancias proporcional (Kp), integral (Ki) y derivativa (Kd) del controladorPID, de acuerdo a la tabla anterior y probar su funcionamiento.
3.(*) Cuando se desea implementar otras variantes del controlador PID (por ejemplo laacción derivativa en la retroalimentación), lo que conviene es implementar elcontrolador PID en sus partes P, I y D en forma individual ó independiente, así:
Ya que la Función de Transferencia de un controlador PID es:
++= s
s1
1KpGc(s) di
ττ
Entonces verificaremos que el funcionamiento es el mismo, tanto con una u otraimplementación del controlador PID, para ello probaremos con el siguienteesquema:
-
8/19/2019 separata-N3
15/36
FIEE 15
______________________________________________________________________
¿Cómo son las señales de salida de cada uno de los sistemas implementados?¿Se puede decir que ambos funcionan igual?
4.(*) Implementar el siguiente esquema en Simulink, previo diseño del controlador PID,tal que el sistema ante una entrada en escalón, responda con: ess = 0 , Mp = 10%y ts = 1 seg.Probar su funcionamiento.
sK K I P
1+
)256(
5
2 ++ ss
R(s) E(s) Y(s)U(s)
sK D
Tabla de aplicación para el Método de Lazo Cerrado
Proporcional Integrativo DerivativoP 0.56 KpU - -PI 0.45 KpU TU / 1.2 -
PID 0.67 KpU TU / 2 TU / 8
IMPLEMENTACIÓNPID INDIVIDUAL
IMPLEMENTACI N
CON BLOQUE PID
-
8/19/2019 separata-N3
16/36
FIEE 16
______________________________________________________________________
Donde:
Kpu, es la ganancia con la que el sistema oscila.Tu, es el período de oscilación
(*) : tomado en la Primera Práctica calificada de EE-616-M/N del 2007-1
Aplicaciones de diseño (para tarea)
A continuación se muestran dos plantas diferentes:
3)2)(s1)(s(s5
Gp1(s)+++
= 3)s(s
0.5Gp2(s)
+=
Se le pide:
I.- Diseñar un controlador PID (con cada una de las variantes mostradas al final),con las siguientes características:- MP = 15%- Ts (elegir un valor adecuado)- ess = 0
Una vez hecho el diseño, se le pregunta;a) ¿Qué puede concluir de sus resultados, respecto a la configuración que para
Ud. sería la configuración más adecuada?b) ¿Qué hecho es que lo hace llegar a la conclusión anterior?c) ¿cuál sería el menos adecuado? (si es que lo hay)
II.- En los casos de las plantas anteriores(Gp1(s) y Gp2(s)), se le pregunta:¿Podría utilizarse algún método de sintonía, para ajustar el controlador a lascaracterísticas de la planta?.
Si su respuesta es afirmativa, cómo realizaría el procedimiento de aplicación deeste método para cada una de las plantas.Sintonícelos y simule su funcionamiento.Si su respuesta fue negativa, ¿a qué se debe que no se pueda aplicar?, en unaaplicación real ¿Qué condición cambiaría de la planta para poder aplicar algúnmétodo de sintonía?
III.- Elegir una planta (distinta a Gp1(s) y Gp2(s)), que le permita aplicar el método desintonía en Lazo abierto.Indicar el procedimiento a seguir y simular la respuesta del sistema, para verificarsus resultados.
NOTAS: - En todas las preguntas deben incluirse los diseños detallados, así comolas simulaciones respectivas en simulink (indicando los esquemasempleados).
- Es importante, que al final de la tarea, se incluyan OBSERVACIONES YCONCLUSIONES, respecto a las implementaciones y diseños realizados.
-
8/19/2019 separata-N3
17/36
FIEE 17
______________________________________________________________________
Otras variantes (que no son las únicas, pero si las más aplicadas) queencontraremos al aplicar Controladores PID, se muestran a continuación:
1.- PID, en controlador PID esta en el paso directo
Gp(s)R(s) + Y(s)
_sK
sK
K DI
P ++
2.- PI-D, en la retroalimentación de la planta se encuentra la acción derivativa y la
acción PI en paso directo.
sK
K IP + Gp(s)
sKD
R(s) + + Y(s) _ _
3.- I-PD, la acción integrativa en el paso directo y la acción PD en laretroalimentación de la planta.
sKI Gp(s)
sKKP D+
R(s) + + Y(s) _ _
-
8/19/2019 separata-N3
18/36
FIEE 18
______________________________________________________________________
LABORATORIO Nº 3
“SIMULACIÓN DE SISTEMAS DE CONTROL DISEÑADOSPOR EL MÉTODO DE UBICACIÓN DE POLOS”
Objetivos: - Aplicar un método de control moderno, como es la reubicación depolos
- Aplicar observadores de estado de orden completo y de ordenreducido en el diseño de sistemas de control
Dado un sistema representado en el Espacio de Estado: BuAxx.
+= , donde:
( ) 0D0020C72-
0
B4-17 1-1-3
01-1
A ==
=
=
Entonces, empleando un control mediante la realimentación del estado xKu −= , sepretende que los polos en lazo cerrado estén en: µ1 = -4 + j5
µ2 = -4 – j5µ3 = -8
Ejemplo #1: Diseño por ubicación de polos, empleando la fórmula deAckermann.
% Calcula matriz de realimentación de estado para un sistema continuo% de tercer orden, empleando la fórmula de AckermannA = [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% Cálculo de la matriz de gananciaK = 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 inicialesx0 = [-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 realimentación lineal de estado')xlabel('tiempo en segundos')ylabel('x1, x2 y x3')grid on% Reconstruye la señal de control
u = -X*K';
-
8/19/2019 separata-N3
19/36
FIEE 19
______________________________________________________________________
subplot(2,1,2)plot(t,u)% title('Respuesta del regulador con realimentación lineal de estado')xlabel('tiempo en segundos')ylabel('señal de control u')grid on
Ejemplo #2: Diseño por ubicación de polos, empleando la fórmula deAckermann.
Veamos un ejemplo del uso de la fórmula de Ackermann con MATLAB
% Uso del comando acker y el concepto de sistema dual para un sistema continuoA = [-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 ubicación del sistema dual Ao = A - Ke*C;Bo = [Ke B];eig(Ao) % calcula eigenvalores del observador
Ejemplo #3: Diseño de Observadores de Estado de orden completo.
Consideremos el diseño de un sistema regulador. La planta es:
BuAxx.
+= Cxy =
donde: ( )01C1
0B020.6
10A =
=
=
Se desea tener los polos de Lazo Cerrado en: s1 = -1.8 + j2.4 y s2 = -1.8 – j2.4
Y los valores característicos de la matriz de ganancias del observador son:
s1 = s2 = -8
Luego obtengamos la matriz de ganacias de realimentación del Estado K necesaria y lamatriz de ganancias del observador Ke
% ------------ Ubicación de polos y diseño 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 =2
-
8/19/2019 separata-N3
20/36
FIEE 20
______________________________________________________________________
%**** Dado que el rango de la matriz de controlabilidad M es 2,% es posible una ubicación arbitraria de los polos *****%**** Introducimos el polinomio característico 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 característico Phi *****Phi=polyvalm(poly(J),A);
% **** la matriz de ganancias de realimentación del estado K se obtiene mediante*******
K=[0 1]*inv(M)*PhiK =
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 diseño del observador *****% ***** Introducimos el polinomio característico 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 característico 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.000084.6000
Ejemplo #4: A partir de los resultados anteriores, determinamos elpolinomio característico
% -------------Polinomio Característico----------------% *********El polinomio característico para el sistema diseñado, se obtiene mediante% | sI – A + BK | | sI – A + KeC | ************%**********Este polinomio característico se obtiene usando los valores característicos de% A – Bk y A – KeC, del siguiente modo*********
X=[eig(A-B*K);eig(A-Ke*C)]
X=
-
8/19/2019 separata-N3
21/36
FIEE 21
______________________________________________________________________
-1.8000 + 2.4000i-1.8000 – 2.4000i-8-8
poly(X)
ans= 1.0000 19.6000 130.6000 374.4000 576.6000
Ejemplo #4: Diseño de observadores de orden mínimo
% -------- Diseño de un observador de orden mínimo --------% **** Este programa usa la matriz de trnasormación 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 caracterísitico% 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% característico deseado ****aa1 = jj(2); aa2 = jj(3);
% ***** La matriz de ganancias del observador Ke para el observador de% orden mínimo se obtiene mediante *****ke = inv(W*N´)*[aa2 - a2;aa1 – a1]
Ke =-217
-
8/19/2019 separata-N3
22/36
FIEE 22
______________________________________________________________________
LABORATORIO Nº 4
“CONTROL OPTIMO, BASADO EN EL ÍNDICE DECOMPORTAMIENTO CUADRÁTICO”
Objetivos: - Aplicar otro método de control moderno, como es el controlóptimo cuadrático.
Ejemplo #1: Cuando la matriz no es estable.
Considere el sistema definido mediante
( )u0
1
x
x
20
11
x
x
2
1
2
1
+
−=
&
&
Demuestre que el sistema no se estabiliza mediante el esquema de control derealimentación de estado. xKu −=
Sin importar cuál matriz K se seleccione. (Observe que el estado de este sistema es nocontrolable) Defina [ ]21 kk=K
Así ( )
+−−−=
−
−=−
20
k1k1k2k1
0
1
20
11 21BKA
Por lo tanto, la ecuación característica se vuelve
02))(sk1(s2s0
k1k1s|)(s| 1
21=−++=
−
+−++=−− BKAI
Los polos en lazo cerrado se ubican en: s = – 1 – k1 y s = 2
Dado que el polo en s = 2 está en el semiplano derecho del plano s , el sistema esinestable con cualquier matriz K que se seleccione. Por tanto, las técnicas para elcontrol óptimo cuadrático no se aplican en este sistema.Supongamos que las matrices Q y R del índice de desempeño cuadrático se obtienenmediante
( )110
01=
= RQ
Y que escribimos el programa MATLAB siguiente, La solución MATLAB resultante es( )NaNNaN=K
(NaN significa “no es número”.) Cuando no existe la solución para un problema decontrol óptico cuadrático, MATLAB nos dice que la matriz K está formada por NaN.}.Entonces:
-
8/19/2019 separata-N3
23/36
FIEE 23
______________________________________________________________________
Ejemplo #1 Diseño De un sistema regulador óptimo cuadrático
% ****** Determinación de la matriz de ganancias de realimentación% K para un control óptimo cuadrático ******% ***** 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 desempeño cuadrático *****Q=[1 0;0 1];
R=[1];% ***** Para obtener una matriz de ganancias de realimentación% ó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
( )u10xx1-0 1xx 2
1
2
1
+
=
0&
&
El índice de desempeño “J” se obtiene mediante: ∫∞
+=0
dtu)Ru'(J xQx'
En donde ( )110
01=
= RQ
Supongamos que se usa la señal de control “u” siguiente. xKu −=
Determine la matriz de ganancias de realimentación óptima K.
La matriz de ganancias de realimentación óptima se obtiene resolviendo la ecuación deRic-cati siguiente para una matriz P definida positiva
A’P + PA – PBR-1B’P + Q = 0El resultado es
=
11
12P
Al sustituir ésta matriz en la ecuación siguiente produce la matriz K óptima
-
8/19/2019 separata-N3
24/36
FIEE 24
______________________________________________________________________
K = R-1 B’ P = ( ) ( ) ( )1111
12101 =
Por tanto, la señal de control óptimo se obtiene mediante: u = -x1 – x2
El programa MATLAB, que produce la solución para este problema, es:
Ejemplo # 3: Diseño de un sistema regulador óptimo cuadrático
% ***** Determinación de la matriz de ganancias de realimentación% K para un control óptimo cuadrático ******% ***** 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 desempeño cuadrático *****
Q=[1 0;0 1];
R=[1];
% ***** La matriz de ganancias de realimentación óptima K (si existe la matriz K)% se obtiene introduciendo el comando lqr (regulador lineal cuadrátrico) *****K = lqr(A,B,Q,R)
%K =% 1.0000 1.0000
Ejemplo #4: Cuando se desea la matriz P positiva definida
Considere el sistema obtenido mediante uBAxx +=&
En donde:
=
−−−
=
1
0
0
92735
100
010
BA
El índice de desempeño “J” se obtiene mediante ∫∞
+=0
dtu)Ru'(J xQx'
En donde ( )1R
100
010 001Q =
=
Obtenga la matriz solución P definida positiva de la ecuación de Riccati, la matriz deganancias de realimentación óptima K y los valores características de la matriz A – BK
Entonces, el programa MATLAB que resolverá este problema es:
-
8/19/2019 separata-N3
25/36
FIEE 25
______________________________________________________________________
Ejemplo #5: Diseño de un sistema regulador óptimo cuadrático
% ***** Determinación de la matriz de ganancias de realimentación% K para un control óptimo cuadrático ******% ***** 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 desempeño cuadrático *****Q = [1 0 0;0 1 0;0 0 1];R = [1];
% ***** La matriz de ganancias de realimentación óptima K, la solución de la% ecuación de Riccati y los polos en lazo cerrado (es decir, los valores% característicos 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
-
8/19/2019 separata-N3
26/36
FIEE 26
______________________________________________________________________
LABORATORIO Nº 5
“LINEALIZACIÓN DE SISTEMAS NO LINEALES(aplicaciones en control)”
Objetivos: - Familiarizarnos con el procedimiento más aplicado en lalinealización de sistemas representados en espacio de estados.
- Probar con el uso de simulink, el beneficio de esta aplicación delinealización.
Una gran parte de la teoría desarrollada para el diseño de sistemas de control empleamodelos matemáticos lineales del proceso que se desea controlar a lazo cerrado. Sinembargo, la inmensa mayoría de sistemas en procesos químicos exhibe conducta nolineal. Ejemplo de sistema altamente no lineal lo constituye el campo de reactoresquímicos aún para reacciones muy simples.Entonces planteamos la siguiente pregunta: Cómo podemos emplear teoría de controllineal para el control de sistemas no lineales? Una forma simple de responder a estapregunta es: empleando alguna de forma de transformar el sistema no lineal en unolineal. De esta forma el modelo "linealizado" puede ser empleado para el diseño delsistema de control del modelo no lineal original. Una posible ruta para el diseño delsistema de control se muestra en la siguiente figura.
empezamos derivando el modelo (muy probablemente) no lineal del proceso quedeseamos controlar. A continuación lo transformamos en un modelo lineal (el
procedimiento de transformación sería explicado en esta parte). Posteriormente
-
8/19/2019 separata-N3
27/36
FIEE 27
______________________________________________________________________
diseñamos el sistema de control para el modelo linealizado. Finalmente el sistema decontrol 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 función no lineal f(x; u) puedeser representada aproximadamente por una función 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 linealización, podría ser ¿quésignifica linealizar un sistema no lineal? Linealizar una función no lineal f(x;u) significareemplazarla por otra función lineal f(x;u). Si las dos funciones representan básicamenteel mismo proceso, entonces ¿para que sirve representar una función no lineal por otralineal ? Usualmente esta aproximación se realiza alrededor de un punto denotado por (x0,u0) tal como se muestra en la siguiente figura.
Debido a que la mayoría de herramientas para el análisis de sistemas y diseño desistemas de control requieren que el modelo sea lineal, es necesario entonces disponerde métodos para linealizar modelos.
La linealización generalmente consiste en una expansión en series de Taylor de laecuación de estado (no-lineal) alrededor de un punto de operación definido naturalmentepor el sistema o seleccionado arbitrariamente para satisfacer alguna necesidad decontrol.
4 4 4 34 4 4 21superiorordendetérminos
2
x2
2
x0 ...)∆x(x
f!2
1∆x
xf
)f(xf(x)00
+∂
∂+
∂
∂+=
Tomando los términos de primer orden: ∆x
x
f)f(xf(x)
0x
0
∂
∂+=
-
8/19/2019 separata-N3
28/36
FIEE 28
______________________________________________________________________
Cuando un modelo es muy complejo matemáticamente es necesario recurrir a técnicascomo las representaciones ó expansiones en series infinitas. Las soluciones en seriesinfinitas son usadas generalmente para aproximar el valor de una función en un puntoarbitrario con cierto grado de precisión, donde f(x) es la expansión alrededor del punto x 0.
Es así que el modelo incremental lineal en espacio de estados del sistema linealizado es:
∆uD∆xC∆y
∆uB∆xAx∆
+=
+=•
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 cualvamos a trabajar y debe ser un estado de equilibrio, lo cual significa que las derivadastemporales son cero: d/dt = 0 Así el modelo lineal describirá bien al real, cuando elsistema evoluciona cerca del punto de equilibrio, ya que lejos del punto de equilibrio elmodelo linealizado pierde precisión.
Por ello el punto de equilibrio, debe elegirse lo más próximo posible a los puntos defuncionamiento 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, ue y son escalares (es decir ∈ R), entonces A, B, C y D representan las pendientes de lassuperficies f y g en el punto de operación.
( )
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂∂
∂
∂
∂
∂
∂
=
x
f
x
f
x
f
x
f
x
f
x
fx
f
x
f
x
f
A
n
n
2
n
1
n
n
2
2
2
1
2
n
1
2
1
1
1
u ,x
L
MMM
L
L
( )
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂∂
∂
∂
∂
∂
∂
=
u
f
u
f
u
f
u
f
u
f
u
fu
f
u
f
u
f
B
m
n
2
n
1
n
m
2
2
2
1
2
m
1
2
1
1
1
u ,x
L
MMM
L
L
-
8/19/2019 separata-N3
29/36
FIEE 29
______________________________________________________________________
( )
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂∂
∂
∂
∂
∂
∂
=
xg
xg
xg
x
g
x
g
x
gx
g
x
g
x
g
C
n
p
2
p
1
p
n
2
2
2
1
2
n
1
2
1
1
1
u ,x
L
MMM
L
L
( )
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂∂
∂
∂
∂
∂
∂
=
ug
ug
ug
u
g
u
g
u
gu
g
u
g
u
g
D
m
p
2
p
1
p
m
2
2
2
1
2
m
1
2
1
1
1
u ,x
L
MMM
L
L
LINEALIZACION DE UN SISTEMA DE DOS TANQUES INTERCONECTADOS EN CASCADA
(aplicación con Simulink)
Dado el siguiente sistema de dos tanques cilíndricos iguales en cascada, siendo lasáreas de sección iguales a 10 m2, el objetivo del sistema es controlar el nivel en eltanque 2.
H1 y H2 alturas en los tanques 1 y 2A Área de sección de los tanques cilíndricosQi Flujo (caudal) de alimentación Qi = Q = 2 m
3 /sQo Flujo (caudal) de salidaρ = 1.23 Kg/m3 g = 9.81 m/s2
γ = 1 (factor que depende de la geometría del orificio de salida de cada tanque)
MODELAMIENTO DEL SISTEMA
Planteando las ecuaciones de conservación de la masa
dtdH
CQQ 1112i =− dtdH
CQQ 22o12 =−
Donde
H1 H2
Q i
Q0
Tanque 1 Tanque 2
Q12
-
8/19/2019 separata-N3
30/36
FIEE 30
______________________________________________________________________
4.91259.81)(2)(1.23)((1)gρ2kparaesto
HkHgρ2Hgρ2Qo
H(Hk)HH(gρ2)HH(gρ2Q
222
21212112
===
===
−=−=−=
γ
γ γ
γ γ )
Reemplazando obtenemos:
AHk
AHHk
H
AHHk
AQ
H
2212
21i1
.
.
−−
=
−−=
f
f
2
1
g y = H2
eligiendo como variables de estados: x1 = H1 y x2 = H2
Axk
Axxk
x
Axxk
AQ
x
2212
21i1
.
.
−−
=
−−=
y = x2
El esquema que emplearemos para determinar las respuestas temporales de H1 y
H2, es el siguiente:
-
8/19/2019 separata-N3
31/36
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 LINEALIZACIÓN:
DETERMINACION DEL PUNTO DE EQUILIBRIO
x0.49125xx0.49125xAxk
Axxk
xf
xx0.491250.2xA
xxk
AQ
xf
2212221
22
21121i
11
..
..
−−=⇒−−
=
−−=⇒−
−=
g y = x2
El sistema es no lineal, por lo que antes de la linealización obtendremos el punto deoperación, haciendo:
0x
0x.
.
2
1
=
=
Aplicando:
xxxAxk
Axxk0
xxkQA
xxk
AQi0
221221
21i21
=−⇒−−=
−=⇒−
−=
Por lo que: x1 – x2 = x2 ⇒ x1 = 2 x2 Qi
2 = k2 (2x2 – x2) ⇒ x2 = (Qi / k)2
x1 = 2 (Qi / k)2
Reemplazando valores, obtenemos el punto de equilibrio:
( ) ( ) [ ]0.165750.33154.9125
2 2
4.9125
2 22
__ x2
__ x1 =
=
DETERMINACION DEL SISTEMA LINEALIZADO
Linealizando el sistema a partir del punto de operación obtenido, determinaremos lasmatrices A, B, C y D
-
8/19/2019 separata-N3
32/36
-
8/19/2019 separata-N3
33/36
FIEE 33
______________________________________________________________________
LINEALIZACION DE UN SISTEMA DE TANQUESEN CAIDA
(aplicación con Simulink)
En la figura siguiente se muestran dos tanques abiertos idénticos, los tanques soncilíndricos y con área de sección de 9 m2.El objetivo del control es estabilizar la altura del Tanque 2 (H 2), empleando como fuerzade control el flujo de alimentación Qo.
P1, P2: son las presiones en el fondo de los tanques.Po: Presión atmosférica.Q1, Q2: Flujos (caudales) de salida de los tanquesQ0: Flujo de alimentación,Q0 = 3 m
3 /sρ = 1.23 Kg/m3g = 9.81 m/s2 γ = 0.4 (factor que depende de la geometría del orificio de salida de cada tanque)
MODELAMIENTO DEL SISTEMA:
Podemos obtener las siguientes ecuaciones del sistema de tanques:
PPQ 011 −= γ PPQ 022 −= γ Además:
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 sección de cada tanque).
H1
H2
P1
P2ρρρρ
ρρρρ
Qo
Q1
Q2
Tanque 1
Tanque 2
g
-
8/19/2019 separata-N3
34/36
FIEE 34
______________________________________________________________________
dtdH
CQQ 1110 =− dtdH
CQQ 2221 =−
Donde C1 = C2 = S = 9 m2
Por lo que en base a las ecuaciones anteriores:
SQ
SQ
H 101.
−= SQ
SQ
H 212.
−=
pero: PPQ 011 −= γ
PPQ 022 −= γ
reemplazando:
SPP
SQ
H010
1. −
−=γ
SPP
SPP
H0201
2
. −−
−=
γ γ
como : P1 – P0 = ρ g H1 P2 – P0 = ρ g H2
y eligiendo como variables de estado: x1 = H1 y x2 = H2
obtendremos finalmente:
xS
gρ
SQ
x 10
1
. γ −=
[ ]xxS
gρx 212.
−= γ
y = x2
-
8/19/2019 separata-N3
35/36
-
8/19/2019 separata-N3
36/36
FIEE 36
______________________________________________________________________
Por lo que el punto de operación es:
=
gρ
Q
gρ
Q _ x
_ x 0
20
2
21
γ γ 22
Reemplazando valores:
[ ]4.664.669.81)1.23)(0.4)2
(3)29.81)1.23)(0.4)2
(3)2 _ x _ x 21 =
=
((((
OBTENCION DEL SISTEMA LINEALIZADO
Conocido el punto de operación, obtendremos las matrices del sistema linealizado: A, B,C y D.
( ) ( ) [ ]0.035760.03576
00.03576
xS2gρ
xS2gρ
xS2
gρ
xf
xf
x
f
x
f
A
21
1
2
2
1
2
2
1
1
1
Q Q0x2,x1,0x2,x1,
−
−=
−
−
=
∂∂
∂∂
∂
∂
∂
∂
=
γγ
0γ
( )
=
=
∂
∂
∂
∂
=
0
1/9
0
1/S
Q
f
Q
f
B
0
2
0
1
Q0x2,x1,
[ ]10x
g
x
gC
21
=
∂
∂
∂
∂=
SIMULACION EN SIMULINK
Al realizar la simulación, 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]