Vous êtes sur la page 1sur 106

APRENDIZAJE POR REFUERZO EN ROBOTS

AUTONOMOS PARA EL PROBLEMA DE SEGUIMIENTO


DE OBJETIVOS MOVILES Y SU APLICACION EN
FORMACIONES

Tesista
Diego Ariel Bendersky

Director
Juan Miguel Santos

DEPARTAMENTO DE COMPUTACION
FACULTAD DE CIENCIAS EXACTAS Y NATURALES
UNIVERSIDAD DE BUENOS AIRES
Indice general

Indice de tablas IV

Indice de figuras V

Resumen IX

1. Introducción 1

2. La tarea de seguimiento en robots autónomos móviles 7


2.1. Tareas relacionadas con seguimiento . . . . . . . . . . . . . . . . . . . 9
2.2. Mejoramiento de la performance de Aprendizaje por Refuerzo para
problemas de robots autónomos . . . . . . . . . . . . . . . . . . . . . 10

3. Problemas en la sı́ntesis de seguimiento y solución propuesta 16


3.1. Definición de la tarea . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2. Sı́ntesis del comportamiento . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1. Análisis de los métodos más utilizados . . . . . . . . . . . . . 21
3.2.2. Dificultades para la aplicación de Aprendizaje por Refuerzo . 23
3.3. Descripción de la Solución Propuesta . . . . . . . . . . . . . . . . . . 31
3.3.1. División de la tarea . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.2. Configuración del entorno de aprendizaje . . . . . . . . . . . . 32
3.3.3. Representación del espacio de situaciones/acciones . . . . . . . 35
3.3.4. Ejecución del comportamiento . . . . . . . . . . . . . . . . . . 36

ii
3.4. Análisis de la solución propuesta . . . . . . . . . . . . . . . . . . . . . 38
3.4.1. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.2. Caracterı́sticas del comportamiento obtenido . . . . . . . . . . 43

4. Resultados experimentales 50
4.1. Equipamiento utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2. Aprendizaje de los subcomportamientos . . . . . . . . . . . . . . . . 54
4.2.1. Consideraciones generales . . . . . . . . . . . . . . . . . . . . 54
4.2.2. Comportamiento mantener-distancia . . . . . . . . . . . . . . 56
4.2.3. Comportamiento mantener-ángulo . . . . . . . . . . . . . . . . 64
4.3. Experimentos de seguimiento . . . . . . . . . . . . . . . . . . . . . . 67

5. Uso de seguimiento en formaciones de robots 76


5.1. Definición de formaciones . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2.1. Formaciones en fila . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2.2. Formaciones en diagonal . . . . . . . . . . . . . . . . . . . . . 81

6. Conclusiones y trabajo futuro 87

Referencias 91

iii
Indice de tablas

3.1. Variables de estado del sistema para el problema de seguimiento. . . . 18


3.2. Configuración de un problema de Aprendizaje por Refuerzo. . . . . . 24

4.1. Variación de los parámetros η durante el aprendizaje de mantener-


distancia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2. Distribución de los valores de los sensores frontales para distintas tra-
yectorias del objetivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.1. Distribución de los valores del sensor frontal en cada robot para for-
maciones en fila. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2. Distribución de los valores del sensor lateral en cada robot para for-
maciones en diagonal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

iv
Indice de figuras

3.1. Variables de estado del sistema para el problema de seguimiento. . . . 17


3.2. Area de sensado de un sensor infrarrojo. El color indica el valor que
devuelve el sensor, de negro (valor máximo) a blanco (valor nulo). . . 19
3.3. Posibles acciones del robot. . . . . . . . . . . . . . . . . . . . . . . . 20
3.4. Tres estados para los cuales el valor instantáneo de los sensores es el
mismo y la acción que el robot deberı́a ejecutar es diferente. . . . . . 27
3.5. Tres estados para los cuales el valor instantáneo de los sensores y la
diferencia entre dos mediciones son iguales, pero la acción que el robot
deberı́a ejecutar es diferente. . . . . . . . . . . . . . . . . . . . . . . . 27
3.6. Estados objetivo para el problema de seguimiento. . . . . . . . . . . . 30
3.7. Entornos de aprendizaje para a)mantener-ángulo y b) mantener-distancia. 33
3.8. Representación de las funciones de refuerzo para el aprendizaje de
mantener-distancia y mantener-ángulo. . . . . . . . . . . . . . . . . . 34
3.9. Algoritmo QRBF. Obtención de la acción óptima asociada a una si-
tuación (pseoducódigo). . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.10. Algoritmo QRBF. Actualización de la red a partir de la ejecución de
una acción y del refuerzo obtenido (pseudocódigo). . . . . . . . . . . 37
3.11. Algoritmo de control para la ejecución del comportamiento de segui-
miento (pseudocódigo). . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.12. Situaciones que cumplen con cada subtarea, respecto del total de si-
tuaciones. a) mantener-distancia, b) mantener-ángulo y c) seguimiento. 44

v
3.13. Simulación de la diferencia de distancia entre el robot y el objetivo,
para movimientos rectilı́neos a distintas velocidades. El eje y indica la
distancia entre el robot y el objetivo, y el eje x representa el tiempo. . 46
3.14. Simulación de la distancia entre el robot y el objetivo, para un obje-
tivo que se acerca al robot en lı́nea recta. Trayectoria del robot para
distintos valores del parámetro t. El eje y representa la distancia entre
el robot y el objetivo, considerando la posición inicial del robot como
el origen de coordenadas. El eje x representa el tiempo. . . . . . . . . 46
3.15. Trayectoria seguida por el robot para un objetivo que se aleja con
trayectoria rectilı́nea, orientado a diferentes ángulos del robot. Ambos
ejes del gráfico representan el plano, y cada punto indica la posición
del robot en un instante de tiempo. . . . . . . . . . . . . . . . . . . . 47

4.1. Fotos del robot Khepera. . . . . . . . . . . . . . . . . . . . . . . . . . 52


4.2. Esquema de los sensores y actuadores del robot Khepera. . . . . . . . 53
4.3. Nivel de activación de los sensores de Khepera ante un mismo objeto
alineado a diferentes ángulos respecto del frente del robot. . . . . . . 53
4.4. Evolución de la medida de utilidad durante el aprendizaje de mantener
distancia. El eje x representa el número de iteración, y el eje y el valor
de la función de utilidad para la polı́tica aprendida hasta el momento. 59
4.5. Resultado del aprendizaje de mantener-distancia. El eje x representa
la distancia al objetivo y el eje y la acción indicada por la polı́tica óptima. 60
4.6. Resultado del aprendizaje de mantener-distancia. El eje x representa
la distancia al objetivo, y el eje y el valor de los sensores frontales luego
de ejecutar la acción indicada por la polı́tica. . . . . . . . . . . . . . . 61
4.7. Acción ejecutada por el robot durante el experimento de mantener-
distancia con el objetivo en movimiento. . . . . . . . . . . . . . . . . 62
4.8. Valor de los sensores delanteros durante el experimento de mantener-
distancia con el objetivo en movimiento. . . . . . . . . . . . . . . . . 63

vi
4.9. Evolución de la medida de utilidad durante el aprendizaje de mantener-
ángulo. El eje x representa el número de iteración y el eje y el valor de
la función de utilidad para la polı́tica aprendida hasta el momento. . 65
4.10. Resultados del aprendizaje de mantener-ángulo. El eje x representa
el ángulo entre el frente del robot y el objetivo, y el eje y la acción
indicada por la polı́tica óptima. . . . . . . . . . . . . . . . . . . . . . 65
4.11. Resultados del aprendizaje de mantener-ángulo. Los ejes x e y repre-
sentan el ángulo entre el frente del robot y el objetivo, antes y después
de ejecutar la acción indicada por la polı́tica aprendida, respectivamente. 66
4.12. Resultados de mantener-ángulo traducido a velocidades angulares. Cam-
bios de velocidad para objetivos con distintos ángulos iniciales. . . . . 68
4.13. Trayectoria de cı́rculos amplios. a) Valor de los sensores frontales del
robot perseguidor. b) Angulo de cada robot respecto del origen de
coordenadas. c) Distancia recorrida por la rueda derecha de ambos
robots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.14. Trayectoria de cı́rculos cerrados. a) Valor de los sensores frontales del
robot perseguidor. b) Angulo de ambos robots respecto del origen de
coordenadas. c) Distancia recorrida por la rueda derecha de ambos
robots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.15. Trayectoria rectangular. a) Valor de los sensores frontales del robot
perseguidor. b) Angulo de ambos robots respecto del origen de coor-
denadas. c) Distancia recorrida por la rueda derecha de ambos robots. 73
4.16. Trayectoria aleatoria. a) Valor de los sensores frontales. b) ángulo de
ambos robots respecto del origen de coordenadas. c) contador de la
rueda derecha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.1. Configuraciones geométricas más utilizadas para formaciones de ro-


bots. De izquierda a derecha: fila, columna, diagonal y triángulo. . . . 78
5.2. Formación en columna. a) Trayectoria de cı́rculos amplios y b) Trayec-
toria en zigzag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

vii
5.3. Comportamiento de seguimiento en diagonal. El robot logra alcanzar la
posición óptima ubicado inicialmente con el objetivo del lado opuesto
al deseado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.4. Formaciones en diagonal. Los robots parten de una formación en fila
y alcanzar una formación en diagonal mientras avanzan hacia delante
siguiento al lı́der. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.5. Formaciones en diagonal. El lı́der realiza un giro de 90◦ en el lugar y
los demás robots logran mantener la formación. . . . . . . . . . . . . 86

viii
Resumen

La tarea de seguimiento de objetivos móviles (target following) consiste en detec-


tar un objeto que se mueve con una trayectoria desconocida y mantener acotada la
distancia al mismo a lo largo del tiempo. En este trabajo estudiamos este problema
en el contexto de robots autónomos con sensado local. La complejidad de la tarea
depende en gran medida de la capacidad de sensado del robot: en nuestro caso, tra-
bajamos con robots dotados únicamente de sensores infrarrojos de muy corto alcance,
lo que hace que el problema sea difı́cil de resolver. Analizamos tres técnicas para la
sı́ntesis de comportamientos y vimos que todas son difı́ciles de aplicar a la tarea de
seguimiento con estas restricciones en el sensado: el grado de error de los sensores es
muy grande y depende de variables externas, no es sencillo generar un modelo del
sistema a partir de los valores de los sensores, el espacio de situaciones y acciones es
demasiado grande y su exploración se ve dificultada por el reducido alcance de los
sensores y, por último, la cantidad de acciones buenas asociadas a cada situación es
muy baja.
Para solucionar este problema, presentamos un método de sı́ntesis de compor-
tamientos que nos permite aplicar técnicas de aprendizaje por refuerzo y obtener
comportamientos en tiempos de aprendizaje muy cortos. Este método está basado
en: 1) la división de la tarea de seguimiento a partir de la transformación del espacio
de acciones, 2) el aprendizaje de las subtareas con el objetivo detenido, 3) la ejecución
simultánea de las acciones de ambos subcomportamientos a partir de su combinación
en una única acción y 4) la superposición de los ciclos de control. Utilizamos también
un método de clustering basado en redes neuronales artificiales para la representación

ix
del espacio de situaciones, acciones y utilidad (valores q), preservando el amplio rango
de valores posibles de los distintos espacios.
Los comportamientos de seguimiento generados fueron aplicados con éxito en
un grupo de robots para el desarrollo de formaciones de distintas configuraciones
geométricas (en columna y en diagonal). Las mismas fueron obtenidas en forma
emergente, sin comunicación entre los robots, sin control centralizado y sin senso-
res externos. Para lograr formaciones con distintas configuraciones geométricas, se
modificó únicamente la función de refuerzo, sin alterar el método de aprendizaje. Es-
to último nos permite verificar la generalidad del método presentado y la posibilidad
de utilizarlo en otras tareas relacionadas con la navegación.

The target-following behavior implies the detection of a mobile target and the main-
tenance of a bounded distance from it over time. In this work, we study this problem
in the context of autonomous robots with local sensing. The difficulty to synthesize
such a behavior depends on the sensing capabilities of the robot. In our case, we have
used robots that have proximity sensors with a limited detection range. This fact turns
the synthesis problem into a hard one compared to those cases where the robot has in-
formation about the absolute location of the target or about the relative location of the
target but without range limit. We analyze three behavior synthesis techniques and we
found that all of them are difficult to apply in this problem: the sensors are imprecise
and its data varies with external variables, it is difficult to build a model of the system
from the sensors data, the situation/action space is big and hard to explore, and the
number of good actions associated with each state is low.

x
To solve this problem, we propose a behavior synthesis method based on Reinfor-
cement Learning that allows us to obtain the required behavior in short time lapses.
The method consists in 1) a task decomposition technique based on an action space
transformation, 2) the learning of the subtasks in limited environments, with the tar-
get stopped, 3) the concurrent execution of the subtasks and the combination of their
actions, and 4) the overlapping of the control loops. We also use a clustering tech-
nique, based on Artificial Neural Networks for the representation of the situations,
actions and q-values.
The resulting behaviors were successfully applied to a group of robots to build for-
mations with different shapes. The formations were obtained without inter-robot com-
munication, centralized control or global sensors. In order to achieve formations with
shapes other than column, we changed the reinforcement function only, leaving the
learning method unmodified. This last experiment gives us a feedback over the gene-
rality of this method and the possibility to use it in the synthesis of other navigational
behaviors.

xi
Capı́tulo 1

Introducción

La tarea de seguimiento de objetivos móviles (target following) consiste en detec-


tar un objeto que se mueve con una trayectoria desconocida y mantener acotada la
distancia al mismo a lo largo del tiempo. La importancia de esta tarea en el contexto
de robots autónomos radica en que los comportamientos que resuelven ésta tarea u
otras similares son utilizados para la construcción de soluciones a problemas colecti-
vos y cooperativos, como por ejemplo formaciones, observación de múltiples objetivos,
recolección y manipulación de objetos.
La dificultad para obtener comportamientos de seguimiento depende en gran me-
dida de la capacidad de sensado del robot. Si se cuenta con sensores globales (GPS,
radares, cámaras fijas) o con equipamiento de comunicación entre el robot y el ob-
jetivo la resolución de este problema se ve facilitada, ya que si la posición del robot
y del objetivo pueden estimarse con precisión, entonces el problema puede resolverse
a partir de un modelo fı́sico del sistema y la formulación de la trayectoria óptima
para el robot. Los robots que utilizan este tipo de equipamiento, si bien pueden ser
autónomos desde el punto de vista del control, no lo son respecto de los sensores,
porque para su funcionamiento dependen de equipos externos, que no controlan. Mu-
chas veces no es posible utilizar este tipo de sensores, ya sea porque requieren de una
infraestructura previa (el GPS, que no puede usarse por ahora en otros planetas),
una adaptación del entorno (las cámaras de video, que deben ser colocadas antes de

1
2

ejecutar las tareas) o un acuerdo previo entre los robots (la comunicación por radio,
para la cuál los robots deben acordar los parámetros). Otras veces, el uso de estos
sensores no es conveniente: para un grupo de robots, el uso de estos equipos hace que
el sistema global sea menos robusto, ya que una falla en el sensor o en el medio de
comunicación afecta a todos los robots. Los comportamientos basados exclusivamente
en información de sensores propios se denominan de sensado local. Estos son en gene-
ral más robustos (los problemas en un sensor afectan solamente al robot propietario
del sensor), más escalables (no requieren cambios en el entorno si se agregan nuevos
robots), y permiten el uso de robots heterogéneos, que interactúen entre sı́ únicamente
a través del entorno, o incluso robots enemigos o con objetivos contradictorios.
En este trabajo estudiaremos el problema de seguimiento en el contexto de robots
autónomos con sensado local, para robots miniatura dotados de sensores infrarrojos.
Estos sensores son difı́ciles de utilizar en un número importante de tareas, en parti-
cular en la tarea de seguimiento. La dificultad más importante radica en su reducido
alcance: el seguimiento debe ser muy preciso y ágil, porque de lo contrario una mala
acción del robot o un movimiento brusco del objetivo harı́an que éste sea perdido de
vista por el robot. La precisión requerida se ve dificultada por el alto error y la varia-
bilidad que en general tienen estos sensores. Si bien el valor que devuelven depende de
la distancia a la cuál se detectó el objeto, la función valor → distancia varı́a en forma
considerable con una gran cantidad de variables externas: color y material del objeto,
orientación del sensor respecto del piso, color y material del piso y caracterı́sticas de
la luz ambiente: nivel de luminosidad y tipo de fuente de luz (natural, tubos fluores-
centes o lámpara). Esta función es distinta también para cada sensor, aún de la misma
marca y modelo, y varı́a a lo largo de su vida útil. A pesar de estos inconvenientes,
los sensores infrarrojos tienen también ventajas: no requieren mucha energı́a para su
funcionamiento ni gran capacidad de cómputo, y funcionan en condiciones externas
muy variadas, aún en ambientes en los cuales otros sensores no pueden ser utilizados
(por ejemplo, en ambientes pobremente iluminadas).
Para este problema, y con las limitaciones de sensado mencionadas, el método
3

de aprendizaje por refuerzo (RL) tiene ventajas sobre otros métodos de sı́ntesis de
comportamientos, como la descripción algorı́tmica del comportamiento y los métodos
de aprendizaje supervisado. Al no conocer la relación entre los valores de los sensores
y las variables fı́sicas (como distancia y ángulo), resulta difı́cil definir el comporta-
miento por medio de un algoritmo escrito a mano. Por otro lado, el gran tamaño del
espacio de situaciones y acciones, y el alto nivel de precisión y de reacción que re-
quiere el comportamiento, dificultan el manejo manual del robot mientras se ejecuta
un algoritmo de aprendizaje supervisado. Los algoritmos RL permiten, en cambio,
obtener comportamientos sin necesidad de conocer la polı́tica óptima ni la dinámica
del sistema, y sin tener que generar un modelo del mismo.
Sin embargo, cuando se intenta utilizar algoritmos RL en robots autónomos, se
presentan varias dificultades. Entre las más importantes figuran el gran tamaño del
espacio de situaciones y de acciones, el tiempo que demora cada experimento que limi-
ta la cantidad de iteraciones del aprendizaje, y algunas caracterı́sticas propias de los
robots reales: las situaciones son imprecisas e incompletas, los refuerzos intermitentes
y las acciones falibles. Además, los métodos RL fueron pensados para procesos discre-
tos, y en el caso de los robots reales las acciones no son instantáneas ni las mediciones
de los sensores simultáneas. Además de estos problemas, en el caso de seguimiento
se agregan otros: la dificultad para explorar el espacio de situaciones/acciones man-
teniendo al objetivo dentro del área de sensado y la reducida cantidad de acciones
buenas en cada situación, que se traduce en una baja proporción de refuerzos positivos
durante el aprendizaje.
Para superar las limitaciones de las técnicas de RL en el problema de seguimiento,
presentamos en este trabajo un método basado en 1) la división de la tarea de segui-
miento en otras más sencillas, a partir de la transformación del espacio de acciones,
2) el aprendizaje de versiones simplificadas de las mismas en entornos reducidos, 3)
la utilización de un algoritmo de clustering para representar el espacio de situacio-
nes/acciones/utilidades y 4) la superposición de los ciclos de control. Este método
permite obtener los comportamientos en tiempos de aprendizaje muy acotados.
4

