Projeto: ## Construindo e Programando Robôs Autônomos com Aprendizado por Reforço

Default avatar

Lara da Teachy


Robótica

Original Teachy

Inteligência Artificial em Robótica

Contextualização

A Inteligência Artificial (IA) se tornou um campo fascinante e influente em muitas áreas do conhecimento. Seja em aplicativos de smartphones, carros autônomos, sistemas de processamento de linguagem natural, a IA está transformando a maneira como vivemos e interagimos com o mundo. Em nosso enfoque, a robótica, a inteligência artificial desempenha um papel chave no desenvolvimento de robôs que não apenas executam tarefas mas também podem aprender e se adaptar a novas situações.

O primeiro passo para entender a IA em Robótica é esclarecer o que é Inteligência Artificial. A IA pode ser definida como um ramo da ciência da computação que busca criar sistemas capazes de realizar tarefas normalmente relacionadas à inteligência humana, como reconhecimento de voz, aprendizado, planejamento e entendimento de linguagem natural. A depender da complexidade, estes sistemas podem desde realizar uma tarefa com um objetivo realizando várias ações até serem capazes de aprender através de exemplos e experiências a melhor forma de responder a um dado problema.

Além disso, iremos explorar a subárea da Aprendizagem de Máquina (Machine Learning) dentro da IA. Ela é a área que cria sistemas capazes de aprender com dados, seja para adquirir novos conhecimentos, seja para melhorar o desempenho em tarefas comuns. De maneira ainda mais específica, estudaremos Aprendizado por Reforço (Reinforcement Learning), um tipo de aprendizado de máquina no qual uma entidade, nesta caso um robô, aprende a se comportar em um ambiente realizando ações e descobrindo erros ou recompensas.

No que tange à robótica, temos o desafio de criar robôs que não apenas automatizem tarefas, mas sejam capazes de adaptar-se de forma inteligente ao ambiente e a situações novas. Sejam robôs pessoais, industriais ou até mesmo robôs planetários enviados para Marte, a intersecção entre robótica e IA abre inovadoras possibilidades.

No contexto da sociedade e da indústria 4.0, a robótica inteligente é uma realidade e um campo em constante crescimento. Nosso mundo está cada vez mais conectado e automatizado, requerendo soluções inteligentes para problemas complexos. Robôs automatizados e robôs inteligentes são vistos em linhas de produção de fábricas automatizadas, na exploração espacial, nos cuidados de saúde, na agricultura de precisão, na logística e muitos outros setores.

Para seus estudos, recomendamos os seguintes materiais complementares:

  • Livro: Artificial Intelligence: A Modern Approach (3rd Edition) de Stuart Russel e Peter Norvig.
  • Livro: Hands-On Robotics with JavaScript: Build Robotic Applications Using Johnny-Five and Control Hardware with JavaScript and Raspberry Pi de Kassandra Perch.
  • Vídeos: [Curso de Intro to Artificial Intelligence] na plataforma Udacity.
  • Vídeos: [Curso de Machine Learning] por Andrew Ng na plataforma Coursera.
  • Vídeos: [Curso de Robotic Systems] na plataforma edX.

Atividade Prática

Construindo e Programando Robôs Autônomos com Aprendizado por Reforço

Objetivo do Projeto

O objetivo deste projeto é oferecer aos alunos a oportunidade de construir e programar um robô que aprende a realizar tarefas simples através do Aprendizado por Reforço. Os alunos serão desafiados a desenvolver e implementar algoritmos apropriados e a configurar o robô para executar uma tarefa, como por exemplo, seguir uma linha ou evitar obstáculos. Durante o curso do projeto, os alunos deverão descrever e refletir sobre cada etapa do processo em um relatório de projeto.

Materiais Necessários

  • Robô básico (por exemplo, Arduino car ou Raspberry Pi car)
  • Sensores de linha e de distância
  • Plataforma de programação (pode ser Python ou C++)

Descrição Detalhada do Projeto

