Está en la página 1de 5

Lógica difusa y su implementación en un sistema

de péndulo invertido
Santiago Moreno Esteban Cadavid
Facultad de ingenierı́a Facultad de ingenierı́a
Universidad de Antioquia Universidad de Antioquia
Medellı́n, Colombia Medellı́n, Colombia
santiago.moreno3@udea.edu.co esteban.cadavid@udea.edu.co

Etiqueta Universo Variable


Abstract—This report will show the solution to three different Edad 30-50 E
problems with fuzzy logic. The first problem is the choice of Experiencia 5-25 Ex
a worker to meet some needs, the second is to verify the Salario 1-5 S
complement between T-Norma and S-Norma, the final problem
is the design of a fuzzy control for a reverse pendulum system. Luego se procedió a graficar las variables del sistema difuso.
In addition, the answers will be analyzed and compared among
them, thus obtaining some conclusions about the results.
Index Terms—fuzzy, etiquetas, variables, universo de discuro,
conjuntos difusos, T-Norma, S-Norma, controlador

I. I NTRODUCCI ÓN
El trabajo realizado se refiere al tema de la lógica difusa,
en los casos en los que ésta puede ser aplicada y la manera
de hacerlo, tanto en software como en ”papel” para hacer
un análisis pertinente y llegar a una toma decisiones. La
caracteristica principal de esta lógica es el de asemejarse a
la forma de tomar decisiones de las personas implementado
en una máquina, debido a la imposibilidad de tener en cuenta
muchos factores para ésta abstracción con la lógica clásica o
binaria, ya que esta toma decisiones drásticas de sı́ o no (1 o
0), pero con esta implementación podemos hablar de niveles Fig. 1. Variables y conjuntos difusos.
de pertenencia y muchas más consideraciones. Se realiza este
trabajo con el motivo de afianzar los conocimientos adquiridos Teniendo ya las variables graficadas se procedió a obtener
en clase sobre el tema y aplicarlos a modelos hipotéticos de los grados de pertenencia de cada empleado para cada conjunto
situaciones reales para ası́ evidenciar las ventajas adquiridas y difuso de interés y luego a efectuar las uniones (max) e
las formas de trabajar con éste. intersecciones (min) pertinentes.
Min[
II. R ESULTADOS Max(Emedia, Max(Emedia,
Apellido Emedia Exalta Sbajo
A. Sistema difuso para elección de un empleado Exalta) Exalta)
,Sbajo]
Se diseño un sistema difuso para la elección de un empleado Arias 0 0 1 0 0
Benavides 0.7 0.1 0 0.7 0
que responda a la siguiente frase: edad media o experiencia Camargo 1 0.1 0.5 1 0.5
alta pero salario bajo. Los datos de partida para el diseño Diaz 0 0.35 0 0.35 0
del sistema fueron: Eslava 0 0.5 0 0.5 0

Apellido Edad Experiencia Salario El empleado a elegir es camargo