Las acciones del robot, originalmente expresadas con una velocidad independiente
para cada rueda, son representadas con una componente de velocidad lineal y una
de velocidad angular. Basándonos en esta nueva representación de las acciones, una
forma natural de dividir la tarea de seguimiento consiste en definir una tarea indepen-
diente para cada una de las componentes. Ası́, a partir de la componente velocidad
angular, desarrollamos una tarea que consiste en mantener el frente del robot alinea-
do con el objetivo (tarea mantener-ángulo) mediante rotaciones en el lugar. A partir
de la velocidad lineal, la tarea que queda definida consiste en mantener la distancia
entre el robot y el objetivo dentro de un rango predefinido (tarea mantener-distancia)
con movimientos en dirección adelante/atrás. Para obtener un comportamiento que
solucione la tarea de seguimiento, ambos subcomportamientos son ejecutados en for-
ma simultánea y sus acciones (las velocidades angular y lineal) son combinadas y
transformadas nuevamente en velocidades independientes para las ruedas izquierda y
derecha.
A partir de las nuevas definiciones de tareas, los comportamientos son más simples
y tienen un espacio de acciones mucho menor, continuo y más fácil de generalizar y
de representar. Además, las nuevas tareas son más fáciles de cumplir, lo que permite
aprenderlas en un tiempo mucho menor.
Para solucionar las dificultades en el aprendizaje producto del reducido alcance
de los sensores, las subtareas son aprendidas en entornos estáticos, es decir, con el
objetivo detenido. Con esta configuración del entorno, es posible mantener al objetivo
dentro del área de sensado del robot durante todo el proceso de aprendizaje, que era
uno de los problemas principales de aplicar RL en forma directa. Además, es posible
reducir el tamaño del espacio de situaciones, ya que se requiere menor cantidad de
información para poder deducir el estado actual (por ejemplo, no es necesario incluir
información que nos permita estimar la velocidad del objetivo).
Sin embargo, un comportamiento aprendido con el objetivo detenido no es ne-
cesariamente el mejor si se lo utiliza con un objetivo móvil. Durante la ejecución,
el resultado de las acciones será distinto que el obtenido durante el aprendizaje, y
5

muchas de las acciones no serán las adecuadas. Para aliviar este problema, nuestra
propuesta consiste en superponer las acciones, iniciando el nuevo ciclo de control (sen-
sado, seleccion de la acción, ejecución) antes de que terminen de ejecutarse la acción
anterior. Ası́, una acción inadecuada es inmediatamente corregida por el siguiente
ciclo, logrando que sólo sea ejecutada en una pequeña parte. Las acciones correctas,
en cambio, son ratificadas por el siguiente ciclo, ejecutándose en forma continua hasta
que cambien las condiciones del entorno.
Una vez obtenidos los comportamientos de seguimiento, nuestro siguiente propósi-
to es utilizar los mismos para resolver, en forma emergente, tareas grupales. En este
marco, nos proponemos estudiar las formaciones de robots. Esta tarea consiste en
lograr que un grupo de robots alcancen una determinada configuración espacial y la
mantengan mientras se traslada de un lugar a otro. Para lograr este objetivo, pre-
sentamos modificaciones a la definición de la tarea de seguimiento que nos permite
generar, sin alterar el método de aprendizaje presentado en este trabajo, formaciones
de diversas configuraciones geométricas, en particular fila y diagonal. La utilización
del método de aprendizaje para resolver variantes de la tarea de seguimiento nos
permiten comprobar que el mismo puede ser aplicado en otros problemas similares.

El resto del trabajo está organizado de la siguiente manera: el capı́tulo 2 presenta


una introducción al tema de robots autónomos, al aprendizaje por refuerzo aplicado
a problemas de robots reales y contiene además un repaso por distintas implemen-
taciones de problemas similares al de seguimiento. El capı́tulo 3 muestra en detalle
los problemas que presenta el uso de RL en esta aplicación en particular y brinda
una descripción de la solución presentada. También se analiza aquı́ de qué manera
se solucionan cada uno de los problemas de RL y se señalan algunas caracterı́sti-
cas y propiedades de los comportamientos obtenidos con el método propuesto. En el
capı́tulo 4 se presentan los resultados experimentales para la tarea de seguimiento,
implementada con robots reales siguiendo diferentes trayectorias. El capı́tulo 5 brinda
una introducción a los sistemas multi-robot y a la tarea de formaciones y describe
6

la aplicación de los comportamientos de seguimiento en esta tarea, mostrando los re-


sultados experimentales obtenidos en formaciones en fila y en diagonal. Finalmente,
presentamos en el capı́tulo 6 las conclusiones de este trabajo y las posibles lı́neas de
investigación que permitirı́an continuar este trabajo en el futuro.
Capı́tulo 2

La tarea de seguimiento en robots


autónomos móviles

Los robots autónomos son máquinas inteligentes que interactúan con su entorno
para alcanzar objetivos especı́ficos, sin ningún tipo de intervención humana [4]. Los
campos de aplicación más importantes incluyen tareas de reconocimiento, rescate y
vigilancia, limpieza, traslado y manipulación de objetos [31]. El principal potencial
para la utilización de robots autónomos en estas áreas radica en que los robots pueden
realizar su trabajo en entornos hostiles al hombre: rescate de personas en catástrofes
(ambientes radiactivos, incendios, etc.), búsqueda de minerales bajo tierra y explora-
ción de otros planetas. Desde el punto de vista de la psicologı́a y la biologı́a, el campo
de los robots autónomos brinda un marco ideal para estudiar aspectos relacionados
con la inteligencia, el comportamiento humano y animal, y el proceso de aprendizaje.
Desde el punto de vista computacional y de teorı́a de control, los robots autónomos
plantean problemas interesantes, muchos de los cuáles surgen del hecho de que la
interacción con el mundo real es más compleja que cualquier simulación: la cantidad
de variables en juego es muy grande, todos los sensores existentes e imaginables (aún
nuestros propios sentidos) son imprecisos, parciales y muchas veces contradictorios,
los actuadores (el equipamiento que nos permite modificar nuestro entorno, como

7
8

nuestros brazos y piernas) fallan o no responden como quisiéramos. Para que un ro-
bot alcance su objetivo todas estas caracterı́sticas deben estar contempladas en los
algoritmos de control que lo comandan, exigiendo muchas veces soluciones distintas
a las utilizadas para problemas de computación tradicionales.
Muchos autores comenzaron hace unos años a estudiar comportamientos en gru-
pos de robots, y a pensar de qué forma los robots pueden colaborar entre sı́ para
resolver una única tarea. Los grupos de robots permiten no sólo escalar en tamaño
las aplicaciones, sino que brindan soluciones más eficientes, económicas, robustas y
versátiles a los mismos problemas [43].
Actualmente, el campo de los sistemas multi-robot presenta una intensa activi-
dad en el estudio y desarrollo de comportamientos sociales [25], en las arquitecturas
de control distribuido [33] y en el desarrollo de técnicas de aprendizaje cooperativas
[35]. Parker [34] presenta un estado del arte en el área de robots autónomos móviles
distribuidos, identificando ocho áreas de estudio: inspiración en la biologı́a, comunica-
ción, arquitecturas, localización y exploración, transporte y manipulación de objetos,
coordinación percepto-motriz, robots reconfigurables y aprendizaje.

En este trabajo estudiaremos la tarea de seguimiento de un objetivo móvil (target-


following) [8] en el contexto de robots autónomos dotados de sensores infrarrojos.
Mataric [27] incluye esta tarea (junto con otras como dispersarse, evitar obstáculos
y alcanzar una posición) en su identificación de comportamientos elementales (basis
behaviors) utilizables para la construcción de comportamientos cooperativos. Algunos
problemas colectivos relacionados con el problema de seguimiento son: formaciones
(robot formations) [5] [13], desplazamiento de cajas (box pushing) [33] y observación
de múltiples objetivos (CMOMMT, Cooperative Multi-robot Observation of Multiple
Mobile Targets) [35] [32].
9

2.1. Tareas relacionadas con seguimiento


En la mayor parte de los trabajos que presentan tareas colectivas relacionadas con
el problema de seguimiento, se utiliza sensado global (por ejemplo GPS o sensores
externos) o bien sensado distribuido y comunicación entre los robots (por ejemplo
odometrı́a y red inalámbrica).
En el trabajo de Balch y Arkin sobre formaciones de robots [5], la tarea de se-
guimiento es aplicable a una de las estrategias utilizadas, denominada referencia por
el vecino (neighbor-referenced), en la cuál cada robot debe seguir a su vecino más
cercano manteniendo ciertas propiedades espaciales en relación a éste. Se presen-
tan dos implementaciones: en la primera cada robot mide por odometrı́a su propia
posición absoluta y la transmite a los robots que lo están siguiendo por una red de co-
municación inalámbrica. En esta implementación cada robot utiliza una arquitectura
motor-schema [3] para calcular su trayectoria en función de su propia posición y la del
vecino. En la segunda implementación cada robot obtiene su propia posición y la de
todos los demás con un sistema de posicionamiento global (GPS diferencial) y utiliza
la arquitectura de arbitraje DAMN [36] para controlar su velocidad y orientación.
Otra aplicación de robots cooperativos vinculada a la tarea de seguimiento es la
denominada multi-target observation. Aquı́, dado un grupo de robots y un grupo de
objetos móviles, el objetivo de los robots es mantener la mayor cantidad de objetos
dentro del área de sensado de alguno de ellos la mayor cantidad de tiempo posi-
ble. Parker [32] presenta una solución a este problema basada en la arquitectura de
comportamientos distribuidos ALLIANCE [33]. Aquı́, cada robot obtiene su propia
posición absoluta por medio de un sensor de tipo GPS y la posición relativa de los ob-
jetos cercanos a partir de sensores locales (cámara o sonar). Luego, cada robot realiza
predicciones sobre la velocidad y trayectoria de los objetos cercanos y transmite esta
información a los robots vecinos. De esta manera, cada robot cuenta con información
detallada sobre una gran cantidad de objetos.
Los trabajos mencionados hasta aquı́ utilizan en algún momento sensado no local.
Fredslund y Mataric [13] proponen en cambio el uso de sensado local para formaciones
10

de robots de diferentes formas y tamaños. En su trabajo, cada robot debe realizar la


tarea de seguimiento, intentando mantener fijos la distancia y el ángulo que lo separa
de otro robot, denominado su amigo. Cada robot tiene un sensor de ángulo/distancia
formado por un transmisor/receptor láser y una cámara color, ambos ubicados en una
pieza mecánica capaz de girar sobre un eje vertical (panning). Por medio de la cámara,
el robot calcula el ángulo respecto del robot amigo, luego el sensor gira, centrando
la imagen de la cámara y apuntando el láser, y finalmente éste mide la distancia.
La entrada para el algoritmo de control está formada por los valores de distancia y
ángulo. Las acciones son generadas en base a un cálculo analı́tico de la trayectoria
óptima a partir de estos valores.

En comparación con los sensores IR, las cámaras de video requieren mucha mayor
capacidad de procesamiento para analizar las imágenes, y son además muy sensibles
a la luz ambiente. Los sensores láser, al ser direccionales, deben estar apuntando al
objeto en forma precisa para poder funcionar, y además son mucho más grandes y
costosos. En cuanto a los sensores de ultrasonido, sus caracterı́sticas son similares a
los infrarrojos, pero no pueden utilizarse para distancias cortas por el efecto de eco
que producen.

2.2. Mejoramiento de la performance de Aprendi-


zaje por Refuerzo para problemas de robots
autónomos
Muchas técnicas diferentes han sido propuestas para eliminar los inconvenientes
asociados con el uso de RL en tareas de robots reales. Touzet [40] divide estas técnicas
en tres grandes grupos: 1) mejoramiento de la exploración, 2) reducción del espacio
de situaciones/acciones y 3) simplificación de la tarea. Además, propone una cuarta
categorı́a, en la que incluye aquellas técnicas que no influyen en el aprendizaje sino
en la ejecución del comportamiento (a-posteriori bias).
11

Exploración del espacio de situaciones/acciones

La técnica denominada counter-based exploration, propuesta por Thrun [38], con-


siste en asociar un contador con cada posible situación y dirigir la exploración hacia
las situaciones que tengan sus contador en valores más bajos, es decir, hacia las si-
tuaciones menos visitadas. Esto produce una exploración más uniforme de todo el
espacio. Zhang y Canu [44] proponen dirigir la exploración con una medida de incer-
tidumbre basada en la entropı́a de cada situación: las situaciones con entropı́a alta (y
que serán más exploradas) son aquellas en las que todas las acciones tienen valores
q similares. Millán [11] agrega durante el aprendizaje un conjunto de reflejos, que
evitan que el robot ingrese a regiones del espacio de búsqueda que se consideran poco
importantes. El método D-UPA (dynamic update parameters algorithm), desarrollado
por Santos [37], propone definir las funciones de refuerzo a partir de parámetros que
se ajustan dinámicamente durante el aprendizaje para mantener estable la cantidad
de refuerzos positivos obtenidos por el robot, logrando un refinamiento sucesivo del
comportamiento. Este método presenta además una solución elegante al denominado
dilema exploración/explotación, que plantea un interrogante acerca de cómo relacio-
nar la exploración con la ejecución efectiva de la polı́tica durante el aprendizaje de
las polı́ticas.

Respecto de la reducción del espacio de estados, dos de las estrategias más impor-
tantes son la descomposición de tareas y el uso de técnicas de clustering.

División de tareas

La estrategia de dividir un problema complejo en otros más simples es muy utili-


zada tanto en el contexto de RL como en la sı́ntesis de comportamientos para robots
autónomos. Para una enumeración y comparación actualizada de los métodos más
comunes, remitimos al lector al trabajo realizado por Karlsson [20]. Mencionaremos
aquı́ los métodos más populares y los más relacionados con nuestra propuesta.

En la arquitectura de subsumición [10] (subsumption architecture), desarrollada


12

por Brooks, los comportamientos son estructurados en capas, compuestas por módu-
los que funcionan en forma asincrónica y que se implementan mediante máquinas de
estado finito. Estos suelen emplear algún tipo de información simbólica como entrada
y salida, o para representar sus estados internos. Los módulos de una determinada
capa pueden influir en los de las capas inferiores a través de enlaces denominados sub-
sumption links, que permiten suprimir sus salidas. De esta manera se logra, en forma
distribuida, un mecanismo de coordinación entre las distintas partes del sistema.
La arquitectura de motor schemas, desarrollada por Ronald Arkin [3], es altamente
reactiva y está ligada con el comportamiento animal. Aquı́ también el comportamiento
original es descompuesto en otros más simples, pero en este caso todos los subcom-
portamientos cooperan entre sı́ constantemente para lograr un objetivo común. Por
este motivo no hay ningún algoritmo de coordinación ni selección, sino que la acción
que el robot ejecuta es el resultado de la combinación de las acciones individuales
de todos los subcomportamientos. La salida de cada componente es un campo de
potencias (potential fields) [21], en la que cada situación tiene asociado un vector de
fuerza que indica el movimiento que debe realizar el robot. Esos vectores usualmente
se generan considerando a los estados objetivo como atractores y a los obstáculos
como repulsores.
Mataric [27] propone un método que recorre el camino inverso: mediante la com-
binación de una serie de comportamientos básicos (basis behaviors), se generan, en
forma emergente, comportamientos de más alto nivel. El desafı́o consiste aquı́ en des-
cubrir los comportamientos básicos y analizar la forma de combinarlos. En el trabajo
citado se propone utilizar sumas pesadas para combinar tareas complementarias que
involucran desplazamientos, y el ordenamiento y la ejecución secuencial en el caso de
comportamientos contradictorios. Mataric lleva esta misma estrategia al área de com-
portamientos cooperativos. En [25] desarrolla un árbitro que, mediante la activación
de la tarea adecuada en cada momento, produce comportamientos sociales en forma
emergente. Este árbitro funciona de manera autónoma en cada robot, y es desarro-
llado por medio de técnicas de aprendizaje por refuerzo. En cambio, Jung y Zelinsky
13

[17] proponen una arquitectura en la cuál para cada comportamiento se define un


conjunto de precondiciones que indican en qué circunstancias el comportamiento se
encuentra listo para ser ejecutado. Un algoritmo de selección elige cuál ejecutar de
entre todos los comportamientos listos, en función de la importancia de cada uno y
de la interacción y dependencias entre ellos. El sistema puede aprender con la ex-
periencia cuáles son las relaciones entre las tareas y ajustar la importancia de cada
una.

Para nuestro problema de seguimiento con sensado local basado en sensores in-
frarrojos, ninguna de estas arquitecturas puede utilizarse en forma sencilla para sim-
plificar la tarea. No parece fácil dividir la tarea en capas, o definir subtareas desde un
punto de vista funcional, como en el modelo de subsumición. Respecto del modelo de
comportamientos elementales, la tarea de seguimiento es considerada por sı́ misma
una tarea elemental. Aún de ser posible la división no queda claro cómo implementar
un algoritmo de selección. Lo mismo ocurre con la arquitectura de motor schema: el
seguimiento define de por sı́ un único campo de potencias que difı́cilmente pueda ser
dividido.

Técnicas de clustering

Las técnicas de clustering son utilizadas para obtener una representación compacta
del espacio de búsqueda que permita además generalizar el conocimiento asociado con
situaciones o acciones particulares. Las redes neuronales artificiales son herramientas
muy poderosas para esto, debido a sus propiedades emergentes de memorización,
agrupamiento y generalización [16].
Lin introduce una serie de algoritmos RL que utilizan redes basadas en perceptro-
nes multicapa con aprendizaje supervisado para la representación de las situaciones
[24]. Cada acción posible tiene asociada una red, donde la entrada es la situación y la
salida el valor q asociado con la acción. La salida deseada es 1 para la red de la acción
que produjo un refuerzo positivo y 0 para todas las demás. Touzet [39] expande este
14

esquema con un algoritmo que permite representar el espacio completo de situacio-


