Robôs Infante – um sistema de robótica educativa

5 robôs infante
 
Olá a todos! 🙂 Hoje vou mostrar-vos um projecto que começou como um desafio que aceitei e acabou por se tornar num dos projectos mais desafiantes que já fiz. Bruna Carmo, professora de 1.º e 2.º ciclo do ensino básico, queria investigar aplicações da robótica educativa para a sua tese de mestrado mas não conseguia encontrar nenhum sistema de robótica educativa com um custo acessível e que fosse suficientemente simples para ser usado por crianças de 10 anos. Como é sabido por muitos professores que tentam usar robôs nas salas de aula pelo mundo inteiro, os sistemas de robótica educativa comerciais são bastante dispendiosos. Como exemplo, um único robô LEGO NXT custa cerca de 300€ em Portugal. Mesmo que um professor consiga arranjar fundos para comprar um, torna-se bastante difícil desenvolver actividades com um único robô e mais de 20 crianças. Além disso, a maioria dos sistemas de robótica educativa comerciais requerem que o professor tenha algum conhecimento prévio de como os utilizar, que o mesmo tenha de ler alguns manuais, instalar todo o software, configurar as ligações de programação e, depois, ensinar uma turma com mais de 20 crianças a programar os robôs e a manusear os mesmos com segurança. Habitualmente os professores têm de gastar algumas horas só para que os alunos se familiarizem com a programação dos robôs. No que diz respeito às actividades desenvolvidas com os robôs, na grande maioria das vezes as mesmas são sobre os próprios robôs: montar as peças mecânicas, aprender a programar o robô, e essencialmente é isso. A Bruna Carmo tinha uma ideia diferente em mente. O objectivo seria usar os robôs como um elemento de motivação que pudesse ser usado em qualquer actividade, independentemente da área de estudo, e sem que se perdesse muito tempo a aprender a usar o sistema de robótica educativa, prepará-lo para utilização e a ensinar as crianças a programar os robôs.
 
5 robôs infante
 
Eu já tinha algumas ideias em mente para desenvolver uns robôs pequenos e de baixo custo para swarm robotics há algum tempo e rapidamente conclui que podia adaptar essas mesmas ideias e, com mais alguma pesquisa e pensando mais um pouco, poderia chegar a uma solução que pudesse ajudar as crianças a desenvolver o seu raciocínio matemático e aumentar o seu interesse por programação, robótica, ciência! Estava na altura de tornar algumas das ideias que tinha na minha cabeça em realidade. Depois de aceitar o desafio, tive 5 meses de trabalho aos fins de semana e feriados para ter o sistema pronto para ser testado. Houve uma coisa que me deixou um pouco receoso, que era o facto de a investigação para a tese de mestrado da Bruna Carmo estar dependente do sistema a que me tinha comprometido a desenvolver: eu não podia falhar e tinha de ter tudo pronto a tempo!
 
Quando comecei a pensar na arquitectura do sistema, tive dois principais pensamentos em mente: (a) Se não puder estar pronto para ser usado em menos de 5 minutos, não é apropriado para professores e educadores e (b), se não puder ser explicado às crianças em menos de 5 minutos, não é apropriado para crianças. Acabei por encontrar uma solução que precisa de menos de 5 minutos em ambos os casos 🙂
 
robôs infante com portáteis magalhães
 
Nos meses que se seguiram, tive de enfrentar o desafio de engenharia mais completo que já tinha feito. Tive de analisar e projectar a melhor arquitectura que combinasse o baixo custo e simplicidade, seleccionar materiais e componentes electrónicos, desenhar as peças mecânicas do robô, cortar as peças na minha fresadora CNC TheMaker2, aprender a usar módulos de comunicação série por Bluetooth, programar o microcontrolador PIC16F88, criar um protocolo de comunicações simples para enviar comandos para o robô, configurar uma Raspberry Pi para funcionar como Wireless Access Point e como web server, adaptar o web server (escrito em Python)  para satisfazer os requisitos do sistema e adaptar o projecto Blockly, by Google, para controlar robôs no mundo real. De um ponto de vista de engenharia, foi um misto de desenho de pelas mecânicas em 3D, operação de máquina CNC, projecto de circuitos electrónicos, programação de microcontroladores em C, comunicações Bluetooth, e programação em Python e Javascript. Foi o projecto em que tive de usar todas aquelas coisas que fui aprendendo noutros pequenos projectos e nas aulas na universidade.
 
