22
Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 197 Determinación de trayectorias de un robot móvil con lógica borrosa Palomino, Pilar, [email protected] Garmendia, Luis, [email protected] , DISIA Universidad Complutense de Madrid RESUMEN El objeto de este trabajo es la realización de un simulador de robot móvil capaz de llegar a un punto fijo o meta sorteando los obstáculos fijos que se encuentre a su paso. Para ello se usa un simulador de robot móvil con varios sensores que nos va a indicar si chocamos con un obstáculo o no y la distancia a la que nos encontramos de los mismos. El movimiento del robot será posible indicándole una velocidad y un ángulo de giro. Para la implementación del robot se usan predicados borrosos que nos permiten una mayor aproximación al comportamiento humano: muy cerca de un obstáculo, cerca de un obstáculo, lejos de un obstáculo, muy cerca del objetivo, cerca del objetivo, lejos del objetivo, muy lejos. En función del conjunto borroso en el que se encuentre el robot realizará una u otra acción. Palabras claves: Lógica borrosa, robotica, razonamiento aproximado, trayectoria

Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Embed Size (px)

Citation preview

Page 1: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 197

Determinación de trayectorias de un robot móvil con

lógica borrosa Palomino, Pilar, [email protected]

Garmendia, Luis, [email protected], DISIA Universidad Complutense de Madrid

RESUMEN

El objeto de este trabajo es la realización de un simulador de robot móvil capaz de

llegar a un punto fijo o meta sorteando los obstáculos fijos que se encuentre a su paso. Para ello

se usa un simulador de robot móvil con varios sensores que nos va a indicar si chocamos con un

obstáculo o no y la distancia a la que nos encontramos de los mismos. El movimiento del robot

será posible indicándole una velocidad y un ángulo de giro. Para la implementación del robot se

usan predicados borrosos que nos permiten una mayor aproximación al comportamiento

humano: muy cerca de un obstáculo, cerca de un obstáculo, lejos de un obstáculo, muy cerca del

objetivo, cerca del objetivo, lejos del objetivo, muy lejos. En función del conjunto borroso en el

que se encuentre el robot realizará una u otra acción.

Palabras claves:

Lógica borrosa, robotica, razonamiento aproximado, trayectoria

Page 2: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

198 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

1. INTRODUCCIÓN

Desde que comenzó a existir, el ser humano ha sentido la necesidad de crear

máquinas que le permitieran realizar logros que él sólo no puede conseguir, sin duda el

mayor desafío al que se ha enfrentado la humanidad hasta el momento es la creación de

máquinas que simulen nuestros propios comportamientos para los fines más diversos:

termostatos que gradúen la temperatura, robots que preparan comidas, mecanismos que

reconozcan personas... y, a veces, que incluso superen nuestras mentes: máquinas que

jueguen al ajedrez, bases de datos informáticas que “recuerdan” cantidades

incalculables de información por un humano….

La Inteligencia Artificial es la ciencia que pretende construir inteligencia similar

a la humana y tiene su origen en los deseos más ancestrales del ser humano. ¿Cómo

crear la inteligencia? ¿Pueden ser creativas las máquinas o este sólo es una aptitud del

ser humano? ¿Pueden llegar a sentir las máquinas o de nuevo es sólo una aptitud del ser

humano? Indudablemente existen numerosas dudas al respecto que aún no han sido

resueltas, a pesar de todos los esfuerzos que se han realizado. Por ello, la Inteligencia

Artificial no se centra únicamente en el estudio de la inteligencia humana, sino que se

ha abierto en crear simplemente inteligencia a partir de ciertos algoritmos o técnicas.

El robot aquí presentado posee cualidades humanas como son la percepción de

obstáculos a través de un conjunto de sensores y la posibilidad de moverse libremente

dentro de un entorno creado para él. Además será movido por el deseo de alcanzar un

objetivo, representado por un punto del entorno, evitando los obstáculos mediante su

percepción. Sin embargo el ciclo que realiza este robot no es el típico del aprendizaje:

percepción-acción-valoración, sino que se limita a percepción-acción. De otra forma,

