Vous êtes sur la page 1sur 6

GENERADOR AUTOMÁTICO DE CONTROLADORES

DIFUSOS

Elías Todorovich1 & Nelson Acosta Gerardo Acosta2

INCA (INvestigación en Computación Aplicada) Grupo ADQDAT


Fac. Cs. Exactas, Univ. Nac. del Centro, Tandil, Arg. Fac. de Ingeniería, Universidad Nacional del Centro,
http://www.exa.unicen.edu.ar/inca/ Olavarría, Argentina.
email: {nacosta ; etodorov@exa.unicen.edu.ar} email: ggacosta@fio.unicen.edu.a r

Resumen. El objetivo de este artículo es mostrar una primer experiencia en el diseño


automático de controladores difusos. Para ello se genera automáticamente la descripción del
controlador utilizando un algoritmo evolutivo (AE). A partir de dicha definición se obtiene
una descripción VHDL sintetizable del controlador para su materialización en hardware a
medida de la aplicación sobre plataformas ASIC o FPGA; incluyendo el (micro)programa que
realiza el control de la ruta de datos. En este trabajo el énfasis está puesto sobre el AE que
genera las funciones de pertenencia y reglas de inferencia del controlador difuso. Como caso
de estudio se diseña el controlador de un motor de inducción.

Keywords. Controladores difusos, Síntesis automática de controladores difusos, Algoritmos


evolutivos.

1. INTRODUCCIÓN algoritmo capaz de generar automáticamente la


definición del conjunto óptimo de funciones de
Bien sabido es que la lógica difusa puede ser una pertenencia y de reglas de inferencia para la posterior
solución para la modelización y control de procesos obtención de una materialización hardware, y el
no lineales o variantes en el tiempo (Costa et al., (micro)programa a partir de ella.
1995; Mendel, 1995; Togai & Watanabe, 1986;
Sasaki & Inoue, 1993; Ungering et al., 1993). Los La sección 2 describe el algoritmo de cálculo de los
controladores difusos (CLD) de alto rendimiento controladores difusos y los pasos para la generación
pueden ser materializados por circuitos específicos de un controlador a partir de una especificación. La
(Hung, 1995; Costa et al., 1996; Acosta et al., 1997a) sección 3 presenta brevemente la idea de los
y además, para procesar un número elevado de reglas Algoritmos Genéticos Jerárquicos (AGJ) y se explica
rápidamente, se han utilizado técnicas de el AE propuesto aplicado a la generación de CLD. La
optimización (Toms et al., 1996; Ascia et al., 1996; sección 4 ilustra estas técnicas mediante un caso de
Acosta et al., 1998a y 1998b; Deschamps & Acosta, estudio y presenta los resultados obtenidos.
1996; Chung & Lee, 1996). Todos estos trabajos se Finalmente se escriben conclusiones y comentarios.
enfocan en el diseño de la arquitectura que realiza el
cálculo del algoritmo de control, pero en todos los
casos se parte de una definición ya establecida y 2. GENERADOR DE CONTROLADORES
probada del CLD (conjunto de reglas y funciones de
pertenencia). En éste artículo se presenta un Sea un algoritmo de cálculo de m funciones f0, f1, ...,

