SlideShare uma empresa Scribd logo
Introdução a Programação de Agentes
Robóticos Usando Jason e ARGO
IV Semana de Informática e Segurança do
Trabalho (SIST) do IFC Fraiburgo
• 1. Centro Federal de Educação Tecnológica (CEFET/RJ), Brasil
• 2. Universidade Federal Fluminense (UFF), Brasil
Carlos Eduardo Pantoja 1,2
6 Maio 2016
OUTLINE 1. Introdução
2. A Arquitetura Robótica para SMA
3. Jason Framework
4. ARGO for Jason
5. Conclusão
6. Referências Bibliográficas
OUTLINE
2. A Arquitetura Robótica para SMA
3. Jason Framework
4. ARGO for Jason
5. Conclusão
6. Referências Bibliográficas
4Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: AGENTE
Agente
Conforme [Wooldridge, 2000], agentes são
componentes autônomos e
cognitivos, originados da inteligência
artificial, situados em um ambiente e
possuem uma biblioteca de planos com
possíveis ações em resposta aos estímulos
percebidos, com a finalidade de atingir
seus objetivos de projeto e modificar o
ambiente em que estão inseridos.
5Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: SMA
Sistemas Multi-Agentes (SMA)
Um SMA contem um quantitativo de agentes que se comunicam entre si e
podem agir em determinado ambiente. Diferentes agentes possuem
esferas de influência onde terão controle sobre o que será percebido do
ambiente e que podem coincidir em alguns casos.
Os agentes ainda podem estar agrupados em organizações com a
finalidade de atingir objetivos e metas comuns. [Wooldridge, 2009].
6Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: SMA
Visão Tradicional de um SMA
Conforme [Wooldridge, 2009], a abordagem
SMA permite a modelagem desde sistemas simples a
complexos e são usados em uma variedade de
aplicações como industria:
1. Gestão da Informação
2. Internet
3. Transportes
4. Telecomunicações
5. Medicina
6. Robótica
7. Entretenimento
7Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: AGENTE ROBÓTICO
MASRobô
É um agente físico que possui [Matarić, 2007]:
1. Hardware
2. Sensores e Atuadores
3. Software (raciocínio)
4. Middleware
8Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: BDI
Modelo Belief-Desire-Intention (BDI)
O BDI se refere ao uso de programas de computadores com analogias a
crenças (beliefs), desejos (desires) e intenções (intentions). A
definição de cada uma é descrita como se segue [Bordini et al., 2007]:
 Crenças são informações que o agente tem sobre o mundo.
 Desejos são todas as possibilidades de estados de negócio que o agente deve
querer atingir.
 Porém, ter um desejo não significa que o agente irá atuar sobre ele, mas este é uma potencial influência
nas ações do agente.
 Intenções são todos os estados de negócios em que o agente decidiu trabalhar.
9Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: LINGUAGENS
Existem diversas linguagens e plataformas que implementam o
conceito de BDI:
1. PRS [Bratman, 1987]
2. JAM [Huber, 1999]
3. dMARS [D'Inverno et al., 1998]
4. JACK [Winikoff, 2005]
5. JASON [Bordini et al., 2007]
6. JADE/JADEX [Bellifemine et al., 2007]
10Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: ARGO
ARGO [Pantoja et al., 2016]: Uma arquitetura customizada
do Jason para programação de Agentes Robóticos usando
placas microcontroladas (Arduino):
• Javino [Lazarin e Pantoja, 2015]
 middleware para comunicação entre controladores e software
de alto nível com detecção de erro.
• Filtros de Percepções [Stabile Jr e Sichman, 2015]
 Filtros de percepção reduzem a quantidade de informação
percebida pelo agente em tempo de execução.
11Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: FILTROS
MAS
12Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: FILTROS
MAS
13Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
1. INTRODUÇÃO: OBJETIVOS
Objetivo Principal
• Criar sistemas multi-agentes utilizando uma plataforma cognitiva baseada
em Java e AgentSpeak: Jason Framework.
• Criar agentes robóticos utilizando a arquitetura customizada ARGO
• Firmar uma parceria extensionista institucional entre o Projeto Turing do
CEFET/RJ e o IFC Fraiburgo.
• permitir à equipe do IFC desenvolver projetos científicos para participar da
Mostra Nacional de Robótica de 2016.
Objetivo Secundário
OUTLINE 1. Introdução
3. Jason Framework
4. ARGO for Jason
5. Conclusão
6. Referências Bibliográficas
15Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA
ou
SMA
embarcadoembarcado
16Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: FLUXO DA MENSAGEM
17Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: FLUXO DA MENSAGEM
Sensores capturam dados brutos do
mundo real e os envia para um dos
microcontroladores escolhido para o
projeto.
18Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: FLUXO DA MENSAGEM
Na programação do microcontrolador, os
dados brutos são transformados em
percepções baseado na linguagem de
programação orientada a agentes
escolhida.
19Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: FLUXO DA MENSAGEM
O Javino é responsável por enviar as
percepções para a camada de raciocínio
usando a comunicação serial.
20Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: FLUXO DA MENSAGEM
O agente é capaz de raciocinar com as
percepções que vem diretamente do
mundo real. Além disso, o SMA pode ser
embarcado em placas computadorizadas
como a Raspberry Pi ou computadores
com interface USB.
21Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: FLUXO DA MENSAGEM
Então, o agente delibera e se alguma ação
precisar ser ecevutada, uma mensagem é
enviada a camada de baixo utilizando o
Javino.
22Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: FLUXO DA MENSAGEM
O Javino envia mensagens de ações para
o microcontrolador que está conectado na
porta USB identificado na mensagem.
23Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: FLUXO DA MENSAGEM
Todas as funções possíveis dos
atuadores são programadas para serem
executadas em resposta a mensagens
da porta seriais vinda do Javino.
24Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: FLUXO DA MENSAGEM
O efetuador é ativado.
25Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARQUITETURA: PROTÓTIPOS
OUTLINE 1. Introdução
2. A Arquitetura Robótica para SMA
4. ARGO for Jason
5. Conclusão
6. Referências Bibliográficas
27Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
O JASON é um framework baseado em AgentSpeak e Java que utiliza as principais
características do PRS. Em JASON um agente é composto de crenças, metas,
planos e ações e é programado utilizando o AgentSpeak.
Os agentes em JASON estão inseridos em um ambiente onde as
percepções e reações a estímulos do ambiente podem ser
programadas em Java [Bordini et al., 2007].
Contudo, ao usar o ARGO, as percepções são provenientes do
mundo real (sensores) e o agente as recebe automaticamente, sem
intervenção do programador [Pantoja et al., 2016].
28Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
• Criando um Novo Projeto Jason
• File>New>Other>Jason Project
29Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
• Criando um Novo Projeto Jason
Colocar o
nome do
projeto
Começar o
projeto com
um ambiente
definido
30Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
• Criando um Novo Projeto Jason
Pasta com os
arquivos dos
agentes em
AgentSpeak
Pasta com os
arquivos do
ambiente em
Java
Arquivo de
configuração
do SMA
31Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
• Inserindo um Novo Agente
• File>New>Other>Agent
32Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
Digitar o
nome do
Agente. A
primeira
letra deve
ser
MINÚSCULA.
• Inserindo um Novo Agente
33Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
• Inserindo um Novo Agente
34Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
• Configurando o SMA
Especificação
dos agentes
participantes
do SMA
Especificação do endereço
da pasta onde estão
localizados os agentes
35Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
• Executando o SMA
Selecionar o
arquivo de
configuração
Executar o
projeto
36Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
• Executando o SMA
37Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK
• Debug do SMA
38Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: CRENÇAS
• Beliefs
Em Jason, um agente armazena as informações percebidas
do ambiente; as informações internas; e informações de
comunicação através de crenças.
As crenças são armazenadas em uma
Base de Crenças (Belief Base).
As crenças são representadas como predicados da
lógica tradicional. Os predicados
representam propriedades particulares.
39Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: CRENÇAS
• Tipos
1. Percepções do Ambiente (Percepts)
2. Notas Mentais (Mental Notes)
3. Comunicação
Informações coletadas pelo agente que são relativas ao sensoriamento
constante do ambiente.
• Informações adicionadas na base de crenças pelo próprio agente.
 coisas que aconteceram no passado;
 promessas;
 execução de um plano;
 Constante do ambiente.
Informações obtidas pelo agente através da interação com outros agentes.
40Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: CRENÇAS
• Exemplos: Crenças Iniciais
salario(5000).
paulo(alto)
.missionStarted.
carro(ferrari, kadu).
OBS. 1: Toda crença inicial em Jason deve terminar com .
OBS. 2: Toda crença deve começar com letra
MINÚSCULA.
41Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: CRENÇAS
• Exemplos: Strong Negation
~alto(carlos).
~missionStarted.
~dia.
OBS.: Toda strong negation em Jason
deve começar com ~
42Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: CRENÇAS
• Exemplos: Crenças Iniciais
salario(5000).
43Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: GOALS
• Goals
Em Jason, os goals (objetivos) representam os estados do mundo
em que o agente deseja atingir.
• Tipos
1. Achievement Goals (!)
 É um objetivo para atingir determinado estado desejado pelo agente.
2. Test Goals (?)
 É um objetivo que tem basicamente a finalidade de resgatar informações da base
de crenças do agente.
44Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: GOALS
• Exemplos: Goals Iniciais
!start.
!thinking.
OBS. 1: Toda goal inicial em Jason deve ser um
Achievement Goal; começar com !; e terminar com .
OBS. 2: Todo goal deve começar com letra
MINÚSCULA.
45Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: GOALS
• Exemplos: Goals Iniciais
46Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Plans & Actions
Em Jason, um plano é composto por três partes:
Triggering_event : context <- body.
47Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Formato de um Plano
1. Triggering Event
2. Context
3. Body
Um agente pode ter diversos objetivos. Os planos são ativados baseados
nos eventos que podem ser ativados em determinado momento.
São as condições para a ativação de um plano dentro vários eventos.
É o corpo do plano. Uma sequência de ações a ser executada pelo agente.
48Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Tipos de Triggering Events
1. Addition
São ativados quando um plano é transformado de um
desejo para uma intenção na mente do agente.
49Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Tipos de Triggering Events
2. Deletion
Funciona como um ”tratamento de erros” para
planos que não possuem ativação.
50Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Tipos de Planos
1. Achievement Goal
São objetivos que os agentes se comprometem em
atingir.
51Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Tipos de Planos
2. Test Goal
São planos que são ativados quando se recuperam
informações da base de crenças.
52Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Tipos de Planos
3. Belief
São planos ativados quando o agente adiciona ou
remove uma crença da sua base de crenças
53Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Ações de um Plano
1. Achievement e Test Goals
São as chamadas para execução de um plano.
54Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Ações de um Plano
2. Mental Notes
São ações que adicionam, removem ou atualizam uma
crença na base de crença do agente.
55Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Ações de um Plano
3. Internal Action
São ações pré-definidas executadas internamente no agente.
.print
.send
.broadcast
.drop_all_desires
.my_name
.concat
.length
.min
.max
.nth
.sort
.substring
.drop_all_events
.abolish
.string
.count
.create_agent
.date
.wait
.random
.kill_agent
.time
.perceive
.stopMAS
56Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: PLANOS E AÇÕES
• Ações de um Plano
4. Expressões
57Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
3. JASON FRAMEWORK: EXERCÍCIO
1) Criar um agente com as crenças inicias com seu name e age.
2) Adicionar nesse agente com um objetivo inicial introduce e implemente um plano que
informe o seu nome e sua idade na tela.
3) Adicionar nesse agente um outro plano com o mesmo nome introduce que seja responsável
por informar caso o agente já tenha se apresentado.
4) Adicione um plano para imprimir sua idade caso ele acredite que o dia é segunda-feira.
Adicione um plano de contenção caso não exista a crença de que dia é hoje na base de crenças
do agente.
OUTLINE 1. Introdução
2. A Arquitetura Robótica para SMA
3. Jason Framework
5. Conclusão
6. Referências Bibliográficas
59Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON
The Argo
by Lorenzo Costa
Argo foi o barco que
Jasão (Jason) e os
Argonautas
navegaram na busca
pelo velocino de
ouro na mitologia
grega.
60Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON
O ARGO é uma arquitetura customizada que emprega o
middleware Javino [Lazarin e Pantoja, 2015], que
provê uma ponte entre o agente inteligente e os
sensores e atuadores do robô.
Além disso, o ARGO possui um mecanismo de
filtragem de percepções [Stabile Jr e Sichman, 2015]
em tempo de execução.
O ARGO tem como objetivo ser uma arquitetura prática
para a programação de agentes robóticos
embarcados usando agentes BDI e placas
microcontroladas como o Arduino.
61Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: FUNCIONALIDADES
O ARGO permite:
1. Controlar diretamente os atuadores em tempo de execução;
2. Receber percepções dos sensores automaticamente dentro de um período de
tempo pré-definido;
3. Mudar os filtros de percepção em tempo de execução;
4. Alterar quais os dispositivos que estão sendo acessados em tempo de execução;
5. Se comunicar com outros agentes em Jason;
6. Decidir quando perceber ou não o mundo real em tempo de execução.
62Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: AÇÕES INTERNAS
• ARGO Internal Actions:
• .limit(x)
• Define um intervalo de tempo para perceber o ambiente
• .port(y)
• Define qual porta serial deve ser utilizada pelo agente
• .percepts(open|block)
• Decide quando perceber ou não o mundo real
• .act(w)
• Envia ao microcontrolador uma ação para ser executada por um efetuador
• .change_filter(filterName)
• Define um filtro de percepção para restringir percepções em tempo real
63Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: LIMITAÇÕES
Limitações:
• Limite de 127 portas seriais
• O limite da USB
• Uma porta de cada vez
• Sem competição de porta para evitar conflitos [Guinelli et al., 2016].
• As portas podem ser mudadas em tempo de execução.
• Só agentes ARGO podem controlar dispositivos
• Agentes em Jason não possuem as funcionalidades do ARGO.
• Só pode existir uma instância para cada arquivo do agente
• Se mais de um agente com o mesmo código for instanciado, conflitos acontecem
64Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: EXEMPLO
• O robô [Pantoja et al., 2016]:
• quatro sensores de distância
• quatro sensores de luminosidade
• quatro sensores de temperatura
• uma placa Arduino
• um chassis 4WD
• dois metros de distância de um muro
• velocidade constante
• o robô deve para após perceber uma distância
especificada
65Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: CÓDIGO DO AGENTE
66Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: CÓDIGO DO AGENTE
Seta a porta serial
COM8. Um dispositivo
Arduino.
67Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: CÓDIGO DO AGENTE
Seta um intervlo de
25ms para perceber o
mundo real.
68Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: CÓDIGO DO AGENTE
Abre a porta serial para
começar a receber as
percepções.
69Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: CÓDIGO DO AGENTE
Ativa o filtro.
70Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: CÓDIGO DO AGENTE
Envia uma ação
para ser
executado pelo
microcontrolador
71Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: CÓDIGO DO AGENTE
Continua se
movendo
enquando a
distância
percebida é
maior que a
distância limite
72Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON: CÓDIGO DO AGENTE
Para quando
perceber o
muro.
73Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
2. ARGO FOR JASON
OUTLINE 1. Introdução
2. A Arquitetura Robótica para SMA
3. Jason Framework
4. ARGO for Jason
6. Referências Bibliográficas
75Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
5. CONCLUSÃO
Desenvolver agentes robóticos controlados por
plataformas cognitivas é um desafio na área.
O ARGO atua em conjunto com o framework Jason
para prover a programação de agentes capazes de
comandar sensores e atuadores de um robô.
A possibilidade de criação de protótipos com capacidades
cognitivas.
OUTLINE 1. Introdução
2. A Arquitetura Robótica para SMA
3. Jason Framework
4. ARGO for Jason
5. Conclusão
77Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
6. REFERÊNCIAS BIBLIOGRÁFICA
•[Bordini et al. 2007] Bordini, R.H., Hubner, J.F., Wooldridge, M. Programming Multi-Agent Systems in AgentSpeak
Using Jason. John Wiley & Sons Ltd., 2007.
•[Bratman, 1987] Bratman, M. Intentions, Plans, and Practical Reason. Harvard University Press, 1987.
•[Guinelli et al., 2016] Guinelli, J. V. ; Junger, D. S. ; Pantoja, C. E. . An Analysis of Javino Middleware for Robotic
Platforms Using Jason and JADE Frameworks. In: Workshop-Escola de Sistemas de Agentes, Seus Ambientes e
Aplicações, Maceió. Anais do X Workshop-Escola de Sistemas de Agentes, seus Ambientes e Aplicações, 2016.
•[Huber, 1999]Huber MJ. Jam: a bdi-theoretic mobile agent architecture. In Proceedings of the third annual
conference on Autonomous Agents, AGENTS '99, pags. 236-243, New York, 1999
•[Lazarin and Pantoja, 2015] Lazarin, N.M., Pantoja, C.E. : A robotic-Agent Platform For Embedding Software
Agents Using Raspberry Pi and Arduino Boards. In: 9th Software Agents, Environments and Applications School,
2015
•[Pantoja et al., 2016] Pantoja, C. E.; Stabile Jr, M. F. ; Lazarin, N. M. ; Sichman, J. S. ARGO: A Customized Jason
Architecture for Programming Embedded Robotic Agents. In: Workshop on Engineering Multi-Agent Systems,
2016, Singapore. Proceedings of the Third International Workshop on Engineering Multi-Agent Systems (EMAS
2016), 2016.
78Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
6. REFERÊNCIAS BIBLIOGRÁFICA
•[Rao 1996] Rao, A.S.: AgentSpeak(L): BDI agents speak out in a logical computable language. In: de
Velde,W.V., Perram, J.W. (eds.) Proceedings of the 7th European workshop on Modelling autonomous
agents in a multi-agent world. Lecture Notes in Artificial Intelligence, vol. 1038, pp. 42-55. Springer-Verlag,
Secaucus. USA, 1996.
•[Stabile Jr. and Sichman, 2015] Stabile Jr., M.F., Sichman, J.S. Evaluating Perception Filters In BDI Jason
Agents. In: 4th Brazilian Conference On Intelligent Systems, 2015.
•[Winikoff, 2005] Winikoff M. Jack intelligent agents: An industrial strength platform. Em Bordini R, Dastani
M, Dix J, Fallah AS, Weiss G, editors. Multi-Agent Programming, volume 15 of Multiagent Systems, Articial
Societies, and Simulated Organizations, pags. 175-193. Springer US, 2005.
•[Wooldridge, 2000] Wooldridge, M. Reasoning about rational agents. Intelligent robotics and autonomous
agents. MIT Press, 2000.
•[Wooldridge, 2009] Wooldridge M. An Introduction to MultiAgent Systems. John Wiley & Sons, 2009.
•[Zambonelli et al., 2001] Zambonelli F, Jennings NR, Omicini A, Wooldridge M. Agent-Oriented Software
Engineering for Internet Applications. In: Omicini A, Zambonelli F, Klusch M, Tolksdorf R, editors.
Coordination of Internet Agents. Springer Verlag; 2001. p.326-345, 2001
79Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST
AGRADECIMENTOS
OBRIGADO!
pantoja@cefet-rj.br

