Download - Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
![Page 1: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/1.jpg)
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
![Page 2: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/2.jpg)
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
![Page 3: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/3.jpg)
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
Agentes
![Page 4: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/4.jpg)
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
1. Introdução
Agentes Robóticos
Simulados
![Page 5: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/5.jpg)
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
![Page 6: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/6.jpg)
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
![Page 7: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/7.jpg)
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
![Page 8: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/8.jpg)
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
![Page 9: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/9.jpg)
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
![Page 10: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/10.jpg)
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
![Page 11: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/11.jpg)
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
![Page 12: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/12.jpg)
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
![Page 13: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/13.jpg)
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
![Page 14: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/14.jpg)
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
![Page 15: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/15.jpg)
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
![Page 16: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/16.jpg)
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
![Page 17: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/17.jpg)
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.
![Page 18: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/18.jpg)
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.
![Page 19: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/19.jpg)
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 .
![Page 20: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/20.jpg)
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.
![Page 21: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/21.jpg)
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].
![Page 22: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/22.jpg)
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA Teste de
Confiabilidade do
Middleware
![Page 23: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/23.jpg)
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA Teste de
Confiabilidade do
Middleware
![Page 24: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/24.jpg)
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
![Page 25: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/25.jpg)
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.
![Page 26: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/26.jpg)
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.
![Page 27: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/27.jpg)
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.
![Page 28: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/28.jpg)
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Figura 6: Ciclo de Raciocínio do ARGO.
![Page 29: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/29.jpg)
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA
Figura 6: Ciclo de Raciocínio do ARGO.
![Page 30: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/30.jpg)
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
![Page 31: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/31.jpg)
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
![Page 32: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/32.jpg)
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.
![Page 33: Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework Jason para SMA](https://reader035.vdocuments.net/reader035/viewer/2022081604/58873cd71a28abc0748b6e97/html5/thumbnails/33.jpg)
[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.