actúa según los estímulos que percibe.

El robot es capaz de alcanzar un objetivo elegido dentro del entorno, eludiendo

la presencia de obstáculos. El robot aquí presentado posee cualidades humanas como

son la percepción de obstáculos a través de un conjunto de sensores y la posibilidad de

moverse libremente dentro de un entorno creado para él. Además será movido por el

deseo de alcanzar un objetivo, representado por un punto del entorno, evitando los

obstáculos mediante sensores.

Page 3: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 199

Los requisitos que se tratan de satisfacer por parte de la aplicación de control

del simulador, son básicamente los siguientes:

El robot debe ser capaz de seguir la trayectoria de las paredes a ambos lados.

El robot debe ser capaz de alcanzar un punto del entorno sin chocar con ningún

obstáculo.

2. DISEÑO DEL SIMULADOR

Para realizar este robot se parte de un simulador de robot móvil que cuenta con

dos tipos de sensores:

Sensores de contacto (20): Se modelizan como abierto o cerrado (contacto con

objeto).

Sensores de largo alcance (16): Situados alrededor cada 22’5 grados. (miden de

5 a 110 pulgadas)

El movimiento del robot se realiza mediante comandos de movimiento en el que

se especifican las velocidades de avance y de giro del robot. Una velocidad con signo

positivo hace que el robot avance y una con signo negativo hace que el robot retroceda.

Un ángulo con signo positivo hace que el robot gire a la derecha y un con signo

negativo hace que el robot gire a la izquierda.

Para el manejo del simulador se ha creado una interfaz que se muestra a

continuación:

2.1 Interfaz del sistema

Page 4: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

200 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

El interfaz del sistema es muy sencillo, cuenta únicamente con dos ventanas con

las que poder interactuar.

Los botones creados que se observan en la imagen inician todas las tareas que es

capaz de realizar el robot. Estas han sido agrupadas en varias categorías:

Los movimientos básicos que se han definido son los siguientes:

Avanzar (AV): se trata simplemente de que el robot se mueva “de frente”,

siguiendo la línea que marca su dirección 0.

Retroceder (RET): se trata de que el robot se mueva “hacia atrás”, de forma

exactamente opuesta que en el caso anterior y con la misma velocidad.

Parar (STOP): detiene el robot.

Derecha (DER): hace que el robot efectúe un giro en movimiento hacia su

derecha con un determinado ángulo.

Izquierda (IZQ): hace que el robot efectúe un giro en movimiento hacia su

izquierda con un determinado ángulo.

Con respecto a los comportamientos reactivos básicos se han definido las

siguientes opciones, que se activan al activar el “checkbox”:

Colisión

Evitación Frontal

Evitación Lateral Izquierda

Evitación Lateral Derecha

Seguimiento Paredes Izquierda

Seguimiento Paredes Derecha

Para alcanzar la meta es necesario introducir las coordenadas pulsando el botón

de Objetivo, y automáticamente se comenzará la tarea de llegar a dicho objetivo

teniendo en cuenta las elecciones hechas en los comportamientos básicos.

Page 5: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 201

Objetivo: Este botón nos lleva al cuadro de diálogo Objetivo para establecer las

coordenadas del objetivo a alcanzar por el simulador.

El resto de botones que se han creado responden a las siguientes funciones de

control del simulador:

Comenzar: Al pulsar sobre este botón el robot comenzará a moverse sin rumbo

fijo sorteando los obstáculos.

Terminar: El efecto de la desaparición del temporizador es que no se evalúan ya

los comportamientos reactivos básicos, a pesar de estar marcados, por lo que, como

después detiene el robot, éste se detiene hasta que se pulse Comenzar.

Conectar: la ventana de aplicación realiza una conexión local con el simulador.

Supone el punto de partida de todas las demás opciones y el simulador se encarga de

avisarnos cuando se ha producido la conexión.

Desconectar: la ventana de aplicación se desconecta del simulador. Cualquier

otra petición será ignorada por tanto hasta que se vuelva a producir la conexión y el

simulador queda liberado.

