SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
A Middleware for Using PIC
Microcontrollers and Jason
Framework for Programming Multi-
Agent Systems
Carlos Eduardo Pantoja
João Victor Guinelli
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
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
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
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
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
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.
6
4. Arquitetura
7
Programação de
softwares em alto
nível com linguagens
baseadas em JAVA.
8
Biblioteca de
comunicação para o
nível de Software.
9
Biblioteca de
comunicação para o
nível de hardware
(microcontroladores).
10
Outras Bibliotecas de
comunicação para o
nível de hardware
(microcontroladores),
que são controladas
pelo mesmo software.
11
5. O Middleware Javic
 Implementa o mesmo protocolo utilizado no Javino.
Fonte: (LAZARIN; PANTOJA, 2015).
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.
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.
14
Código PIC
5.1. Testes Preliminares
15
Ambiente Jason
Agente Jason
5.1. Testes Preliminares
16
6. Embarcando Jason + Javic
 É necessário interferir em 4 camadas, de acordo com Lazarin
e Pantoja (2015):
 Hardware;
 Microcontroller;
 Environment;
 Agent.
17
6. Embarcando Jason + Javic
 É necessário interferir em 3 camadas, de acordo com
Pantoja et al. (2016):
 Hardware;
 Microcontroller;
 Environment;
 Agent.
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.
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.
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.
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
pantoja@cefet-rj.br
joao.silva@cefet-rj.br
A Middleware for Using PIC
Microcontrollers and Jason
Framework for Programming Multi-
Agent Systems
Carlos Eduardo Pantoja
João Victor Guinelli

Mais conteúdo relacionado

Semelhante a Javic Middleware for PIC Microcontrollers and Jason Agents

Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16Gabriel Lima
 
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...Carlos Eduardo Pantoja
 
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...frogstation
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Javalimadavi
 
Gerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com PuppetGerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com PuppetAécio Pires
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Aécio Costa
 
ThingProvider-Proposal
ThingProvider-ProposalThingProvider-Proposal
ThingProvider-ProposalKevin Martins
 
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Thiago Barros, PSM
 
PSWoT: Uma plataforma para descoberta, publicação e autoconfiguração de servi...
PSWoT: Uma plataforma para descoberta, publicação e autoconfiguração de servi...PSWoT: Uma plataforma para descoberta, publicação e autoconfiguração de servi...
PSWoT: Uma plataforma para descoberta, publicação e autoconfiguração de servi...Nailton Andrade
 
Programação para celular em JAVA - Leandro Stachlewski
Programação para celular em JAVA - Leandro StachlewskiProgramação para celular em JAVA - Leandro Stachlewski
Programação para celular em JAVA - Leandro StachlewskiTchelinux
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.pptPatrícia Melo
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 
Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Flávio Lisboa
 

Semelhante a Javic Middleware for PIC Microcontrollers and Jason Agents (20)

Tcc plataforma telemedicina de baixo custo
Tcc plataforma telemedicina de baixo custoTcc plataforma telemedicina de baixo custo
Tcc plataforma telemedicina de baixo custo
 
java
javajava
java
 
Revista programar 30
Revista programar 30Revista programar 30
Revista programar 30
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16
 
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
 
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Gerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com PuppetGerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com Puppet
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Monografia
MonografiaMonografia
Monografia
 
ThingProvider-Proposal
ThingProvider-ProposalThingProvider-Proposal
ThingProvider-Proposal
 
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
 
PSWoT: Uma plataforma para descoberta, publicação e autoconfiguração de servi...
PSWoT: Uma plataforma para descoberta, publicação e autoconfiguração de servi...PSWoT: Uma plataforma para descoberta, publicação e autoconfiguração de servi...
PSWoT: Uma plataforma para descoberta, publicação e autoconfiguração de servi...
 
Programação para celular em JAVA - Leandro Stachlewski
Programação para celular em JAVA - Leandro StachlewskiProgramação para celular em JAVA - Leandro Stachlewski
Programação para celular em JAVA - Leandro Stachlewski
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.ppt
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 
Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3
 
WRT Widgets - M3DD LA
WRT Widgets - M3DD LAWRT Widgets - M3DD LA
WRT Widgets - M3DD LA
 

Mais de Carlos Eduardo Pantoja

Integrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoIntegrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoCarlos Eduardo Pantoja
 
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...Carlos Eduardo Pantoja
 
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI SystemsA Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI SystemsCarlos Eduardo Pantoja
 
An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...Carlos Eduardo Pantoja
 
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...Carlos Eduardo Pantoja
 
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Carlos Eduardo Pantoja
 
Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Carlos Eduardo Pantoja
 
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Carlos Eduardo Pantoja
 
LISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosLISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosCarlos Eduardo Pantoja
 
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Carlos Eduardo Pantoja
 
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Carlos Eduardo Pantoja
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresCarlos Eduardo Pantoja
 
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGODesenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGOCarlos Eduardo Pantoja
 
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Carlos Eduardo Pantoja
 
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasInside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasCarlos Eduardo Pantoja
 
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosSistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosCarlos Eduardo Pantoja
 
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonPrototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonCarlos Eduardo Pantoja
 
Introdução a Administração e a Economia
Introdução a Administração e a EconomiaIntrodução a Administração e a Economia
Introdução a Administração e a EconomiaCarlos Eduardo Pantoja
 
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Carlos Eduardo Pantoja
 

Mais de Carlos Eduardo Pantoja (20)

Integrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoIntegrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o Javino
 
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
 
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI SystemsA Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
 
An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...
 
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
 
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
 
Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)
 
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
 
LISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosLISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas Autônomos
 
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
 
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de Computadores
 
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGODesenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
 
ContextNet Middleware
ContextNet MiddlewareContextNet Middleware
ContextNet Middleware
 
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
 
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasInside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
 
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosSistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
 
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonPrototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
 
Introdução a Administração e a Economia
Introdução a Administração e a EconomiaIntrodução a Administração e a Economia
Introdução a Administração e a Economia
 
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
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.
  • 9. 7 Programação de softwares em alto nível com linguagens baseadas em JAVA.
  • 10. 8 Biblioteca de comunicação para o nível de Software.
  • 11. 9 Biblioteca de comunicação para o nível de hardware (microcontroladores).
  • 12. 10 Outras Bibliotecas de comunicação para o nível de hardware (microcontroladores), que são controladas pelo mesmo software.
  • 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.
  • 17. 15 Ambiente Jason Agente Jason 5.1. Testes Preliminares
  • 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
  • 25. A Middleware for Using PIC Microcontrollers and Jason Framework for Programming Multi- Agent Systems Carlos Eduardo Pantoja João Victor Guinelli