SISTEMA SENSOMOTOR PARA UN AGENTE AUTÓNOMO MÓVIL Cristina Urdiales, Antonio Bandera y Francisco Sandoval Departamento de Tecnología Electrónica E.T.S.I. Telecomunicación, Universidad de Málaga, Campus de Teatinos, 29071 Málaga, España Abstract Este artículo presenta un estudio del sistema sensomotor de un agente móvil capaz de un comportamiento autónomo, así como una revisión de las técnicas más habituales para construir los tres bloques básicos que tradicionalmente lo componen: exploración, cálculo de trayectorias y localización. El primer punto contempla las técnicas necesarias para construir un modelo del entorno en función de los sensores que incorpora el robot. El segundo presenta las técnicas necesarias para calcular trayectorias de forma rápida y eficaz a partir del modelo mencionado. Por último, la localización contempla el problema de estimar la posición del agente en su entorno en ausencia de información odométrica. 1. INTRODUCCIÓN Si bien en un principio se entendía un robot como un agente guiado y, en la mayoría de los casos, estático, la robótica de la segunda mitad del siglo XX ha estado dominada por el concepto de la autonomía. Así, actualmente un agente se define como tal si es capaz de desenvolverse por sí mismo en entornos desconocidos y parcialmente cambiantes sin necesidad de supervisión. La capacidad de movimiento no teledirigido de un robot reside en su sistema sensomotor: mediante sus sensores, percibe su entorno y se traslada en consecuencia. La necesidad de movimiento autónomo en robótica se aprecia claramente en sistemas que desarrollan su operación en entornos remotos. Tanto si los agentes son supervisados como si no lo son, existen varios problemas que obligan a incluir cierto grado de autonomía en el sistema, tales como: i) pérdida del canal de comunicación de telecontrol; ii) flujo de datos insuficiente para supervisar el curso de acción del agente; iii) imposibilidad de mantener al sistema bajo supervisión contínua. Tradicionalmente, los pilares de un sistema sensomotor son tres: exploración, cálculo de trayectorias y localización. Mediante el primer sistema, el agente estudia su entorno para familiarizarse con él mediante sensores incorporados al agente, tal como se describe en el apartado 2. El segundo permite planificar y llevar a cabo desplazamientos en el entorno, siendo deseable que el robot pueda dirigirse de un punto a otro minimizando factores como espacio recorrido y dificultad del trayecto. La problemática y soluciones del cálculo de trayectorias se presentan en el apartado 3. Finalmente, es indispensable que el robot conozca con cierta precisión su posición en cualquier instante de tiempo en ausencia de supervisión. Las técnicas de localización más comunes se presentan en el apartado 4. Finalmente, el apartado 5 presenta algunas conclusiones. 2. SISTEMAS DE EXPLORACIÓN DEL ENTORNO Los sistemas de exploración del entorno se distinguen básicamente por el tipo de sensor utilizado por el agente. Los factores determinantes a la hora de optar por un tipo de sensor u otro son peso, consumo y coste. No obstante, a efectos de implementación, son también relevantes: el tiempo de adquisición de información, la sencillez de procesado de ésta y el volúmen de datos resultante. Los sensores de un robot aportan un conjunto de datos numéricos sin un sentido físico inmediato. En general, para almacenarlos, existen varias estructuras –que pueden entenderse como mapas- como superficies de nivel, grafos de visibilidad o regiones convexas [1], pero la técnica más habitual es el modelado en rejilla. Este sistema se basa en descomponer el universo en un conjunto de celdas cuyo valor indica si se encuentran o no ocupadas y sus principales ventajas son su versatilidad, la posibilidad de trabajar con obstáculos de formas complicadas, la analogía con un mapa ordinario y el que permite integrar de forma eficaz la lectura de varios sensores en el espacio y en el tiempo. Su mayor desventaja estriba en que si el número de celdas de la rejilla no es lo suficientemente elevado, la calidad de la representación no es buena, pero, en caso contrario, el volúmen de datos con que se trabaja crece enormemente. Independientemente del modelo de mapa utilizado, éstos se rellenan a partir de la lectura de sensores como cámaras de vídeo, láser, sonar e infrarrojos. Habitualmente se opta por utilizar un anillo de sensores sonar, dado que el vídeo requiere un equipo relativamente caro y pesado y genera un gran volúmen de datos que es costoso de procesar. Por su parte, el láser ofrece muy poca información en una sola lectura y los infrarrojos tienen un alcance muy limitado. El problema de utilizar sonar es la imprecisión de estos sensores, que hace no inmediata la interpretación de la información que proporcionan. El valor que devuelve un sensor sonar es la distancia hasta el obstáculo más próximo, que se calcula en función del tiempo que tarda en volver una onda sónica tras rebotar en dicho obstáculo. No obstante, aunque el obstáculo debería encontrarse en la misma dirección del sensor, debido a la imprecisión de éste, en realidad pueda encontrarse en cualquier punto de un arco de circunferencia a la distancia de detección. La solución suele ser modelar cada medida mediante una función matemática más o menos compleja [6] en función de los recursos del sistema. Para actualizar el mapa del entorno, estas medidas se integran mediante técnicas de fusión, paliando la incertidumbre de la medida de un sensor determinado por contraste con otras anteriores del mismo sensor o de otros. Las técnicas más habituales de fusión se basan en combinatoria o en lógica difusa [2], pero para que el coste computacional de las primeras sea tolerable es necesario hacer una serie de simplificaciones que empeoran considerablente los resultados. Las técnicas basadas en lógica difusa proporcionan mapas mucho más fiables, pero son computacionalmente complejas y, por tanto, más lentas. Una solución intermedia consiste en utilizar técnicas mixtas, que ofrecen una calidad y carga computacional intermedia [9]. La Fig. 1 presenta ejemplos de modelado de un entorno real mediante las tres técnicas, donde pueden apreciarse errores debidos no sólo a la incertidumbre del sonar, sino también a reflexiones y refracciones intrínsecas a la naturaleza de éste. Tal como se observa, si bien la tercera técnica no ofrece una resolución tan buena como la segunda, da buenos resultados, una complejidad menor y un volúmen de datos de salida más bajo. Fig. 1: Exploración con sonar sobre rejilla: a) entorno real; b) modelado combinatorio mediante la regla estadística de Bayes [2]; c) modelado por lógica difusa [2]; d) modelado mixto [9]. 3. CÁLCULO DE TRAYECTORIAS Cuando un agente se desplaza hacia un objetivo, es importante calcular previamente la trayectoria que debe seguir para minimizar la distancia que recorre, el tiempo que emplea en llegar y la dificultad del recorrido. Para calcular una trayectoria es necesario conocer tanto la posición actual del robot y su destino como la disposición del entorno en que desarrolla su trabajo. Es inmediato apreciar que los entornos reales suelen cambiar, no sólo porque se altere su disposición sino también porque aparecen obstáculos móviles –generalmente individuos-. Debido a ello, es importante que el cálculo de trayectorias sea lo más rápido posible para que el sistema pueda reaccionar a cambios inesperados. El cálculo de trayectorias sobre una representación cualquiera presenta el problema de que incluso si existe una solución, ésta no se encontrará salvo que la resolución, o número de celdas, de dicha representación sea suficiente, lo que incrementa enormemente la complejidad del problema. Para evitar que el tiempo de proceso se dispare y no sea tolerable para trabajo en tiempo real, cabe limitar el tamaño del entorno o bien asociar a cada nodo porciones más grandes de espacio de forma inteligente. El ser humano trabaja de hecho sobre representaciones de éste segundo tipo y en la bibliografía se presentan varias técnicas que permiten disminuir la resolución de forma inteligente [4][7]. Desafortunadamente, dependen fuertemente de la disposición de los obstáculos y de que el entorno sea lo bastante estático. Una solución novedosa consiste en utilizar estructuras de procesado multinivel (3D), que presentan versiones del mapa de trabajo a resoluciones progresivamente decrecientes. Los nodos correspondientes a una misma región en los distintos niveles de la estructura están relacionados por un conjunto de enlaces que, cuando se estabilizan de forma adaptativa, permiten obtener un grado óptimo de descomposición a bajas resoluciones [9]. Esta solución es consistente con la tendencia biológica de trabajar al mismo tiempo varios niveles de abstracción según las necesidades del problema. Además, se puede trabajar con mapas de resolución no uniforme en casos de que el entorno sea excesivamente grande. En cuanto a los algoritmos de cálculo de caminos en sí, es posible utilizar métodos heurísticos, que aunque no ofrecen soluciones óptimas, al trabajar únicamente con un conjunto reducido de nodos del total, ofrecen mayor velocidad [8]. La mayor desventaja de los algoritmos heurísticos es que su tiempo de trabajo es muy variable e impredecible cuando trabajan en entornos grandes. En tanto que el uso de estos algoritmos es compatible con el de las estructuras 3D previamente comentadas, una posibilidad es combinar ambas soluciones y trabajar en un nivel alto de la estructura, donde, al trabajar con un número de nodos pequeño, los tiempos de proceso presentan una varianza mucho menor. Fig. 2: Comparativa entre algoritmos de cálculo de caminos para un entorno de 512x512 celdas: a) mapa original; b) resultados de Dykstra; c) resultados del algoritmo A*; d) resultados de Dykstra con estructuras 3D; e) resultados de A* con estructuras 3D. A continuación se presentan varios resultados utilizando tanto un algoritmo de cálculo de caminos óptimo como uno heurístico, que, a pesar de no dar estrictamente la ruta más corta, ofrece tiempos de proceso mucho más bajos. Como algoritmo óptimo se ha escogido el de Dykstra y como heurístico el A*, ya que son los más representativos en sus respectivas categorías [10]. La Fig. 2 presenta varios ejemplos de cálculo de trayectorias sobre un entorno de 512x512 celdas. El algoritmo A* toma un 7.66% del tiempo de Dykstra, mientras que una combinación de Dykstra y estructura 3D toma un 13.27% de dicho tiempo. La combinación del A* algoritmo con la estructura 3D permite reducir ese tiempo a un 1%. De utilizar un mapa de resolución no homogénea, se consigue rebajar aún mas el tiempo de cómputo hasta el 0.1%. La desviación del óptimo –que viene dado por el Dykstra estándar- está alrededor de un 5% en todos los casos. 4. LOCALIZACIÓN EN INTERIORES Habitualmente, la localización en interiores de un robot móvil autónomo se basa en odometría, es decir, en la información que extrae de su propio movimiento. Sin embargo, es importante que el agente pueda estimar su posición en ausencia de ésta porque en ocasiones el robot puede perder su referencia debido a deslizamiento, fallos de alimentación, caidas u otros accidentes. Este proceso debe ser autónomo porque en determinados casos, como exploración de entornos nuevos y desconocidos, no será posible indicarle al robot donde se encuentra de forma externa. Para solucionar este problema suelen utilizarse una serie de marcas cuya posición absoluta conoce el robot y que le permiten estimar su posición una vez son localizadas por éste. A este respecto, existen técnicas activas [5] y pasivas [3]. Las primeras consisten en disponer marcas capaces de transmitir su posición al robot, de forma que cuando éste recibe información de dos, puede localizarse por triangulación. Si bien éstas técnicas son más rápidas y precisas, tienen la desventaja de que dependen de factores externos al propio agente y por tanto están fuertemente asociadas a un entorno determinado. Además, en ocasiones no se podrá acceder a los entornos de trabajo para situar las marcas activas. Las técnicas pasivas consisten en que el robot determina por sí mismo rasgos relevantes del entorno aprovechando sus sensores y las características naturales de éste. Estas técnicas presentan mayor incertidumbre y la necesidad de definir y almacenar una serie de marcas durante cada ciclo de trabajo para reconocer un lugar cualquiera en ausencia de información odométrica. En general, suele usarse información de tipo visual, pero ésta es lenta y difícil de procesar, por lo que el tiempo de adquisición de la marca es demasiado grande. En otros casos se generan marcas mediante sensores sonar o infrarrojos [3], pero dada la incertidumbre que presentan, sólo pueden definirse en algunas posiciones cuya estructura es representativa. Una solución a este problema es generar un tipo especial de marca [10] cada vez que se toma una medida en torno al robot, lo que requiere que puedan adquirirse en cualquier posición (Ver Anexo). Si bien así se genera una gran cantidad de marcas, su pequeño tamaño facilita su almacenamiento y, posteriormente, el entorno puede segmentarse en regiones que presentan valores de marca similares para manipularlo de forma más sencilla. Los sistemas basados en marcas presentan el problema de que en ocasiones varias posiciones distintas presentan una marca similar o igual. En estos casos, suele desplazarse el robot hasta una nueva posición para acumular información sobre su posición previa. Cuando sólo hay un lugar donde el robot puede encontrarse, concluye el proceso. Fig. 3: Ejemplo de localización en 3 pasos: a) mapa del entorno y posiciones 1 a 4 del robot; regiones donde éste estima que puede encontrarse en: b) posición 1; c) posición 2; d) posición 3; e) posición 4. La Fig. 3 muestra un ejemplo de localización con marcas, cuando éstas se pueden definir en cualquier posición del entorno. Inicialmente, el robot se encuentra en la posición 1 (Fig. 3.a) y la Fig. 3.b muestra las tres regiones donde estima que podría encontrarse de acuerdo a la marca adquirida en dicha posición. En tanto que hay varias opciones, el robot debe desplazarse y acumular probabilidad hasta que sólo haya un lugar donde pueda estar, así que se mueve a la posición 2. En función de la marca actual, el desplazamiento llevado a cabo y las posibles regiones donde se encontraba anteriormente, ahora cree que puede encontrarse en cualquiera de las regiones de la Fig. 3.c. El proceso continúa de forma similar hasta que en el paso 4, sólo hay una región donde puede hallarse (Fig. 3.e), que es donde efectivamente se encuentra. 5. CONCLUSIONES En este artículo se han presentado las técnicas más habituales a la hora de implementar los tres bloques básicos de un sistema sensomotor que permiten que un agente móvil pueda desenvolverse de forma autónoma: exploración, búsqueda de caminos y localización. En todos los casos, se tiende a utilizar sensores tipo sonar para la interacción con el medio, dada su disponibilidad, bajo coste y peso y rapidez de proceso. Los factores críticos a la hora de diseñar el sistema son la carga computacional de los distintos procesos y las necesidades de almacenamiento. No hay que perder de vista el hecho de que el sistema sensomotor no es más que una parte de la arquitectura global del agente y que, por tanto, debe convivir con otros módulos cuyas necesidades sean más críticas, como por ejemplo, el sistema de visión. Agradecimientos Este trabajo ha sido parcialmente financiado por la Comisión Interministerial de Ciencia y Tecnología (CICYT), proyecto No. TIC098-0562. REFERENCIAS [1] Ahrikencheikh, C. y Seireg, A. Optimized-motion planning, John Wiley & Sons, New York, 1994. [2] Gambino, F., Oriolo, G. y Ulivi, G., "A comparison of three uncertainty calculus techniques for ultrasonic map building", en Bruno Bosacchi and James C. Bezdek (Eds.), Applications of Fuzzy Logic Technology III, SPIE (2761), pp. 249-260, 1996. [3] Holenstein, A., Müller, A. y Badreddin, E., "Mobile robot localization in a structured environment cluttered with obstacles", Proc. of the IEEE International Conference on Robotics and Automation (ICRA'92), 3, pp. 2576-2581, Nice-Francia, 1992. [4] Kavraki, L., Kolountzakis, M. y Latombe, J., "Analysis of probabilistic roadmaps for path planning", IEEE Transactions on Robotics and Automation, 1(14), pp. 166-171, 1998. [5] Kleeman, L., "Optimal estimation of position and heading for mobile robots using ultrasonic beacons and dead-reckoning", Proc. of the IEEE International Conference on Robotics and Automation (ICRA'92), 3, pp. 2582-2587, Nice-Francia, 1992. [6] Oriolo, G., Vendittelli, M. y Ulivi, G., "On-line map building y navigation for autonomous mobile robots", Proc. of the IEEE Int. Conf. on Robotics and Automation (ICRA'95), 3, pp. 2900-2906, Nagoya-Japón, 1995. [7] Samet, H., "An overview of quadtrees, octrees and related hierarchical data structures", NATO ASI series, F40, pp. 51-68, 1985. [8] Stentz, A. y Hebert, M., "A complete navigation system for goal adquisition in unknown environments", Autonomous Robots, 2(2), pp. 55-73, 1995. [9] Urdiales, C., Bandera, A., Arrebola, F. y Sandoval, F., "Multi-level path planning algorithm for autonomous robots", Electronic Letters, 2 (34) pp. 223-224, 1998. [10] Urdiales, C., Bandera, A., Ron, R. y Sandoval F., "Real time position estimation for mobile robots by means of sonar sensors", Proc. of the IEEE International Conference of Robotics and Automation (ICRA'99), 2, pp. 1650-1655, Detroit-EEUU, 1999. ANEXO: CÁLCULO DE UNA MARCA A PARTIR DE UN ANILLO SONAR Este anexo presenta una técnica para calcular una marca a partir de un anillo de sensores sonar en cualquier posición de un entorno interior. A partir de las lecturas de los sensores (Fig. 4.a) es posible construir un mapa de profundidad sonar como el que se muestra en la Fig. 4.b, que no es más que una función discreta que indica la distancia al obstáculo más cercano en función de la dirección del sensor. Puede observarse que la transformada rápida de Fourier (FFT) de dicho mapa (Fig. 4.c) presenta un gran número de ceros en su región media y también se ha probado [10] que los componentes no nulos presentan dependencias lineales. Considerando el dominio de Fourier como un espacio vectorial N-dimensional, donde N es el número de puntos de la FFT, puede comprobarse que las FFT de los mapas de profundidad constituyen un subespacio de dimensión 2. Proyectando los mapas sobre una base de dicho subespacio se consigue una marca representativa con el menor tamaño posible (Fig. 2d). Fig. 4: Obtención de una marca a partir de un anillo de sensores sonar: a) lectura del anillo; b) mapa de profundidad; c) FFT del mapa de profundidad; d) marca. Las principales ventajas de este método son que las marcas pueden definirse en cualquier posición del entorno, que funciona de forma rápida y eficiente y que el pequeño tamaño de la marca permite su almacenamiento en forma masiva para una mejor caracterización del entorno.