Ajuste de las Funciones de Pertenencia de Entrada de un Sistema de Control con Lógica Difusa de un Péndulo Invertido mediante el Método de Optimización del Patrón de Búsqueda Panayotis S. Tremante M. Departamento de Electrónica, Computación y Control. Escuela de Ingeniería Eléctrica. Facultad de Ingeniería. Universidad Central de Venezuela. Ciudad Universitaria 1053. Caracas-Venezuela. Email: [email protected] y Ebert Brea Departamento de Electrónica, Computación y Control. Escuela de Ingeniería Eléctrica. Facultad de Ingeniería. Universidad Central de Venezuela. Ciudad Universitaria 1053. Caracas-Venezuela. Email: [email protected] RESUMEN En el presente trabajo, se realizó el ajuste de los valores que definen las funciones de pertenencia de entrada de un controlador difuso para el péndulo invertido utilizando el método de optimización del patrón de búsqueda. Las funciones de pertenencia de entrada deben cumplir ciertas condiciones, por tanto, la optimización planteada es un problema no lineal con restricciones lineales, que dependen de los parámetros de las funciones de pertenencia empleadas. La Función Objetivo (FO) empleada fue el error cuadrático entre la señal de entrada y la señal de salida del sistema. El controlador difuso no emplea las ecuaciones físicas que describen el péndulo invertido, simplemente se emplean descripciones lingüísticas del funcionamiento de control del péndulo invertido. Se da una breve explicación del método algoritmo de optimización basado en el patrón de búsqueda y los resultados se comparan con otros métodos de optimización aplicados a controladores del péndulo invertido. El enfoque presentado mostró resultados suficientemente buenos, sin necesidad de tener que utilizar el modelo matemático explícito de la planta para implementar el controlador difuso. La evaluación de la FO y la implementación del sistema de control difuso con el péndulo invertido se realizó por simulación. Palabras Claves: Lógica difusa, control difuso, función de pertenencia, optimización, patrón de búsqueda, péndulo invertido. 1. INTRODUCCIÓN Un controlador con lógica difusa, conocido como controlador difuso, es construido generalmente en base al conocimiento y a la experiencia que se posee sobre el proceso a controlar. Un experto fácilmente podría diseñar un controlador difuso para un sistema del cual conozca su funcionamiento y/o las relaciones entre las entradas y las salidas; este diseño resultaría en un controlador con un comportamiento en ocasiones robusto y ISSN: 1690-8627 SISTEMAS, CIBERNÉTICA E INFORMÁTICA estable. Sin embargo, el desempeño del controlador podría no ser óptimo. Limitaciones como la falta de información del comportamiento de la planta o proceso, aunado en ocasiones al gran número de entradas y salidas, también podrían dificultar la implementación de un sistema de control óptimo. Existen varios elementos del controlador difuso que deben ser ajustados, como son las funciones de pertenencia. Esto en ocasiones se realiza por ensayo y error, resultando arduo y difícil lo que trae como consecuencia que el controlador difuso implementado no tenga las funciones de pertenencia adecuadas y por tanto no sea óptimo. Por tal razón, se plantea una metodología de optimización para encontrar el mejor controlador difuso a partir de la sintonización de las funciones de pertenencia. Por lo general, la base de reglas y/o las funciones de pertenencia son los elementos que mayormente se ajustan y tienen mayor influencia en el desempeño de un controlador difuso. La optimización del desempeño del controlador tomando en cuenta las funciones de pertenencia y la base de reglas, se pueden realizar en conjunto como se muestra en [1]. En ocasiones, solamente, se optimiza considerando, solamente, las funciones de pertenencia como se plantea en [2] [3] [4]. Muchos investigadores evitan el uso de métodos de optimización clásicos y emplean métodos de optimización libres de derivada como los algoritmos heurísticos tales como: redes neuronales [5], algoritmos genéticos [6], recocido simulado [7], enjambre de partículas [8], colonias de hormiga [9], entre otros; el más utilizado es el algoritmo genético. La metodología de optimización desarrollada en este trabajo se basa en la utilización de un método de optimización libre de derivada sin emplear algunos de los algoritmos heurísticos mencionados anteriormente. El método de optimización es el patrón de búsqueda, que es parte de la familia de los Métodos de Búsqueda Directa (MBD) [10]. Dado al hecho de la experiencia acumulada en el empleo del patrón de búsqueda en la identificación de óptimos en diversos problemas numéricos se formuló la aplicación a problemas de optimización de un controlador difuso. VOLUMEN 11 - NÚMERO 1 - AÑO 2014 35 Se tienen trabajos donde el MBD se ha aplicado para optimizar un controlador difuso. En [2] y [3] un método simplex basado en [11] con restricciones y penalización se empleó para optimizar un sistema difuso mediante el ajuste de las funciones de pertenencia. Un algoritmo propuesto en la optimización basado en una modificación del método de optimización Hooke-Jeeves, para optimizar con las funciones de pertenencia y la base de regla se presenta en [1], en este caso, el algoritmo se asemeja al Método de Patrón de Búsqueda (MPB). En el presente artículo se plantea la optimización de un controlador difuso con las funciones de pertenencia definiendo ciertas condiciones que son tomadas en cuenta para formular un problema de optimización con restricciones. La planta a controlar del sistema de control es el péndulo invertido que es el proceso clásico y de referencia que se aborda en la teoría de control a la hora de comparar técnicas de control avanzadas. La variable a controlar es la posición vertical del péndulo, es decir, el ángulo de la barra con la vertical. Los resultados obtenidos se comparan con otros métodos de optimización. El trabajo está estructurado de la siguiente forma: en la Sección 2 se muestra una breve explicación del método de optimización del patrón de búsqueda; en la Sección 3 se describe el péndulo invertido y su controlador difuso. En la Sección 4 se estudia la optimización del controlador difuso con las funciones de pertenencia como un problema de optimización con restricciones y se presenta el algoritmo de optimización empleado. En la Sección 5 se encuentra el ejemplo con los resultados obtenidos al optimizar el sistema de control difuso del péndulo invertido y en la Sección 6 están las conclusiones. 2. MÉTODO DE PATRÓN DE BÚSQUEDA (MPB) El método de optimización del patrón de búsqueda se basa en la metodología de no usar las derivadas para la identificación de los óptimos locales o globales, y se caracterizan en el hecho de tomar decisiones según los valores que toma la FO. El MPB principalmente es empleado en los tipos de problemas donde no se dispone de una expresión explícita de la FO. El MPB fue propuesto por Hooke y Jeeves en 1961 [10]. Consiste en fijar un patrón con una configuración geométrica alrededor de un punto, el cual será el centro del patrón. En los extremos del patrón se localizan los puntos de prueba que serán evaluados en la FO para saber cual es el mejor punto y luego mover el patrón a ese punto. El conjunto de puntos de los extremos del patrón generan una dirección de búsqueda, moviendo el patrón hacia el óptimo y cerca del óptimo se achica el tamaño del patrón; cuando los puntos extremos no son mejores que el centro del patrón, la búsqueda finaliza. Los movimientos exploratorios examinan el comportamiento de la FO y buscan localizar la dirección de cualquier pendiente existente en la zona. En la Figura 1 se muestra un gráfico del patrón de búsqueda en 2 dimensiones, se tiene el patrón inicial con el punto inicial marcado en círculo negro y alrededor los puntos de prueba colocados al Norte, Sur, Este y Oeste, en la figura también se observa el punto óptimo x*, marcado en recuadro negro. Se aprecia el movimiento del patrón después de 5 iteraciones, donde el patrón con líneas gruesas corresponde al patrón en la iteración actual y en línea delgada el patrón en la iteración anterior. Cerca al punto óptimo de la función, se reduce la longitud del paso del patrón. El Algoritmo de Patrón de Búsqueda (APB), parte de un punto inicial x0, una longitud de paso inicial Δ0 y un conjunto de vectores di que se denominan patrones, los cuales indican las direcciones de las coordenadas donde estarán los puntos de prueba. 36 SISTEMAS, CIBERNÉTICA E INFORMÁTICA x* x* x* Primera Iteración Movimiento hacia el Norte Patrón Inicial x* Tercera Iteración Movimiento hacia el Norte Segunda Iteración Movimiento hacia el Oeste x* x* Cuarta Iteración Contracción del Patrón Quinta Iteración Movimiento hacia el Oeste Figura 1. Gráfico del MPB en 2 dimensiones con 5 Iteraciones. El conjunto de vectores di será una matriz de direcciones que se denota como D⊕, esto es, D⊕={d1,...,di,...,d2n} donde n es el número de variables de decisión. D⊕ tendrá una dimensión de n x 2n y se define como el conjunto de vectores de coordenadas unitarias positivas y negativas. Por ejemplo, en R2 la matriz D⊕ 1 0 −1 sería ⎧ ⎨ ⎩0 1 0 0 ⎫ . El método es un proceso iterativo, ⎬ − 1⎭ donde, en cada iteración se calcula el valor de la FO en todos los puntos dados por la matriz de direcciones y termina cuando la longitud del paso sea suficientemente pequeña. Desde que se propuso el patrón de búsqueda, se ha observado en la práctica que es un método muy confiable en los resultados obtenidos, aunque en ocasiones es lento [10]. El procedimiento descrito se refiere a problemas de optimización sin restricciones, cuando existan restricciones hay que considerar ciertas condiciones. El MPB aplicado a problemas de optimización con restricciones se plantea para restricciones de banda en [10] [12] y restricciones lineales en [10] [13]. 3. PÉNDULO INVERTIDO Y SU CONTROLADOR DIFUSO En esta sección se plantea la metodología de diseño de un controlador difuso para el problema del péndulo invertido que es no lineal y un problema clásico en la teoría de control. El control del péndulo invertido es semejante al problema de controlar la posición de un cohete durante las etapas iniciales de lanzamiento, de igual forma es tratar de equilibrar un palo de escoba en el extremo de uno de los dedos. En este caso, el problema constituye en equilibrar un péndulo invertido montado en un carro, como se muestra en la Figura 2. El carro debe moverse de tal forma que la barra esté siempre en la posición vertical. θ 2l u Figura 2. Péndulo Invertido montado en un Carro. Las variables a considerar son: la posición angular θ que denota el ángulo con que el péndulo hace con la vertical (en radianes o VOLUMEN 11 - NÚMERO 1 - AÑO 2014 ISSN: 1690-8627 en grados), l es la longitud de la mitad de la barra del péndulo (en metros), u es la fuerza (en Newtons) que mueve el carro. La metodología de diseño del controlador difuso se plantea en 5 pasos [14] que son: Paso 1. Las variables de entrada al controlador difuso son el error y la derivada del error, por tanto: 1) El “error” está definido por: (1) e(t) = r(t) - θ (t), donde r denota la posición angular deseada del péndulo. 2) La derivada del error está descrita por “cambio en el error” y definida por: d (2) e(t ) . dt La variable de salida del controlador difuso es u(t) descrito por la “fuerza”. El objetivo es equilibrar el péndulo en la posición vertical (r = 0) cuando inicialmente se tiene un ángulo diferente de cero (θ ≠ 0 ), entonces como r = 0 y e = r - θ se tiene: (3) e=-θ, y d d (4) e( t ) = − θ ( t ) , dt dt que corresponde a la velocidad angular. Una vez definidas las variables lingüísticas, se define el universo de discurso de cada variable. Como se observa en la Ec. (3) el ángulo medido con respecto a la vertical a lo sumo puede llegar a 90º de un lado y del otro lado, por lo tanto, el universo de discurso del error está entre -90º y 90º [-π/2 π/2]. En la derivada del error el universo de discurso está entre [-1 1] (rad/s) y el universo de discurso de la salida se encuentra entre [-30 30] (Newtons). Paso 2. Se cuantifica la dinámica del péndulo invertido de forma lingüística, pero antes se debe definir los términos lingüísticos. Los términos lingüísticos son 5 e iguales para todas las variables lingüísticas (entradas y salida), los cuales son los siguientes: “neggrande”, “negpequeño”, “cero”, “pospequeño” y “posgrande”. Para tener una representación más compacta de la base de reglas, se definen los valores numéricos lingüísticos de la siguiente forma: “-2” representa “neggrande”, “-1” representa “negpequeño”, “0” representa “cero”, “1” representa “pospequeño” y “2” representa “posgrande”. Algunas declaraciones que dan un entendimiento de la dinámica de la planta son: 1) La declaración el “error es posgrande” representa la situación donde el péndulo está a un ángulo significativo a la izquierda de la vertical. 2) La declaración el “error es negpequeño” representa la situación donde el péndulo es ligeramente inclinado a la derecha, pero no tan cerca de la vertical para cuantificarlo como “cero” y no demasiado lejos para cuantificarlo como “neggrande”. 3) La declaración el “error es cero” representa la situación donde el péndulo está muy cerca de la posición vertical (una cuantificación lingüística dada por “cero” se considera como una cuantificación mejor que el “pospequeño” o el “negpequeño”). 4) La declaración “el error es posgrande y el cambio-en-el-error es pospequeño” representa la situación donde el péndulo está a la izquierda de la vertical y el péndulo se está alejando de la posición vertical (el péndulo está moviéndose en sentido contrario a las agujas del reloj). Las cuatro declaraciones anteriores dan un panorama del funcionamiento de la planta. ISSN: 1690-8627 SISTEMAS, CIBERNÉTICA E INFORMÁTICA Paso 3. Se plantean un juego de reglas sobre cómo controlar el péndulo invertido a partir de las descripciones lingüísticas dadas en el paso 2. Algunas reglas son: 1) SI el error es neggrande y el cambio-en-el-error es neggrande ENTONCES la fuerza es posgrande. Esta regla cuantifica la situación donde el péndulo tiene un ángulo positivo grande y está moviéndose en el sentido de las agujas del reloj; está claro que se debe aplicar una fuerza positiva fuerte (a la derecha) para que se pueda comenzar a mover el péndulo en la dirección apropiada. 2) SI el error es cero y el cambio-en-el-error es pospequeño ENTONCES la fuerza es negpequeño. En esta regla el péndulo tiene un ángulo casi cero con la vertical (una cuantificación lingüística de cero no implica que e ( t ) = 0 exactamente) y está moviéndose en sentido contrario a las agujas del reloj; se debe aplicar una fuerza negativa pequeña (a la izquierda) para neutralizar el movimiento. 3) SI el error es posgrande y el cambio-en-el-error es negpequeño ENTONCES la fuerza es negpequeño. En esta regla el péndulo está lejos de la vertical a la izquierda y está moviendo en el sentido de las agujas del reloj; se debe aplicar una fuerza negativa pequeña (a la izquierda) para ayudar al movimiento, pero no muy grande, ya que el péndulo está entrando en la dirección apropiada. Al especificar un número finito de variables lingüísticas y de términos lingüísticos, hay un número finito de posibles reglas para obtener la base de reglas. Para el problema del péndulo invertido con dos entradas y cinco términos lingüísticos, hay 52 = 25 posibles reglas. Una manera conveniente para listar el resto de las reglas es con una representación matricial como se muestra en la Tabla 1 siguiente: Tabla 1: Base de Reglas para el Péndulo Invertido. “cambio en el error (de) “fuerza” (u) -2 -1 0 1 2 2 2 2 1 0 -2 2 2 1 0 1 -1 “error” (e) 2 1 0 -1 -2 0 1 0 -1 -2 -2 1 0 -1 -2 -2 -2 2 Notar que existe una cierta simetría en la Tabla 1 donde la diagonal secundaria de la matriz tiene ceros. Esta simetría que se obtiene no es accidental, realmente, es una representación del conocimiento aproximado que el experto planteó de cómo controlar el péndulo y es debido a una simetría en la dinámica del sistema del péndulo invertido. Al finalizar la base de reglas se define el operador difuso que en este caso es un operador Tnorma, en el cual se emplea el operador clásico (min). El método de implicación es la implicación Mamdani y la composición de las reglas es el operador S-norma clásico (max); formando de esta manera el proceso de inferencia conocido como el max-min. Paso 4. Las funciones de pertenencia son del tipo triangular dentro del universo de discurso correspondiente, en la Figura 3 se muestran las diferentes funciones de pertenencia. Paso 5. El diagrama de bloque del sistema se muestra en la Figura 4, el controlador difuso es un sistema difuso tipo Mamdani y la defusificación es el centro de gravedad. VOLUMEN 11 - NÚMERO 1 - AÑO 2014 37 μ e ( e( t )) -2 -1 μA(x) 1 1 1 2 0 0.5 a 0 π − 2 π − 4 0 π 4 π 1 2 μ e& ( e&( t )) -1 -2 c x 1 2 3 4 5 6 7 8 9 10 Figura 5. Función Pertenencia Triangular. e( t ), (rad.) 2 b μ(x) 1 1 0 0.5 0 0 -1 1 μ u ( u( t )) -1 -2 1 1 d e( t ), (rad/s) dt x Figura 6. Casos cuando la Restricción de la Ec. (5) no es tomada en cuenta. 2 donde xmin es el valor mínimo del universo de discurso y 0 c ≤ xmax , 0 -30 30 donde u( t ), (N) Figura 3. Funciones de Pertenencia del Péndulo Invertido. Posición Angular Deseada r=0 + Error e d de - Derivada del Error u Controlador Difuso Fuerza Aplicada al carro Proceso Péndulo Invertido θ Salida Posición Angular Figura 4. Diagrama de Bloque del Sistema de Control del Péndulo Invertido. 4. OPTIMIZACIÓN DEL CONTROLADOR DIFUSO CON LAS FUNCIONES DE PERTENENCIA La optimización del controlador difuso se realiza con las funciones de pertenencia de entrada tipo triangulares. Antes de plantear el problema de optimización se estudian ciertas condiciones que deben cumplir las funciones de pertenencia. Una Función de Pertenencia Triangular (FPT) se puede describir, generalmente, con 3 parámetros que son los valores de los vértices en el universo de discurso, como se indica en la Ec. (5). ∀ x ≤ a; ⎧ 0, ⎪x −a , ∀ a < x ≤ b; ⎪⎪ μ A ( x) = ⎨ b − a c−x ⎪ , ∀ b ≤ x < c; ⎪c−b ⎪⎩ 0, ∀ x ≥ c, (5) donde a es el valor de x del extremo izquierdo, b es el valor de x con máximo grado de pertenencia y c es el valor de x del extremo derecho. En la Figura 5 se muestra una FPT donde se indican a, b y c. De los 3 vértices 2 son los extremos de la función y 1 tomará el mayor grado de pertenencia. En la FPT se debe tomar en cuenta que los valores de los vértices en el universo de discurso cumplan con la siguiente restricción: (6) a<b<c, necesaria para asegurar que los grados de pertenencia de cualquier valor de la variable sea única en cada término lingüístico. En la Figura 6 se muestran los casos cuando la restricción no es tomada en cuenta y se observa que hay puntos en el universo de discurso con más de un grado de pertenencia para una misma función de pertenencia. Los puntos a y c que corresponden a los extremos de la función tienen que estar comprendidos en el universo de discurso, por tanto, (7) xmin ≤ a , 38 SISTEMAS, CIBERNÉTICA E INFORMÁTICA (8) xmax es el valor máximo del universo de discurso. Cada FPT de cada término lingüístico está sujeto a las restricciones basadas en las Ec. (6), Ec. (7) y Ec. (8), estas restricciones son individuales, no obstante, otras restricciones adicionales se deben considerar, según sea el problema. Una variable lingüística de entrada, puede tener varios términos lingüísticos, en este caso, se deben considerar ciertas restricciones para el conjunto de funciones de pertenencia de la variable de entrada en estudio. En todo sistema difuso se debe cumplir al menos una regla, de lo contrario el resultado sería indeterminado y podría el sistema ser inestable. Por lo tanto, para que se cumpla una regla, un elemento del universo de discurso de la variable de entrada en cuestión debe tener pertenencia en algún conjunto difuso. En la Figura 7 se muestra el caso en donde no está permitida la ocurrencia de un punto en el universo de discurso que no tenga correspondencia en ningún término lingüístico. Observar en la figura que el punto xa no tiene correspondencia entre 2 términos lingüísticos consecutivos, denotados con el valor numérico lingüístico j y j+1. Para cumplir con la consideración planteada es necesario que las funciones de pertenencia estén colocadas como en la Figura 8, esto conlleva a la restricción de que los puntos extremos de cada FPT cumplan (9) c j > a j +1 , j ∈ {1,2,K, m}. μ (x ) j 1 j+1 xmin m x xmax xa Figura 7. Ubicación No Permitida de las Funciones de Pertenencia para Optimizar. μ (x ) 1 xmin j j+1 xa m xmax x Figura 8. Ubicación Permitida de las Funciones de Pertenencia para Optimizar. VOLUMEN 11 - NÚMERO 1 - AÑO 2014 ISSN: 1690-8627 4.1 Planteamiento y Procedimiento en la Optimización del Controlador Difuso Con las restricciones definidas se plantea un problema de optimización con restricciones a un sistema de control del péndulo invertido. El diagrama de bloque se muestra en la Figura 4, donde la variable de entrada del sistema es la posición angular deseada y la salida del sistema es la posición angular. El controlador difuso tiene 2 entradas: el error y la derivada del error, y una salida que es la fuerza que se le aplicará al carro donde se encuentra el péndulo invertido. La FO es el error cuadrático que existe entre la entrada y la salida del sistema Ec. (10). Los valores de los vértices en el universo de discurso en cuestión serán las variables de decisión para la optimización; en la Figura 9 se indican las variables que son (x1, x2,....., x10). μ e ( e( t )) -1 -2 1 1 2 0 − π 2 − 0 π 4 x1 x2 x4 x5 π e( t ),(rad.) 2 -1 1 1 2 0 x7 x9 x10 1 d e( t ), (rad/s) dt x8 Figura 9. Indicación de las Variables de Decisión para la Optimización. 0x -1 6 El problema de optimización se formula de la siguiente manera n n min ∑ e 2 (n) = ∑ (r (n) − s (n)) 2 i =1 i =1 , (10) donde e es el error, n el número total de muestras en un período, r es la referencia y s es la salida sistema. La optimización con x∈Rn está sujeta a las siguientes restricciones: -x1≤0; x1-x2<0; x1-x3<0; x2-π/2≤0; x3-x5<0; -x4≤0; x4-x5<0; x5-π/2≤0; -x6≤0; x6-x7<0; x6-x8<0; x7-1≤0; x8-x10<0; -x9≤0; x9-x10<0; x10-1≤0. El APB con las restricciones planteadas se describe con los siguientes pasos: Inicialización. a) Sea la FO de Rn→R. b) Sea la dimensión (n) del problema, dado por el número de vértices totales. c) Determine la matriz de dirección D⊕, en función de la dimensión del problema. d) Fije Δtol>0, Longitud del paso final, que será el criterio de parada del algoritmo. e) Fije Δ>Δtol longitud de paso inicial. f) Fije el vector inicial x0 con los valores iniciales factibles que toman los vértices en el universo de discurso de las funciones de pertenencia, x0=(x1 x2 ....... xn)T, x0∈Rn. g) Ejecute la simulación. h) Evalúe la FO en los puntos iniciales, resultado se denota como f. Hacer x1=x0. Algoritmo. Paso 1. Verifique Si Δ<Δtol, entonces, termine. Paso 2. Para cada k=1,...,2n. Dado el vector dk∈D⊗, a) determine x=xk+Δdk. b) Verifique las restricciones. Si alguna no se cumple, entonces haga lo siguiente: ISSN: 1690-8627 5. x3 μ e& ( e&( t )) -2 b1) Fije un θ donde 0< θ <1. b2) Haga x=x k+θΔdk. b3) Verifique las restricciones. Si alguna no se cumple, entonces haga θ = θ /2 e ir b2). c) Ejecute la simulación. d) Evalúe la FO en los nuevos puntos x, resultado se denota como f1. e) Si f1<f, entonces haga lo siguiente: e1) xk=xk+Δdk (se mueve el patrón y no cambia la longitud del paso del patrón). e2) Verifique las restricciones. Si alguna no se cumple, entonces haga lo siguiente: e2.1) Fije un θ donde 0< θ <1. e2.2) Haga xk=x k+θΔdk. e3.3) Verifique las restricciones. Si alguna no se cumple, entonces haga θ = θ /2 e ir e2.2). e3) Ejecute la simulación. e4) Evalúe la FO en los nuevos puntos xk, resultado se denota como f. Ir al comienzo del Paso 2. Paso 3. En caso contrario, f1≥ f para todo dk∈D⊕, haga Δ=0,5Δ (cambia la longitud del paso del patrón). Ir al Paso 1. Se realiza una optimización por simulación, por tanto la evaluación de la FO dependerá de la simulación y el controlador difuso se evalúa según los valores que toman los vértices en el universo de discurso de las funciones de pertenencia. SISTEMAS, CIBERNÉTICA E INFORMÁTICA EJEMPLO: PÉNDULO INVERTIDO A partir de lo explicado en la Sección 3 y el diagrama de bloque de la Figura 4 se implementó con el Simulink y el Toolbox de Fuzzy Logic de MATLAB® el sistema de control del péndulo invertido. Sin optimizar y con las funciones de pertenencia iniciales para la entrada del error y la derivada del error de la Figura 3 se obtuvo la respuesta inicial que se muestra en la Figura 10. Como se indicó en la Sección 3 el objetivo es equilibrar el péndulo en la posición vertical (r=0), en la simulación se colocó una posición inicial con un ángulo de 0,1rad y se observa que el péndulo se equilibra en un tiempo aproximado de 20s. Al aplicar el APB las funciones de pertenencia que se obtienen se muestran en la Figura 11 con los universos de discurso normalizados. Se realizó la simulación con la posición angular de 0,1rad y la respuesta se encuentra en la Figura 12. El tiempo para conseguir el equilibrio fue de aproximadamente igual a 1,5s mucho menor a la respuesta inicial. Figura 10. Respuesta Inicial del Sistema del Péndulo Invertido. μ e ( e( t )) 1 -1 -2 1 2 0 e(t ), -1 0 -0,8 -0,6 -0,4 -0,2 0,2 0,4 0,6 μ e& ( e&( t )) -2 -1 1 2 1 0 1 (rad) 0,8 d e( t ), dt -1 -0,8 -0,6 -0,4 -0,2 0 0,2 0,4 0,6 0,8 1 (rad/s) Figura 11. Funciones de Pertenencia de Entrada al aplicar el APB. VOLUMEN 11 - NÚMERO 1 - AÑO 2014 39 Adicionalmente, se comparó lo obtenido con un sistema del péndulo invertido controlado por un PI (Proportional-Integral) y una ganancia alimentada por adelanto el cual se optimizó con un Algoritmo del Descenso del Gradiente (ADG). El algoritmo busca los valores de las ganancias para optimizar la respuesta. En la Figura 12 se tienen las respuestas: inicial, optimizado con APB y optimizado con ADG; observar que el tiempo para conseguir el equilibrio son aproximadamente similares, tanto para el APB y el ADG. Aunque, el ADG presenta un sobrepico lo que significa que el péndulo se colocó al otro lado de la vertical de donde se encontraba inicialmente y luego consigue el equilibrio. Se realizaron otras simulaciones con otros ángulos iniciales, en la Figura 13 se muestran las respuestas; estas se compararon con los obtenidos al optimizar con un algoritmo genético un PID (Propotional-Integral-Derivative) de ganancia programada el cual es el controlador del péndulo invertido [15]. Se aprecian unas mejoras en las respuestas obtenidos con el APB (Figura 13), en cuanto a menores tiempos de equilibrio y en particular a la respuesta para un ángulo inicial de 0,61 rad donde en la Figura 14 se presenta un sobrepico. Además, en la Figura 14 para un ángulo inicial de 0,7 rad el sistema se vuelve inestable, mientras que en la Figura 13 no ocurre. El sistema optimizado con el APB se vuelve inestable para 1,19 rad (≅ 68°). Figura 12. Respuestas del Sistema del Péndulo Invertido. Figura 13. Respuestas para Diferentes Ángulos Iniciales con Controlador Difuso y Optimizado con APB. Figura 14. Respuestas para Diferentes Ángulos Iniciales con PID de Ganancia Programada y Optimizado con Algoritmo Genético. 6. CONCLUSIONES Para el ejemplo del péndulo invertido se obtuvo un buen desempeño con el controlador difuso optimizado con el APB en 40 SISTEMAS, CIBERNÉTICA E INFORMÁTICA comparación con otros controladores y otros métodos de optimización indicados en la Sección 5. El MPB optimiza un sistema sin tener que derivar la FO simplemente evaluarla en los puntos de prueba para saber como mejora la función, esto permite que no hace falta tener un modelo explicito de la planta. Lo cual lo convierte en un método apropiado para ser utilizado con los controladores difusos, que en muchos casos, son diseñados sobre la base de la representación del conocimiento aproximado y con descripciones lingüísticas de la dinámica de la planta; que fue el caso de estudio del péndulo invertido. Lo estudiado permitió corroborar que efectivamente el APB converge a una solución mejor, con tan solo plantear la optimización con las funciones de pertenencia de entrada. 7. REFERENCIAS [1] M. B. Trabia, W. E. McCarthy, “Design of Fuzzy Logic Controllers for Optimal Performance”, Journal of Intelligent and Fuzzy Systems, Vol. 6, No. 4, 1998, pp. 459–470. [2] V. Manoranjan, A. de Sam Lazaro, D. Edwards, A. Athalye, “A Systematic Approach to Obtaining Fuzzy Sets for Control Systems”, IEEE Transactions on Systems Man and Cybernetics, Vol. 25, No. 1, 1995, pp. 206–213. [3] A. Athalye, D. Edwards, V. Manoranjan, A. de Sam Lazaro, “On Designing a Fuzzy Control System Using an Optimization Algorithm”, Fuzzy Sets and Systems, Vol. 56, No. 3, 1993, pp. 281-290. [4] S. Isaka, A. Sebald, “An Optimization Approach for Fuzzy Controller Design”, IEEE Transactions on Systems Man and Cybernetics, Vol. 22, No. 6, 1992, pp. 1469–1473. [5] H. Berenji, “An Architecture for Designing Fuzzy Controllers using Neural Networks”, Int. J. Approximate Reasoning, Vol. 6, No. 2, 1992, pp. 267–292. [6] C. Perneel, J.-M. Themlin, J.-M. Renders, M. Acheroy, “Optimization of Fuzzy Expert Systems using Genetic Algorithms and Neural Networks”, IEEE Transactions on Fuzzy Systems, Vol. 3, No. 3, 1995, pp. 300–312. [7] S.-J. Ho, L.-S. Shu, S.-Y. Ho, “Optimizing Fuzzy Neural Networks for Tuning PID Controllers using an Orthogonal Simulated Annealing Algorithm OSA”, IEEE Transactions on Fuzzy Systems, Vol. 14, No. 3, 2006, pp. 421–434. [8] K. Sharma, A. Chatterjee, A. Rakshit, “A Hybrid Approach for Design of Stable Adaptive Fuzzy Controllers Employing Lyapunov Theory and Particle Swarm Optimization”, IEEE Transactions on Fuzzy Systems, Vol. 17, No. 2, 2009, pp. 329–342. [9] C.-F. Juang, P.-H. Chang, “Designing Fuzzy-Rule-Based Systems Using Continuous Ant-Colony Optimization”, IEEE Transactions on Fuzzy Systems, Vol. 18, No. 1, 2010, pp.138–149, [10] T. G. Kolda, R. M. Lewis, V. Torczon, “Optimization by Direct Search: New Perspectives on some Classical and Modern Methods”, SIAM Review Vol. 45, No. 3, 2003, pp. 385–482. [11] W. Spendley, G. R. Hext, F. R. Himsworth, “Sequential Application of Simplex Designs in Optimisation and Evolutionary Operation”, Technometrics, Vol. 4, No. 4, 1962, pp. 441–461. [12] R. M. Lewis, V. Torczon, “Pattern Search Algorithms for Bound Constrained Minimization”, SIAM J. Optim., Vol. 9, No. 4, 1999, pp. 1082–1099. [13] R. M. Lewis, V. Torczon, “Pattern Search Methods for Linearly Constrained Minimization”, SIAM J. Optim., Vol. 10, No.3, 2000, pp. 917–941. [14] K. M. Passino, S. Yurkovich, Fuzzy Control, AddisonWesley, Menlo Park, Calif. 1998. [15] Y. L. Sun, M. J. Er, “Hybrid Fuzzy Control of Robotics Systems”, IEEE Transactions On Fuzzy Systems, Vol. 12, No. 6, 2004. VOLUMEN 11 - NÚMERO 1 - AÑO 2014 ISSN: 1690-8627