O grupo de alunos deve idealizar, preparar, programar, testar e apresentar um robô que aprende a completar uma tarefa através do Aprendizado por Reforço. O robô deve mostra comportamento inteligente a partir do aprendizado desta tarefa e os alunos vão documentar todo o processo de preparo, erros, aprendizados e conclusões em uma relatório de projeto.

Passo a Passo Detalhado para a Realização da Atividade

  1. Elaborar o projeto do robô: Os alunos devem desenhar e planejar o robô tendo em conta as limitações do projeto: os dispositivos sensores disponíveis, a plataforma de robô utilizada e a tarefa a ser completada. Devem escolher os sensores apropriados e considerar sua localização e instalação no robô.

  2. Codificação do Robô: Com base no planejamento, é hora de programar o robô. Devido à complexidade desta tarefa, recomenda-se dividir o grupo de alunos em subgrupos, cada um responsável por uma especificidade diferente. Por exemplo, um subgrupo pode identificar e processar os dados do sensor enquanto outro subgrupo pode focar no movimento e controle do robô. Os subgrupos devem se reunir regularmente para integrar seus trabalhos.

  3. Aprendizado por Reforço: Já descoberto e definido pelos subgrupos o método de obtenção, processamento dos dados e controle dos movimentos adequados, é hora de utilizar Aprendizado por Reforço para que o robô aprenda a tarefa em questão quanto mais tentativas fizer.

  4. Teste do Robô: Depois de programado, o robô é testado. É crucial documentar cada teste e suas condições incluindo tentativas, falhas, ajustes, e sucessos.

  5. Preparação do Relatório do Projeto: Por fim, os alunos devem se reunir para preparar um relatório de projeto detalhado, que inclua todos os passos acima, os problemas encontrados, as soluções propostas e implementadas, os sucessos e fracassos, os aprendizados obtidos e as conclusões sobre o projeto.

Tal projeto deve ser realizado num período de uma semana em grupos de 3 a 5 estudantes. Cada aluno deve desempenhar um papel ativo no desenvolvimento do projeto e contribuir para o relatório final.

Entrega do Projeto

Ao final do projeto, os grupos devem entregar:

  1. Relatório escrito do projeto, o qual deve refletir sobre cada etapa do trabalho dos alunos:
  • Introdução (15% do conteúdo total do relatório): Aqui os alunos devem apresentar o tema em geral: "A inteligência artificial aplica em robótica". Os alunos devem apresentar um pouco da teoria que aprenderam em aula e mostrar a relevância do estudo deste tópico. Os estudantes devem também expor o objetivo deste projeto e o que se espera aprender com ele.
  • Desenvolvimento (70% do conteúdo total do relatório): Nesta parte do relatório os alunos esperam que os alunos exponham alguns dos conceitos mais importantes que aprenderam em aulas sobre a inteligência artificial aplicada à robótica. No entanto, aqui o foco deve ser na implementação destes conceitos no projeto que desenvolveram. Os alunos devem explicitar a teoria por trás dos temas centrais do projeto, explicar a atividade e metodologia em detalhes e, por fim, apresentar e discutir os resultados que obtiveram.
  • Conclusão (10% do conteúdo total do relatório): Nesta parte do relatório os alunos devem concluir o trabalho retomando seus pontos principais, explicitando os aprendizados obtidos e as conclusões retiradas sobre o projeto. Aqui, pedimos que os alunos falem um pouco sobre os desafios que encontraram durante a semana e depositem algumas sugestões para futuras atividades como esta.
  • Bibliografia (5% do conteúdo total do relatório): Aqui os alunos insirem a bibliografia que usaram como Fontes de Consulta para conceitos que eventualmente tiveram de pesquisar para executar este projeto.
  1. Vídeo demonstrativo do robô funcionando.

Iara Tip

Precisa de materiais para apresentar o tema do projeto em sala?

Na plataforma da Teachy você encontra uma série de materiais prontos sobre esse tema! Jogos, slides, atividades, vídeos, planos de aula e muito mais...

Community img

Faça parte de uma comunidade de professores direto no seu WhatsApp

Conecte-se com outros professores, receba e compartilhe materiais, dicas, treinamentos, e muito mais!