Contextualização
A Robótica Autônoma, um ramo fascinante e altamente avançado da Engenharia Robótica, concentra-se no design, construção e operação de robôs capazes de exercer tarefas sem a intervenção humana direta. Os robôs autônomos incorporam uma série de regras e algoritmos que lhes permitem perceber seu ambiente, tomar decisões baseadas em suas percepções e realizar ações de acordo. Nesta empreitada, esperamos desmistificar esta disciplina complexa e abordar importantes conceitos subjacentes, indo desde o conhecimento fundamental da robótica até a implicação ética em robótica autônoma.
A Robótica Autônoma é uma extensão lógica do conceito tradicional de robótica. Enquanto os robôs tradicionais estão confinados a um ambiente controlado e à execução de tarefas predefinidas, os robôs autônomos têm como objetivo operar em ambientes mais imprevisíveis e realizar tarefas não especificamente programadas. Para tal, esses robôs autônomos requerem conhecimento em várias disciplinas como ciência da computação, engenharia mecânica e elétrica, inteligência artificial, neurociência, filosofia e até psicologia.
Os robôs autônomos são incrivelmente versáteis e têm sido utilizados em uma diversidade de aplicações em campos tão variados quanto exploração espacial, defesa, pesquisa submarina, agricultura, saúde e, mais recentemente, no auxílio ao combate a pandemias. Independentemente do domínio de atuação, o objetivo é o mesmo: realizar tarefas que são tediosas, perigosas ou impossíveis para os seres humanos sem a necessidade de intervenção direta ou constante.
Introdução
O campo da Robótica Autônoma é particularmente fascinante porque requer uma combinação de habilidades e conhecimentos de múltiplas disciplinas. Essas incluem o conhecimento básico de robótica, o projeto do robô, a programação do robô, algoritmos de planejamento de movimento, controle do robô, e aspectos éticos na robótica autônoma.
Através deste projeto, esperamos que os alunos ganhem domínio em tópicos tecnológicos que incluem, mas não estão limitados a, programação em Python e C++, compreensão do Sistema Operacional Robótico (ROS), e aprendizado de máquina. Simultaneamente, gostaríamos que os alunos desenvolvessem uma consciência sobre questões éticas relacionadas à privacidade, segurança e empregabilidade que são relevantes na era da robótica autônoma.
Este curso é projetado para ser desafiador, mas esperamos que seja igualmente compensador. Os alunos terão a oportunidade de aplicar os conhecimentos adquiridos em tarefas do mundo real e entender como as habilidades técnicas, éticas e de comunicação se complementam na construção de um sistema robótico autônomo eficaz.
Para se aprofundar no assunto, sugerimos a leitura do livro Introduction to Autonomous Robots por Nikolaus Correll, que oferece um excelente panorama do campo. Além disso, os alunos podem se beneficiar de recursos online, como o Autonomous Robotics Specialization no Coursera e o Learning Robotics using Python na Packt.
Atividade Prática
Projeto: Construção e Programação de um Robô Autônomo de Limpeza
Objetivo do Projeto
A construção e programação de um robô autônomo "limpador de pisos", para completar uma tarefa sem auxílio humano, envolvendo conceitos práticos de percepção, planejamento de movimento e controle robótico, bem como integração de terceiros para reconhecimento visual. A atividade prática traz desafios e conceitos de física, engenharia e ciência da computação.
Materiais Necessários
- Kits de robótica básica com motores, sensores (distância, tácteis, luz), controladores e peças para estrutura do robô.
- Computadores com ambiente de programação adequado (Python, C++, ROS).
- Módulo wi-fi ou Bluetooth para dispositivos robóticos.
- Placas de controle de motor.
- Baterias e carregadores.
- Fones de ouvido ou alto-falantes para debug.
- Ambiente de teste com obstáculos variados.
Descrição Detalhada do Projeto
Os grupos são desafiados a projetar, construir e programar um robô para limpar uma área designada (um "quarto" simulado com obstáculos) independentemente. O robô deve ser capaz de se mover entre obstáculos, limpar de forma eficiente e alertar quando a tarefa estiver completa. O robô também deve ser capaz de evitar quedas ou evitar obstáculos perigosos.
Todos os grupos começam com o mesmo conjunto de peças do robô. É importante lembrar que, embora todos comecem com as mesmas peças, cada robô será único devido às diferentes abordagens de design e programação de cada grupo.
Primeiro, os grupos devem projetar e construir seu robô. Isto envolve a montagem das peças, a inclusão de distintos sensores e a conexão do robô a uma fonte de energia.
Em seguida, os grupos devem programar seu robô. Isso envolve escrever código que controle o movimento do robô, a sensibilidade e resposta do robô aos sensores e a lógica de tarefas a serem realizadas.
Finalmente, os grupos devem testar seu robô e ajustar seu design e código conforme necessário. O teste envolve colocar o robô no "quarto" de teste e observar seu desempenho.
Passo a Passo Detalhado
-
Estudo Teórico e Design (3 horas): Os grupos devem começar estudando os materiais fornecidos para entender melhor como os robôs funcionam e como as peças interagem, e então iniciar o design do robô. O design do robô deve ser documentado, incluindo diagramas, para referência futura e para o relatório final.
-
Construção Física do Robô (4 horas): usando o design planejado, os grupos então montam o robô. Durante esta fase, é importante que todos os membros do grupo colaboram para entender como o robô foi montado.
-
Programação (5 horas): agora o grupo irá programar seu robô. Isso envolve escrever código que controlará todos os aspectos do robô, desde a movimentação até seus sensores e respostas a obstáculos.
-
Teste e Edição (4 horas): Finalmente, os grupos devem testar seus robôs no "quarto" de teste e fazer qualquer ajuste necessário.
-
Produção do Documento Escrito (6 horas): Nesta fase, os alunos deverão usar todos os conhecimentos adquiridos sobre robótica para escrever o relatório do projeto. O relatório deve explicar a abordagem escolhida pelo grupo no design do robô, os problemas encontrados e como foram solucionados, as conclusões retiradas do projeto e as referências utilizadas para a trabalho.
Entregas do Projeto
Ao fim do projeto, cada grupo irá entregar:
-
Um Robô: um robô físico totalmente operacional que possa limpar o quarto de obstáculos.
-
Um Código Fonte: um código fonte bem documentado contendo todos os comportamentos programados do robô.
-
Um Documento Escrito: um relatório escrito detalhando o design do robô, a lógica por trás do código, os problemas enfrentados e como foram abordados, bem como a experiência de aprendizagem e as implicações éticas da Robótica Autônoma consideradas. O relatório deve incluir a seguinte estrutura:
-
Introdução: Contextualização sobre robótica autônoma, justificativas para as escolhas do projeto, relevância e aplicação no mundo real.
-
Desenvolvimento: Explicação sobre a teoria conceitual chave que fundamenta o projeto, a descrição detalhada da atividade, a descrição da metodologia usada, e por fim, apresentação e discussão sobre os resultados obtidos.
-
Conclusões: o relatório deve concluir, retomando os pontos principais, explicitando os aprendizados obtidos, e as conclusões retiradas sobre o projeto.
-
Bibliografia: Referências utilizadas para fundamentar a construção e programação do robô devem ser incluídas.
-
Observação relevante: o docente deve orientar os alunos a descreverem também no relatório escrito os desafios que encontraram durante a realização da atividade prática. Sendo assim, o que fizeram para solucioná-los, como o trabalho em equipe contribuiu para a resolução dos problemas, dentre outros pontos.
O projeto pode levar várias semanas para ser concluído, dependendo do tempo disponível para os estudantes trabalharem nele. Todos os membros do grupo devem contribuir de forma igual para todas as partes do projeto.