nes/acciones con una única red, permitiendo la generalización sobre las acciones. En
ese mismo trabajo presenta también una solución basada en Redes de Kohonen [22].
Aquı́, la misma red representa, en forma uniforme, el espacio de situaciones, acciones
y valores q. Las redes de Kohonen tienen la ventaja de que los clusters preservan
las relaciones espaciales de las situaciones que representan, una caracterı́stica desea-
ble para la representación de espacios continuos. La red es utilizada como memoria
asociativa, ya que se selecciona el cluster ganador a partir de tuplas parciales (por
ejemplo situación/valor de utilidad para obtener la mejor acción, y situación/acción
para obtener la utilidad). En la implementación de Touzet, la forma de la grilla de
neuronas es rectangular, y de tamaño fijo.
Otras técnicas de clustering utilizadas para representar los espacios de búsqueda
en problemas de RL son las redes CMAC (cerebellar model articulation) [1] y RBF
(radial basis functions) [29]. Estas dos técnicas permiten, en forma no supervisada,
obtener representaciones de espacios continuos. Kretchmar y Anderson presentan una
comparación de ambas técnicas para el problema clásico de RL car on the hill [23].
Dada la dificultad de calcular de antemano la arquitectura de la red o los paráme-
tros del algoritmo de clustering, algunos autores han implementado técnicas basadas
en redes neuronales que modifican su arquitectura (cantidad de neuronas, conexio-
nes, etc.) durante el aprendizaje. Anderson presenta una técnica basada en RBF en la
cuál las neuronas menos útiles son reinicializadas si se cumplen ciertas condiciones [2].
Matuk y Santos [28] presentan un método que además de adaptar el tamaño de la red
en función del espacio a cubrir, soluciona el problema denominado clustering aliasing.
Este problema se produce cuando el algoritmo asocia en un mismo cluster situaciones
que requerirı́an acciones distintas, o pares situación/acción con diferentes valores de
refuerzo. El método está basado en un modelo de mapas topológicos desarrollado por
Fritzke [14] en el cuál la cantidad de neuronas no es fija, sino que crece según las
entradas recibidas (los pares situación/acción visitados). Las neuronas que presentan
un nivel alto de clustering aliasing son divididas, mejorando la representación del
15

espacio de búsqueda y la performance de los comportamientos.


Capı́tulo 3

Problemas en la sı́ntesis de
seguimiento y solución propuesta

3.1. Definición de la tarea


En esta sección, daremos una descripción del sistema, y describiremos las carac-
terı́sticas de los robots y de su interacción con el entorno. También daremos una
definición formal de la tarea de seguimiento.

Descripción del sistema

El sistema que estudiaremos en este trabajo está formado por un área de dos
dimensiones y dos robots: el robot objetivo (o simplemente objetivo) y el robot perse-
guidor. Ambos robots son de cuerpo circular y pueden ser descriptos, en cada momen-
to, por su posición en el plano, su orientación y su velocidad vectorial instantánea. El
estado de todo nuestro sistema puede entonces determinarse unı́vocamente a partir
de estas variables (ver tabla 3.1 y figura 3.1). Alternativamente, la posición del ro-
bot objetivo puede describirse como diferencia respecto del robot perseguidor. En el
entorno no hay ningún otro objeto (el entorno es libre de obstáculos).

16
17

Alternativa 1 Alternativa 2



     
   




 

            
 



pp , po : posición
αp , αo : orientación
θ: diferencia de orientación
λ: distancia

Figura 3.1: Variables de estado del sistema para el problema de seguimiento.


18

Alternativa 1
po , pp posición en el plano de los robot objetivo y perseguidor
(p = (x, y) ∈ <2 )
αo , αp orientación de los robots respecto del plano horizontal
(−π ≤ α ≤ π)
vo , vp velocidad instantánea de los robots
(v = (ρ, φ), ρ ≥ 0, −π ≤ φ ≤ π)

Alternativa 2
pp posición en el plano del robot perseguidor
αp orientación del robot perseguidor
λ distancia entre los dos robots
(λ ≥ 0)
φ ángulo entre el frente del robot perseguidor y el objetivo
(−π ≤ φ ≤ π)
vo , vp velocidad instantánea de los dos robots

Tabla 3.1: Variables de estado del sistema para el problema de seguimiento.

Definición de seguimiento

A partir de esta descripción del estado del sistema, definiremos formalmente la


tarea de seguimiento mediante el siguiente predicado:

seguir(t) ⇔ d − ²d ≤ λ(t) ≤ d + ²d ∧ −²φ ≤ φ(t) ≤ ²φ . (3.1)

Dicho en palabras, el robot perseguidor está siguiendo al objetivo en el instante t


si la distancia que los separa es similar a una cierta distancia d, y el robot perseguidor
se encuentra apuntando al objetivo. Asimismo, el robot perseguidor cumple con la
tarea de seguimiento en un intervalo de tiempo t0 ..t1 si:

seguir(t0 ..t1 ) ⇔ seguir(ti ) ∀ti , t0 ≤ ti ≤ t1 . (3.2)


19

   

Figura 3.2: Area de sensado de un sensor infrarrojo. El color indica el valor que
devuelve el sensor, de negro (valor máximo) a blanco (valor nulo).

Interacción del robot con el entorno

Los robots obtienen la información del entorno a partir de sensores infrarrojos,


que permiten detectar la presencia de un objeto que se encuentra dentro de su área de
sensado. Dicha área tiene forma cónica y la distancia máxima de sensado es obtenida
con el objeto y el sensor alineados. Cada sensor devuelve un número entero, en función
de la posición del objeto dentro del área de sensado, que es cero si no se detectó la
presencia de ningún objeto y máximo si la distancia entre el objeto y el robot es
menor que un determinado umbral. La figura 3.2 muestra un esquema del área de
sensado de un sensor.
El robot puede medir en un instante dado el valor de todos sus sensores. La
información obtenida puede representarse por un vector

s = (s0 , s1 , ..., sn ), 0 ≤ si ≤ smax , (3.3)

donde n es la cantidad de sensores, y smax el máximo valor devuelto por los


mismos.
20

  

   
      

Figura 3.3: Posibles acciones del robot.

En cuanto a los actuadores (el equipamiento que les permite modificar el estado
del sistema) los robots cuentan con dos ruedas. Las acciones que éstas ejecutan se
pueden definir de dos maneras: mediante una velocidad y un sentido de movimiento
para cada rueda, o mediante la distancia que debe recorrer cada una. De esta manera,
los movimientos que pueden ejecutarse son: avanzar y retroceder, girar en el lugar y
describir arcos (ver figura 3.3).
Las acciones expresadas con velocidades son asignadas a las ruedas en forma di-
recta y ejecutadas de manera continua hasta que se le indique una nueva acción. En
cambio, para las acciones expresadas como distancias, el robot define un movimiento
suave, a partir de la modificación incremental de las velocidades, y detiene el robot
en forma completa al concluir la acción. En principio, no es posible asignar una nueva
acción hasta tanto no concluya la acción anterior. Tenemos entonces que:

a = (vizq , vder ), −vmax ≤ vizq , vder ≤ vmax ,


(3.4)
a0 = (dizq , dder ), −dmax ≤ dizq , dder ≤ dmax ,
donde vmax es la velocidad máxima, y dmax la distancia máxima de movimiento
21

de cada rueda.

3.2. Sı́ntesis del comportamiento

3.2.1. Análisis de los métodos más utilizados


El aprendizaje por refuerzo parte de una idea atractiva: lograr que el robot apren-
da un comportamiento interactuando con su entorno, ayudado por una función de
refuerzo, que le otorga premios y castigos en función de las acciones que éste ejecuta.
De esta manera la información que se le brinda al robot es mı́nima, permitiendo que
el robot descubra por sı́ mismo el mejor comportamiento, sin verse influenciado por
prejuicios del diseñador respecto de cómo resolver el problema. Además, suele ser
mucho más fácil definir una tarea con una función de refuerzo que mediante la espe-
cificación de la polı́tica óptima. Por ejemplo, evitar obstáculos puede describirse en
forma intuitiva con una función que penalice las colisiones, pero es muy difı́cil saber
de antemano cuál es la mejor acción en cada situación (por ejemplo: ¿Es conveniente
girar de inmediato o es preferible avanzar un poco más y girar más tarde? Si hay un
obstáculo adelante, ¿es mejor girar a la derecha o a la izquierda?).
En el problema de seguimiento es posible calcular analı́ticamente una polı́tica que
produzca una trayectoria óptima a partir de las variables de estado del sistema y de
acciones expresadas en términos de esas mismas variables. Sin embargo, el problema
está dado por la dificultad de traducir las situaciones y acciones del robot en variables
de estado.
Veremos ahora un detalle de los inconvenientes que surgen al intentar utilizar otros
métodos de sı́ntesis de comportamientos. Estos problemas justifican la utilización de
RL.

Comportamientos codificados a mano

Para que el robot pueda ejecutar una polı́tica, esta debe estar expresada en función
de la situación observable por el robot y de las acciones que éste puede ejecutar. Por
22

lo tanto, si contamos con una polı́tica calculada a partir de las variables de estado,
es necesario estimar el estado del sistema a partir de las situaciones detectadas por
el robot, y convertir luego las acciones del modelo en acciones ejecutables por éste.
Esto es:

s → e,
e → ae , (3.5)
ae → a.
donde s es la situación (en el espacio de situaciones del robot), e el estado del
sistema, ae una acción expresada a partir de las variables de estado, y a una acción
expresada en el espacio de acciones del robot.
Para un conjunto de sensores infrarrojos, las funciones que transforman la situa-
ción observada en un estado del sistema no pueden deducirse analı́ticamente, son
distintas según el robot que se utilice, dependen de la luminosidad (y, por lo tanto,
de la hora del dı́a en la que se realiza el experimento) y del color y del material que
recubre los robots, entre otros factores. Estas funciones de transformación deberı́an
ser calculadas por medio de alguna técnica de aproximación, como por ejemplo mı́ni-
mos cuadrados o redes neuronales artificiales con aprendizaje supervisado [9]. Para
un muestreo del espacio de situaciones, cada situación deberı́a ser asociada con la
distancia y ángulo que representa, calculando estos valores manualmente o por medio
de un sensor externo. Este proceso deberı́a repetirse para cada robot y cada sensor.
Pero debido al alto grado de error de los sensores infrarrojos (y a su alta variabili-
dad), las variables de estado obtenidas de esta manera (especialmente aquellas que se
deducen de varias mediciones de los sensores, como por ejemplo el vector de velocidad
del objetivo) tendrı́an un error demasiado alto, incompatible con el cálculo de una
trayectoria precisa.
La función que transforma acciones del modelo en acciones del robot, también
tienen error, distinto en cada robot y para cada velocidad y tipo de movimiento. Este
error se debe fundamentalmente a la discretización de las velocidades y al rozamien-
to de la superficie y depende en gran medida del código de control de velocidades
23

del robot, y de la función y parámetros empleados para el cambio de velocidades


(aceleración y frenado).

Aprendizaje supervisado

Para utilizar técnicas de aprendizaje supervisado es necesario conocer la polı́tica


óptima, al menos para un conjunto de estados. Serı́a el caso de una persona capaz
de manejar al robot perseguidor mediante un joystick u otro dispositivo de control
a distancia, de manera de lograr que persiga al objetivo para distintas trayectorias
y velocidades. Aprender a controlar un robot de estas caracterı́sticas y lograr que
ejecute una polı́tica del tipo de seguimiento es una tarea manual difı́cil, que requiere
mucho entrenamiento.
Otro problema que acompaña el aprendizaje supervisado es el de la selección
de los conjuntos de entrenamiento y prueba. Para que el aprendizaje tenga éxito,
estos deben representar adecuadamente el espacio de estados y no queda claro, en
principio, cómo hacer esto en el problema de seguimiento (qué trayectorias usar para
el entrenamiento y con qué velocidades, cómo hacer que el objetivo sea detectado en
todas las direcciones posibles, etc.).

3.2.2. Dificultades para la aplicación de Aprendizaje por Re-


fuerzo
El algoritmo Q-Learning

Antes de analizar nuestro problema, vamos a repasar brevemente los aspectos


básicos del algoritmo Q-Learning [42] que es el método de aprendizaje por refuerzo
que usaremos y el más empleado actualmente en problemas de robots reales.
Para la utilización de los algoritmos RL en general, un problema debe ser definido
en función de un espacio de situaciones, un espacio de acciones y una función de
refuerzo (ver tabla 3.2). La dinámica del sistema está dada por una función de tran-
sición T, que indica la situación que se obtiene al ejecutar una determinada acción
24

Configuración del problema: (S,A,r,T)


Polı́tica: π : S → A donde,
S Conjunto de situaciones.
S = {s}, s = (s0 , s1 , ..., sn )
A Conjunto de acciones.
A = {a}, a = (a0 , a1 , ..., an )
r Función de refuerzo.
r : SxAxS → R
T Función de transición (puede ser desconocida)
Estocástica.
P : S × A × S → [0.,1]
Determinı́stica.
T :S×A→S

Tabla 3.2: Configuración de un problema de Aprendizaje por Refuerzo.

en una situación dada. Esta función T puede ser probabilı́stica si el problema es no


determinı́stico o si la definición de la situación es incompleta (esto es, si no contiene
toda la información necesaria para determinar unı́vocamente el resultado de una ac-
ción). A diferencia de otros algoritmos RL, para la utilización de Q-Learning no se
requiere conocer la función T, ya que la dinámica del sistema se descubre durante el
aprendizaje junto con la polı́tica óptima. Este es uno de los principales motivos de su
uso tan difundido para problemas de robots reales. Un comportamiento o polı́tica es
una función o mapping de situaciones en acciones, que indica la acción que se debe
ejecutar en cada situación.
Sea (s0 , s1 , s2 , ...) la secuencia de situaciones obtenida por la ejecución de una
polı́tica a partir de la situación inicial s0 (si = T (si−1 , π(si−1 ))). La siguiente función
expresa la utilidad de la polı́tica π para el estado s0 :


X
V (π, s0 ) = γ i r(si , π(si ), si+1 ), (3.6)
i=0

donde 0 < γ < 1 se denomina factor de descuento e indica cuánto afectan los
refuerzos futuros en la utilidad del estado actual. La polı́tica óptima π ∗ es aquella que
25

maximiza la suma de la función V sobre el espacio de situaciones:

X
π ∗ = máx V (π, s). (3.7)
π
s∈S

El objetivo del aprendizaje es encontrar la polı́tica óptima. Para ello, el algoritmo


Q-Learning mantiene una estimación de los valores de utilidad de la mejor polı́tica
obtenida hasta el momento en todos los estados. A medida que experimenta nuevas
situaciones y acciones, estos valores son ajustados y, de ser necesario, la polı́tica
óptima es modificada.
Cabe destacar que una polı́tica es una función de la situación actual y, por lo tanto,
no se consideran situaciones pasadas para la selección de la acción. Sin embargo, las
situaciones pueden contener, de ser necesario, información del pasado. Los procesos
en los cuales la probabilidad de transición es función exclusiva de la situación actual
se denominan Procesos de Decisión de Markov (MDP).
Si la definición de la situación no distingue entre estados que requieren acciones
diferentes se produce un efecto denominado perceptual aliasing [28], que degrada la
performance de los comportamientos. El motivo de este efecto está relacionado muchas
veces con limitaciones en los equipos de sensado, pero también puede resultar de una
definición incompleta de la situación.

Como ya mencionamos en la introducción, el uso de RL para problemas de robots


autónomos presenta varios desafı́os. Analizaremos en detalle los más relevantes para el
problema de seguimiento y cómo influye cada uno en la sı́ntesis del comportamiento.

Gran tamaño del espacio de situaciones y de acciones

El tiempo necesario para el aprendizaje en los algoritmos RL está relacionado con


el tamaño de los espacios de situaciones y acciones [19].
En el problema de seguimiento de objetivos móviles, para evitar el efecto de percep-
tual aliasing, la situación debe contener la medición actual de los sensores, mediciones
anteriores (para calcular la velocidad del objetivo a partir de las diferencias en los
26

sensores del robot en dos instantes de tiempo) y las velocidades de las ruedas del robot
perseguidor. Si eliminamos cualquiera de estos elementos, una situación no permitirı́a
definir unı́vocamente la mejor acción. Supongamos, por ejemplo, que tomáramos sólo
la medición actual de los sensores. Entonces, todos aquellos estados en los cuales los
robots se encuentran a la misma distancia serı́an indistinguibles, y se les asignarı́a
una misma acción. En la figura 3.4 vemos tres estados distintos en los cuales los ro-
bots están a la misma distancia del objetivo, pero se ve claramente que la acción que
debe tomar el perseguidor es distinta en cada caso: deberı́a avanzar, quedarse quieto
o retroceder respectivamente. Si, en cambio, considerásemos como situación las medi-
ciones actuales y anteriores de los sensores, pero sin considerar las velocidades de las
ruedas del robot perseguidor, igualmente nos verı́amos imposibilitados de estimar la
velocidad del objetivo a partir de la diferencia de los sensores: en la figura 3.5 se ven
dos estados distintos (que requerirı́an acciones distintas) en los cuales la diferencia
entre dos mediciones de los sensores es la misma.
El espacio de situaciones que deberı́amos utilizar es entonces el siguiente:

S = (s(t), s(t − 1), vizq , vder ), (3.8)

donde s = (s0 , s1 , ..., sn ), 0 ≤ si ≤ smax y −vmax ≤ vizq , vder ≤ vmax . El tamaño


total del espacio de situaciones es entonces:

|S| = |s| × |s| × 2 vmax × 2 vmax = 4 smax 2n × vmax 2 . (3.9)

Suponiendo valores bajos para n, vmax y smax de 5, 5 y 10 respectivamente (nues-


tros robots manejas valores de 8, 127 y 1024 respectivamente), esto representa un
tamaño de 4 × 1010 × 52 = 1012 . A pesar de que no todas son situaciones posibles en
nuestro entorno (por ejemplo las situaciones que tienen valores distintos de cero en
los sensores de la izquierda y de la derecha simultáneamente nunca pueden ocurrir)
y muchas situaciones son prácticamente iguales entre sı́, este espacio es demasiado
grande, y hace que el problema sea imposible de resolver por RL sin aplicar algún
tipo de reducción del espacio.
27

          
            

  
          

        

      

Figura 3.4: Tres estados para los cuales el valor instantáneo de los sensores es el mismo
y la acción que el robot deberı́a ejecutar es diferente.
         
           

  
          

        

      

Figura 3.5: Tres estados para los cuales el valor instantáneo de los sensores y la
diferencia entre dos mediciones son iguales, pero la acción que el robot deberı́a ejecutar
es diferente.
28

Con respecto a las acciones, para obtener libertad de movimiento y lograr trayec-
torias suaves vamos a considerar en principio acciones formadas por una velocidad
independiente en cada rueda:

A = (vizq , rder ), (3.10)

donde vizq y vder indican las velocidades para la rueda izquierda y derecha respec-
tivamente (−vmax ≤ vizq , vder ≤ vmax ). Si consideramos sólo 10 velocidades distintas
para las ruedas (5 hacia delante y 5 hacia atrás) la cantidad de acciones posibles as-
ciende a 100. Este número es demasiado grande, si tenemos en cuenta que el tamaño
del espacio de búsqueda crece exponencialmente con de la cantidad de acciones [40].
Además, a diferencia del espacio de situaciones, las acciones posibles no dependen
de la configuración del entorno ni de la exploración, sino que, en principio, todas las
acciones deberı́an ser probadas en cada situación.

Dificultad para mantener al objetivo dentro del área de sensado

Para que un comportamiento sea aprendido correctamente mediante algoritmos


