Controladores LMIs para sistemas Borrosos afines C. Ariño, A. Sala, J.L. Navarro [email protected], [email protected],es, [email protected] Dpto. Ingenierı́a de Sistemas y Automática Universidad Politécnica de Valencia Camino de Vera, 14; 46022 Valencia, España Resumen Este Artı́culo presenta un método de diseño de controladores Borrosos, utilizando la metodologı́a del control LMI, en sistemas Borrosos afines con inferencia TS. La potencia de este diseño es la capacidad de alcanzar una referencia arbitraria, asegurando la estabilidad del sistema en bucle cerrado. Palabras clave: Sistemas Borrosos,Control LMI. utiliza la herramienta de las LMIs (Linear Matrix Inequalities) [3] para calcular dichos controladores. Obteniendo un controlador Borroso TS cuyas funciones de pertenencia µi son las mismas que las del modelo. El principio de estabilidad se basa en la estabilidad de Lyapunov ampliamente utilizado para el análisis de estabilidad en sistemas complejos [1]. 2. 1. Introducción El modelado de sistemas complejos mediante técnicas Borrosas usando inferencia Takagi-Sugeno (TS) ha sido ampliamente difundido gracias a su versatilidad y sencillez de formulación, éste puede ser descrito como un conjunto de reglas: si x es Ai , entonces y = fi (x) (1) donde Ai es un conjunto Borroso definido en el dominio de x, con las funciones de pertenencia µi (x). Para poder realizar una interpretación global del sistema necesitamos un método de inferencia, como hemos comentado ésta inferencia la realizaremos utilizando el método Takagi-Sugeno [4, 6], descrito de la siguiente forma: y(x) = ∑i µi (x) fi (x) ∑i µi (x) ∑ µi (x)(Ai · x + Bi · u) dx/dt A1 A2 x m = La idea del controlador es partir del modelo descrito como suma de modelos locales Lineales con inferencia Borrosa (3) y estabilizar el controlador en un punto de equilibrio, x = 0. Si se quiere buscar otro punto de equilibrio en general habrı́a que buscar otra descripción del modelo donde x = 0 sea el nuevo punto de equilibrio. Esto se puede observar con el siguiente ejemplo: en la figura 1 el sistema viene dado por 2 modelos locales con 1 variable de estado y sin entradas. Si queremos controlar este sistema en un punto de (2) Asumimos que las funciones fi (x) son funciones lineales o afines y ∑i µi = 1 eliminándose la fración en (2). Cuando hablamos de sistemas dinámicos, y(x) en (2) es sustituida por la derivada de los estados, ẋ. Bajo la condición de suma 1, esta representación puede particularizarse a funciones lineales: ẋ Planteamiento del problema (3) i Existen técnicas de diseño de controladores para este tipo de sistemas que son capaces de llevar al sistema al equilibrio x = 0, cumpliendo ciertas prestaciones. La técnica que vamos a exponer [5] Figura 1: Modelo TS lineal ẋ vs. x funcionamiento diferente, podemos, como en sistemas lineales, realizar el cambio de variable oportuno para que nuestro nuevo punto de funcionamiento sea punto de equilibrio y este equilibrio esté en x̂ = 0. Entonces se observa que los modelos locales que habı́amos calculado anteriormente ya no son válidos, puesto que no existe función µi que cumpla con n ∑ µi = 1 i como se observa en la figura 2 donde hemos tomado la función de la figura 1 y haciendo un cambio de variable hemos modificado el punto de equilibrio. dx/dt A1 A2 x Donde las matrices Ai , Bi y los vectores ui0 y xi0 se definen según la forma canónica observable [2], para un sistema SISO, aunque es aplicable a cualquier sistema Multivariable donde los estados se hayan escogido de determinada forma. Como se puede observar en esta ecuación tenemos que existen n modelos lineales obtenidos cada uno en un punto diferente xi0 , ui0 con la condición de ser esos puntos, puntos de equilibrio. Las matrices y vectores Ai , Bi , C,xi0 y ui0 están definidas siguiendo la forma canónica observable como se muestra en las ecuaciones ((5),(6),(7),(8),(9)) 0 1 0 ... 0 0 0 1 ... 0 ... ... ... ... Ai = ... (5) 0 0 0 ... 1 −ai1 −ai2 −ai3 ... −aiq T Bi = 0 0 0 ... bi (6) C = 1 0 0 ... 0 (7) ′ T 0 0 ... 0 (8) xi0 = xi0 ui0 = u′i0 Figura 2: Modelo TS lineal ẋ vs. x (9) Como también se puede observar hemos tomado un vector C común para todos los modelos lineales. 3. Planteamiento del controlador El enfoque utilizado es el de calcular un controlador que estabilice el sistema en incrementos respecto de la referencia y por otra parte una prealimentación que transforme el sistema en un sistema en incrementos de cara al controlador mencionado. La estructura del controlador global serı́a la expuesta en la figura 3. El primer estado corresponde a la salida, el segundo a la primera derivada de la salida, el tercero a la segunda derivada y ası́ sucesivamente. Eso explica la forma de Ai , Bi y C como también sirve para deducir la de xi0 , si recordamos que xi0 es un punto de equilibrio todas las derivadas de la salida y tienen que ser cero. Para simplificar la notación y descripción del sistema (4) definimos las siguientes variables: e A(x) = Uref F1 Yref Xref F2 - -K + + U SYS + g0 (x) = Ax Y e B(x) = X ∑ µi (x)Bi (12) i (13) Pasamos a definir la prealimentación que realiza el controlador para llevar el sistema a un sistema en incrementos: uest n ∑ µi (x)(Ai (x − xi0 ) + Bi (u − ui0 )) i y = Cx (11) i n donde µi (x) es el valor de la función de pertenencia del modelo i-ésimo en el punto x. Para aplicar este método el sistema Borroso TS no tiene porqué estar formado por modelos lineales (3), los modelos locales pueden ser afines tal y como se definen en la ecuación (4). = ∑ µi (x)Ai xi0 e − Ax g0 + Bu e − Bu g0 ẋ = Ax Cálculo de la prealimentación ẋ (10) i n Con lo que el sistema quedarı́a como: Figura 3: Estructura del sistema 4. n ∑ µi (x)Ai (4) xest e−1 B) e −1 · = (CA e−1 Ax g0 +CA e−1 Bu g0 ) (14) ·(−yre f +CA e−1 (−Bu g0 + Bu e est + Ax g0 ) = A (15) donde en este caso la diferencia con el apartado anterior radica en que las variables borrosas del e Ax g0 ,Be y Bx g0 ) toman su valor en el sistema (A, estado actual x. Definimos de esta forma xest y uest para que se cumpla la ecuación: e est − Ax g0 + Bu e est − Bu g0 0 = Ax Esto no significa que ni el estado actual ni xest sean puntos de equilibrio por cumplir esta ecuación. La ventaja que obtenemos en este caso se puede apreciar al realizar la siguiente acción de control u = û + uest en las ecuaciones de estado del sistema borroso: e est Bu ẋ ẋ ẋ ẋ g0 + Bu e est g0 − Ax = Ax e − Ax f + Bu e − Bu f = Ax e + Bb f − Bu eu + Bu e est − Ax f = Ax e + Bb e est eu − Ax = Ax e − xest ) + Beû = A(x (16) expresar el sistema de forma que donde la µi esta cercana a 1 sea similar al modelo local. Ası́ que en principio puede ser buena idea tener un controlador similar en el que actúen diferentes controladores lineales dependiendo del modelo local que tiene mayor peso µi La motivación esencial de este planteamiento a parte de la motivación intuitiva, es que utilizando esta metodologı́a podemos encontrar una envoltura para el sistema en bucle cerrado que cumpla con los requisitos para poder aplicar la teorı́a de control LMI [3]. Mediante un controlador Borroso obtenemos una envoltura convexa del sistema. una vez la tengamos podremos aplicar cualquier técnica de control LMI. El controlador Borroso propuesto tiene la estructura: F = − ∑ µi (x)Fi x (17) (18) (19) (20) (21) (23) i Donde Fi son los controladores locales y µi las funciones de pertenencia del modelo. Vemos el comportamiento del bucle cerrado con el controlador planteado: Para terminar tenemos que si el sistema está expresado en la forma canónica observable tenemos que xest = xre f puesto que siempre se cumple: = ẋ ∑ ∑ µi µ j (Ai − Bi Fj )x i (24) j (25) yre f = Cxest e est − Ax g0 + Bu e est − Bu g0 0 = Ax Con lo que si realizamos el cambio de variable x̂ = x − xest y la referencia cambia de forma mucho más lenta que los estados tenemos que la derivada de x̂ toma el mismo valor que la de x con lo que tenemos finalmente la ecuación: ex̂ + Beû x̂˙ = A (22) Ahora ya tenemos el sistema Borroso en incrementos que podemos utilizar para buscar controladores estables mediante el procedimiento de la sección 5. 5. Controlador Borroso en incrementos Partimos del modelo local de la forma (3). El controlador que se propone en [5] que es el que vamos a desarrollar, es un controlador Borroso TS con las mismas funciones de pertenencia que el sistema. Esto significa que cuando la función de pertenencia sea próxima a 1 estaremos utilizadando un controlador lineal en concreto. En principio parece lógico si retomamos la idea de que un sistema Borroso lo que trata es de De momento tenemos que Ai − Bi Fj es una envoltura del sistema. Pero es conveniente seguir avanzando sabiendo como sabemos que las funciones de pertenencia del controlador son las mismas que las del modelo con lo que podemos decir que existen términos repetidos que podemos ir agrupando con lo que la expresión (24) queda: = Ai + Bi Fj Gi j = ẋ ∑ µi2 Gii x + 2 i< j ∑ ∑ µi µ j i i j Gi j + G ji (26) x 2 Ahora si aplicamos la teorı́a de estabilidad de Lyapunov para esta envoltura del sistema obtenemos que para que el sistema sea estable tiene que existir una matriz simétrica P que cumpla las siguientes LMIs: Gi j + G ji 2 T GTii P + PGii < 0 (27) Gi j + G ji ≤ 0 (28) P+P 2 P > 0 (29) Como realmente nuestro propósito es calcular los controladores locales Fi vamos a dar un paso más y buscamos las LMIs donde las incógnitas también sean las Fi que queremos calcular. Para lograrlo, multiplicamos por delante y por detrás por X = P−1 y definimos la matriz Mi = Fi X con lo que la expresión anterior queda de la forma: MU1 MU2 1 0.8 0.6 XATi + Ai X − XFiT BTi − Bi Fi X < 0 (30) XATi + Ai X + XATj + A j X − XFjT BTi −Bi Fj X − XFjT BTi − Bi Fj X X 0.4 < 0 (31) > 0 (32) Cumpliendo Estas condiciones LMI, estamos definiendo un controlador Borroso estable. Por tanto esta metodologı́a implica una enorme potencia para el cálculo de controladores Borrosos. Mediante esta metodologı́a somos capaces de aumentar las restricciones sobre el sistema, cumplir especificaciones de tiempo de establecimiento, de sobreoscilación, de limitación de las acciones de control y de la salida entre otras especificaciones como queda perfectamente explicado y desarrollado en [5]. 6. Ejemplo Sistema Borroso SISO Definimos para este ejemplo un sistema SISO Borroso TS siguiendo la ecuación (4), con dos modelos locales y de tercer orden: 2 ẋ = ∑ µi (x)(Ai (x − xi0 ) + Bi (u − ui0 )) i y = Cx donde: (33) 0 1 A1 = 0 0 3 2 B1 = 0 0 0 1 A2 = 0 0 0,1 1 B2 = 0 0 C= 1 0 x10 = 0 0 0 1 5 T 1 0 −2 −1 0 1 2 3 4 Figura 4: Funciones de pertenencia de la variable x1 = y y no de todo el estado. Calculamos la acción de control uest (x, yre f ) siguiendo la ecuación (14) y el estado estático xest = [yre f 0 0]T . e−1 B) e−1 Ax g0 +CA e−1 Bu e −1 (−yre f +CA g0 ) uest = (CA (43) Ahora utilizamos la metodologı́a del cálculo de reguladores para sistemas Borrosos TS lineales mediante LMIs, para una tasa de decrecimiento α. Tenemos que se ha de cumplir: XAT1 + A1 X − M1T BT1 − B1 M1 + 2α X XAT2 + A2 X − M2T BT2 − B2 M2 + 2α X XAT1 + A1 X − XAT2 + A2 X − M1T BT2 < 0(44) < 0(45) −B2 M1 − M2T BT1 − B1 M2 + 4α X < 0(46) (47) donde: X = P−1 , M1 = F1 X, M2 = F2 X (35) 0 1 0,1 T 10 0 T 0 u10 = 0 T x20 = 2 0 0 u20 = 1 (34) 0.2 (36) donde F1 y F2 son los controladores Lineales a implementar. Con esto acabamos teniendo la siguiente ley de control: û = −(µ1 (x)F1 + µ2 (x)F2 )x̂ (37) (38) (39) (40) (41) (42) También tenemos definidas las funciones de pertenencia, en este ejemplo únicamente dependen (48) (49) Resolviendo las LMIs con α = 0,5 mediante la LMI Control Toolbox de Matlab obtenemos: F1 F2 5,6232 = 2,9807 = 9,8802 5,5132 1,9238 1,4455 (50) La acción de control real que aplicamos sobre el sistema en función de sus variables de estado y la referencia es: u = uest (x) − (µ1 (x)F1 + µ2 (x)F2 )(x − xest ) (51) La respuesta del sistema ante un cambio de la referencia yre f = 2 es la mostrada en la figura: Como se puede observar el sistema en bucle x1 = y 1.5 1 0.5 0 0 5 10 15 0 5 10 15 0 5 10 15 0.8 x2 0.6 0.4 0.2 0 x3 1 0.5 0 Figura 5: Respuesta del sistema en bucle cerrado cerrado tiene error de posición 0 y se comporta según las prestaciones que hemos planteado en el cálculo del controlador mediante LMI. Borrosos. Debido a que para sistemas no lineales conseguir que el sistema sea estable en un punto de equilibrio no significa que sea estable en cualquier otro punto y lo mismo ocurre con el regulador. Ası́ los modelos locales dependen del punto que queremos controlar punto que se toma como origen de las variables del sistema. En general los modelos locales no tienen porque estar en incrementos respecto a un mismo punto. Ni nuestro sistema queremos que trabaje en un único punto. Ya que probablemente uno de las principales razones para utilizar un controlador no lineal es aumentar el rango de control que tenemos con un controlador lineal y el rango de referencias que queremos abarcar. Con el método expuesto en este capı́tulo podemos convertir un modelo Borroso afı́n con inferencia TS en un modelo Borroso lineal, donde la referencia deseada es punto de equilibrio y se encuentra en el origen de coordenadas, con lo que podemos aplicar la teorı́a LMI para sistemas Borrosos desarrollada hasta el momento y asegurar que nuestros controladores van a cumplir las especificaciones de control que les hemos impuesto en dicho diseño. 1 x =y 1 0 −1 0 2 4 6 8 10 12 14 16 18 20 Referencias 1 x 2 [1] Applied Nonlinear Control. Ed. Prentice Hall, Englewood Cliffs,New Jersey, 1991. 0.5 0 0 2 4 6 8 10 12 14 16 18 20 2 x 3 1 0 0 2 4 6 8 10 t 12 14 16 18 20 U est 0 −1 −2 −3 −1 −0.8 −0.6 −0.4 −0.2 0 y 0.2 0.4 0.6 0.8 1 Figura 6: Respuesta del sistema en bucle cerrado Hemos considerado interesante realizar pruebas en diferentes referencias, una de ellas en un punto intermedio de la inferencia entre los modelos locales yre f = 1. También en este caso hemos buscado representar el valor de uest en función de y. Como se puede observar en la figura 6, el resultado es correcto, sigue cumpliendo las especificaciones de diseño y tenemos error de posición 0. 7. Conclusiones La importancia de los resultados se resume en que se ha conseguido salir de los modelos en incrementos respecto al punto de equilibrio a controlar de la teorı́a LMI aplicada a sistemas [2] P. Albertos and A. Sala. Multivariable Control Systems. Ed. Springer-Verlag, London, UK, 2004. [3] S. Boyd, L. ElGhaoui, E. Feron, and V. Balakrishnan. Linear matrix inequalities in system and control theory. Ed. SIAM, Philadelphia, USA, 1994. [4] T. Takagi and M. Sugeno. Fuzzy identification of systems and its applications to modeling and control. IEEE Transactions on System, Man and Cybernetics, 15:116–132, 1985. [5] K. Tanaka and H. O. Wang. Fuzzy control systems design and analysis. Ed. John Wiley & Sons, New York, USA, 2001. [6] L.-X. Wang. Adaptive Fuzzy Systems and Control: Design and Stability Analysis. Ed. Prentice-Hall, New Jersey, USA, 1994.