Comunicação de dois computadores

Neste post vamos ensinar como comunicar dois computadores usando ros

Setup Inicial

Antes de mais nada é preciso que os computadores saibam da existência uns dos outros, ou seja, é preciso que eles saibam o ip e o nome relacionado a cada computador. Para configurar isso nós editamos o arquivo /etc/hosts dos computadores e adicionamos o ip e um nome para cada computador.

Exemplo

192.168.0.1    robo_base
192.168.0.2    notebook

Para testar se a configuração foi feita corretamente podemos fazer o comando ping

ping robo_base
ping notebook

Setup ROS

Feito isto agora temos que fazer o setup do ros. Setamos o IP de cada computador com o comando
export ROS_IP=192.168.0.1
Agora os computadores sabem se comunicar usando nomes e ips e o ROS tambem.

Comunicação

O Ros foi feito com a arquitetura cliente sevidor em mente então comunicar dois computadores não é difícil. O que precisamos fazer é iniciar o roscore em um dos computadores e esse computador vai funcionar como um servidor. No nosso exemplo o servidor sera o robo_base, é só dar o comando roscore
E os outros computadores precisam enviar requisições para esse servidor.
O comando para isso é
export ROS_MASTER_URI=http://robo_base:11311
Onde robo_base eh o nome do servidor definido no arquivo hosts e 11311 é a porta que o ros ouve.
Esse comando precisa ser feito em todas as máquinas envolvidas na comunicação.

Agora as outras máquinas podem rodar seus programas que os topicos serão compartilhados com todas.

Você pode rodar um listener na máquina host e vários listeners nas outras máquinas e você verá a mágica acontecer. (Ver [3])

Referências

[1] http://wiki.ros.org/ROS/Tutorials/MultipleMachines
[2] http://wiki.ros.org/ROS/NetworkSetup
[3] http://wiki.ros.org/pt_BR/ROS/Tutorials/WritingPublisherSubscriber(python)

Comentários

Postagens mais visitadas deste blog

Instalação e configuração do simulador gazebo no ubuntu 14.04 com ros jade

Mapeamento com Laser e o Pioneer 3-AT

Repositórios de códigos C++ e Python