Título Completo: Desenvolvimento de um Robô Móvel Open Source Baseado em ROS 2 para Pesquisa em Robótica Cooperativa
Orientado: Otávio Augusto Rocha da Cruz
Orientador: Prof. Dr. Daniel Costa Ramos
Categoria: Robótica
Data de Conclusão: 18 de fevereiro de 2022
Link: TCC - Repositório UFU Git Hub

Os robôs para pesquisa podem validar rapidamente vários algoritmos e soluções, porém, em algumas situações, pode ser inviável a montagem de um robô desde o começo e é preferível utilizar plataformas robóticas já prontas.
Devido a realidade mercadológica e financeira do Brasil, as plataformas robóticas profissionais para uso em pesquisa que existem no mercado possuem um custo muito elevado. Por exemplo, o modelo TurtleBot3 Burger custa por volta de R$ 7463,78 em ALIEXPRESS (2021). Ao procurar por “robot ros” no Google Shopping os resultados são robôs que dispõem de um visual robusto e altos preços.
TurtleBot3 Burger

Fonte [1]
Resultados do Google Shopping para: robot ros, em 29 de abril de 2021

O trabalho apresentado teve como objetivo o desenvolvimento de uma plataforma robótica de baixo custo denominada SciCoBot (Science, Coffee e Robot). Sua arquitetura é básica e utiliza o sistema ROS 2 em conjunto com Arduino e Raspberry. Optou-se pelo uso das placas Arduino e Raspberry em conjunto para que, dessa forma, fosse possível realizar tarefas em paralelo, com isso, a capacidade computacional da plataforma é potencializada, possibilitando aplicações mais complexas.
Esquema de ligação Scicobot

O ROS é um framework de software robótico que fornece um padrão organizado, fácil e relativamente confiável de troca de informação baseado em assinante, mensagem e publicador. Um exemplo simples é quando um nó (node_1) publica uma mensagem em um tópico onde outro nó (node_2) está inscrito, é como se o node_1 estivesse mandando uma mensagem para node_2.
Comunicação entre dois nós

Fonte [2]
Todos os padrões de comunicação foram migrados do ROS 1 para o ROS 2, porém com algumas melhorias. O ROS 2 ainda utiliza o mecanismo de publicação e assinatura (nó, tópico e mensagem), mas com middleware DDS/RTPS, que fornece descoberta não centralizada, serialização e transporte.
A comunicação entre microcontrolador e Raspberry foi feita utilizando a micro-ROS que possibilita a integração entre ROS 2 e placas de microcontroladores.
Por meio de testes, foi possível realizar a comunicação entre o SciCoBot e um Raspberry, mostrando que a plataforma poderá ser eficiente na cooperação entre robôs, um requisito importante em aplicações cooperativas.
Estrutura utilizadas na simulação de sistema multi-robôs. (a) Raspberry. (b) Scicobot.

A estrutura de software é bastante modular, com várias bibliotecas separadas, isso possibilita que o projetista importe apenas as partes necessárias.
O desenvolvimento da plataforma foi todo explicado em um material online disponível em um repositório no GitHub [3], lá também se encontra toda a base de software desenvolvida para o Scicobot. Com isso, outros pesquisadores poderão criar novas versões a partir da estrutura principal.
Referências
[1] ELKILANY, Basma Gh et al. Potential Field Method Parameters Tuning Using Fuzzy Inference System for Adaptive Formation Control of Multi-Mobile Robots. Robotics, 2020, Disponível em: https://doi.org/10.3390/robotics9010010.
[2] MATHWORKS. Get Started with ROS. 2021. Disponível em: https://www.mathworks.com/help/ros/ug/get-started-with-ros.html
[3] GitHub SciCoBotGenericName. Disponível em: https://github.com/SciCoBot.