{"id":1076,"date":"2021-06-17T20:57:23","date_gmt":"2021-06-18T01:57:23","guid":{"rendered":"http:\/\/virtual.cuautitlan.unam.mx\/intar\/?page_id=1076"},"modified":"2021-06-17T20:57:23","modified_gmt":"2021-06-18T01:57:23","slug":"ejemplo-de-controlador-difuso","status":"publish","type":"page","link":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/?page_id=1076","title":{"rendered":"Ejemplo de controlador difuso"},"content":{"rendered":"<h1><strong>Ejemplo de controlador difuso<\/strong><\/h1>\n<p>Vamos a suponer que tenemos dos sensores que van a servir como entradas de nuestro sistema difuso, un sensor de temperatura y uno de humedad. Estos sensores servir\u00e1n para controlar el porcentaje de riego de un sistema ficticio. Vamos a separar el universo de la temperatura en los conjuntos: fr\u00edo, templado y caliente; y la humedad generar\u00e1 los conjuntos: bajo, medio y alto. As\u00ed mismo, la variable de salida ser\u00e1 modelada con los conjuntos: m\u00ednimo, poco, regular y mucho. Hay que hacer la aclaraci\u00f3n que estos conjuntos son definidos en funci\u00f3n de las necesidades del sistema, as\u00ed como tambi\u00e9n, deben de estar modelados de acuerdo a valores representativos reales del problema. En este caso, ni los valores, ni los conjuntos son netamente representativos del problema, debido a que se busca un ejercicio de ejemplificaci\u00f3n en el cual se van a colocar valores de entrada \u201ctramposos\u201d para que sirvan al prop\u00f3sito de explicaci\u00f3n.<\/p>\n<p>Los conjuntos difusos representativos de las variables de entrada y el actuador de salida, los podemos ver en las siguientes im\u00e1genes.<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Humedad.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1089\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Humedad.jpg\" alt=\"\" width=\"300\" height=\"164\" \/><\/a><\/p>\n<p>Fig. 1.- Conjuntos difusos en los que se separa la variable\u00a0 de entrada,\u00a0 Humedad.<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Temperatura.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1090\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Temperatura.jpg\" alt=\"\" width=\"746\" height=\"443\" \/><\/a><\/p>\n<p>Fig. 2.- Conjuntos difusos en los que se separa la variable de entrada,\u00a0 Temperatura.<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Salida.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1088\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Salida.jpg\" alt=\"\" width=\"854\" height=\"425\" \/><\/a><\/p>\n<p>Fig. 3.- Conjuntos difusos en los que se separa la variable de salida,\u00a0 porcentaje de Riego.<\/p>\n<p>Ahora bien, suponemos que en un determinado momento, los sensores de entrada captan los dos valores representados por las l\u00edneas moradas en las figuras 1 y 2, representando Temperatura= 42\u00b0 y Porcentaje de humedad= 32%. Con estos valores de entrada, el controlador calcular\u00e1 el porcentaje de riego adecuado en la salida.<\/p>\n<p>Primero que nada, es necesario calcular las relaciones de pertenencia del 32% de humedad en cada uno de los conjuntos en los que el valor de entrada impacta, correspondientes a la variable Humedad, para esto, consideramos las ecuaciones que representan al conjunto Trapezoidal, tal que:<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1085\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec1.jpg\" alt=\"\" width=\"549\" height=\"67\" \/><\/a><\/p>\n<p>Para x=32, en el conjunto Bajo, tenemos:<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1084\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec2.jpg\" alt=\"\" width=\"578\" height=\"204\" \/><\/a><\/p>\n<p>Ahora evaluamos x=32, en el conjunto Medio, tenemos:<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1083\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec3.jpg\" alt=\"\" width=\"587\" height=\"207\" \/><\/a><\/p>\n<p>Ahora evaluamos x=32, en el conjunto Alto, tenemos:<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1082\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec4.jpg\" alt=\"\" width=\"580\" height=\"214\" \/><\/a><\/p>\n<p>Si podemos observar en la figura que representa a la variable humedad, es posible corroborar que cada una de estas relaciones de pertenencia est\u00e1 de acuerdo con respecto al punto donde intersecta el valor de entrada x=32.<\/p>\n<p>Ahora, es necesario realizar el mismo procedimiento con la entrada de 42\u00b0 de la variable Temperatura.<\/p>\n<p>Evaluamos x=42 en el conjunto Fr\u00edo, tal que<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1081\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec5.jpg\" alt=\"\" width=\"563\" height=\"202\" \/><\/a><\/p>\n<p>Evaluamos x=42 en el conjunto Templado, tal que<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec6.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1080\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec6.jpg\" alt=\"\" width=\"644\" height=\"194\" \/><\/a><\/p>\n<p>Evaluamos x=42 en el conjunto Caliente, tal que<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec7.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1079\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec7.jpg\" alt=\"\" width=\"618\" height=\"202\" \/><\/a><\/p>\n<p>Una vez que se han obtenido todas las relaciones de pertenencia de las dos entradas, se genera un conjunto de reglas en la forma IF (Entrada 1\u00a0 AND\/OR Entrada2) THEN (Salida). Estas reglas deben de tener un sentido l\u00f3gico con respecto al problema o fen\u00f3meno que se est\u00e1 \u00a0\u00a0modelando.<\/p>\n<p>Vamos a generar estas reglas de acuerdo a la matriz de reglas que se muestra a continuaci\u00f3n:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"147\"><strong>\u00a0<\/strong><\/td>\n<td width=\"147\"><strong>Bajo <\/strong><\/td>\n<td width=\"147\"><strong>Medio <\/strong><\/td>\n<td width=\"147\"><strong>Alto<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"147\"><strong>Fr\u00edo <\/strong><\/td>\n<td width=\"147\">R1= Poco<\/td>\n<td width=\"147\">R2=M\u00ednimo<\/td>\n<td width=\"147\">R3= M\u00ednimo<\/td>\n<\/tr>\n<tr>\n<td width=\"147\"><strong>Templado<\/strong><\/td>\n<td width=\"147\">R4=Regular<\/td>\n<td width=\"147\">R5=Regular<\/td>\n<td width=\"147\">R6=Poco<\/td>\n<\/tr>\n<tr>\n<td width=\"147\"><strong>Caliente<\/strong><\/td>\n<td width=\"147\">R7=Mucho<\/td>\n<td width=\"147\">R8=Mucho<\/td>\n<td width=\"147\">R9=Regular<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>La matriz de reglas se puede leer en la siguiente forma, utilizando la celda superior izquierda como ejemplo, tenemos que si la temperatura est\u00e1 en el conjunto Fr\u00edo y la humedad est\u00e1 en el conjunto Bajo, entonces la salida se encontrar\u00e1 en el conjunto Poco, colocado en otra forma <strong>IF (Fr\u00edo AND Bajo THEN Poco)<\/strong>, obviamente, repitiendo este proceso para cada una de las celdas de la matriz. Es importante mencionar que aunque aqu\u00ed se utiliz\u00f3 AND, dependiendo de la naturaleza del problema, se puede utilizar OR.<\/p>\n<p>Ahora se realizara el c\u00e1lculo de estas reglas de forma num\u00e9rica:<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec9.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1078\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec9.jpg\" alt=\"\" width=\"753\" height=\"385\" \/><\/a><\/p>\n<p>Con los valores obtenidos en las reglas, se puede generar el siguiente grupo de conjuntos difusos:<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/ReglasGr\u00e1ficas.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1087\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/ReglasGr\u00e1ficas.jpg\" alt=\"\" width=\"936\" height=\"4368\" \/><\/a><\/p>\n<p>Fig. 4.- Conjuntos difusos obtenidos despu\u00e9s de aplicar las reglas l\u00f3gicas a las relaciones de pertenencia de los valores de entrada.<\/p>\n<p>Para generar las gr\u00e1ficas mostradas en la figura 4,\u00a0 es necesario ver que, R1 es colocado en el conjunto Poco, debido a que en la matriz de reglas se especifica esta salida; \u00a0y se coloca con una relaci\u00f3n de pertenencia de 0.3, porque ese fue el c\u00e1lculo num\u00e9rico obtenido por medio de la intersecci\u00f3n de los conjuntos utilizados en cada regla.\u00a0 Este procedimiento se realiza para cada regla.<\/p>\n<p>Ahora, al final de la figura, tenemos una figura irregular que es la combinaci\u00f3n de todas las reglas definidas, para obtener el valor de salida es necesario calcular el centroide, o centro de gravedad, de la gr\u00e1fica por medio de:<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec10.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1077\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ec10.jpg\" alt=\"\" width=\"215\" height=\"93\" \/><\/a><\/p>\n<p>Debido a la gran cantidad de puntos que presenta la imagen de salida, este resultado lo obtendremos directamente de este mismo modelo realizado en Matlab, ingresando los dos valores de entrada, obtenemos que la salida es igual a 41.5% de capacidad de riego.<\/p>\n<p>La superficie de acci\u00f3n del controlador dise\u00f1ado se puede ver en la\u00a0 figura 5:<\/p>\n<p><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Superficie.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1086\" src=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Superficie.jpg\" alt=\"\" width=\"394\" height=\"257\" \/><\/a><\/p>\n<p>Fig. 5.- Superficie de acci\u00f3n del controlador dise\u00f1ado, imagen generada por medio de Matlab.<\/p>\n<p>Para poder verificar este controlador, se puede descargar el siguiente archivo .FIS y ejecutarlo en Matlab, en \u00e9l se encuentra el mismo controlador modelado en esta p\u00e1gina.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/virtual.cuautitlan.unam.mx\/intar\/wp-content\/uploads\/2021\/06\/Ejemplo.rar\"><strong>Archivo .FIS<\/strong><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ejemplo de controlador difuso Vamos a suponer que tenemos dos sensores que van a servir como entradas de nuestro sistema difuso, un sensor de temperatura y uno de humedad. Estos sensores servir\u00e1n para controlar el porcentaje de riego de un sistema ficticio. Vamos a separar el universo de la temperatura en los conjuntos: fr\u00edo, templado &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/virtual.cuautitlan.unam.mx\/intar\/?page_id=1076\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> &#8220;Ejemplo de controlador difuso&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1076","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/pages\/1076"}],"collection":[{"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1076"}],"version-history":[{"count":1,"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/pages\/1076\/revisions"}],"predecessor-version":[{"id":1092,"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/pages\/1076\/revisions\/1092"}],"wp:attachment":[{"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}