Neste Pi Day, 14 de março, em um espaço de trabalho no andar de cima do prédio WM Keck Engineering Laboratories da Caltech, oito braços robóticos exibiam suas coisas. Sob o olhar atento dos alunos...
Cortesia
Neste Pi Day, 14 de março, em um espaço de trabalho no andar de cima do prédio WM Keck Engineering Laboratories da Caltech, oito braços robóticos exibiam suas coisas. Sob o olhar atento dos alunos de graduação que os construíram e programaram, cada robô executou uma tarefa única. Um braço pegava e arrumava trilhos de trem de brinquedo e outro braço construía quebra-cabeças de tangram, enquanto um terceiro jogava gamão e outro braço jogava discos em um tabuleiro em um jogo de carrom. Enquanto isso, nenhum dos alunos tocou no controlador. Os braços robóticos completaram as tarefas sozinhos.
Um sistema de braço robótico está sobre uma mesa, montando um quebra-cabeça usando tangrams. Várias pessoas estão observando suas ações. Um homem à esquerda é o instrutor do curso, Gunter Niemeyer.
Esta foi a apresentação final/open-house do ME/CS/EE 134 Robotic Systems, um curso de 10 semanas ministrado por Günter Niemeyer, professor de engenharia mecânica e civil na Caltech. Niemeyer projetou o curso para oferecer aos alunos um desafio que exigiria que trabalhassem em equipe para desenvolver um robô tangível totalmente integrado, contando com habilidades de engenharia mecânica, ciência da computação e engenharia elétrica.
“O desafio realmente inclui todos os elementos. Não é apenas mecânico”, diz Niemeyer. “Inclui todos os sensores, detecção, lógica e comportamentos para tornar o braço robótico um sistema totalmente funcional.”
Neste quarto ano do ME/CS/EE 134, oito grupos de três ou quatro alunos trabalharam em equipes para construir braços de mesa que fossem ao mesmo tempo interativos e reativos em termos das tarefas para as quais foram programados.
“Os alunos, especialmente no Caltech, são muito bons em resolver conjuntos de problemas e aprender as teorias. Mas é importante saber o que os conceitos realmente significam e como ou quando usá-los”, diz Niemeyer. "É difícil desenvolver tal intuição até que você realmente brinque com as coisas e tenha uma noção do que é importante."
Para fazer os sistemas funcionarem de forma autônoma, foi necessária muita programação. O estudante sênior de ciência da computação, Neil Janwani, foi membro da equipe que programou seu robô para jogar carrom, um jogo que se acredita ter se originado no subcontinente indiano, centenas de anos atrás. À medida que o braço robótico pegava e empurrava os discos em direção ao centro da placa, ele explicou que este é o sistema de hardware mais complexo com o qual trabalhou durante seu curso na Caltech.
Janwani disse que o desafio exigia que sua equipe desenvolvesse códigos muito mais robustos do que projetos puramente online ou teóricos. “Como estudante, você não percebe que as coisas podem ser muito diferentes no hardware e nem sempre são o que você espera”, disse Janwani. Por exemplo, o brilho em uma área pode alterar a visão da câmera ou podem surgir sombras quando as pessoas andam. Então, os programadores tiveram que criar um código capaz de lidar com todas essas situações diferentes. “Desenvolver este código mais robusto é realmente ótimo porque nos prepara para pesquisas e empregos reais na indústria”, disse Janwani.
Niemeyer enfatizou aos alunos que os sistemas não precisavam ser perfeitos na execução de suas tarefas – jogar sempre uma bola de pingue-pongue em um copo de plástico vermelho, por exemplo. Mas os robôs precisavam ser reativos, perceber quando falhavam ou algo inesperado acontecia e saber como se recuperar ou tentar novamente. Ser bem-sucedido na criação desse tipo de comportamento de autoverificação e na construção de um robô que esteja ciente de certos aspectos de seu ambiente realmente requer a experiência de uma equipe inteira, diz Niemeyer.
“Muito poucas pessoas conseguem realmente dominar toda a robótica. O campo é muito amplo”, diz Niemeyer. "Eu desafio os alunos a tentarem ensinar uns aos outros e pelo menos apreciarem quais são os outros conjuntos de habilidades de sua equipe. Acho que é muito importante que eles conheçam o suficiente sobre os outros campos para que possam se comunicar, que entendam por que é é melhor fazer isso de uma forma ou de outra e apreciar o quadro geral."