Este artigo propõe o middleware Javic para permitir a comunicação entre microcontroladores PIC e o framework Jason para programação de sistemas multi-agentes. O Javic implementa o mesmo protocolo do Javino para comunicação serial entre hardware e software, possibilitando o uso de agentes BDI em robôs embarcados. Testes preliminares mostraram o funcionamento básico da arquitetura proposta.
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Javic Middleware for PIC Microcontrollers and Jason Agents
1. A Middleware for Using PIC
Microcontrollers and Jason
Framework for Programming Multi-
Agent Systems
Carlos Eduardo Pantoja
João Victor Guinelli
2. 1. Introdução
2. Problema
3. Objetivo
4. Arquitetura
5. O Middleware Javic
6. Embarcando Jason + Javic
7. Trabalhos Relacionados
8. Trabalhos Futuros e Conclusão
Sumário
3. 1. Introdução
Um robô pode ser comparado a um agente inteligente, que
é capaz de perceber, raciocinar e agir em um ambiente real
(RUSSEL; NORVIG, 2004).
De forma similar, agentes podem ser definidos como
entidades físicas ou virtuais que são capazes de perceber e
agir sobre o ambiente onde estão situados.
Por conta desta similaridade, é sensata a utilização da
abordagem de Sistema Multi-Agentes (SMA) no campo da
robótica.
1
4. 2
2. Problema
Embarcar agentes BDI em robôs não é uma tarefa simples:
O ciclo de raciocínio desses agentes pode gerar delays indesejados na
atuação do robô em ambientes reais (SANTOS; HUBNER, 2015).
Na comunicação entre Hardware e Software pode ocorrer falhas de
mensagens e perda de informações.
Alguns trabalhos abordam esta temática:
(BARROS et al., 2014);
(JENSEN, 2010);
(LAZARIN; PANTOJA, 2015).
RXTX
5. 3
2. Problema
Embarcar agentes BDI em robôs não é uma tarefa simples:
O ciclo de raciocínio desses agentes pode gerar delays indesejados na
atuação do robô em ambientes reais (SANTOS; HUBNER, 2015).
Na comunicação entre Hardware e Software pode ocorrer falhas de
mensagens e perda de informações.
Alguns trabalhos abordam esta temática:
(BARROS et al., 2014);
(JENSEN, 2010);
(LAZARIN; PANTOJA, 2015).
Lejos
6. 4
2. Problema
Embarcar agentes BDI em robôs não é uma tarefa simples:
O ciclo de raciocínio desses agentes pode gerar delays indesejados na
atuação do robô em ambientes reais (SANTOS; HUBNER, 2015).
Na comunicação entre Hardware e Software pode ocorrer falhas de
mensagens e perda de informações.
Alguns trabalhos abordam esta temática:
(BARROS et al., 2014);
(JENSEN, 2010);
(LAZARIN; PANTOJA, 2015). Javino
7. 5
3. Objetivo
Propor o middleware Javic:
Permitir a utilização de microcontroladores PIC em SMA
embarcados.
Utilizar a biblioteca desenvolvida para o lado PIC e no
lado Java utilizar a biblioteca Javino.
13. 11
5. O Middleware Javic
Implementa o mesmo protocolo utilizado no Javino.
Fonte: (LAZARIN; PANTOJA, 2015).
14. 12
5. O Middleware Javic
É necessário que o modelo do microcontrolador PIC
utilizado possua ao menos 256 bytes de RAM.
Para manter a compatibilidade, os métodos presentes no
Javic são os mesmos presentes no Javino.
15. 13
5.1. Testes Preliminares
Foi utilizado um microcontrolador PIC 18F4520 conectado a
um sensor ultrassônico e a um LED.
O agente, programado em Jason (BORDINI et al., 2007),
deve acender o LED quando perceber que há algum
obstáculo a sua frente.
18. 16
6. Embarcando Jason + Javic
É necessário interferir em 4 camadas, de acordo com Lazarin
e Pantoja (2015):
Hardware;
Microcontroller;
Environment;
Agent.
19. 17
6. Embarcando Jason + Javic
É necessário interferir em 3 camadas, de acordo com
Pantoja et al. (2016):
Hardware;
Microcontroller;
Environment;
Agent.
20. 18
7. Trabalhos Relacionados
(BARROS et al., 2014):
Não utiliza nenhum protocolo para realizar a comunicação entre o
software e o hardware, o que pode causar falhas no sistema por
conta de interferência e perda de dados.
(JENSEN, 2010):
Arquitetura é limitada ao Lego Mindstorm NXT.
21. 19
8. Trabalhos Futuros
Desenvolver uma versão do middleware que funcione em
microcontroladores PIC que possuem menos de 256 bytes
de RAM.
Desenvolver uma biblioteca para microcontroladores da
Intel.
Analisar e validar a arquitetura em um cenário mais
complexo.
Aplicar na arquitetura customizada do Jason, o ARGO.
22. 20
8. Conclusão
Foi apresentado o middleware JAVIC para comunicação
serial entre microcontroladores do tipo PIC e o JAVA.
Utilizar o middleware para implementação de SMA
robóticos e supervisórios utilizando um microcontrolador
“mais voltado” para a indústria.
Permitir uma flexibilização na utilização de
microcontroladores em um mesmo projeto.
23. 21
9. Referências Bibliográficas
• R. S. Barros, V. H. Heringer, C. E. Pantoja, N. M. Lazarin, and L. M. de Moraes. An
agent-oriented ground vehicle's automation using jason framework. In ICAART
(2), pages 261-266, 2014.
• R. H. Bordini, J. F. Hübner, and M. Wooldridge. Programming multi-agent
systems in AgentSpeak using Jason, volume 8. John Wiley & Sons, 2007.
• A. S. Jensen. Implementing lego agents using jason. Disponínel em:
arXiv:1010.0150, 2010.
• N. M. Lazarin and C. E. Pantoja. A robotic-agent platform for embedding
software agents using raspberry pi and arduino boards. 9th Software Agents,
Environments and Applications School, 2015.
• S. Russel and P. Norvig. Inteligência artificial. Editora Campus, página 26, 2004.
• F. R. Santos and J. Hubner. Avaliação do uso de agentes no desenvolvimento de
aplicações com veículos aéreos não-tripulados. 9th Software Agents,
Environments and Applications School, 2015