Ajuste de las Funciones de Pertenencia de Entrada de un Sistema

Anuncio
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
Descargar