fbpixel
Etiquetas: , ,
0
(0)

Neste tutorial, vamos ver como instalar o ROS2 numa máquina Linux, em particular um Raspberry Pi 4 a correr Ubuntu. O ROS2 é um framework interessante para aprender quando se trabalha com sistemas embarcados, como robôs.

Hardware

  • Computador com acesso à Internet
  • Cartão SD de 32 GB
  • Raspberry Pi+ecrã HDMI+teclado

Este tutorial pode ser seguido para outras máquinas Linux

Descarregar o Ubuntu e configurar o cartão SD

Vamos ver como configurar o cartão SD para instalar o ROS2 (Iron Irwini) no Raspberry Pi. Esta versão do ROS2 é compatível com o Ubuntu Jammy.

Para tal, descarregue a imagem do Ubuntu (Jammy jellyfish) ou seleccione o SO em Raspberry Pi Imager > General OS > Ubuntu > Ubuntu Desktop 22.04.3 LTS (64bits)

Nota: pode encontrar a compatibilidade de versões entre o ROS e o SO e os nomes das versões do Ubuntu para verificar se está a instalar as versões correctas. Seleccione a versão de 64 bits para um melhor suporte (tier1)

Instalar a imagem do SO utilizando o Raspberry Pi Imager no cartão SD

Depois de a imagem ter sido gravada no cartão SD, pode inseri-lo no Raspberry Pi e ligá-lo.

Pode então seguir as instruções de configuração no ecrã do Raspberry Pi.

Configurar a ligação remota

Se desejar, pode configurar a ligação remota na Raspberry Pi. Este passo é opcional, mas pode facilitar-lhe a vida quando estiver a desenvolver em ROS2 no Raspberry Pi.

Nota: no Ubuntu, para se ligar remotamente sem um monitor, é necessário modificar o ficheiro

#dtoverlay=vc4-kms-v3d
hdmi_force_hotplug=1
hdmi_group=1
hdmi_mode=16

Instalar o ROS2

Para instalar o ROS2, deve primeiro verificar se o download do repositório Universe está ativado. Em Software e Actualizações > Software Ubuntu

Em seguida, adicione a chave GPG para o ROS2

sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

Em seguida, adicione o repositório à lista de fontes (/etc/source.list.d)

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

Para o desenvolvimento, pode instalar as seguintes ferramentas de desenvolvimento

sudo apt update && sudo apt install ros-dev-tools

Por fim, pode instalar o ROS2 em função da versão que escolheu (desktop ou base).

sudo apt install ros-iron-desktop

ou

sudo apt install ros-iron-ros-base

Para desinstalar o ROS2

Para desinstalar, é necessário remover o pacote e o repositório

sudo apt remove ~nros-iron-* && sudo apt autoremove
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update

Primeiro passo com ROS2

Uma vez instalado o ROS2, é possível carregar o ambiente com

source /opt/ros/iron/setup.bash

Pode testar a instalação utilizando o exemplo do locutor

Lançar o locutor num terminal

source /opt/ros/iron/setup.bash
ros2 run demo_nodes_cpp talker

Num segundo terminal, lançar o ouvinte

source /opt/ros/iron/setup.bash
ros2 run demo_nodes_py listener

Para verificar a lista de variáveis de ambiente

printenv | grep -i ROS

Para obter uma lista dos objectos atualmente em execução, pode utilizar os comandos

ros2 node list
ros2 topic list
ros2 service list
ros2 action list

Instalando o TurtleSim

Uma óptima ferramenta para aprender e compreender o funcionamento do ROS2 é o TurtleSim

Verifique a sua instalação utilizando o comando

ros2 pkg executables turtlesim

Se este não for o caso, pode instalar o turtlesim utilizando o comando

sudo apt install ros-iron-turtlesim

Num terminal, lançar o turtle sim

ros2 run turtlesim turtlesim_node

Num outro terminal, lançar o controlo do teclado

ros2 run turtlesim turtle_teleop_key

Para observar o que se está a passar, num terceiro terminal, espia o tópico com o comando

ros2 topic echo /turtle1/pose

Pode encontrar a lista de tópicos disponíveis utilizando o comando

ros2 topic list

Aplicação

Fontes

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?