Integração de sistemas
robóticos com sistemas
de agentes
Pedro Mathias Nakibar
Qual objetivo?
Unir os sistemas!
Robos
operados via
agentes!
Múltiplos agentes em um robô permite que um rôbo...
...tenha vários usos, para várias funções diferentes
Se mover
Carregar pessoas
Tirar fotos
Mas o quê é um agente?
Historically the concept of Agent-oriented
programming and the idea of centering your
software around the concept of agent was
first used by Yoav Shoham within his
Artificial Intelligence studies, in 1990. His
agents are specific to his own paradigm as
they have just one method, with a single
parameter. To quote Yoav Shoham from his
paper in 1990 for a basic difference between
of AOP against OOP:
...agent-oriented programming (AOP), which can
be viewed as a specialization of object-oriented
programming. ...
Diferenças OOP vs AOP
OOP AOP
Basic Unit Object Agent
Parameters defining state of
basic unit
unconstrained beliefs, commitments,
capabilities, choices...
Process of computation message passing and
response methods
message passing and
response methods
Types of message unconstrained inform, request, offer,
promise, decline...
Constraints on methods none honesty, consistency...
Overview da plataforma JADE
Serviço de Páginas
Amarelas
Autoridade na plataforma,
único agente com poderes
administrativos
E quem é o ROS?
Overview do ROS
O quê é o ROS?
● Framework para escrever software de robos
● Coleção de ferramentas bibliotecas e
convenções para simplificar o
desenvolvimento de software para robos,
em plataformas diferentes
Ferramentas
● Infraestrutura de comunicação
● Específicas para cada tipo de robo
● Internas do ROS
Infraestrutura de comunicação
Infraestrutura de comunicação
● RPCs
● Troca de Mensagens
● Gravação e Playback de mensagens
● Distributed Parameter System
Resultado da união
Experimento TurtleSim
Experimento
● Utilizando o TurtleSim foi
possível provar que a proposta
de unir as duas plataformas é
possível
○ TurtleSim é um simulador
de logo dentro do ROS, que
auxilia na compreensão das
funções internas, sem
precisar de investir em um
robo real
○ A tartaruga serve como uma
abstração virtual de um robo
Processo de
desenvolvimento
Primeiro Passo, unir o ROS com o Java
Isso foi feito com o jrosbridge, uma API para comunicação com o ROS
jrosbridge
websockets
JSON
JADE funciona em cima do JAVA, então é possível utilizar os recursos do
JAVA juntamente com os Agentes
jrosbridge
Este agente
representa a
tartaruga
E como dois agentes podem trocar mensagens...
...temos que podemos fazer um agente terceiro controlar a Tartaruga
jrosbridge
Agente piloto
Considerações finais
● Os agentes podem ser programados para
realizarem multiplas funções
○ Essa característica ajuda na criação de rôbos
multifunção, já que o poder do que fazer está nas
mãos do agente piloto
Fontes
● http://en.wikipedia.org/wiki/Agent-oriented_programming
● http://www.ros.org/
● http://jade.tilab.com/
● https://www.iconsmind.com/
● http://gundam.wikia.com/ e http://www.gundam-w.jp/

Apresentação Integração ROS e JADE

  • 1.
    Integração de sistemas robóticoscom sistemas de agentes Pedro Mathias Nakibar
  • 2.
  • 3.
  • 4.
    Múltiplos agentes emum robô permite que um rôbo...
  • 5.
    ...tenha vários usos,para várias funções diferentes Se mover Carregar pessoas Tirar fotos
  • 6.
    Mas o quêé um agente?
  • 7.
    Historically the conceptof Agent-oriented programming and the idea of centering your software around the concept of agent was first used by Yoav Shoham within his Artificial Intelligence studies, in 1990. His agents are specific to his own paradigm as they have just one method, with a single parameter. To quote Yoav Shoham from his paper in 1990 for a basic difference between of AOP against OOP: ...agent-oriented programming (AOP), which can be viewed as a specialization of object-oriented programming. ...
  • 8.
    Diferenças OOP vsAOP OOP AOP Basic Unit Object Agent Parameters defining state of basic unit unconstrained beliefs, commitments, capabilities, choices... Process of computation message passing and response methods message passing and response methods Types of message unconstrained inform, request, offer, promise, decline... Constraints on methods none honesty, consistency...
  • 9.
    Overview da plataformaJADE Serviço de Páginas Amarelas Autoridade na plataforma, único agente com poderes administrativos
  • 10.
    E quem éo ROS?
  • 11.
  • 12.
    O quê éo ROS? ● Framework para escrever software de robos ● Coleção de ferramentas bibliotecas e convenções para simplificar o desenvolvimento de software para robos, em plataformas diferentes
  • 13.
    Ferramentas ● Infraestrutura decomunicação ● Específicas para cada tipo de robo ● Internas do ROS
  • 14.
  • 15.
    Infraestrutura de comunicação ●RPCs ● Troca de Mensagens ● Gravação e Playback de mensagens ● Distributed Parameter System
  • 16.
  • 17.
    Experimento ● Utilizando oTurtleSim foi possível provar que a proposta de unir as duas plataformas é possível ○ TurtleSim é um simulador de logo dentro do ROS, que auxilia na compreensão das funções internas, sem precisar de investir em um robo real ○ A tartaruga serve como uma abstração virtual de um robo
  • 18.
  • 19.
    Primeiro Passo, uniro ROS com o Java
  • 20.
    Isso foi feitocom o jrosbridge, uma API para comunicação com o ROS jrosbridge websockets JSON
  • 21.
    JADE funciona emcima do JAVA, então é possível utilizar os recursos do JAVA juntamente com os Agentes jrosbridge Este agente representa a tartaruga
  • 22.
    E como doisagentes podem trocar mensagens...
  • 23.
    ...temos que podemosfazer um agente terceiro controlar a Tartaruga jrosbridge Agente piloto
  • 24.
    Considerações finais ● Osagentes podem ser programados para realizarem multiplas funções ○ Essa característica ajuda na criação de rôbos multifunção, já que o poder do que fazer está nas mãos do agente piloto
  • 25.
    Fontes ● http://en.wikipedia.org/wiki/Agent-oriented_programming ● http://www.ros.org/ ●http://jade.tilab.com/ ● https://www.iconsmind.com/ ● http://gundam.wikia.com/ e http://www.gundam-w.jp/