Subido por Gerson Tovar

Simulacion

Anuncio
14
1.4.
Capítulo 1. Linealización
Simulación de sistemas no lineales
comparación con sus linealizaciones
y
Figura 1-1: Sistema de dos tanques interconectados.
Consideremos el sistema de nivel de líquido de dos tanques interconectados de
la Figura 1-1. Allí, vemos que la entrada del sistema es qi (t) y la salida es qo (t).
Además, vemos que las alturas del líquido en cada tanque están representadas por
h1 (t) y h2 (t).
Para modelar este sistema, debemos partir del hecho que la variación del volumen
que ocupa el líquido en cada tanque es igual al líquido que entra al tanque menos
el líquido que sale, del mismo. Por lo que para el tanque 1, tenemos
d
S h1 (t) = qi (t) − q12 ,
(1-13)
dt
donde S representa el área transversal del tanque y q12 representa el flujo de
líquido que pasa del tanque 1 al tanque 2. Por su parte, para el tanque 2, tenemos
S
d
h2 (t) = q12 − qo (t).
dt
Aplicando la regla de Torricelli para los flujos de líquido, tendremos
p
q12 = µ12 Sn sgn[h1 (t) − h2 (t)] 2 g [h1 (t) − h2 (t)],
(1-14)
(1-15)
donde la función sgn(x) = x/|x| representa el signo del argumento. Las constantes
µ12 y Sn representan el porcentaje de paso del líquido por la tubería que conecta
los dos tanques y el área transversal de dicha tubería, respectivamente. Note que
la función signo está presente para indicar el sentido del flujo del líquido en la
tubería entre los tanques. Sin embargo, podemos omitir dicha función si decimos
1.4 Simulación de sistemas no lineales y comparación con sus linealizaciones
15
que el modelo es válido solo para cuando la altura del líquido en el tanque 1 sea
mayor que en el tanque 2 y, así, garantizarmeos el flujo en la tubería en dirección
del tanque 1 al tanque 2 siempre.
Para el caso del flujo de salida, tendremos
p
qo (t) = µ20 Sn 2 g h2 (t),
(1-16)
donde µ20 representa el porcentaje de paso del líquido por la tubería que conecta
el tanque 2 con el exterior.
Para obtener la representación de estado no lineal del sistema de dos tanques,
vamos a definir las variables de estado x1 (t) = h1 (t) y x2 (t) = h2 (t), la entrada
u(t) = qi (t) y la salida y(t) = qo (t). Remplazando las expresiones para los flujos
en (1-15) y (1-16) en las expresiones de las variación del volúmen de líqudo en los
tanques en (1-13) y (1-14), y despejando para ẋ1 (t) y ẋ2 (t), tenemos


1
µ12 Sn p
u(t) −
2 g [x1 (t) − x2 (t)],
ẋ1 (t)


