Estimado usuario.
Estamos migrando las plataformas.
Hasta nuevo aviso, no contribuya. Su trabajo podría perderse.
Por favor, discúlpenos.
Muchas gracias por su colaboración.
Epistemowikia
Revista «Hiperenciclopédica» de Divulgación del Saber
Segunda Época, Año IX
Vol. 8, Núm. 4: de septiembre a diciembre de 2014
Epistemowikia es parte de
Logotipo de CALA Virtual
CALAALA | Communitas | Evolvere
Editio | Epistemowikia | Exercitatio | Fictor | Flor
Epistemowikia no se hace responsable ni se identifica necesariamente con el contenido ni las opiniones expresadas por sus colaboradores.
La Universidad de Extremadura no se hace en ningún caso responsable de los contenidos publicados en Epistemowikia.
Ni la Asociación Conocimiento Comunal (CONOMUN) ni el Grupo de Investigación de Ingeniería Telemática Aplicada y Comunicaciones Avanzadas (GÍTACA) se hacen en ningún caso responsable de los contenidos publicados por terceros.

Inicio | La revista | Índex | Hemeroteca | Búsquedas | Quiénes somos | Contacto | Publica

Lógica Borrosa y Robótica

De Epistemowikia

La lógica borrosa como herramienta para el desarrollo de la robótica.

Tabla de contenidos

Introducción.

En el presente artículo daremos una visión general sobre lo que se entiende por Lógica Borrosa y hablaremos ligeramente sobre algunos conceptos básicos referidos a ella.
En el interés por relacionarla con la Robótica veremos algunas de sus principales aplicaciones en la tecnología actual e intentaremos poner de manifiesto la estrecha relación de este tipo de razonamiento con el funcionamiento de algunos sistemas de control, ampliamente utilizados en el presente desarrollo de los estudios sobre Inteligencia Artificial y Robots.


Algunas ideas sobre lógica borrosa.

La lógica borrosa se funda en el concepto "todo es cuestión de grado", lo cual permite manejar información vaga o de difícil especificación. Es entonces definida como un sistema matemático que modela funciones no lineales, que convierte unas entradas en salidas acordes con los planteamientos lógicos que usa el razonamiento aproximado.
En cierto nivel, la lógica difusa puede ser vista como un lenguaje que permite trasladar sentencias sofisticadas en lenguaje natural, a un lenguaje matemático formal.
La mayoría de los fenómenos que encontramos cada día son imprecisos, es decir, tienen implícito un cierto grado de difusidad en la descripción de su naturaleza.
Esta imprecisión puede estar asociada con su forma, posición, momento, color, textura, o incluso en la semántica que describe lo que son. En muchos casos el mismo concepto puede tener diferentes grados de imprecisión en diferente contexto o tiempo.
Este tipo de imprecisión o difusidad asociado continuamente a los fenómenos es común en todos los campos de estudio: sociología, física, biología…

El razonamiento aproximado.

Uno de los objetivos de la lógica borrosa es proporcionar las bases del razonamiento aproximado, que utiliza premisas imprecisas como instrumento para formular el conocimiento.
La teoría del razonamiento aproximado permite representar también cuantificadores lingüísticos situados entre el "para todo" y el "existe" clásicos. Esto facilita representar enunciados como "la mayoría de los alemanes son rubios" o "bastantes electores han votado en blanco".
Los cuantificadores aproximados se usan para representar conocimientos de sentido común.


Relación de la lógica clásica con la lógica borrosa.