RL, es necesario estimar la utilidad de un conjunto importante de pares situación/acción.
En el algoritmo Q-Learning, esto se logra mediante el proceso de exploración, que con-
siste en ejecutar acciones aleatorias o sub-óptimas. Pero debido al reducido alcance
de los sensores infrarrojos y al movimiento del objetivo, la mayorı́a de estas acciones
hacen que el objetivo se aleje más allá del área de sensado del robot y sea perdido
de vista por éste, lo que provoca la interrupción del proceso de aprendizaje hasta
tanto el objetivo vuelva a ser detectado por el robot perseguidor. El aprendizaje re-
sulta entonces muy difı́cil, los tiempos de los experimentos aumentan y el proceso de
exploración se ve drásticamente limitado.
Pero además, hay estados (en particular aquellos en los que el objetivo se encuentra
demasiado cerca del robot) que tienen muy baja probabilidad de ser alcanzados con
acciones aleatorias. Estos estados serán poco explorados durante el aprendizaje y,
por lo tanto, el comportamiento no podrá ser aprendido correctamente para esas
29

situaciones.

El problema de los refuerzos

En las técnicas RL, un comportamiento se define implı́citamente a partir de la


función de refuerzo. Con una función de refuerzo inadecuada, el comportamiento
que aprenderá el robot no resolverá la tarea deseada. Muchos autores estudiaron
el problema de la función de refuerzo y elaboraron técnicas para su construcción,
formalización y verificación [37], [9], [26].
Idealmente, la función de refuerzo debe ser una definición intuitiva y de alto nivel
de la tarea, asociada con los resultados y no con una solución especı́fica al problema.
El caso extremo de este razonamiento es el de los juegos: en éstos suele asignarse un
refuerzo positivo cuando el agente gana y uno negativo cuando pierde, asociando a
todas las demás jugadas un refuerzo neutro. En la tarea de seguimiento, la defini-
ción de la tarea y del entorno nos lleva a asignar refuerzo positivo en todas aquellas
situaciones asociadas con estados en los cuales el robot cumple con el predicado de
seguimiento. Los refuerzos neutros y negativos podrı́an asignarse dependiendo de la
distancia de la situación actual a dicha región del espacio de estados. Una posible
forma de expresar esta función es:


 1 si (i∗ = if ) ∧ (|sf − 0,5| < σ1 )





 0 si (i∗ = if − 1) ∨ (i∗ = if + 1)
rf (s0 ..sn ) = (3.11)

 ∨[((i∗ = if ) ∧ (|sf − 0,5| ≥ σ1 )]





 −1 en caso contrario

donde s0 ..sn son los valores de los sensores en un instante dado (0 ≤ si ≤ 1),
σ1 es un parámetro de la función de refuerzo (0 ≤ σ1 ≤ 1), if es el ı́ndice del
sensor ubicado en el frente del robot y i∗ es el ı́ndice del sensor con el valor máximo
(i∗ = arg máx0≤i≤n {si }). Esto indica que el refuerzo positivo es obtenido cuando
el objetivo está alineado y a una distancia cercana al valor de medición medio, nulo
cuando el ángulo entre el objetivo y el robot es pequeño o bien cuando están alineados
30

              
  
         


          

Figura 3.6: Estados objetivo para el problema de seguimiento.

pero no a la distancia correcta, y negativo en cualquier otro caso. La figura 3.6 muestra
una representación gráfica de esta función.
Para que el aprendizaje sea exitoso, el robot debe recibir una proporción balancea-
da de refuerzos positivos, negativos y neutros durante el aprendizaje, y en particular
durante la exploración del espacio de estados [37]. El problema con la función de
refuerzo que dimos es que, como se puede ver en la figura, la cantidad de situaciones
que se asocian con un refuerzo positivo es demasiado baja respecto del total de situa-
ciones. Esto hace que el robot obtenga muy pocos refuerzos positivos, lo cuál dificulta
el aprendizaje y aumenta los tiempos de los experimentos. Pero además de ser muy
escasos, muchos de estos refuerzos serán demorados, es decir, serán obtenidos luego
de ejecutar una secuencia de acciones. Esto no es un problema en sı́ mismo, ya que las
técnicas de aprendizaje por refuerzo fueron pensadas para tratar problemas con estas
caracterı́sticas. Sin embargo, esta caracterı́stica dificulta el aprendizaje y aumenta los
tiempos de los experimentos [26].
31

3.3. Descripción de la Solución Propuesta


A partir del análisis de los problemas descriptos, presentamos en este trabajo una
reformulación del problema y un método de aprendizaje que nos permite sintetizar,
con tiempos de aprendizaje cortos, comportamientos de seguimiento eficaces. Nuestra
propuesta está basada en la división del comportamiento, el aprendizaje en entornos
reducidos y en una técnica de clustering basada en redes neuronales artificiales. Cada
uno de estos elementos soluciona alguno de los problemas planteados, pero a la vez
todos ellos están relacionados y se complementan entre sı́, formando una solución
integral del problema.

3.3.1. División de la tarea


Nuestro enfoque para la división de la tarea involucra una transformación del es-
pacio de acciones: éstas, expresadas originalmente por una velocidad independiente
en cada rueda (vizq , vder ), son transformadas en tuplas compuestas por una compo-
nente de velocidad lineal y una de velocidad angular (vlin , vang ). Esta transformación
se logra aplicando,

vlin = (vder + vizq )/2


(3.12)
vang = (vder − vizq )/L,
donde L es el diámetro del robot (más precisamente, la distancia entre las dos
ruedas).
A partir de esta descripción de las acciones, surge una división natural de la tarea
de seguimiento: la definición de una tarea independiente para cada componente de
las acciones. La primera tarea, que denominamos mantener-ángulo, tiene por objeto
mantener al robot alineado con el objetivo mediante giros en el lugar (vlin = 0). La
segunda tarea, mantener-distancia, se ocupa de mantener la distancia entre ambos
robots dentro de un rango predefinido mediante movimientos con dirección adelan-
te/atrás (vang = 0). De esta manera, a partir del predicado que define la tarea de
seguimiento obtenemos los predicados para las subtareas:
32

md(t) ⇔ d − ²d ≤ λ(t) ≤ d + ²d
(3.13)
ma(t) ⇔ −²φ ≤ φ ≤ ²φ .
Ası́, el predicado original puede ser formado a partir de la conjunción de los
predicados de las subtareas, mediante:

seguir(t) ⇔ d − ²d ≤ λ(t) ≤ d + ²d ∧ −²φ ≤ φ ≤ ²φ


(3.14)
⇔ md(t) ∧ ma(t).
Ambas subtareas son desarrolladas como comportamientos. El espacio de situa-
ciones es en ambos casos el mismo que el del comportamiento original. Las acciones
son transformadas nuevamente de velocidades lineal y angular a una distancia (in-
terpretada como un movimiento en lı́nea recta) en el caso de mantener-distancia y
un ángulo (interpretado como una rotación en el lugar) en el caso de mantener-ángu-
lo. Como veremos más adelante, las acciones expresadas de esta manera facilitan el
aprendizaje.
Entonces, a partir de la polı́tica de seguimiento:

πseguir (s) = (vizq , vder ), (3.15)

se definen las polı́ticas:

πmd (s) = d d ∈ <


(3.16)
πma (s) = φ π ≤ φ ≤ π,

donde s es la situación (la misma que para seguimiento), d, la acción de mantener-


distancia es una distancia y φ, la acción de mantener-ángulo es un ángulo.

3.3.2. Configuración del entorno de aprendizaje


En cuanto al aprendizaje de los subcomportamientos, éste es realizado con el
objetivo detenido y ubicado, al comenzar el aprendizaje, en la posición óptima, es
decir, alineado y a la distancia deseada. Debido a las restricciones de movilidad de
los subcomportamientos, durante el aprendizaje de mantener-ángulo la distancia que
33

      

   
      

   
        
 
  

         
 
  

  
     
  
     

Figura 3.7: Entornos de aprendizaje para a)mantener-ángulo y b) mantener-distancia.

separa ambos robots se mantendrá constante, y durante el aprendizaje de mantener-


distancia, será el ángulo el que no varı́e (ver figura 3.7).
Las funciones de refuerzo utilizadas en cada subcomportamiento se derivan de
la función presentada en la sección anterior para la tarea de seguimiento que, como
vimos, asigna un refuerzo positivo en aquellos estados que hacen que el robot cum-
pla con el predicado de seguimiento. De esta manera, la función de refuerzo para
mantener-distancia es:




 1 si |sf − 0,5| < σ1

md(s0 ..sn ) =  0 si σ1 ≤| sf − 0,5| ≤ σ2 , (3.17)



 −1 si σ2 < |sf − 0,5|

y la función de refuerzo para mantener-ángulo es:






 1 si i∗ = if

ma(s0 ..sn ) = 0 si i∗ = if − 1 ∨ i∗ = if + 1 , (3.18)




 −1 en caso contrario

donde s0 ..sn son los valores de los sensores en un instante dado (0 ≤ si ≤ 1),
34

      

      

      
    
                 

 


             
    

                  

Figura 3.8: Representación de las funciones de refuerzo para el aprendizaje de


mantener-distancia y mantener-ángulo.

σ1 y σ2 son parámetros de la función de refuerzo (0 ≤ σ1 ≤ σ2 ≤ 1), if es el


ı́ndice del sensor ubicado en el frente del robot y i∗ es el ı́ndice del sensor con el
valor máximo (i∗ = arg max0≤i≤n {si }). De existir más de un sensor frontal, pueden
fusionarse en un solo sensor a los efectos del cálculo del refuerzo. La figura 3.8 muestra
una representación gráfica de las dos funciones de refuerzo.
El valor absoluto de un sensor, si el objeto se encuentra perfectamente alineado
con éste, es una estimación de la distancia. La función de refuerzo que define el
comportamiento mantener-distancia delimita cinco zonas para el valor absoluto del
sensor frontal. El robot recibe refuerzo positivo si el valor del sensor se encuentra en
la zona central (el objetivo está a una distancia media), nulo si se encuentra cercano
a esa zona, y negativo si el valor es muy alto (lo que representa una colisión) o
muy bajo (el objetivo se encuentra demasiado lejos). El sensor con valor máximo
representa siempre (salvo fallas en los sensores) la dirección más próxima al objetivo.
La función de refuerzo para mantener-ángulo asigna un refuerzo positivo si este sensor
es el frontal (lo que indica que el objetivo está alineado), neutro si es un sensor vecino
35

y negativo si se encuentra lejos del frente.

3.3.3. Representación del espacio de situaciones/acciones


Durante el aprendizaje, el espacio de situaciones, acciones y valores de utilidad de
cada comportamiento es representado con una técnica de clustering desarrollada por
Santos [37], que denominamos QRBF. La misma esta basada en las redes neuronales
RBF (radial basis functions). Cada unidad representa una región del espacio de situa-
ciones/acciones/valores q, definida por una función de activación gaussiana. Durante
el entrenamiento, las unidades son desplazadas en función de las situaciones visitadas,
de los pares situación/acción ejecutados y del refuerzo obtenido. Además, la red se
construye en forma incremental: si ninguna unidad se encuentra suficientemente cerca
del estado visitado, entonces una nueva unidad es creada. La función de activación
de cada unidad, en su forma general, es:

t 2 +(a−w )2 )/σ 2
y = e−((s−ws ) (s−ws )+|(1−wq )/2| a
, (3.19)

donde ws , wa y wq son los pesos de la unidad en las dimensiones de situación,


acción y valor q respectivamente. El uso que le damos a esta red es similar al de
una memoria asociativa: la función de activación es aplicada en forma parcial, uti-
lizando dos dimensiones como entrada y la tercera como salida. Por ejemplo, para
seleccionar la acción óptima asociada con una determinada situación, la función de
activación es aplicada sobre las dimensiones situación/valor q, utilizando como entra-
da la situación actual y el máximo valor q posible, y como salida la acción asociada
a la unidad ganadora. Esta acción representa un compromiso entre la bondad de la
acción para esa situación en particular (su valor q) y la diferencia entre la situación
actual y la memorizada por la red. Para actualizar la red, la función de activación
es aplicada, también en forma parcial, al par situación/acción ejecutado. La unidad
ganadora es actualizada en sus tres componentes: situación y acción (con la regla de
Hebb, es decir, desplazando el centroide de la unidad hacia los valores de la entrada)
36

Funcion MejorAccion
Entrada: s
Salida: a

Seleccionar la unidad ganadora i*, donde


t 2 2
i∗ ← arg máxi {yi = e−((s−wsi ) (s−wsi )+|(1−wqi )/2| )/σ }

Si el nivel de activación (yi∗ ) es mayor que acceptance entonces,


devolver wai∗

En caso contrario,
a ← rand[0.,1]
S
RedQRBF ← RedQRBF {(s, a, 0)}
devolver a

Figura 3.9: Algoritmo QRBF. Obtención de la acción óptima asociada a una situación
(pseoducódigo).

y valor q (mediante el algoritmo de Q-Learning). En las figuras 3.9 y 3.10 se des-


criben los algoritmos de selección de la acción óptima y de actualización de la red
respectivamente.

3.3.4. Ejecución del comportamiento


Para combinar los subcomportamientos aprendidos y obtener comportamientos
de seguimiento, ambos son ejecutados en forma concurrente. Las acciones llevadas a
cabo por el robot son combinaciones de las acciones individuales (un ángulo y una
distancia) traducidas al espacio de acciones del robot (velocidades en cada rueda).
Para poder combinar una distancia y un ángulo en una única acción, transformamos
las acciones en velocidades lineales y angulares respectivamente.

d p
vlin = tl
(3.20)
vang = φ π/180
ta
,
37

Funcion Actualizar

Entrada: (s, a, s0 , r)
Salida: −

Calcular Q-Max (valor q de la nueva situación s’),


0 t 0 2 2
j ∗ ← argmaxj {yj = e−((s −wsj ) (s −wsj )+|(1−wqj )/2| )/σ }
QM ax ← wqj ∗

Seleccionar la unidad más cercana al par situación inicial/acción (s, a),


t 2 2
i∗ ← arg máxi {yi = e−((s−wsi ) (s−wsi )+(a−wai ) )/σ }

Si el nivel de activación (yi∗ ) es mayor que acceptance entonces,


actualización Q-Learning:
wqi∗ ← wqi∗ + ηq (r + γQM ax − wqi∗ )
actualización Hebb:
wsi∗ ← wsi∗ + ηs (s − wsi∗ )
si r es positivo:
wai∗ ← wai∗ + ηs (a − wai∗ )
en caso contrario,
S
RedQRBF ← RedQRBF {(s, a, r)}

Figura 3.10: Algoritmo QRBF. Actualización de la red a partir de la ejecución de una


acción y del refuerzo obtenido (pseudocódigo).
38

donde d es el resultado de mantener-distancia, φ es el resultado de mantener-


ángulo, tl y ta es el tiempo necesario para la ejecución de las acciones de avanzar
y girar respectivamente, y p la distancia (en mm) de una unidad del encoder de
las ruedas. La transformación de (vlin , vang ) a (vizq , vder ) puede ser derivada de la
ecuación:

vizq = vlin − L/2 × vang


(3.21)
vder = vlin + L/2 × vang .
En resumen, las acciones que ejecutará el robot se obtienen a partir de los resul-
tados de los dos subcomportamientos según:
à !
k1 d − k2 φ k1 d + k2 φ
a = (vizq , vder ) = , , (3.22)
vp vp
donde k1 = pt , k2 = L π 1
2 180 t
y vp es la unidad de valocidad del robot expresada en
mm/s.
Finalmente, con el fin de aliviar los problemas que produce el hecho de aprender un
comportamiento en entornos estáticos y ejecutarlo en entornos dinámicos, realizamos
una superposición de los ciclos de control (sensado, obtención de la acción óptima,
ejecución de la acción) de manera de abortar la ejecución de una acción y reemplazarla
por una nueva si la acción óptima cambia. La figura 3.11 muestra en pseudocódigo el
algoritmo que controla la ejecución del comportamiento final de seguimiento.

3.4. Análisis de la solución propuesta


El método presentado tiene varios puntos que merecen ser estudiados. Desde las
ventajas y los posibles inconvenientes que se pueden generar, hasta algunas carac-
terı́sticas emergentes de los comportamientos obtenidos. Comenzaremos por analizar
de qué manera este método resuelve los problemas de RL para la tarea de seguimiento.
39

Constantes:
tl , ta Tiempo utilizado para ejecutar una acción de avanzar y girar respectivamente
p Cantidad de unidades del encoder de las ruedas en un milı́metro
L Diámetro del robot
Entrada:
qrbfd , qrbfa Redes que representan la polı́tica óptima para los
comportamientos mantener-distancia y mantener-ángulo
respectivamente.
maxd , maxa Valores máximos para las medidas de distancia y ángulo,
expresadas en unidades de los encoders de las ruedas y
grados respectivamente.
Repetir para siempre

Paso 1: Obtener situación actual


s ← situación actual(), s = s0 , s1 , ..., sn

Paso 2: Obtener la mejor acción para la situación actual en ambos


subcomportamientos
d ← qrbf-best-action(qrbfd , s)
φ ← qrbf-best-action(qrbfa , s)

Paso 3: Transformar las acciones en velocidades


vlin ← dtlp
π
φ
vang ← 180
ta

Paso 4: Transformar velocidades lineal y angular en velocidades de las ruedas


vizq ← vlin − L/2 × vang
vder ← vlin + L/2 × vang

Paso 5: Si las nuevas velocidades son diferentes a las actuales,


modificar la velocidad del robot
(avizq , avder ) ← velocidades-actuales()
Si vizq 6= avizq ∨ vder 6= avder , entonces
asignar-velocidades(vizq ,vder )

Paso 6: Esperar
Dormir(p), p << tl , ta

Figura 3.11: Algoritmo de control para la ejecución del comportamiento de seguimien-


to (pseudocódigo).
40

3.4.1. Ventajas
Se eliminan los problemas de exploración

Al aprender en entornos estáticos, se soluciona el principal problema del apren-


dizaje: el riesgo de perder de vista al objetivo producto del reducido alcance de los
sensores. Se logra que el objetivo se mantenga todo el tiempo dentro del rango de
sensado o, si se pierde de vista (por ejemplo, debido a un movimiento constante del
robot hacia atrás) que pueda ser detectado nuevamente mediante la ejecución de una
acción reflejo. El robot puede entonces ejecutar libremente su polı́tica de exploración
sin riesgo de perder de vista al objetivo.
Además, en los nuevos espacios de situaciones/acciones y con el objetivo detenido,
todas las situaciones tienen aproximadamente la misma probabilidad de ser visitadas
mediante la ejecución de una polı́tica aleatoria, lo cuál permite la exploración com-
pleta de todo el espacio y la generación de comportamientos que funcionen en forma
correcta para cualquier situación.

Reducción del espacio de situaciones

La reducción del espacio de situaciones que se produce al aprender en entornos


estáticos hace que el problema tenga un tamaño razonable para ser resuelto con el
algoritmo RL, comparable al de otros problemas clásicos de RL aplicado a robots
reales, como por ejemplo evitar obstáculos. Esta reducción se logra sin perder la
precisión de las mediciones ni la cantidad de acciones posibles.
Hemos visto que con el robot objetivo en movimiento, el valor de los sensores en
un instante dado no alcanza para distinguir estados que requieren acciones distintas.
Si el objetivo está detenido, estos valores sı́ son suficientes, ya que todos los demás
datos (velocidad del robot perseguidor, diferencia de los sensores para mediciones
consecutivas) no afectan la acción que debe tomar el robot en cada estado. Pasamos
entonces de un espacio de estados de tamaño 4 smax 2n vmax 2 a uno de sólo smax n .
Este número representa la cantidad total de situaciones que se pueden obtener
41

con el objetivo detenido. Debido a las limitaciones de movilidad de los dos subcom-
portamientos, la cantidad de situaciones visitadas en el aprendizaje es mucho menor:
durante el aprendizaje de mantener-distancia, como los robots se mantienen siempre
alineados, sólo los sensores frontales perciben valores distintos de cero, lo que produce
un espacio de situaciones de tamaño smax 2 . Respecto de mantener-ángulo, las situa-
ciones visitadas son solamente aquellas que representan estados con los robots a una
distancia fija, ya que ésta se mantiene constante durante el aprendizaje.

Simplificación del espacio de acciones

El método de división de la tarea se basa en la simplificación del espacio de


acciones: el espacio original, de dos dimensiones, se divide en dos espacios de una
dimensión cada uno. Una primera ventaja de esto radica en el hecho de que en los
nuevos espacios, las acciones similares producen resultados similares. Esto no es ası́ en
el espacio original, ya que el resultado de la acción (1, 1) es más parecido al de la
acción (2, 2) que al de las acciones (1, 2) y (2, 1) ya que las dos primeras representan
movimientos rectilı́neos y las dos últimas describen arcos. Además, los nuevos espacios
son crecientes o decrecientes en relación a las variables fı́sicas: cuanto mayor es el
movimiento hacia delante, mayor es el valor de los sensores de la situación resultante
y menor es la distancia entre el robot y el objetivo. Por último, podemos decir que
las acciones en los nuevos espacios son conmutativas y asociativas. Con la primera
caracterı́stica queremos indicar que el resultado obtenido no depende del orden de
ejecución de las acciones. Con la segunda que, por ejemplo, un movimiento hacia
delante de 5 mm seguido de un movimiento de 10 mm es, (salvo errores de medición),
equivalente a un movimiento único de 15 mm.
Las caracterı́sticas que acabamos de mencionar simplifican el problema, haciendo
más fácil la definición de los experimentos, su ejecución y el análisis de los resulta-
dos. Pero además mejora sustancialmente la performance de cualquier algoritmo de
clustering, en especial de aquellos basados en redes neuronales artificiales, como el
utilizado por nosotros.
42

Respecto de la transformación de las acciones en movimientos discretos (distancias


y ángulos), esto simplifica el proceso de aprendizaje en comparación con los movi-
mientos expresados con velocidades. Gracias a sensores en las ruedas, el robot puede
ejecutar las acciones en forma más precisa y más rápida, ajustando por sı́ mismo
la velocidad en función de la distancia a recorrer. Al expresarse con velocidades, los
movimientos son imprecisos y dependen de la duración del ciclo de control: si éste
es demasiado largo, los comandos serán muy poco precisos y habrá situaciones en
las cuales el robot se pase de la situación óptima. Si el ciclo es demasiado corto, en
cambio, se requerirı́an velocidades demasiado altas para distancias o ángulos grandes.
Al expresar las acciones con ángulos y distancias, todo esto no ocurre, y es posible
además definirlas con una precisión mucho mayor. Con esta transformación evitamos
también los problemas relacionados con el tiempo, que pueden afectar el resultado de
las acciones (latencia en las comunicaciones, nivel de carga de la computadora, etc.) y
aumentamos la confiabilidad de las mediciones de los sensores, porque las realizamos
con el robot completamente detenido.

Mayor cantidad de refuerzos positivos y de refuerzos inmediatos

Con los nuevos espacios de situaciones y las nuevas funciones de refuerzo, vemos
que la proporción de situaciones con refuerzo positivo respecto del total es mucho
mayor: esto es natural si notamos que la cantidad de situaciones que representan una
distancia acotada entre el robot y el objetivo, en un espacio de una dimensión es
mucho mayor que la cantidad de situaciones que representan al robot alineado y a
una cierta distancia, en un espacio de dos dimensiones (figura 3.12).
Con el entorno estático y los movimientos restringidos, es posible definir el rango de
acciones para que sea posible, desde cualquier situación, obtener un refuerzo positivo
con una o dos acciones solamente. Por ejemplo, si el rango de los sensores es de 5
mm, fijando en 2.5 mm la distancia máxima de movimiento existe una polı́tica para
mantener-distancia que permite llegar desde cualquier situación a los estados objetivo
en a lo sumo dos pasos. De esta manera podemos reemplazar los refuerzos demorados
43

por refuerzos inmediatos, y acelerar ası́ el aprendizaje.

3.4.2. Caracterı́sticas del comportamiento obtenido


La técnica de aprendizaje presentada en este trabajo hace que el comportamiento
obtenido presente algunas caracterı́sticas especiales. Analizaremos en particular el
efecto que produce el hecho de aprender los subcomportamientos con el objetivo
detenido y la falta de exploración de regiones grandes del espacio de situaciones.

Aprendizaje con el objetivo detenido y ejecución con el objetivo en movi-


miento

Una polı́tica aprendida con el objetivo detenido no es necesariamente la mejor


polı́tica si se considera un objetivo móvil. Durante su ejecución, el resultado de las
acciones será distinto que el obtenido en el aprendizaje, ya que mientras la acción es
ejecutada el objetivo cambia de posición. Por ejemplo, si el objetivo se está acercando
a velocidad alta en dirección al robot, pero se encuentra todavı́a demasiado lejos, la
polı́tica aprendida por el robot harı́a que éste avance, probablemente también con
alta velocidad, lo que producirı́a una colisión.
Nuestra propuesta de superponer los ciclos de control hace que una acción mal
seleccionada sea inmediatamente corregida. Volviendo al ejemplo, vemos que el ro-
bot intentará moverse a toda velocidad, pero luego de unos pocos milisegundos (y
probablemente, debido al tiempo que toma la aceleración, sin llegar a desarrollar esa
velocidad), el objetivo estará ya más cerca y la mejor acción cambiará por un mo-
vimiento más lento, hasta terminar en un movimiento hacia atrás al cabo de muy
poco tiempo. Pero además, esta técnica produce comportamientos emergentes inte-
resantes: si el objetivo se mueve a velocidad constante, el robot, luego de unas pocas
iteraciones, comenzará a moverse con la misma velocidad.
Para analizar estos efectos, consideraremos una simulación en la cuál el robot
selecciona las acciones de avanzar y girar que lo llevan a una posición exacta en
relación con el objetivo, a partir de la distancia y el ángulo al mismo. Por ejemplo, si
44

a)         
b)     

 

  

  

 
  


 

