Pular para o conteúdo principal

Configuração rede de robos com o ROS




 Na maioria da vezes que utilizamos o ROS como base para o desenvolvimento dos nossos robos temos um sistema embarcado, seja ele um raspberry pi, jetson ou qualquer outro instalado em nosso robo. Agora do nosso lado de desenvolvimento temos nosso notebook ou desktop. Para que possamos visualizar os dados do nosso robo no notebook precisaremos fazer alguns passos para configurar o ip do ROS mestre.


1 passo : Verificar IP do notebook e sistema embarcado.


alguns comandos poderão ser utilizados para isso, como:


ifconfig

ip addr

hostname -I


Todos estes retornarão o ip no qual foi associado à rede.


exemplo:


|||||

|||||

|||||


2 passo : Adicionar os ip's no diretório de hosts


No fim do arquivo /etc/hosts será adicionado as seguintes linhas:


[IP] raspberry 

[IP] mypc


Esse processo deverá ser feito no sistema embarcado e no notebook.


3 passo : Variáveis de ambiente 


Para que o ROS faça uso dos ip's em sua inicialização será necessário setar as variáveis de ambiente ROS_HOSTNAME e ROS_MASTER e isso poderá ser feito da seguinte forma:


Embarcado (master)

$ export ROS_HOSTNAME=raspberry

$ export ROS_MASTER_URI=http://raspberry:11311


Notebook (slave)


$ export ROS_HOSTNAME=mypc

$ export ROS_MASTER_URI=http://raspberry:11311


Agora os tópicos do raspberry (sistema embarcado) estarão disponíveis para ser visualizados no notebook.

rostopic list (lista os tópicos) 

rostopic echo (Visualiza um tópico especifico)


4 passo : bashrc


Toda vez que um terminal novo é aberto teremos que setar as variáveis de ambiente, para automatizar esse processo podemos incluir os comandos no arquivo ~/.bashrc pois ele é executado sempre que um novo terminal é aberto. 


Arquivo ~/.bashrc rasberry

export ROS_HOSTNAME=raspberry

export ROS_MASTER_URI=http://raspberry:11311


Arquivo ~/.bashrc notebook

export ROS_HOSTNAME=mypc

export ROS_MASTER_URI=http://raspberry:11311


Comentários

Postagens mais visitadas deste blog

Programação STM32F103C8 USB

Para realizar esse tutorial será necessário: 1x STM32 F103C8T6 -  https://www.curtocircuito.com.br/placa-arm-stm32-stm32f103c8t6.html 1x Conversor FT232Rl - FTDI -  https://www.curtocircuito.com.br/conversor-usb-serial-ft232rl-ftdi.html Cabo USB para FTDI. 4x Jumpers Macho-Macho. 1x Protoboard  Após separar os materiais faça as conexões seguindo o diagrama abaixo : *Lembre que os microcontroladores ARM funcionam em 3.3V, entao ajuste o jumper do FTDI para 3.3V * Após concluído terá algo bem semelhante. O STM32F103C8 possui 2 jumpers em sua placa ajustaremos 1 deles para a posição de boot (programing mode) O próximo passo será baixar um aquivo de boot genérico e fazer a gravação do mesmo em nosso microcontrolador(MCU), ultilizando um Software da ST chamado Flash Loader Demonstrator. Baixe o aquivo de boot clicando aqui . Baixe o Flash loader clicando aqui  e faça a instalação (Esteja logado em sua conta no site). C...

Como fazer Swap ?

https://sempreupdate.com.br/como-criar-arquivo-de-memoria-swap-e-ativar-no-sistema/ tutorial para 1gb, para maiores valores alterar parametro count default count=1048576 para 5gb, multiplicacar count por 5.

Obter ros_lib arduino

Passo 1 :  Para trabalhar com arduino e o ROS precisamos de uma biblioteca de interface a qual pode ser instalada com o seguinte comando. Ros Kinetic (ubuntu 16.04): $ sudo apt-get install ros-kinetic-rosserial $ sudo apt-get install ros-kinetic-rosserial-arduino  Ros Melodic (ubuntu 18.04): $ sudo apt-get install ros-melodic-rosserial $ sudo apt-get install ros-melodic-rosserial-arduino Passo 2 : Navegue até o seguinte local ~/home/user (pasta pessoal) e crie a biblioteca ros_lib com o comando a seguir. Ros Kinetic (ubuntu 16.04): $ cd ~/home/usuário/            #substitua o usuário pelo correspondente  $ rosrun rosserial_arduino make_libraries.py Arduino/libraries Ros Melodic (ubuntu 18.04): $ cd ~/Arduino/libraries/ $ rosrun rosserial_arduino make_libraries.py ./ Caso apresente erro : Caso apresentar o erro na biblioteca rospkg como na imagem a seguir, siga os passos abaixo : ...