Teoría de Sistemas y Control Automático Linealización de un sistema no lineal Dr. Antonio Ferramosca - e-mail: [email protected] Ing. Ivan Talijancic - e-mail: [email protected] 4o y 5o Ing. Electromecánica UTN - Facultad Regional Reconquista A. Ferramosca, I. Talijancic Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 1 / 17 Linealización El procedimiento de linealización consiste en describir el comportamiento de un sistema no lineal en torno a un punto de equilibrio (PE) concreto, mediante un sistema lineal especifico. Es sólo una aproximación del sistema original en el PE: si el sistema se aleja mucho de este punto de equilibrio el error de aproximación será alto. Es un procedimiento muy útil para tratar muchos problemas concretos, a los que se pueden aplicar métodos de análisis y síntesis disponibles para sistemas lineales. Dado un PE (x̄, ū, ȳ), se plantea el sistema en variables incrementales, es decir en incrementos con respeto al PE A. Ferramosca, I. Talijancic x(t) = x̄ + δx(t) u(t) = ū + δu(t) y(t) = ȳ + δy(t) Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 2 / 17 Linealización Dado un sistema no lineal: ẋ(t) = f (x(t), u(t)) y(t) = g(x(t), u(t)) por una entrada constante u(t) = ū, en el equilibrio tendremos 0 = f (x̄, ū) ȳ = g(x̄, ū) El objetivo de la linealización es encontrar un sistema lineal: ˙ δx(t) = Aδx(t) + Bδu(t) δy(t) = Cδx(t) + Dδu(t) tal que A. Ferramosca, I. Talijancic x(t) = x̄ + δx(t) u(t) = ū + δu(t) y(t) = ȳ + δy(t) Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 3 / 17 Tanque Problema de la regulación del nivel de fluido en un tanque. dh(t) q(t) Kp = − gh(t) dt A A h: nivel de fluido q: caudal en entrada A: sección del tanque K: coeficiente de perdidas g: aceleración de gravedad Tomando x = h y u = q podemos escribir la ecuación de estado: ẋ = u K√ − gx A A Para encontrar el punto de equilibrio se asume que no haya variación de nivel (ẋ): K√ u − gx = 0 A A A. Ferramosca, I. Talijancic Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 4 / 17 Tanque Para encontrar el punto de equilibrio se asume que no haya variación de nivel: K√ u − gx = 0 A A ⇒ 3 h= q2 gK 2 3 2.5 2.5 2 2 h [m] h [m] 1.5 1.5 1 0.5 1 0 0.5 -0.5 0 -1 0 1 2 3 4 0 1 q [m 3 /h] A. Ferramosca, I. Talijancic 2 3 4 q [m 3 /h] Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 5 / 17 Serie de Taylor El desarrollo en serie de Taylor permite aproximar una función en un punto como suma de una serie de potencias. Para una función monovariable F(x), la serie de Taylor en un punto x = a será F(x) ' F(a) + dF(x) dx (x − a) + x=a 1 d2 F(x) 2 d2 x (x − a)2 + .... x=a En el caso de la linealización de un sistema paramos el desarrollo en los términos de orden 1 (y por esa razón, cuanto más nos alejemos del PE mayor será el error de aproximación que cometemos). Para funciones multivariables F(x1 , x2 ), la serie de Taylor de orden 1 en un punto x1 = a y x2 = b será F(x1 , x2 ) ' F(a, b)+ A. Ferramosca, I. Talijancic ∂F(x1 , x2 ) ∂x1 (x1 −a)+ x1 =a,x2 =b Teoría de Sistemas y Control Automático ∂F(x1 , x2 ) ∂x2 (x2 −b) x1 =a,x2 =b Reconquista, 12/04/2018 6 / 17 Como linealizar Consideramos ahora la transformación de estados de nuestro sistema no lineal ⇒ ẋ(t) = f (x(t), u(t)) ẋ(t) − f (x(t), u(t)) = 0 Definimos F(ẋ, x, u) como F(ẋ, x, u) = ẋ(t) − f (x(t), u(t)) = 0 Calculamos la serie de Taylor de orden 1 de F(ẋ, x, u) en el punto de equilibrio (0, x̄, ū) F(ẋ, x, u) ' F(0, x̄, ū) ∂F(ẋ, x, u) + ∂ ẋ (0,x̄,ū) ∂F(ẋ, x, u) ∂x (0,x̄,ū) ∂F(ẋ, x, u) ∂u (0,x̄,ū) + + A. Ferramosca, I. Talijancic (ẋ − 0) (x − x̄) (x − ū) Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 7 / 17 Como linealizar Recordemos la definición de las variables incrementales x(t) = x̄ + δx(t), y u(t) = ū + δu(t) Vamos a analizar los terminos de la aproximación de F(ẋ, x, u) = ẋ(t) − f (x(t), u(t)) (recordemos que en el equilibrio f (x̄, ū) = 0) F(0, x̄, ū) = 0 − f (x̄, ū) = 0 ∂F(ẋ, x, u) ∂ ẋ (ẋ − 0) = δ ẋ (0,x̄,ū) ∂F(ẋ, x, u) ∂x (0,x̄,ū) ∂F(ẋ, x, u) ∂u (0,x̄,ū) (x − x̄) = − (u − ū) = − ∂f (x, u) ∂x (x̄,ū) ∂f (x, u) ∂u (x̄,ū) δx δu Finalmente (recordemos que F(ẋ, x, u) = ẋ(t) − f (x(t), u(t)) = 0) δ ẋ − A. Ferramosca, I. Talijancic ∂f (x, u) ∂x δx − (x̄,ū) ∂f (x, u) ∂u δu = 0 (x̄,ū) Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 8 / 17 Sistema linealizado Haciendo el mismo razonamiento para la transformada de salida y(t) = g(x, u), llegamos al sistema linealizado: δ ẋ(t) δy(t) = = ∂f (x, u) ∂x ∂g(x, u) ∂x δx(t) + (x̄,ū) δx(t) + (x̄,ū) ∂f (x, u) ∂u (x̄,ū) ∂g(x, u) ∂u (x̄,ū) δu(t) δu(t) De estas últimas ecuaciones se concluye que: ˙ δx(t) = Aδx(t) + Bδu(t) δy(t) = Cδx(t) + Dδu(t) donde A= ∂f (x, u) ∂x A. Ferramosca, I. Talijancic B= (x̄,ū) ∂f (x, u) ∂u C= (x̄,ū) ∂g(x, u) ∂x Teoría de Sistemas y Control Automático D= (x̄,ū) ∂g(x, u) ∂u Reconquista, 12/04/2018 (x̄,ū) 9 / 17 Ejemplo: 2 Tanques Consideramos dos tanques de secciones A1 y A2 dispuestos verticalmente. Entrada al sistema: caudal que alimenta el tanque 1, Q(t). Salida del sistema: caudal de salida Qs2 (t). Modelo del tanque 1: dV1 (t) dt = Qs1 (t) = Q(t) − Qs1 (t), V1 (t) = A1 H1 (t) p K1 p1 (t) − ps1 (t), p1 (t) = pa + ρgH1 (t) Tomando ps1 (t) = pa y ρ = 1 (agua), entonces: Qs1 (t) = K1 p p p p1 (t) − pa = K1 pa + ρgH1 (t) = K1 gH1 (t) con lo cual el modelo dinámico del tanque 1 queda: dH1 (t) Q(t) K1 p = − gH1 (t) dt A1 A1 A. Ferramosca, I. Talijancic Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 10 / 17 Ejemplo: 2 Tanques Consideramos dos tanques de secciones A1 y A2 dispuestos verticalmente. Entrada al sistema: caudal que alimenta el tanque 1, Q(t). Salida del sistema: caudal de salida Qs2 (t). Modelo del tanque 2: dV2 (t) dt = Qs1 (t) = Qs2 (t) = Qs1 (t) − Qs2 (t), V2 (t) = A2 H2 (t) p K1 gH1 (t) p K2 gH2 (t) con lo cual el modelo dinámico del tanque 2 queda: dH2 (t) K1 p K2 p = gH1 (t) − gH2 (t) dt A2 A2 Modelo completo: dH1 (t) dt dH2 (t) dt A. Ferramosca, I. Talijancic = = Q(t) K1 p − gH1 (t) A1 A1 K1 p K2 p gH1 (t) − gH2 (t) A2 A2 Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 11 / 17 Ejemplo: 2 Tanques Sean: x = (x1 , x2 ) = (H1 , H2 ), u = Q, y = Qs2 . Entonces x˙1 (t) = x˙2 (t) = y(t) = A. Ferramosca, I. Talijancic u(t) K1 p − gx1 (t) A1 A1 K1 p K2 p gx1 (t) − gx2 (t) A2 A2 p K2 gx2 (t) ⇒ Teoría de Sistemas y Control Automático ẋ(t) y(t) = = f (x(t), u(t)) g(x(t), u(t)) Reconquista, 12/04/2018 12 / 17 Ejemplo: 2 Tanques Sean: x = (x1 , x2 ) = (H1 , H2 ), u = Q, y = Qs2 . Entonces x˙1 (t) = x˙2 (t) = y(t) = u(t) K1 p − gx1 (t) A1 A1 K1 p K2 p gx1 (t) − gx2 (t) A2 A2 p K2 gx2 (t) ⇒ ẋ(t) y(t) = = f (x(t), u(t)) g(x(t), u(t)) Cual es la expresión del punto de equilibrio del sistema x̄ = (H1o , H2o ), para una entrada constante u(t) = ū = Qo ? A. Ferramosca, I. Talijancic Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 12 / 17 Ejemplo: 2 Tanques Sean: x = (x1 , x2 ) = (H1 , H2 ), u = Q, y = Qs2 . Entonces x˙1 (t) = x˙2 (t) = y(t) = u(t) K1 p − gx1 (t) A1 A1 K1 p K2 p gx1 (t) − gx2 (t) A2 A2 p K2 gx2 (t) ẋ(t) y(t) ⇒ = = f (x(t), u(t)) g(x(t), u(t)) Cual es la expresión del punto de equilibrio del sistema x̄ = (H1o , H2o ), para una entrada constante u(t) = ū = Qo ? 0 = f (x̄, ū) ⇒ 0 = Qo − K1 0 = K1 A. Ferramosca, I. Talijancic p gH1o p o p gH1 − K2 gH2o ⇒ Ho 1 = H2o = Teoría de Sistemas y Control Automático (Qo )2 gK12 K12 K22 H1o = (Qo )2 gK22 Reconquista, 12/04/2018 12 / 17 Ejemplo: 2 Tanques Sean: x = (x1 , x2 ) = (H1 , H2 ), u = Q, y = Qs2 . Entonces x˙1 (t) = x˙2 (t) = y(t) = u(t) K1 p − gx1 (t) A1 A1 K1 p K2 p gx1 (t) − gx2 (t) A2 A2 p K2 gx2 (t) ẋ(t) y(t) ⇒ = = f (x(t), u(t)) g(x(t), u(t)) Cual es la expresión del punto de equilibrio del sistema x̄ = (H1o , H2o ), para una entrada constante u(t) = ū = Qo ? 0 = f (x̄, ū) ⇒ 0 = Qo − K1 0 = K1 La salida de equilibrio es: A. Ferramosca, I. Talijancic p gH1o p o p gH1 − K2 gH2o ȳ = Qos2 = K2 ⇒ Ho 1 = H2o = (Qo )2 gK12 K12 K22 H1o = (Qo )2 gK22 p o gH2 Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 12 / 17 Ejemplo: 2 Tanques Vamos a calcular el sistema linealizado en el punto de equilibrio x̄ = (H1o , H2o ) y ū = Qo , es decir, calculemos las matrices (A, B, C, D) tal que ˙ δx(t) = Aδx(t) + Bδu(t) δy(t) = Cδx(t) + Dδu(t) con δx(t) = x(t) − x̄, δu(t) = u(t) − ū y δy(t) = y(t) − ȳ A. Ferramosca, I. Talijancic Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 13 / 17 Ejemplo: 2 Tanques Vamos a calcular el sistema linealizado en el punto de equilibrio x̄ = (H1o , H2o ) y ū = Qo , es decir, calculemos las matrices (A, B, C, D) tal que ˙ δx(t) = Aδx(t) + Bδu(t) δy(t) = Cδx(t) + Dδu(t) con δx(t) = x(t) − x̄, δu(t) = u(t) − ū y δy(t) = y(t) − ȳ Empezamos por la ecuación diferencial de estado: A= ∂f (x, u) ∂x (x̄,ū) = ∂f1 (x1 ,x2 ,u) ∂x1 (x̄,ū) ∂f1 (x1 ,x2 ,u) ∂x2 (x̄,ū) ∂f2 (x1 ,x2 ,u) ∂x1 (x̄,ū) ∂f2 (x1 ,x2 ,u) ∂x2 (x̄,ū) y B= A. Ferramosca, I. Talijancic ∂f (x, u) ∂u (x̄,ū) = ∂f1 (x1 ,x2 ,u) ∂u (x̄,ū) ∂f2 (x1 ,x2 ,u) ∂u (x̄,ū) Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 13 / 17 Ejemplo: 2 Tanques El sistema no lineal es: A. Ferramosca, I. Talijancic x˙1 (t) = x˙2 (t) = u(t) K1 p − gx1 (t) A1 A1 K1 p K2 p gx1 (t) − gx2 (t) A2 A2 Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 14 / 17 Ejemplo: 2 Tanques El sistema no lineal es: x˙1 (t) = x˙2 (t) = u(t) K1 p − gx1 (t) A1 A1 K1 p K2 p gx1 (t) − gx2 (t) A2 A2 Entonces: ∂f1 (x1 ,x2 ,u) ∂x1 (x̄,ū) ∂f1 (x1 ,x2 ,u) ∂x2 (x̄,ū) ∂f2 (x1 ,x2 ,u) ∂x1 (x̄,ū) ∂f2 (x1 ,x2 ,u) ∂x2 (x̄,ū) A. Ferramosca, I. Talijancic = K1 − 2A = 0 = = q 1 K1 2A2 q K2 − 2A 2 g H1o g Ho q1 g , ∂f1 (x1 ,x2 ,u) ∂u (x̄,ū) ∂f2 (x1 ,x2 ,u) ∂u (x̄,ū) = 1 A1 = 0 H2o Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 14 / 17 Ejemplo: 2 Tanques El sistema no lineal es: x˙1 (t) = x˙2 (t) = u(t) K1 p − gx1 (t) A1 A1 K1 p K2 p gx1 (t) − gx2 (t) A2 A2 Entonces: ∂f1 (x1 ,x2 ,u) ∂x1 (x̄,ū) ∂f1 (x1 ,x2 ,u) ∂x2 (x̄,ū) ∂f2 (x1 ,x2 ,u) ∂x1 (x̄,ū) ∂f2 (x1 ,x2 ,u) ∂x2 (x̄,ū) con lo cual = K1 − 2A = 0 A. Ferramosca, I. Talijancic K1 2A2 q q q K2 − 2A 2 = 1 A= K1 2A2 = K1 − 2A q 1 g H1o g Ho q1 g = 1 A1 = 0 H2o g H1o g H1o ∂f1 (x1 ,x2 ,u) ∂u (x̄,ū) ∂f2 (x1 ,x2 ,u) ∂u (x̄,ū) , 0 K2 − 2A 2 q g H2o , B = Teoría de Sistemas y Control Automático 1 A1 0 Reconquista, 12/04/2018 14 / 17 Ejemplo: 2 Tanques La ecuación de salida es y(t) = K2 ∂g(x1 ,x2 ,u) ∂x1 (x̄,ū) p gx2 (t), entonces: = 0 = − K22 , ∂g(x1 ,x2 ,u) ∂x2 (x̄,ū) A. Ferramosca, I. Talijancic q g H2o ∂g(x1 ,x2 ,u) ∂u (x̄,ū) Teoría de Sistemas y Control Automático = 0 Reconquista, 12/04/2018 15 / 17 Ejemplo: 2 Tanques La ecuación de salida es y(t) = K2 ∂g(x1 ,x2 ,u) ∂x1 (x̄,ū) p gx2 (t), entonces: = 0 = − K22 q 0 K2 2 ∂g(x1 ,x2 ,u) ∂u (x̄,ū) , ∂g(x1 ,x2 ,u) ∂x2 (x̄,ū) con lo cual C= A. Ferramosca, I. Talijancic h g H2o q g H2o i = 0 , D=0 Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 15 / 17 Ejemplo: 2 Tanques La ecuación de salida es y(t) = K2 p gx2 (t), entonces: ∂g(x1 ,x2 ,u) ∂x1 (x̄,ū) = 0 = − K22 q 0 K2 2 ∂g(x1 ,x2 ,u) ∂u (x̄,ū) , ∂g(x1 ,x2 ,u) ∂x2 (x̄,ū) con lo cual C= h g H2o q g H2o i = 0 , D=0 El sistema linealizado completo es: δx˙ 1 (t) δx˙ 2 (t) = K1 − 2A q 1 K1 2A2 q h 0 K2 − 2A g H1o y(t) = A. Ferramosca, I. Talijancic g H1o q 2 0 K2 2 q g H2o g H2o 1 δx1 (t) A + 1 δu(t) δx2 (t) 0 i δx (t) 1 δx2 (t) Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 15 / 17 Ejemplo: 2 Tanques 3 3 /s /s Sean A1 = 0.2[m2 ], A2 = 0.5[m2 ], K1 = 0.0032[ mm1/2 ], K2 = 0.0036[ mm1/2 ]. Sea o 3 el caudal de entrada Q = 0.01[m /s]. Calculamos los niveles de equilibrio: H1o = (Qo )2 (Qo )2 o = 1[m], H = = 0.7874[m] 2 gK12 gK22 Calculamos la salida de equilibrio: ȳ = Qos2 = K2 A. Ferramosca, I. Talijancic p o gH2 = 0.01[m3 /s] Teoría de Sistemas y Control Automático Reconquista, 12/04/2018 16 / 17 Ejemplo: 2 Tanques 3 3 /s /s Sean A1 = 0.2[m2 ], A2 = 0.5[m2 ], K1 = 0.0032[ mm1/2 ], K2 = 0.0036[ mm1/2 ]. Sea o 3 el caudal de entrada Q = 0.01[m /s]. Calculamos los niveles de equilibrio: H1o = (Qo )2 (Qo )2 o = 1[m], H = = 0.7874[m] 2 gK12 gK22 Calculamos la salida de equilibrio: ȳ = Qos2 = K2 p o gH2 = 0.01[m3 /s] Las matrices del sistema linealizado son: −0.025 0 5 A= , B= , C= 0 0.01 −0.013 0 A. Ferramosca, I. Talijancic Teoría de Sistemas y Control Automático 0.0064 , D=0 Reconquista, 12/04/2018 16 / 17