1
Becario CONICET de Argentina.
2
Investigador Asistente CONICET de Argentina.
fm-1 de n variables x0, x1, ..., xn1. El valor de xi utilizando operadores binarios, realizando la
pertenece al conjunto Si, y el valor de fk al conjunto minimización de las operaciones reticulares y
de los números reales R. A cada variable xi aritméticas (Deschamps & Acosta, 1996), y
corresponden pi funciones de pertenencia: Aij: Si → asignando los registros a posiciones reales de
[0,1], 0 ≤ j ≤ pi-1; a cada función fk corresponden memoria). La traducción de ese programa en el
qk funciones de decodificación: Bkl: [0,1] → R, 0 ≤ (micro)programa sólo incluye la materialización de
l ≤ qk-1; el cálculo de fk se basa en sentencias (reglas operaciones de múltiples anchos de palabra en la
de inferencia) tales como: “IF x0 is A0 j0 AND x1 is A1 secuencia que permita su cálculo utilizando
instrucciones de ancho simple en múltiples ciclos.
j1 AND ... AND xn-1 is An-1 jn-1 THEN fk is Bkl”. Se
define un conjunto de coeficientes r, tal que: r(j0, j1,
El lenguaje de entrada permite la definición hardware
..., jn-1, k, l) =1 si la regla previamente mencionada se
de la plataforma (tamaño de palabra, cantidad de
aplica; de lo contrario r(j0, j1, ..., jn-1, k, l) = 0. El
señales de entrada y salida), la definición de señales
algoritmo de cálculo de la función fk es (ver Acosta et y conjuntos difusos de entrada y salida, y por
al., 1997b): supuesto el conjunto de reglas. Pero aún resta obtener
esta definición, lo cual se resuelve mediante el uso
∀i:0 ≤ i ≤ n-1, ∀j:0 ≤ j ≤ pi-1, del AE.
calcule, yij = Aij (xi);
∀k:0 ≤ k ≤ m-1, ∀l:0 ≤ l ≤ qk-1,
calcule3, wkl = ∨r (j0, j1, ..., jn-1, k, l) . y0 j0 . y1 j1 . 3. ALGORITMO GENÉTICO JERÁRQUICO
... . . .... yn-1 jn--1, ∀ j0, j1, ..., jn-1
vkl = Bkl (wkl); ∀k:0 ≤ k ≤ m-1, calcule, La primer propuesta encontrada en la literatura para
Nk = vk 0 + vk 1 + ... + vk qk-1, obtener los conjunto de reglas y funciones de
Dk = wk 0 + wk 1 + ... + wk qk-1, pertenencia, es el procedimiento heurístico,
fk = Nk / Dk reiterativo y subóptimo que altera el número de
funciones de pertenencia hasta mejorar
Para materializar controladores difusos por medio de suficientemente el rendimiento (Procyk & Mamdani,
un procesador estándar o de un circuito específico, es 1979). Recientemente se han aplicado varias técnicas
conveniente que todas las operaciones sean unarias o basadas en redes neuronales (Jang & Sun, 1995) y
binarias. Las unarias corresponden a las funciones de algoritmos genéticos (AG) en el diseño automático
pertenencia (fusificación) y decodificación (Homaifar & McCormick, 1995; Karr & Gentry,
(defusificación); que pueden ser materializadas por 1993; Yoshikawa et al., 1996). Tang et al. (1998) usa
bloques de memoria. Las binarias corresponden a un AGJ. En este algoritmo, se mantiene el cómputo
funciones reticulares (máximo y mínimo) y del AG convencional pero la estructura genética del
aritméticas (suma, producto, división); que son cromosoma se organiza jerárquicamente. El
materializadas por la(s) unidad(es) aritmético- cromosoma consiste ahora de genes paramétricos y
lógica(s). Un CLD se compone de 3 bloques genes de control. La activación de los genes
principales: a) Fusificador, que traduce los valores paramétricos es gobernada por el valor de los genes
(crisp) de las variables de entrada a valores difusos del control, si el gen de control está en '1' entonces el
(materializados por bloques ROM). b) Motor de gen paramétrico que éste gobierna estará activo; un
Inferencias, es el encargado de realizar la evaluación '0' desactiva el gen paramétrico (anula esa
de las reglas. c) Defusificador, que traduce los característica en el fenotipo). Esta estructura
valores difusos, que son salida del motor de jerárquica implica que el cromosoma tiene más
inferencia, en el valor de la variable de salida (crisp).
Archivo de especificación
El sistema desarrollado (Fig. 1) cubre la brecha entre
la especificación del problema y su materialización
por un circuito específico. Se utiliza un lenguaje de Esquema de cálculo
especificación que por medio de reglas y conjuntos
difusos, permite describir el problema. A partir de la
definición del problema descrito se genera un primer Optimización reticular y aritmética
esquema de cálculo, que permite ejecutar el
algoritmo; mientras que las funciones de pertenencia
son generadas en un formato tal que puedan ser Asignación de registros
almacenadas en memorias. Los pasos siguientes
permiten la transformación del esquema inicial en un
(Micro)programa + código VHDL
programa (transformando el esquema para el cálculo
Fig. 1 - Diagrama de operaciones para obtener un
3
El símbolo (.) representa el operador mínimo, y ∨ controlador difuso
el máximo.
Control Parámetros representación de los cromosomas. No obstante, la
idea del control de parámetros se aplica para otros de
110101 351847 → Xa = (3, 5, 8, 7)
los parámetros del AE en este trabajo.
100101 351847 → Xb = (3, 8, 7) Para entender la manera en que pueden generarse
automáticamente controladores difusos con AE es
Fig. 2: Representación de los cromosomas fundamental conocer la manera en que los
controladores son codificados. Pero además, el uso
información que en las codificaciones de un AG de un AE requiere la definición de varios elementos:
convencional, técnica que permite obtener una la representación del cromosoma, la función de
solución con el número mínimo de funciones de selección, los operadores genéticos que constituyen
pertenencia y reglas. No obstante todavía resta el la función de la reproducción, la creación de la
problema de sintonizar los parámetros. En este población inicial, el criterio de terminación y la
artículo se utiliza una estrategia de control de función de evaluación. Cada uno de estos puntos
parámetros para resolver este problema (véase Eiben tiene parámetros que deben ser tratados. Pero no
et al., 1999). todos ellos pueden implementarse de forma
adaptable debido al compromiso que debe observarse
entre tiempo de ejecución y flexibilidad.
Los AG son un tipo particular de AE. Los AG usan
el código binario para representar los genes en el El cromosoma consiste de dos partes: la de control, y
cromosoma mientras que en los AE se permiten otras la de parámetros. La parte de parámetros del
codificaciones. Los AE son algoritmos estocásticos cromosoma se subdivide en una parte para las
donde se optimiza una función (fitness) que tiene funciones de pertenencia y una parte para las reglas.
como entrada las representaciones de las soluciones Cuando el caso particular de aplicación es un CLD,
del problema (cromosoma). Los AE operan sobre un usualmente se emplean como entradas el error (E) y
conjunto de cromosomas (población) sobre el cual se su derivada (∆E), y como salida la variable
aplican iterativamente (generaciones) operadores de
manipulada (∆U). La parte del cromosoma
recombinación a las representaciones para obtener
correspondiente a las funciones de pertenencia tiene
nuevos individuos (cruzamiento, mutación), hasta
la forma dada en la Ec. 1 (Ver Fig. 3):
que se cumpla algún criterio de terminación, como
encontrar una solución lo
 α1a ( E ), α1b ( E ), α1c ( E ), L , α ma ( E ), α mb ( E ), α mc ( E ), 
suficientemente buena. Los AGJ operan  
con una estructura adaptable que permite Z M =  β1a (∆E ), β1b ( ∆E ), β1c ( ∆E ), L , β na ( ∆E ), β nb ( ∆E ), β nc ( ∆E ), 
al algoritmo explorar en un espacio γ ( ∆U ), γ ( ∆U ), γ (∆U ), L , γ ( ∆U ), γ (∆U ), γ (∆U ) 
 1a 1b 1c pa pb pc 
mucho más grande y le permite encontrar
(Ec. 1)
mejores soluciones. En la Fig. 2 hay un
cromosoma formado con 6 genes de
donde:
control binarios y los respectivos 6 enteros para los
• α, β y γ son números reales y limitados por
genes paramétricos. Las longitudes de Xa y Xb son
respectivamente 4 y 3. Esto significa que existen [αmin, αmax], [βmin, βmax] y [γmin, γmax]
fenotipos de longitud diferente disponibles dentro de respectivamente.
la misma formulación del cromosoma. El AGJ no • m, n y p son los máximos números aceptables de
sólo puede explorar en el espacio de los parámetros, subconjuntos difusos E, ∆E y ∆U
sino también dentro de las posibles respectivamente.
longitudes para perfeccionar la función
objetivo; y reducir el número de reglas y
funciones de pertenencia implica reducir
la cantidad de recursos necesarios para
su implementación y por ende el costo
del controlador.

Un cambio en los genes de control


impacta en los genes nivelados más
abajo en la jerarquía cuando se evalúe y
decodifique el genotipo. Ésta es la razón
de por qué el AGJ puede alcanzar una
topología del sistema mínima. En el
contexto de control de parámetros en
AE, un AGJ puede ser considerado
como un mecanismo de adaptación de la Fig. 3: Codificación de las funciones de pertenencia
• αia(E), αib(E), αic(E) función de pertenencia de La función ∆ (t; y) retorna un valor en el rango [0; y]
entrada del i-ésimo subconjunto difuso de E. tal que la probabilidad que ∆ (t; y) esté cerca de 0
• βja(∆E), βjb(∆E), βjc(∆E) función de pertenencia aumenta a medida que aumenta t (t es el número de
de entrada del j-ésimo subconjunto difuso de ∆E. generación). Esta propiedad hace que este operador
• γka(∆U), γkb(∆U), γkc(∆U) función de pertenencia busque uniformemente al principio (cuando t es
de salida del j-ésimo subconjunto difuso de ∆U. pequeño), y muy localmente en el espacio de
soluciones en las fases más tardías. Aquí se ha usado
La parte de reglas en el cromosoma tiene un tamaño la función siguiente:
de n×m y toma la forma:
b
 t
r11 , r12 ,L, r1m , ∆(t , y ) = y ⋅ r ⋅ 1 −  (Ec. 6)
   T
ZR =  L  (Ec. 2)
r , r , L , r  donde:
 n1 n 2 nm  • r es un número aleatorio en [0 ..1],
• T es el número máximo de generaciones, y
donde, cada rij es un entero en [1, p]; i y j pertenecen • b es un parámetro del sistema que determina el
a [1, n], [1, m] respectivamente, y rij representa la grado de no-uniformidad. Un valor de 6 se usó
siguiente regla de lógica difusa: en este trabajo. Esta operación se aplica varias
veces para que muten múltiples valores de los
si E es Ei y ∆E es Dj, entonces ∆U es Urij (Ec. 3) parámetros triangulares de las funciones de
pertenencia.
La selección se realiza en base al fitness del
individuo tal que los mejores individuos tienen una Antes de evaluar el fitness del cromosoma, debe
mayor probabilidad de ser seleccionados. Ha sido obtenerse el fenotipo correspondiente. En muchos
escogido un método de ranking normalizado para la casos una decodificación directa puede producir un
función de selección porque sólo exigen que la controlador difuso inválido. Los posibles problemas
función de evaluación mapee las soluciones a un observados en los cromosomas son:
conjunto parcialmente ordenado y permiten la • que el número de funciones de pertenencia
minimización y negatividad activas sea menor de dos para una variable.
• zonas no cubiertas para las variables de entrada
Se han elegido diferentes operadores genéticos para y salida.
cada parte del cromosoma. Un cruzamiento simple se • los parámetros de las funciones triangulares
aplica a los genes de control y a las reglas estén desordenados.
separadamente, mientras que un cruzamiento
• que no haya ninguna regla activa.
aritmético se aplica a la parte de funciones de
• que algún rij sea mayor que el número de
pertenencia.
funciones de pertenencia activas para la variable
de salida.
Una mutación de bit se aplica a los genes de control.
Para las reglas se aplica una mutación delta shift que
Una vez obtenido un fenotipo válido, puede
altera cada elemento del cromosoma en la parte de
aplicársele la función de evaluación para conseguir el
las reglas como sigue:
valor de fitness. Esta función modela el sistema de
control para el que el CLD es diseñado. También la
rij = rij + d (Ec. 4)
evaluación de fitness debe implementar las
especificaciones y restricciones de diseño. Por
donde d tienen igual probabilidad de ser 1 o –1; y rij
ejemplo, alcanzar un mínimo de error estacionario a
se mantiene entre 1 y p. Para las funciones de
la salida y no permitir picos por abajo ni por arriba;
pertenencia se usa una mutación múltiple-no-
mientras que el controlador resultante tenga un costo
uniforme que se define como sigue. Para un padre X,
mínimo o una velocidad máxima. Pero, como la
si se selecciona el elemento xk para mutación, el
evaluación del CLD es computacionalmente costosa,
individuo resultante será X' = (x1,…, xk', …xq)
se emplea un enfoque adaptativo para la evaluación
siendo:
Si el numero
de fitness. La duración de la simulación crece con el
 binario aleatorio es tiempo de evolución: se ejecuta una evaluación ligera

