Subido por Alexis Sergio Angelo Ynofuente

Lab 04: Aproximacion de funciones no lineales con modelo TSK

Anuncio
UNIVERSIDAD CATÓLICA DE SANTA MARÍA
ESCUELA PROFECIONAL DE INGENIERIA MECÁNICA,
MECÁNICA ELECTRICA Y MECATRÓNICA
PROCESOS INTELIGENTES
LAB 04: APROXIMACION DE FUNCIONES NO
LINEALES CON MODELO TSK
PROFESOR: ING. SERGIO MESTAS RAMOS
HECHO POR:
Ángelo Ynofuente Alexis Sergio
AREQUIPA – PERÚ
2023
UNIVERSIDAD CATOLICA DE SANTA MARIA
ESCUELA PROFESIONAL DE INGENIERIA MECANICA, MECANICA ELECTRICA Y
MECATRONICA
CÓDIGO:
4E10204
ASIGNATURA: PROCESOS INTELIGENTES
SEGUNDA FASE: CONTROLADORES DIFUSOS
APROXIMACION DE FUNCIONES NO LINEALES CON MODELO TSK
GUIA DE LABORATORIO
N° 05
Docente(s)
Ing. Sergio Mestas Ramos
Fecha:
I.
II.
OBJETIVO GENERAL
•
Aprender a utilizar la interfaz gráfica de usuario que proporciona el toolbox de lógica difusa de
Matlab.
•
Interpretar las reglas de inferencia que intervienen en los sistemas a implementar, y utilizar
operaciones con conjuntos difusos.
•
Aproximar funciones no lineales a partir de sistemas difusos tipo TSK.
MATERIALES Y EQUIPOS
➢ Computador.
➢ Matlab.
➢ Toolbox de lógica difusa.
III.
PROCEDIMIENTO
Basándose en el sistema difuso TSK, se pide aproximar las funciones no lineales requeridas:
FUNCIÓN VALOR ABSOLUTO.
Figura 1: Función y=|x|
ENTRADAS
1. Implemente tres funciones de membresía triangulares como podemos apreciar en la figura.
Figura 2: Funciones de Membresía de entrada.
Variable 1: valor_1
Tipo: trimf
Valores: [-18.33 -10 -0.1]
Variable 2: valor_2
Tipo: trimf
Valores: [-0.1 0 0.1]
Variable 3: valor_3
Tipo: trimf
Valores: [0.1 10 18.33]
SALIDAS
2. Como funciones de Membresía de salida usaremos dos funciones lineales y una constante.
Figura 3: Funciones de Membresía de salida.
Las funciones deben representar las siguientes ecuaciones de salida:
➢ y1=-x
➢ y2=0
➢ y3=x
Variable 1: a
Tipo: linear
Valores: [-1 0]
Variable 2: b
Tipo: constant
Valores: 0
Variable 3: c
Tipo: linear
Valores: [1 0]
Figura 4: Introducción de las reglas que vamos a tener.
GRAFICA DE LA FUNCION APROXIMADA
3. Muestre el resultado obtenido.
Figura 5: Visualización de las reglas impuestas anteriormente.
4. Muestre gráficamente las reglas producidas.
Figura 6: Grafica de las funciones que determinamos para que tenga la siguiente grafica.
APROXIMAR LA SIGUIENTE FUNCIÓN.
La salida de un sistema de control esta aproximada por las siguientes funciones lineales.
Aproxime la salida del sistema de control a partir de un modelo difuso de tipo TSK.
Figura 7: curva de control
ENTRADAS
5. Implemente cinco funciones de membresía como se puede apreciar en la figura.
Figura 8: Entradas para nuestra curva de control.
Variable 1: mf1
Tipo: sigmf
Valores: [-0.5 -10]
Variable 2: mf2
Tipo: gbellmf
Valores: [2.5 1 -7.5]
Variable 3: mf3
Tipo: gbellmf
Valores: [5 1 0]
Variable 4: mf4
Tipo: gbellmf
Valores: [2.5 1 7.5]
Variable 5: mf5
Tipo: sigmf
Valores: [0.5 10]
Figura 9: Desarrollo de las entradas para nuestra curva de control.
SALIDAS
6. Encuentre las funciones para f1, f2, f3, f4 y f5.
REGLAS DE INFERENCIA
7. Implemente las siguientes reglas de inferencia.
𝑆𝑖 𝑒 𝑒𝑠 𝑁𝐺, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓1(𝑒) = -12
𝑆𝑖 𝑒 𝑒𝑠 𝑁𝑃, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓2(𝑒) = 2(e) + 8
𝑆𝑖 𝑒 𝑒𝑠 𝐶, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓3(𝑒) = 0.4(e)
𝑆𝑖 𝑒 𝑒𝑠 𝑃𝑃, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓4(𝑒) = 2(e) - 8
𝑆𝑖 𝑒 𝑒𝑠 𝑃𝐺, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓5(𝑒) = 12
8. Muestre gráficamente el sistema implementado.
Figura 10: Aproximación de nuestra curva de control.
9. Proporcione tres valores de entrada de control (e) y muestre gráficamente el valor de salida
obtenido.
a) e= -10.1
f(e)=-11.1
Figura 11: Comprobación de valores en alguna parte de nuestra curva de control.
b) e= 4.27
f(e)=2.42
Figura 12: Comprobación de valores en alguna parte de nuestra curva de control.
c) e= 12.8
f(e)=12.4
Figura 13: Comprobación de valores en alguna parte de nuestra curva de control.
10. Cambie el tipo de funciones de membresía de la entrada del sistema difuso planteado por unas
de tipo lineal (triangular o trapezoidal).
11. Repita los valores de entrada de control, muestre gráficamente el valor de salida obtenido.
ENTRADAS
Figura 14: Nuevas entradas para nuestra curva de control.
Implemente cinco funciones de membresía como se puede apreciar en la figura.
Variable 1: mf1
Tipo: trapmf
Valores: [-29 -21 -13 -5]
Variable 2: mf2
Tipo: trapmf
Valores: [-12 -8 -6 -2]
Variable 3: mf3
Tipo: trapmf
Valores: [-10 -1.5 1.5 10]
Variable 4: mf4
Tipo: trapmf
Valores: [2 6 8 12]
Variable 5: mf5
Tipo: trapmf
Valores: [5 13 21 29]
Figura 15: Desarrollo de las entradas para nuestra curva de control.
SALIDAS
Encuentre las funciones para f1, f2, f3, f4 y f5.
REGLAS DE INFERENCIA
Implemente las siguientes reglas de inferencia.
𝑆𝑖 𝑒 𝑒𝑠 𝑁𝐺, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓1(𝑒) = -12
𝑆𝑖 𝑒 𝑒𝑠 𝑁𝑃, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓2(𝑒) = 2(e) + 8
𝑆𝑖 𝑒 𝑒𝑠 𝐶, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓3(𝑒) = 0.4(e)
𝑆𝑖 𝑒 𝑒𝑠 𝑃𝑃, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓4(𝑒) = 2(e) - 8
𝑆𝑖 𝑒 𝑒𝑠 𝑃𝐺, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑣 = 𝑓5(𝑒) = 12
Muestre gráficamente el sistema implementado.
Figura 16: Aproximación de nuestra curva de control.
Proporcione tres valores de entrada de control (e) y muestre gráficamente el valor de salida
obtenido.
a) e= -10.1
f(e)=-12.1
Figura 17: Desarrollo de las entradas para nuestra curva de control.
b) e= 4.27
f(e)=2.42
Figura 18: Desarrollo de las entradas para nuestra curva de control.
c) e= 12.8
f(e)=12.4
Figura 19: Desarrollo de las entradas para nuestra curva de control.
12. Compare los resultados obtenidos e indique cuales son las ventajas de uno y otro sistema.
Los resultados son parecidos, pero difieren un poco, ya que nuestras funciones que usamos
cambian, y la aproximación a nuestra curva de control, es un tanto diferente.
Como se puede visualizar al leer los datos de entrada en ambos casos de la curva de control se uso
las mismas entradas, por lo que se puede visualizar el cambio en ambas respuestas.
FUNCIÓN EXPONENCIAL.
Figura 20: Función 𝑦 = 𝑒−1/𝑋
ENTRADAS
1. Implemente las funciones de membresía necesarias para aproximar la función indicada.
Variable 1: valor_1
Tipo: gaussmf
Valores: [1 0]
Variable 2: valor_2
Tipo: gaussmf
Valores: [2 5]
Variable 3: valor_3
Tipo: gaussmf
Valores: [3.5 10]
Variable 4: valor_4
Tipo: gaussmf
Valores: [2 15]
Variable 5: valor_5
Tipo: gaussmf
Valores: [1 20]
2. Muestre gráficamente las funciones de membresía implementadas.
Figura 21: Funciones de membresía usadas para nuestra función exponencial.
SALIDAS
3. Implemente las funciones de membresía necesarias para aproximar la función indicada.
Variable 1: salida_1
Tipo: linear
Valores: [0.3033 0]
Variable 2: salida _2
Tipo: linear
Valores: [0.0862 0.4342]
Variable 3: salida _3
Tipo: linear
Valores: [0.0338 0.6434]
Variable 4: salida _4
Tipo: linear
Valores: [0.0123 0.773]
Variable 5: salida _5
Tipo: constant
Valores: 0.98
4. Muestre gráficamente las funciones de membresía implementadas.
Figura 22: Uso de las salidas con configuración linear.
GRAFICA DE LA FUNCION APROXIMADA
Figura 23: Visualización de como trozamos a nuestra función, para poder aproximarnos a la curva.
5. Muestre el resultado obtenido.
Figura 24: Resultado que obtuvimos con 5 funciones de membresía.
6. Muestre gráficamente las reglas producidas.
Figura 25: Muestra de las reglas producidas.
7. Compruebe numéricamente el resultado obtenido.
𝑒 = 5.671 → 𝑓(𝑒) = 0.0338 𝑒 + 0.6434
𝑒 = 5.671 → 𝑓(𝑒) = 0.0338 (5.671) + 0.6434
𝑒 = 5.671 → 𝑓(𝑒) = 0.84
8. Como puede mejorar la aproximación.
Para mejorar la aproximación en nuestro sistema de control difuso, una estrategia efectiva es
incorporar más variables relevantes. Al aumentar el número de variables de entrada en nuestro
modelo de control difuso, podemos capturar una gama más amplia de información y matices en el
sistema que estamos tratando de controlar. Esto tiende a disminuir la imprecisión y aumentar la
precisión en la aproximación de la función no lineal.
Al incluir más variables, también podemos diseñar conjuntos de reglas más complejos y detallados
en nuestro sistema de control, lo que permite una toma de decisiones más precisa y adaptable en
tiempo real. Sin embargo, es importante tener en cuenta que agregar más variables también puede
aumentar la complejidad del sistema, por lo que debemos equilibrar la mejora en la precisión con
la complejidad computacional y la capacidad de interpretación de las reglas difusas.
9. Implemente las mejoras.
Si "e" es valor_1 entonces f(e) = 0.3679(e) + 0.0000
Si "e" es valor_2 entonces f(e) = 0.2386(e) + 0.1293
Si "e" es valor_3 entonces f(e) = 0.1100(e) + 0.3865
Si "e" es valor_4 entonces f(e) = 0.0623(e) + 0.5296
Si "e" es valor_5 entonces f(e) = 0.0338(e) + 0.6434
Si "e" es valor_6 entonces f(e) = 0.0180(e) + 0.7385
Si "e" es valor_7 entonces f(e) = 0.0094(e) + 0.8075
Si "e" es valor_8 entonces f(e) = 0.0025(e) + 0.8900
Si "e" es valor_9 entonces f(e) = 0.0053(e) + 0.8452
Figura 26: Funciones de membresía usadas y las salidas implementadas.
Figura 27: Visualización de como trozamos a nuestra función, para poder aproximarnos a la curva.
Figura 28: Resultado que obtuvimos con 5 funciones de membresía.
10. Registre el desarrollo y compruebe numéricamente una vez más.
Figura 29: Registro de las reglas impuestas en nuestra función exponencial.
𝑒 = 5.061 → 𝑓(𝑒) = 0.0338(e) + 0.6434
𝑒 = 5.061 → 𝑓(𝑒) = 0.0338 (5.061) + 0.6434
𝑒 = 5.671 → 𝑓(𝑒) = 0.8144
IV.
CUESTIONARIO FINAL
1. Que ventajas y desventajas tiene el modelo TSK frente al modelo Mamdani.
El modelo TSK (Takagi-Sugeno-Kang) tiene varias ventajas sobre el modelo Mamdani. Una ventaja
principal es su capacidad para generar resultados numéricos directamente, lo que lo hace adecuado
para problemas de aproximación de funciones y control. Además, el modelo TSK puede ser más
eficiente computacionalmente en comparación con el modelo Mamdani, especialmente para
sistemas grandes. Sin embargo, el modelo Mamdani es más interpretativo y puede ser más adecuado
cuando se necesita una lógica difusa clara y comprensible. También es importante destacar que el
modelo TSK tiende a ser más sensible a los valores extremos en los datos de entrada, lo que puede
afectar su rendimiento en ciertos casos.
2. Cuando emplear un sistema difuso de tipo TSK.
El sistema difuso de tipo TSK es especialmente útil cuando se necesita aproximar funciones no
lineales o cuando se busca un controlador difuso que pueda generar respuestas numéricas precisas.
Se utiliza en situaciones donde se requiere una modelización precisa y una respuesta controlada,
como en sistemas de control difuso, sistemas de predicción y sistemas de inferencia basados en
datos. En resumen, se emplea un sistema difuso de tipo TSK cuando se necesita una relación directa
entre las entradas y las salidas en forma numérica y se desea una aproximación precisa de funciones
no lineales.
3. Tiene alguna limitación su uso para la implementación de controladores difusos.
Aunque el controlador TSK tiene muchas ventajas, también tiene limitaciones. Una de las
limitaciones principales es que el modelo TSK puede requerir una cantidad significativa de datos de
entrenamiento para lograr un rendimiento óptimo. Además, puede ser más complejo de diseñar y
ajustar en comparación con otros controladores difusos más simples. Otra limitación es su
sensibilidad a los valores extremos en los datos de entrada, lo que puede afectar su robustez en ciertas
situaciones. Por lo tanto, es importante considerar estas limitaciones al utilizar un controlador TSK y
elegir cuidadosamente los parámetros y el enfoque de diseño.
4. Que cambios puede proponer al controlador TSK para mejorar su desempeño.
Para mejorar el desempeño del controlador TSK, se pueden considerar varias modificaciones y
enfoques. Primero, se puede explorar la posibilidad de ajustar los conjuntos difusos y las reglas de
inferencia para adaptarse mejor a los datos de entrada y a la dinámica del sistema. Además, se
pueden utilizar técnicas de optimización para ajustar los parámetros del controlador de manera más
precisa. También es importante recopilar una cantidad adecuada de datos de entrenamiento para
mejorar la precisión del modelo. Además, es útil considerar estrategias de control adaptativo que
permitan al controlador TSK ajustarse en tiempo real a las condiciones cambiantes del sistema. En
última instancia, la mejora del desempeño del controlador TSK implica una combinación de diseño
cuidadoso, ajuste de parámetros y recopilación de datos de alta calidad.
V.
CONCLUSIONES
•
En este laboratorio, aprendimos a usar el control difuso tipo Sugeno. Descubrimos que es
especialmente útil cuando necesitamos una relación precisa entre las entradas y las salidas, lo que lo
convierte en una herramienta valiosa para sistemas de control y aproximación de funciones no lineales.
•
Entendimos que la interfaz gráfica de usuario proporcionada por MATLAB facilita enormemente la
creación y configuración de sistemas difusos. Esto nos permitió diseñar conjuntos difusos, definir
reglas de inferencia y ajustar parámetros de manera interactiva.
•
Experimentamos con la importancia de la recopilación de datos y la selección adecuada de funciones de
membresía. Comprendimos que estos aspectos son cruciales para el rendimiento de nuestros sistemas
difusos.
•
Nos dimos cuenta de que la lógica difusa es especialmente útil en situaciones donde las relaciones son
complejas y no lineales. Pudimos aplicar este conocimiento para aproximar funciones no lineales de
manera eficiente.
•
Aunque enfrentamos desafíos, como la sensibilidad a los valores extremos y la necesidad de datos de
entrenamiento de alta calidad, también encontramos oportunidades para mejorar nuestros sistemas
difusos mediante ajustes cuidadosos.
•
En general, este laboratorio nos brindó una valiosa introducción a la lógica difusa y sus aplicaciones
prácticas en MATLAB. Ahora tenemos una comprensión más sólida de cómo utilizar esta tecnología en
la resolución de problemas del mundo real y estamos emocionados por explorar más en este campo en
el futuro.
Descargar