En la lógica clásica una proposición sólo admite dos valores; verdadero o falso, por ello se dice que la lógica usual es bivalente ó binaria. Existen otras lógicas que admiten además un tercer valor posible (lógica trivaluada) e incluso múltiples valores de verdad (lógica multivaluada).
La lógica borrosa se puede inscribir en el contexto de la lógica multivaluada. Así pues, la lógica difusa es un tipo de lógica que reconoce más que simples valores verdaderos y falsos. Con ella, las proposiciones pueden se representadas con grados de veracidad o falsedad.
Por ejemplo, la sentencia "hoy es un día soleado" puede ser:
100% verdad si no hay ninguna nube
80% de verdad si hay pocas nubes
50% verdad si existe neblina ó
0% verdad si llueve todo el día.
La lógica binaria puede ser vista como un caso especial de la teoría del razonamiento aproximado en el cual los conjuntos base tienen dos elementos {T, F} y los grados de pertenencia se restringen a 1 ó 0.
La lógica probabilística puede ser vista también como una extensión de ésta, en tanto que, aunque se restringen los conjuntos base de valores a dos; T y F, se permite que los grados de pertenencia sean números en el intervalo unidad.
Así, la lógica borrosa extiende la lógica binaria permitiendo su formalización en términos de la teoría del razonamiento aproximado.
En conclusión, aunque superficialmente puede parecer que la teoría del razonamiento aproximado y la lógica clásica se diferencian enormemente, la lógica clásica puede ser vista como un caso especial de la primera.

Conceptos básicos de la lógica borrosa.

Conjuntos borrosos.

Recordemos que en un conjunto clásico (crisp) se asigna el valor 0 ó 1 a cada elemento para indicar la pertenencia a dicho conjunto. Esta función puede generalizarse de forma que los valores asignados a los elementos del conjunto caigan en un rango particular, y con ello indiquen el "grado de pertenencia" de los elementos al conjunto en cuestión. Esta función se llama "función de pertenencia" y el conjunto definido por ella "conjunto borroso".
La función de pertenencia μA por la que se define el conjunto borroso A tiene la siguiente forma:
μA: X → [0, 1]
Es decir, mientras que en un conjunto clásico los elementos pertenecen o no pertenecen totalmente a él, en los conjuntos borrosos hay grados de pertenencia (en referencia a un universo local).
Las formas de las funciones de pertenencia más típicas son trapezoide, lineal y curva.
Veamos un ejemplo de conjuntos difusos en el universo de la edad.
Tómese un individuo x cuya edad sea de 25 años.
Dicho individuo pertenece al conjunto difuso "joven" y al conjunto difuso "maduro". Se podría decir, por ejemplo que posee un grado de pertenencia 0,6 para el conjunto difuso "joven" y un grado 0,4 para el conjunto "maduro" (también poseería un grado de pertenencia 0 para "viejo").
De esto se puede deducir que un elemento puede pertenecer a varios conjuntos difusos a la vez (aunque con distinto grado).
Nuestro individuo x es más joven que maduro, pero no se puede decir, tratándose de conjuntos difusos, que x es joven o que x es maduro de manera rotunda.

Operaciones con conjunto borrosos.

Siguiendo con los conceptos básicos que nos ocupan…
A será un subconjunto borroso de B cuando
μA(x) ≤ μB(x) para todo x del conjunto total X
Originalmente, la teoría de conjuntos borrosos se formuló en base a un conjunto de operadores también válidos para conjuntos clásicos:
Negación: μ �?A(x) ≤ 1 - μA(x)
Unión: μAUB(x) = máx {μA(x), μB(x)}
Intersección: μA∩B(x) = mín {μA(x), μB(x)}
Pero para completar el tipo de razonamiento análogo al que se realiza con lógica clásica es necesario definir el concepto de implicación.
Una implicación borrosa I es, en general una función de la forma:
I : [0, 1] x [0, 1] → [0, 1]
Para cualesquiera dos valores ciertos de a y b de dos proposiciones borrosas p y q se define el valor cierto I(a,b) de la proposición "si p entonces q" (es una extensión de la implicación clásica p → q en al dominio {0, 1} al dominio [0, 1]).
Por último, cualquier función que asocie puntos x, y, z…. del conjunto (crisp) X al Y puede generalizarse de forma que asocie subconjuntos borrosos de X en Y, es el denominado "Principio de Extensión".

Aplicaciones de la lógica borrosa.

