Robótica

Como planejar um robô simples usando Linux

Como planejar um robô simples usando Linux
Depois de instalar o ROS, você pode querer construir um robô. Uma boa maneira de ter sucesso neste projeto é planejar o que você deseja fazer. Neste caso, ROS vem para o resgate. Com o ROS, você pode configurar o que construiu e visualizar tudo. Ao trabalhar com robôs, haverá muitos cenários que você pode precisar considerar. O robô deve interagir com o ambiente, evitando o sofá e encontrando o caminho de volta da cozinha. O robô também deve ter braços e pernas se suas necessidades assim o exigirem. Você pode simular tudo isso usando ROS, e para a parte de codificação, você também pode simular o interior do seu sistema.

Como você constrói um robô ROS?

Para que o sistema funcione bem e você possa seguir o que o dispositivo fará em certas situações, você precisa de definições padrão para cada parte. No ROS, esses componentes são nós, serviços e tópicos. Em suma, você cria um nó para cada necessidade principal. Por exemplo, o movimento é um nó, a visão é outro nó e o planejamento é um terceiro nó. Os nós contêm serviços que podem enviar informações para outros nós, e os serviços também podem lidar com solicitações e respostas. Um tópico pode transmitir valores para muitos outros nós. Entender esses termos e como você deve usá-los é a primeira chave para dominar o desenvolvimento ROS2.

Emular navegação com turtlesim

Ao começar no ROS, você provavelmente vai comprar um robô que anda ou rola pela sua casa. Para fazer isso, o robô precisa ter uma visão da área onde está navegando. Para fazer isso, você pode usar um aplicativo semelhante a um mapa para testar o comportamento do seu robô. Os designers por trás do Turtlebot criaram um aplicativo, chamado turtlesim, que pode fazer isso por você. Tal como acontece com todas as outras partes do ROS2, você pode iniciar essas ferramentas com um subcomando da linha de comando. Você então tem atividades para diferentes funções. A primeira parte é iniciar a janela onde você pode ver a simulação, e isso é chamado de nó.

$ ros2 run turtlesim turtlesimnode

Uma janela aparecerá com uma tartaruga no centro. Para controlar a tartaruga com o teclado, você deve executar um segundo comando que permanece aberto e continua pressionando certas teclas. Este é um segundo nó que se comunica com o primeiro.

$ ros2 run turtlesim turtleteleopkey

Agora, você pode mover a tartaruga e ver como ela se move. Você também pode obter erros, como bater na parede. Esses erros aparecem no terminal onde o turtlesimnode está sendo executado. Este é o uso mais simples do módulo de simulação. Você também pode executar determinadas formas, um quadrado é fornecido e adicionar mais tartarugas. Para adicionar mais tartarugas, você pode usar o comando rqt.

Definir serviços com rqt

O programa rqt fornece serviços para a simulação. O q significa Qt, que é para lidar com a interface. Neste exemplo, você gera uma nova tartaruga.

$ rqt

A interface rqt é uma longa lista de serviços para a simulação que você está executando. Para criar uma nova tartaruga, escolha o menu suspenso 'desovar', dê um novo nome à tartaruga e clique em 'chamar.'Você verá imediatamente uma nova tartaruga ao lado da primeira. Se você clicar no menu suspenso 'desova', você também verá um novo grupo de entradas relacionadas à tartaruga recém-desovada.

Você também pode remapear comandos para executar a nova tartaruga. O comando para fazer isso é o seguinte:

$ ros2 run turtlesim turtleteleopkey -ros-args -remap turtle1 / cmdvel: = turtle2 / cmdvel

Defina o nome 'turtle2,' de acordo com sua escolha anterior.

Visualização Avançada com Rviz

Para uma visualização mais avançada e 3D, use o rviz. Este pacote simula todos os nós em seu projeto.

$ ros2 run rviz2 rviz2

Na interface gráfica, você tem três painéis, com a visualização no centro. Você pode construir ambientes usando o painel 'Monitores'. Você pode adicionar paredes, forças do vento e outras propriedades físicas. Aqui também é onde você adiciona seus robôs.

Esteja ciente de que antes de chegar a este ponto, você precisará entender como usar o formato URDF. O formato URDF define um robô, permitindo definir o corpo, braços, pernas e, acima de tudo, zonas de colisão. As zonas de colisão estão lá para que a simulação possa decidir se o robô colidiu.

Aprender sobre como criar um robô no formato URDF é um grande projeto, então use um código-fonte aberto existente para experimentar os emuladores.

Simule Física com Gazebo

No Gazebo, você pode simular a física do ambiente ao redor do seu robô. Gazebo é um programa complementar que funciona bem em conjunto com o rviz. Com o Gazebo, você pode ver o que realmente está acontecendo; com o rviz, você acompanha o que o robô detecta. Quando o seu software detecta uma parede que não está lá, o Gazebo mostrará vazio e o rviz mostrará onde no seu código a parede foi criada.

Conclusão

Simular o seu robô e seus ambientes é necessário para encontrar bugs e fornecer as melhorias necessárias na operação do seu robô antes de colocá-lo à solta. Este é um processo tedioso que continua muito depois de você começar a testar o bot, tanto em ambientes controlados quanto na vida real. Com conhecimento adequado da infraestrutura dos sistemas internos do seu robô, você pode entender o que fez de certo e errado. Aprenda rapidamente a avaliar todas as falhas que encontrar, pois elas podem tornar seu sistema mais robusto a longo prazo.

Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...
5 melhores jogos de arcade para Linux
Hoje em dia, os computadores são máquinas sérias usadas para jogos. Se você não pode obter a nova pontuação máxima, você saberá o que quero dizer. Nes...
Batalha por Wesnoth 1.13.6 Desenvolvimento lançado
Batalha por Wesnoth 1.13.6 lançado no mês passado, é o sexto lançamento de desenvolvimento no 1.13.série x e oferece uma série de melhorias, principal...