Este documento fornece um tutorial sobre como integrar o framework JADE com o ROS usando a biblioteca jrosbridge. Ele explica como configurar um projeto Maven no Eclipse para usar as bibliotecas JADE e jrosbridge, iniciar o ROS e rosbridge, criar agentes Java para controlar um simulador de tartaruga no ROS e enviar comandos entre os agentes e o tópico da tartaruga.
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Tutorial JADE e ROS integração
1. Tutorial JADE e ROS
Autor: Pedro Mathias Nakibar
1.Requisitos
2.Criação do Projeto
1.Criar um projeto Maven no Eclipse EE
2. Editar o arquivo POM.xml e adicionar o repositório e as dependências necessárias
(JADE e jrosbride)
3.Modificar a configuração para rodar o programa
3. Iniciando o ROS
inicie o rosbridge
4. Arquivos Java dentro do projeto
Pilot.java
Turtle.java
5. Instanciando os Agentes
1.Requisitos
● Java JDK 8
● IDE Eclipse EE
● Maven (Já incluído no eclipse EE)
● ROS e ROS Bridge Instalados
○ Tutorial de instalação do ROS: http://wiki.ros.org/indigo/Installation
○ Tutorial de como rodar o ROS Bridge:
http://wiki.ros.org/rosbridge_suite/Tutorials/RunningRosbridge
2.Criação do Projeto
1.Criar um projeto Maven no Eclipse EE
Ir em File>New Project e depois selecionar o Maven Project
2.
3.
2. Editar o arquivo POM.xml e adicionar o repositório e as
dependências necessárias (JADEe jrosbride)
<projectxmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>RosJadeIntegration</groupId>
<artifactId>RosJadeIntegration</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<id>tilab</id>
<url>http://jade.tilab.com/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.tilab.jade</groupId>
<artifactId>jade</artifactId>
<version>4.3.3</version>
</dependency>
<dependency>
6.
Bem vindo ao JADE!
3. Iniciando o ROS
Abra o seu emulador de terminal e execute:
roslaunchrosbridge_serverrosbridge_websocket.launch
Este comando irá também iniciar o roscore que suporta as várias funcionalidades do
ROS.
Em outro emulador de terminar insira os comandos:
rosrunturtlesimturtlesim_node
Irá aparecer uma janela e o serviço do “simulador de tartaruga” será iniciado.
7.
E o serviço já está rodando!
4. Arquivos Java dentro do projeto
Pilot.java
packagemyagents.pilot;
importjava.io.IOException;
importedu.wpi.rail.jrosbridge.messages.geometry.Vector3;
importjade.core.AID;
importjade.core.Agent;
importjade.core.behaviours.Behaviour;
importjade.lang.acl.ACLMessage;
publicclassPilotextendsAgent{
privatestaticfinallongserialVersionUID=1L;
protectedvoidsetup(){
System.out.println("Hello,"+getAID().getName()+"isready");
addBehaviour(newIssueCommandToTurtle());
}
privateclassIssueCommandToTurtleextendsOneShotBehaviour{
privatestaticfinallongserialVersionUID=5328804229040293382L;
@Override
publicvoidaction(){
AIDturtle1=newAID("turtle1",AID.ISLOCALNAME);
ACLMessagemessage=newACLMessage(ACLMessage.REQUEST);
message.addReceiver(turtle1);
Float[]linear={(float)2.0,(float)2.0,(float)0.0};
Float[]angular={(float)0,(float)0,(float)0};
Float[][]vectors={linear,angular};
try{
message.setContentObject(vectors);
}catch(IOExceptione){
e.printStackTrace();
}
myAgent.send(message);
doDelete()
}
}
}