′  x + ∆(t , right (k ) − x k ) 1 al principio del proceso evolutivo mientras que se
xk =  k alarga la evaluación después que la población haya
 Si el numero alcanzado un grado de madurez suficiente. También,
 x k − ∆(t , x k − left (k ))
binario aleatorio es la presión de la penalización crece con el tiempo de
0 evolución cuando no se cumple con alguna
(Ec. 5) restricción.
4. CASO DE ESTUDIO difusos para la Variable Manipulada.

Para evaluar y desarrollar el algoritmo, se trabaja en


simulación con un motor de inducción trifásico ( ¼ 5. CONCLUSIONES Y TRABAJOS FUTUROS
HP; 380vca) más su actuador manejado por tensión
[0-10v.], que fue modelado en Matlab mediante la En este primer trabajo se presentan los resultados de
siguiente ecuación recursiva: aplicar el ajuste del controlador difuso mediante
algoritmos genéticos jerárquicos (AGJ) en
n( k ) = 0,4787 n( k −1) − 0,0408 n( k − 2 ) + 0,4107 u ( k − 2 ) + 0,1417 u ( k −3 ) simulación, sin embargo se prevé su
evaluación sobre un prototipo
Ec. 4
experimental, comparando estos resultados
con un controlador difuso desarrollado a partir de
Al validar este modelo se obtuvo un error porcentual
conocimiento experto, y con un controlador PID.
< 0.5%. Si bien esta planta, linealizada como una
función de transferencia en el plano Z, es muy bien
Se ha aplicado un AE con enfoque adaptativo en
controlada con una simple estrategia PID, el motor
longitud del cromosoma, función de evaluación y
asincrónico real para el cual se desarrolla el
operador de mutación. Los EA permiten la
controlador difuso, funcionará con cargas variables y
introducción de objetivos y restricciones de diseño.
es en este tipo de situaciones donde cobran interés La codificación jerárquica permite una búsqueda
los controladores de ganancia tabulada como éste. dentro de un espacio más amplio, tal que puede
reducirse la complejidad del controlador mediante la
Todas las simulaciones se realizaron en un PC, exploración de su topología: tanto se minimiza el
Pentium II 366 MHz con 128 MB de RAM. Los
costo del dispositivo como se aumenta su velocidad
parámetros para el AGJ fueron:
al máximo.
Tamaño de la población 70
Por otro lado, se ha logrado generar automáticamente
número de padres en cada generación 20
la descripción del hardware a medida de la aplicación
nro. de mutaciones en cada generación 40
a partir de la especificación del CLD. Esto produce
número de generaciones 1000
una reducción del costo del desarrollo de
controladores con altas exigencias de velocidad, al
El problema es obtener un controlador difuso que generarse automáticamente la plataforma hardware,
minimice el error estacionario de salida y también el (micro)programa de control, y muy importante: la
minimice los sobrepicos y bajopicos. El último puesta a punto del conjunto de funciones de
requisito se implementa como una restricción que
pertenencia y reglas.
penaliza al fitness del individuo. Para verificar el
rendimiento del diseño obtenido, se aplicó una señal
Evidentemente, debe hacerse un desarrollo más
cuadrada en la referencia de velocidad de giro del
extenso y más experimentación para obtener una
rotor. La respuesta puede verse en la Fig. 4.
herramienta más rápida mejorando el prototipo
actual. Éste y trabajos anteriores muestran que el
Al finalizar el AGJ, el universo de discurso de
enfoque es lo suficientemente prometedor como para
entrada del controlador difuso quedó con 3 conjuntos
indicar que la investigación en esta dirección debe
difusos para el Error, 4 conjuntos difusos para la continuarse.
Derivada del Error; y para la salida, 5 conjuntos

