ARTÍCULOS

 

CONTROL DE NAVEGACIÓN BASADO EN COMPORTAMIENTOS PARA PEQUEÑOS ROBOTS MÓVILES

 

BEHAVIOR–BASED CONTROL NAVIGATION FOR SMALL MOBILE ROBOTS

 

 

Gustavo Alonso Acosta Amaya1, Juan Camilo Herrera Pineda2, Orlando Zapata Cortes3

1 Ingeniero electricista, Magíster en Ingeniería y candidato a Doctor en ingeniería de sistemas por la Universidad Nacional de Colombia. Profesor Asociado del Politécnico Colombiano Jaime Isaza Cadavid, Medellín, Colombia. E–mail: gaacosta@elpoli.edu.co

2 Ingeniero en Instrumentación y Control, Especialista en Diseño de Sistemas Técnicos, Estudiante de maestría en ingeniería mecánica de la Universidad Federal de Santa Catarina, Brasil.

3 Ingeniero en Instrumentación y Control, Magíster en Ingeniería de Sistemas de la Universidad Nacional de Colombia.

 

Recibido: 07 de Mayo de 2014. Aceptado: 30 de Junio de 2014.

 


RESUMEN

Se aborda el problema de la navegación autónoma de pequeños robots móviles en entornos interiores de trabajo. La solución propuesta incorpora una arquitectura de control basada en comportamientos implementados mediante lógica difusa y un esquema jerárquico para la coordinación de comportamientos. Esta combinación se probó en una pequeña plataforma robótica móvil que cuenta con un anillo de sonares SRF02 y un microcontrolador MCF51QE128. Se obtuvo una navegación segura del entorno a un bajo costo computacional.

Palabras clave: Control basado en comportamientos, Navegación robótica, Control difuso, Coordinación de comportamientos, Evasión de obstáculos, Seguimiento de paredes.


ABSTRACT

The problem of autonomous navigation of small mobile robots in indoors is addressed. The proposed solution incorporates a behavior–based control architecture implemented through fuzzy logic, and a hierarchical scheme for behaviors coordination. This combination was tested in a small mobile robotic platform that has a ring with SRF02 sonars and a MCF51QE128 microcontroller resulting in a safe navigation of the environment at a low computational cost.

Key words: Behavior–Based Control, Robotic Navigation, Fuzzy Control, Behavior Coordination, Obstacle Avoidance, Wall Following.


 

 

1. INTRODUCCIÓN

La navegación basada en comportamientos constituye un esquema de control robusto que proporciona a los robots móviles la capacidad de responder en tiempo real a cambios del entorno [1], como por ejemplo la aparición de obstáculos imprevistos en la trayectoria del robot.

En el control basado en comportamientos, una tarea de navegación compleja se descompone en varios comportamientos simples, bien definidos e independientes que facilitan el diseño, implementación y puesta a punto de la arquitectura de control [1], [2]. Algunos comportamientos básicos son: Ir a la meta (go to the goal), evasión de obstáculos (obstacle avoidance), seguimiento de paredes (wall following), deambular (wandering) y búsqueda de espacio libre (search of free space) [2].

La implementación de comportamientos mediante controladores basados en lógica borrosa (Fuzzy Logic Controllers, FLC) ofrece ventajas como robustez a la incertidumbre sensorial, representada en el framework que propone para la formalización del conocimiento expresado en términos lingüísticos, así como también su capacidad inherente de tratar con plantas que incorporan dinámicas complejas difíciles de modelar [3].

El principal inconveniente que se reporta para los FLC lo constituye el largo y tedioso proceso de ensayo–error empleado para determinar la base de conocimiento, el cual, en la mayoría de los casos, solo permitirá obtener soluciones sub–óptimas. No obstante, los FLC en los que no se han incorporado técnicas complementarias de optimización, han permitido alcanzar una navegación segura y aceptable en diferentes entornos de trabajo [4], [5], [6].

Al incorporar mecanismos heurísticos de búsqueda, como aquellos basados en algoritmos evolutivos, se logra obtener trayectorias óptimas de navegación [7], pero a un costo computacional prohibitivo para pequeños robots móviles (Small Mobile Robots–SMR).

Cuando se incorporan varios comportamientos en una arquitectura de control, inmediatamente surge el problema de cómo sintetizar la acción final de control que más conviene aplicar a los efectores del robot con el fin de cumplir los requerimientos exigidos por la navegación. La acción de control generada por un comportamiento en un instante dado, puede entrar en conflicto con aquella generada por otro. Por ejemplo, en un robot diferencial la salida de un comportamiento puede generar una acción de control que busca reducir la velocidad del motor izquierdo, mientras que otro podría generar una acción de incremento en su velocidad.

