Das Montanhas de Minas ao Oceano: Os Caminhos da Ciência para um Futuro Sustentável

20 a 25 de outubro de 2025

Trabalho 20174

Instituição Universidade Federal de Viçosa
Nível Pós-graduação
Modalidade Pesquisa
Área de conhecimento Ciências Exatas e Tecnológicas
Área temática Dimensões Sociais: ODS4
Setor Departamento de Informática
Bolsa FAPEMIG
Conclusão de bolsa Sim
Apoio financeiro FAPEMIG
Primeiro autor Guilherme Serra Francisco Pinel
Orientador ALEXANDRE SANTOS BRANDAO
Outros membros REJANE WAIANDT SCHUWARTZ DE CARVALHO FARIA
Título Blockly and ROS: A Visual Programming Interface for Robot Control
Resumo Na robótica, a complexidade inerente à programação constitui uma barreira significativa para iniciantes e entusiastas. Em resposta a esse desafio, as plataformas de programação baseadas em blocos surgiram como uma alternativa promissora, oferecendo interfaces intuitivas que abstraem a necessidade de conhecimento avançado em sintaxe. Embora ferramentas como o Scratch sejam amplamente utilizadas na educação para introduzir conceitos de lógica, elas possuem limitações na integração com sistemas robóticos complexos, como o Robot Operating System (ROS). Este trabalho detalha o desenvolvimento de uma plataforma integrada que une a flexibilidade do Blockly com a interoperabilidade do ROS para facilitar o sensoriamento, a atuação e o controle de robôs móveis. A escolha do Blockly foi motivada por sua capacidade de integração e compatibilidade com diversas arquiteturas de controle e com a personalização para diferentes níveis de competência do usuário. A arquitetura da solução é fundamentada em três componentes principais: frontend, backend e o middleware ROS. O frontend, desenvolvido com a biblioteca Blockly, proporciona uma experiência de usuário intuitiva para a construção de programas. Foram criados blocos customizados, como "Mover para Frente" e "Girar", utilizando a ferramenta Block Factory do Blockly, que geram código JavaScript. Este código é então convertido para o formato JSON e enviado ao backend por meio de requisições HTTP. O backend, implementado em Python com o framework Flask, é responsável por processar essas requisições, validar os dados e traduzir os comandos recebidos em ações apropriadas no ROS. Funções específicas como move_forward(distance) e turn(angle) publicam mensagens nos tópicos ROS que controlam o robô. A comunicação com o robô físico, um Pioneer 3DX, é gerenciada pelo ROS, que utiliza o tópico /RosAria/cmd_vel para receber comandos de velocidade e o tópico /RosAria/pose para fornecer feedback de odometria, incluindo posição e orientação. Um módulo de normalização de ângulos foi implementado para garantir a precisão rotacional. A validação experimental foi conduzida em um ambiente controlado, onde o robô foi programado para desenhar três figuras geométricas distintas: um quadrado, um triângulo equilátero e uma lemniscata. Essas atividades foram projetadas para demonstrar não apenas a precisão e navegabilidade, mas também seu potencial educacional para o ensino interativo de conceitos de geometria plana. A análise dos gráficos de trajetória confirmou a eficácia do sistema em seguir as rotas desejadas. Os resultados positivos atestam que a integração Blockly-ROS é uma abordagem integradora, capaz de criar um ambiente de programação acessível e modular. Os próximos passos para o aprimoramento da plataforma incluem a implementação de controles de orientação para otimizar os giros, a integração com ROS 2, a expansão do conjunto de blocos com laços condicionais e a inclusão de módulos de interação humano-robô.
Palavras-chave Robótica, Educação, Tecnologia
Apresentações
  • Painel: Local e horário não definidos.
Gerado em 0,83 segundos.