Uma Plataforma para Programação de Agentes
Robóticos Estendendo o Framework Jason para SMA
Dayana da Silva JungerLicenciatura em Física
Carlos Eduardo PantojaOrientador
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução2. Problema3. Objetivo 4. Conceitos Básicos5. Metodologia e Resultados6. ARGO7. Conclusão 8. Trabalhos Futuros9. Referências Bibliográficas10. Agradecimentos
Conteúdo
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
Agentes
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
Agentes Robóticos
Simulados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
Sistemas Multi- Agentes (SMA)
Agentes Robóticos
Simulados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
IntroductionSistemas Multi- Agentes (SMA)
Framework Jason [1]
Agentes Robóticos
Simulados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
IntroductionSistemas Multi- Agentes (SMA)
Framework Jason [1]
AgentSpeak [2], arquitetura BDI [3]
Agentes Robóticos
Simulados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
IntroductionSistemas Multi- Agentes (SMA)
Framework Jason [1]
Crenças, metas e planos
AgentSpeak [2], arquitetura BDI [3]
Agentes Robóticos
Simulados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
IntroductionSistemas Multi- Agentes (SMA)
Framework Jason [1]
Crenças, metas e planos Ações
AgentSpeak [2], arquitetura BDI [3]
Agentes Robóticos
Simulados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
IntroductionSistemas Multi- Agentes (SMA)
Framework Jason [1]
Crenças, metas e planos
Ações externas
Ações
Ações internas
AgentSpeak [2], arquitetura BDI [3]
Agentes Robóticos
Simulados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
IntroductionSistemas Multi- Agentes (SMA)
Framework Jason [1]
Crenças, metas e planos
Ações externas
Ações
Ações internas
Protocolo Javino [4]
AgentSpeak [1], arquitetura BDI [3]
Agentes Robóticos
Simulados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
IntroductionSistemas Multi- Agentes (SMA)
MicrocontroladoresFramework Jason [1]
Crenças, metas e planos
Ações externas
Ações
Ações internas
Protocolo Javino [4]
AgentSpeak [2], arquitetura BDI [3]
Agentes Robóticos
Simulados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
A integração entre componentes de hardware com mecanismos de raciocínio não é um processo trivial. Em [4],[5],[6] e [7] são propostos alguns modelos de implementação. No entanto: Em [4] o tempo que o agente leva para enviar mensagens enquanto espera dados dos sensores pode prejudicar o desempenho do protótipo. Em [5] utiliza um mecanismo de tradução nas camadas de abstração devido ao custo do processamento, e o desempenho dos robôs pode ser afetado. Em [6] a metodologia proposta não foi estruturada para o desenvolvimento de sistemas embarcados. Em [7] o SMA não é embarcado e pode haver perda de dados pelo fato da biblioteca RxTx não possuir tratamento das informações.
2. Problema
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
O objetivo deste trabalho é viabilizar o uso das ações internas do Jason juntamente com o protocolo Javino para desenvolver uma plataforma para programação de agentes robóticos.
3. Objetivo
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
O Javino é um protocolo para troca de mensagens entre o hardware e o software. Ele permite que um agente BDI interaja com o mundo real através de sensores e atuadores.
Figura 1: Interação entre o agente BDI e o hardware usando o Javino.
4. Conceitos Básicos
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
A metodologia para programação da plataforma robótica proposta neste trabalho possibilita:a. O desenvolvimento de ações internas que podem ser utilizadas para
controlar dispositivos de hardware;b. O uso do protocolo Javino para a comunicação entre o robô e o
software sem problemas de processamento do SMA;
Cinco testes de funcionamento foram desenvolvidos para analisar em que tipo de contexto o ARGO é aplicável e porque ele deve ser utilizado. Questão: Existem limitações no uso das ações internas de forma isolada?
5. Metodologia e Resultados
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA Primeiro
TesteObjetivo – Usar as funcionalidades implementadas na classe Java de [7] em ações internas.
O que foi feito - Ações internas para imprimir a distância entre dois pontos e o ângulo de desvio.
Resultado - O agente imprimiu ambos os dados no console do Jason corretamente (Tabela 1).Distância e ângulo de desvio informados pelo agente BDIPonto Inicial Destino Distância (Km) Ângulo de desvio
(graus)
Torre Eiffel Castelo de São Jorge
1,451 53
Torre Eiffel Table Mountain National Park
9,346 26
Tabela 1 – Distância e ângulo de desvio informados pelo agente BDI usando as ações internas do framework Jason.
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA Segundo
TesteObjetivo - Implementar o Javino dentro de uma ação interna.
O que foi feito – O protocolo Javino foi implementado em uma ação interna.
Resultado - Os quatro LEDs implementados funcionaram como o esperado (figura 2).
Figura 2 – Protótipo desenvolvido para o segundo teste.
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Objetivo - Controlar os movimentos básicos de um veículo autônomo terrestre Rover 5.
O que foi feito – desenvolvimento de uma ação interna para que o veículo se mova para frente, para trás, para direita, para esquerda, e pare.
Resultado - O protótipo (figura 3) executou os cinco movimentos desejados de forma satisfatória.
Terceiro Teste
Figura 3– Veículo Rover 5 .
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Quarto Teste
Objetivo – Programar o agente para raciocinar com base nos dados recebidos por quatro sensores.
O que foi feito - Quatro sensores de distância foram implementados em um veículo 4WD (figura 4) .
Resultado - O móvel não concluiu sua meta pois o número de percepções recebidas geravam um atraso no raciocínio do agente. Foi percebida a necessidade de técnicas computacionais para a redução desse delay.
Figura 4 - Versão finalizada do 4WD.
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA Teste de
Confiabilidade do
MiddlewareObjetivo – Utilizar um middleware para a comunicação entre hardware e o software de forma confiável, e que não interrompa o processamento de um SMA.
O que foi feito – Foram feitos experimentos usando o Javino e os frameworks JADE [8] e Jason para verificar se existe alguma situação na qual o middleware não deve ser usado.
Resultado - Não é possível usar o protocolo Javino com um tempo de espera menor que 100 ms e o Javino não funciona corretamente quando os agentes competem pelo uso da mesma porta serial [9].
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA Teste de
Confiabilidade do
Middleware
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA Teste de
Confiabilidade do
Middleware
The Argo By Lorenzo Costa (1st third of 16th century)
Tempera on panel, 47 × 58 cm Museo Civico, Padua.
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
O ARGO [10] é uma arquitetura customizada do framework Jason que facilita a programação e embarcação de agentes robóticos através do protocolo Javino e do uso de filtros de percepção [11].
6. ARGO
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Agente ARGO
Controla atuadores.
Recebe percepções em um tempo pré-definido.
Pode mudar os filtros.
Possui as funções de um agente Jason.
Decide quando perceber o ambiente.
Figura 5: Funções de um agente ARGO.
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Ações internas do ARGO:
1. .limit (x): define um intervalo de tempo para a percepção do ambiente;2. .act(literal): manda uma ação para a camada do firmware;3. .move(literal): decide qual movimento um veículo terrestre deve executar
usando um arquivo pré-definido;4. .change_filter(nomeDoFiltro): escolhe qual filtro deve ser utilizado;5. .port(y): define a porta serial a ser usada;6. .percepts(open/block): estabelece se o agente deve ou não perceber o
mundo real.
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Ações internas do ARGO:
1. limit (x): define um intervalo de tempo para a percepção do ambiente;2. .act(literal): manda uma ação para a camada do firmware;3. .move(literal): decide qual movimento um veículo terrestre deve executar
usando um arquivo pré-definido;4. .change_filter(nomeDoFiltro): escolhe qual filtro deve ser utilizado;5. .port(y): define a porta serial a ser usada;6. .percepts(open/block): estabelece se o agente deve ou não perceber o
mundo real.
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Figura 6: Ciclo de Raciocínio do ARGO.
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Figura 6: Ciclo de Raciocínio do ARGO.
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
O trabalho proposto permitiu a análise do processo de implementação da plataforma orientada à programação de agentes robóticos.
7. Conclusão
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Futuramente, pretendemos desenvolver um mecanismo que permita a comunicação entre vários robôs utilizando o ARGO. Pretendemos também desenvolver uma casa inteligente de caráter físico que utilizará esta arquitetura e será gerenciada por um SMA.
8. Trabalhos Futuros
9. Referências
Bibliográficas[1] Bordini, R.H., Hubner, J.F., Wooldridge, W. (2007). Programming Multi-Agent Systems in AgentSpeak Using Jason. John Wiley and Sons, Londres.
[2] A. S. Rao. (1996) “AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language”. In: W. V. de Velde and J. W. Perram, editors, Proceedings of the 7th European workshop on Modelling autonomous agents in a multi-agent world (MAAMAW’96), volume 1038 of Lecture Notes in Artificial Intelligence, pages 42–55, Secaucus, EUA.
[3] Bratman, M.E. (1987) Intentions, Plans, and Practical Reason. Harvard University Press.
[4] Lazarin, N.M., Pantoja, C.E. (2015) ”A Robotic-agent Platform for Embedding Software Agents using Raspberry Pi and Arduino Boards”. In Proceedings of 9th Software Agents, Environments and Applications School: WESAAC’15, Niterói, Brazil.
[5] Wei, C., Hindriks, K.V. (2013) An agent-based cognitive robot architecture. In: Programming Multi-Agent Systems, LNCS, vol. 7837, pp. 54–71. Springer, Berlin.
[6] Soriano, A.; Marín, L.; Valera, Á.; Vallés M. (2013) “Multi-Agent Systems Integration in Embedded Systems with Limited Resources to Perform Tasks of Coordination and Cooperation”. In: Proceedings of 10th International Conference on Informatics in Control, Automation and Robotics , pp. 140 - 147, Reykjavik.
[7] Barros, R. S; Heringer, V. H.; Pantoja, C. E.; Lazarin, N. M. e Moraes, L. M., (2014), “An Agent-oriented Ground Vehicle’s Automation using Jason Framework”. In: Proceedings of 6th International Conference on Agents and Artificial Intelligence, v.1, Angers.
[8] Bellifemine, F. L., Caire, G., Greenwood, D. (2004) Developing Multi-Agent Systems With JADE. John Wiley and Sons, Londres.
[9] Junger, D.S., Guinelli , J.V., Pantoja, C.E. (2016) : “An Analysis of Javino Middleware for Robotic Platforms Using Jason and JADE Frameworks”. In: Proceedings of 9th Software Agents, Environments and Applications School, Maceió.
[10] Pantoja, C.E., Stabile JR., M.F., Lazarin, N.M., Sichman, J.S., (2016) “ARGO: A Customized Jason Architecture For Programming Embedded Robotic Agents”. In: 4th Workshop on Engineering Multi-Agent Systems, Singapura.
[11] Stabile Jr., M.F., Sichman, J.S. (2015): Evaluating Perception Filters In BDI Jason Agents. In: 4th Brazilian Conference On Intelligent Systems.
Top Related