Una forma de solucionar el problema del conflicto entre comportamientos consiste en la asignación de prioridades con base en el estado actual del entorno, captado a través de los sensores del robot. Esto da lugar a lo que se conoce como un esquema de arbitración o coordinación jerárquico, en el cual los comportamientos de mayor jerarquía anulan o subsumen a aquellos de menor jerarquía. El comportamiento de mayor nivel jerárquico asume el control de los efectores del robot ante una situación de emergencia, como por ejemplo la detección de un obstáculo frontal próximo. Cuando el comportamiento de alto nivel se desactiva a consecuencia de los cambios percibidos en el entorno, entonces el control de los efectores es cedido a un comportamiento de menor jerarquía [8], [9].

Una solución alternativa a este problema, consiste en fusionar las salidas de diferentes comportamientos, de tal forma que la acción final de control se conforma a partir de la contribución, en diferente medida, de los comportamientos activos en un instante dado [10], [11], [12]. Esta aproximación permite obtener, eventualmente, trayectorias de navegación más suaves en comparación con el esquema de arbitración jerárquico [13], [14].

En este trabajo se aborda el problema de la navegación de robots móviles en entornos interiores de trabajo con base en una arquitectura de control basada en comportamientos y un esquema de coordinación jerárquica, obteniéndose una solución eficiente al problema de la navegación de un SMR con capacidades computacionales y sensórica limitada.

Este artículo se organiza de la siguiente manera: en la sección 2 se presentan los materiales y métodos requeridos para la implementación de la arquitectura de control, se describe la plataforma robótica de prueba, se discute la arquitectura de control propuesta y se presenta el proceso de diseño de los comportamientos incorporados a ésta. En la sección 3 se describen las pruebas realizadas y se discuten los resultados obtenidos y, finalmente en la sección 4, se exponen las conclusiones y el trabajo futuro.

 

2. MATERIALES Y MÉTODOS

2.1. Plataforma robótica

La implementación y pruebas de la arquitectura de control propuesta se llevaron a cabo sobre la plataforma robótica que se presenta en la figura 1. Sus principales características son:

 

Sistema de actuación y locomoción: constituido por dos ruedas de tracción en configuración diferencial y dos ruedas de soporte. A cada rueda de tracción se acopla una unidad motriz que incluye un encoder de cuadratura, un motor DC de 12 voltios y una caja de engranajes con relación 67:1. La unidad provee 14 Kg–cm de torque y una velocidad nominal de salida en el eje de 150 rpm.

Sensórica propioceptiva: la odometría es provista por encoders incrementales incorporados a las unidades motrices, entregan 4331 pulsos por revolución en el eje de salida de la unidad. El ángulo de orientación del robot es suministrado por el compás digital CMPS03.

Sensórica extereoceptiva y comunicaciones: se emplea para determinar distancias a los obstáculos próximos al robot y proveer comunicaciones inalámbricas. Para tal fin se diseñó y construyó un anillo de sonares que cuenta con 12 sensores ultrasónicos SRF02 que brindan una cobertura de 360°. En la tapa superior del anillo se incorporó un radio Xbee 802.15.4 para la transferencia de datos desde y hacia el robot.

Procesamiento: el dispositivo de procesamiento empleado es un microcontrolador Coldfire V1 MCF51QE128 de la firma Freescale Inc. Sus características principales son: CPU de 32 bits, RAM de 8x8KB, flash de 8x128KB, 20 canales ADC, 2xUART, 2xSPI, 2xSCI, 3 módulos de temporización y tensión de alimentación de 1.8 a 3.6 V.

2.2. Arquitectura de control

La arquitectura de control implementada incorpora dos comportamientos básicos, seguimiento de pared derecha y evasión de obstáculos frontales. En un instante dado, solo uno de los comportamientos puede estar activo.

La evasión de obstáculos es el comportamiento de mayor jerarquía, su activación se produce cuando cualquiera de los sonares S1, S2 o S3 detecta un obstáculo a una distancia menor o igual a 30 cm (figura 2). En tal situación, el comportamiento de seguimiento de pared derecha es desactivado y la evasión de obstáculos asume el control de los efectores para cambiar la trayectoria del robot, alejándolo del obstáculo.

 

Mientras no se detecten obstáculos frontales a distancias menores o iguales a 30 cm, el comportamiento de seguimiento de paredes será el que controle los efectores. Su objetivo es mantener una distancia de 50 cm entre el robot y las paredes localizadas al costado derecho.

