Arduino, Eletrônica, Robótica, ROS

ROS kinetic e IDE Arduino

ROS kinetic Kame

Robot Operating System

A plataforma Arduino é uma ótima ferramenta para programar Hardware. Usando o pacote “rosserial_arduino” é possível se comunicar com o ROS diretamente através de um Arduino. O pacote rosserial implementa o protocolo de comunicação ROS através da UART da placa do Arduino. Inclusive também é possível usar o ES8266 e através de WIFI via socket TCP usando esta mesma biblioteca. Com isso é possível uma placa Arduino ser um nó(node) com todas as suas capacidades como: “publish” e “subscribe”, “publish TF transforms” e pegar o “ROS system time”.

Instale o IDE do Arduino no Ubuntu através dos procedimentos detalhados em https://www.arduino.cc/en/Guide/Linux ou caso use Windows, baixe e siga o passo a passo de instalação fornecido no próprio site do arduino.cc

DICA: ao tentar instalar a versão 1.6.1 e a 1.8.2 aconteceu um erro durante a instalação. Após pesquisas, encontrei que o erro está no “install.sh” que fica dentro da pasta do Arduino, para isso você terá que editar o arquivo. Entre na pasta e clique com botão direito do mouse sobre o arquivo “install.sh” e clique em editar com gedit. Onde tem a linha

RESOURCE_NAME=cc.arduino.arduinoide

substitua por:

RESOURCE_NAME=arduino-arduinoide

Salve as alterações e repita o comando ./install.sh no terminal.


Configurando o IDE Arduino para funcionar com o ROS

Procedimentos mais detalhados em: http://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup

Para usar o ROS com Arduino será necessária uma biblioteca do ROS. Esta biblioteca deve ser gerada no computador (ou máquina Virtual) onde existe a instalação do seu ROS. Depois de gerada, a biblioteca funciona em qualquer instalação do Arduino. Bastando apenas copiá-la para a pasta “libraries” do deu IDE Arduino. Vamos lá, num terminal no Ubuntu digite:

sudo apt-get install ros-kinetic-rosserial-arduino
sudo apt-get install ros-kinetic-rosserial

O primeiro comando instala dependências para funcionar ROS com Arduino e o segundo comando instala o pacote ROS para comunicação serial (socket TCP incluído).

Depois, vamos gerar nossa biblioteca para Arduino com o comando:

rosrun rosserial_arduino make_libraries.py .

O ROS vai criar uma pasta com nome ros_lib na sua pasta HOME. Esta pasta contém a biblioteca para comunicação com o ROS. Copie e cole esta pasta na sua IDE Arduino dentro da pasta “libraries” que geralmente fica dentro da pasta arduino.

DICA: De preferência use uma pasta para os sketchs Arduino no seu home folder para evitar problemas de permissões do Linux. Exemplo: após instalar o IDE Arduino verifique se ele já criou uma pasta “Arduino” no seu home. caso não tenha criado crie uma pasta no seu home com nome “Arduino” e depois, dentro da IDE do Arduino, vá em “File > Preferences” e “sketchbook folder” e insira lá o caminho da pasta sketchbook que você acabou de criar exemplo “/home/seunome/Arduino”. Reinicie o IDE.

Reinicie o IDE Arduino. Agora deve aparecer “ros_lib” dentro de “File > Examples”. E com isso agora você pode testar os exemplos.

OBS: Dentro do código Arduino deverá agora ser incluído #include <ros.h> antes de qualquer outro código ou outra declaração de include.

2 Comments

  1. Leonardo

    Muito obrigado pelas dicas e referência. Me ajudou a iniciar uma parte do meu TCC em mecatrônica. Uso ROS Kinetic no Ubuntu 16.04 e com a IDE do arduino 1.8.9

    • Muito feliz em saber que as informações foram úteis para alguém =D. Se puder, compartilhe seu tcc para ajudar outras pessoas no tema. Obrigado.

Leave a Reply

Theme by Anders Norén