Cerrar: cierra la ventana de aplicación para controlar el simulador.

2.2 Comportamientos del simulador

Los comportamientos que ofrece el simulador los podemos dividir en

comportamientos básicos y comportamientos reactivos basados en el campo de

potencial:

Comportamientos básicos:

Todos los comportamientos básicos se tienen en cuenta tanto para la opción de

seguir un objetivo o meta fija, como para la opción de vagar por el mundo.

Page 6: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

202 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

Al activar el temporizador mediante el botón Comenzar, se crea un temporizador

que se activará cada cierto tiempo y se evaluarán los comportamientos reactivos básicos

marcados.

Se ha optado porque este número de unidades de tiempo del temporizador sea

bastante pequeño ya que la aplicación apenas consume recursos del sistema donde se

ejecute y para obtener una mayor eficiencia en los comportamientos deseados. Estos

comportamientos presentan las siguientes prioridades: evitar colisión, evitar colisión

frontal, evitar colisión lateral derecha y evitar colisión izquierda, seguimiento de

paredes por la derecha y seguimiento de paredes por la izquierda y avanzar a una

velocidad variable.

Colisión

En caso de que se detecte una colisión mediante el uso del método GetBumper,

este comportamiento anulará cualquier otro y se atenderá primero. Se trata del

comportamiento más prioritario sin duda, ya que de no atenderlo inmediatamente

podríamos “atravesar” alguna pared, situación totalmente impensable.

Las tareas que realiza este comportamiento son las siguientes:

Obtenemos el sensor que detectó el choque

Comprobamos para dónde nos conviene girar: El robot comprobará mediante sus

sensores laterales dónde hay mayor espacio. De esta forma giraremos hacia donde haya

menos probabilidad a priori de encontrar un obstáculo.

Damos marcha atrás hasta la distancia de seguridad

Giramos 95º hacia el lado que más nos convenga

No existe ninguna razón especial para dar el valor de 95º al giro del robot,

aunque evidentemente, el giro debe ser mayor de 90º y menor de 180º. El único motivo

es el de evitar un giro menor de 90º debido a la poca precisión del robot y la de

aumentar la probabilidad de salir de una habitación utilizando sólo este

comportamiento.

Evitación Frontal

Se han elegido a continuación los tres comportamientos de evitación de

obstáculos como más prioritarios, ya que ante todo debemos evitar chocar contra una

Page 7: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 203

pared, situación que debemos evitar. Dentro de las tres, el choque frontal es la más

prioritaria, ya que de haber otro choque posible, este último se produciría más tarde que

el frontal.

Este comportamiento se activa cuando el robot detecta la presencia de un

obstáculo por debajo de su distancia de seguridad a través de sus sensores frontales (14,

15, 0, 1 y 2).

Las tareas que realiza este comportamiento son las siguientes:

Obtenemos el sensor que detectó el choque

Comprobamos para dónde nos conviene girar: El robot comprobará mediante sus

sensores frontales dónde está situado exactamente el obstáculo. De esta forma

giraremos hacia el otro lado de donde se detectó.

Giramos 15º hacia el lado que más nos convenga

Aquí sí existe razón para dar el valor de 15º al giro del robot y es que este valor

nos permite hacer un giro suave. De esta forma, el robot girará 15º cada vez que el

temporizador se active hasta que eluda el obstáculo, por lo que realizará prácticamente

el mínimo giro que necesite.

Evitación Lateral Derecha

Da lo mismo elegir este o el siguiente, son igual de prioritarios.

Este comportamiento se activa cuando el robot detecta la presencia de un

obstáculo por debajo de su distancia de seguridad a través de sus sensores laterales de

la derecha (2, 3, 4, 5 y 6).

Las tareas que realiza este comportamiento son las siguientes:

Obtenemos el sensor que detectó el choque

Giramos 15º hacia la izquierda

Aquí sí existe razón para dar el valor de 15º al giro del robot y es que este valor

nos permite hacer un giro suave. De esta forma, el robot girará 15º cada vez que el

temporizador se active hasta que eluda el obstáculo, por lo que realizará prácticamente

el mínimo giro que necesite.

