mateus-mos / Como-aprender-ROS2

Um tutorial de como começar a aprender ROS2.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Como aprender ROS2

Markdown Monster icon

1. Instalação

DICA: Para instalar o Gazebo junto com o ROS use o comando sudo apt install ros-humble-desktop-full ao invés de sudo apt install ros-humble-desktop

Para iniciar a instalação do ROS2 Humble, é importante seguir as instruções disponíveis no link Ubuntu (Debian) - ROS 2 Documentation: Humble documentation. Além disso, caso prefira, você pode assistir ao vídeo "How to install ROS | Getting Ready to Build Robots with ROS #3", onde o processo de instalação do ROS2 Foxy é explicado - embora o processo seja quase o mesmo para o Humble.

É importante ressaltar que não é recomendado o uso do ROS2 no Windows, já que vários pacotes não oferecem suporte para esse sistema operacional. Além disso, o ROS2 foi desenvolvido originalmente para rodar no Linux, o que pode gerar problemas de compatibilidade.

Por fim, para instalar o ROS2 Humble, é necessário possuir um sistema baseado no Ubuntu Jammy, NÃO RECOMENDO utilizar algum derivado do Ubuntu como o Mint, porque tive problemas tentando utilizar o novo Gazebo. Certifique-se de atender a esse requisito antes de iniciar a instalação.

2. Conceitos Básicos do ROS2

Esse vídeo do canal Articulated Robotics ensina os conceitos básicos do ROS2, como nodes, services, parameters, remappings, launching e packages. O vídeo é "10 things you need to know about ROS! | Getting Ready to Build Robots with ROS #4".

Não precisa ficar preocupado em entender tudo que é falado no vídeo, porque é normal demorar um pouquinho para pegar o jeito dessas coisas. Mas com a prática e tentando escrever seus próprios nodes, você vai ficar mais craque!

Ah, não esqueça de dar uma olhada na documentação do ROS2. Lá tem tudo explicadinho com mais detalhes. Eu até fiz uma lista com os links dos conceitos que foram falados no vídeo para você poder consultar:

Alguns outros conceitos básicos de ROS, mas não menos importantes incluem:

E tudo isso junto pode ser visto em Beginner: CLI tools.

3. Simulação com Gazebo

O Gazebo é um programa gratuito feito pela comunidade de robótica em 2002, com o intuito de ajudar no desenvolvimento de aplicativos avançados para robôs. Ele tem um ambiente 3D de simulação e ferramentas que ajudam na criação dos robôs. Muita gente usa o Gazebo porque ele é muito bom e fácil de usar.

Nesse tutorial, você vai aprender como instalar o Gazebo Classic "Simulating Robots with Gazebo and ROS". Mas atenção, nós vamos usar a nova versão do Gazebo que é ainda melhor, por isso o processo de instalação e utilização é diferente. Se você tiver instalado a versão mais nova do Gazebo no ROS2 Humble, você já pode seguir o tutorial "Setting up a robot simulation (Gazebo)". Caso não tenha, você pode instalar o Gazebo seguindo esse tutorial “Getting Started with Gazebo?

Durante a instalação do Gazebo você pode se encontrar com o Rviz, porque ambos são usados juntos. Mas o que é o Rviz? O Rviz é uma ferramenta do ROS que mostra dados de sensores e modelos de robôs em uma visualização 3D em tempo real. Você pode ver imagens de câmeras, modelos de robôs e mapas de ocupação, além de customizar a aparência e interação dos objetos. Para mais informações acesse Wiki - Rviz.

E aí, qual é a diferença entre o Gazebo e o Rviz? De maneira simples, o Gazebo é utilizado para simular robôs e seus ambientes, enquanto o Rviz é usado para ver e monitorar os dados dos sensores e modelos dos robôs enquanto o código é executado em hardware real ou em simulação.

4. Aplicação de conceitos básicos

Nesse ponto eu assumo que você tenha uma base conceitual de ROS, e que saiba dizer mesmo que não tão bem o que é um node, quais são os tipos de nodes, por que essa estrutura usada pelo ROS2 é ótima, o que é Gazebo, Rviz, etc.

Para fazer as atividades propostas aqui você pode seguir a documentação “Beginner: Client libraries” .

Um aviso, como estamos usando a nova versão do ROS2 a Humble, alguns dos comandos e processos dos vídeos citados aqui podem ser diferentes, então na dúvida consulte a documentação.

4.1 Criar um ROS package

Nesse tópico sua tarefa é criar um simples package, esse vídeo mostra esse processo “Making Your First ROS Package”. Recomendo também você ler e executar os tutorias da documentação do ROS2 “Beginner: Client libraries” até o “Creating a package”.

4.2 Criar um Publisher e Subscriber

Você pode seguir esse tutorial para realizar essa tarefa Writing a simple publisher and subscriber (Python), se você desejar pode fazer isso em C++ também, mas o código é mais complicado. Esse vídeo pode te ajudar a realizar essa tarefas “Hands-On ROS2 - Part 1 (Publisher/Subscriber)”.

4.3 Criar um Service e um Client

Esse tutorial da documentação explica bem esse processo “Writing a simple service and client (Python)”, você pode também seguir as intruções desse vídeo “Hands-On ROS2 - Part 2 (Service/Client)”.

Alguns possível erros

About

Um tutorial de como começar a aprender ROS2.