c) 

   

 

   


        

     


         

Figura 3.12: Situaciones que cumplen con cada subtarea, respecto del total de situa-
ciones. a) mantener-distancia, b) mantener-ángulo y c) seguimiento.
45

la distancia deseada es de 20 mm y el objetivo está alineado y a 50 mm de distancia,


entonces la acción será avanzar 30 mm.
Vamos a considerar tres escenarios: En el primero, a partir de una posición inicial
con los robots alineados, el objetivo comienza a alejarse en lı́nea recta con velocidad
constante. En este escenario probaremos diferentes velocidades para el objetivo. En
el segundo escenario, a partir de la misma posición inicial, el objetivo se acerca al
robot. Probaremos aquı́ el resultado para diferentes valores del parámetro t (el tiempo
del ciclo de control). Por último estudiaremos la trayectoria del robot para objetivos
alejándose con diferentes ángulos.

Para el primer escenario, la distancia óptima fue fijada en 20 mm y la distancia


inicial en 50 mm. El valor de t (tiempo del ciclo de control) respecto de tl (tiempo
para ejecutar una acción) es de 1/4. Esto significa que sólo se ejecuta un cuarto de la
acción seleccionada. Por ejemplo, si la acción indica moverse 100 mm hacia delante,
en el siguiente ciclo el robot se habrá movido 25 mm. El gráfico 3.13 muestra la
distancia entre el robot y el objetivo a lo largo del tiempo para diferentes velocidades
del objetivo.
En este gráfico puede verse que en una primera etapa la distancia varı́a gradual-
mente, y luego se estabiliza. Esto significa que el robot logra moverse a la misma
velocidad que el objetivo. Este comportamiento es emergente, ya que la selección
de la acción está basado exclusivamente en la distancia al objetivo en instantes de
tiempo, y no en estimaciones de su velocidad. Es interesante notar también que la
distancia de equilibrio entre el robot y el objetivo depende de la velocidad de este
último: cuanto mayor es ésta, desde más lejos es perseguido por el robot. Esta dis-
tancia es siempre mayor a la distancia óptima, la cuál sólo se obtiene con el objetivo
detenido (y que produce en el robot acciones nulas).

El siguiente gráfico muestra la influencia de la variable t en la trayectoria seguida


por el robot, en situaciones en las que la acción aprendida es contraria a la que deberı́a
ejecutarse. En este caso, el objetivo se acerca al robot, partiendo de una distancia de
50 mm.
46

60
v=10
v=20
55 v=30

50

45
distancia
40

35

30

25

20
0 2 4 6 8 10 12 14 16 18 20
tiempo

Figura 3.13: Simulación de la diferencia de distancia entre el robot y el objetivo, para


movimientos rectilı́neos a distintas velocidades. El eje y indica la distancia entre el
robot y el objetivo, y el eje x representa el tiempo.

50
objetivo
t=tl
t=tl/2
40 t=tl/4

30
distancia

20

10

-10
0 2 4 6 8 10 12 14 16 18 20
tiempo

Figura 3.14: Simulación de la distancia entre el robot y el objetivo, para un objetivo


que se acerca al robot en lı́nea recta. Trayectoria del robot para distintos valores del
parámetro t. El eje y representa la distancia entre el robot y el objetivo, considerando
la posición inicial del robot como el origen de coordenadas. El eje x representa el
tiempo.
47

80

70

60

50

40
y

30

20

10

0
0 10 20 30 40 50 60 70 80
x

Figura 3.15: Trayectoria seguida por el robot para un objetivo que se aleja con tra-
yectoria rectilı́nea, orientado a diferentes ángulos del robot. Ambos ejes del gráfico
representan el plano, y cada punto indica la posición del robot en un instante de
tiempo.

Las primeras acciones elegidas por el robot son inadecuadas: como el objetivo
está todavı́a muy lejos, el robot avanza, porque no tiene manera de detectar que éste
se está acercando. Pero luego, el robot comienza a retroceder con la misma velocidad
que el objetivo. Podemos ver que cuanto menor es el valor de t (es decir, cuanto antes
se corrigen las acciones ejecutadas) más suave es la trayectoria y menos graves las
consecuencias de seleccionar una mala acción.

Por último, el gráfico 3.15 muestra diferentes trayectorias trazadas por el robot,
para objetivos alejándose en lı́nea recta, pero a diferentes ángulos respecto del robot.
Puede verse en el gráfico la suavidad de las trayectorias obtenidas, producto de la
ejecución parcial de las acciones.
48

Aprendizaje de una parte del espacio de situaciones únicamente

Los entornos estáticos y las limitaciones en los movimientos de las subtareas res-
tringen el conjunto de situaciones que el robot puede experimentar durante el apren-
dizaje. Por ejemplo, al aprender mantener-distancia, el robot nunca experimentará si-
tuaciones que tengan valores muy altos en los sensores laterales, a pesar de que estas
situaciones sı́ pueden ser obtenidas durante la ejecución de seguimiento. Asimismo,
mientras se aprende mantener-ángulo, los sensores tendrán siempre valores modera-
dos, a pesar de que estas son situaciones válidas.
Sin embargo, hay tres elementos que alivian los problemas que esto trae: 1) la
técnica de clustering para la representación del espacio de situaciones, 2) el hecho de
que el espacio de situaciones con el que se aprende cada comportamiento incluye los
estados objetivo del otro comportamiento, y 3) la ejecución de la acción nula para
ambos subcomportamientos si el robot se encuentra en un estado objetivo.

La técnica de clustering del espacio de situaciones favorece muy especialmente a


la tarea mantener-ángulo, debido a que el cluster más cercano a una situación no
explorada (con el objetivo a una distancia distinta a la utilizada en el aprendizaje) es
en general aquél que representa una situación con un ángulo similar, porque en ambas
la distribución de los valores de los sensores será igual, y sólo será distinto su valor
absoluto. La única excepción es la situación nula (valor cero en todos los sensores),
que no puede ser asimilada a ninguna otra. Para esa situación en particular, colocamos
en el comportamiento un reflejo que indica no girar, por medio de la incorporación
de un nuevo cluster.

En el comportamiento mantener-distancia, el clustering sólo influye favorablemen-


te para los casos en los que el ángulo es muy cercano al óptimo, porque en todas las
demás situaciones los sensores delanteros obtienen valores nulos. Esta situación pro-
duce un movimiento rápido hacia delante, indicado por la acción óptima asociada. Sin
embargo, el hecho de que la región objetivo de un comportamiento coincida con con
la región en la que se realizó el aprendizaje del otro hace en este caso que las acciones
49

del comportamiento mantener-ángulo lleven al robot lo antes posible (porque ese es su


objetivo) a situaciones conocidas por el comportamiento mantener-distancia. Existe
igualmente un conjunto de situaciones (especialmente aquellas en las que el objetivo
se encuentra de costado y muy cerca) que hacen que un movimiento rápido hacia
delante produzca la pérdida del objetivo. Sin embargo, durante la ejecución normal
de seguimiento, el objetivo no puede aparecer en esas posiciones sin ser visto antes
en otras, con más chances de ajustar adecuadamente el ángulo.

Por último, podemos mencionar que el hecho de que en ambos subcomportamien-


tos las situaciones óptimas tengan asociada la acción nula, hace que el comportamien-
to de seguimiento resultante sea más estable y se logren movimientos muy precisos
(por ejemplo, que el robot imite la velocidad del objetivo si se encuentran alineados
y moviéndose en lı́nea recta).
Capı́tulo 4

Resultados experimentales

En este capı́tulo describiremos las experiencias realizadas y los resultados obteni-


dos tanto para la sı́ntesis de los subcomportamientos mantener-distancia y mantener-
ángulo como para su composición y uso en seguimiento de objetivos móviles.

4.1. Equipamiento utilizado


El equipamiento utilizado para las experiencias está formado por dos robots Khe-
pera, fabricados por la empresa K-Team [12] (ver figura 4.1). Estos son robots autóno-
mos móviles para uso académico y de investigación. Su cuerpo es circular, de 55 mm
de diámetro. Cuentan con un microcontrolador Motorola MC68331, 256K de memoria
RAM, que permite almacenar programas escritos por el usuario y 512K de memoria
ROM que contiene el software de control de bajo nivel (BIOS), y un sistema operativo
multitarea. Los modos de operarlo son dos: mediante la transferencia de un programa
completo (procesamiento dentro del robot) o a través de la transmisión de comandos
(procesamiento en una PC). Los comandos de alto nivel permiten, entre otras cosas,
leer el valor de los sensores, aplicar velocidades a las ruedas, leer los encoders de las
ruedas y mover cada rueda una determinada distancia, en cuyo caso el software del
robot define una función de aceleración para que el movimiento sea suave.
Los robots Khepera se comunican con una PC a través de una interface serie.

50
51

Alternativamente, los robots Khepera pueden comunicarse entre sı́ y con una PC a
través de una interface de radio que funciona como un medio compartido de trans-
misión de paquetes. La alimentación de los Khepera puede realizarse mediante una
baterı́a interna, que tiene una autonomı́a de entre 20 y 30 minutos, o mediante una
fuente externa.

Sensores

Los robots Khepera poseen 8 sensores infrarrojos, cada uno de ellos compuesto por
un transmisor y un receptor. Estos sensores están distribuidos en todo el perı́metro
del robot, de manera no uniforme. La figura 4.2 muestra un esquema aproximado de
la distribución de los mismos.
Los sensores pueden ser usados para detectar objetos próximos o el nivel de lu-
minosidad del ambiente, en forma direccional. Tienen una resolución, para ambos
casos, de 10 bits, es decir que toman valores entre 0 y 1023. Utilizados como sensores
de proximidad, cada uno puede detectar obstáculos hasta una distancia de 50 mm
y un ángulo entre el objeto detectado y el sensor que depende de la distancia pero
que puede llegar a los 40 grados. La sensibilidad puede variar considerablemente para
distintos sensores, y puede verse afectada por condiciones externas, como por ejemplo
la diferencia de luminosidad o su orientación respecto del piso [18]. Una caracterı́stica
importante de los sensores infrarrojos es que el valor que estos devuelven, si bien
depende de la distancia entre el sensor y el objeto, no es lineal respecto de la misma
y su relación también es influenciable por variables externas. A modo de ejemplo,
la figura 4.3 muestra el nivel de activación de los 8 sensores para un mismo objeto
ubicado a una distancia fija (30 mm) y a diferentes ángulos respecto del frente del
robot. En esta figura se puede ver la orientación de cada sensor (que corresponde con
el ángulo en el que toma su valor máximo). También se observa que algunos sensores,
en particular el número 3, tienen menor alcance, ya que en su pico obtiene un valor
menor que el resto.
52

Figura 4.1: Fotos del robot Khepera.


53

     
      



 
     

Figura 4.2: Esquema de los sensores y actuadores del robot Khepera.

1
s0
s1
0.9 s2
s3
0.8 s4
s5
0.7 s6
s7
0.6
valor

0.5

0.4

0.3

0.2

0.1

0
-80 -60 -40 -20 0 20 40 60 80
angulo

Figura 4.3: Nivel de activación de los sensores de Khepera ante un mismo objeto
alineado a diferentes ángulos respecto del frente del robot.
54

Actuadores

Khepera utiliza para movilizarse dos ruedas independientes que se encuentran


ubicadas sobre el perı́metro externo del robot (ver figura 4.2). Estas ruedas son ac-
cionadas por motores que pueden moverse a velocidades de hasta 1 m/s, con una
precisión de 8 mm/s (valores entre -127 y 127). Además las ruedas cuentan con enco-
ders que permiten detectar con una precisión de 1/12 mm los movimientos realizados
por las ruedas. Dadas las caracterı́sticas de las ruedas, el robot puede moverse en la
dirección adelante/atrás, describir arcos y girar en el lugar.

4.2. Aprendizaje de los subcomportamientos

4.2.1. Consideraciones generales


