Inteligencia Artificial - Facultad de Ingeniería

Anuncio
Robótica basada en
comportamientos
Comportamiento Social
Facultad de Ingeniería
Instituto de Computación
Objetivos de la clase
• Entender los beneficios y complejidades de los
sistemas robóticos multiagentes
• Conocer las diferentes dimensiones en las que
puede ser caracterizado un equipo de robots
• Presentar las diferencias entre el comportamieto
social y el comportamiento de un solo agente
robótico
Definiciones previas
• Sistema Multiagente
Sistemas formados por un grupo de agentes racionales que pueden interactuar entre
sí
• Sistema cooperativo
Sistema multiagente donde se obra conjuntamente con otros para un mismo fin
• Sistema competitivo
Sistema multiagente donde los miembros compiten por alcanzar sus objetivos
• Comportamiento social
Conducta de los individuos dentro de un patrón de relaciones, posiciones, y número
de personas que forman la organización social
• Equipo robótico | Sociedad robótica
Es un sistema multiagente cuyos miembros son agentes robóticos
¿Es mejor un sistema robótico
de N agentes que un único
robot?
Ventajas y desventajas de los
sistemas robóticos multiagentes
Aspectos positivos:
• Mejora de la performance Paralelizando las tareas dentro del
sistema (siempre que la tarea global sea “descomponible”)
• Habilitador de tareas El sistema multi-robot podría permitir cumplir
una tarea que no podría realizarse por un único robot
• Sensado distribuido Compartir información sensada más alla del
rango de los sensores de un único robot
• Acciones distribuidas a distancia Un equipo robótico puede
desarrollar una misma tarea simultáneamente en diferente ubicaciones
• Tolerancia a fallas La redundancia en los agentes puede aumentar la
confiabilidad del sistema global
Ventajas y desventajas de los
sistemas robóticos multiagentes
Aspectos negativos:
• Interferencia ”Demasiados cocineros estropean la sopa”. El volumen de
los agentes reduce el espacio de navegación (colisiones, interfierencia en el
sensado, dificulta la navegación, etc.)
• Comunicación y Robustez ”La comunicación no es gratis”.
- Requiere HW adicional, procesamiento computacional y energía
- Debe manejar el ruido en los canales, ser capaz de detectar “engaños” de
otros agentes, etc.
• Incertidubre sobre las intenciones de los otros El sistema
necesita coordinarse de alguna manera, por lo que necesita saber de los
otros en alguna medida
Ventajas y desventajas de los
sistemas robóticos multiagentes
Que pasa con:
•
Costo del sistema global
En algunos casos, el costo de la suma de los robots podría ser mayor que el costo
de un único robot más complejo que resuelva la misma tarea. En otros casos no, y
es en general lo que sucede considerando ventajas y desventajas de estos sistemas.
Se considera:
•
–
Costo del harwdare
–
Costo de hs. Hombre para ensamblar y mantener los robots
–
Costo de desarrollo
Adaptabilidad
Entendida como la capacidad de modificar el comportamiento de acuerdo a las
circunstancias en las que se encuentre el sistema
En general es una ventaja de los sistemas robóticos multiagentes
•
Complejidad
En general, y para determinadas tareas, cada unidad del sistema robótico es más
simple que uno solo que resuelva toda la tarea
Sociedades cooperativas
Perspectivas estudiadas
• Etológica: estudia cómo los animales cooperan y se comunican entre sí
• Organizacional: analiza en profunidad cómo se estructuran las sociedades
humanas
• Modelos computacionales: estudia los avances y diseños realizos en
las áreas de multiprocesamiento y diseño de sistemas paralelos pertencientes a las
ciencias computacionales
• Inteligencia artificial distribuida: analiza el tratamiento dado a la
cooperación (negociación y otros métodos de Comunicación)
• Planificación de Movimientos: aborda los problemas geométricos y
cinemáticos de múltiples objetos que se mueven en el espacio
• Vida artificial: estudia las formas de relacionadmiento del equipo multiagente
con su entorno incluyendo aspectos de cooperación y competición
Tareas en una sociedad robótica
• Más de allá de las perspectiva tomada, se han
identificado muchos trabajos y resultados útiles para
esta área de la robótica
• Las sociedades robóticas se han estudiado analizando y
tratando de resolver ciertas tareas que se consideran
estándar y que son tomadas en la naturaleza:
•
•
•
•
•
Foraging (recolectar)
Consuming (alimentarse)
Grazing (pastoreo)
Flocking (formaciones o bandadas)
Object transport (Transporte de objetos)
Tareas en una sociedad robótica (cont.)
Tareas como caso de estudio:
• Foraging (recolectar)
• Consuming (alimentarse)
• Grazing (pastoreo)
• Flocking (formaciones;bandadas)
• Object transport (Transporte de objetos)
Consideraciones etológicas
Actividad social en el comportamiento
animal:
• Comportamientos sociales simples
- Hacer lo que hacen los otros (ej: contagio del bostezo)
- Comportamiento recíproco
- Comportamiento antagónico (oponerse, conflicto, agresión)
• Comportamientos de apareamientos
- Persuadir, sosegar, aquietar
- Orientación, enfoque
Tinbergen,1953
Consideraciones etológicas (cont.)
Actividad social en el comportamiento
animal (cont.):
• Comportamientos de “familia” o grupos de vida
- Comportamientos de defensa de las manadas: ataque, alerta,confusión por
amontonamiento
- Congregaciones, usando olfato o visión
- Comportamientos “infecciosos” que se expanden en la sociedad (alarma,
sueño, alimentación)
• Comportamientos de lucha
- Lucha reproductiva (evitar que los rivales estén igualmente posicionados)
- Hostilidad mutua (extender la sociedad sobre una región para dominarla)
- Ordenamiento (establecer jerarquías de dominancia, lo cual reduce las
luchas)
Tinbergen,1953
Consideraciones etológicas (cont.)
Otros resultados influyentes:
• Factores del entorno (Croy and Hughes, 1991)
El impacto de los factores del entorno tales como suministro de alimentos, el hambre,
el peligro y la competencia en el comportamiento de alimentación de los peces
• Comportamiento y comunicación de multitudes (Kaufmann,
1974)
Comportamientos emergentes, naturaleza de la comunicación que soporta este
grupo de comportamientos
• Estudio de los primates relativas a su organización en
colonias (Altmann, 1974)
• Otros...
Características del comportamiento
Social
Desde el punto de vista social, un equipo de robots
puede ser categorizado a través de varias dimensiones:
• Confiabilidad
• Organización
• Comunicación
• Distribución espacial
• Congregaciones
• Desempeño
Consideraciones de diseño
El propósito de un equipo robótico (para qué es
construído) influencia las decisiones de diseño sobre:
• comunicación
• organización
• estrategias de comportamiento
• etc.
Considerando además si son apropiadas para la tarea
a realizar en un entorno específico
Consideraciones de diseño (cont.)
• Los equipos robóticos pueden ser clasificados
de diferentes formas (taxonomías)
• Esto ayuda a definir el espacio de diseño de
estas sociedades
Consideraciones de diseño (cont.)
Taxonomía simple
• Cooperación activa o no activa
Se comparte o no un objetivo común
• Nivel de independencia
El control es centralizado o distribuído (o una combinación de ambos)
• Tipos de comunicación
explícita:
• se comparte una señal intencionalmente entre dos o más robots
implícita:
• La información se infiere a través de la observación de la conducta de los otros
agentes
• La información se comparte a través del entorno (sonido, colores, sustancias
químicas, etc.)
Premvuti, Yuta. Japón 1990-1993
Consideraciones de diseño (cont.)
Taxonomía más compleja
•
•
•
•
•
•
Tamaño del equipo
Rango de comunicación
Topología de la comunicación
Reconfiguración del equipo
Capacidad de la unidad de procesamiento
Composición del equipo
Dudek y otros -1993
Consideraciones de diseño (cont.)
Otro enfoque considera 4 ejes a estudiar:
• Arquitectura
El control es centralizado o distribuido
• Diferenciación de agentes
La estructura y sistema de control de los agentes es idéntica o diferente
• Estructura de la comunicación
a través del entorno: “seguir un camino dejado por otro robot”
a través del sensado: observando las acciones de los otros
a través de comunicación: compartiendo señales intencionales
• Modelo de las intenciones, capacidades, estados o
creencias de los agentes
Cao y otros -1995
Consideraciones de diseño (cont.)
• No es posible afirmar que estas taxonomías pueden
expresar adecuadamente el amplio rango de
posibilidades de diseño de un equipo robótico
• Arkin propone analizar las siguientes dimensiones:
1.Estructura y organización social
2.Comunicación
3.Percepción distribuida
4.Aprendizaje social
Se abordará cada una mostrando
resultados de investigaciones que
incluyeron prototipación en robots
reales
1. Estructura y organización Social
The Nerd Herd
• Expande el concepto de la arquitectura
Subsumption para aplicarlo a equipos robóticos
• En este enfoque se han especificado múltiples
comportamientos sociales básicos. Entre ellos:
– Homing: cada agente se esfuerza por moverse a una zona o ubicación objetivo
deseada (home)
– Dispersion: los agentes cubren una gran área. Se dispersan por el área hasta
establecer y luego mantener una separación mínima entre ellos
– Aggregation: los agentes tratan de acercarse entre sí hasta alcanzar y luego
mantener la proximidad deseada
– Following: los agentes se siguen entre ellos. Mantener atrás o al lado de otro
robot
– Safe wandering: los agentes deambulan evitándose entre sí y a los obstáculos
Maja Mataric y otros -1994
1. Estructura y organización Social
The Nerd Herd (cont.)
• Al igual que Subsumption usa una codificación basada en reglas
Aggregate:
If an agent is outside the aggregation distance
turn toward the aggregation centroid and go.
else
stop
• Coordinación de comportamientos. Dos formas:
Combinación directa: vector suma
Combinación temporal: secuencia de comportamientos
• Información sensorial
Se codifica como predicados que son evaluados por los datos sensoriales,
activando o no comportamientos relevantes (crowded?, have-puck?, at-home, etc.)
1. Estructura y organización Social
The Nerd Herd (cont.)
• Los comportamientos pueden ser combinados para representar
comportamientos sociales más complejos . Ejemplos:
flocking: safe wondering +aggregation+dispersion
surrounding: safe wondering +following +aggregation
• El aporte de este enfoque es usar y diseñar comportamientos
que manifiestan comportamientos sociales basados en modelos
animales que se pueden desarrollar con hw/sw “simple” (no hay
algo nuevo a nivel arquitectura)
1. Estructura y organización Social
Alliance Architecture
• Agrega sistema motivacional
Motivaciones: aceptar (conformarse), impaciencia
• Agrega “conjunto de comportamientos”
• Recibe información a través de comunicación explícita
• Puede verse como una capa por encima de la
arquitectura Subsumption que encapsula estas nuevas
capacidades
1. Estructura y organización Social
Comportamientos de “estancamiento”
Estancamiento: ocurre cuando los miembros del
equipo no están cooperando efectivamente entre sí
Problema común en tareas multirobot !
Ejemplo:
– tarea: empujar una caja
– estancamiento: los agentes individuales empujan en
direcciones opuestas
1. Estructura y organización Social
Comportamientos de “estancamiento” (cont.)
Abordajes:
• Alliance: agrega variables motivacionales (ej:
conformidad, impaciencia). Depende en gran
medida de la comunicación
• Arquitectura basada en comportamientos: Agrega
un nuevo comportamiento a la arquitectura general
que modela el estancamiento
1. Estructura y organización Social
Comportamientos de “estancamiento” (cont.)
Ejemplo:
• Tarea: empujar una caja
• Comportamiento de estancamiento: el robot esta en
contacto con la caja, pero esta no es mueve
• Abordaje: comportamiento de estancamiento que anida
otros comportamientos, que se priorizan de acuerdo al
tiempo en que la condición persiste
– Realineación: empujar en otra dirección
– Reposicionamiento: moverse a otra posición en el
perímetro de la caja
2. Comunicación entre Robots
Temas de desarrollar:
•
•
•
•
La necesidad de comunicación
Rango de comunicación
Contenido de la comunicación
Garantía de la comunicación
2. Comunicación entre Robots
La necesidad de comunicación
• No es gratis y puede ser poco confiable
• Puede ser explícita: usando canales específicos
• Puede ser implícita: “observación” del
comportamiento o cambios en el entorno
¿Cómo se debiera incorporar comunicación a un
sistema multirobot?
2. Comunicación entre Robots
La necesidad de comunicación (cont.)
Identificar los “roles” de la comunicación en el equipo ayuda en
el proceso de diseño. Ejemplos:
• Sincronización de acciones
Algunas tareas requieren secuencia o simultaneidad. La comunicación posibilita la
coordinación de estas acciones
• Intercambio de información
Diferentes agentes tienen visiones diferentes del mundo basados en su posición espacial o
conocimiento de eventos pasados. Puede ser útil compartir esto
• Negociación:
Tomar decisiones sobre lo que debiera hacerse. Evita duplicación de esfuerzo.
2. Comunicación entre Robots
La necesidad de comunicación (cont.)
¿ Es importante la comunicación para la cooperación?
Ejemplos:
• La comunicación puede evolucionar a una sociedad de agentes
robóticos simples (MacLennan, 1991)
El sistema multirobot mostró un 84% más de evolución que aquel donde la comunicación
fue bloqueada
•
La información no necesita ser explícita para ser potencialmente útil a un
sistema multiagente (Franklin & Harmong, 1987)
Todos los estudios muestran la utilidad de contar
con algun nivel de comunicación en los equipos robóticos
Arkin establece: para determinadas tareas la
comunicación explícita no es prerequisito para la cooperación
2. Comunicación entre Robots
Rango de comunicación
¿ Cuánto mayor sea el rango de comunicación, mejor será el
sistema?
• No necesariamente
• Si envío un mensaje “en voz baja”, prevengo que otros me escuchen.
¿Pero si el mensaje es de ayuda?
• Si envío un mensaje demasiado alto (gritar), podrían responder
muchos entorpeciendo la tarea global del sistema (ej: explorar un
entorno)
Rango de comunicación: en el sentido de la cantidad y alcance de información que
puedo comunicar
2. Comunicación entre Robots
Contenido de la comunicación
¿ Qué debieran decirse los robots?
• Hay variedad de estudios sobre si es necesaria o no la comunicación
explícita para que un sistema robótico multiagente coopere.
– Se ha mostrado que no es necesaria
– Dependendiendo de la tarea podría ser mas o menos
performante el cumplimiento del objetivo del sistema
• ¿En qué medida mejora la performance del sistema por agregar
comunicación explícita?
2. Comunicación entre Robots
Contenido de la comunicación (cont.)
Se busca cuantificar la performance por agregar comunicación
explícita en Foraging
•Comunicación de estado
Sólo se transmite un bit de información que indica
en qué estado se encuentra el agente.
– 0: wandering (vagando)
– 1: goal-directed (moviéndose al atractor ó trasladádolo a la base)
El agente receptor se mueve hacia el agente (no hacia el objeto atractor) siguiéndolo
hasta llegar al radio del atractor
Es el comportamiento que exhiben los animales
•Comunicación de objetivo
Igual al anterior, pero se transmite la posición del atractor sin necesidad de seguir al
emisor
Balch, Arkin 1994
2. Comunicación entre Robots
Tarea de Foraging (recolección)
Experimentos simulados:
- 2 robots
- 7 objetos a recolectar
- Cuantificar mejora performance (medida en
ciclos de simulación)
Resultados:
A – C:
- la sociedad se vuelve “más goal directed”
- agregar datos a la comunicación mejora la
performance (5.145 c, 4.470c, 3.495c)
2. Comunicación entre Robots
Garantía de la comunicación
• Aún donde la comunicación tenga lugar con los vecinos inmediatos se
pueden producir bloqueos mutuos (deadlocks)
• Ejemplo de deadlock: todos los agentes de la comunidad robótica piden
ayuda al mismo tiempo y esperan la respuesta
• Estrategias:
– Evitar ese escenario
– Dejar que ocurra y luego salir de él
3. Percepción distribuída
- ¿Cómo puede compartirse la información entre los
agentes?
- ¿Cuánta actividad perceptual puede ser coordinada
entre los agentes del sistema?
- ¿Qué información sensorial vale la pena compartir?
- ¿Cómo un sistema percibe el mundo a diferencia de
un único robot?
3. Percepción distribuída (cont.)
Temas a tener en cuenta:
- Distinguir a los miembros del equipo del resto de los
objetos del entorno (kin recognition)
- Discernir las intenciones de los agentes
sd
Cooperación por observación: observar las acciones de los otros
para elegir la acción adecuada dada la situación de la tarea
actual
Utilidad depende de la tarea
4. Aprendizaje Social
• Los equipos robóticos ofrecen nuevas
oportunidades para aprendizaje, particularmente
en:
- auto-organización
- evolución a lo largo del tiempo hacia sociedades
más cooperativas
Ejemplo
Kilobots
Liberación: nov/2011
Origen: Universidad de Harvard, EEUU(*)
Sistema: sistema robótico multiagente,
del tipo enjambre
Motivación: proveer una plataforma de
pruebas real para probar algoritmos
de control distribuidos, en su mayoría
Inspirados biologicamente, y aportar en el
entendimiento del comportamiento colectivo
(* ) Grupo de Investigación de sistemas autoorganizados
dirigidos por Radhika Nagpal, y el profesor Thomas D. Cabot,
Asociado de Ciencias de la Computación en la Escuela de Harvard
de Ingeniería y Ciencias Aplicadas (SEAS) y miembro principal de
la Facultad Wyss Instituto de Ingeniería Inspirada biológicamente
en Harvard. El equipo también incluye a Michael Rubenstein,
becario postdoctoral en la SEAS y Ahler cristiano, miembro de
SEAS y e Instituto Wyss
Ejemplo (cont.)
Kilobots: el agente
Dimensiones: 33 mm de diámetro, 34 mm de altura
Comunicación: IR (un radio de hasta 7 cm)
Sensado: Sensor de brillo de luz ambiente
Movimientos: cada robot tiene dos motores de control
Independiente
Emisor de luz: cada agente tiene un led RGB apuntando
hacia arriba. Cada color tiene 3 niveles de control
de brillo
Programación: C (winAVR)
Costo: U$14 (costo de las partes, no incluye hs hombre)
Tiempo armado: 5 min
Ejemplo (cont.)
Kilobots: pruebas
•
On/off del enjambre
•
Lectura de voltaje
•
Orbitar
•
Seguimiento de trayectoria
•
Recolección
•
Control de formación : “seguir al líder”
•
Sincronización
Referencias
• “Behavior-Based Robotics”, capítulo 9, Arkin,
MIT Press, 0262011654, 1998.
• “Autonomous Robots: From Biological
Inspiration to Implementation and Control”,
capítulo 11, Bekey, MIT Press, 9780262025782,
2005.
• The Kilobot Project
Disponible en:
http://www.eecs.harvard.edu/ssr/projects/progSA/kilobot.html
Visitado: octubre 2012
Descargar