Robótica, ROS, Software

Instalação ROS Melodic Morenia

Logo ROS Melodic Morenia

Logo ROS Melodic Morenia

ROS : Robotic Operating System.

Esta série de posts sobre o ROS será baseada na documentação oficial da página ros.org. Estou aprendendo ROS e documentando os principais tópicos a medida que der tempo for estudando um por um. Existem vários caminhos e formas de instalar e trabalhar com o ROS, aqui está uma delas =).

Se você ainda não sabe o que é ROS… dê uma olhada em http://www.ros.org/about-ros/

Abaixo está detalhada a configuração UBUNTU 18.04 LTS (Bionic Beaver) em conjunto com a versão do ROS (Melodic Morenia). OBS: Melodic Morenia funciona apenas com Ubuntu Bionic Beaver (18.04) e com Artful (17.10). É aconselhado usar versões LTS do ROS.  Usar máquina virtual dentro do Windows é aconselhado mas se for usar o “Microsoft Kinect” podem ocorrer problemas de comunicação na porta USB.


  1. Baixar ISO do UBUNTU 18.04
  2. Se for criar Máquina virtual no Windows existe o programa “Virtual Box” da Oracle que é gratuito.  Baixar, instalar, criar maquina virtual e apontar para ISO do Ubuntu que acabou de baixar.
  3. Opcional: Usar modo Bridge na opção de Rede no Virtual Box para a máquina virtual estar na mesma faixa de IP que o seu computador.

Considerando que você já instalou tudo e que para iniciar o processo você já deve estar no Ubuntu…Clique no botão de inicio do Ubuntu e Abra o “Terminal”(é só digitar ter no botão de início do Ubuntu) e siga os passos a seguir.

DICA: “control+V” não funciona no terminal. você pode usar “shift+control+v” ou pressionar o botão do meio(a rodinha) do mouse para poder colar o texto.

DICA 2: Podem acontecer erros se o seu Ubuntu não estiver atualizado. Busque “atualizador de Programas” na pesquisa do sistema. E atualize o sistema antes de tentar instalar o ROS.

DICA 3: cuidado ao copiar e colar comando que contenham aspas simples ou duplas pois existem mais de um tipo de aspas simples… leia mais em corrigindo aspas simples e duplas.


1. Incluir na sua lista de repositórios de pacotes da instalação do Ubuntu o “packages.ros.org”:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2. Instalar uma chave de acesso e autenticação para o ros.org

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3. Agora vamos atualizar a lista de pacotes disponíveis:

sudo apt update 

4. Agora vamos instalar o ROS completo (ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception). Existem várias maneiras de instalar apenas os recursos que você quer, mas não faz parte deste tutorial.

sudo apt install ros-melodic-desktop-full 

5. Antes de usar o ROS temos de inicializar o ROSDEP. Ele vai servir para instalar dependências de códigos necessários para compilação de alguns códigos do próprio núcleo do ROS.

sudo rosdep init 

Depois atualize o rosdep:

rosdep update 

6. Agora vamos adicionar as variáveis de ambiente no shell para que toda vez que você abrir o terminal ele reconheça os comandos do ROS.

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc 

Depois:

source ~/.bashrc 

7. Instalar o ROSINSTALL. Ele é uma ferramenta de linha de comando para baixar facilmente muitas árvores de códigos fonte para pacotes ROS com apenas um comando. Recomendado instalar.

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

8. Criar uma pasta para ser o seu “Workspace” (Área de trabalho) do ROS, onde ficarão os seus projetos e códigos de testes.  Executar o comando abaixo no terminal criará uma pasta dentro do seu HOME com nome “catkin_ws” e dentro dela “src”:

mkdir -p ~/catkin_ws/src

Depois vamos navegar até a pasta do Workspace:

cd catkin_ws

E finalmente executaremos o comando make do catkin para configurar todo seu workspace com pastas ex.:  “build”, “source”…

catkin_make

9. Agora vamos tornar padrão o novo workspace (catkin_ws) e também para não ter que executar toda vez que abrir um terminal o comando de source para seu home do catkin… vamos adiciona-lo ao bashrc para ficar como padrão. Complete o comando abaixo com seu nome de usuário do Ubuntu ( aparece no terminal como  usuario@suaMaquina: ), assim, onde tem xxxxx apague e insira seu nome de usuario:

echo "source /home/xxxxx/catkin_ws/devel/setup.bash" >> ~/.bashrc

Depois:

source ~/.bashrc

10. Para testar use o comando abaixo. Deverá aparecer como resposta “/home/xxxxx/catkin_ws/src:/opt/ros/melodic/share”.

echo $ROS_PACKAGE_PATH

DICA: Outra maneira de testar é fechar os terminais e abrir um e digitar roscd que deve levar você para sua pasta de workspace “catkin_ws/devel”.

Finalmente… a instalação terminou. Agora vamos para opcionais.


Lembretes finais:

Algumas dicas e programas úteis:

  • Um editor leve e prático, principalmente se você usa máquina virtual, é o Visual Studio Code. Baixe a versão “.deb” já que você está usando Ubuntu e instale. Existe uma extensão chamada “ROS”, instale e o intellisense vai funcionar bem.
  • O terminal do Ubuntu permite ter várias abas através de shift+ctrl+t.
  • DICA: Se você é iniciante no terminal do Linux… é interessante dar uma olhada nesse Guia Rápido de comandos
  • O ROS está instalado na pasta “opt/ros/kinetic”
  • o workspace é onde se encontram o “setup.bash” e “setup.h” e por padrão ficam em “opt/ros/kinetic”. Durante a instalação acima criamos o workspace chamado “catkin_ws” e configuramos para ser o padrão. O novo “setup.bash” agora está em “catkin_ws/devel”
  • Os “packages” são os projetos individuais que ficam dentro do workspace, mais precisamente, dentro de “catkin_ws/src”
  • Para criar um projeto de nome “projeto1” e já com suporte às mensagens padrão do ROS, python e C++, vá para pasta “catkin_ws/src” e execute:
catkin_create_pkg projeto1 std_msgs rospy roscpp
cd ..
catkin_make
  • O projeto estará criado e compilado em “catkin_ws/src/projeto1”
  • Dentro de projeto1 existe a pasta “src” onde ficarão os códigos fonte de seu projeto. Também dentro da pasta do projeto1 exite a pasta “include”, onde ficarão as bibliotecas que você precisar adicionar.
  • Após criar os códigos fonte dentro de “src” é necessário adicionar ao “CMakeLists.txt” a informação que eles existem e como devem ser compilados. Para um nó de nome “node1”, e um programa de nome “publisher1.cpp”, adicionar:
add_executable(node1 scr/publisher1.cpp)
target_link_libraries (node1 ${catkin_LIBRARIES})
  • Agora voltar para o workspace e executar o catkin_make.
  • Para rodar um “nó” será usado o comando “rosrun” seguido do nome do “package” e seguido do nome do “nó”
  • Dica: apertar “TAB” duas vezes seguidas após digitar o nome do “package” vai listar o nome de todos os possíveis executáveis do pacote.
  • para visualizar os nós e suas relações com os tópicos de forma gráfica, existe o rqt_graph:
rosrun rqt_graph rqt_graph

Então… é só =)