REFERENCIAS

Acosta N. y Garrido J. y Deschamps J-P


(1998a), “Segment representation for
membership-functions”, Int. Symp. on
Engineering of Intelligent Systems, Tenerife,
España.
Acosta N., Deschamps J-P y Garrido J.
(1998b), “Optimized active rule fuzzy logic
custom controller architecture synthesis”, Int.
Symp. on Engineering of Intelligent Systems,
Tenerife, España.
Acosta N., Deschamps J-P. and Sutter G.
(1997a). “Customized Fuzzy Logic
Controller Generator”. Proc. of IFAC-
Fig. 4: Seguimiento del set point. MIM´97, Vienna, Austria, pp: 93-98.
Acosta N., Deschamps J-P. and Sutter G. fuzzy modeling and control”, Proc. IEEE,
(1997b). “Automatic Program Generator for vol. 83, pp. 378-406.
Customized Fuzzy Logic Controllers”. Proc. Karr C.L. and E.J. Gentry (1993), “Fuzzy
of IFAC-AART´97, Vilamoura, Portugal, pp: control of pH using genetic algorithms”,
259-265. IEEE Trans. Fuzzy Systems, vol. 1, pp. 46-53.
Ascia G., Catania V., Russo M. and Vita L. Mendel J.M. (1995), “Fuzzy Logic Systems for
(1996). “Rule-driven VLSI Fuzzy Processor”. engineering: A Tutorial”, Proc. of the IEEE,
IEEE Micro, June, pp: 62-74. vol. 83,nº 3, pp. 345 - 377.
Chung F. and Lee T. (1996). “On Fuzzy Procyk T.J. and E.M. Mamdani (1979), “A
Associative Memory with Multiple-rule linguistic self-organizing process controller”
Storage Capacity”. IEEE Trans. on Fuzzy Automatica, vol. 15, no. 1, pp 15-30.
Systems, vol. 4, Nro. 3, August, pp: 375-384. Sasaki M., Uenoand F. Inoue T. (1993), “7.5
Costa A., A. De Gloria, P. Faraboschi, A. MFLIPS Fuzzy Microprocessor Using SIMD
Pagni and G. Rizzotto (1995), “Hardware and Logic-in-Memory Structure”, Proc. of
Solution for Fuzzy Control”, Proc. of the IEEE International Conference on Fuzzy
IEEE, vol. 83, nº 3, pp. 422 - 434. Systems, pp. 527 – 534.
Costa A., De Gloria A. and Olivieri M. (1996). Tang K.-S., K.-F. Man, Z.-F. Liu and S.
“Hardware design of Asynchronous Fuzzy Kwong (1998), “Minimal fuzzy memberships
Controllers”. IEEE Trans. on Fuzzy Systems, and rules using hierarchical genetic
vol. 4, Nro. 3, pp.: 328-338. algorithms”, IEEE Trans. on Industrial
Deschamps J.-P. y N. Acosta (1996), Electronics, vol. 45, no. 1.
“Algoritmo de Optimización de Funciones Togai M. and H. Watanabe (1986), “Expert
Reticulares aplicado al Diseño de System on a Chip: An Engine for Real-Time
Controladores Difusos”, 25as JAIIO, BsAs, Approximate Reasoning”, IEEE EXPERT,
Arg.. vol. 1, nº 3, pp. 55 – 62.
Eiben, A.E., Hinterding, R. and Michalewicz, Tombs J., Torralba A. and Franquelo L. (1996).
Z. (1999), “Parameter Control in “A PWM Fuzzy Logic Controller”. IEEE
Evolutionary Algorithms”, IEEE Trans. on Micro, October, pp: 68-71.
Evolutionary Computation, Vol.3, No.2. Ungering A.P., K. Thuener and K. Goser
Homaifar A. and E. McCormick (1995), (1993), “Architecture of a PDM VLSI Fuzzy
“Simultaneous design of membership Logic Controller with Pipelining and
functions and rule sets for fuzzy controllers Optimized Chip area”, Proc. of IEEE Int.
using genetic algorithms”, IEEE Trans. Fuzzy Conference on Fuzzy Systems, pp. 447 – 452.
Systems, vol. 3, pp. 129-139. Yoshikawa T., T. Furuhashi and Y. Uchikawa
Hung D.L. (1995), “Dedicated Digital Fuzzy (1996), “Emergence of effective fuzzy rules
Hardware”, IEEE Micro, vol. 15, nº 4, pp.31 for controlling mobile robots using DNA
- 39. coding method”, Proc. ICEC’96, Nagoya,
Jang J.-S. R. and C.-T. Sun (1995) “Neuro- Japan, pp. 581-586.
fuzzy modeling and control”, Proc. IEEE,

Vous aimerez peut-être aussi