Mais conteúdo relacionado

Semelhante a Introdução a Programação de Agentes Robóticos Usando Jason e ARGO

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
Carlos Eduardo Pantoja
 
A Middleware for Using PIC Microcontrollers and Jason Framework for Programmi...
A Middleware for Using PIC Microcontrollers and Jason Framework for Programmi...A Middleware for Using PIC Microcontrollers and Jason Framework for Programmi...
A Middleware for Using PIC Microcontrollers and Jason Framework for Programmi...
Carlos Eduardo Pantoja
 
Apresentação Integração ROS e JADE
Apresentação Integração ROS e JADEApresentação Integração ROS e JADE
Apresentação Integração ROS e JADE
Pedro Nakibar
 
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
Carlos Eduardo Pantoja
 
Zabbix para IoT - Zabbix Conference LatAm 2018
Zabbix para IoT - Zabbix Conference LatAm 2018Zabbix para IoT - Zabbix Conference LatAm 2018
Zabbix para IoT - Zabbix Conference LatAm 2018
André Déo
 
As melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de softwareAs melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de software
Rafael Souza
 
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...
Humberto Marchezi
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
Messias Batista
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
Lucas Boeing Scarduelli
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Messias Batista
 
Seminário sobre ferramentas de gerenciamento de software
Seminário sobre ferramentas de gerenciamento de softwareSeminário sobre ferramentas de gerenciamento de software
Seminário sobre ferramentas de gerenciamento de softwareDiógenes Fernandes
 
MTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento SeguroMTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento Seguro
André Luís Cardoso
 
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
Aécio Pires
 
Workshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootWorkshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring Boot
Lucas Boeing Scarduelli
 
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Marlon Carvalho
 
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
Igor Steinmacher
 
Curso Básico Android - Aula 05
Curso Básico Android - Aula 05Curso Básico Android - Aula 05
Curso Básico Android - Aula 05
Lucas Boeing Scarduelli
 
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do InteriorZabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix BR
 
Apresentacao TCC - TCC - Desenvolvimento aplicativo para o ROS (Robotic Opera...
Apresentacao TCC - TCC - Desenvolvimento aplicativo para o ROS (Robotic Opera...Apresentacao TCC - TCC - Desenvolvimento aplicativo para o ROS (Robotic Opera...
Apresentacao TCC - TCC - Desenvolvimento aplicativo para o ROS (Robotic Opera...
Caio Teixeira de Farias
 

Semelhante a Introdução a Programação de Agentes Robóticos Usando Jason e ARGO (20)

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
 
A Middleware for Using PIC Microcontrollers and Jason Framework for Programmi...
A Middleware for Using PIC Microcontrollers and Jason Framework for Programmi...A Middleware for Using PIC Microcontrollers and Jason Framework for Programmi...
A Middleware for Using PIC Microcontrollers and Jason Framework for Programmi...
 
Apresentação Integração ROS e JADE
Apresentação Integração ROS e JADEApresentação Integração ROS e JADE
Apresentação Integração ROS e JADE
 
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
 
Zabbix para IoT - Zabbix Conference LatAm 2018
Zabbix para IoT - Zabbix Conference LatAm 2018Zabbix para IoT - Zabbix Conference LatAm 2018
Zabbix para IoT - Zabbix Conference LatAm 2018
 
As melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de softwareAs melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de software
 
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
 
Seminário sobre ferramentas de gerenciamento de software
Seminário sobre ferramentas de gerenciamento de softwareSeminário sobre ferramentas de gerenciamento de software
Seminário sobre ferramentas de gerenciamento de software
 
MTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento SeguroMTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento Seguro
 
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
 
Workshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootWorkshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring Boot
 
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
 
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
 
Curso Básico Android - Aula 05
Curso Básico Android - Aula 05Curso Básico Android - Aula 05
Curso Básico Android - Aula 05
 
Kinect
KinectKinect
Kinect
 
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do InteriorZabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
 
Apresentacao TCC - TCC - Desenvolvimento aplicativo para o ROS (Robotic Opera...
Apresentacao TCC - TCC - Desenvolvimento aplicativo para o ROS (Robotic Opera...Apresentacao TCC - TCC - Desenvolvimento aplicativo para o ROS (Robotic Opera...
Apresentacao TCC - TCC - Desenvolvimento aplicativo para o ROS (Robotic Opera...
 

Mais de Carlos 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 Systems
Carlos 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ônomos
Carlos 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 Computadores
Carlos Eduardo Pantoja
 
ContextNet Middleware
ContextNet MiddlewareContextNet Middleware
ContextNet Middleware
Carlos 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
 
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
Carlos 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 Jason
Carlos 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 Economia
Carlos 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
 
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
Carlos Eduardo Pantoja
 
Comunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoComunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware Javino
Carlos Eduardo Pantoja
 
A Robotic Agent Platform for Embedding Software Agents Using Raspberry Pi and...
A Robotic Agent Platform for Embedding Software Agents Using Raspberry Pi and...A Robotic Agent Platform for Embedding Software Agents Using Raspberry Pi and...
A Robotic Agent Platform for Embedding Software Agents Using Raspberry Pi and...
Carlos Eduardo Pantoja
 

Mais de Carlos Eduardo Pantoja (20)

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
 
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...
 
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...
 
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
 
Comunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoComunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware Javino
 
A Robotic Agent Platform for Embedding Software Agents Using Raspberry Pi and...
A Robotic Agent Platform for Embedding Software Agents Using Raspberry Pi and...A Robotic Agent Platform for Embedding Software Agents Using Raspberry Pi and...
A Robotic Agent Platform for Embedding Software Agents Using Raspberry Pi and...
 

Introdução a Programação de Agentes Robóticos Usando Jason e ARGO

  • 1. Introdução a Programação de Agentes Robóticos Usando Jason e ARGO IV Semana de Informática e Segurança do Trabalho (SIST) do IFC Fraiburgo • 1. Centro Federal de Educação Tecnológica (CEFET/RJ), Brasil • 2. Universidade Federal Fluminense (UFF), Brasil Carlos Eduardo Pantoja 1,2 6 Maio 2016
  • 2. OUTLINE 1. Introdução 2. A Arquitetura Robótica para SMA 3. Jason Framework 4. ARGO for Jason 5. Conclusão 6. Referências Bibliográficas
  • 3. OUTLINE 2. A Arquitetura Robótica para SMA 3. Jason Framework 4. ARGO for Jason 5. Conclusão 6. Referências Bibliográficas
  • 4. 4Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: AGENTE Agente Conforme [Wooldridge, 2000], agentes são componentes autônomos e cognitivos, originados da inteligência artificial, situados em um ambiente e possuem uma biblioteca de planos com possíveis ações em resposta aos estímulos percebidos, com a finalidade de atingir seus objetivos de projeto e modificar o ambiente em que estão inseridos.
  • 5. 5Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: SMA Sistemas Multi-Agentes (SMA) Um SMA contem um quantitativo de agentes que se comunicam entre si e podem agir em determinado ambiente. Diferentes agentes possuem esferas de influência onde terão controle sobre o que será percebido do ambiente e que podem coincidir em alguns casos. Os agentes ainda podem estar agrupados em organizações com a finalidade de atingir objetivos e metas comuns. [Wooldridge, 2009].
  • 6. 6Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: SMA Visão Tradicional de um SMA Conforme [Wooldridge, 2009], a abordagem SMA permite a modelagem desde sistemas simples a complexos e são usados em uma variedade de aplicações como industria: 1. Gestão da Informação 2. Internet 3. Transportes 4. Telecomunicações 5. Medicina 6. Robótica 7. Entretenimento
  • 7. 7Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: AGENTE ROBÓTICO MASRobô É um agente físico que possui [Matarić, 2007]: 1. Hardware 2. Sensores e Atuadores 3. Software (raciocínio) 4. Middleware
  • 8. 8Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: BDI Modelo Belief-Desire-Intention (BDI) O BDI se refere ao uso de programas de computadores com analogias a crenças (beliefs), desejos (desires) e intenções (intentions). A definição de cada uma é descrita como se segue [Bordini et al., 2007]:  Crenças são informações que o agente tem sobre o mundo.  Desejos são todas as possibilidades de estados de negócio que o agente deve querer atingir.  Porém, ter um desejo não significa que o agente irá atuar sobre ele, mas este é uma potencial influência nas ações do agente.  Intenções são todos os estados de negócios em que o agente decidiu trabalhar.
  • 9. 9Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: LINGUAGENS Existem diversas linguagens e plataformas que implementam o conceito de BDI: 1. PRS [Bratman, 1987] 2. JAM [Huber, 1999] 3. dMARS [D'Inverno et al., 1998] 4. JACK [Winikoff, 2005] 5. JASON [Bordini et al., 2007] 6. JADE/JADEX [Bellifemine et al., 2007]
  • 10. 10Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: ARGO ARGO [Pantoja et al., 2016]: Uma arquitetura customizada do Jason para programação de Agentes Robóticos usando placas microcontroladas (Arduino): • Javino [Lazarin e Pantoja, 2015]  middleware para comunicação entre controladores e software de alto nível com detecção de erro. • Filtros de Percepções [Stabile Jr e Sichman, 2015]  Filtros de percepção reduzem a quantidade de informação percebida pelo agente em tempo de execução.
  • 11. 11Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: FILTROS MAS
  • 12. 12Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: FILTROS MAS
  • 13. 13Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 1. INTRODUÇÃO: OBJETIVOS Objetivo Principal • Criar sistemas multi-agentes utilizando uma plataforma cognitiva baseada em Java e AgentSpeak: Jason Framework. • Criar agentes robóticos utilizando a arquitetura customizada ARGO • Firmar uma parceria extensionista institucional entre o Projeto Turing do CEFET/RJ e o IFC Fraiburgo. • permitir à equipe do IFC desenvolver projetos científicos para participar da Mostra Nacional de Robótica de 2016. Objetivo Secundário
  • 14. OUTLINE 1. Introdução 3. Jason Framework 4. ARGO for Jason 5. Conclusão 6. Referências Bibliográficas
  • 15. 15Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA ou SMA embarcadoembarcado
  • 16. 16Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: FLUXO DA MENSAGEM
  • 17. 17Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: FLUXO DA MENSAGEM Sensores capturam dados brutos do mundo real e os envia para um dos microcontroladores escolhido para o projeto.
  • 18. 18Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: FLUXO DA MENSAGEM Na programação do microcontrolador, os dados brutos são transformados em percepções baseado na linguagem de programação orientada a agentes escolhida.
  • 19. 19Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: FLUXO DA MENSAGEM O Javino é responsável por enviar as percepções para a camada de raciocínio usando a comunicação serial.
  • 20. 20Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: FLUXO DA MENSAGEM O agente é capaz de raciocinar com as percepções que vem diretamente do mundo real. Além disso, o SMA pode ser embarcado em placas computadorizadas como a Raspberry Pi ou computadores com interface USB.
  • 21. 21Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: FLUXO DA MENSAGEM Então, o agente delibera e se alguma ação precisar ser ecevutada, uma mensagem é enviada a camada de baixo utilizando o Javino.
  • 22. 22Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: FLUXO DA MENSAGEM O Javino envia mensagens de ações para o microcontrolador que está conectado na porta USB identificado na mensagem.
  • 23. 23Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: FLUXO DA MENSAGEM Todas as funções possíveis dos atuadores são programadas para serem executadas em resposta a mensagens da porta seriais vinda do Javino.
  • 24. 24Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: FLUXO DA MENSAGEM O efetuador é ativado.
  • 25. 25Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARQUITETURA: PROTÓTIPOS
  • 26. OUTLINE 1. Introdução 2. A Arquitetura Robótica para SMA 4. ARGO for Jason 5. Conclusão 6. Referências Bibliográficas
  • 27. 27Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK O JASON é um framework baseado em AgentSpeak e Java que utiliza as principais características do PRS. Em JASON um agente é composto de crenças, metas, planos e ações e é programado utilizando o AgentSpeak. Os agentes em JASON estão inseridos em um ambiente onde as percepções e reações a estímulos do ambiente podem ser programadas em Java [Bordini et al., 2007]. Contudo, ao usar o ARGO, as percepções são provenientes do mundo real (sensores) e o agente as recebe automaticamente, sem intervenção do programador [Pantoja et al., 2016].
  • 28. 28Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK • Criando um Novo Projeto Jason • File>New>Other>Jason Project
  • 29. 29Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK • Criando um Novo Projeto Jason Colocar o nome do projeto Começar o projeto com um ambiente definido
  • 30. 30Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK • Criando um Novo Projeto Jason Pasta com os arquivos dos agentes em AgentSpeak Pasta com os arquivos do ambiente em Java Arquivo de configuração do SMA
  • 31. 31Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK • Inserindo um Novo Agente • File>New>Other>Agent
  • 32. 32Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK Digitar o nome do Agente. A primeira letra deve ser MINÚSCULA. • Inserindo um Novo Agente
  • 33. 33Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK • Inserindo um Novo Agente
  • 34. 34Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK • Configurando o SMA Especificação dos agentes participantes do SMA Especificação do endereço da pasta onde estão localizados os agentes
  • 35. 35Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK • Executando o SMA Selecionar o arquivo de configuração Executar o projeto
  • 36. 36Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK • Executando o SMA
  • 37. 37Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK • Debug do SMA
  • 38. 38Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: CRENÇAS • Beliefs Em Jason, um agente armazena as informações percebidas do ambiente; as informações internas; e informações de comunicação através de crenças. As crenças são armazenadas em uma Base de Crenças (Belief Base). As crenças são representadas como predicados da lógica tradicional. Os predicados representam propriedades particulares.
  • 39. 39Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: CRENÇAS • Tipos 1. Percepções do Ambiente (Percepts) 2. Notas Mentais (Mental Notes) 3. Comunicação Informações coletadas pelo agente que são relativas ao sensoriamento constante do ambiente. • Informações adicionadas na base de crenças pelo próprio agente.  coisas que aconteceram no passado;  promessas;  execução de um plano;  Constante do ambiente. Informações obtidas pelo agente através da interação com outros agentes.
  • 40. 40Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: CRENÇAS • Exemplos: Crenças Iniciais salario(5000). paulo(alto) .missionStarted. carro(ferrari, kadu). OBS. 1: Toda crença inicial em Jason deve terminar com . OBS. 2: Toda crença deve começar com letra MINÚSCULA.
  • 41. 41Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: CRENÇAS • Exemplos: Strong Negation ~alto(carlos). ~missionStarted. ~dia. OBS.: Toda strong negation em Jason deve começar com ~
  • 42. 42Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: CRENÇAS • Exemplos: Crenças Iniciais salario(5000).
  • 43. 43Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: GOALS • Goals Em Jason, os goals (objetivos) representam os estados do mundo em que o agente deseja atingir. • Tipos 1. Achievement Goals (!)  É um objetivo para atingir determinado estado desejado pelo agente. 2. Test Goals (?)  É um objetivo que tem basicamente a finalidade de resgatar informações da base de crenças do agente.
  • 44. 44Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: GOALS • Exemplos: Goals Iniciais !start. !thinking. OBS. 1: Toda goal inicial em Jason deve ser um Achievement Goal; começar com !; e terminar com . OBS. 2: Todo goal deve começar com letra MINÚSCULA.
  • 45. 45Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: GOALS • Exemplos: Goals Iniciais
  • 46. 46Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Plans & Actions Em Jason, um plano é composto por três partes: Triggering_event : context <- body.
  • 47. 47Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Formato de um Plano 1. Triggering Event 2. Context 3. Body Um agente pode ter diversos objetivos. Os planos são ativados baseados nos eventos que podem ser ativados em determinado momento. São as condições para a ativação de um plano dentro vários eventos. É o corpo do plano. Uma sequência de ações a ser executada pelo agente.
  • 48. 48Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Tipos de Triggering Events 1. Addition São ativados quando um plano é transformado de um desejo para uma intenção na mente do agente.
  • 49. 49Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Tipos de Triggering Events 2. Deletion Funciona como um ”tratamento de erros” para planos que não possuem ativação.
  • 50. 50Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Tipos de Planos 1. Achievement Goal São objetivos que os agentes se comprometem em atingir.
  • 51. 51Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Tipos de Planos 2. Test Goal São planos que são ativados quando se recuperam informações da base de crenças.
  • 52. 52Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Tipos de Planos 3. Belief São planos ativados quando o agente adiciona ou remove uma crença da sua base de crenças
  • 53. 53Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Ações de um Plano 1. Achievement e Test Goals São as chamadas para execução de um plano.
  • 54. 54Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Ações de um Plano 2. Mental Notes São ações que adicionam, removem ou atualizam uma crença na base de crença do agente.
  • 55. 55Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Ações de um Plano 3. Internal Action São ações pré-definidas executadas internamente no agente. .print .send .broadcast .drop_all_desires .my_name .concat .length .min .max .nth .sort .substring .drop_all_events .abolish .string .count .create_agent .date .wait .random .kill_agent .time .perceive .stopMAS
  • 56. 56Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: PLANOS E AÇÕES • Ações de um Plano 4. Expressões
  • 57. 57Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 3. JASON FRAMEWORK: EXERCÍCIO 1) Criar um agente com as crenças inicias com seu name e age. 2) Adicionar nesse agente com um objetivo inicial introduce e implemente um plano que informe o seu nome e sua idade na tela. 3) Adicionar nesse agente um outro plano com o mesmo nome introduce que seja responsável por informar caso o agente já tenha se apresentado. 4) Adicione um plano para imprimir sua idade caso ele acredite que o dia é segunda-feira. Adicione um plano de contenção caso não exista a crença de que dia é hoje na base de crenças do agente.
  • 58. OUTLINE 1. Introdução 2. A Arquitetura Robótica para SMA 3. Jason Framework 5. Conclusão 6. Referências Bibliográficas
  • 59. 59Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON The Argo by Lorenzo Costa Argo foi o barco que Jasão (Jason) e os Argonautas navegaram na busca pelo velocino de ouro na mitologia grega.
  • 60. 60Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON O ARGO é uma arquitetura customizada que emprega o middleware Javino [Lazarin e Pantoja, 2015], que provê uma ponte entre o agente inteligente e os sensores e atuadores do robô. Além disso, o ARGO possui um mecanismo de filtragem de percepções [Stabile Jr e Sichman, 2015] em tempo de execução. O ARGO tem como objetivo ser uma arquitetura prática para a programação de agentes robóticos embarcados usando agentes BDI e placas microcontroladas como o Arduino.
  • 61. 61Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: FUNCIONALIDADES O ARGO permite: 1. Controlar diretamente os atuadores em tempo de execução; 2. Receber percepções dos sensores automaticamente dentro de um período de tempo pré-definido; 3. Mudar os filtros de percepção em tempo de execução; 4. Alterar quais os dispositivos que estão sendo acessados em tempo de execução; 5. Se comunicar com outros agentes em Jason; 6. Decidir quando perceber ou não o mundo real em tempo de execução.
  • 62. 62Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: AÇÕES INTERNAS • ARGO Internal Actions: • .limit(x) • Define um intervalo de tempo para perceber o ambiente • .port(y) • Define qual porta serial deve ser utilizada pelo agente • .percepts(open|block) • Decide quando perceber ou não o mundo real • .act(w) • Envia ao microcontrolador uma ação para ser executada por um efetuador • .change_filter(filterName) • Define um filtro de percepção para restringir percepções em tempo real
  • 63. 63Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: LIMITAÇÕES Limitações: • Limite de 127 portas seriais • O limite da USB • Uma porta de cada vez • Sem competição de porta para evitar conflitos [Guinelli et al., 2016]. • As portas podem ser mudadas em tempo de execução. • Só agentes ARGO podem controlar dispositivos • Agentes em Jason não possuem as funcionalidades do ARGO. • Só pode existir uma instância para cada arquivo do agente • Se mais de um agente com o mesmo código for instanciado, conflitos acontecem
  • 64. 64Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: EXEMPLO • O robô [Pantoja et al., 2016]: • quatro sensores de distância • quatro sensores de luminosidade • quatro sensores de temperatura • uma placa Arduino • um chassis 4WD • dois metros de distância de um muro • velocidade constante • o robô deve para após perceber uma distância especificada
  • 65. 65Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: CÓDIGO DO AGENTE
  • 66. 66Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: CÓDIGO DO AGENTE Seta a porta serial COM8. Um dispositivo Arduino.
  • 67. 67Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: CÓDIGO DO AGENTE Seta um intervlo de 25ms para perceber o mundo real.
  • 68. 68Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: CÓDIGO DO AGENTE Abre a porta serial para começar a receber as percepções.
  • 69. 69Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: CÓDIGO DO AGENTE Ativa o filtro.
  • 70. 70Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: CÓDIGO DO AGENTE Envia uma ação para ser executado pelo microcontrolador
  • 71. 71Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: CÓDIGO DO AGENTE Continua se movendo enquando a distância percebida é maior que a distância limite
  • 72. 72Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON: CÓDIGO DO AGENTE Para quando perceber o muro.
  • 73. 73Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 2. ARGO FOR JASON
  • 74. OUTLINE 1. Introdução 2. A Arquitetura Robótica para SMA 3. Jason Framework 4. ARGO for Jason 6. Referências Bibliográficas
  • 75. 75Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 5. CONCLUSÃO Desenvolver agentes robóticos controlados por plataformas cognitivas é um desafio na área. O ARGO atua em conjunto com o framework Jason para prover a programação de agentes capazes de comandar sensores e atuadores de um robô. A possibilidade de criação de protótipos com capacidades cognitivas.
  • 76. OUTLINE 1. Introdução 2. A Arquitetura Robótica para SMA 3. Jason Framework 4. ARGO for Jason 5. Conclusão
  • 77. 77Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 6. REFERÊNCIAS BIBLIOGRÁFICA •[Bordini et al. 2007] Bordini, R.H., Hubner, J.F., Wooldridge, M. Programming Multi-Agent Systems in AgentSpeak Using Jason. John Wiley & Sons Ltd., 2007. •[Bratman, 1987] Bratman, M. Intentions, Plans, and Practical Reason. Harvard University Press, 1987. •[Guinelli et al., 2016] Guinelli, J. V. ; Junger, D. S. ; Pantoja, C. E. . An Analysis of Javino Middleware for Robotic Platforms Using Jason and JADE Frameworks. In: Workshop-Escola de Sistemas de Agentes, Seus Ambientes e Aplicações, Maceió. Anais do X Workshop-Escola de Sistemas de Agentes, seus Ambientes e Aplicações, 2016. •[Huber, 1999]Huber MJ. Jam: a bdi-theoretic mobile agent architecture. In Proceedings of the third annual conference on Autonomous Agents, AGENTS '99, pags. 236-243, New York, 1999 •[Lazarin and Pantoja, 2015] Lazarin, N.M., Pantoja, C.E. : A robotic-Agent Platform For Embedding Software Agents Using Raspberry Pi and Arduino Boards. In: 9th Software Agents, Environments and Applications School, 2015 •[Pantoja et al., 2016] Pantoja, C. E.; Stabile Jr, M. F. ; Lazarin, N. M. ; Sichman, J. S. ARGO: A Customized Jason Architecture for Programming Embedded Robotic Agents. In: Workshop on Engineering Multi-Agent Systems, 2016, Singapore. Proceedings of the Third International Workshop on Engineering Multi-Agent Systems (EMAS 2016), 2016.
  • 78. 78Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST 6. REFERÊNCIAS BIBLIOGRÁFICA •[Rao 1996] Rao, A.S.: AgentSpeak(L): BDI agents speak out in a logical computable language. In: de Velde,W.V., Perram, J.W. (eds.) Proceedings of the 7th European workshop on Modelling autonomous agents in a multi-agent world. Lecture Notes in Artificial Intelligence, vol. 1038, pp. 42-55. Springer-Verlag, Secaucus. USA, 1996. •[Stabile Jr. and Sichman, 2015] Stabile Jr., M.F., Sichman, J.S. Evaluating Perception Filters In BDI Jason Agents. In: 4th Brazilian Conference On Intelligent Systems, 2015. •[Winikoff, 2005] Winikoff M. Jack intelligent agents: An industrial strength platform. Em Bordini R, Dastani M, Dix J, Fallah AS, Weiss G, editors. Multi-Agent Programming, volume 15 of Multiagent Systems, Articial Societies, and Simulated Organizations, pags. 175-193. Springer US, 2005. •[Wooldridge, 2000] Wooldridge, M. Reasoning about rational agents. Intelligent robotics and autonomous agents. MIT Press, 2000. •[Wooldridge, 2009] Wooldridge M. An Introduction to MultiAgent Systems. John Wiley & Sons, 2009. •[Zambonelli et al., 2001] Zambonelli F, Jennings NR, Omicini A, Wooldridge M. Agent-Oriented Software Engineering for Internet Applications. In: Omicini A, Zambonelli F, Klusch M, Tolksdorf R, editors. Coordination of Internet Agents. Springer Verlag; 2001. p.326-345, 2001
  • 79. 79Introdução a Programação de Agentes Robóticos Usando Jason e ARGO - IV SIST AGRADECIMENTOS OBRIGADO! pantoja@cefet-rj.br