Los experimentos para el aprendizaje de los dos subcomportamientos pueden di-
vidirse en tres etapas. La primera etapa consistió en la validación de la robustez del
método mediante la repetición de los experimentos y en el ajuste de los parámetros.
Para esto, definimos una función de utilidad aplicable a la polı́tica completa que nos
permitió por un lado verificar el correcto funcionamiento del algoritmo de aprendiza-
je (comprobando que éste mejora la polı́tica con el tiempo), y por el otro comparar
objetivamente polı́ticas obtenidas con valores diferentes en los parámetros. También
esta medida nos permitió validar la robustez del aprendizaje, verificando que diferen-
tes experimentos con idénticas condiciones generan polı́ticas con valores de utilidad
similares. En la segunda etapa realizamos un análisis más exhaustivo de las mejores
polı́ticas aprendidas. Para ello estudiamos, para un muestreo del espacio de situacio-
nes, la acción asociada a cada una de ellas, la situación que resulta de aplicar dicha
acción y el agrupamiento de las situaciones producto del clustering. Esto nos permi-
tió analizar si el comportamiento es adecuado en todo el espacio de situaciones. En la
tercera etapa, analizamos el resultado de la ejecución de la polı́tica aprendida con el
objetivo en movimiento y verificamos que el comportamiento obtenido es el esperado,
55

comprobando que el comportamiento mantener-distancia logra seguir al objetivo e


imitar su velocidad, y que el comportamiento mantener-ángulo produce movimientos
suaves al girar.

Medida de utilidad para las polı́ticas

Para verificar la mejora del comportamiento durante el aprendizaje y para poder


comparar los comportamientos obtenidos a partir de distintos valores de los paráme-
tros, definimos la siguiente medida de utilidad:

X
K(π, S 0 ) = R(T (s, π ∗ (s))), (4.1)
s∈S 0

donde S 0 es un muestreo del espacio de situaciones, R(s) la función de refuerzo 1 ,


π ∗ (s) la polı́tica óptima y T (s, a) la función de transición. Esto es, el valor de utilidad
de la polı́tica π para el conjunto de estados S 0 es igual a la suma de los refuerzos
inmediatos obtenidos al ejecutar la acción óptima en cada uno de los estados del
conjunto S 0 .
Esta medida no tiene en cuenta la utilidad futura de las situaciones, implı́cita en
los valores q. Esta elección se tomó debido a que los valores de refuerzo son exactos,
mientras que los valores q son estimaciones cuyo error es muy variable en el espacio
de estados y depende del grado de avance del aprendizaje y de la estrategia de explo-
ración, entre otros factores. Debido a esto, una medida basada en valores q no podrı́a
ser utilizada al comenzar el aprendizaje ni para estudiar la polı́tica en todo el espacio
de situaciones, porque las regiones poco exploradas tendrı́an valores q inadecuados.

Muestreo del espacio y modelo de interacción

Con el objeto de calcular la utilidad de la polı́tica durante el aprendizaje sin


necesidad de detener el mismo y ejecutar exhaustivamente la polı́tica obtenida hasta
el momento, generamos, en forma previa al aprendizaje y a partir de un muestreo
1
Nótese que hemos definido la función de refuerzo a partir de la situación alcanzada, indepen-
dientemente de la situación inicial y de la acción
56

del espacio de situaciones/acciones, un modelo de interacción aproximado. Para esto


colocamos el objetivo alineado respecto del robot perseguidor y a una distancia apenas
mayor que el rango de los sensores. Luego ejecutamos con el robot perseguidor un
algoritmo que consiste en, alternativamente, avanzar 5 unidades y leer el valor de los
sensores, hasta que ambos robots colisionen para un modelo del espacio de situaciones
de mantener-distancia. Para el caso de mantener-ángulo, la única diferencia es que
la acción es girar 5 grados (en lugar de avanzar) y parte con un ángulo inicial de
90◦ . El modelo de interacción se basa en suponer que el resultado de las acciones es
acumulativo, es decir, que el resultado de avanzar dos veces 5 unidades es igual al
resultado de avanzar 10 unidades en un solo movimiento (idem para las rotaciones).
Si bien esto no es del todo correcto (debido al rozamiento de la superficie y a errores
producidos durante el arranque y la detención, el resultado suele ser distinto), puede
considerarse como una buena aproximación si lo que buscamos es comparar la calidad
de las polı́ticas.
Entonces, a partir del muestreo:

S 0 = (s0 , s1 , ..., sn ), T (si , 5) = si+1 , (4.2)

deducimos la función de transición:

T (si , a) = si+|a/5| . (4.3)

4.2.2. Comportamiento mantener-distancia


El aprendizaje del comportamiento mantener-distancia se realizó con dos robots,
uno cumpliendo el rol de objetivo y el otro de perseguidor. El robot objetivo fue
recubierto con un papel blanco para aumentar el alcance y la performance de los
sensores infrarrojos del perseguidor. Los parámetros fueron ajustados a mano, a partir
de la función de evaluación de la polı́tica.
En todos los experimentos, el espacio de situaciones estuvo compuesto por el
valor de los 8 sensores (con 1024 valores posibles cada uno). El movimiento máximo
57

permitido fue de 100 unidades (8 mm) hacia delante o hacia atrás.


Como el robot Khepera posee dos sensores ubicados en el frente y con la misma
orientación (los sensores 2 y 3), se utilizó, para la función de refuerzo, el promedio
entre ambos. Los parámetros de refuerzo utilizados fueron: σ1 = 0,1 y σ2 = 0,3. La
función de refuerzo resulta entonces:




 1 si | (s2 +s
2
3)
− 0,5| ≤ 0,1

reinf (s0 ..s7 ) =

−1 si | (s2 +s
2
3)
− 0,5| > 0,3 . (4.4)



 0 en caso contrario
Con esta función, se obtiene un refuerzo positivo si el valor del nuevo sensor frontal
se encuentra entre 0.4 y 0.6, refuerzo neutro para valores entre 0.2 y 0.4 y entre 0.6
y 0.8, y negativo si es menor que 0.2 o mayor que 0.8. Aplicando esta función de
refuerzo al espacio muestreado, se obtiene un refuerzo positivo para el 12 % de las
situaciones.
En cuanto a la exploración del espacio de situaciones y de acciones, ésta se lo-
gró eligiendo la acción a ser ejecutada por el robot en forma aleatoria dentro de un
intervalo con centro en la acción indicada por la polı́tica. El tamaño del intervalo se
redujo linealmente durante el aprendizaje, entre un valor máximo al inicio y cero al
final. Por lo tanto, para la iteración i se utilizó como factor de exploración un número
real aleatorio entre E(i) y −E(i), donde:

µ ¶
1 i
E(i) = × max-random × 1 − . (4.5)
2 max-iter
El valor utilizado para max-random fue de 0.9. Este valor hace que el intervalo de
exploración abarque casi el total del espacio de acciones al iniciarse el aprendizaje.
Por último, se incorporaron durante el aprendizaje dos reflejos para evitar que
el robot se aleje demasiado de su objetivo y que se mantenga demasiado cerca por
mucho tiempo:

reflejo-colisión: si el sensor frontal produce un valor máximo durante más de


6 iteraciones seguidas, entonces retroceder lentamente hasta que el valor del
58

sensor sea menor que uno (el valor máximo).

reflejo-perdido: si el sensor frontal produce un valor nulo durante más de 6


iteraciones seguidas, entonces avanzar lentamente hasta que el valor del sensor
sea mayor que cero.

Resultados del aprendizaje

El primer conjunto de experiencias tiene por objeto ajustar los parámetros invo-
lucrados y verificar que el aprendizaje produce un mejoramiento de la polı́tica óptima
a lo largo del tiempo.
Los parámetros η del algoritmo de clustering indican, de alguna manera, la mag-
nitud de los ajustes en los clusters para cada dimensión del espacio (situaciones,
acciones y valores q) y su adaptación a los nuevos valores observados. Un valor muy
pequeño en estos parámetros demora el aprendizaje, y un valor muy elevado produce
oscilaciones que impiden la convergencia. El ajuste de estos parámetros fue realizado
a mano, a partir de la comparación de la performance obtenida con distintos valores.
La tabla 4.1 muestra algunas experiencias realizadas, y los valores obtenidos al variar
cada parámetro. Los parámetros que especifican el tamaño de los clusters y el criterio
para agregar clusters nuevos (σ y acceptance) también fueron analizados y ajustados
a mano.
Finalmente, los parámetros fueron ajustados en los siguientes valores: para el
tamaño de los clusters: σ = 0,25, acceptance = 0,5; para la adaptabilidad de los
clusters: ηa = 0,1, ηs = 0,01 y ηq = 0,1; para el algoritmo Q-Learning: γ = 0,3.
La figura 4.4 muestra la evolución de la medida de utilidad de la polı́tica aprendida
para una instancia de aprendizaje de 250 iteraciones, con los parámetros mencionados.
Se realizó una nueva medición de la utilidad de la polı́tica aprendida hasta el momento
cada 5 iteraciones del algoritmo de aprendizaje, a partir del modelo aproximado. En
el gráfico puede verse que a medida que avanza el aprendizaje, la medida de utilidad
aumenta.
59

ηa prom. max
0.05 0.024 0.147
0.1 0.191 0.382
0.2 0.154 0.279
0.3 0.176 0.205

ηs prom. max
0.01 0.191 0.382
0.02 -0.110 -0.08
0.05 0.051 0.294

ηq prom. max
0.05 -0.058 0.044
0.1 0.191 0.382
0.2 0.142 0.264

Tabla 4.1: Variación de los parámetros η durante el aprendizaje de mantener-


distancia.

0.6

0.4

0.2
utilidad

-0.2

-0.4

-0.6
0 5 10 15 20 25 30 35 40 45
iteracion

Figura 4.4: Evolución de la medida de utilidad durante el aprendizaje de mantener


distancia. El eje x representa el número de iteración, y el eje y el valor de la función
de utilidad para la polı́tica aprendida hasta el momento.
60

2
accion (mm)

-2

-4

-6

-8
0 5 10 15 20 25 30 35 40 45
distancia (mm)

Figura 4.5: Resultado del aprendizaje de mantener-distancia. El eje x representa la


distancia al objetivo y el eje y la acción indicada por la polı́tica óptima.

Validación de la polı́tica aprendida

La figura 4.5 muestra la acción asociada a cada situación del espacio de muestra
para la polı́tica aprendida. El eje x indica la distancia entre el robot y el objetivo
y el eje y la acción asignada, traducida a mm. Puede verse que, salvo excepciones,
la función es decreciente respecto de la situación (cuanto más lejos están los robots,
mayor es el valor de la acción asociada). Cada cluster está representado con un escalón
o cambio de valor en la función.
La figura 4.6 muestra, para las mismas situaciones, el valor de los sensores frontales
luego de aplicar un paso de la polı́tica óptima, también promediando las 20 iteraciones
anteriores. Las lı́neas punteadas horizontales dividen el espacio entre las regiones de
refuerzo positivo, neutro y negativo. Para el 34 % de los estados de la muestra, un
sólo paso de la polı́tica óptima deja al robot dentro de la región de refuerzo positivo,
y para el 37 % en la región de refuerzo neutro.
61

0.9

0.8
situacion final [(s2+s3)/2]
0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 10 20 30 40 50
distancia inicial (mm)

Figura 4.6: Resultado del aprendizaje de mantener-distancia. El eje x representa la


distancia al objetivo, y el eje y el valor de los sensores frontales luego de ejecutar la
acción indicada por la polı́tica.

Traducción de distancias en velocidades

Para probar el comportamiento aprendido con el objetivo en movimiento, tradu-


jimos las distancias en velocidades y colocamos al robot objetivo siguiendo la trayec-
toria expresada con el siguiente algoritmo:

Para i entre 1 y 5, y entre -1 y -5


Fijar velocidad en i
Dormir(4 seg)
Detener
Dormir(2 seg)
La figura 4.7 muestra la velocidad del robot perseguidor en cada instante del
experimento. Cada valor representa el promedio de velocidad de las 20 iteraciones
anteriores (el intervalo de tiempo entre iteraciones fue de 60 ms aproximadamente).
Se puede ver que el robot reproduce satisfactoriamente la velocidad del objetivo
para cualquier velocidad que éste tome, entre -5 y 5 unidades (hasta 40 mm/s, hacia
62

5
promedio de 20
4

1
accion

-1

-2

-3

-4
0 100 200 300 400 500 600 700 800 900 1000
iteracion

Figura 4.7: Acción ejecutada por el robot durante el experimento de mantener-


distancia con el objetivo en movimiento.

delante y hacia atrás). Los movimientos, salvo muy pocas excepciones, son siempre en
la misma dirección que el objetivo. Se puede ver también que la velocidad del robot
es más estable si el objetivo se mueve a velocidades más altas. Esto puede deberse a
que los movimientos demasiado lentos tienen mayor grado de error que aquellos con
velocidades más altas.
La figura 4.8 muestra el valor de los sensores delanteros durante este experimento.
La distancia que separa ambos robots está todo el tiempo acotada y se mantiene
estable mientras el objetivo se mueve a velocidades constantes. Además, la distancia
es mayor si el objetivo se mueve hacia delante con velocidades más altas, medio si
el objetivo está detenido, y menor si el objetivo se mueve hacia atrás. Esto confir-
ma el razonamiento realizado en el capı́tulo 3 respecto de la utilización de polı́ticas
aprendidas con el objetivo detenido en entornos con el objetivo en movimiento.
63

0.9

0.8

0.7
sensores [(s2+s3)/2]

0.6

0.5

0.4

0.3

0.2

0.1

0
0 100 200 300 400 500 600 700 800 900 1000
iteracion

Figura 4.8: Valor de los sensores delanteros durante el experimento de mantener-


distancia con el objetivo en movimiento.
64

4.2.3. Comportamiento mantener-ángulo


Para la definición del comportamiento mantener-ángulo, el espacio de situaciones
utilizado fue el mismo que para el comportamiento anterior: el valor de los 8 sensores,
transformado en números reales entre 0 y 1. Como posibles acciones, se consideraron
ángulos de giro entre -90 y 90 grados.
La función de refuerzo empleada fue la descripta en el capı́tulo 2. Esta función, a
diferencia de la utilizada para el comportamiento mantener-distancia, no tiene ningún
parámetro ajustable. Con respecto al método de exploración, se utilizó el mismo
mecanismo que en el otro comportamiento, con idéntico valor inicial. No se incor-
poró aquı́ ningún tipo de reflejo durante el aprendizaje.

Resultados del aprendizaje

La figura 4.9 muestra el resultado de la medida de utilidad, calculada sobre el mo-


delo de interacción aproximado, durante el transcurso del aprendizaje. Los parámetros
utilizados fueron: para el tamaño de los clusters: σ = 0,3, acceptance = 0,1; para la
adaptabilidad de los clusters: ηa = 0,1, ηs = 0,01, ηq = 0,7; para el algoritmo Q-
Learning: γ = 0,5.
En la figura se puede ver que la utilidad aumenta considerablemente en una pri-
mera etapa y luego se mantiene constante, e incluso se reduce ligeramente.

Validación de la polı́tica aprendida

Las figuras 4.10 y 4.11 muestran un análisis del resultado de la mejor polı́tica
aprendida, a partir del modelo aproximado. La figura 4.10 muestra la acción asociada
a cada situación, con ambas medidas expresadas en grados. La situación indica el
ángulo del robot respecto del objetivo, y la acción, el ángulo que debe girar. Cada
cluster está representado por una lı́nea horizontal continua. Podemos ver que, en
general, la acción es decreciente respecto del ángulo, y se asocian valores máximos
para ángulos máximos, y valores mı́nimos para ángulos mı́nimos. Además, la acción
aprendida para ángulos cercanos a cero es la acción nula. Puede verse que la acción
65

0.8

0.6

0.4
utilidad

0.2

-0.2

-0.4

-0.6
0 5 10 15 20 25 30 35 40 45 50
iteracion

Figura 4.9: Evolución de la medida de utilidad durante el aprendizaje de mantener-


ángulo. El eje x representa el número de iteración y el eje y el valor de la función de
utilidad para la polı́tica aprendida hasta el momento.

80

60

40
accion (grados)

20

-20

-40

-60

-80

-80 -60 -40 -20 0 20 40 60 80


angulo (grados)

Figura 4.10: Resultados del aprendizaje de mantener-ángulo. El eje x representa el


ángulo entre el frente del robot y el objetivo, y el eje y la acción indicada por la
polı́tica óptima.
66

80

60

angulo final aprox. (grados) 40

20

-20

-40

-60

-80

-80 -60 -40 -20 0 20 40 60 80


angulo inicial (grados)

Figura 4.11: Resultados del aprendizaje de mantener-ángulo. Los ejes x e y represen-


tan el ángulo entre el frente del robot y el objetivo, antes y después de ejecutar la
acción indicada por la polı́tica aprendida, respectivamente.

aprendida para ángulos de entre 40 y 50 grados es incorrecta (indica quedarse en el


lugar), lo cuál demuestra que el comportamiento no fue aprendido correctamente en
esa sección del espacio de situaciones. La figura 4.11 muestra la situación inicial y
final, luego de ejecutar la acción indicada en la figura anterior. Cada lı́nea continua
con pendiente 1 representa un cluster. Se puede ver en esta figura que en casi todas
las situaciones, la acción tiene la orientación correcta y, por lo tanto, acerca al robot
al objetivo (ángulo nulo). También se puede ver que, siguiendo la polı́tica, el robot se
mantiene detenido si ya se encuentra en la situación óptima (ángulo cero).

Traducción de distancias en velocidades

Al traducir las acciones discretas en continuas, en cada comportamiento se ob-


tienen resultados distintos. Mientras que con mantener-distancia se logra imitar la
velocidad lineal del objetivo, con mantener-ángulo se logran giros suaves: si el ángu-
lo inicial es muy grande, la velocidad de giro es alta en un principio, pero se va
67

reduciendo a medida que el ángulo se achica.


Para probar esto último, ejecutamos la polı́tica traducida a velocidades con el
objetivo ubicado en diferentes ángulos iniciales. La figura 4.12 muestra, para distintos
ángulos, la velocidad que tomo el robot en cada instante de tiempo. La velocidad
está expresada en unidades de velocidad del robot (8 mm/s aproximadamente) para
la rueda izquierda. El tiempo está medido en intervalos de 60 ms (valor aproximado).
En todos los casos, el robot se detuvo al estar alineado. Para ángulos grandes,
vemos que la velocidad del robot es máxima en un principio y luego se reduce escalo-
nadamente. El robot en ningún caso se detuvo abruptamente, ni se detuvo sin estar
alineado con el objetivo. Se ven en esta figura algunos casos en los cuales la velocidad
aumenta en la mitad del trayecto.

4.3. Experimentos de seguimiento


Para probar la composición de los subcomportamientos y su eficacia para la ta-
rea de seguimiento, ejecutamos la combinación de las mejores polı́ticas aprendidas
para mantener-distancia y mantener-ángulo con el robot objetivo siguiendo diferen-
tes trayectorias a diferentes velocidades. Para medir y comparar la performance del
perseguidor en cada experimento, utilizamos como medida el valor de los sensores
frontales.
En cada experimento, colocamos inicialmente al robot perseguidor alineado detrás
del objetivo, a una distancia de 30 mm. Las trayectorias del robot objetivo fueron:
movimientos en cı́rculos de diferentes radios, rectángulos y movimiento aleatorio.
En los dibujos de las trayectorias, los cı́rculos representan la posición de los robots
objetivo (color claro) y perseguidor (color oscuro) durante el experimento. Como
elemento adicional, los segmentos que parten del centro de los cı́rculos indican la
orientación de los robots en cada momento.
Para analizar los comportamientos desde diferentes puntos de vista, vamos a es-
tudiar, además del dibujo de las trayectorias, tres gráficos adicionales: el valor de los
68

