You are on page 1of 3

CONTROL DIFUSO INTELIGENCIA ARTIFICIAL

Juan Sebastian Bareo 1801990


Jonathan Camilo Pez 1802044

I. INTRODUCCIN.
Los controladores difusos cumplen funciones Usando la herramienta de lgica difusa de
similares a las funciones de control de un Matlab Fuzzy se cre un controlador funcional que
controlador tradicional, pero permiten al diseador consta de 14 reglas, el sistema difuso es capaz de
olvidarse del modelo matemtico que describe al estabilizar el sistema en un tiempo mximo de 40
sistema, siendo necesario en lugar de dicho segundos y es robusto a diferentes tipos de
modelo, un conocimiento profundo del entrada, el pndulo invertido no se cae aun cuando
comportamiento real de la planta que pueda ser la referencia cambie bruscamente en el tiempo.
descrito en lenguaje ordinario.

En conjunto las reglas escritas en forma


coloquial que describen el comportamiento del
sistema son conocidas como la base de
conocimiento, estas reglas son escritas por el
experto en el sistema razn por la cual el control es
muy dependiente de la formulacin adecuada de
estas reglas, cabe aclarar que diferentes expertos
podrn describir el comportamiento del sistema de
diferentes maneras de la misma forma en que la
misma idea puede ser expresada en diversas
formas, empleando construcciones lingsticas
diferentes.

II. DISEO DEL CONTROLADOR DIFUSO.


Matlab cuenta con un ejemplo de control difuso
para un pndulo invertido, escribiendo el comando
>>slcp en la ventana de comandos se consigue que
se despliegue el modelo en Simulink que se Es recomendable que los conjuntos difusos de
muestra en la figura 1. entrada y salida cuenten con etiquetas lingsticas
que expresen de forma coloquial su funcin en el
sistema, esto facilita el proceso cognitivo de
planteamiento de las reglas difusas.
A continuacin Veremos el conjunto de Reglas
para nuestro control.

1. If (Theta is ThetaNegativo) and (X is


Negativo) and (XPunto is negativa) then
(output1 is muy_negativa) (1)
2. If (Theta is ThetaPositivo) and
(ThetaPunto is horario) and (X is Negativo)
and (XPunto is cero) then (output1 is
mas_positiva) (1)

3. If (Theta is ThetaNeutro) and


(ThetaPunto is neutro) and (X is Negativo)
and (XPunto is positiva) then (output1 is
neutra) (1)

4. If (Theta is ThetaNeutro) and


(ThetaPunto is neutro) and (X is cero) and
(XPunto is negativa) then (output1 is
mas_positiva) (1)

5. If (Theta is ThetaNeutro) and


(ThetaPunto is neutro) and (X is cero) and
(XPunto is cero) then (output1 is neutra) (1)

6. If (Theta is ThetaNeutro) and


(ThetaPunto is neutro) and (X is cero) and
(XPunto is positiva) then (output1 is
mas_negativa) (1)

7. If (Theta is ThetaNeutro) and


(ThetaPunto is neutro) and (X is positivo)
and (XPunto is negativa) then (output1 is
neutra) (1)
8. If (Theta is ThetaNegativo) and
(ThetaPunto is antihorario) and (X is
positivo) and (XPunto is cero) then (output1
is mas_negativa) (1)

9. If (Theta is ThetaPositivo) and (X is


positivo) and (XPunto is positiva) then
(output1 is muy_positiva) (1)

10. If (Theta is ThetaNegativo) and


(ThetaPunto is antihorario) then (output1 is
mas_negativa) (1)

11. If (Theta is ThetaNegativo) and


(ThetaPunto is neutro) then (output1 is
negativa) (1)

12. If (Theta is ThetaNegativo) and


(ThetaPunto is horario) then (output1 is
negativa) (1)

13. If (Theta is ThetaPositivo) and


(ThetaPunto is antihorario) then (output1 is
positiva) (1)

14. If (Theta is ThetaPositivo) and


(ThetaPunto is neutro) then (output1 is
positiva) (1)

15. If (Theta is ThetaPositivo) and


(ThetaPunto is horario) then (output1 is
mas_positiva) (1)

You might also like