Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas

95
Utilizando Sistemas Multi - Agentes para Programação de Plataformas Robóticas Semana de Atualização em Tecnologia 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

Transcript of Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas

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…

7

7

7

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

7

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

7

7

7

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

5

6

7

7

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

[email protected]