Capítulo 5 Simulación en Matlab
Capítulo 5
Simulación en MATLAB
5.1 Introducción
La simulación correspondiente al control que se empleará en el convertidor SMC de 3X2
se desarrolló con el software MATLAB. Dicho software presenta un apartado muy
amplio en donde ofrece herramientas de simulación previamente desarrolladas. Para el
caso de lógica difusa existe un apartado que lleva por nombre “Fuzzy Logic Tool box”
(Math Works Inc.) [32].
El Fuzzy Logic Toolbox (FLT) es una herramienta para desarrollar programas difusos de
manera amigable en un ambiente MATLAB. El desarrollo se hace empleando la interfaz
de usuario gráfica, por sus siglas en ingles GUI (graphical user interface). [33]
89
Capítulo 5 Simulación en Matlab
Existen cinco herramientas gráficas para la construcción, edición y observación de un
sistema de inferencia difuso dentro de un FLT. Estas son: [33]
- Sistema de inferencia difuso, por sus siglas en ingles FIS (Fuzzy Inference System).
- Función de membresía, por sus siglas en ingles MF (Membership Function).
- Editor de reglas.
- Visualizador de reglas.
- Visualizador de superficie.
5.2 Representación del sistema de lógica difusa usando Matlab
El FLT es usado para obtener la simulación del control que se empleará en el desarrollo
de un control en lazo cerrado, aplicado a un convertidor SMC de 3X2. El FLT provee de
una interfaz gráfica (FIS) que permite dar una interpretación de manera más práctica,
además de como la técnica de control difuso ayuda a controlar un sistema en general.
5.3 Sistema de Inferencia Difuso
El editor FIS de la Figura 5.1, muestra de manera general la información acerca de un
sistema difuso. En la parte superior izquierda se indican las variables difusas de entrada
(iconos amarillos), y en la parte derecha se muestran las variables de salida (icono azul).
Las funciones de membresía mostradas en las cajas o iconos no muestran la función de
membresía como tal, sino únicamente son una representación de estas para indicar su
90
Capítulo 5 Simulación en Matlab
existencia. Debajo de esto, en el icono color blanco se indica el nombre del sistema y el
método de inferencia (Mamdani o Sugeno). En la parte inferior izquierda se muestra un
menú de opciones que ayuda a ajustar la función de inferencia, dichos campos son
modificados por el usuario. En la parte inferior derecha se indica el nombre de la variable
de entrada o salida, esto con relación a la función de membresía.
Figura 5.1 Interfaz gráfica del sistema de inferencia.
91
Capítulo 5 Simulación en Matlab
5.4 Función de membresía
El editor de las funciones de membresía despliega y permite editar las funciones de
membresía asociadas con las variables de entrada y salida. En la Figura 5.2 se muestra la
interfase del editor de funciones de membresía. En la parte superior izquierda se muestran
las variables del FIS, las cuales son conjuntos de funciones de membresía. Cada conjunto
se conforma por el tipo de función de membresía y el número de funciones de
membresía de cada variable. En la parte inferior izquierda se muestran los controles que
permiten modificar el nombre, tipo y la forma de cada función de membresía. Una vez
seleccionadas las funciones de membresía para cada variable, estas son desplegadas en la
gráfica. En la parte inferior izquierda se cuenta con la información acerca de la variable
que se este editando. En los campos de texto se indica el rango del universo en discurso y
posteriormente se mostrará en la gráfica de la variable.
Por ejemplo, en la Figura 5.2 en la parte superior izquierda se muestran las variables del
FIS (Ventrada, Psalida y Ciclo de Trabajo) y en la parte superior derecha la función de
membresía correspondiente al ciclo de trabajo. Obsérvese que se compone de cinco
clusters (Muy Bajo, Bajo, Nominal, Alto y Muy Alto) las cuales son funciones de tipo
triangular.
92
Capítulo 5 Simulación en Matlab
Figura 5.2. Editor de funciones de membresía (ciclo de trabajo).
5.5 Editor de Reglas
Una vez que la matriz de la base de conocimientos difusa (Tabla 3.1) es desarrollada, esta
se transcribe al editor de reglas (Figura 5.3). Para este caso el editor ofrece dos campos de
datos en los cuales se pueden permutar todas las opciones posibles que ayuden a llegar al
control deseado. Existen conectores lógicos como “AND”, “OR” y “NOT” los cuales
pueden ser habilitados mediante un botón. Además, es posible borrar, agregar e inclusive
93
Capítulo 5 Simulación en Matlab
cambiar las reglas de forma simple, sin necesidad de influir de forma grave en todas las
reglas previamente creadas.
Figura 5.3 Editor de reglas.
94
Capítulo 5 Simulación en Matlab
5.6 Visualizador de reglas
Una vez que el algoritmo de fusificación ha sido desarrollado, el visualizador de reglas
que se observa en la Figura 5.4 es básicamente una visión simplificada del sistema de
inferencia difusa, en donde cada operación de cada regla es explicada de forma detallada.
Figura 5.4 Visualizador de reglas.
95
Capítulo 5 Simulación en Matlab
Existen tres campos en los cuales se presentan las diferentes funciones de membresía.
Cada regla es un renglón (tal como se contabilizan del 1 al 17) y cada columna es una
variable. Las primeras dos columnas están referenciadas a las funciones de membresía
Ventrada y Psalida, en donde estas corresponden al cuestionamiento de “Si-condición”, por
ejemplo:
Regla 1: Si Ventrada = 89.9 y Psalida = 2.1…
Dichas entradas proponen una respuesta al sistema de control, el cual se verá con una
respuesta expresada por “Entonces-acción”, ejemplo:
Regla 1: Si Ventrada = 89.9 y Psalida = 2.1, Entonces Ciclo-Trabajo = 72.5
Existe una línea de color rojo a largo de cada función de membresía, dicha línea puede
ser manipulada con el ratón, lográndose poner a prueba todas las posibles opciones que
pudiese ejercer el sistema a controlar. Por lo que, a la salida del control, en el caso de la
función de membresía del ciclo de trabajo (columna color azul), se observará cómo es
que el polígono puede ir modificándose en forma y en el valor de su centroide.
Por lo que, el visualizador de reglas permitirá el desarrollar pruebas al modificar el
algoritmo difuso, de está manera se logrará generar un ajuste mas fino de las funciones de
membresía y de las reglas.
96
Capítulo 5 Simulación en Matlab
5.7 Visualizador de superficie
Después de que el algoritmo ha sido desarrollado, el visualizador de superficie permitirá
observar la relación entre las variables de entrada y salida, tal como se observa en la
Figura 5.5.
Figura 5.5. Visualizador de superficie.
97
Capítulo 5 Simulación en Matlab
5.8 Conclusiones
Ya que se ha visto que el FLT entrega a manera de simulación resultados satisfactorios al
sistema de control que se empleará en el SMC de 3X2, por lo que ahora se exportará esta
misma idea al simulador PSIM y será necesario programar el proceso de fusificación y
defusificación en lenguaje C++, esto con el objetivo de exportar dicha ideología en el
mismo software.
98