6 6
20 grados -20 grados
4 4

2 2
velocidad

velocidad
0 0

-2 -2

-4 -4

-6 -6
0 2 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16
iteracion iteracion

6 6
40 grados -40 grados
4 4

2 2
velocidad

velocidad
0 0

-2 -2

-4 -4

-6 -6
0 2 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16
iteracion iteracion

6 6
60 grados -60 grados
4 4

2 2
velocidad

velocidad

0 0

-2 -2

-4 -4

-6 -6
0 2 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16
iteracion iteracion

6 6
80 grados -80 grados
4 4

2 2
velocidad

velocidad

0 0

-2 -2

-4 -4

-6 -6
0 2 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16
iteracion iteracion

Figura 4.12: Resultados de mantener-ángulo traducido a velocidades angulares. Cam-


bios de velocidad para objetivos con distintos ángulos iniciales.
69

sensores frontales, que nos permitirá verificar la correctitud del comportamiento, la


orientación de ambos robots y la distancia recorrida por la rueda derecha, que ilustra
el tipo de movimiento que los robots realizan.

La figura 4.13 muestra una trayectoria circular amplia, generada con velocidades
ligeramente distintas para las dos ruedas del robot objetivo. En este caso, el robot
perseguidor se mantuvo siempre detrás del objetivo, y reprodujo su trayectoria en
forma exacta. Además de verificarse en el dibujo, este puede verse en el hecho de
que tanto el ángulo como la distancia recorrida por las ruedas de ambos robots se
mantienen en valores cercanos.

El segundo caso (figura 4.14) representa también una trayectoria circular, pero con
un radio mucho menor. Aquı́, el robot perseguidor pudo .acortar camino cumplir con
2

la tarea de seguimiento recorriendo menores distancias que el objetivo. Este efecto se


puede ver en el gráfico de ángulo y de contadores de las ruedas, los cuales demuestran
que el perseguidor se movió menos que el objetivo pero manteniendo en todo momento
su orientación similar a la de aquel.

La trayectoria rectangular se obtuvo con movimientos rectilı́neos y giros de 90◦ en


el lugar. En este experimento (figura 4.15) mientras el robot objetivo giraba, el robot
perseguidor se detuvo por completo. Luego, mientras el objetivo avanzaba en lı́nea
recta en dirección perpendicular al perseguidor, éste comenzó a seguir una trayectoria
circular amplia, formando un arco. Esto se puede ver claramente en el gráfico de
ángulo (el objetivo cambia su ángulo en forma brusca, mientras que el perseguidor lo
cambia en forma suave). La trayectoria experimentada es natural, y responde al hecho
de que los movimientos del robot se basan sólo en la posición del objetivo, y no en
la dirección de su movimiento. De esta manera, los cambios (graduales) de distancia
y ángulo entre el objetivo y el perseguidor, son corregidos por movimientos (también
graduales) del robot perseguidor. Los picos en los valores de los sensores que pueden
verse a intervalos regulares se corresponden con los momentos en los que el objetivo
se detuvo. El tiempo que tardó el robot en reaccionar produjo que la distancia entre
70

ambos disminuyera.
Por último, la figura 4.16 muestra porciones de trayectorias aleatorias, obtenidas
con movimientos en lı́nea recta seguidos por giros de ángulo aleatorio. Estas trayec-
torias resultan ilustrativas, porque en ellas pueden verse los resultados de las tres
experiencias anteriores: imitación de la trayectoria y velocidad con movimientos rec-
tilı́neos del objetivo, giros suaves del perseguidor ante giros bruscos del objetivo y
atajos para acortar camino. Se puede ver también que en cierto momento el objetivo
realizó un giro de 180◦ y comenzó a avanzar hacia el perseguidor, disminuyendo la
distancia entre ambos. La reacción del perseguidor fue moverse en lı́nea recta hacia
atrás, luego girar en el lugar, y finalmente, lograda la misma orientación del objetivo,
avanzar nuevamente.

Para comparar la performance del comportamiento de seguimiento para diferentes


trayectorias, en la tabla 4.2 se muestra el valor del sensor frontal clasificado en 5
intervalos (que representan valores muy bajos, bajos, medios, altos y muy altos) y se
consigna, para cada experimento, el porcentaje de tiempo que el sensor frontal toma
valores en cada uno de estos intervalos. Puede verse aquı́ que en todas las trayectorias,
los sensores frontales se mantuvieron la mayor parte del tiempo en valores medios
(entre 0.2 y 0.8). La mejor performance se obtuvo en las trayectorias circulares, y la
peor en la trayectoria aleatoria. En los primeros dos experimentos, como el objetivo
siempre se movió hacia delante, alejándose del robot, los sensores nunca devolvieron
valores muy altos. En el experimento 3, los valores altos se obtuvieron cuando el
objetivo se detuvo súbitamente, y en el número 4 cuando el objetivo giró más de 180
grados y comenzó a acercarse al robot.
71

1 350
sensores frontales [(s2+s3)/2]

objetivo
300 peseguidor
0.8
orientacion (grados)

250
0.6 200

0.4 150
100
0.2
50
0 0
0 100 200 300 400 500 600 700 0 100 200 300 400 500 600 700
tiempo tiempo

figura a) figura b)
600
objetivo
500 perseguidor
distancia [mm]

400

300

200

100

0
0 100 200 300 400 500 600 700
iteracion

figura c)

Figura 4.13: Trayectoria de cı́rculos amplios. a) Valor de los sensores frontales del
robot perseguidor. b) Angulo de cada robot respecto del origen de coordenadas. c)
Distancia recorrida por la rueda derecha de ambos robots.
72

1 400
sensores frontales [(s2+s3)/2]

objetivo
350 peseguidor
0.8
orientacion (grados)

300

0.6 250
200
0.4 150
100
0.2
50
0 0
0 50 100 150 200 250 300 350 400 450 0 50 100 150 200 250 300 350 400 450
tiempo tiempo

figura a) figura b)
600
objetivo
500 perseguidor
distancia [mm]

400

300

200

100

0
0 50 100 150 200 250 300 350 400 450
iteracion

figura c)

Figura 4.14: Trayectoria de cı́rculos cerrados. a) Valor de los sensores frontales del
robot perseguidor. b) Angulo de ambos robots respecto del origen de coordenadas. c)
Distancia recorrida por la rueda derecha de ambos robots.
73

1 300
sensores frontales [(s2+s3)/2]

0.9 objetivo
250 peseguidor
0.8
orientacion (grados)

0.7 200
0.6 150
0.5
0.4 100
0.3 50
0.2
0
0.1
0 -50
0 100 200 300 400 500 600 700 800 900 0 100 200 300 400 500 600 700 800 900
tiempo tiempo

figura a) figura b)
800
objetivo
700 perseguidor
600
distancia [mm]

500
400
300
200
100
0
0 100 200 300 400 500 600 700 800 900
iteracion

figura c)

Figura 4.15: Trayectoria rectangular. a) Valor de los sensores frontales del robot per-
seguidor. b) Angulo de ambos robots respecto del origen de coordenadas. c) Distancia
recorrida por la rueda derecha de ambos robots.
74

sensores frontales [(s2+s3)/2]

sensores frontales [(s2+s3)/2]

sensores frontales [(s2+s3)/2]


1 1 1

0.8 0.8 0.8

0.6 0.6 0.6

0.4 0.4 0.4

0.2 0.2 0.2

0 0 0
0 50 100 150 200 250 300 350 400 0 50 100 150 200 250 300 350 400 0 50 100150200250300350400450
tiempo tiempo tiempo

figura a)
400 300 300
objetivo objetivo objetivo
orientacion (grados)

orientacion (grados)

orientacion (grados)

350 250 250


peseguidor 200 peseguidor peseguidor
300 150 200
250 100 150
200 50 100
150 0 50
-50
100 -100 0
50 -150 -50
0 50 100 150 200 250 300 350 400 0 50 100150200250300350400450 0 50 100150200250300350400450
tiempo tiempo tiempo

figura b)
7000 12000 10000
objetivo objetivo 9000 objetivo
6000 perseguidor 10000 perseguidor perseguidor
8000
distancia [mm]

distancia [mm]

distancia [mm]

5000 8000 7000


4000 6000
6000 5000
3000 4000
2000 4000 3000
2000 2000
1000 1000
0 0 0
0 50 100150200250300350400 0 50100150200250300350400450 0 50100150200250300350400450
iteracion iteracion iteracion

figura c)

Figura 4.16: Trayectoria aleatoria. a) Valor de los sensores frontales. b) ángulo de


75

Prueba Menos Entre Entre Entre Más


de 0.1 0.1 y 0.2 0.2 y 0.8 0.8 y 0.9 de 0.9
1 (circ. grande) 1% 9% 89 % 1% 0%
2 (circ. chico) 8% 5% 81 % 4% 2%
3 (cuadrado) 12 % 9% 63 % 6% 10 %
4.1 (aleatorio) 4% 6% 68 % 7% 15 %
4.2 (aleatorio) 7% 7% 73 % 4% 9%
4.3 (aleatorio) 6% 10 % 74 % 5% 5%

Tabla 4.2: Distribución de los valores de los sensores frontales para distintas trayec-
torias del objetivo.
Capı́tulo 5

Uso de seguimiento en formaciones


de robots

En el capı́tulo 2, hemos mencionado el uso de seguimiento de objetivos móviles en


tareas de grupos de robots y en algunas de sus aplicaciones. En este capı́tulo vamos a
estudiar hasta qué punto los comportamientos de seguimiento obtenidos con el método
propuesto en este trabajo pueden ser utilizados para la generación de formaciones de
robots con diferentes formas geométricas.

En los últimos años, la investigación en el campo de los robots autónomos se ha


orientado en parte hacia los sistemas multi-robot. Estos sistemas son atractivos por
diversos motivos [43], entre ellos:

Algunas tareas son demasiado complejas para ser resueltas por un único robot,
o pueden ser resueltas más eficientemente con un grupo de robots.

Desarrollar y usar muchos robots simples puede ser más sencillo, barato, flexible
y con mayor tolerancia a fallas que el uso de robots más complejos.

Los sistemas multi-robots permiten estudiar problemas presentes en ciencias


sociales y biológicas.

76
77

El campo de los sistemas multi-robots ha derivado en diversas lı́neas de investiga-


ción y enfoques diferentes. Dudek, Jenkin y Millos [15] presentan una taxonomı́a de
estos sistemas. Cao [43] enumera una cantidad importante de trabajos y los clasifica
según la misma taxonomı́a, además de describir las arquitecturas más conocidas en
forma completa. Parker [34] describe las lı́neas de investigación más importantes y
menciona los avances y temas abiertos que se pueden observar en cada una de ellas.
Actualmente, existe cierto consenso en la utilización de algoritmos de control dis-
tribuido para el manejo de grupos de robots [43]. Sin embargo, hay un debate impor-
tante respecto de la información que debe manejar cada uno de los robots del grupo.
Touzet [41] define una escala para el nivel de conocimiento (robot awareness) y hace
un análisis del impacto que este nivel tiene en la dificultad para el aprendizaje de
los comportamientos por medio de técnicas RL. Parker [30] estudia el balance entre
información local y global que debe manejar cada robot y el impacto en la perfor-
mance de las soluciones. Su conclusión es que la información local permite generar
comportamientos reactivos y cumplir mejor los objetivos de corto plazo, mientras que
información global mı́nima (especialmente en lo que respecta a la definición de los
objetivos comunes) puede mejorar el cumplimiento a largo plazo de esos objetivos.
Balch y Arkin [6] estudian el impacto que tiene el nivel de intercambio de información
entre robots en la eficiencia de la solución obtenida para distintas tareas.
Nosotros creemos que un número importante de tareas colectivas pueden realizarse
sin comunicación ni coordinación entre los robots y utilizando sensado local, con las
ventajas de robustez y escalabilidad mencionadas en el capı́tulo 2. En ese marco, nos
proponemos utilizar el comportamiento de seguimiento desarrollado en este trabajo
para la generación de comportamientos grupales de formaciones.

5.1. Definición de formaciones


La tarea de formaciones ha sido muy estudiada en la literatura y es, además, la
tarea grupal más relacionada con el comportamiento de seguimiento [7]. Esta tarea
78

Figura 5.1: Configuraciones geométricas más utilizadas para formaciones de robots.


De izquierda a derecha: fila, columna, diagonal y triángulo.

consiste en lograr que un grupo de robots establezcan entre ellos una forma geométrica
predeterminada y la mantengan mientras se trasladan de un lugar a otro. Uno de los
motivos por los cuales esta aplicación es atractiva para el estudio de algoritmos de
control multi-robot es que la misma es fácil de especificar y verificar, pero a la vez
admite distintas variantes y permite estudiar diferentes aspectos de los algoritmos
de control. Por ejemplo, se puede variar las formas geométricas (desde columnas y
lı́neas hasta estructuras complejas, pasando por formas triangulares y rectangulares),
la cantidad de robots, se pueden incorporar comportamientos secundarios adicionales,
como por ejemplo evitar obstáculos, o se puede requerir el cambio de la estructura
en forma dinámica. Además, esta tarea requiere diferentes estrategias de control y
representa desafı́os diferentes en función del equipamiento disponible para sensado,
comunicación y movilidad. A su vez, los comportamientos de formaciones puede ser
utilizados para resolver tareas aún más complejas, como por ejemplo el traslado de
objetos grandes mediante un grupo de robots o sensado distribuido de áreas amplias
[43].
La tarea de formaciones para un grupo de robots autónomos consiste en lograr que
éstos se ubiquen en función de una distribución espacial predeterminada y puedan
mantenerla mientras se trasladan de un lugar a otro. Las formas geométricas más
comúnmente utilizadas en la bibliografı́a son: columna, fila, diagonal triángulo (ver
fig. 5.1).
A partir de la definición de seguimiento dada en el capı́tulo 3, las formaciones que
surgen son de tipo fila, ya que el objetivo se mantiene alineado con el frente del robot.
79

Para obtener otro tipo de formaciones, vamos a dar una definición paramétrica del
predicado de seguimiento que permita variar el ángulo con el que deben esta alineado
el objetivo y que, al aplicarla a un grupo de robots, nos va a permitir obtener otro
tipo de formaciones:

f ollow0 (t) ⇔ (d − ²d ≤ λ(t) ≤ d + ²d ) ∧ (α − ²α ≤ θ(t) ≤ α + ²α ), (5.1)

donde α es el ángulo en el cuál se debe mantener el objetivo respecto del per-


seguidor (este ángulo es cero en la definición de seguimiento que dimos antes). De
esta manera, para obtener formaciones en diagonal, utilizaremos esta definición con
α = 45◦ y para formaciones en columna, α = 90◦ . Para formaciones en triángulo,
se deberán utilizar parámetros distintos para aprender el comportamiento en cada
robot: la mitad de ellos deberán utilizar α = 45◦ y la otra mitad α = −45◦ .

Según nuestro enfoque, las formaciones pueden ser vistas como comportamientos
emergentes, a partir de comportamientos individuales de seguimiento, o de variantes
del mismo. Como ya mencionamos, en las formaciones en fila todos los robots deben
ejecutar el comportamiento de seguimiento tal cuál fue definido en el capı́tulo 3. Para
obtener otro tipo de formas, modificaremos las funciones de refuerzo para adaptarlas
a la tarea que ahora deben cumplir. El único cambio que debemos realizar consiste
en considerar para los refuerzos el o los sensores que deberı́an alinearse con el robot
de adelante, dependiendo de la forma que se busque. Por ejemplo, para funciones en
diagonal, las funciones de refuerzo son exactamente las mismas, pero considerando
como sensor frontal el promedio entre los sensores 0 y 1:
80





 1 si |(s0 + s1 )/2 − 0,5| < σ1

mddiag(s0 ..sn ) =  0 si σ1 ≤ |(s0 + s1 )/2 − 0,5| ≤ σ2 ,



 −1 si σ2 < |(s0 + s1 )/2 − 0,5|

(5.2)




 1 si i∗ = 0 ∨ i∗ = 1

madiag(s0 ..sn ) = 0 si i∗ = 2 ,




 −1 en caso contrario

5.2. Resultados experimentales


Para probar las formaciones, se realizaros dos tipos de experimentos. En el primero
se utilizó el comportamiento de seguimiento original para la obtención de formaciones
en fila. En el segundo se utilizó la definición modificada de seguimiento para obtener
formaciones en diagonal. En todos los experimentos, cada robot realizó el aprendizaje
en forma individual, para lograr un comportamiento que se adapte a las particulari-
dades de sus sensores. En ambos casos se realizaron experimentos con grupos de 3 y
4 robots Khepera.

5.2.1. Formaciones en fila


Para los experimentos de formaciones en fila, los robots fueron colocados inicial-
mente alineados, aunque no a distancia óptima. En todos los robots excepto en el de
adelante, que actuó como lı́der, se inició la ejecución del comportamiento de segui-
miento, lo que produjo oscilaciones hacia delante y hacia atrás en los robots, hasta que
todos ellos alcanzaron la distancia óptima, momento en el cuál todos se detuvieron
por completo. Luego, se inició la ejecución en el lı́der de la trayectoria preestablecida.
Las experimentos realizados incluyeron trayectorias de cı́rculos amplios y movimiento
en zigzag.
En todos los experimentos los robots lograron mantener la formación. La figu-
ra 5.2 muestra los movimientos de los robots para las dos trayectorias. Aquı́ puede
81

Trayectoria circular
Robot Menor Entre Entre Entre Mayor
a 0.1 0.1 y 0.2 0.2 y 0.8 0.8 y 0.9 a 0.9
1 0% 2% 98 % 0% 0%
2 1% 9% 87 % 1% 2%
3 3% 23 % 66 % 3% 5%

Trayectoria zigzag
Robot Menor Entre Entre Entre Mayor
a 0.1 0.1 y 0.2 0.2 y 0.8 0.8 y 0.9 a 0.9
1 8% 9% 71 % 4% 8%
2 11 % 12 % 57 % 5% 15 %

Tabla 5.1: Distribución de los valores del sensor frontal en cada robot para formaciones
en fila.

verse que ningún robot se apartó de la formación, y que todos los robots siguieron
aproximadamente la misma trayectoria (que puede ser distinta a la del lı́der, como
en el caso de movimientos en zigzag). La tabla 5.1 muestra el porcentaje de tiempo
que los sensores delanteros del robot permanecen dentro de cada rango de valores. El
robot número 1 es el primero de la formación, luego del lı́der. Nótese que, en forma
sistemática, el porcentaje de tiempo que los sensores toman valores medios es decre-
ciente con el número de robot, lo cuál indica que la performance del comportamiento
se degrada con la cantidad de robots que separan al robot en cuestión del lı́der. Este
fenómeno es razonable, y puede explicarse por el hecho de que los movimientos de un
robot se ven amplificados por los robots que lo siguen, y cualquier variación mı́nima
en la trayectoria de los robots delanteros producen cambios importantes en los de
atrás.

