Contextualização
A Visão Computacional é uma disciplina que procura replicar as habilidades visuais dos seres humanos nos computadores, tendo diversas aplicações em áreas variadas como medicina, veículos autônomos e, claro, robótica. Essa área multidisciplinar abrange o desenvolvimento de algoritmos e técnicas que permitem que os computadores interpretem visualmente o mundo ao seu redor, similar ao processo que a visão humana realiza.
Há uma distinção importante entre o processamento de imagens e a visão computacional. Enquanto o processamento de imagens envolve a manipulação de imagens digitais para melhorá-las ou alterá-las de alguma forma (como o ajuste de contraste, por exemplo), a visão computacional procura extrair informações úteis de imagens e vídeos. Ou seja, a visão computacional envolve muito mais do que apenas a manipulação de imagens - ela se aprofunda na compreensão do conteúdo visual.
A Robótica é uma disciplina que se preocupa com a concepção, criação, operação e aplicação de robôs, bem como sistemas computacionais para o controle, feedback e processamento de informações dos mesmos. A integração entre a robótica e a visão computacional oferece enormes benefícios, pois possibilita que os robôs realizem tarefas mais complexas, tendo a capacidade de "ver" e "entender" o mundo à sua volta.
A Visão Computacional para Robótica tem conexões diretas com múltiplos aspectos da vida cotidiana e do mundo dos negócios. Os robôs industriais, por exemplo, usam a visão computacional para manipular objetos de maneira segura e eficiente. Carros autônomos precisam "ver" o ambiente à sua volta para tomar decisões de direção, velocidade e rota. Até mesmo no entretenimento, como na produção de filmes, vemos o uso de visão computacional na captura de movimentos para animação de personagens.
Para introduzir melhor o tema aos alunos, eu recomendo os seguintes materiais (note que essas sugestões não são mandatórias, mas podem ajudar a combinar o assunto com a realidade e a experiência do aluno, motivando-o a ir além):
- Livro: "Computer Vision: Algorithms and Applications" por Richard Szeliski. Este é um dos mais completos livros-texto nessa área, ideal para alunos que desejam explorar o tema em profundidade.
- Documentário: "The Rise of the Robots" Este documentário explora como os robôs estão rapidamente se tornando uma parte integral de inúmeros aspectos da sociedade moderna, incluindo como eles estão utilizando a visão computacional para se tornar cada vez mais autônomos.
- Site: OpenCV Esta é uma biblioteca de código aberto de algoritmos e ferramentas de visão computacional.
Atividade Prática
Construção e Programação de um Robô Simples Capaz de Seguir uma Linha Verde
Objetivo da Atividade
Criar um robô capaz de usar visão computacional para identificar e seguir uma linha verde em um caminho determinado. Isto servirá como uma introdução prática ao uso da visão computacional na robótica, mostrando como um robô pode interagir com o ambiente visual a sua volta.
Materiais Necessários
- Kit de Robótica (com pelo menos um sensor de cor)
- Computador com Python instalado
- Bibloteca OpenCV instalada
- Um ambiente de cor branca com uma linha verde.
Descrição do Projeto
Neste projeto, os grupos de 3 a 5 alunos irão construir um robô simples utilizando um kit de robótica fornecido. Este robô deverá ser capaz de seguir uma linha verde em um caminho preestabelecido, utilizando para tal um sensor de cor e técnicas de visão computacional para identificar a posição da linha verde.
Passo a Passo
- Os alunos devem começar construindo o robô a partir do kit de robótica disponível. O robô precisa ser capaz de mover-se e ter um sensor de cor.
- Com o robô construído, os alunos deverão programá-lo utilizando Python. A programação consistirá em ler o input do sensor de cor e traduzir esse input em movimento para o robô, de modo que ele possa seguir a linha verde.
- Uma parte importante desse passo é a calibração do sensor de cor para que ele possa identificar corretamente a cor verde na várias condições de iluminação.
- Em seguida, os alunos deverão configurar o ambiente de teste do robô: um caminho com uma linha verde sobre um fundo de cor neutra.
- Agora os alunos devem testar o robô, ajustando o código conforme necessário para garantir que o robô segue a linha de forma confiável.
- Finalmente, os alunos deverão documentar o processo em um relatório que será entregue ao professor.
Entregas do Projeto
Os alunos irão entregar o robô construído, juntamente com todos os códigos utilizados, e um relatório que segue o seguinte formato:
- Introdução: A introdução deve apresentar o tópico da visão computacional para robótica, sua relevância no mundo real, e o objetivo específico deste projeto.
- Desenvolvimento: Os alunos devem descrever em detalhes a teoria por trás da visão computacional, a atividade realizada, a metodologia utilizada, e os resultados obtidos. Fotos, códigos e imagens do robô em ação podem ser incluídos para ilustrar melhor o processo.
- Conclusão: Finalizando, os alunos devem refletir sobre suas experiências, discutir o que aprenderam com o projeto, e sugerir possíveis melhorias ou extensões para o projeto.
- Bibliografia: Por fim, os alunos devem listar todas as fontes de informações, tais como livros, sites e vídeos, que eles utilizaram durante o projeto.
Este é um projeto de uma semana, onde os alunos trabalharão em grupos de 3 a 5 pessoas. Cada aluno deverá comprometer-se com 2 a 4 horas de trabalho efetivo durante a semana. Lembrando que não é apenas o resultado que importa, mas todo o processo, a colaboração em equipe e o envolvimento com o aprendizado.
Os critérios de avaliação a serem considerados pelo professor para qualquer grupo será a clareza da documentação, a funcionalidade do robô a nível de codigo e hardware, a organização e colaboração em equipe e a criatividade na resolução de problemas.