Utilizando Sistemas Multi-
Agentes para
Programação de
Plataformas Robóticas
Semana de Atualização emTecnologia da Informação
(SATI) – UTFPR – Campus Ponta Grossa
• 1. Centro Federal de Educação Tecnológica (CEFET/RJ), Brasil
• 2. Universidade Federal Fluminense (UFF), Brasil
Carlos Eduardo Pantoja 1,2
29 de Setembro 2016
OUTLINE 1. Introdução
2. Plataformas e Frameworks
3. Projetos de Acessibilidade
4. Trabalhos Futuros
5. Conclusão
Referências Bibliográficas
OUTLINE
2. Plataformas e Frameworks
3. Projetos de Acessibilidade
4. Trabalhos Futuros
5. Conclusão
Referências Bibliográficas
4Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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.
5Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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].
6Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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
7Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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
8Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: AGENTE COGNITIVO
O BDI [Bratman, 1987] se refere ao uso de programas de computadores com
analogias a crenças (beliefs), desejos (desires) e intenções (intentions).
Modelo Belief-Desire-Intention (BDI)
1. Crenças são informações que o agente tem sobre o mundo.
2. Desejos são todas as possibilidades de estados de negócio que o agente devequerer 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.
3. Intenções são todos os estados de negócios em que o agente decidiu trabalhar.
9Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: AGENTE ROBÓTICO
Existem diversas linguagens e plataformas que implementam o conceito de BDI:
1. dMARS [D'Inverno et al., 1998]
2. 3APL [Hindricks et al., 1999]
3. JACK [Winikoff, 2005]
4. JASON [Bordini et al., 2007]
5. JADE/JADEX [Bellifemine et al., 2007]
6. GOAL [Hindricks, 2009]
10Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: AGENTE ROBÓTICO
Algumas dessas linguagens foram estendidas/utilizadas para programação de
plataformas robóticas:
1. 3APL [Hindricks et al., 1999]
2. JADE/JADEX [Soriano et al., 2013]
3. Jason [Jensen, 2010]
4. CArtAgO [Ricci et al., 2009]
5. GOAL [Hindricks, 2009]
11Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: ARGO
• JASON LEGO MINDSTORM
12Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: ARGO
• JASON LEGO MINDSTORM
$400
13Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: ARGO
• CArtAgO Robot Operating System (ROS) -> Pioneer 2/3DX
14Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: ARGO
• CArtAgO ROS -> Pioneer 2/3DX
€4800
15Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: ARGO
• GOAL NAO
16Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: ARGO
• GOAL NAO
$9000
17Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
1. INTRODUÇÃO: OBJETIVOS
O que fazer para projetar agentes cognitivos robóticos?
OUTLINE 1. Introdução
3. Histórico de Projetos Embarcados
4. Projetos Voltados a Acessibilidade
5. Trabalhos Futuros
6. Conclusão
Referências Bibliográficas
19Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: O INÍCIO
• X-Plane 9 + Jason [Alexandre e Pantoja, 2014]
Uma biblioteca para integração entre um simulador de voo profissional e Sistemas Multi-agentes.
Usando comunicação serial e pacotes UDP.
20Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
3. THE ROAD SO FAR…
21Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
3. THE ROAD SO FAR…
22Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
O Arduino é um componente que une conceitos principalmente de
eletrônica e
programação, a fim de
facilitar a aplicação de
projetos tecnológicos.
2. PLATAFORMAS E FRAMEWORKS: ARDUINO
23Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
• Arduino + Jason (não embarcado) [Barros et al., 2014]
Um veículo terrestre que se locomove de um ponto X a um ponto Y, baseado na coordenadas de GPS.
Usando comunicação serial e a biblioteca RxTx. Criação de um biblioteca para o agente de cálculo para o
deslocamento
• Problemas
O SMA executava em um computador com transmissores e receptores, que eram responsáveis pela troca de informações entre o hardware e o software.
Era necessário a intervenção em dois ambientes: o simulado e o real (onde efetivamente o agente robótico atua).
24Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
25Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
3. THE ROAD SO FAR…
26Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
A Raspberry Pi é um mini–computador capaz de executar
um SMA embarcado econtrolar o Arduino em
tempo de execução.
2. PLATAFORMAS E FRAMEWORKS: RASPBERRY PI
27Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
• Arduino + Jason (embarcado) [Lazarin e Pantoja, 2015]
Utilização da Raspberry Pi (versão 1) para embarcação do SMA. Criação de um middleware para comunicação serial entre Hardware e Software:
Javino.
• Problemas
O processamento das percepções pode causar atrasos na tomada de decisão do agente.
Ainda é necessária a intervenção no ambiente simulado.
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
28Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
29Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
30Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
31Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
32Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
33Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
34Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: JAVINO
• Middleware Javino [Lazarin e Pantoja, 2015]
Protocolo de comunicação entre hardware-software e software-hardware. Bibliotecas para cada lado da comunicação. Detecção de erros.
AGENT
request a message
answer with a message
35Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: A ARQUITETURA
O Javino envia mensagens de ações para
o microcontrolador que está conectado na
porta USB identificado na mensagem.
36Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: A ARQUITETURA
O Javino é responsável por enviar as
percepções para a camada de raciocínio
usando a comunicação serial.
37Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
• Arquitetura + Javino [Lazarin e Pantoja, 2015] [Guinelli et al.,2016]
O protocolo implementado pelo Javino é multi-plataforma. Pode ser utilizado para desenvolvimento de SMA com qualquer linguagem baseada
em Java: Jason, Jade, Jack, etc. A biblioteca do lado do software é independente de tecnologia. A arquitetura permite que um agente robótico controle diferentes
microcontroladores presentes em um mesmo projeto.
• Problemas
Dependendo da linguagem de programação orientada a agentes escolhida, as percepções devem ser preparadas no lado do Hardware.
Necessidade de desenvolvimento de bibliotecas para outros microcontroladores. Falta de um mecanismo de comunicação entre agentes robóticos.
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
38Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
39Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: THE ROAD SO FAR…
43Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
• ARGO for Jason [Pantoja et al., 2016a] [Pantoja et al., 2016b]
Uma arquitetura customizada que estende o framework Jason. O Javino é a ponte entre o agente inteligente e os sensores e atuadores da
plataforma robótica.
• Problemas
Dependendo do número de percepções do agente, o tempo de execução de uma ação do agente robótico pode ser comprometida.
• Solução
Filtrar determinadas percepções [Stabile Jr e Sichman, 2016].
44Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
MAS
2. PLATAFORMAS E FRAMEWORKS: FILTROS
45Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
MAS
2. PLATAFORMAS E FRAMEWORKS: FILTROS
46Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
47Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
49Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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.
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
50Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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.
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
51Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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.
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
52Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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.
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
53Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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.
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
54Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
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.
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
55Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
2. PLATAFORMAS E FRAMEWORKS: ARGO FOR JASON
OUTLINE 1. Introdução
2. Plataformas e Frameworks
4. Trabalhos Futuros
5. Conclusão
Referências Bibliográficas
60Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
3. PROJETOS DE ACESSIBILIDADE: PROJETO TURING
O Projeto Turing é um projeto de extensão iniciado em 2012 no
CEFET/RJ que atua junto aos alunos de Informática e Sistemas de Informação
de Nova Friburgo; dos alunos de Automação Industrial de Maria da Graça; e
dos alunos de Informática de Nova Iguaçu.
O projeto visa promover a popularização da ciência e tecnologiaatravés da participação em eventos técnico-científicos, de nível médio/técnico,
por meio de apresentações de trabalhos e submissões de artigos que estimulam o interesse pela pesquisa.
61Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
3. PROJETOS DE ACESSIBILIDADE
Desenvolvimento de uma Cadeira de Rodas Acionada por Comandos de Voz
66Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
3. PROJETOS DE ACESSIBILIDADE
Tecnoboné - Um Protótipo de Boné Inteligente para Gerenciamento no Desvio de Objetos
72Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
3. PROJETOS DE ACESSIBILIDADE
LuBras - Um Dispositivo Eletrônico para a Comunicação LIBRAS e Língua Portuguesa
77Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
3. PROJETOS DE ACESSIBILIDADE
DEMONSTRAÇÃO
OUTLINE 1. Introdução
2. Plataformas e Frameworks
3. Projetos de Acessibilidade
5. Conclusão
Referências Bibliográficas
83Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
4. TRABALHOS FUTUROS: MIDDLEWARE
Implementada(sem testes)
Ideia(pode ser desenvolvida)
84Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
4. TRABALHOS FUTUROS: COMUNICAÇÃO MULTI-ROBÔ
85Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
4. TRABALHOS FUTUROS: COMUNICAÇÃO MULTI-ROBÔ
86Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
4. TRABALHOS FUTUROS: COMUNICAÇÃO MULTI-ROBÔ
87Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
4. TRABALHOS FUTUROS: REGULAÇÃO NORMATIVA
88Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
4. TRABALHOS FUTUROS: COMUNICAÇÃO MULTI-ROBÔ
OUTLINE 1. Introdução
2. Plataformas e Frameworks
3. Projetos de Acessibilidade
4. Trabalhos Futuros
Referências Bibliográficas
90Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
6. CONCLUSÃO
Desenvolver agentes robóticos controlados por plataformas cognitivas é um desafio na área.
Permitir a possibilidade de criação de protótipos com capacidades cognitivas.
Compartilhar experiências e estabelecer parcerias para trabalhos futuros.
OUTLINE 1. Introdução
2. Plataformas e Frameworks
3. Projetos de Acessibilidade
4. Trabalhos Futuros
5. Conclusão
92Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
REFERÊNCIAS BIBLIOGRÁFICA
•[Barros et al., 2014] 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.
•[Bordini et al. 2007] Bordini, R.H., Hubner, J.F., Wooldridge, M. Programming Multi-Agent Systems in AgentSpeakUsing 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 RoboticPlatforms 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.
•[Jensen, 2010] A. S. Jensen. Implementing lego agents using jason. Disponínel em: arXiv:1010.0150, 2010.
•[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
93Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
REFERÊNCIAS BIBLIOGRÁFICA
•[Pantoja et al., 2016a] 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.
•[Pantoja et al, 2016b] Pantoja, C. E.; Stabile Jr, M. F. ; Lazarin, N. M. ; Sichman, J. S. . ARGO: An Extended Jason Architecture that Facilitates Embedded Robotic Agents Programming. In: Lecture Notes in Artificial Intelligence, 2016.
•[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, DastaniM, Dix J, Fallah AS, Weiss G, editors. Multi-Agent Programming, volume 15 of Multiagent Systems, ArticialSocieties, and Simulated Organizations, pags. 175-193. Springer US, 2005.
94Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
REFERÊNCIAS BIBLIOGRÁFICA
•[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
95Utilizando Sistemas Multi-Agentes para Programação de Plataformas Robóticas – SATI 2016
AGRADECIMENTOS
Top Related