5.2.2. Formaciones en diagonal


Para probar formaciones en diagonal, se utilizaron las funciones de refuerzo mo-
dificadas. Antes de verificar los resultados en formaciones, realizamos unas pequeñas
82

a) b)

Figura 5.2: Formación en columna. a) Trayectoria de cı́rculos amplios y b) Trayectoria


en zigzag.
83

Figura 5.3: Comportamiento de seguimiento en diagonal. El robot logra alcanzar la


posición óptima ubicado inicialmente con el objetivo del lado opuesto al deseado.

pruebas de este comportamiento en forma individual. En ellas el robot fue capaz de


seguir en diagonal a un objetivo cuando éste se movı́a a baja velocidad y con trayecto-
rias no demasiado bruscas, y fue capaz de alcanzar la posición correcta a partir de una
variedad importante de posiciones iniciales (ver figura 5.3). A velocidades más altas
o con trayectorias más complejas, el robot no logró evitar perder de vista al objetivo.
Además, para las pruebas exitosas, la calidad del comportamiento fue menor respecto
del seguimiento frontal, y el robot experimentó algunos movimientos oscilatorios y no
fue capaz de imitar en todo momento la velocidad del objetivo.
Creemos que esto se debe a varios motivos, entre otros el hecho de que la capacidad
de sensado de los robots es mucho mayor en el frente que en diagonal, y que la cantidad
de movimientos del robot que hacen que el objetivo permanezca dentro del área de
sensado es menor aún que en el caso de seguimiento en lı́nea recta.

Para probar las formaciones en diagonal, realizamos dos tipos de experiencias. En


las primeras, los robots partireron de una posición inicial de fila, con robot delantero
actuando como lı́der y moviéndose lentamente en lı́nea recta. En esta experiencia
se verificó la capacidad de alcanzar la formación y manentenerla con una trayectoria
84

Movimiento rectilı́neo a partir de formación en fila


Robot Menor Entre Entre Entre Mayor
a 0.1 0.1 y 0.2 0.2 y 0.8 0.8 y 0.9 a 0.9
1 9/ % 11 % 79 % 0% 1%
2 8% 15 % 67 % 7% 3%
3 20 % 14 % 53 % 4% 9%

Giro abrupto del lı́der


Robot Menor Entre Entre Entre Mayor
a 0.1 0.1 y 0.2 0.2 y 0.8 0.8 y 0.9 a 0.9
1 0% 2% 93 % 3% 4%
2 9% 9% 69 % 6% 7%

Tabla 5.2: Distribución de los valores del sensor lateral en cada robot para formaciones
en diagonal.

muy simple. El resultado de esta experiencia fue exitoso (ver figura 5.4). Las segundas
experiencias tuvieron como objetivo verificar el comportamiento con una trayectoria
más compleja. Para ello, los robots partireron de una posición inicial óptima (alineados
en diagonal). La trayectoria del lı́der incluyó un giro de 90◦ luego de unos pocos
segundos de comenzada. En este caso el resultado también fue exitoso: los robots que
lo seguı́an no lo perdieron de vista y fueron capaces de acomodarse en diagonal con
la nueva orientación (ver figura 5.5).

Al igual que en el caso de formaciones en fila, para comparar la performance de los


robots, utilizamos como medida el porcentaje de tiempo que los sensores de cada robot
reciben valores dentro de distintos rangos, sólo que considerando los sensores 0 y 1 en
lugar de los frontales (tabla 5.2). Nótese que estos valores no pueden utilizarse para
comparar el comportamiento de formaciones en diagonal respecto de las formaciones
en fila, ya que los sensores diagonales representan una superficie y un ángulo de giro
mucho mayor que los sensores frontales, cuyas areas de sensado se encuentran casi
superpuestas. En esta tabla se verifica que, al igual que en las formaciones en file, la
calidad del comportamiento se reduce sistemáticamente con la distancia al lı́der.
85

Figura 5.4: Formaciones en diagonal. Los robots parten de una formación en fila y
alcanzar una formación en diagonal mientras avanzan hacia delante siguiento al lı́der.
86

Figura 5.5: Formaciones en diagonal. El lı́der realiza un giro de 90◦ en el lugar y los
demás robots logran mantener la formación.
Capı́tulo 6

Conclusiones y trabajo futuro

En este trabajo estudiamos la tarea de seguimiento de objetivos móviles en el


contexto de robots autónomos de sensado local. La complejidad de esta tarea depende
en gran medida de la capacidad de sensado del robot: en nuestro caso, trabajamos con
robots dotados únicamente de sensores infrarrojos de muy corto alcance. Analizamos
tres técnicas para la sı́ntesis de comportamientos y vimos que todas son difı́ciles de
aplicar a la tarea de seguimiento. Las dificultades más importantes son: el grado de
error de los sensores es muy grande y depende de variables externas, no es sencillo
generar un modelo del sistema a partir de los valores de los sensores, el espacio de
situaciones y acciones es demasiado grande y su exploración se ve dificultada por el
reducido alcance de los sensores.
Presentamos luego un método que nos permite aplicar técnicas de aprendizaje
por refuerzo a este problema, y obtener comportamientos en tiempos de aprendizaje
muy cortos. Este método está basado en: 1) la división de la tarea de seguimiento
a partir de la transformación del espacio de acciones, 2) el aprendizaje de las sub-
tareas con el objetivo detenido, 3) la ejecución simultánea de las acciones de ambos
subcomportamientos a partir de su combinación en una única acción y 4) la super-
posición de los ciclos de control. Utilizamos también un método de clustering basado
en redes neuronales artificiales, denominado QRBF, que permite representar, en una
misma red y en forma uniforme, el espacio de situaciones, acciones y utilidad (valores

87
88

q). El método presentado soluciona las dificultades que surgen con el uso de RL en
problemas de robots reales: los espacios de situaciones y acciones se ven reducidos y
simplificados y los entornos estáticos nos permiten mejorar la exploración y obtener
refuerzos inmediatos. La superposición de los ciclos de control hace que las acciones
incorrectas sean abortadas y corregidas luego de un breve lapso de tiempo. La técnica
de sı́ntesis de comportamientos presentada en este trabajo puede ser aplicada en el
desarrollo de otros comportamientos de robots autónomos, en particular para tareas
de navegación.
Los comportamientos de seguimiento obtenidos fueron capaces de seguir a obje-
tivos que se movı́an con diversas trayectorias y velocidades. Los movimientos de los
robots fueron suaves, con giros y cambios de velocidad graduales. En las experiencias
puede verse que cuando el objetivo se detiene, el robot también lo hace. Además, se
ve cómo los movimientos suaves del robot hacen que éste realice .atajos”en su trayec-
toria cuando el objetivo realiza movimientos bruscos (por ejemplo, giros en el lugar).
Además, a pesar de que el aprendizaje se realizó con el objetivo detenido, al ejecutar
el comportamiento con el objetivo en movimiento, el robot logra imitar la velocidad
del objetivo. Esta caracterı́stica emergente fue analizada formalmente y verificada en
los experimentos.
Luego, aplicando este comportamiento a un grupo de robots, obtuvimos formacio-
nes de fila de manera emergente y sin ningún tipo de comunicación entre los robots,
sin control central y sin sensores externos. Los robots fueron capaces de mantener la
formación siguiendo trayectorias rectilı́neas, circulares y en zigzag a diferentes veloci-
dades, indicadas por movimientos en el robot delantero. Lograron también aquı́ imitar
la velocidad del robot de adelante, y detenerse por completo (luego de un perı́odo de
acomodamiento) cuando se detenı́a el lı́der. Puede notarse que la performance en los
robots delanteros es superior a la de los robots de atrás. Esto se debe en parte a
que los movimientos de un robot son amplificados por los robots que lo siguen, con
lo que pequeñas oscilaciones o variaciones en el robot de adelante producen cambios
importantes en los robots de atrás.
89

Utilizando el mismo método y variando la función de refuerzo, obtuvimos com-


portamientos de seguimiento en diagonal. Analizándolos en forma individual, estos
comportamientos fueron menos estables y robustos que los de seguimiento frontal:
en muchos casos los robots perdı́an de vista a su objetivo, realizaban movimientos
incorrectos u oscilaban demasiado. Tampoco fueron capaces de imitar con exactitud
la velocidad del objetivo. Esto posiblemente se deba en parte a que la capacidad
de sensado de nuestros robots es mayor en la zona frontal, y es nula si el objetivo
se encuentra an 90◦ , y a que para el seguimiento en diagonal es menor la cantidad
de acciones adecuadas en cada situación. De todas maneras, aplicando el comporta-
miento en formaciones se logró que los robots alcancen la posición correcta y puedan
mantenerla con el robot delantero avanzando en lı́nea recta e incluso realizando giros
bruscos.
Con los resultados obtenidos comprobamos la factibilidad de sı́ntetizar compor-
tamientos relativamente complejos con equipos de sensado limitados, y de obtener
comportamientos colectivos emergentes sencillos a partir de comportamientos indivi-
duales. Creemos que esto es importante en el campo de robots cooperativos porque
permite soluciones más flexibles, robustas y escalables que aquellas que se basan en
la comunicación entre robots o en sensores compartidos. Creemos además que solu-
ciones como la presentada en este trabajo pueden resultar también de utilidad como
”ladrillos”para la construcción de tareas colectivas complejas, optimizando el uso de
los recursos disponibles y liberando sensores sofisticados y ancho de banda de comu-
nicación para subtareas de más alto nivel.
Hemos detectado diversas áreas para la continuación de este trabajo. Serı́a intere-
sante aplicar el método presentado en otros problemas, tanto para tareas de un solo
robot como para sistemas multi-robot. Las pruebas preliminares que hemos hecho
permiten suponer que puede ser utilizado con éxito para seguimiento de paredes (wall
following) y corredores, traslado de cajas (box pushing) y observación de múltiples
objetivos (CMOMMT).
Respecto de la descomposición del espacio de acciones, serı́a interesante estudiar
90

de qué forma este mismo método puede aplicarse en acciones producidas por otro
tipo de actuadores, como por ejemplo brazos mecánicos.
Vimos que los comportamientos obtenidos con esta técnica, aunque funcionan
adecuadamente, no son los óptimos. Una idea interesante es utilizarlos para mantener
controlado el entorno (en el caso de seguimiento, para no perder de vista al objetivo)
durante el aprendizaje de la polı́tica óptima en el entorno real, o utilizarlos como
base para la construcción de la polı́tica óptima en forma incremental a partir de éstos.
Para completar la autonomı́a completa de los robots, serı́a también interesante incluir
algún tipo de adaptación de la polı́tica óptima durante la ejecución, o de aprendizaje
continuo para adaptarla a los cambios del entorno (por ejemplo, dı́a/noche) o a fallas
en los sensores.
Por último, respecto de la solución a la tarea de formaciones obtenida en este
trabajo, todavı́a dista en eficiencia y capacidad de las soluciones que utilizan equipos
más sofisticados. Serı́a interesante, para mejorar esta solución, la incorporación de un
comportamiento de evitar obstáculos, alguna técnica de predicción de la posición del
objetivo para los casos en los cuales éste es perdido de vista (por ejemplo, a partir de
los últimos valores de los sensores o de las últimas acciones), la prueba de esta técnica
en formaciones con otras formas geométricas y el cambio dinámico de la forma durante
la ejecución. Como hemos verificado que la performance de los comportamientos se
degrada con la cantidad de robots, otro estudio interesante resultarı́a de cuantificar
esta degradación y estudiar si existe un lı́mite en cuanto a la cantidad de robots para
el uso de este método, y evaluar soluciones a este problema.
Referencias

[1] James Albus. A new approach to manipulator control: The cerebellar model
articulation controller. Transactions of the ASME, pp. 220–227, 1975.

[2] C.W. Anderson. Q-learning with hidden-unit restarting. En Advances in Neural


Information Processing Systems 5, pp. 81–88, 1993.

[3] Ronald Arkin. Motor schema based navigation for a mobile robot: An approach
to programming by behavior. En Proceedings of the IEEE Conference on Robotics
and Automation, pp. 264–271, 1987.

[4] Ronald Arkin. Behavior-Based Robotics. MIT Press, 1998.

[5] Tucker Balch. Behavior-based formation control for multi-robot teams. IEEE
Transactions on Robotics and Automation, 14(6):1–15, 1999.

[6] Tucker Balch and Ronald Arkin. Communication in reactive multiagent robotic
systems. Autonomous Robots, 1:27–52, 1994.

[7] Diego Bendersky. Robot formations as an emergent collective task using target-
following behavior. Argentinian Symposium on Artificial Intelligence (ASAI)
2002.

[8] Diego Bendersky and Juan Santos. Reinforcement Learning for the Target Fo-
llowing Behavior Using Task Decomposition by Action, En Intelligent Robots:
Vision, Learning and Interaction. KAIST Press (en prensa), 2003.

91
92

[9] Andrea Bonarini and Filippo Basso. Learning to compose fuzzy behaviors for
autonomous agents. Int. Journal of Approximate Reasoning, 17(4):409–432, 1997.

[10] Rodney Brooks. A robust layered control system for a mobile robot. IEEE
Journal of Robotics and Automation, RA-2(1):14–23, 1986.

[11] J. del R. Millàn. Rapid, safe and incremental learning of navigation strategies.
IEEE Transactions on Systems, Man and Cybernetics. Special issue on Learning
Autonomous Robots, 26(3):408–420, 1996.

[12] E. Franzi F. Mondada and P. Ienne. Mobile robot miniaturization: A tool for
investigation in control algorithms. En Proceedings of the Third International
Symposium on Experimental Robotics, Kyoto, Japan, 1993.

[13] Jakob Fredslund and Maja Mataric. A general, local algorithm for robot forma-
tions. IEEE Transactions on Robotics and Automation, special issue on Multi
Robot Systems, 2002.

[14] Bernd Fritzke. Growing cell structures – a self-organizing network for unsuper-
vised and supervised learning. Neural Networks, 7(9):1441–1460, 1994.

[15] Michael Jenkin Gregory Dudek and Evangelos Milios. Robot Teams: From Di-
versity to Polymorphism, chapter 1: A Taxonomy of Multirobot Systems. A.K.
Peters Ltd., 2002.

[16] A. Koch John Hertz and R. Palmer. Introduction to the Theory of Neural Com-
putation. Addison-Wesley Publishing, 1991.

[17] David Jung. An architecture for Cooperation among Autonomous Agents. PhD
thesis, Intelligent Robotics Laboratory, University of Wollongong, Australia,
1998.

[18] K-Team. Khepera User Manual, version 5.02, 1999.


93

[19] P. Kaelbling and A. Moore. Reinforcement learning: A survey. Journal of Arti-


ficial Intelligence Research, pp. 237–285, 1996.

[20] Jonas Karlsson. Learning to Solve Multiple Goals. PhD thesis, University of
Rochester, Rochester, New York, 1997.

[21] O. Khatib. Real-time obstacle avoidance for manipulators and mobile robots. En
Proceedings of the IEEE International Conference on Robotics and Automation,
pp. 500–5005, 1985.

[22] Teuvo Kohonen. Self-Organization and Associative Memory. Springer Series in


Information Sciences. Springer Verlag, 1988.

[23] R. Matthew Kretchmar and Charles W. Anderson. Comparison of cmacs and


radial basis functions for local function approximators in reinforcement learning.
En Proceedings of the International Conference on Neural Networks, 1997.

[24] Long-Ji Lin. Reinforcement Learning for Robots Using Neural Networks. PhD
thesis, Carnegie Mellon University, Pittsburgh, 1993.

[25] Maja Mataric. Learning to behave socially. En Proceedings, From Animals to


Animats 3, Third International Conference on Simulation of Adaptive Behavior,
pp. 453–462. MIT Press, 1994.

[26] Maja Mataric. Reward functions for accelerated learning. En Machine Lear-
ning: Proceedings of the Eleventh International Conference. Morgan Kaufmann
Publishers, 1994.

[27] Maja Mataric. Designing and understanding adaptive group behavior. Adaptive
Behavior, 4(1):51–80, 1995.

[28] Roxana Matuk and Juan Santos. The clustering aliasing problem in reinforce-
ment learning for robots. En Proceedings of the Fifth European Workshop on
Reinforcement Learning, pp. 33–35, Utrecht, The Netherlands, 2001.
94

[29] John Moody and Christian Darken. Fast learning in networks of localy-tuned
processing units. Neural Computation, 1:281–294, 1999.

[30] Lynne Parker. Designing control laws for cooperative agent teams. En Procee-
dings of the 1993 IEEE International Conference on Robotics and Automation,
pp. 582–587, 1993.

[31] Lynne Parker. Cooperative robots, 2000. Escuela de Ciencias Informáticas,


Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires.

[32] Lynne E. Parker. Behavior-based cooperative robotics applied to multi-target ob-


servation, En Intelligent robots: Sensing, modeling, and planning, pp. 356–373.
World Scientific, 1997.

[33] Lynne E. Parker. Alliance: An architecture for fault-tolerant multi-robot coope-


ration. IEEE Transactions on Robotics and Automation, 14(2):220–240, 1998.

[34] Lynne E. Parker. Current state of the art in distributed autonomous mobile
robotics. Distributed Autonomous Robotic Systems, 4:3–12, 2000.

[35] Lynne E. Parker and Claude Touzet. Multi-robot learning in a cooperative ob-
servation task. En Proceedings of Fifth International Symposium on Distributed
Autonomous Robotic Systems, 2000.

[36] J. Rosenblatt. Damn: A distributed architecture for mobile navigation. Wor-


king Notes AAAI 1995 Spring Symposium on Lessons Learned for Implemented
Software Architectures for Physical Agents, March 1995.

[37] Juan Miguel Santos. Contribution to the study and the design of reinforcement
functions. PhD thesis, Universidad de Buenos Aires, Universite d’Aix-Marseille
III, 1999.

[38] Sebastian Thrun. Efficient exploration in reinforcement learning. Technical Re-


port CMU-CS-92-102, Carnegie-Mellon University, 1992.
95

[39] Claude Touzet. Neural reinforcement learning for behaviour synthesis. Robotics
and Autonomous Systems, 22:251–281, 1997.

[40] Claude Touzet. Bias incorporation in robot learning. submitted for publication
in Autonomous Robots, 1998.

[41] Claude Touzet. Robot awareness in cooperative mobile robot learning. Autono-
mous Robots, 8(1):87–97, 2000.

[42] C. J Watkins. Learning from Delayed Rewards. PhD thesis, King’s College,
University of Cambridge, 1989.

[43] Alex Fukunaga Y. Cao and Andrew Kahng. Cooperative mobile robotics: Ante-
cedents and directions. Autonomous Robots, 4:1–23, 1997.

[44] Ping Zhang and Stphane Canu. Indirect adaptive exploration in entropy ba-
sed reinforcement learning. En Proceedings of the International Conference on
Artificial Neural Networks, pp. 354–359, 1995.