Arias 31 11 1
Benavides 37 18 3 B. Demostración para T-Norma y S-Norma
Camargo 41 18 2
Diaz 46 20 5 • En una primera instancia se demostrará si la ecuación de
Eslava 49 21 4 la suma de Einstein es una S-Norma, comprobando los
axiomas que debe cumplir, siendo la ecuación de suma
Teniendo estos datos se procedió a crear las etiquetas Einstein para la S-Norma la siguiente:
lingüı́sticas con sus respectivos universos de discurso y el a+b
nombre de las variables ses (a, b) = (1)
1 + ab
Se puede observar ésta gráficamente en la fig 4. Se puede observar ésta gráficamente en la fig 4. 1)
1) Condición de lı́mites: s(1,1)=1 - s(0,a) = s(a,0) = a Condición de lı́mites: t(0,0)=0; - t(a,1) = t(1,a) = a
1+1 2 (0)(0) 0
ses (1, 1) = = =1 tep (0, 0) = = =0
1 + (1)(1) 2 2 − (0 + 0 − (0)(0)) 2
0+a a a(1) a
ses (0, a) = = =a tep (a, 1) = = =a
1 + (0)(a) 1 2 − (a + 1 − a(1)) 1
a+0 a (1)a a
ses (a, 0) = = =a tep (1, a) = = =a
1 + (a)(0) 1 2 − (1 + a − (1)a) 1
2) Conmutatividad: s(a,b) = s(b,a) 2) Conmutatividad: t(a,b) = t(b,a)
a+b a+b (a)(b) ab
ses (a, b) = = tep (a, b) = =
1 + (a)(b) 1 + ab 2 − (a + b − (a)(b)) 2 − (a + b − ab)
b+a a+b (b)(a) ab
ses (b, a) = = tep (b, a) = =
1 + (b)(a) 1 + ab 2 − (b + a − (b)(a)) 2 − (a + b − ab)
3) Monotonocidad: if a ≤ a’ and b ≤ b’. Then s(a,b) ≤ 3) Monotonocidad: if a ≤ a’ and b ≤ b’. Then t(a,b) ≤
s(a’,b’) Para a¡a’ y b¡b’ t(a’,b’)
a+b ab
ses (a, b) = tep (a, b) =
1 + (a)(b) 2 − (a + b − ab)

a0 + b0 Con las consideraciones del caso anterior.


ses (a0 , b0 ) = a0 b0
1 + (a0 )(b0 ) tep (a0 , b0 ) =
2− (a0 + b0 − a0 b0 )
Para a y b ∈ [0,1] → a+b ≥ a’+b’
y por a’+b’ ≥ a’b’ a’b’ ≥ a’-b’+a’b’
a’+b’-a’b’ ≥ 0 0 ≥ -a’-b’ Entonces
a’(1-b’)+b’≥ 0 ab a0 b0
Por tanto: ≤
a+b a0 + b0 2 − (a + b − ab) 2 − (a0 + b0 − a0 b0 )

1 + (a)(b) 1 + (a0 )(b0 ) 2 − (a0 + b0 − a0 b0 ) ab
∗ 0 0 ≤0
1 + a0 b0 a+b 2 − (a + b − ab) ab
∗ ≤0
1 + ab a0 + b0 Como la primer parte (fracción más a la izquierda) crece
Como la primer parte (fracción más a la izquierda) crece más lento de lo que baja la segunda parte del producto
más lento de lo que baja la segunda parte del producto (fracción de la derecha) y por la demostración antes
(fracción de la derecha) y por la demostración antes realizada siempre es ≤ 0
realizada siempre es ≤ 0 4) Asociatividad: t(t(a,b),c) = t(a,t(b,c))
4) Asociatividad: s(s(a,b),c) = s(a,s(b,c)) ab
2−(a+b−ab) c
a+b tep (s(a, b), c) = ab ab
1+ab + c 2− 2−(a+b−ab) −c+ 2−(a+b−ab) c
ses (s(a, b), c) = a+b
1 + 1+ab c abc
2−a−b+ab
a+b+c+abc = 4−2a−2b+2ab−ab−2c+ac+bc−abc+abc
1+ab a + b + c + abc 2−a−b+ab
= 1+ab+ac+bc
=
1+ab
1 + ab + ac + bc
abc
=
b+c
a + 1+bc 4 − 2a − 2b − 2c + ab + bc + ac
ses (a, s(b, c)) = b+c
1 + a 1+bc
bc
a 2−(b+c−bc)
a+b+c+abc tep (a, s(b, c)) =
1+bc a + b + c + abc bc bc
= = 2− 2−(b+c−bc) −a+ 2−(b+c−bc) a
1+ab+ac+bc 1 + ab + ac + bc
1+bc
abc
• Ahora se probara para la T-Norma de la ecuación de = 2−b−c+bc
4−2b−2c+2bc−bc−2a+ab+ac−abc+abc
producto Einstein que está dada por: 2−b−c+bc

