Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1330115@upv.edu.mx
Resumen En este documento se presentan los diversos procesos para la realización de la simulación de un
controlador difuso de péndulo invertido donde primeramente se analizó de manera teórica las entradas y salidas,
variables lingüistas, base de reglas, diagrama a bloques, para posteriormente con ayuda de MATLAB vaciar
nuestros resultados y establecer las funciones de membresía con la función fuzzy para generar un modelo donde se
pudo observar la respuesta del sistema para diversas entradas.
Desarrollo
El problema que se planteó fue el de cómo lograr el control de un péndulo invertido para
el cual determinamos las variables de entrada y de salida.
1
Primeramente se establecieron los valores lingüísticos para la variable del error, como se
muestra en la siguiente imagen, donde el eje de las abscisas corresponde al ángulo θ pero en
términos de π.
Ahora se establecieron los valores lingüísticos para la entrada del cambio en el error, como
se muestra en la siguiente imagen, donde el eje de las abscisas corresponde al ángulo θ pero en
términos de π, se puede observar solamente el ángulo θ se toma hasta 45◦ que sería el ángulo
máximo a estabilizar.
2
Para nuestro modelo las variables lingüísticas Ahora la simbología de los valores lingüísticos
tiene el mismo nombre en cada variable. para cada una de las variables son las
siguientes.
Muy Negativo MN
Poco Negativo PN
Cero ZR
Poco Positivo PP
Muy Positivo MP
Como siguiente paso se establecieron los diagramas del péndulo para entender cómo
funciona respectivamente cada variable para establecer la base de reglas.
Cuando el error es:
MN PN ZR PP MP
Figura 5: Diagramas del error
Cuando el cambio en el error es:
MN PN ZR PP MP
Figura 6: Diagramas del cambio en el error
Cuando la fuerza es:
MN PN ZR PP MP
Figura 7: Diagramas de la fuerza
3
Debido a que se tuvieron 5 variables lingüísticas en el error, 5 en el cambio del error y 5
en la salida de la fuerza se logró generar un total de 25 reglas.
Explicando la primera regla donde se tiene un valor lingüístico de error en MN y un cambio
en el error en MN se da que como valor lingüístico a la salida para la fuerza también en MN, ya
que el error y el cambio fueron muy negativos se necesita de una fuerza muy grande para poder
estabilizar el péndulo.
Analizando la regla 9 cuando se tiene un valor lingüístico de error en PN y un cambio en
el error en PP se da que como valor lingüístico a la salida para la fuerza en ZR, ya que el error y
el cambio fueron contrarios estos se anulan generando una fuerza cero para poder estabilizar el
péndulo.
Verificando la regla 23 cuando se tiene un valor lingüístico de error en MP y un cambio en
el error en ZR se da que como valor lingüístico a la salida para la fuerza en MP, ya que el error fue
muy positivo y el cambio fue nulo entonces se necesita generar una fuerza muy positiva para poder
estabilizar el péndulo.
Las 25 reglas obtenidas son las siguientes:
1. IF error es MN AND cambio en el error es MN THEN fuerza es MN.
2. IF error es MN AND cambio en el error es PN THEN fuerza es MN.
3. IF error es MN AND cambio en el error es ZR THEN fuerza es MN.
4. IF error es MN AND cambio en el error es PP THEN fuerza es PN.
5. IF error es MN AND cambio en el error es MP THEN fuerza es ZR.
6. IF error es PN AND cambio en el error es MN THEN fuerza es MN.
7. IF error es PN AND cambio en el error es PN THEN fuerza es PN.
8. IF error es PN AND cambio en el error es ZR THEN fuerza es PN.
9. IF error es PN AND cambio en el error es PP THEN fuerza es ZR.
10. IF error es PN AND cambio en el error es MP THEN fuerza es PP.
11. IF error es ZR AND cambio en el error es MN THEN fuerza es MN.
12. IF error es ZR AND cambio en el error es PN THEN fuerza es PN.
13. IF error es ZR AND cambio en el error es ZR THEN fuerza es ZR.
14. IF error es ZR AND cambio en el error es PP THEN fuerza es PP.
15. IF error es ZR AND cambio en el error es MP THEN fuerza es MP.
16. IF error es PP AND cambio en el error es MN THEN fuerza es PN.
17. IF error es PP AND cambio en el error es PN THEN fuerza es ZR.
18. IF error es PP AND cambio en el error es ZR THEN fuerza es PP.
19. IF error es PP AND cambio en el error es PP THEN fuerza es MP.
20. IF error es PP AND cambio en el error es MP THEN fuerza es MP.
21. IF error es MP AND cambio en el error es MN THEN fuerza es ZR.
22. IF error es MP AND cambio en el error es PN THEN fuerza es PP.
23. IF error es MP AND cambio en el error es ZR THEN fuerza es MP.
24. IF error es MP AND cambio en el error es PP THEN fuerza es MP.
25. IF error es MP AND cambio en el error es MP THEN fuerza es MP.
4
Ahora por medio del paquete de fuzzy que nos proporciona MATLAB se accedió para crear
un sistema difuso.
5
Como paso siguiente se nombraron cada entrada y salida y se agregaron las funciones de
membresía para cada variable así como su respectivo nombre y simbología, además del rango en
el eje de las abscisas.
6
Figura 11: Base de reglas
De manera analítica una vez que se tiene el modelo matemático del péndulo invertido se crea por
medio de SIMULINK el diagrama a bloques necesario para este sistema
.
Figura 13: Diagrama a bloques del modelo matemático
7
Sobre este diagrama se crea un subsistema para realizar el diagrama de bloques del sistema
difuso del péndulo invertido, donde además del modelo matemático, se incluye la lógica difusa
por medio del bloque de controlador de lógica difusa donde se cargara el archivo .fis que
realizamos anteriormente
Figura 15: Diagrama a bloques del sistema difuso del péndulo invertido
8
Resultados
Lo que se realizó finalmente fue la variación de la ganancia H para observar algunas
respuestas del sistema, como se pudo observar al establecer una ganancia igual a uno observamos
que el sistema tiene una respuesta buena pero no la mejor donde el tiempo de asentamiento es
aproximadamente igual a 50 segundos, al cambiar la ganancia a 3 la respuesta mejoro y por ultimo
al cambiarla a 7 no se obtuvo una respuesta favorable.
9
Conclusión
10