Boletín No. 58
1o. de enero de 2017
CONTROL INTELIGENTE PARA EL DESPLAZAMIENTO Y EVASIÓN DE OBSTÁCULOS DE UN ROBOT MÓVIL DIFERENCIAL MEDIANTE LÓGICA DIFUSA
Eduardo Calderón Gómez
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Leslie Janet Carboney Palafox
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Juan José Enríquez Bosques
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Abstract
La evasión de obstáculos es uno de los aspectos más importantes de los robots móviles. El robot móvil (RM) debe detectar los obstáculos y reducir su velocidad de avance conforme se acerque a ellos, así como tomar decisiones acerca de cuál es el mejor camino a seguir dado el bloqueo de su trayectoria en curso. En el presente trabajo se presenta el desarrollo de un control inteligente para el desplazamiento de un robot móvil mediante lógica difusa, encargado de evadir los obstáculos que se encuentren frente a él y reducir su velocidad de forma gradual conforme se acerque al objetivo, además, mediante control clásico tomará decisiones respecto a qué lado seguir avanzando izquierda o derecha, de acuerdo a la distancia a cada uno de los lados, una vez que se detiene a una distancia específica. El RM obtiene datos de su interacción con el entorno a través de un sensor ultrasónico para medir distancia y un sensor de efecto hall por cada rueda para medir las RPM, los cuales sirven como entradas al sistema difuso. Los resultados muestran que el recorrido del RM presenta una navegación suave y constante y evita colisiones.
I. Introducción
La forma en el que las personas perciben el medio que los rodea, es considerado lógica difusa, los ejemplos claros son para expresar distancias, la altura de algún objeto, la temperatura de un cuarto, esto es debido a que las personas tienen percepciones diferentes del medio y por lo tanto se utilizan expresiones ambiguas en algunos casos para demostrar las ideas.
A diferencia de una persona que puede utilizar expresiones con comparativos o superlativos, una máquina comprende solamente un todo o nada, expresiones como “muy caliente” o “frío” no son comprendidas por una computadora, ya que ésta no comprende las ambigüedades que las personas utilizan comúnmente.
La lógica difusa a diferencia de la lógica booleana tiene las cualidades de que un elemento no sea encasillado al estado “1” o “0”, sino que puede tener una cantidad finita de elementos entre esos dos estados, tal y como lo percibe una persona para decir que alguien es atractivo o no.
Inicialmente se tenían solamente los sistemas de control clásico que si bien son efectivos, requieren un modelo matemático preciso para implementarlo en el mundo real, una de las principales complicaciones que esto conlleva es que en la naturaleza la mayoría de los sistemas son no lineales, complicando la obtención de dichos modelos.
La capacidad de la lógica difusa para describir el comportamiento de sistemas complejos mediante reglas lingüísticas simples ha motivado su aplicación a la realización de numerosos sistemas de control. Uno de los campos de aplicación creciente de controladores difusos es el de la robótica. En particular, los problemas asociados con la navegación autónoma de un robot móvil constituyen un atractivo espacio de desarrollo de controladores basados en lógica difusa.
Para la autonomía de un robot móvil es importante que éste interactúe con su entorno y pueda desplazarse de manera eficiente y precisa. El nivel de autonomía está determinado por la capacidad del robot para percibir el ambiente de trabajo mediante sensores y poder modificar su comportamiento en consecuencia. Es por ello que en el presente trabajo se realiza un control difuso para el desplazamiento de un robot móvil diferencial.
Definición de Variables de Entrada y Salida
- Distancia del móvil al obstáculo próximo que se encuentre enfrente (IN)
- Velocidad en revoluciones por minuto del móvil (IN)
- PWM enviado al Puente H de cada motor (OUT)
Fuzzificación
Mediante este proceso se calcula el grado de pertenencia de la entrada a uno o varios conjuntos fuzzy, es decir, el grupo de posibles conjuntos a los que puede pertenecer la variable de entrada. Las funciones de pertenencia se definen a partir de los datos y el conocimiento empírico.
Conjuntos de distancia ➢ Prohibido [2 16]➢ Muy cerca [14 50] ➢ Cerca [30 100 ] ➢ Medio [80 160 ] ➢ Lejos [150 190 ] ➢ Muy lejos [175 230 ] |
|
Figura 1. Funciones de pertenencia para distancia. |
Como se puede observar en la representación de los conjuntos de distancia el rango de distancia en el que trabaja de forma adecuada el sensor ultrasónico va de los 2 cm a los 230 cm, por lo que tanto el conjunto inicial como el final parten de 2 y termina en 230 respectivamente.
Conjuntos de velocidad ➢ Slow [80 120] |
|
Figura 2. Funciones de pertenencia para velocidad. |
Como se puede observar en la Figura 2 el rango para la velocidad es de 80 a 200 RPM ya que dentro de este rango es capaz de medir de forma efectiva el sensor de efecto hall que se utilizó para contar el número de Revoluciones Por Minuto que lleva el móvil, después de realizar una serie de pruebas.
Los posibles valores de PWM del móvil también tendrán sus funciones de pertenencia (Figura 3).
➢ Muy lento [30 70] |
|
Figura 3. Funciones de pertenencia para el conjunto de salida PWM. |
Como se observa en la Figura 3, el conjunto muy lento inicia en el valor de 30, ya que al móvil en el piso le afecta la fricción que hay, y por lo tanto las llantas con un PWM menor que treinta prácticamente no giran (no se mueven), además el conjunto muy rápido termina en 150 ya que debido al poco espacio donde se realizan las pruebas una velocidad de RPM muy alta haría que el robot fuera demasiado rápido al principio recorriendo una gran distancia a menos que los conjuntos finales fueran muy pequeños, pero esto no tendría mucho caso, y para simplificar el funcionamiento y hacerlo más rápido sólo se eligieron 5 conjuntos con un RPM máximo de salida de 150.
Evaluación de las reglas de control (Proceso de Inferencia)
Con el objeto de determinar cómo se va a comportar el sistema, se establece una serie de reglas de la forma IF(…) THEN(…) que indican la acción a realizarse según a qué conjunto pertenece la entrada.
Evaluar las reglas significa determinar cuáles de ellas se activarán frente a un subconjunto de valores de pertenencia a los conjuntos fuzzy del dominio de entrada
Las reglas que determinarán el comportamiento del sistema son las que se muestran en la Figura 4.
Figura 4. Reglas de inferencia. |
De esta tabla se saca el máximo del mínimo (MAMDANI) para cada uno de los conjuntos de salida en los que interviene cada regla:
u(conjunto de salida)(x)=máx (mín (µ(distancia(n)), µ(velocidad(m)))
Desfuzzificación
La Desfuzzificación de las variables es su determinación como conjuntos difusos; representación fundamental para la posterior obtención de los valores de membresía en el proceso de evaluación de las reglas de inferencia.
La entrada para el proceso de Desfuzzificación es un conjunto fuzzy y la salida es un número real simple. El método que se eligió para desfuzzificar es el del cálculo del centroide, que retorna el centro del área bajo la curva.
Resultados
Se realizó un experimento con las siguientes condiciones:
Regla 11: Si la velocidad es Alta y la distancia Media entonces el PWM es medio
Velocidad = 185
Distancia = 130
Como se observa en la Figura 5, se muestra el nivel de pertenencia para cada regla, en el conjunto velocidad, la columna dos, muestra los niveles de pertenencia del conjunto distancia; podemos visualizar que el nivel de pertenencia mínimo entre el de velocidad y distancia es el de velocidad, por lo tanto, es éste valor de pertenencia el que cortará a el conjunto medio de PWM.
Además se puede observar en este caso solo existe un valor de salida para estas reglas y por lo tanto al sacar el valor máximo, de los valores mínimos de las reglas que convergen en el conjunto de salida de PWM medio, éste será el mismo valor y en la ecuación final de cálculo de centroide, sólo intervendrán dicho valor y su centroide, dando como resultado un valor de PWM final de 90.
Figura 5. Representación gráfica de reglas de control. |
Conclusiones
En este artículo se propuso el desarrollo de un robot móvil mediante lógica difusa. El trabajo propuesto pretende introducir la implementación de algoritmos de control más flexibles al cambio y para sistemas no lineales, mediante inteligencia artificial, como lo es la lógica difusa, en vez de usar algoritmos de control clásico donde su aplicación va enfocada a sistemas lineales.
De acuerdo a los resultados experimentales, la implementación de lógica difusa en un robot móvil para controlar la velocidad de desplazamiento y la evasión de obstáculos resulta práctica y sencilla y con un bajo coste computacional, ya que no se requiere de una gran cantidad de operaciones para implementar dicho algoritmo.
Una de las ventajas más importantes a considerar al implementar lógica difusa en un RM es la facilidad para ajustar los parámetros de los conjuntos de las funciones de pertenencia y las reglas de control y con ello realizar un mayor número de experimentos y pruebas hasta conseguir el mejor desempeño posible de acuerdo a los requerimientos del sistema.
Otro punto importante es la facilidad de implementar lógica difusa en combinación con otro tipo de algoritmos de control, incluso control clásico, para así obtener un control más complejo y eficiente.
Con los resultados se ha obtenido un buen desempeño en la navegación del RM, en cuanto a cambios de velocidad y evasión de obstáculos, mediante las diversas reglas de control implementadas.
Para trabajos futuros, se propone la implementación de la lógica difusa en un RM con más variables de entrada al algoritmo, además de utilizar otro tipo de sensores con mayor rango, velocidad y precisión en la adquisición de datos, que los implementados en este trabajo.
Referencias y Recursos Electrónicos
- Cabrera A., et al. (2004). Control difuso de navegación de un robot móvil mediante dispositivos programables. Proc. XI Congreso Latinoamericano de Control Automático, La Habana.
- Aranda, B. E., Salgado, J. T. & Velasco, V. M. (2002). Control no lineal discontinuo de un Robot Móvil. Centro de Investigación y Estudios Avanzados-Instituto Politécnico Nacional.
- De los Ríos. (2004). Evaluación de estructuras y métodos de ajuste de reguladores PID-difusos. Tesis (Ingeniero Mecánico Eléctrico). Universidad de Piura.
- Wudhichai Assawinchaichote, Sing Kiong Nguang & Peng Shi. (2006). Fuzzy Control and Filter Design for Uncertain Fuzzy Sistems, M.Thoma, M. Morari. Springer.
- Gómez Salas, Fernando (2005) Sistemas difusos jerárquicos para modelado y control (Tesis de Maestría). CINVESTAV, IPN.
- Gang Feng. (2010). Analysis and Synthesis of Fuzzy Control Systems. Frankin L. Lewis. CRC Press.