Ambos comportamientos se implementaron mediante esquemas de control fuzzy, permitiendo alcanzar y mantener los objetivos de control propuestos, aún en presencia de incertidumbre en las medidas sensoriales.

En la figura 3 se aprecia la arquitectura de control que soporta la navegación del robot de prueba ''Carlitos''. La coordinación de comportamientos se establece de manera jerárquica a partir del estado del entorno captado por los sensores del robot.

 

2.3 Diseño de comportamientos

2.3.1 Seguimiento de pared derecha

Este comportamiento busca mantener una distancia de 50 cm respecto a las paredes localizadas al costado derecho del robot, tal como lo muestra la figura 4.

 

El sistema de control fuzzy que sintetiza este comportamiento, considera como variables lingüísticas de entrada la distancia, proporcionada por el sensor S4 en el anillo de sonares, y el error de distancia dado por la ecuación (1).

 

donde sp (set–point) es la referencia de distancia de 50 cm. La variable lingüística de salida corresponde a la señal PWM (Pulse–Width Modulation, PWM) que se aplica al motor izquierdo. Al aumentar el nivel DC (Duty Cycle) de esta señal, el motor incrementará su velocidad acercando el robot a la pared. Al disminuir su nivel DC, el motor disminuirá su velocidad y el robot se alejará de la pared. El nivel DC que se aplica al motor derecho no se varía y por lo tanto su velocidad permanece constante.

Las variables consideradas se caracterizaron mediante los conjuntos difusos de tipo triangular y trapezoidal presentados en la (figura 5). Sus funciones de pertenencia vienen dadas por las ecuaciones (2) y (3):

 

 

donde a y c son respectivamente el límite inferior y superior, b es el valor de x para el cual μΔ(b)=1 y a<b<c.

 

donde a y d son los límites inferior y superior, b el límite inferior del soporte, c el límite superior del soporte y a<b<c<d.

La tabla FAM (Fuzzy Associative Matrix) de la figura 6 expresa el conjunto de reglas que constituye la base de conocimiento del controlador fuzzy. Por ejemplo, la entrada señalada en esta tabla corresponde a la j–ésima regla que se expresa como:

 

Rj: if S4 is d_f and eS4 is e_z then PWM is pwm_eq

Una base de reglas de este tipo implementa un controlador difuso tipo Mamdani [15].

2.3.2 Evasión de obstáculos frontales

En la implementación del comportamiento de evasión de obstáculos se empleó el sistema de la figura 7. Este incorpora tres controladores difusos, cada uno con dos variables lingüísticas de entrada (''distancia'' y ''error de distancia'') y una de salida (''PWM''). Las distancias para los controladores FLC1, FLC2 y FLC3 son provistas, respectivamente, por los sonares S1, S2 y S3.

 

Puesto que cada controlador entrega una señal PWM diferente, entonces se hizo necesario establecer un mecanismo que permitiera seleccionar la salida que debía aplicarse al motor izquierdo. La salida seleccionada es la de aquel controlador cuya distancia de entrada sea la menor de las tres (figura 7).

El proceso de evitar una pared frontal, vista como obstáculo, se ilustra en la figura 8. El primer sensor en detectar una distancia menor o igual a 30 cm es S1. Esto provoca la desactivación del seguimiento de pared y la activación de la evasión de obstáculos. Puesto que la menor distancia es detectada por S1 (figura 8–a), entonces la señal PWM1 será la que se aplique al motor. Las distancias considerablemente mayores entregadas por los sensores S2 y S3 obedecen al fenómeno de reflexión especular.

 

A medida que el robot va cambiando de orientación respecto a la pared, la distancia entregada por S1 se irá incrementando y la entregada por S2 irá disminuyendo. Llegado el momento en el que la menor distancia sea aquella registrada por S2 (figura 8–b), se pasará de controlar el motor con la señal PWM1 a controlarlo con PWM2.

El cambio progresivo de orientación del robot provocará, en algún momento, que la menor distancia sea aquella registrada por S3 (figura 8–c), instante en el cual la señal de control conmutará de PWM2 a PWM3.

Finalmente, después de que el robot realiza el giro para evadir la pared frontal, las distancias medidas por los sensores S1, S2 y S3 serán mayores a 30 cm, desactivándose la evasión de obstáculos y activándose el seguimiento de pared.

Las variables lingüísticas se caracterizaron mediante los conjuntos difusos de la figura 9. Como en el caso del seguimiento de paredes, los conjuntos se definieron mediante funciones de pertenencia de tipo triangular y trapezoidal (ecuaciones 2 y 3).

 

