Instalar o ROS

As primeiras questões que se colocam quando nos pretendemos iniciar na robótica com ROS provavelmente serão as seguintes:

  • Quais as máquinas capazes de executar o ROS
  • Qual a versão do ROS que devo instalar
  • Qual o sistema operativo que devo instalar
  • Qual o processo de instalação do ROS

Neste artigo vou procurar responder da forma simples e concisa a estas questões.

Quais as máquinas capazes de executar o ROS

Para executar o ROS é necessário um computador. Não basta um Arduino, ou qualquer outro micro-controlador.

O ROS está disponível  para ser instalado em várias arquitecturas. No entanto as arquitecturas disponíveis dependem da versão do ROS e do sistema operativo que vai ser usado de acordo com esta divisão genérica;

Computadores e portáteis x86

  • ROS Melodic no Debian Stretch e no Ubuntu Bionic
  • ROS kinetic no Ubuntu Xenial

Raspberry Pi, Banana Pi, e outros SBC arm

  • ROS kinetic no Ubuntu Xenial:

As situações mais comuns é usar um Raspberry Pi 2/3 (armhf) ou um portátil x86 (amd64).

Para aceder à informação oficial para cada uma das versões do ROS, também chamadas de distribuições, onde se pode recolher mais informação sobre as arquitecturas disponíveis visite o seguinte link e escolha a distribuição: http://wiki.ros.org/ROS/Installation

Qual a versão do ROS que devo instalar

A escolha da versão do ROS que devemos usar é, conforme o descrito acima, dependente da arquitectura da máquina e da versão do sistema operativo que vamos usar, e em alguma medida do projecto que vamos elaborar.

O ROS tem vindo a evoluir, e a sua evolução adere ao ciclo de lançamento LTS do ubuntu e do debian, existindo uma correspondência entre as distros do linux e as distros do ROS.

  • https://ubuntu.com/about/release-cycle
  • https://wiki.debian.org/LTS

Por isso, como já estava explicito acima, existe a seguinte correspondência:

ROS Melodic no Debian Stretch , no Ubuntu Bionic e no Windows 10
ROS kinetic no Ubuntu Xenial

Existem ainda versões antigas, como a indigo, Para a qual existem muitos exemplos e software disponível na web, que infelizmente são de algum modo incompatíveis com as versões mais recentes do ROS.

Por outro lado.  outra coisa a ter em consideração é que o ROS Melodic tem menos bibliotecas disponíveis que o Kinetic, pois portar o software de uma versão para a outra demora tempo.

Por isso a versão do ROS que utilizo depende da máquina e do projecto, mas normalmente procedo da seguinte forma:

O ROS que instalo no:

  • computador do Robot é o Kinetic (seja ele um x86 ou um arm), e por isso o sistema operativo tem de ser o Ubuntu Xenial.
  • computador remoto (normalmente mais potente que um pi e onde corre a ferramenta de visualização e controlo: rviz), uso o Melodic a correr no Debian Stretch.

É possível contornar estas regras se compilarmos o ROS das fontes, no entanto, o procedimento aconselhado para a instalação é o gestor de pacotes apt.

Qual o sistema operativo que devo instalar

Conforme o já descrito acima, existe uma relação entre a distro do ros, a distro do linux e a máquina onde vai ser instalado.

De tudo o que já foi exposto, resulta que o sistema operativo a usar não é a ultima versão disponível, mas sim a ultima versão LTS.

O recomendado será:

  • Debian Stretch  ou Ubuntu Bionic para instalar o ROS Melodic.
  • Ubuntu Xenial para instalar o ROS Kinetic

Salvo o projecto tenha alguma coisa muito especifica, no robot instalo o Ubuntu Xenial e o ROS Kinetic.

Qual o processo de instalação do ROS

O ROS pode ser instalado num computador a partir das fontes, ou com o gestor de pacotes apt.

A instalação pelas fontes não está contemplada neste artigo introdutório.

No caso do Raspberry Pi 2/3 não é necessário passar pelo processo de instalação pois existe uma imagem com o Ubuntu Xenial e o ROS kinetic  disponível para download no seguinte endereço:

  • https://downloads.ubiquityrobotics.com/pi.html

No caso do Banana Pi M1 usar o Armbian Xenial e proceder à instalação por apt conforme descrição abaixo.

No caso de portateis x86 instalar proceder à instalação por apt conforme descrição abaixo

Instalar e preparar o linux

Instalar previamente a distribuição do linux que vai usar

  • https://www.debian.org/releases/stretch/debian-installer/

ou

  • http://releases.ubuntu.com/16.04/

No caso do debian stretch, é possivel ter que se instalar previamente o pacote do sudo e adicionar o nosso utilizador ao sudoers. Assim como um pacote suplementar necessário para adicionar a chave dos novos repositórios.

Instalar o sudo e adicionar sudoers

su
apt update
apt install sudo

nano /etc/sudoers

#depois de
%sudo ALL=(ALL:ALL) ALL
#adicionar
youruser ALL=(ALL) ALL
#ou
youruser ALL=(ALL) NOPASSWD:ALL

exit

Instalar pacote suplementar

sudo apt-get install dirmngr –install-recommends

Instalar o ROS por apt

Este procedimento de instalação está descrito no seguinte link:

http://wiki.ros.org/melodic/Installation/Debian

O procedimento de instalação do ROS Kinetic e do ROS Melodic é semelhante e tem partes comuns.

Configurar o APT para instalar o ROS

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

sudo apt-key adv –keyserver hkp://ha.pool.sks-keyservers.net:80 –recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt update

Instalar o ROS kinetic

sudo apt-get install ros-kinetic-desktop-full

sudo rosdep init
rosdep update

echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
source ~/.bashrc

Instalar o ROS Melodic

sudo apt-get install ros-melodic-desktop-full

sudo rosdep init
rosdep update

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

Preparação do espaço de trabalho do ROS

Consiste na instalação de software para poder desenvolver os teus próprios programas, ou compilar pacotes que estão disponíveis na web.

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

Criar um espaço de trabalho para o ROS

Procedimente de acordo com o primeiro tutorial do ROS disponivel em:

http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make

echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc
source ~/.bashrc

Ready to make a Robot!