S
=  µ S Sp
(1-17)
,
p
µ
S
12 n
20 n
ẋ2 (t)
2 g [x1 (t) − x2 (t)] −
2 g x2 (t),
S p
S
y(t) = µ20 Sn 2 g x2 (t).
(1-18)
Para simular el sistema de los dos tanques, bien vale la pena hallar los puntos de
equilibrio del mismo para tener una idea de qué resultados esperar de la
simulación. Tomando la ecuación de estado en (1-17), igualando a cero las
derivadas y cambiando las variables por su valor de equilibrio, tenemos
µ12 Sn p
1
2 g [x1e − x2e ],
(1-19)
0 = ue −
S
S
µ12 Sn p
µ20 Sn p
0=
2 g [x1e − x2e ] −
2 g x 2e , ,
(1-20)
S
S
µ12 Sn p
note que el término
2 g [x1e − x2e ] aparece en ambas expresiones, por lo
S
que se puede despejar de ambas para obtener una expresión que relacione x2e con
ue , así
1
µ20 Sn p
ue =
2 g x 2e ,
(1-21)
S
S
elevando al cuadrado ambos lados de la ecuación y despejando xee , llegamos a
x 2e =
u2e
.
2 g µ220 Sn2
(1-22)
Para encontrar x1e , podemos despejarla de (1-19) y reemplazar la expresión para
16
Capítulo 1. Linealización
x2e que acabamos de encontrar, así
u2e
u2e
u2e
u2e
1
1
x 1e =
+ x 2e =
+
=
+
. (1-23)
2 g µ212 Sn2
2 g µ212 Sn2 2 g µ220 Sn2
2 g Sn2 µ212 µ220
En este punto, es necesario conocer los valores de las constantes del sistema, que se
muestran en la Tabla 1-1. Así las cosas, si definimos ue = 5 × 10−5 m3 /s, podemos
encontrar que x1e = 0,3455m y x2e = 0,1416m, que verificaremos por simulación.
Tabla 1-1: Parametros del sistema de dos tanques.
Parámetro
Símbolo
Valor
Área de la sección transversal de los tanques
S
0.0154 m2
Área de la sección transversal. de la tubería
Sn
5 × 10−5 m2
Coeficiente de flujo
µ11
0.5
Coeficiente de flujo
µ20
0.6
Máxima velocidad del flujo
qi max
1,5 × 10−4 m3 /s
Máxima altura en los tanques
hj max j ∈ [1, 2]
0.62 m
El modelo de nuestro sistema en Simulink, se construye implementando las
expresiones en (1-17) - (1-18), como se puede ver en la Figura 1-2. Vamos a
Figura 1-2: Modelo no lineal para el sistema de 2 tanques.
configurar una señal de entrada tipo escalón, que cambie su valor de 0 a ue en
500 segundos y vamos a definir el tiempo de simulación en 3000 segundos,
1.4 Simulación de sistemas no lineales y comparación con sus linealizaciones
17
obteniendo el comportamiento para x1 (t) y x2 (t) como se ve en la Figura 1-3.
Allí, podemos evidenciar que la respuesta de cada tanque después del tiempo de
simulación converge a los valores de equilibrio x1e = 0,3455m y x2e = 0,1416m,
si extendiéramos el tiempo de simulación aún más, veríamos que converge
completamente al valor calculado. Note que la respuesta de este sistema no lineal
se parece mucho a la respuesta de un sistema de primer orden o de segundo
orden sobre-amortiguado y, en general, el tipo de respuesta en el tiempo no es lo
que nos va a diferenciar un sistema lineal de uno no lineal. Lo que realmente nos
indica que un sistema es lineal es que en toda la región de operación mantenga
la misma ganancia y los mismos polos. Ya ahondaremos en está aseveración.
Para linealizar el modelo del sistema de los dos tanques, procedemos como se
explicó en clase. Note que la forma general de una representación de estado lineal
para un sistema de una entrada y una salida se puede escribir como
ẋ(t) = A x(t) + B u(t),
y(t) = C x(t) + D u(t),
donde la matriz A representa la matriz dinámica del sistema, los vectores B
y C representan los vectores de entrada y salida, respectivamente, y el escalar
D representa la transferencia directa entre la entrada y la salida del sistema.
Recordemos que, para la linealización de un sistema no lineal, la representación
Figura 1-3: Comportamiento de x1 (t) y x2 (t) en el modelo no lineal para el sistema de 2
tanques.
18
Capítulo 1. Linealización
de estados tiene variables incrementales, por lo que puede ser escrita como
δ ẋ(t) = A δx(t) + B δu(t),
δy(t) = C δx(t) + D δu(t),
y podemos hallar

∂
 ∂x1 f1 (·)

 ∂

f2 (·)
∂x
A= 
1

..

.

 ∂
fn (·)
∂x1
C=
los elementos A, B, C y D como se muestra a continuación.



∂
∂
∂
f1 (·) · · ·
f1 (·) 
 ∂u f1 (·) 
∂x2
∂xn


 ∂
∂
∂

 f (·) 
f2 (·) · · ·
f2 (·) 
2



∂x2
∂xn
,
B =  ∂u


.
..
..


.

.


.
.