Aunque la intención original del profesor Zadeh al introducir la Teoría del razonamiento aproximado, era crear un formalismo para manipular la imprecisión y vaguedad del razonamiento humano expresado lingüísticamente, causó sorpresa que el éxito de la lógica borrosa llegase al campo del control automático de procesos.
Hasta ahora, han sido infinidad de productos los lanzados al mercado usando tecnología borrosa, muchos de ellos utilizando la etiqueta "fuzzy" como símbolo de calidad y prestaciones avanzadas.
La lógica difusa ha sido probada para ser particularmente útil en sistemas expertos y otras aplicaciones de Inteligencia Artificial.
Es también utilizada en algunos correctores de voz, para sugerir una lista de probables palabras a reemplazar en una mal dicha.
El control borroso ha sido aplicado con éxito en muy diversas ramas tecnológicas, por ejemplo:
- la metalurgia,
- controles de maniobra de aviones, ascensores,
- sistemas de control de acondicionadores de aire,
- sistemas de foco automático en cámaras fotográficas,
- la domótica,
- mejora de la eficiencia del uso de combustible en motores, etc.
El éxito de estas aplicaciones de control radica, como ya hemos dicho, en la simplicidad, tanto conceptual como de desarrollo de los procesos de control borrosos.
Como principal inconveniente cabe destacar la dificultad de elegir una correcta función de pertenencia para conjuntos difusos. El hecho de que cualquier función de pertenencia esté mal especificada, haría fallar, muy probablemente, todo el sistema.
La lógica borrosa también ha demostrado ser una herramienta especialmente útil en un campo como el de la robótica, caracterizado por la presencia de incertidumbre en el conocimiento que se tiene del entorno.
Cualquier intento para controlar un sistema dinámico necesita utilizar algún conocimiento o modelo del sistema a controlar. En el caso de la robótica el sistema está formado por el propio robot y el entorno en que éste opera.
Una de las aplicaciones más extendida de las técnicas borrosas es el diseño de comportamientos. Son comportamientos tareas como:
- evitar obstáculos fijos
- seguir un contorno
- evitar obstáculos móviles
- cruzar puertas
- seguir una trayectoria
- empujar o cargar un objeto, etc.
El control borroso se presenta entonces como una alternativa muy interesante en el campo de la robótica, caracterizado por:
- la imposibilidad de disponer de un modelo matemático fiable de un entorno real, cuando éste alcanza ciertos niveles mínimos de complejidad.
- la incertidumbre e imprecisión de los datos proporcionados por los sensores.
- la necesidad de operar en tiempo real.
Antes de ver algún ejemplo sobre cómo implementar la lógica difusa en robótica, veamos cómo funciona realmente el razonamiento y los controladores borrosos en situaciones reales.


Funcionamiento de la lógica borrosa.

En nuestro entorno y en nuestra vida cotidiana aceptamos la imprecisión como una consecuencia natural de "la forma de las cosas en el mundo". La dicotomía entre el rigor y la precisión del modelado matemático en todos los campos, y la intrínseca incertidumbre del mundo real no es, generalmente, aceptada por los científicos, filósofos y analistas.
La lógica difusa simplemente acerca estos eventos a funciones numéricas y permite escoger un resultado en lugar de hacer un análisis del conocimiento empírico.
Con todo este razonamiento, se puede asegurar que la lógica difusa se adapta mejor al mundo real en el que vivimos, e incluso puede comprender y funcionar con nuestras expresiones del tipo "hace mucho calor" ó "el ritmo del corazón está un poco acelerado".
La clave de esta adaptación se basa en comprender los cuantificadores de nuestro lenguaje, por ejemplo "mucho" o "muy poco".
El funcionamiento de la lógica borrosa se basa en reglas heurísticas de la forma
SI ……… ENTONCES ………,
donde antecedente y consecuente son conjuntos difusos (puros, o resultado de operar con ellos).
Por ejemplo:
SI hace muchísimo calor ENTONCES disminuyo drásticamente la temperatura.
SI voy a llegar un poco tarde ENTONCES aumento levemente la velocidad.
Los métodos de inferencia para esta base de reglas deben ser simples, veloces y eficaces. Los resultados de estos métodos son un área final, fruto de un conjunto de áreas solapadas entre sí, cada una resultado de una regla de inferencia.
Para escoger una salida concreta a partir de tanta premisa difusa, lo usual es tomar el centro de gravedad del área total resultante.
Los datos de entrada suelen ser recogidos por sensores y el motor de inferencia se basa en chips difusos.