ab abc
tep (a, b) = (2) =
2 − (a + b − ab) 4 − 2a − 2b − 2c + ab + bc + ac
Fig. 2. S-Norma y T-Norma. Fig. 4. T-Norma y S-CoNorma.
Gráfica de la T-Norma y la S-Norma. Gráfica de la t-Norma y la negación de la S-Norma, la S-
CoNorma.
• Se demostrará tanto gráfica como matemáticamente cómo
pasar de una s-norma a una t-norma utilizando la función C. Diseño de un controlador difuso
del producto de Einstein. Se diseñó un controlador difuso para un sistema de péndulo
Primero de forma matemática: invertido. En el diseño se tuvieron en cuenta 2 variables de
a+b
Partiendo de la S-Norma 1+ab se aplica entonces la ley entrada y una de salida. En el sistema de pendulo invertido
de morgan para pasar de unión a intersección (A∪B = las variables de entrada a controlar fueron la posición y la
A ∩ B ) tomando la negación en este caso como “1-x” velocidad, estas variables se deben llevar a su referencia para
(1 − a) + (1 − b) lograr un sistema estable. En este caso la referencia fue 0
1− por los que se debı́a tener un péndulo totalmente vertical e
1 + (1 − a)(1 − b)
inmóvil.
2−a−b
=1−
1 + 1 − a − b + ab
2 − a − b + ab − 2 + a + b
=
2 − a − b + ab
Llegando ası́ a:
ab
=
2 − a − b + ab
Ahora de forma gráfica:

Fig. 5. Péndulo inverso y controlador difuso.

Se diseñaron 2 tipos de controlares difusos, uno tipo


Mamdani y otro tipo Takagi-Sugeno. El sistema de péndulo
invertido implementado en SIMULINK-MATLAB fue dado
junto con sus datos. Entre los datos se tuvieron las variables
de entrada y de salida junto con sus lı́mites de operación
(Universo de discurso). De los cuales se extrae la siguiente
tabla:
Etiqueta Universo Variable
Fig. 3. S-norma y T-CoNorma. Posición angular [-0.4, 0.4] Posición
Gráfica de la S-Norma y la negación de la T-Norma, la T- Velocidad Angular [-0.5, 0.5] Velocidad
CoNorma. Fuerza [-30, 30] Fuerza
• Mamdani: Para el controlador tipo Mamdani se consid- y se llegó a ajustar todas las variables de entrada a 3
eraron primero 2 conjuntos difusos por cada variale de funciones de pertenencia y la de salida con 5 funciones
entrada y 4 conjuntos difusos para la variable de salida. de pertenencia.

Fig. 6. Variables de entrada y salida.

Se definieron ası́ los conjuntos teniendo en cuenta la Fig. 8. Variables de entrada y salida.
incertidumbre para los rangos ”altos” y ”bajos”, ademas
se evidencia el solapamientos entre las funciones de
pertenencia, estos se hacen con el fin de evitar oscila-
ciones en el sitema. – Si Pbaja y Valta entonces Fzero
Con la lógica anterior se consideran las siguientes reglas: – Si Pbaja y Vbaja entonces Falta
– Si Palta y Valta entonces Fbaja – Si Pbaja y Vzero entonces Falta
– Si Palta y Vbaja entonces Fbmedia – Si Palta y Vbaja entonces Fzero
– Si Pbaja y Valta entonces Famedia – Si Palta y Valta entonces Fbaja
– Si Pbaja y Vbaja entonces Falta – Si Palta y Vzero entonces Fbaja
A continuación se muestran las gráficas de las variables – Si Pzero y Valta entonces Fbaja
para los diferentes controladores, la primera gráfica se – Si Pzero y Vbaja entonces Falta
refiere a la posición, la segunda a la velocidad y la tercera – Si Pzero y Vzero entonces Fzero
a la fuerza aplicada.
De este controlador resultan 9 reglas, la cuales resultan
Se probó con una posición inicial de 0.4 y una velocidad
en la sigueinte superficie.
inicial de 0.4.