Page 8: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

204 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

Evitación Lateral Izquierda

Este comportamiento se activa cuando el robot detecta la presencia de un

obstáculo por debajo de su distancia de seguridad a través de sus sensores laterales de la

izquierda (10, 11, 12, 13 y 14).

Las tareas que realiza este comportamiento son las siguientes:

Obtenemos el sensor que detectó el choque

Giramos 15º hacia la derecha

Aquí sí existe razón para dar el valor de 15º al giro del robot y es que este valor

nos permite hacer un giro suave. De esta forma, el robot girará 15º cada vez que el

temporizador se active hasta que eluda el obstáculo, por lo que realizará prácticamente

el mínimo giro que necesite.

Seguimiento de paredes por la derecha

Da lo mismo elegir este o el siguiente, son igual de prioritarios.

Se selecciona después de los de choque ya que el cumplimiento de este

comportamiento no implica ningún peligro para nuestro robot. Además se apoya en el

comportamiento de evitación frontal.

Este comportamiento entra en acción en cuanto el usuario lo solicita y mientras

el robot no se mueva paralelo a la pared.

Las tareas que realiza este comportamiento son las siguientes:

Comprobamos dónde se encuentra la pared más cercana, mediante el uso de los

sensores laterales derechos (1, 2, 3, 4, 5, 6 y 7) comprobamos dónde se encuentra la

pared más cercana y que está situada a la derecha del robot, obteniendo para ello el

sensor más cercano a ella.

Giramos hacia la derecha para orientarnos a la pare. Gracias al sensor tomado

como referencia, realizamos un giro que nos sitúe “de cara” al obstáculo.

3. Nos aproximamos a la pared y nos situamos paralelos a ella

4. Mantenemos al robot paralelo a la pared

En esta ocasión, comprobamos en todo momento que los sensores laterales están

a la misma distancia de la pared, girando a la derecha o izquierda dependiendo de que la

distancia sea mayor en algún momento por la parte delantera o trasera. En caso de

Page 9: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 205

detectar el fin de la pared, giramos a la derecha hasta que la encontremos. En caso de

que la pared tuerza a la izquierda, entra en funcionamiento la evitación frontal, que

evitará el choque, y después la posición se corregirá mediante este comportamiento de

seguimiento de pared.

Seguimiento de paredes por la izquierda

Se selecciona después de los de choque ya que el cumplimiento de este

comportamiento no implica ningún peligro para nuestro robot. Además se apoya en el

comportamiento de evitación frontal.

Este comportamiento entra en acción en cuanto el usuario lo solicita y mientras

el robot no se mueva paralelo a la pared.

Las tareas que realiza este comportamiento son las siguientes:

1. Comprobamos dónde se encuentra la pared más cercana. Mediante el uso de

los sensores laterales izquierdos (9, 10, 11, 12, 13, 14 y 15) comprobamos dónde se

encuentra la pared más cercana y que está situada a la izquierda del robot, obteniendo

para ello el sensor más cercano a ella.

2. Giramos hacia la izquierda para orientarnos a la pared. Gracias al sensor

tomado como referencia, realizamos un giro que nos sitúe “de cara” al obstáculo.

3. Nos aproximamos a la pared y nos situamos paralelos a ella.

4. Mantenemos al robot paralelo a la pared.

En esta ocasión, comprobamos en todo momento que los sensores laterales están

a la misma distancia de la pared, girando a la derecha o izquierda dependiendo de que la

distancia sea mayor en algún momento por la parte delantera o trasera. En caso de

detectar el fin de la pared, giramos a la izquierda hasta que la encontremos. En caso de

que la pared tuerza a la derecha, entra en funcionamiento la evitación frontal, que

evitará el choque, y después la posición se corregirá mediante este comportamiento de

seguimiento de pared.

Avanzar a velocidad variable

Avanzar es el comportamiento por defecto, por lo que ni siquiera aparece como

optativo en una “checkbox”. Sin embargo, es el menos prioritario, ya que para avanzar

debemos comprobar que cumplimos todos los demás comportamientos que se nos piden