Robôs Infante e controlador de múltiplos robôs
 
5 meses depois, finalmente tinha o sistema pronto. De facto, até consegui terminá-lo uma ou duas semanas antes 🙂 . O sistema de robótica educativa resultante é composto por 5 mini robôs com um tamanho de 7.5*7.5*7.5 cm (está de acordo com as regras da competição da categoria Mirosot da FIRA robotics 😛 ) com sensores de detecção de linha e de cruzamentos e comunicações Bluetooth, e um controlador central para os cinco robôs que consiste numa Raspberry Pi com pens Bluetooth e Wi-Fi. Basicamente, adaptando uma frase da saga Senhor dos Anéis, é “one Raspberry Pi to rule them all!” 😛 Uma vez que utilizei algumas peças retiradas de impressoras velhas e outros dispositivos electrónicos, acabei por conseguir fazer cada robô com um custo de apenas 10€ 🙂
 
robôs Infante a passear pelas serras portuguesas
 
Então, como é que funciona do ponto de vista do utilizador? O utilizador apenas tem de ligar a Raspberry Pi e esperar cerca de 2 minutos  para que o sistema operativo inicie, iniciando também o ponto de acesso wireless e o servidor web. Durante esse tempo, o utilizador pode ligar os cinco robôs, tendo cada um um identificador único. Após esses dois minutos, o sistema está pronto para ser usado. Assim que o sistema está pronto, o utilizador só tem de pegar no tablet, portátil ou smartphone, estabelecer uma ligação à rede wireless criada pela Raspberry Pi e inserir o endereço do servidor web no browser de internet para aceder ao interface de programação. No interface de programação, as crianças só tem de inserir o identificador do robô que desejam controlar e arrastar blocos de programação que encaixam uns nos outros para criar sequências de programação. Para as crianças de 10 anos que usaram o sistema pela primeira vez, apenas 3 instruções foram disponibilizadas: “ir em frente”, “rodar para a esquerda” e “rodar para a direita”. Assim que as crianças terminam de inserir as sequências de programação, só têm de carregar em “executar comandos” e a Raspberry Pi estabelece uma ligação Bluetooth com o robô e envia a sequência de instruções. O robô lê a sequência e executa as instruções, uma a uma, navegando sobre uma linha preta colocada sobre um fundo branco. Sempre que um cruzamento é detectado, o robô termina a instrução actual e começa a executar a seguinte. Sabem que mais? Acabaram de aprender a usar o sistema! 🙂
 
Crianças divertidas a programar o robô infante
 
O sistema de robótica educativa desenvolvido foi testado duas vezes. Na primeira vez foi usado com uma turma de crianças de 10 anos (4ª classe) da Escola Básica do Bom João, em Faro (Portugal), que tinham de ajudar os robôs Infante a visitar as serras de Portugal, aprendendo, assim, Geografia e desenvolvendo o seu raciocínio matemático, lateralidade e a capacidade de se colocarem virtualmente na posição do robô de maneira a perceber se o robô deveria virar à esquerda ou à direita. Foi dada às crianças uma breve explicação de 2 minutos sobre como usar o sistema e depois foram deixadas a trabalhar em grupos de 5 para cumprir as tarefas enunciadas numa folha que lhes tinha sido dada. Depois da breve explicação, nem eu nem a 

Bruna Carmo fizemos qualquer intervenção na actividade, limitando-nos a observar como é que eles encaravam e resolviam os desafios propostos. Surpreendentemente, eles aprenderam a usar o sistema bastante depressa e conseguiram concluir todas as tarefas propostas muito mais depressa do que esperávamos. Eles rapidamente apresentaram uma solução para a inexistência de mais tarefas: “Podemos inventar as nossas próprias tarefas e continuar a brincar com o Infante, por favor??” 😀 Eles acharam a actividade tão fácil e interessante que nem repararam que estavam a aprender os nomes e as localizações das serras de Portugal, que é uma matéria extremamente aborrecida de se aprender e que muitos professores geralmente apenas tentam fazer com que as crianças as memorizem. Com os robôs, eram eles que diziam uns aos outros: “A serra A é ali! É mais à esquerda da serra B a que fizemos o robô ir há bocado!”. Quando o robô não fazia o que esperavam, eles falavam uns com os outros e trabalhavam juntos para descobrir o que estava mal e como podiam fazer para resolver o problema. Outra coisa em que reparámos foi que, uma vez que para eles a actividade era uma brincadeira, estavam muito confiantes do que estavam a fazer e não tinham problemas em explicar as suas ideias aos colegas.

 
criança a utilizar um tablet para programar o robô infante
 