Fig. 9. Superficie del controlador.

Fig. 7. Salida del sistema.

Para arreglar el problema de estabilización se probaron El sistema se probó con una posición inicial de 0.4 y una
dierentes combinaciones de conjuntos de cada variable velocidad inicial de 0.5.
Fig. 10. Salida del sistema. Fig. 13. Salida del sistema.

El tiempo de establización fue de 6 unidades de tiempo El tiempo de establización fue de 9 unidades de tiempo
para la posición y de 5 unidades de tiempo para la para la posición y de 5 unidades de tiempo para la
velocidad. velocidad.
• Takagi-Sugeno Con el conocimiento adquirido del con-
trolador previo se diseñó un controlador con los mismos III. D ISCUSI ÓN
conjuntos y variables que el anterior. Con excepción en • La generación de los conjuntos difusos puede ser sub-
los conjuntos de la variable de salida que en el sistema jetiva y responde a la concepción del experto que esté
tipo Takagi-Sugeno se aumentan a 5 y son constantes. ayudando en la realización de estos conjuntos, ademas
Falta=10, Faltam=5, Fzero=0, Fbmedia=-5, Famedia=-10. se deben tener en cuenta los universos de discurso y el
número de conjuntos difusos que se vayan a crear. Por
eso para un mismo problema es posible que existan 2 o
más sistemas que den diferentes respuestas.
• Las S-Norma y T-Norma elegidas (suma Einstein y pro-
ducto Einstein) son complementarias entre si y cumplen
todos los axiomas necesarios para ser efectivamente S-
Norma y T-Norma.
• Al conocer el funcionamiento del controlador tipo Mam-
Fig. 11. Variable de salida. dani y ver su comportamiento acorde a las entradas,
para nuestro caso en especı́fico se pudo obtener una
Al ser basado en el último controlador del punto anterior, aproximación ante las variables de entrada y de salida,
de este sistema resultan 9 reglas parecidas al mandani. haciendo mas rápido el proceso
– Si Pbaja y Valta entonces Fzero • Aunque el controlador tipo Takagi-Sugeno tiene salidas
– Si Pbaja y Vbaja entonces Falta discretas se puede evidenciar que la superficie resultante
– Si Pbaja y Vzero entonces Famedia es mas suave que la del tipo Mamdani, esto es debido al
– Si Palta y Vbaja entonces Fzero salto que se da entre las funciones de pertenencia en los
– Si Palta y Valta entonces Fbaja conjuntos difusos.
– Si Palta y Vzero entonces Fbmedia • En el controlador tipo Mamdani se puede notar que
– Si Pzero y Valta entonces Fbmedia aunque se disminuyeron los conjuntos difusos de la
– Si Pzero y Vbaja entonces Famedia variable de salida (fuerza), el controlador responde mejor,
– Si Pzero y Vzero entonces Fzero esto se debe al aumento de los conjuntos difusos de las
variables de entrada y de la mejora en la elección de
los rangos de las funciones de pertenencia teniendo en
cuenta un mayor solapamiento para una transición entre
funciones mas suave.
• Se pudo observar que al momento de hacer un controlador
difuso para solucionar el problema planteado del péndulo
invertido se obtiene una respuesta correcta, pertinente
a un sistema de control, que tiene en cuenta todos los
factores fı́sicos tomados en cuenta en la realización de la
simulación y lo relativo al trato de las variables de entrada
Fig. 12. Superficie del controlador. del controlador. Se trabajan las variables haciendo que el
controlador funcione ante cualquiera de las condiciones
El sistema se probó con una posición inicial de 0.4 y una
iniciales posibles.
velocidad inicial de 0.5.

También podría gustarte