La tabla FAM de la figura 10 sintetiza la base de reglas utilizada para cada uno de los controladores fuzzy de tipo Mamdani que implementan este comportamiento.

 

 

3. PRUEBAS Y RESULTADOS

La plataforma fue sometida a pruebas de navegación en entornos interiores de oficinas con presencia de obstáculos estáticos, como el que se muestra en la figura 11.

 

Inicialmente se probaron los encoders con el fin de establecer el grado de confiabilidad de la odometría. Las pruebas arrojaron una respuesta aceptablemente lineal como la que se presenta en la figura 12.

 

La rata de muestreo (Fs) de los encoders fue de 1 Hz, empleándose un tiempo promedio de 39 segundos en recorridos de 5m y dando como resultado una velocidad de desplazamiento del robot de 12.8 cm/s con un PWM del 50% aplicado al motor derecho.

El desplazamiento en línea recta se consiguió programando en el robot solo el comportamiento de seguimiento de pared derecha. Al inicio del recorrido el robot fue localizado al lado de una pared plana de más de 5m de longitud, libre de obstáculos y a la distancia de referencia de 50 cm. Para las pruebas llevadas a cabo, el controlador permitió obtener trayectorias rectilíneas bastante aceptables al regular la velocidad del motor izquierdo.

Durante la navegación de los entornos de prueba, el robot debió capturar y almacenar una ''instantánea'' del estado del entorno, activar el comportamiento correspondiente, generar y aplicar la acción de control al efector izquierdo y transmitir al PC la ''instantánea'' previamente almacenada, todo a una rata de muestreo de 1 Hz.

El software de mapeo, desarrollado en Matlab, permitió crear bases de datos con las ''instantáneas'' recibidas. En ellas se incluía información odométrica, distancias a obstáculos y paredes y ángulos de orientación. Con esta información se elaboró al final de cada recorrido, una gráfica de trayectoria y una representación básica del entorno En la figura 13 se puede apreciar la trayectoria y el mapa local obtenido después de una prueba de navegación de un entorno de 5.40x5.40 m como el presentado en la figura 11.

 

Se puede observar que el patrón descrito por la trayectoria del robot (en rojo), presenta un mayor grado de semejanza con el entorno que el mapa (en negro). Mientras que para el trazado de la trayectoria se emplearon datos de odometría, para la elaboración del mapa se emplearon ángulos de orientación y distancias proporcionadas por los sonares.

A la información sensorial disponible no se le aplicó ningún método de filtrado probabilístico para reducir la incertidumbre en la medida, motivo por el cual, en el caso de las medidas de rango proporcionadas por los sonares, se presenta un fenómeno de ''suavizado'' de esquinas por especularidad, la cual se acentúa cuando se da la conmutación de comportamientos. En el caso de las medidas proporcionadas por el compás digital, la incertidumbre se asocia a fuentes internas y externas de emisión electromagnética.

En la figura 14 se registran los cambios de orientación del robot con respecto al eje magnético terrestre para el recorrido llevado a cabo.

 

En la figura 15 se aprecia un registro de lecturas del sonar S4. Se evidencian dos reflexiones especulares significativas, producto del cambio de orientación del robot con respecto a paredes y obstáculos circundantes.

 

 

4. CONCLUSIONES Y TRABAJO FUTURO

La arquitectura de navegación propuesta, en la cual se incorporan dos comportamientos básicos junto con un esquema de coordinación jerárquico, permitió obtener una navegación segura para pequeños robots móviles en entornos interiores de trabajo.

La implementación de comportamientos empleando metodologías de inteligencia artificial (IA), específicamente la lógica borrosa, probó ser una aproximación efectiva a la solución del problema de la navegación local en robótica móvil.

Los controladores respondieron de manera eficaz a la reflexión especular asociada a los sensores de ultrasonido, la cual constituye una fuente importante de incertidumbre, dados los cambios permanentes de orientación del robot con relación a paredes y obstáculos presentes en el entorno.

Las representaciones de entornos y trayectorias fueron elaboradas con datos no procesados adicionalmente, por lo que el nivel de semejanza entre la representación y el entorno real no fue la mejor. Habiendo sido el objetivo general de este trabajo la síntesis de una arquitectura de control para la navegación confiable de pequeños robots móviles, el mejoramiento de tales representaciones se deja como parte del trabajo futuro.

La lógica borrosa permite controlar plantas y procesos sin tener que disponer de un modelo, ya que provee un framework para la formalización del conocimiento heurístico. Un proceso exhaustivo de experimentación con la plataforma robótica de prueba (''Carlitos''), permitió obtener el conocimiento intuitivo necesario para afrontar las fases de diseño y puesta a punto de los controladores fuzzy empleados.