∂
∂
∂
fn (·)
fn (·) · · ·
fn (·)
∂u
(xe ,ue )
∂x2
∂xn
(xe ,ue )
∂
∂
∂
g(·)
g(·) · · ·
g(·)
∂x1
∂x2
∂xn
,
(xe ,ue )
D=
∂
g(·)
∂u
.
(xe ,ue )
Se sugiere dejar de forma genérica los valores xie y ue en A, B, C y D, con el fin
de tener expresiones versátiles que permitan hacer modificaciones fácilmente.
Para simular el modelo lineal en Simulink y poderlo comparar con el
comportamiento del modelo no lineal, se definen en el workspace de Matlab las
expresiones para A, B, C y D. Utilizamos el bloque State-space para definir
nuestra representación de estados, donde debemos asignarles los valores
correspondientes a A, B, C y D tal y como se definieron en el workspace. Note
que queremos comparar los comportamientos de las variables de estado del
sistema lineal con las del no lineal, por lo que no vamos a poder usar las
expresiones de C y D que calculamos, porque esas están calculadas sobre la
función no lineal que nos representa la salida del sistema, que en este caso está
asociada con el flujo de salida y no nos muestra directamente ninguna variable
de estado. Vamos a definir
1 0
0
C=
yD=
,
0 1
0
lo que nos representa que tendremos dos salidas, una igual a x1 (t) y la otra igual
a x2 (t). Inicialmente, vamos a conectar la misma entrada del sistema no lineal al
lineal (pese a que sabemos que las variables del sistema lineal son incrementales y
no absolutas, como las del sistema no lineal). Debemos tener un diagrama como
el que se muestra en la Figura 1-4. Los bloques que se encuentran en la misma
1.4 Simulación de sistemas no lineales y comparación con sus linealizaciones
19
Figura 1-4: Modelos lineal y no lineal para el sistema de 2 tanques, ambos con entrada
absoluta - incorrecto.
sección de los Scopes se denominan To Workspace y lo que hacen es enviar al
workspace los datos de una o varias señales bajo el nombre de la variable que se
le da al bloque, para poderlas graficar directamente sobre una figura de Matlab
y manipularlas directamente de una forma más sencilla. El punto de equilibrio al
rededor del cual vamos a simular el sistema lineal, va a ser el hallado previamente
ue = 5 × 10−5 m3 /s, x1e = 0,3455m y x2e = 0,1416m.
La respuesta del sistema de la Figura 1-4 se ve en la Figura 1-5. Note que pasa
algo bastante extraño con la simulación, porque cuando comentamos (o
borramos) el bloque del sistema lineal, el sistema no lineal tiene el mismo
comportamiento como el mostrado en la Figura 1-3. Pero cuando se simulan en
simultánea, el sistema no lineal cambia de comportamiento ostensiblemente. La
razón del problema de simulación no es fácil de explicar, porque ocurre solo
cuando los dos sistemas se simulan en simulatánea y estamos seguros de no estar
sobre-escribiendo con el sistema lineal variables del sistema no lineal. Además, el
problema ocurre únicamente cuando la entrada del sistema inicia en 0, y el
cambio en el escalón se da en un tiempo diferente de cero. Podemos, para poder
comparar las respuestas, simular de forma independiente cada sistema y graficar
los comportamientos de las variables en la misma gráfica, para la misma entrada
considerada inicialmente; o, podemos simular para un escalón que no empiece en
20
Capítulo 1. Linealización
cero.
Figura 1-5: Modelos lineal y no lineal para el sistema de 2 tanques, ambos con entrada
absoluta (incorrecto) y problema en la simulación.
La Figura 1-6 nos muestra la comparación del comportamiento entre el sistema
lineal y el no lineal, simulados de forma independiente, para una entrada escalón
que es inicialmente cero y luego de 500 segundos cambia a qie1 = 5×10−5 . Como se
Figura 1-6: Respuesta de los modelos lineal y no lineal para el sistema de 2 tanques, ambos
con entrada absoluta (incorrecto).
puede ver, el comportamiento del sistema no lineal sigue siendo el mismo mostrado
en la Figura 1-3, mientras que el modelo lineal se comporta para x1 (t) como un
sistema de primer orden y para x2 (t) como un sistema de segundo orden sobreamortiguado. Pero claramente no tiene un comportamiento parecido al sistema no
lineal, por lo menos en cuanto a la ganancia se refiere. Note que pareciera que las
variables de estado lineales se estabilizaran casi en el doble de lo que se estabiliza
el sistema no lineal. Esa última observación nos llevaría a pensar que el problema
1.4 Simulación de sistemas no lineales y comparación con sus linealizaciones
21
Figura 1-7: Respuesta de los modelos lineal y no lineal para el sistema de 2 tanques, ambos
con entrada absoluta de 4,5 × 10−5 a 5 × 10−5 (incorrecto).
es que cometimos un error y la ganancia por algún motivo nos quedó multiplicada
por 2, aunque ese no es realmente el problema.
Consideremos ahora la respuesta del sistema para una entrada escalón que inicie
en 4,5 × 10−5 y a los 2000 segundos aumente a 5 × 10−5 , para un tiempo de
simulación sea de 5000 segundos. Los resultados para esta entrada se muestran en
la Figura 1-7. Note que para este caso, aunque entre 0 y 2000 segundos es evidente
la diferencia de ganancia, luego de los 2000 segundos, los comportamientos de las
señales del sistema lineal y no lineal parecieran tener una variación muy similar
entre sí. Si le quitamos a todas las señales el valor que toma cada una a los 2000
segundos para que esté sea el nuevo punto de 0 m, podremos ver esto mucho
más claro (veáse Figura 1-8). Efectivamente, aunque no son exactamente iguales,
Figura 1-8: Respuesta de los modelos lineal y no lineal para el sistema de 2 tanques, ambos
con entrada absoluta de 4,5 × 10−5 a 5 × 10−5 , restando a cada variable el valor
de la misma en 2000 segundos (incorrecto).
22
Capítulo 1. Linealización
vemos que la variación en las variables de los dos sistemas después de los 2000
segundos es muy similar entre sí. Justamente a esto es a lo que nos referimos
con que el comportamiento del modelo lineal es comparable al del modelo no
lineal en la vecindad del punto de operación (punto de equilibrio) para variables
incrementales (no absolutas). Una última simulación nos aclarará esto mejor.
Para la siguiente simulación, vamos a definir la señal de entrada como un escalón
que inicia en el punto de equilibrio 5 × 10−5 y luego de 2000 segundos pasa a
5,173 × 10−5 , para un tiempo de simulación total de 5000 segundos. Vamos a
configurar el estado inicial de las variables de estado del modelo no lineal, como
el estado inicial de los integradores, el integrador de ẋ1 (t) lo configuramos con
x1e = 0,3455m y el integrador de ẋ2 (t) con x2e = 0,1416m. Para que las señales
del sistema lineal sean incrementales, tendremos que restarle ue = 5 × 10−5 , para
que la entrada sea δu(t) = u(t) − ue . Las salidas del sistema no lineal también
son incrementales, en nuestro caso δx1 (t) = x1 (t) − x1e y δx2 (t) = x2 (t) − x2e ,
y como queremos compararlas con variables absolutas, debemos sumarle a las
salidas el valor del punto de equilibrio de cada una, como se ve en la Figura 1-9.
La respuesta de los modelos lineal y no lineal para esta última configuración, la
correcta, se muestra en la Figura 1-10. Allí notamos varias cosas importantes:
i) si las variables del sistema no lineal se inicializan en los valores del punto de
equilibrio y la señal de entrada se fija al valor del mismo punto de equilibrio, las
variables no presentan variación (tienden a mantenerse en el punto de equilibrio),
ii) el comportamiento del sistema linealizado a una ligera variación en la entrada
respecto al punto de equilibrio de partida es muy parecido al del sistema no
lineal, si también lo inicializamos en el mismo punto de equilibrio. Vale la pena
mencionar que, dependiendo del sistema, la variación de la entrada a la cual la
similitud entre el sistema lineal y el no lineal deja de ser suficiente puede ser
mayor o menor; para el sistema de dos tanques es muy pequeña, porque es un
sistema que presenta variaciones en la altura de los tanques para variaciones muy
pequeñas de la entrada, en este caso, apenas una variación de 1.73×10−6 m3 /s
en el flujo ya nos muestra variaciones en el comportamiento entre un modelo y
otro; pero habrá sistemas que soporten una mayor variación en la vecindad de la
entrada y mantendrán un comportamiento similar entre el modelo lineal y el no
lineal.
Puede probar haciendo variaciones más pequeñas del flujo de entrada y notar que
la diferencia entre las variables del sistema lineal y del no lineal son mucho menos
visibles, o hacer variaciones mayores para notar que la diferencia también se hace
1.4 Simulación de sistemas no lineales y comparación con sus linealizaciones
23
Figura 1-9: Modelos lineal y no lineal para el sistema de 2 tanques, lineal con entrada
incremental - correcto.
mayor conforme nos alejamos del punto de equilibrio respecto al cual se linealizó
el modelo no lineal.
Figura 1-10: Respuesta de los modelos lineal y no lineal para el sistema de 2 tanques, lineal
con entrada incremental - correcto.
Descargar