La robótica.

El término robótica procede de la palabra robot, es por tanto, la ciencia (o rama de la ciencia) que se ocupa del estudio, desarrollo y aplicaciones de los robots. Otra definición podría ser; el diseño, fabricación y utilización de máquinas automáticas programables con el fin de realizar tareas repetitivas de ensamble de automóviles, aparatos, etc. Básicamente, la robótica se ocupa de todo lo concerniente a los robots, lo cual incluye el control de motores, mecanismos automáticos, sensores, sistemas de cómputos…
En el aspecto teórico se aúnan las aportaciones de la automática, la informática y la inteligencia artificial. Por el lado práctico o tecnológico hay aspectos de construcción (mecánica, electrónica), y de gestión (control, programación). Por tanto la robótica presenta un marcado carácter interdisciplinario.
Esta disciplina tiene sus propios problemas, sus fundamentos y sus leyes. Según Asimov, los tres principios o leyes de la robótica son:
1. Un robot no puede lastimar ni permitir que sea lastimado ningún ser humano.
2. El robot debe obedecer a todas las órdenes de los humanos, excepto las que contradigan la primera ley.
3. El robot debe autoprotegerse, salvo que para hacerlo entre en conflicto con la primera o la segunda ley.
Los robots son dispositivos compuestos de sensores que reciben datos de entrada y que pueden estar conectados a una computadora, la cual ordena al robot que efectúe una determinada acción. Puede ser que los propios robots dispongan de microprocesadores que reciban la información de los sensores y ordenen al robot la ejecución de las acciones.


Ejemplos concretos de funcionamiento de robots.

Veremos a continuación dos aplicaciones de la robótica en las que se implementan claramente los controles borrosos mencionados anteriormente. En primer lugar veremos un modelo de movimiento de un robot en espacios interiores y seguidamente hablaremos de robots destinados a jugar un partido de fútbol en la denominada RoboCup.


Localización topológica basada en la visión para robots móviles.

La localización de un robot en su entorno es uno de los problemas clásicos de la robótica móvil. Es el punto de partida de otros problemas como son la interacción con el entorno, y sobre todo, la navegación.
Por localización se entienden las técnicas que se encargan de solucionar el problema de determinar la posición de un robot en su entorno, utilizando sus propios sensores.
En entornos interiores existen una gran cantidad de tareas que un robot puede realizar: llevar correo de un despacho a otro, teleasistencia, tareas de seguridad, etc. Pero para realizarlas, un robot debe conocer su posición para trazar la ruta desde su posición a su destino.
Lo que se pretende es detectar la posición de un robot móvil en un entorno de oficinas para que pueda navegar por los pasillos de un despacho a otro. Usa como principal sensor las imágenes de una cámara, y utiliza también un sensor de infrarrojos. La información que obtiene de la imagen de la cámara son elementos comunes del entorno, como puertas, luces del techo y elementos que están a ambos lados del robot.
A las posibles posiciones y orientaciones en las que el robot se puede encontrar se les llama "estados". Los estados son definidos sobre el entorno de la oficina formado por pasillos y habitaciones. No tienen ninguna relación métrica, pues esta navegación se basa en una visión del espacio puramente topológica, en la que las diferentes posiciones se determinan mediante una división del entorno en distintos nodos.
El proceso es el siguiente; primero se identifican los nodos como partes del mapa, una vez obtenidos, se obtienen los estados en los que el robot se puede encontrar.
Las acciones que el robot puede tomar en cada posición son simples: avanzar hasta el siguiente nodo, girar hacia la izquierda o girar hacia la derecha.
Por ejemplo, si un robot está orientado hacia el fondo del pasillo y a ambos lados tiene pared, y decide realizar la acción de avanzar, el robot avanzará hacia delante hasta que en alguno de los lados deje de encontrar pared. En ese momento, mediante un proceso basado en el funcionamiento visto antes de los sistemas de control borroso, el robot decidirá entre las acciones que enumerábamos antes.