en las “checkbox”.

La tarea que realiza este comportamiento son las siguientes:

Page 10: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

206 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

El robot se desplaza en línea recta. En caso de que se detecte que ninguna pared

está en el rango de alcance de los sensores, el robot avanzará con mayor velocidad. En

cualquier caso, el giro será nulo.

2.3 Comportamientos reactivos basados en campos de potencial

Estos comportamientos son originados por las fuerzas que ejercen el objetivo y

los obstáculos. En esta parte de la aplicación, el robot perseguirá un punto objetivo o

meta, atraído por la fuerza que este genera sobre él y será repelido por la fuerza que los

obstáculos generan sobre él, evitando de este modo la colisión. Es importante advertir

que la búsqueda de una meta resulta una tarea independiente de los comportamientos

reactivos básicos vistos hasta ahora. Sin embargo en algún caso veremos que se apoya

en alguno de ellos para seguir alguna estrategia que le permita al robot llegar al destino,

evitando así situaciones indeseadas en las que puede quedar atrapado y que no le

permitan alcanzar el objetivo. Estas situaciones no deseadas son los mínimos locales; al

generarse fuerza atractivas y repulsivas, pueden existir zonas en las que unas fuerzas se

contrarresten con las otras y hagan detenerse al robot o simplemente le hagan repetir

infinitamente el mismo proceso (fue bastante frecuente observar en las pruebas cómo el

robot puede no decidirse sobre si girar hacia un lado u otro y quede oscilando entre un

rango de valores de ángulo indefinidamente).

La funcionalidad del robot para este comportamiento es la siguiente:

El robot es atraído por la meta, y para alcanzarla deberá evitar los obstáculos que

existe en el entorno. Estos obstáculos generarán fuerza repulsiva, esta fuerza será

tangencial:

Fuerza tangente: es la fuerza que hace desplazarse al robot paralelo al obstáculo.

Esta fuerza hace que el robot rodee el obstáculo. De esta forma el robot no girará de

forma brusca al llegar a un obstáculo sino que lo rodeará.

Page 11: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 207

A continuación se detallan estos comportamientos y sus variantes, en el caso de

la meta sensorial con obstáculos.

Alcanzar la meta sorteando los obstáculos

Para seguir este comportamiento simplemente se debe introducir en la ventana

de objetivo unas coordenadas, que serán la meta del robot. En este caso se han simulado

dos tipos de fuerzas: la atractiva de la meta y la repulsiva de los obstáculos. De acuerdo

con la distancia a la que se encuentre el robot de la meta y de los obstáculos, estas

fuerzas se harán mayores o menores, siempre de forma proporcional a esa distancia. Sin

embargo también tenemos que tener en cuenta que si el robot está muy cerca del

obstáculo debemos de dar mayor importancia a la fuerza repulsiva del propio obstáculo

que a la atractiva que genera el objetivo; esto se verá reflejado en la creación de unos

coeficientes.

El robot se desplazará de acuerdo a la fuerza atractiva de la meta. Esta fuerza

atractiva ha sido simulada atendiendo a los siguientes principios:

La velocidad lineal del robot será inversamente proporcional a la distancia que

se encuentre del objetivo. Este principio se debe a que la fuerza de atracción que ejerce

el objetivo es mayor cuanto más cerca se esté de él.

La velocidad de giro para que el sentido de avance del robot se oriente

adecuadamente con respecto al objetivo es directamente proporcional a la distancia que

se encuentre el robot del objetivo. Este principio se debe a que la precisión con la que se

orienta el robot debe ser más precisa cuanto más cerca esté del objetivo.

A medida que el robot se encuentre más cerca del objetivo y no esté bien

orientado hacia él, la velocidad lineal disminuirá y la velocidad de giro aumentará. Este

Page 12: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

208 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

principio tendrá prioridad con respecto a los dos anteriores y nos asegura que el robot se

orientará adecuadamente aunque parta de un punto muy cercano al objetivo y

totalmente desorientado.

Las cuatro zonas de atracción que se han creado alrededor del objetivo son las

siguientes:

Robot a menos de 20 unidades de distancia. Aquí si el robot no está bien

orientado, se detendrá por completo para orientarse correctamente. Si ya lo está, la

velocidad que toma es muy alta.

Robot entre 20 y 100 unidades de distancia. Si el robot no está bien orientado, no

se detendrá, pero su velocidad será muy baja. Por el contrario, si está bien orientado, su

velocidad será alta.

Robot entre 100 y 200 unidades de distancia. Si el robot no está bien orientado,

avanza y gira a la vez a velocidades medias.

Robot a más de 200 unidades. La fuerza de atracción es muy pequeña, por lo que

el robot avanza lentamente. Aunque no esté bien orientado, su giro es alto.

Por otro lado se ha simulado la fuerza repulsiva mediante la obtención del seno y

el coseno del ángulo que forma el sentido de avance del robot y el obstáculo. La fuerza

tangencial o paralela utiliza las fórmulas:

velocidad= intensidad_fuerza_repulsiva*cos(angulo)

giro=intensidad_fuerza_repulsiva*sen(angulo)

donde intensidad_fuerza_repulsiva es la intensidad de la fuerza que ejerce el

obstáculo sobre el robot y que inversamente proporcional a la distancia entre ambos y

angulo es el ángulo que existe entre el sentido de avance del robot y la trayectoria de la

pared (de ahí que si el robot avanza paralelo a la pared, la fuerza tangente no le haga

girar más).

La composición de las fuerzas responde a las reglas siguientes:

Si el robot se encuentra más cerca de la distancia de seguridad del obstáculo,

sólo se toma la fuerza repulsiva.

Si el robot se encuentra más lejos que el 150% de la distancia de seguridad del

obstáculo, sólo se toma la fuerza atractiva.

Page 13: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 209

Si el robot se encuentra entre la distancia de seguridad y el 150% de su valor del

obstáculo, la fórmula para el coeficiente de la fuerza repulsiva tangente es la siguiente:

coef_tangente=1-(distancia-distancia_seguridad/2)/distancia_seguridad

Si el robot se encuentra entre la distancia de seguridad y el 150% de su valor del

obstáculo, la fórmula para el coeficiente de la fuerza atractiva es la siguiente:

coef_atractivo=1-coef_repulsivo

Por tanto, se observa que la fuerza atractiva crece linealmente a partir de la

distancia de seguridad, mientras que la repulsiva decrece linealmente.

Estas fuerzas tienen el problema de hacer caer al robot en mínimos locales. En

efecto, pueden existir puntos en los que las fuerzas atractivas y repulsivas se anulen; o

simplemente existir zonas de las que el robot no pueda salir por quedarse atrapado a

causa de estas dos fuerzas, como si estuviera en una especie de remolino.

Se ha diseñado una estrategia que le haga evitar esos mínimos locales: se trata de

seguir la pared que se encuentre a su izquierda o su derecha. En efecto, se vio que si el

objetivo se encuentra justo al otro lado de una pared que se necesita bordear el robot

caía en mínimos locales, por lo que se decidió que debía seguir la pared. La tarea que

realiza el robot es la de seguir la pared que se encuentre a su izquierda o su derecha,

hasta el momento en que detecte que hacia la zona que se encuentra el objetivo no

existe ya obstáculo. Esto se ha realizado comprobando en todo momento el ángulo que

forma el robot con el objetivo y atendiendo a los sensores que se encuentran rodeando

ese ángulo; si en algún momento estos sensores nos informan que no existe ningún

obstáculo por medio, entonces el robot dejará de seguir la pared y se dirigirá al

obstáculo, ya que consiguió bordear el obstáculo o simplemente este ya no se encuentra

en su camino a la meta. Nótese que esta estrategia es una solución válida para la

mayoría de los casos, pero no si el entorno presenta dos obstáculos entre el robot y el

objetivo y estos obstáculos no se encuentran lo suficientemente distanciados, en cuyo

caso el robot quedará rodeando continuamente el primer obstáculo.

Los pasos que se realizan en la búsqueda de meta sensorial con obstáculos son

los siguientes:

