Electricidad Electrónica Y Automatización
Ap A p l i c ac acii o n es d e co c o n t r o l i n t el elii g en entt e Automatismo industrial
Docente: Braulio Martínez R.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Introducción •
Simulación: Es el proceso de diseñar un modelo de un sistema real y llevar a término experiencias con él, con la finalidad de comprender el comportamiento del sistema o evaluar nuevas estrategias dentro de los límites impuestos por un cierto criterio o un conjunto de ellos para el funcionamiento del sistema.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Objetivos Control con Lógica Difusa: • Introducción • Teoría y Conceptos Básicos • Metodología de fuzificación y defuzuficación • Ejemplos • Simulaciones de Sistemas de Control
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Introducción ▪ Las bases de la lógica difusa fueron presentadas alrededor de 1965 por Lofti Zadeh, profesor de la Universidad de California de Berkley. ▪ Contraviniendo los conceptos de la lógica clásica, donde un elemento se marca únicamente como perteneciente o no a un conjunto, propone el concepto de pertenencias parciales a conjuntos que denominó difusos.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Introducción 1965: Propue Propuesta sta por el el profesor profesor Lofti Zadeh, en en la Universidad de Berkeley. ▪ Década de los 70: Primeras aplicaciones (Mamdani, regulación de motor a vapor). ▪ Década de los 80: Aplicaciones industriales. (Operación de un tren en Senday, Japón, TakagiSugeno). ▪ Década de los 90: Primeros productos de consumo: Cámara, Lavadoras, etc.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Diferencias Diferencias entre la lógica clásica y la lógica difusa
▪ La lógica clásica define valores exactos, en la lógica difusa pueden haber valores intermedios o aproximados. ▪ Se basa en el conocimiento empírico del proceso, bajo el cual se definen reglas lingüísticas. ▪ Permite trabajar con información que posee alto grado de imprecisión, al contrario que la lógica tradicional. ▪ Entre otras.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Caracterización Caracterización de conjuntos difusos (Conceptos Básicos)
▪ Universo: Colección de objetos de los que se hablará en una lógica específica. Por ejemplo, el universo de lo números naturales o el universo de las edades. ▪ Conjunto: Colección de elementos que existen dentro de un universo.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Caracterización Caracterización de conjuntos difusos (Conceptos Básicos) ▪ Variable lingüística: Es aquella noción o concepto que calificarán de forma difusa (ejemplo: la altura, la edad, el error la variación del error, etc.). Se aplica el adjetivo "lingüística“ porque define características mediante el lenguaje hablado. ▪Valor lingüístico: Son diferentes clasificaciones que se efectúa sobre la variable lingüística: en el caso de la altura, es posible dividir el universo de discurso en los diferentes valores lingüísticos: “bajo”, “mediano” y “alto”. Cada valor lingüístico tendrá un conjunto difuso asociado, de forma que se habla de los conjuntos difusos “bajo”, “alto”, etc. asociados a la variable lingüística “altura”.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Caracterización Caracterización de conjuntos difusos (Conceptos Básicos)
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Funciones de pertenencia Las funciones de pertenencia son una forma de representar gráficamente un conjunto difuso sobre un universo. ▪ Sea el universo, un conjunto difuso y una función de pertenencia (o membresía) tal que: = → [0,1]
▪ Entonces: = { , : }
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Funciones de pertenencia Algunas de las funciones de pertenencia más utilizadas son: Func Funcio ion n gamm gamma a
Func Funcio ion nL
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Funciones de pertenencia Func Funcio ion n lamda lamda o trian triangu gular lar
Funcio Funcion n PI o trape trapezoi zoidal dal
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Funciones de pertenencia Función S
Función Z (opuesta de la s) Func Funcio ion n PI
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Funciones de pertenencia Ejemplo A continuación se muestra un ejemplo de conjuntos difusos:
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Esquema de control difuso
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Esquema de control difuso Pasos para diseño de un controlador Difuso: Definición de universo Definición de conjuntos Definición de variables y valores lingüísticos • Definición de reglas • Fuzificación • Inferencia • Defuzificación
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Reglas para Inferencia Proceso realizado para convertir un valor tradicional lógico, binario, decimal, y/o exacto, en un valor o cantidad difusa. Por lo general son definidas por expertos en la materia en base al conocimiento empírico del proceso. Son del tipo: IF (condición 2) AND (condición 2) THEN (resultado) Ejemplo de regla para control de temperatura:
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Fuzificación •
•
Proceso realizado para convertir un valor tradicional lógico, binario, decimal, y/o exacto, en un valor o cantidad difusa.
Entonces el grado de membresía para un ahorro de 55 será de: 0.25 % de “ahorros bajos”, 0.75 % de “ahorros regular” y 0 % de "ahorros altos“.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Inferencia La inferencia es el proceso mediante el cual se genera un mapeo para asignar a una entrada una salida utilizando lógica difusa. El proceso de inferencia provee las bases para la toma de decisiones del sistema. Este proceso involucra la utilización de funciones de pertenencia y las reglas generadas en la base de conocimiento. Existen diferentes métodos de inferencia, los más comunes son de Mamdani y Takagi-SugenoKang.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Inferencia Inferencia Utilizando Mamdani
▪ El método Mamdani (o min-max) utiliza reglas tipo si-entonces (if-else). Una regla de la base de reglas o base de conocimiento tiene dos partes, el antecedente y la conclusión. ▪ En un sistema difuso tipo Mamdani tanto el antecedente como el consecuente de las reglas están dados por expresiones lingüísticas
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Inferencia Inferencia utilizando Mamdani
Reglas utilizando inferencia tipo Mamdani
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Inferencia utilizando Takagi-Sugeno-Kang ▪ En los sistemas tipo Sugeno, los valores que arrojan los consecuentes de las diferentes reglas que se han activado en un momento determinado ya son valores numéricos por lo que no necesitan una etapa de Defuzificación. ▪ Las reglas de la base del conocimiento de un sistema Sugeno son diferentes a las de los sistemas Mamdani pues el consecuente de estas reglas ya no es una etiqueta lingüística, sino que es una función de la entrada que tenga el sistema en un momento dado.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Inferencia Utilizando Takagi-Sugeno
Reglas utilizando inferencia tipo Takagi – Su Suge geno no - Kang Kang
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Reglas de fuzificacion, para propina en restaurant Ejemplo de fuzificación, para propina en un restaurant
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Defuzificación ▪ Transforma ransforma el conjunto de valores de salida sa lida de un sistema
de control, en un valor numérico de acuerdo a un método que tiene una gran influencia sobre el comportamiento del controlador controlad or.. diferentes métodos de Defuzificación: ▪ Existen diferentes Centro de Área o Centro Ce ntro de Gravedad (el más utilizado) Centro de Sumas Centro de Área Mayor Primero de Máximos Medio de Máximos Altura. Entre otros.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Reglas de fuzificacion, para propina en restaurant 1. Centro de área o centro de gravedad
• Para evitar calcular la integral integral numérica, se realiza una discretización discretización
de la salida:
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Reglas de fuzificacion, para propina en restaurant 1. Centro de área o centro de gravedad (continuación). (continuación). • Inconvenientes : • El cálculo del conjunto difuso agregado es costoso. • No tiene en cuenta el hecho de que dos áreas se solapen
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab 1. Acceso: Para acceder al toolbox fuzzy se debe digitar la palabra palabra fuzzy fuzzy en la línea línea de comandos y luego oprimir enter. En el caso de encontrar un error, por no hallarse cargado cargado el toolbox toolbox se debe debe agregar agregar el CD de instalación de Matlab. El menú al cual se debería acceder es el siguiente:
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab
En el Menú 1, se podrá modificar los métodos de los operadores lógicos and y or, los métodos de implicación, de agregación y de Defuzificación. En el Menú 2, se podrá cambiar el nombre de la variable que se encuentre seleccionada, por ejemplo, modificar el nombre “input1” por “flujo de agua”.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab Para elegir el tipo de modelo a usar, Sugeno o Mamdani, se debe acceder al menú File -> New FIS… -> Mamdani (Sugeno).
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab Para agregar alguna variable, ya sea de entrada o de salida, se debe seleccionar el menú Edit -> Add Variable -> Input (Output).
Al agregar una variable, es posible visualizarla en el el menú gráfico. La variable actualmente seleccionada aparece enmarcada en rojo.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab Las funciones de pertenencia, tanto para las variables de entrada como para las de salida, se modifican en un menú especial Membership Function Function Editor que que aparece al hacer doble click en la variable de interés.
Editor de Funciones de Pertenencia, Membership Editor
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab En el Menú 1, se puede modificar el rango de la función de pertenencia, en el cual la estará definida. En el Menú 2, es posible modificar el nombre de la función de pertenencia, los parámetros de la función de pertenencia y también su forma, la cual está seleccionada triangular en este caso, siendo ésta la más común.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab Para poder modificar las reglas del modelo se debe acceder al Rule Editor, haciendo doble click sobre el modelo.
Editor de Reglas, Rule Editor
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab Según el número de variables de entrada y salida que existan y su funciones de pertenencia será el número de reglas que es posible generar. En el Menú 1 se selecciona el valor que toma la primera variable de entrada, en el Menú 2, el valor que toma la segunda variable de entrada (si es necesario es posible negarla marcando not). En el Menú 3, se selecciona el tipo de conexión lógica entre ambos valores seleccionados (and, or), finalmente, en el Menú 4, se selecciona la salida que deberá entregar el controlador para los valores de entrada ya indicados. Luego, se presiona el botón Add rule, y la regla es agregada.
Para Eliminar una regla basta seleccionarla y apretar el botón Delete rule. Para modificarla se debe hacer click en el botón Change rule.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab Para poder implementar el controlador es necesario guardar el trabajo realizado en 1 a 4, con el menú File -> export to… -> Disk (del FIS Editor), guardando así el trabajo. Luego, es necesario importar el archivo al workspace, para que luego Matlab lo pueda reconocer y pueda ser implementado en Simulink, para eso se debe acceder al menú File -> export to… -> workspace. Si se desea trabajar con un modelo ya guardado se debe importar desde el menú fuzzy primero, primero, y luego luego exportar exportarlo lo al workspace. Luego de esta etapa, se debe cargar el controlador en Simulink, lo cual se hace dentro de un bloque llamado fuzzy logic controller.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab
Bloque Fuzzy Logic Controller Para implementar el controlador difuso, se hace doble click en el bloque Fuzzy Logic Controller, y se escribe el nombre nombre del archivo archivo con que que se guardó guardó el controlador.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Utilización del toolbox de lógica difusa en Matlab Simule el ejemplo del restaurant sobre la propina que se le entregará al mesero, tomando en cuenta los l os siguientes parámetros: Entradas del Sistema: Variable lingüística 1: Servicio dado por el mozo Valores lingüísticos: Pobre, bueno, excelente (calificación entre 0 a 7). Variable lingüística 2: Comida Valores lingüísticos: Rancia, buena, excelente (calificación entre 0 a 7). Salida del Sistema: Variable lingüística 1: Propina Valores lingüísticos: Poca, promedio, generosa (entre 2 a 10 mil pesos).
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa Ejemplo: Utilizando el FIS EDITOR y SIMULINK, sintonice la función de transferencia que se muestra a continuación realizando la simulación de esta.
=
9 + 2,4 + 9
Sistema de segundo orden con: = 3 = 0, 0,4
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa Primero se realiza la simulación de lazo abierto y lazo cerrado, obteniendo la información importante para la elaboración de la Lógica Difusa:
LAZO ABIERTO
LAZO CERRADO
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa Curvas Time Series Plot:
Time Series Plot:
1.4
1
1.2
0.9
1
0.8
Time Series Plot: 1
0.5
0.8
0
0.7
a t a d
a t a d
a t a d
0.6
0.6
0.4
0.5
0.2
0.4
-0.5
-1
0
0
1
2
3
4 5 Time (seconds)
LAZO ABIERTO
6
7
8
0
1
2
3
4 5 Time (seconds)
ERROR
6
7
8
-1.5
0
1
2
3
4 5 Time (seconds)
DERIVADA ERROR
6
7
8
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa Con esta información configuramos el FIS EDITOR
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa ENTRADAS
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa Salida
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa Luego las reglas Una vez diseñadas las reglas, se puede ver la curva de reglas
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa Luego se exporta a “FILE” y a “ ToWORKSPACE ” y se carga en el bloque FUZZY de SIMULINK
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa CURVA DE RESPUESTA Y VISOR DE REGLAS CON FUZZY Time Series Plot: 1.4
1.2
1
0.8 a t a d
0.6
0.4
0.2
0
0
1
2
3 Time (seconds)
4
5
6
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa Un sistema para control de altura de líquido de un estanque tiene el siguiente esquema:
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa El sistema posee una altura máxima de 1 metro. Además considere que el flujo máximo entregado es de 40 Litros/m (0.00067 )
La ganancia del actuador esta dada por la expresión =
=
0.00067 12
Considere un sensor ideal. •
•
•
•
•
•
Se solicita: Realizar la simulación y validación del sistema en lazo abierto. Establecer los conjuntos, variables y valores lingüísticos de entrada y salida del sistema. Establecer funciones de pertenencia según el proceso. Establecer las reglas de fuzificación. Simular el lazo de control cerrado del sistema realimentado con el controlador difuso diseñado.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Logica difusa La evolución de la temperatura de una habitación, viene dada por la siguiente ecuación diferencial:
Donde: : Es la temperatura que se produce en la habitación °C. : Actuador del sistema como PWM, 0 1. : Constante de térmica efectiva de tiempo (obtenida como promedio de todas las temperaturas de la casa), su valor es de 64 s. : Temperatura final (Temperatura ambiente), a la cual llega la casa cuando el calefactor está apagado, con un valor de 25 °C. : Aumento de temperatura del calefactor, la cual es multiplicada por una señal con duty cycle variable de 11,1 °C.
Ap A p l i c ac acii o n es d e co c o n t r o l In Intt el elii g en entt e Ejercicio de aplicación Lógica difusa Se solicita: • Realizar la simulación y validación del sistema en lazo abierto. • Establecer los conjuntos, variables y valores lingüísticos de entrada y salida del sistema. • Establecer funciones de pertenencia según el proceso. • Establecer las reglas de fuzificación. • Simular el lazo l azo de control cerrado del sistema realimentado con el controlador difuso diseñado.
Referencias: Inteligencia Artificial con aplicaciones a la ingeniería, autor Dr. Pedro Ponce Cruz. Derechos reservados reservados © Alfaome Alfaomega ga Grupo Editor, Editor, S.A. de C.V., México. Redes neuronales y sistemas borrosos Redes neuronales artificiales: Enfoque Practico
Docente: Braulio Martínez R.