Como trabajo futuro se considera la elaboración de un modelo matemático confiable para la implementación de controladores clásicos e inteligentes que permitan estudiar el desempeño de ambas alternativas en la navegación autónoma de pequeños robots móviles.

El método descrito en la sección 2.3.2 para la evasión de paredes frontales vistas como obstáculos, junto con el comportamiento de seguimiento de pared derecha, dan origen a lo que se conoce como un ''Comportamiento Emergente'', el cual solo surge a partir de la interacción de dos o más comportamientos básicos a través del entorno. Este comportamiento más complejo podría denominarse ''Navegación de Esquinas Cóncavas''.

 

5. REFERENCIAS BIBLIOGRÁFICAS

[1] K.–T. Song and J.–Y. Lin. Behavior fusion of robot navigation using a fuzzy neural network. In: Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, pp. 4910–4915, October 2006.

[2] D. Wang, Y. Zhang and W. Si. Behavior–based hierarchical fuzzy control for mobile robot navigation in dynamic environment. In: Proceedings of Chinese Control and Decision Conference, Mianyang, China, pp. 2419–2424, 2011.

[3] S. Desouky and H. Schwartz. Genetic based fuzzy logic controller for a wall–following mobile robot. In: Proceedings of American Control Conference (ACC '09), St. Louis, MO, USA, 10–12 June 2009; pp. 3555–3560.

[4] L. Ren, W. Wang and Z. Du. A new fuzzy intelligent obstacle avoidance control strategy for wheeled mobile robot. In: Proceedings of the 2012 IEEE International Conference on Mechatronics and Automation (ICMA), Chengdu, China, 2012.

[5] C. G. Rusu and I. T. Birou. Obstacle avoidance fuzzy system for mobile robot with IR sensors. In: Proceedings of the 10th International Conference on Development and Application Systems, Suceava, Romania, May 27–29, 2010.

[6] M. Faisal, K. Al–Mutib, R. Hedjar, H. Mathkour, M. Alsulaiman and E. Mattar. Multi modules fuzzy logic for mobile robots navigation and obstacle avoidance in unknown indoor dynamic environment. In: Proceedings of the 2013 International Conference on Systems, Control and Informatics, pp. 371–379, 2013.

[7] V.M. Rivas, J.J. Merelo, I. Rojas, G. Romero, P.A. Castillo and J. Carpio. Evolving twodimensional fuzzy systems. Fuzzy Sets and Systems, 138(2):381–398, 2001.

[8] E. O. Freire, T. F. Bastos–Filho, M. Sarcinelli– Filho and R. Carelli. A new mobile robot control approach via fusion of control signals. In: IEEE Transactions on Systems, Man, and Cyberneticspart b: Cybernetics, vol. 34, no. 1, February 2004.

[9] E. O. Freire, R. Carelli, V. Mut, C. Soria, T. F. Bastos–Filho and M. Sarcinelli–Filho. Mobile robot navigation based on the fusion of control signals from different controllers. In: Proc. 2001 Eur. Control Conf., Porto, Portugal, pp. 1828–1833, 2001.

[10] P. Althaus and H.I. Christensen. Behaviour coordination in structured environments. In: Advanced Robotics, 17(7):657–674, 2003.

[11] J. Rosenblatt, S. Williams, and H. Durrant– Whyte. A behavior–based architecture for autonomous underwater exploration. In: Information Sciences, 145(1–2): p. 69–87, 2002.

[12] Tan Chee Kwong, H.M. Amin Shamsudin, Mamat Rosbi, and K. Tar Jozsef. Using voting technique in mobile robot behavior coordination for goal–directed navigation. In: JurnalTeknologi, 36(D):55–70, 2002.

[13] C. Ye and D. Wang. A Novel Behavior Fusion Method for the Navigation of Mobile Robots. In: Proceedings of IEEE International Conference on Systems, Man, and Cybernetics, Nashville, TN, pp. 3526–3531, 2001.

[14] D. Nakhaeinia, S. H. Tang, S. B. Mohd Noor and O. Motlagh. A review of control architectures for autonomous navigation of mobile robots. In: International Journal of the Physical Sciences Vol. 6(2), pp. 169–174, 18 January, 2011.

[15] A. Kaur, A. Kaur. Comparison of Mamdani–type and Sugeno–type fuzzy inference systems for air conditioning system. In: International Journal of Soft Computing and Engineering–IJSCE.Vol. 2,No. 2, pp. 323–325, 2012.