Post on 09-Jul-2015
TALLERQUEMES
Enrique GonzálezLaura Cortés
Fabián Roldán
Universidad Javeriana – Bogotá - Colombia
Campus Party 2011Junio 2011
Presentación Participantes
• Quién soy? Qué hago? Qué profesión tengo o voy a tener?
• Qué expectativas tengo en torno a este taller?
Agenda del Taller
• Robótica Cooperativa– Requerimientos RC– Paradigma Sistemas Multi-Agentes– Programación Orientada a Eventos
• Plataforma QUEMES– Conceptos y modelo– Programar en la plataforma con un Ejemplo– Reto para los Campuseros
Robótica Cooperativaen un Entorno Orientado a
Eventos
Enrique González
Universidad Javeriana – Bogotá - Colombia
Campus Party 2011Junio 2011
Proyecto Agentes Cooperativos
• MalokaUnidad de investigación y DesarrolloGrupo de Educación y Tecnología
• Universidad JaverianaFACULTAD DE INGENIERÍAGrupos de Investigación SIDRe – SIRP – Takina
• Universidad de los AndesFACULTAD DE INGENIERÍAGrupo de Investigación GIAP
• COLCIENCIASEntidad Financiadora
RC
Robótica Cooperativa
Cooperar
RAE: Obrar juntamente con otro u otros para un mismo fin.
“(…) Porque lo que es lo más productivo, es que todos en el grupo, quieran también para ellos y
para… el GRUPO.”
Robots Cooperativos
Equipo de robots que trabajan en forma conjunta para un mismo fin.
Ejemplos de Robots Cooperativos??
Qué se requiere en RC?
Distribución espacial que puedan generar los robots.
El espacio es un recurso y un objetivo al mismo tiempo.
Distribuir a los agentes sobre un terreno y así mismo dividirlo en subregiones de exploración.
2
100
100
total
rec
total
total
rec
A
nA
xn
A
xA
A
AD⋅==
El promedio de los indicadores para cada agente debe estar cercano a 1 para afirmar que el indicador global es positivo.
RC - Requerimientos
La adición de miembros al equipo va a mejorar el desempeño y la eficiencia globales.
Redundancia de Tareas vs. Eficiencia.
RC - Requerimientos
La comunicación es intencional y se asimila a una acción..
La comunicación es imprescindible para que exista Cooperación como postura intencional.
Si se hace uso eficiente del canal de comunicación, el indicador es positivo.
RC - Requerimientos
Totipotencia: capacidad para desarrollar varios tipos de tareas.
Especialización: mejoramiento en la capacidad de realizar una tarea.
Todos los robots deben realizar tareas básicas: movimiento y aporte en la construcción del mapa global.
La redundancia permite que si un agente falla, otro lo reemplace.
RC - Requerimientos
Implica una división y asignación de tareas y recursos según habilidades y disposición de los robots.
Mayor eficiencia, equilibrio de carga y reducción de la inactividad de los miembros.
RC - Requerimientos
Implica la construcción de planes distribuidos que involucran simultáneamente a varios robots.
La ejecución del plan se logra mediante el uso de mecanismos de sincronización.
RC - Requerimientos
Es necesario implementar mecanismos de arbitramento y negociación cuando aparezcan metas incompatibles y recursos insuficientes.
El sistema debe solucionar conflictos de espacio y de canales de comunicación eficientemente.
Se evaluará este criterio mediante la relación entre la cantidad de conflictos solucionados y la cantidad de conflictos que se presentaron.
RC - Requerimientos
Es posible incrementar el nivel de cooperación si se buscan relaciones competitivas entre los miembros del equipo.
RC - Requerimientos
A nivel funcional, los agentes deben poseer habilidades acordes con la tarea y el medio en el cual se deben desenvolver.
Medios de locomoción adecuados, sistemas sensoriales que beneficien la navegación y la interpretación del mundo, y sistemas de comunicación.
RC - Requerimientos
Debe existir un mecanismo en los agentes que les permita entender el entorno en el cual se desenvuelven y así mismo su ubicación en el mismo.
Es deseable incorporar la capacidad de realizar predicciones sobre diferentes estados futuros.
RC - Requerimientos
El sistema debe estar en capacidad de cumplir con la tarea, reaccionar de manera adecuada y mantener la operación frente a fallas de comunicación.
La falla de un robot no debería implicar la falla de todo el sistema.
RC - Requerimientos
Agentes y Sistemas MultiAgentes
Por qué Agentes en RC?
SistemaSistemaRobóticoRobótico
ParadigmaParadigmaSMASMA
Integración SistemaIntegración Sistema
RacionalidadRacionalidad
Concurrencia ImplícitaConcurrencia Implícita
Alta ComplejidadAlta Complejidad
No DeterminismoNo Determinismo
Metodología DiseñoMetodología Diseño
Paralelismo HWParalelismo HW
Definición: un agente es una entidad autónoma que actúa para cumplir sus metas en un ambiente de trabajo.
Qué ejemplos proponen?
Concepto de Agente
Ambiente - Percepción / Acción
En el ambiente de trabajo los elementos se rigen por las leyes del universo
Un sistema es autónomo si:
–Toma sus propias decisiones
–Controla su estado interno
Agente – Entidad Autónoma
Metas
-se representan como situaciones que el agente desea alcanzar
- las acciones buscan proactivamente lograr estas situaciones
Agente – Motivado por Metas
Un agente puede cooperar en conjunto con otros agentes para alcanzar metas comunes como equipo.
Para cooperar intercambia mensajes
Por ejemplo …
Agente – Entidad Social
MetasMetas
PercepciónPercepción
AcciónAcción
ModeloModeloPoseer RecursosPoseer Recursos
Proveer ServiciosProveer ServiciosComunicarseComunicarse
ReproducirseReproducirse
ComportamientoComportamiento
Agente Racional?
• Agente → Entidad Concurrente– Proactivo
• trabaja “continuamente” para alcanzar sus metas
– Cooperativo• metas del agente supeditadas a las del sistema
– Rol • define las responsabilidades del agente• identifica sus relaciones con el ambiente y otros
agentes • posee una semántica clara en el contexto del problema
de aplicación
Modelo de Agencia
sistema sistema →→ compuesto por entidades bien semantizadascompuesto por entidades bien semantizadas
• Cooperación– Interacciones Semantizadas
• relaciones entre agentes tienen un alto grado de abstracción
– asignación y distribución de tareas– sincronización y planificación– resolución de conflictos
– Protocolos de Interacción• conversaciones bien formadas que definen patrones de
comunicación• actos del lenguaje → intencionalidad y datos
cuando las relaciones tienen una semántica claracuando las relaciones tienen una semántica claraes más fácil construir y verificar un sistemaes más fácil construir y verificar un sistema
Cooperación e Interacciones
Cooperación
ColaboraciónColaboración
Coordinación de AccionesCoordinación de Acciones
Solución de ConflictosSolución de Conflictos
CooperaciónCooperación
+
Asignación Tareas/Recursos
Planificar y Sincronizar
Objetivos y Recursos
ComunicaciónComunicación
Explícita - Mensajes
Implícita - Ambiente
Protocolos de InteracciónProtocolos de Interacción
ColaboraciónAsignación Tareas y Recursos
TAREAS RECURSOS
Objetivos
Roles y FormacionesRoles y Formaciones
Asignación por OfertaRed Contractual
Mediador
Oferta
Aceptación
Petición
Petición
PeticiónOferta
Solución de Conflictos
Objetivos IncompatiblesObjetivos Incompatibles Acceso a RecursosAcceso a Recursos
Jerarquía de los Agentes
Prioridad del Objetivo
Negociación Compromisos
Regulaciones
Limitar o Controlar losEfectos
• Visión Organizacional– Análisis Recursivo Iterativo
• organización es descompuesta en otras más simples
• las metas y las relaciones de la organización original se delegan a las más simples
• aparecen nuevas interacciones entre las organizaciones más simples para el logro de las metas comunes
diseño del sistema basado en una estrategia dediseño del sistema basado en una estrategia dedescomposición es sistemáticodescomposición es sistemático
produce una arquitectura modular y bien estructuradaproduce una arquitectura modular y bien estructurada
Gestión de la Complejidad
Organizaciones MultiAgentes
Recursividad SistémicaRecursividad SistémicaDiferentes RolesDiferentes Roles
Programación Orientada a Eventos
AcciónCorrecta
Secuencia de Percepción
Acción 1...Acción M ?
Mapeo
AmbienteTi
AmbienteTi+n
Metas
Mapeo Percepción/Acción
Concepto de Evento
Definición
• Un evento es la ocurrencia de un suceso que es de interés para uno o más agentes
• Un evento, a menudo, no sólo indica que paso algo, sino también trae información adicional sobre lo ocurrido
Ejemplos en Robótica?
Propiedades
– Si hay un cambio en el ambiente de trabajo se dice que ocurre un evento
– Si a un agente le llega un mensaje de otro agente, éste se percibe como un evento
–A menudo los eventos se encadenan• La ocurrencia de un evento genera una acción, la cual termina con un evento que genera otra acción
Concepto de Evento
ProgramaTratamiento { Modificar Estado Tomar Decisión Efectuar Acción Enviar Mensajes}
Tratamiento de EventosPrograma de Tratamiento
Cada evento debe tener asociado un programa de tratamiento que indica que es lo que hay que hacer en reacción al evento recibido.
Ejemplos de Programas de Tratamiento
Robótica Cooperativaen un Entorno Orientado a
Eventos
Enrique GonzálezUniversidad Javeriana
Bogotá - Colombia
Faculty of Engineering
Computer Science DepartmentResearch Groups SIDRE-SIRP
egonzal@javeriana.edu.co
Agenda del Taller
• Robótica Cooperativa– Requerimientos RC– Paradigma Sistemas Multi-Agentes– Programación Orientada a Eventos
• Plataforma QUEMES– Conceptos y modelo– Programar en la plataforma con un Ejemplo– Reto para los Campuseros
Reto para los Campuseros
• Marco de Atención de Emergencias– Robot-Ambulancias deben ir a recoger heridos– Ciudad representada por una cuadrícula
• Retos Progresivos– MonoRobot
• Ir aun sitio de destino establecido
– MultiRobot• Evitar colisiones entre robots concurrentes• Asignar la ambulancia más cercana a la emergencia