motor dc mamdani y sugeno
DESCRIPTION
Uso de Mamdani y SugenoTRANSCRIPT
Control Difuso
Guadarrama Camarena Netzahualcoyotl
10 de diciembre de 2010
1. Motivación de estudio
Para controlar sistemas con dinamicas complicadas.
Para contorlar sistemas con menor costo de implementación.
Para modelar de manera difusa o linguistica procesos y sistemas de manera natural.
En algunos casos es posible que la respuesta del control sea más rápida y adecuada que un PID.
Control Difuso propuesto por E.H. Mamdani (1974)En la primera clasi�cación : Entrada - Salida como Sí - Entonces.Esta se puede expandir a sistemas más complejos y también implica que el número de reglas difusas se incrementen
de forma exponencial al número de variables del sistema.En el uso de n variables y m conjuntos de�nidos por cada variable se necesitan mn reglas difusas para construir un
controlador difuso completo.Para evitar esto Raju, Zhou y Kishner propusieron sistemas difusos geráriquicos. Donde el número total de reglas
difusas se incrementa de forma lineal con el número de variables de entrada.
Modelo General
Fuzzi�cación: consiste en transformar un dato o de un conjunto clásico Ui a su correspondiente conjunto difuso U�i :La transformación difusa de ui a un conjunto difuso por A
fuzi de�nido en el universo del discurso Ui : f : ui ! u�i
con f (ui) = Afuzi
El más común es el singleton: Conjunto difusoAfuzi 2 U�i con función de membresia �Afuzi(x) =
�1; si x = ui0, en otro caso
�Inferencia difusa: Es el núcleo del controlador difuso y esta caracterizado por un conjunto de reglas difusas de la
forma:Si x es A entonces y es B abreviado como A ! B en XxY , Donde A y B son valores linguísticos de�nidos por un
conjunto difuso en un universo XxY respectivamente.El mecanísmo de inferencia difusa: con estas reglas se deriva un control para un conjunto de valores de entrada.Los métodos de inferencia difusa se pueden formular con los operadores t�norma y s�norma para calcular la relación
difusa R = A! B:Métodos utilizados
1
1. Implicación de Dienes-Rescher: �RD(x; y) = m�ax [1� �A (x) ; �B (y)] :
2. Implicación de Lukasiewics: �Ra = Ce��A��� Ce
��B�; �RL
(x; y) = m�{n [1; 1� �A (x) + �B (y)] :3. Implicación de Zadeht: �RL
(x; y) = m�ax [m�{n (�A (x)�B (y) ; 1� �A (x))] :4. Implicación de Mamdani: �RM
(x; y) = m�{n (�A (x) ; �B (x)) ó �RM(x; y) = �A (x)�B (y) :
5. Implicación de Kleene-Dienes: �Rb(x; y) = m�ax (1� �A (x) ; �B (y)) :
Defuzzi�cación: Está de�nida como un mapeo de un conjunto difuso B en V � R que es la salida de inferencia difusaaun elemento de un conjunto clásico
ycrispq = y� � V
Donde q es el índice de la regla q.Técnicas más usadas:Defuzzi�cador Centro de Gravedad (COG) : Especifíca la salida como el centro del área cubierta porla función
de membrasia del conjunto difuso B, y está dada por.
y� = ycrispq =
PRi=1 b
qi
Qyq�Bi
q(yq) dyqPR
i=1
Qyq�Bi
q(yq) dyq
Donde R es el número de reglas difusas y bqi el centro del área de la función de membresia de Bpq asociado con el
conjunto difuso implicado para la i-ésima regla.PRi=1
Qyq�Bi
q(yq) dyq denota el área bajo la función de membresia �Bi
q(yq), y el sistema debe ser de�nido tal quePR
i=1
Qyq�Bi
q(yq) dyq 6= 0:
Defuzzi�cador Centro promedio:Determina la salida clásica ycrispq usando los centros de cada salida de las funcionesde membresia, el valór óptimo o máximo de cada conclusion es representada mendiante el conjunto difuso implicado:
y� = ycrispq =
PRi=1 b
qi supyq
��Bi
q(yq)
�PR
i=1 supyq
��Bi
q(yq)
�
Medio del Máximo (MOM) : :
Izquierdo del Máximo:
Derecho del Máximo:Para el controlador Mamdani:Tenemos la construcción de las reglas de la siguiente forma:Rq : Si u1 es A
j1 y u2 es A
k2 y...y un es A
ln entonces yq es B
rq :
Cuando éxiste una entrada ui = x�i se puede fusi�car con una función de membresia singleton. y entonces las reglasson.Rq : Si u�1 es A
j1 y u
�2 es A
k2 y...y u
�n es A
ln entonces yq es B
rq :
y la función de membresia en la entrada es esQni �Aj
i(xi) : y entonces el mecanismo de inferencia o de salida esQn
i �Aji(xi)�Bj
(yj) y puesto que se tiene la union de las implicaciones de salida se tiene. �p = m�axRj=1
�Qni �Aj
i(xi)�Bj
(yj)�:
La defusi�cación se puede realizar con el centro promedio que solo usa el valor central de la función de membresia.Qni �Aj
i(xi)�Bj
(yj) , con �Bj(yj) = 1: entonces queda como.
2
ycrisp =
PRi=1 �yj
Qni �Aj
i(xi)PR
i=1
Qni �Aj
i(xi)
EjemmploControlador PD Mamdani.Cualquier sistema tiene una curba de error la cual podemos generalizar como esta:
Puntos de in�exión del Error
Con el signo (mayor que) denotaremos que es positiva una señal y con el signo (Menor que) denotaremos que la señales negativa y con el signo = que es igual a cero.Con el signo � denotamos que no se efectua ningun cambio. Con el signo L que es pequeña la señal y H que es alta
la señal.Con esto podemos generar las reglas difusas necesarias para formar un PD difuso.Cada una de las reglas se aplica en cada punto de in�ección.Entonces en el primer renglon la primera regla difusa se enunciaria de la siguiente forma:R1 : S i e es igual a cero y _e es igual a cero entonces el voltaje de salida del controlador es � cero o sin acción.2666666666666664
Re glas = Puntos de ��nf lexi�on e _e Y = V a1 = = �2 > > VL3 > = VH4 > < VL5 = < �6 < < �VL7 < = �VH8 < > �VL9 = > �
3777777777777775Que sería nuestra base de reglas. es decir entre más se aleja nuestra señal mas voltaje en sentido contrario se aplica al
sistema.Las funciones de Membresia se escogen de tal forma que los valores que toman estas sean de acuerdo al sistema. En
este caso para nuestro sistema un motor de corriente directa deseamos encontrar variaciones de errores en un rango de�15 voltios y para un error de �50 voltios. Con una salida máxima de �160 voltios.Entonces nuestras funciones de membresia se pueden construir de tal forma que se traslapen las funciones y puedan
activarse las reglas más importantes que es en los cruces por cero.Nombraremos a las funciones de membresia con los signos "<,>,=,-". y usaremos la funcion de membresia triangular,
es decir el valor uno solo lo toma el punto central de tres puntos .
3
ejemplo [-90 -50 10] el punto -90 tiene un valor de fusi�cacion de cero, el punto -50 tiene un punto de fusi�caci�on deuno y por ultimo el 10 tiene cero.entonces las funciones de pertenencia propuestas son las siguientes.
�e =
24 <=>
35 =24 ���nf �50 10
�1 0 1�10 50 ��nf
35_e =
24 <=>
35 =24 ���nf �15 5�0;1 0 0;1�5 15 ��nf
35
�e =
266664VHVL��VL�VH
377775 =266664���nf �160 �120�80 �40 �1�1 0 11 40 80120 160 ��nf
377775introduciendo estas funciones de membresia en el programa toolbox de Fuzzy de Matlab tenemos los sigiente.
Esquema general Funciones de membresia del error
4
Funciones de membresia de delta del error Funciones de membresia de salida Va
El sistema utilizado es el modelo de un motor en cd de posición. cuya función de transferencia se puede expresar como
P (s) =60
s (s+ 3)
simulando este sistema en Matlab obtenemos la siguiente grá�ca.
esquematico en simulink
5
Va Va despues de la ganancia
y contra yd error
2. Otro método es utilizando el controlador de Takagi-Sugeno-kant
Consiste en el mismo procedimiento con exepción de que no tiene funciones de membresia de salida en lugar de elloutiliza una combinación lineal de las fusi�caciones de las entradas.utlizando la misma tabla de reglas de entrada y en lugar de usar las funciones de membresia de salida utlizaremos la
combinación lineal de las funciones de membresia después de realizada la relación de entrada de cada regla.Entonces como estamos utilizando un controlador PD nuestro control tiene una combinación lineal conrespecto al error
y su derivada es decir:
u (k) = kpe (k) + kd _e (k)
Entonces cada una de nuestras reglas tendrá este arreglo de salida en lugar de una función de membresia, es decir.
6
2666666666666664
Re glas = Puntos de ��nf lexi�on e _e Y = V a1 = = u1 (k) = kp1e (k) + kd1 (k)2 > > u2 (k) = kp2e (k) + kd2 (k)3 > = u3 (k) = kp3e (k) + kd3 (k)4 > < u4 (k) = kp4e (k) + kd4 (k)5 = < u5 (k) = kp5e (k) + kd5 (k)6 < < u6 (k) = kp6e (k) + kd6 (k)7 < = u7 (k) = kp7e (k) + kd7 (k)8 < > u8 (k) = kp8e (k) + kd8 (k)9 = > u9 (k) = kp9e (k) + kd9 (k)
3777777777777775Dando como constantes unas propuestas como
26666666666664
u1 (k)u2 (k)u3 (k)u4 (k)u5 (k)u6 (k)u7 (k)u8 (k)u9 (k)
37777777777775=�1 2 3 4 5 4 3 2 1
�T(0;5) e (k) +
�1 2 3 4 5 4 3 2 1
�T(0;05) e (k � 1)
Construyendo esto en simulink queda de la siguiente manera.
Reglas
como las reglas tienen esta estructura vectorial de nueve salidasentonces podemos reconstruir la salida del controlador como sigue por medio de el centroide, puesto que no son
funciones de membresia.
7
u� (k) =
P9i=1 u
�i (k)�Ri
(e�;4e�)P9i=1 �Ri
(e�;4e�)entonces nuestra defuzzi�cación queda como
Defuzzi�cador Controlador Sugeno
Gra�cando la salida, para una entrada escalon obtenemos lo siguiente.
Voltaje de armadura en la salida del control Voltaje de Armadura des pues de la ganancia
8
error Salida contra deseada
9