O primeiro teste correu tão bem que decidimos tentar novamente, mas desta vez com uma turma de crianças de 9 anos (3ª classe). Fomos a outra escola, desta vez ao Colégio da Nossa Senhora do Alto, também em Faro (Portugal), e desta vez apresentámos às crianças uma actividade sobre reciclagem. Alguns objectos foram colocados sobre a grelha de navegação e eles tinham de programar os robôs para chegar a esses objectos e depois levá-los para o caixote da reciclagem apropriado. Mais uma vez, demos-lhes uma breve explicação de 2 minutos sobre como programar os robôs e ficámos a observá-los a trabalhar em grupos. Exactamente o mesmo aconteceu: aprenderam rapidamente a programar os robôs e terminaram as tarefas que lhes demos mais cedo do que esperávamos e eles inventaram as suas próprias tarefas para continuar a brincar com os robôs, discutindo entre eles como poderiam fazer o robô chegar ao local A ou B.
 
Escusado será dizer que, em ambos os testes, quando a aula acabou eles não queriam ir para casa e queriam continuar a brincar. Alguns deles até começaram a chorar porque não queriam que a aula terminasse 🙂 .
 
usando um tablet para programar o robô Infante
 
O trabalho de investigação feito utilizando os robôs resultou em três publicações em conferências portuguesas de educação. Podem aceder às publicações 

aqui. Outra publicação será disponibilizada em breve. É escrita em inglês, e foi apresentada na International Conference on Social Robotics, que decorreu na Armada House, em Bristol, UK. Tenham em conta que todas as publicações disponibilizadas devem apenas ser usadas para fins académicos! 🙂

Ah, e já agora, a Bruna Carmo teve 18 (de 0 a 20) na sua tese de mestrado! Parabéns! 🙂

Abaixo podem ver um conjunto de fotos e um pequeno vídeo que demonstra o sistema de robótica educativa 🙂  


5_infante_robots_aligned.JPG5_infante_robots_side_by_side.JPG5_infante_robots_and_magalhaes_laptops.JPG5_infante_robots_and_magalhaes_laptops_3.JPG5_infante_robots_and_magalhes_laptops_2.JPGchildren_made_map_of_portugal.JPGmountain_flags.JPGkids_placing_mountain_flags_over_map.JPGmountains_in_place_over_map.JPGinfante_robot_navigating_through_mountains.JPGblack_infante_robot.JPGhappy_kids_programming_infante_robot.JPGinfante_robot_awaiting_for_commands.JPGinfante_robot_awaiting_to_be_programmed.JPGkid_happy_with_infante_robot.JPGinfante_robot_going_to_the_lamp.JPGinfante_robot_ready_to_go.JPGkid_using_tablet_to_program_infante_robot.JPGprogramming_infante_robot_with_tablet.JPGkids_programming_infante_robot.JPGprogramming_infante_robot_with_tablet_2.JPGprogramming_infante_robot_with_tablet_3.JPGusing_infante_robot_to_teach_recycling.JPGkids_discussing_how_to_program_infante_robot.JPG5_infante_robots.JPGInfante robots and multi-robot controller.JPG

Este sistema de robótica educativa já esteve em destaque nas noticias portuguesas três vezes! 🙂 Vejam os artigos aqui:

Espero que tenham gostado deste projecto! 🙂

Até breve!


Achou esta publicação útil? Deseja contribuir para outros projectos envolvendo ciências computacionais, electrónica, robótica ou mecatrónica que serão publicados neste blog? Se sim, pode fazer uma doação utilizando o botão do Paypal abaixo. Obrigado! 🙂

Donate



  • Facebook
  • Twitter
  • Google Plus
  • LinkedIn
  • Reddit
  • Delicious
  • StumbleUpon
  • Digg
  • RSS
  • Email
  • Print