Utilización de la lógica borrosa en jugadores de RoboCup.

Otro escenario totalmente distinto es la competición de RoboCup, en la que equipos autónomos compiten entre sí en un juego similar al fútbol.
Esta competición nació como una iniciativa para fomentar la ciencia y la tecnología. El objetivo es construir un conjunto de robots que jueguen un partido de fútbol (real o simulado) de manera autónoma e inteligente, proponiendo una plataforma común de experimentación.
La mayoría de los equipos presentados tienen el comportamiento de sus jugadores diluido en el código de los programas que ejecutan y usan estructuras típicas como semáforos o handlers para manejar a sus jugadores y tomar decisiones.
Pero se puede añadir al diseño del equipo otro tipo de herramienta, la lógica difusa, y veremos a continuación cómo puede utilizarse.
Para cada jugador se ha creado una memoria local que integra la información subjetiva que tiene sobre su entorno y su estado interno. Sobre esta memoria un controlador borroso determina en cada instante la activación de los comportamientos primitivos que, a su vez, generan el comportamiento observable de cada jugador. Se han implementado siete roles hasta completar los distintos jugadores de un equipo real: portero, central, lateral, medio, interior, media punta y delantero.
Cada uno, en su memoria local individual integra toda la información relevante para su actuación en forma de variables. Se incluyen las posiciones de otros jugadores y la pelota si es que caen dentro de su cono de visión. Se almacena la posición propia, su orientación en el campo y variables internas como la stamina que determina la energía disponible por el jugador para sus movimientos (cuanto menos sea esta energía sus desplazamientos serán más lentos y sus chutes más flojos).
Si nos centramos en el controlador borroso, que es lo que nos ocupa, la memoria local se plasma en tres variables: la distancia de la pelota (DistBola) a la posición de referencia de cada jugador (DistRef), y la distancia al jugador del equipo contrario más cercano (DistContrario). Estas variables borrosas son la entrada al controlador y dan cuerpo a los antecedentes de las reglas utilizadas por él.
Las variables de salida del controlador marcan la motivación para cada uno de los comportamientos primitivos (como por ejemplo, chutar a gol, despejar, buscar un pase, etc.). La motivación es gradual, dependiendo del grado con el que se activen los antecedentes de las reglas, sin embargo la salida global del controlador se utiliza de modo discreto. Sólo se activa un comportamiento primitivo después de cada llamada al controlador, aqul cuya motivación sea mayor. De esta manera hay una correspondencia directa entre las decisiones del controlador borroso y la acción que realiza el jugador.
El bucle control que realiza cada jugador consiste en:
1. leer la información suministrada por el servidor y actualizar la memoria
2. calcular las variables de entrada
3. evaluar las reglas obteniendo unos valores para las variables de salida que se transforman en acciones
4. invocar al comportamiento primitivo seleccionado
5. enviar las acciones decididas al servidor.
Para ver más detenidamente cómo funciona un robot de estas características nos detendremos en dos ejemplos: el portero y el delantero.
"El portero"
El portero es un punto crítico del equipo, ya que es el último jugador entre la pelota y la portería. Por lo que hay que diseñar sus reglas de comportamiento con un cuidado especial, llegando hasta el punto de diseñarle comportamientos primitivos especiales para él, como Salir y Despejar.
Este jugador podría regirse por el siguiente conjunto de reglas:
- SI DistRef es Lejos → IrPosición es Alto y Salir es Bajo
- SI DistBola es Cerca y DistContrario es Cerca → Despejar es Alto e IrPosición es Bajo
- SI DistBola es Cerca y DistContrario es Lejos → Salir es Alto e IrPosición es Bajo
- SI DistBola es Cerca y DistContrario es MuyLejos → Salir es MuyAlto
Probando experimentalmente estas ellas se llega a que; el portero sale a por la pelota si está cerca, pero si su situación en el campo es demasiado lejana de su portería, la ignora y vuelve a su posición.
"El delantero"
A este jugador se le modifican los parámetros de la función DistRef para que no se aleje mucho de su posición en el campo y así evitar que gaste stamina en zonas cuyas opciones de tiro son escasas.
Teniendo en cuenta esto, las reglas que podían formularse para el delantero serían:
- SI DistBola es MuyCerca → ChutarGol es Alto
- SI DistBola es Cerca → ChutarGol es Alto
- SI DistRef es Lejos → IrPosición es Alto
Con todos estos razonamientos se puede desarrollar un equipo capaz de jugar razonablemente bien en el simulador de RoboCup. Esto implica que la lógica difusa se ha mostrado muy conveniente en este campo porque permite mejorar, adaptar y modificar el equipo con relativa facilidad.