En caso de no haber alcanzado la meta

En caso de no estar paralelo a pared izquierda o derecha

Se calcula la fuerza atractiva de la meta

Page 14: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

210 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

Se calcula la fuerzas repulsivas de los obstáculos

Se componen ambas fuerzas y se le aplican al robot

En caso de estar paralelo a pared derecha o izquierda

En caso de no haber obstáculos entre el robot y la meta el robot se dirige hacia

ella

En caso de existir obstáculos entra en acción el actuador de pared del lado que

corresponda

En caso de haber alcanzado la meta se notifica al usuario y se detiene la

simulación.

Finalmente, al alcanzar el objetivo, la aplicación genera un mensaje indicando

que llegó.

Vagar por el entorno

Se trata de otro comportamiento sensorial donde existen obstáculos pero en el

que no se especifica ninguna meta. Por tanto, el robot deberá desplazarse por el entorno

sin chocar con los obstáculos; en otras palabras, deberá dejarse llevar por su propia

inercia y las fuerzas repulsivas procedentes de los obstáculos.

Las acciones que se realizan en este comportamiento son las siguientes:

Se calcula la velocidad de avance del robot, dependiendo de la existencia o no de

obstáculos al alcance de sus sensores.

En caso de que existan obstáculos cerca que ejerzan una fuerza sobre el robot:

Se calcula la fuerza normal que ejerce el obstáculo sobre el robot

Se compone la fuerza normal repulsiva con la de avance del robot

Se establece la velocidad de avance y el giro al robot.

Este comportamiento no se detendrá hasta que el usuario pulse el botón Detener,

que para el temporizador y detiene al robot.

Ejemplos gráficos de funcionamiento:

Page 15: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 211

Prueba Evitación Frontal

Objetivo Comprueba si el robot evita chocar por la parte

delantera contra un obstáculo y si lo hace de forma suave

Posición

inicial

(444,210)

Resultado Correcto

Comentarios Se observa en el gráfico que el robot corrige

ligeramente la dirección para evitar el obstáculo.

Page 16: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

212 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

Prueba Alcanzar un objetivo evitando colisión y choque

frontal

Objetivo Comprueba que el robot llega a su objetivo sorteando

los obstáculos.

Posición

inicial

(128,360)

Resultado Correcto

Page 17: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 213

Comentarios Se observa en el gráfico que el robot corrige en un

principio la trayectoria para no chocar de frente de forma un

poco brusca para evitar el choque pero el segundo giro

(esquina) , es un giro menos brusco, orientando su trayectoria

final hacía el objetivo.

Prueba Alcanzar un objetivo evitando colisión y choque

frontal

Page 18: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

214 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

Objetivo Comprueba que el robot llega a su objetivo

sorteando los obstáculos.

Posición inicial (90,16)

Resultado Correcto

Comentarios Se observa en el gráfico que el robot corrige en un

principio la trayectoria para no chocar de frente de forma un

poco brusca para evitar el choque pero el segundo giro

(esquina) , es un giro menos brusco, orientando su

trayectoria final hacía el objetivo.

Prueba Alcanzar un objetivo evitando colisión y choque

frontal

Objetivo Comprueba que el robot llega a su objetivo sorteando

los obstáculos.

Page 19: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 215

Posición

inicial

(90,16)

Resultado Correcto

Comentarios Se observa en el gráfico que el robot corrige en un

principio la trayectoria para no chocar de frente de forma un

poco brusca para evitar el choque pero el segundo giro

(esquina) , es un giro menos brusco, orientando su trayectoria

final hacía el objetivo.

Prueba Alcanzar un objetivo evitando colisión y choque

Page 20: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

216 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

frontal

Objetivo Comprueba que el robot llega a su objetivo sorteando

los obstáculos.

Posición

inicial

(150,50)

Resultado Correcto

Comentarios Se observa en el gráfico que el robot corrige en un

principio la trayectoria para no chocar de frente de forma un

poco brusca para evitar el choque pero el segundo giro

(esquina) , es un giro menos brusco, orientando su trayectoria

final hacía el objetivo.

