SLATe – Second Life Agent Toolkit
Pedro Loureiro, 51439
MEIC - TagusPark
SLATe – Motivação
• Embodied Agents em Ambientes Virtuais 3D
– Porquê?
• Conceito recente
• Cheio de possibilidades
• Popular
– Second Life
– Word of Warcraft
– Sony Playstation Home
• Ainda não existem plataformas específicas
SLATe - Motivação
SLATe - Motivação
SLATe - Motivação
SLATe – Objectivos
• Embodied Agents
– Ambientes Virtuais 3D Remotos
– Corpos personalizáveis
• Movimento
– Interacção
• Comunicação
– Mensagens
• Animação
– Ambiente Virtual
• Second Life
SLATe – Ambiente Virtual 3D Remoto
• Desafios
– Agentes sem acesso total ao Estado do Ambiente
– Não-Determinístico + Dinâmico = Incoerência
– Actualização do Estado do Ambiente
SLATe – Estado da Arte
• Análise de Agent Toolkits
– Parâmetros
• Comunicação
• Curva de Aprendizagem
• Suporte à Informação
• Plataformas para Second Life
SLATe – Estado da Arte
• Análise de Agent Toolkits
Comunicação
Curva de Aprendizagem
Suporte à Informação
NetLogo
(Wilensky, 1999)
Inexistente
Boa
Muito boa
JADE
(Telecom Italia)
Boa
Boa
Boa
Agent Builder
(Acronymics, Inc)
Boa
Má
Má
Agent Factory
(PRISM Labs)
Boa
Má
Má
Zeus
(BT Labs)
Boa
Má
Má
OAA
(SRI International)
Boa
Má
Inexistente
SLATe – Estado da Arte
• 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
• Decisão
– Desenvolvimento de uma nova Plataforma
• ION como base
–
–
–
–
–
Solução In-house
Definir conceito próprio de Embodied Agent
Simulação síncrona para o estado observável
Partilha de Informação entre Agentes
Definir estrutura interna de acordo com as necessidades
SLATe – Estado da Arte
• Plataformas para 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
• libOMV (OMV Foundation)
– Biblioteca
• Modelo Cliente/Servidor
• Comunicação com Second Life
– Interacção através de Avatar
– Criação e Manipulação de Objectos
SLATe – Modelo Conceptual
• Agente
– Entidade Distribuída
Agente
Centro de
Processo
de Decisão
Mente
Ambiente Virtual
Plataforma
Contém
Apenas 1
Entidade
Pode conter
Mais que 1
Contém
Apenas 1
Actuador
Sensor
Corpo
Contém 1
Ou mais
Parte
SLATe – Modelo Conceptual
• Distribuição
– Conceito
• Embodied Agents para Ambientes Virtuais 3D Remotos
SLATe – Arquitectura
Centro de
Processo
de Decisão
Plataforma
ESIM
IONSIM
Mente de
Agente 01
Comunicação
Local
Entidade de
Agente 01
Mente de
Agente 02
Comunicação
Local
Entidade de
Agente 02
Mente de
Agente 03
Comunicação
Local
Entidade de
Agente 03
Ambiente Virtual
Corpo de
Agente 01
Broker
Comunicação
Remota
Agent
Manager
Corpo de
Agente 02
Corpo de
Agente 03
SLATe – Implementação
• Camadas
– SLATe.Core
• Conceitos Abstractos
– Second Life Manager (Broker)
• Ligação ao Ambiente
– SLATe.SecondLife
• SLATe.Core
• Second Life Manager
SLATe.Second Life
SLATe.Core
ION
Second Life Manager
libOMV
SLATe – Implementação
• Problemas e Soluções
– Sincronização dos elementos constituintes do Agente
– Ciclo de Vida do CoreElement
» Automatiza adição e remoção do Agente na Simulação
– Limitações do LSL
• Instruções vindas da Plataforma
SLATe – Implementação
• Problemas e Soluções
– Não 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
• Problemas e Soluções
– 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
• Problemas e Soluções
– Excesso de produção de acções durante Animação
• Imposição de valor mínimo de alteração
– Falhas de Comunicação durante Animação
• Criação de Offsets na hierarquia
SLATe – Casos de Uso
• Boids (Reynolds, 1986)
– Processo de decisão reactivo
• Sem estado interno
– Comportamento Emergente
• Coesão
• Separação
• Alinhamento
– Teste de carga
• Comunicação entre Plataforma e Ambiente
• Ponto de ruptura do lado do Ambiente
SLATe – Casos de Uso
• Boids
SLATe – Casos de Uso
• 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
• Simon Says
SLATe – Casos de Uso
• Animação
SLATe – Casos de Uso
• Resultados
– Bons
• Limitações causadas pelo Ambiente
– Actuadores
•
•
•
•
Movimento com e sem Waypoints
Agarrar / Largar
Envio de Mensagens Públicas / Privadas
Animação Livre e Fixa
– Sensores
• Visão
• Comunicação
• Interacção
– Toque e Colisão
SLATe – Conclusão
• Objectivos
– Plataforma reutilizável
• 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
– Bons Resultados
• Melhorias
– Animação dos Corpos
– Importação de Modelos 3D para Corpos
Download

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