Conclusiones.

En ocasiones las ciencias que estudian el mundo real son insuficientes para controlar y estudiar comportamientos y expresiones tan habituales como las que llevan implícito algún tipo de cuantificador o matiz meramente subjetivo. Para dar respuesta a este tipo de problemas contamos con una herramienta a la que debemos darle la importancia que merece, como es la lógica difusa.
Una vez analizada la estrecha relación entre los sistemas que controlan el funcionamiento de los robots y la lógica borrosa, podemos decir que esta disciplina, en ocasiones olvidada por el mundo científico, es un arma muy apropiada y una herramienta especialmente útil en campos con tanto futuro, y objetos de múltiples estudios actuales, como son el de la inteligencia artificial, la robótica y el desarrollo de nuevas tecnologías que promuevan la comodidad y facilidad en la realización de distintas tareas de la vida cotidiana.
Sólo queda reflexionar sobre la ética de estos estudios e intentar que el rápido avance tecnológico no derive en una obsesión por elaborar nuevos aparatos que sustituyan "totalmente" las actividades y necesidades humanas, pues somos, ante todo, personas, y nuestro mundo debería seguir siendo controlado por las relaciones personales, y no por las nuevas tecnologías.


Bibliografía.

- La Lógica Difusa, por Yuliana Corzo, desde Porlamar, Venezuela.
- Especial Lógica Borrosa: Introducción a la Lógica borrosa o difusa, Aplicación en Robótica. www.puntolog.com.
- Introducción a la Robótica, La Robótica. www.monografías.com.
- Lógica Difusa. Wikipedia, la enciclopedia libre. http://es.wikipedia.org.
- P. Buschka, A. Saffiotti and Z. Wasik. Fuzzy landmark-based localization for a legged robot.
- Auto-localización de un robot móvil aibo mediante el método montecarlo. Pablo Guerrero y Javier Ruiz del Solar.
- Vision based topological markov localization. Jana Kosecká and Fayin li.
- Robocampeones: aplicación de la robótica a la educación. II Jornadas de innovación en educación tecnológica.
- Implementación basada en Lógica Borrosa de jugadores para la RoboCup. José María �?lvarez Rey, Vicente Matellán Olivera y José María Cañas Plaza.
- Un sistema multi-agente basado en lógica difusa aplicado al ámbito de la RoboCup. Eugenio Aguirre, Juan C. Gámez y Antonio González.
- Coordinación global basada en controladores locales reactivos en la RoboCup. F. Fernández, G. Gutiérrez, J. M. Molina.

Licencia









Esta obra se publica multilicenciadamente con las siguientes licencias. Por tanto, usted es libre de reproducir, distribuir, comunicar públicamente, interpretar y transformar, por cualquier medio, con o sin ánimo de lucro, la presente obra, en cualquier momento o lugar, licenciando o multilicenciando, según sea el caso, la obra original o la obra derivada, con una de las siguientes licencias o con un subconjunto de ellas:





Herramientas personales