Page 21: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura 217

Prueba Alcanzar un objetivo evitando colisión y choque

frontal

Objetivo Comprueba que el robot llega a su objetivo

sorteando los obstáculos.

Posición inicial (238,189)

Resultado Correcto

Comentarios Se observa en el gráfico que el robot corrige en un

principio la trayectoria para no chocar de frente de forma un

poco brusca para evitar el choque pero el segundo giro

(esquina) , es un giro menos brusco, orientando su

trayectoria final hacía el objetivo.

3. CONCLUSIONES

La lógica Fuzzy es adecuada para sistemas de este tipo en los que es conveniente tener un comportamiento más similar al de los humanos. Sin la lógica fuzzy no podríamos modelizar comportamientos más inteligentes que los ofrecidos por la lógica clásica o de Cantor, que no recoge aquellos fenómenos reales cuyas características son imprecisas, inciertas. En el campo de la robótica las medidas tomadas por sensores son imprecisas, inciertas, y gracias a la lógica fuzzy podemos ampliar las posibilidades de la lógica clásica y aplicar una probabilidad o un grado de intensidad para las acciones que realiza el robot; por ejemplo, esto se refleja en la variación de velocidad del robot según la distancia a los obstáculos y al objetivo, creando movimientos más suaves y simulando así el comportamiento humano.

Para modelizar el comportamiento se han utilizado cuantificadores borrosos

para crear predicados borrosos y con ellos construir reglas como las siguientes: Si robot muy cerca de pared => girar con mayor ángulo Si robot cerca de pared => girar con ángulo pequeño Si robot lejos de obstáculos => aumentar su velocidad

En el campo de la robótica, se sabe que no existe el simulador perfecto; a la hora de tomar decisiones de diseño, cada una de ellas favorecerá determinadas situaciones, pero entorpecerá otras. Por ejemplo, en nuestro caso para la elección de una distancia de seguridad, si tomamos una distancia pequeña corremos el riesgo de chocar contra un obstáculo si los

Page 22: Determinación de trayectorias de un robot móvil con … · Determinación de trayectorias de un robot móvil con lógica borrosa Segundo Congreso Internacional de Matemáticas en

Determinación de trayectorias de un robot móvil con lógica borrosa

218 Segundo Congreso Internacional de Matemáticas en la Ingeniería y la Arquitectura

movimientos no son del todo precisos, pero si tomamos una distancia de seguridad grande corremos el riesgo de no poder pasar entre dos paredes paralelas.

En el campo de la Robótica la precisión es muy importante. Sin embargo, como

este simulador muestra, existen pequeñas imprecisiones en los sensores que pueden llevar a comportamientos no deseados. Por ejemplo, en el momento de alcanzar un objetivo; es prácticamente imposible alcanzar el punto exacto, por lo que decimos que el robot alcanza un objetivo cuando está dentro de un pequeño área creada alrededor de ese punto. Este fenómeno es realmente incómodo en situaciones como descubrir si el robot se encuentra paralelo a una pared o cuál es el sensor que se encuentra más cercano a ella.

Una posible ampliación para este robot sería la posibilidad de que los

obstáculos pudiesen ser móviles, lo cual nos llevaría a una aproximación más cercana a la realidad.

4. REFERENCIAS BIBLIOGRÁFICAS

Simulador del robot se ha obtenido de la siguiente web:

http://jdlope.tripod.com/mrs.html

[1] KLIR, J., YUAN, B. Fuzzy Sets and Fuzzy Logic. Theory and Applications, Prentice

Hall, New Jersey, 1995.

[2] PAJARES, G. SANTOS, M. Inteligencia Artificial e Ingeniería del Conocimiento; RA-

MA, 2005;

[3] SKLAR A. SCHWEIZER, B. Probabilistic Metric Spaces. Dover Publications, 1984.

[4] TRILLAS, E, ALSINA, C., TERRICABRAS, J.M. Introducción a la Lógica Borrosa.

Editorial Ariel. 1995.

[5] ZADEH, L. A. Fuzzy sets, Inform. and Control 8 (1965) 338–353.