SISTEMA SENSOMOTOR PARA UN AGENTE AUTÓNOMO MÓVIL

Anuncio
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.
Descargar