Transcript
Page 1: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

SLATe – Second Life Agent Toolkit

Pedro Loureiro, 51439MEIC - TagusPark

Page 2: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Ambientes Virtuais– Rápida expansão de conteúdo dinâmico

• Alteração do paradigma de produção de conteúdos

– Plataforma capaz de criar Embodied Agents em Ambientes Virtuais 3D Remotos

– Exemplo:• Criação de um Agente

– Cumprimenta-nos acenando– Relata as notícias de última hora– Apresenta as condições meteorológicas para o dia

SLATe – Motivação

Page 3: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Embodied Agents– Ambientes Virtuais 3D Remotos– Corpos customizáveis

• Movimento

– Interacção• Comunicação

– Mensagens

• Animação

– Ambiente Virtual• Second Life

SLATe – Objectivos

Page 4: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Características– Parcialmente observável– Não-determinístico– Sequencial– Dinâmico– Discreto

SLATe – Ambiente Virtual 3D Remoto

Page 5: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Problemas– Agentes sem acesso total ao Estado do Ambiente

• Manter representação do estado observável

– Não-Determinístico + Dinâmico = Incoerência• Representação do estado observável estática• Todos Agentes com acesso à mesma informação

SLATe – Ambiente Virtual 3D Remoto

Page 6: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Análise de Agent Toolkits– Parâmetros

• Comunicação• Curva de Aprendizagem• Suporte à Informação

• Frameworks e Bibliotecas• Embodied Agents no Second Life

SLATe – Estado da Arte

Page 7: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Análise de Agent Toolkits

SLATe – Estado da Arte

Comunicação Curva de Aprendizagem Suporte à Informação

NetLogo Inexistente Boa Muito boa

JADE Boa Boa Boa

Agent Builder Boa Má Má

Agent Factory Boa Má Má

Zeus Boa Má Má

OAA Boa Má Inexistente

Page 8: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Frameworks e Bibliotecas– ION

• INESC-id• Reusabilidade de código• Simulação síncrona• Coerência entre estados• Facilidade de partilha de informação

– Passiva ou Activa– Eventos

SLATe – Estado da Arte

Page 9: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Embodied Agents no Second Life– Kathryn Merrick

• Comportamento emergente• Ciclo de Actualização de Informação dos Agentes

– Helmut Prendinger• AstroSim• Twin-World Mediator

– Actuadores e Sensores no Mundo Real– Solução de Comunicação entre Plataforma e Ambiente

semelhante

SLATe – Estado da Arte

Page 10: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Conclusão– Desenvolvimento de uma nova Plataforma

• ION como base– Simulação síncrona para o estado observável– Partilha de Informação entre Agentes

• Definir conceito próprio de Embodied Agent• Definir estrutura interna de acordo com as necessidades

SLATe – Estado da Arte

Page 11: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Agente– Entidade Distribuída

SLATe – Modelo Conceptual

Page 12: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Distribuição– Conceito

• Embodied Agents para Ambientes Virtuais 3D Remotos

SLATe – Modelo Conceptual

Page 13: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

SLATe – Arquitectura

Plataforma

IONSIM

Centro de Processo

de Decisão

ESIM

Ambiente Virtual

BrokerAgent

Manager

Mente deAgente 01

Mente deAgente 02

Mente deAgente 03

Corpo deAgente 01

Corpo deAgente 02

Corpo deAgente 03

Entidade deAgente 01

Entidade deAgente 02

Entidade deAgente 03

ComunicaçãoLocal

ComunicaçãoLocal

ComunicaçãoLocal

ComunicaçãoRemota

Page 14: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Camadas– SLATe.Core

• Conceitos Abstractos

– Broker• Ligação ao Ambiente

– SLATe.SecondLife• SLATe.Core• Second Life Manager

SLATe – Implementação

SLATe.Second Life

SLATe.Core Second Life Manager

ION libOMV

Page 15: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Problemas– Categorias

• Plataforma• Ambiente• Animação

– Plataforma• Sincronização dos elementos constituintes dos Agentes

– Ciclo de Vida do CoreElement» Automatiza adição e remoção do Agente da Simulação

SLATe – Implementação

Page 16: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

– Ambiente• Limitações do LSL (timeouts)

– Instruções vindas da Plataforma

• Falta de retorno de informação na criação de objectos– Mecanismo de busca e detecção de objectos no terreno

• Detecção de Objectos no Inventário– Ciclos de busca configuráveis

SLATe – Implementação

Page 17: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

– Animação• Propagação das transformações nas BodyParts

– Esqueleto com Hierarquia de BodyParts

• Actuador de Animação: restrição vs eficiência– Dois Actuadores de Animação à escolha do Utilizador

SLATe – Implementação

Page 18: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Boids– Processo de decisão reactivo

• Sem estado interno

– Comportamento Emergente• Coesão• Separação• Alinhamento

– Teste de carga• Ponto de ruptura do lado do Ambiente

SLATe – Casos de Uso

Page 19: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Boids

SLATe – Casos de Uso

Page 20: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Simon Says– Processo de decisão reactivo

• Com estado interno

– Funcionalidades• Agarrar e trazer Agentes• Seguir Utilizador

– Interacção com Utilizador• Mensagens escritas

SLATe – Casos de Uso

Page 21: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Simon Says

SLATe – Casos de Uso

Page 22: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Conclusão– Resultados Satisfatórios

• Limitações causadas pelo Ambiente

– Actuadores• Movimento com e sem Waypoints• Agarrar / Largar• Envio de Mensagens Públicas / Privadas

– Sensores• Visão• Comunicação• Interacção

SLATe – Casos de Uso

Page 23: SLATe – Second Life Agent Toolkit Pedro Loureiro, 51439 MEIC - TagusPark

• Objectivos– Plataforma reútilizavel

• Embodied Agents em Ambientes Virtuais 3D Remotos• Simulação síncrona com estado observável

– Partilha de informação entre Agentes– Coerência entre Estados

– Casos de Uso• Resultados satisfatórios

– Melhorias• Animação dos Corpos• Importação de Modelos 3D para Corpos

SLATe – Conclusão