Вы находитесь на странице: 1из 10

Experimentao com Robtica Educativa no Ensino Mdio:

ambiente, atividades e resultados


Fabiane Barreto Vavassori Benitti1, Adilson Vahldick1, Diego Leonardo Urban1,
Matheus Luan Krueger1, Arvid Halma2
1

Departamento de Sistemas e Computao


Universidade Regional de Blumenau (FURB) Blumenau, SC
2

Universiteit Van Amsterdam

{adilsonv, fabiane}@furb.br, {durban, mkrueger}@inf.furb.br,


arvid@robomind.net

Abstract. The Robotics as a teaching tool allows students to enhance the


capacity to formulating hypotheses, investigating solutions, establishing
relations and getting to conclusions. This paper presents an experiment
involving issues related to Geography, Mathematics and Computer
Programming by activities with robots. A robot programming environment set
to make the experiment is also described in this paper. Some considerations
are presented from a workshop experience conducted with high school
students.
Resumo. A utilizao da robtica como instrumento de ensino permite aos
estudantes desenvolverem a capacidade de elaborar hipteses, investigar
solues, estabelecer relaes e tirar concluses. Este artigo apresenta um
experimento envolvendo assuntos relacionados com as disciplinas de
geografia, matemtica e programao de computadores explorados atravs de
atividades com robs. Um ambiente de programao de robs adaptado para
viabilizar o experimento tambm descrito neste artigo. Algumas
consideraes so apresentadas a partir de uma oficina de experimentao
realizada com alunos do ensino mdio.

1. Introduo
Atualmente, os estudantes do ensino bsico esto imersos em um ambiente em que a
tecnologia facilmente percebida: carros, celulares e computadores so exemplos que
todos conhecem e muitos utilizam, no entanto, poucos entendem. Estes mesmos
estudantes passam boa parte de seu tempo na escola estudando contedos de matemtica
e fsica e, paradoxalmente, os conceitos que lhes so apresentados parecem distantes.
Uma forma de viabilizar o conhecimento cientfico-tecnolgico e, ao mesmo
tempo estimular a criatividade e a experimentao com um forte apelo ldico, pode ser
proporcionada atravs da robtica educativa. Assim, o aluno entra em contato com
novas tecnologias com aplicaes prticas ligadas a assuntos que fazem parte do seu
cotidiano, pois a robtica requer conhecimentos sobre mecnica, matemtica,
programao, dentre outros. Atravs da robtica educativa os estudantes podero
explorar novas idias e descobrir novos caminhos na aplicao de conceitos adquiridos

em sala de aula e na resoluo de problemas, desenvolvendo a capacidade de elaborar


hipteses, investigar solues, estabelecer relaes e tirar concluses. Alguns trabalhos
j reforam esta afirmao: Oliveira (2007), Santos e Menezes (2005) e Cruz et al (2007)
Para tanto, este artigo aborda o desenvolvimento de um ambiente de
programao de alto nvel para robs, juntando dois instrumentos de ensino vastamente
conhecidos: Lego e Logo. Os kits de robtica da Lego proporcionam o ldico e a
criatividade, atravs da montagem de robs programveis. O Logo, por sua vez, uma
linguagem de programao de fcil compreenso, especfica para a rea educacional,
baseada na filosofia construtivista (Logo Foundation, 2000).
Encontram-se na literatura algumas iniciativas de desenvolvimento de um
ambiente de programao envolvendo a juno Lego e Logo que merecem destaque: em
mbito nacional o projeto SIROS (Sistemas Robticos com SuperLogo) da Unicamp
(Chella, 2002) e, em mbito internacional, FLogo (Robotics Programming for Children)
(Hancock, 2001) e Logo Blocks do MIT (Massachusetts Institute of Technology). Estes
e outros projetos, bem como as experincias encontradas, comprovam que a robtica
educativa tende a ser um excelente meio de estimular o desenvolvimento do
conhecimento cientfico e tecnolgico.
Alm das tecnologias utilizadas, este artigo detalha um experimento realizado
com alunos do ensino mdio, bem como apresenta alguns resultados que apontam o
potencial da robtica como instrumento de ensino.

2. Tecnologias
Essa seo descreve brevemente o instrumental utilizado como base para realizao do
experimento, estando dividida em duas partes: na primeira resumida a linha NXT de
robtica da Lego, utilizada no projeto dos robs e; na segunda seo apresentado o
ambiente de programao de robs denominado RoboMind.

2.1. Lego Mindstorms NXT


Mindstorms NXT uma linha de robtica da Lego (Lego, 2009). A CPU do rob um
tijolo com um microcontrolador ARM7, onde podem ser conectados at quatro
sensores e trs atuadores. Ele possui uma tela de LCD de 100 x 64 pixels e mais quatro
botes para que o usurio possa interagir com o sistema. Possui uma porta USB e
capacidade de comunicao por Bluetooth. A Figura 1 apresenta a CPU, os sensores e
os atuadores que acompanham a caixa bsica.

Figura 1. Lego Mindstorms NXT (Lego, 2009) (a) CPU. (b) sensor de toque. (c)
sensor de som. (d) sensor de luz. (e) sensor ultra-snico. (f) servo-motor

2.2. RoboMind
O RoboMind (Halma, 2009) uma Integrated Development Environment (IDE) que
oferece uma linguagem de programao simples para movimentao de um rob em um
mundo bidimensional, conforme ilustra a Figura 2 que apresenta a tela principal do
ambiente. Pode-se observar que a interface composta de trs partes: esquerda
encontra-se a rea de edio do programa; direita o mundo em que o rob se
movimenta de acordo com o programa; e na parte inferior est o controle de execuo
do programa junto de uma rea de mensagens, que usada para apresentar erros
sintticos ou situaes em que o rob tem problemas durante a execuo, como por
exemplo, quando o rob bate numa parede.

Figura 2. Ambiente do RoboMind

O rob possui um conjunto de instrues referente aos seus atuadores e sensores.


Ele pode movimentar-se para frente (andarFrente(n)) e para trs (andarTrs(n)),
informando a quantidade de casas a serem movimentadas. Por exemplo, andarFrente(2)
movimenta duas casas frente. Outra possibilidade de movimentao do rob atravs
dos pontos cardeais (andarNorte(n), andarSul(n), andarLeste(n) e andarOeste(n)). O
rob tambm pode virar-se 90 graus esquerda (virarEsquerda()) ou direita
(virarDireita()), e consegue pegar (pegar()) e soltar objetos (soltar()). Quanto aos
sensores, o rob consegue enxergar se existem objetos ao seu redor, por exemplo,
vazioEsquerda(), temObstculoEsquerda(), vazioFrente(), temObstculoFrente(), e
assim por diante.
A linguagem possui a estrutura de seleo se-seno, e repetio repetirEnquanto.
Essa ltima instruo possui duas verses: uma utilizada como variao da estrutura for
e outra como a prpria while. O cdigo da Figura 3 demonstra o uso das trs estruturas.
Esse programa faz o rob andar para frente enquanto as casas estiverem desocupadas.
Em seguida, se vira direita, e por trs vezes ele: anda uma casa, verifica se a direita est
livre; em caso positivo, o rob vira direita, anda uma casa, e vira esquerda.

repetirEnquanto(vazioFrente()) {
andarFrente(1)
}
virarDireita()
repetir(3) {
andarFrente(1)
se (vazioDireita()) {
virarDireita()
andarFrente(1)
virarEsquerda()
}
}

Figura 3. Exemplo de cdigo com estruturas de seleo e repetio

Em relao aos mapas onde o rob caminha, existem vrios tipos de objetos que
podem compor o cenrio, tal como paredes, caixas e pequenos objetos que o rob
consegue pegar/carregar. Os mapas so armazenados em arquivos do tipo texto, o que
permite a sua definio com editores de textos simples.
O RoboMind foi desenvolvido de forma a permitir a internacionalizao tanto da
interface do ambiente, quanto a prpria linguagem de programao. Atualmente, o
RoboMind est disponvel nos idiomas rabe, chins, holands, francs, ingls, alemo,
portugus do Brasil, e sueco.

3. Adaptaes para experimentao em Robtica Educativa


Para viabilizar o experimento proposto neste artigo (seo 4), algumas adaptaes no
RoboMind se fizeram necessrias, entre elas, a traduo para a lngua portuguesa de toda
interface e linguagem de programao, e ainda a correo de erros e falhas encontradas
no ambiente. Alm disso, foi necessria a adaptao do ambiente para permitir que um
programa escrito no RoboMind pudesse ser transferido para um rob real (no caso,
construdo com o kit da Lego), sendo executado com comportamento semelhante ao
apresentado no simulador (RoboMind).
A adaptao para execuo em robs reais foi desenvolvida como um
gerenciador de plugins, ampliando as possibilidades do RoboMind para novos
desenvolvimentos. O plugin desenvolvido foi batizado como RoboMindFURB, e conta
com os seguintes recursos: (i) transformao dos programas em classes Java; (ii)
exportao dessas classes para o NXT; e (iii) incrementos de comandos na linguagem
original.
Para que o rob programado no RoboMind possa ser executado por um rob
Lego, ou seja, para que ele possa andar pelas clulas de um mundo, optou-se por criar
um tablado dividido em clulas de 20 cm x 20 cm, limitando inclusive o tamanho do
rob. O rob tem a capacidade de reconhecer onde comea e termina cada uma das
clulas, utilizando-se de dois sensores de luz que detectam as bordas das clulas. A
Figura 4a apresenta o esquema de um rob, destacando o local onde so montados os
sensores, e a Figura 4b apresenta a foto do rob inserido no tablado, e o posicionamento
dos sensores em relao s linhas que dividem as clulas.

(b)
(a)
Figura 4. Robs do projeto. (a) em destaque os sensores para alinhamento do
rob; (b) um rob inserido no mundo real

O rob montado com dois motores independentes, e sua trajetria ajustada de


acordo com a leitura dos sensores. Para a capacidade de ver objetos, adaptado ao rob
um sensor ultra-snico. No momento, est em desenvolvimento a habilidade de pegar e
soltar objetos.

4. Experimento realizado
O experimento, denominado Viajando por Santa Catarina, teve como objetivo permitir
aos alunos do Ensino Mdio realizar atividades de robtica visando aplicar conceitos
relacionados matemtica, geografia e programao de computadores, mais
especificamente, os assuntos explorados foram pontos cardeais, plano cartesiano, mapa
de Santa Catarina e lgica de programao.
O experimento foi realizado por 2 (duas) turmas de alunos do 1 ano do Ensino
Mdio, totalizando 9 participantes, durante trs (3) encontros de 3 horas cada. Ambas as
turmas de alunos (A e B) seguiram o mesmo roteiro, com as etapas:
1. Montagem do Rob;
2. Contato com o programa RoboMindFURB;
3. Realizao de atividades relacionando matemtica, geografia, programao de
computadores e robtica; e
4. Desafios de programao.
O primeiro encontro foi reservado para a montagem do rob, sendo que os
alunos receberam um kit Lego com as peas necessrias para a montagem do rob e
um tutorial orientando passo-a-passo o procedimento de montagem a ser seguido. Esta
atividade foi desenvolvida pelos alunos em aproximadamente 1hs e 30min. Aps a

montagem do rob foi apresentado o programa RoboMindFURB (descrito nas sees 2


e 3), o qual foi utilizado em todos os encontros.
Ainda no primeiro encontro foram aplicados 2 (dois) exerccios (listados no
Quadro 1), abordando assuntos como o mapa de Santa Catarina com nfase nos pontos
cardeais. No laboratrio de robtica, onde foi realizado o experimento, h um mapa de
SC (nas dimenses de 2.5m x 1.5m) com casas de 20cm x 20cm cada uma possuindo
uma ou mais cidades do estado (Figura 4b). Como no ambiente no existe a
representao do mapa, apenas suas dimenses, para execuo dessas atividades os
alunos observavam o mapa, elaborando uma soluo preliminar, e simulavam o
comportamento do rob no RoboMindFURB. Posteriormente, eles testaram o seu
programa com o rob no mapa.
1) Utilizando somente os comandos ao lado, programe o rob para sair de Chapec
e chegar a So Joaquim.
andarNorte(x)
andarSul(x)
2) Utilizando somente os comandos ao lado, programe o rob para realizar a
andarLeste(x)
seguinte rota:
andarOeste(x)
Chapec Canoinhas Blumenau Lages Cricima

Quadro 1. Atividades 1 e 2 de experimento com Robtica

No segundo encontro foi abordado o plano cartesiano sobre o mapa de Santa


Catarina, atravs dos exerccios descritos no Quadro 2. Para a realizao destes
exerccios foi abordada uma breve explanao sobre o assunto plano cartesiano, para
que todos os alunos fossem capazes de finalizar os exerccios. A dinmica foi a mesma
adotada anteriormente: (i) os alunos analisavam o mapa e elaboravam uma estratgia
para soluo do exerccio; (ii) simulavam uma soluo no RoboMindFURB e; (iii)
executavam a soluo no mundo real com apoio do rob e do mapa.
3) Utilizando somente os comandos ao lado, programe o rob para realizar a
seguinte rota, considerando os obstculos existentes no mapa:
Chapec Caador Rio do Sul Cricima
4) Para a realizao deste exerccio, considere que:
- O ponto de origem do rob Chapec voltado ao norte.
- A casa onde o rob se encontra sempre o ponto (0,0).
- O sentido norte sul do mapa equivale ao eixo Y e o sentido oeste
leste equivale ao eixo X.
Utilizando somente os comandos ao lado e programe o rob para seguir
as coordenadas:
(3,-3), (4,3), (0,2)
a) Qual o rota seguida pelo Rob?
b) Qual a coordenada final em relao origem (Chapec)?
c) Em um sistema cartesiano represente as coordenadas da rota seguida pelo
rob.

andarFrente(x)
virarDireita()
virarEsquerda()

Quadro 2. Atividades 3 e 4 de experimento com Robtica

Para a realizao dessas atividades, os alunos construram seus programas com


sequncias de comandos sem a possibilidade de caminhos alternativos. No final do
segundo encontro foram expostas as estruturas condicionais e de repetio, com a
inteno de explorar recursos de tomada de deciso pelo programa. Ainda nesse

encontro, foi realizado o exerccio listado no Quadro 3, utilizando-se dessas estruturas.


Com isso, todos os alunos que estiveram presentes nos dois encontros realizaram
exerccios cujo foco abordava assuntos do primeiro ano do ensino mdio e tiveram uma
introduo a programao de computadores.
5) Programe o rob para atravessar o tablado (de 12 casas x 3 casas,
conforme ilustrado abaixo) em linha reta.
a) Garanta no seu programa que se houver um obstculo na 4. casa o rob se (){
dever contorn-lo.
}

seno{
Rob

???

b) Garanta no seu programa que se houver um obstculo na 4. casa e/ou


vazioFrente()
na 8. casa o rob dever contorn-lo.
temObstculoFrente()
Rob

???

???

Quadro 3. Atividade 5 de experimento com Robtica

No terceiro encontro foram lanados cinco desafios (um exemplo pode ser
observado no Quadro 4) abordando, basicamente, lgica de programao. Para a soluo
dos desafios foi apresentada uma reviso que abordava os assuntos dos encontros
anteriores, como as estruturas condicionais e de repetio, e pontos cardeais. Depois
disso, foram aplicados os desafios na seqncia, onde cada um contava com um tempo
para a elaborao da soluo.
Dado um mundo de 8 colunas e 7 linhas, no qual existe uma casa de 6 colunas e 4
linhas, o rob sempre nasce dentro da casa no canto inferior esquerdo. Esta casa tem
uma abertura na parte superior, podendo ento variar da segunda a quinta coluna da
casa. Programe o rob para encontrar a sada desta casa e chegar ao seu objetivo final.

Quadro 4. Desafio de programao com Robtica

5. Consideraes Finais
A robtica permite aos alunos o pensar sobre problemas sistmicos, nos quais vrias
partes interagem e vrias solues so possveis. Explora-se a robtica no somente pela
parte esttica do material, mas pelas atividades que dela se originam fazendo com que o
aluno pense, desafie e aja, construindo, com isto, conceitos e conhecimento (CRUZ et al
2007). Este artigo apresentou um experimento multidisciplinar envolvendo robtica,
matemtica, geografia e programao de computadores, voltado ao Ensino Mdio.
Ressalta-se que com o ambiente utilizado (RoboMindFURB) para a experimentao
permite ao aluno simular o comportamento do rob, validando a soluo preliminar
elaborada - seu mtodo de resoluo de problema, hiptese construda para
posteriormente verificar no mundo real o resultado apresentado.
Visando identificar se a realizao do experimento auxiliou aos alunos na
aquisio dos conceitos envolvidos, foi aplicado um pr-teste e um ps-teste com o
grupo de alunos, conforme consta no Quadro 5.
1) Observando o mapa abaixo, responda:

a) Em relao a Blumenau, a cidade de Chapec est a:


(

) Norte

) Sul

) Leste

) Oeste

b) Qual das cidades listadas abaixo fica no norte do estado de Santa Catarina:
(

) Lages

) Joaaba

) Joinville

) Rio do Sul

2) Identifique no grfico abaixo as seguintes pontos: (5,3) (0, 4) (-5, -2)

Quadro 5. Pr-Teste e Ps-Teste (com imagens diminudas para melhor


aproveitamento do espao)

O mesmo teste foi aplicado no incio da oficina de experimentao (aps a


montagem do rob) e ao concluir a atividade 5 descrita (Quadro 3). O grfico da Figura
5 ilustra o resultado obtido, constando no total uma melhora de 13% nos acertos do psteste.

Figura 5. Resultado do pr-teste e ps-teste

Ao final da oficina de experimentao com robtica, solicitou-se aos alunos


responderem a um questionrio de avaliao da oficina. A maioria dos alunos (75%)
avaliaram a oficina como tima, enquanto 25% consideraram boa. No mesmo
questionrio, perguntou-se aos alunos se eles gostariam de realizar uma oficina de
programao de computadores com robtica durante as frias de julho, neste caso a
adeso foi de 100%.
Esta foi a primeira oficina de experimentao realizada com alunos do Ensino
Mdio no escopo do projeto RoboLAB: Ambiente de experimentao cientficotecnolgico em robtica educativa. Os resultados observados at o momento so
promissores, principalmente considerando a motivao dos alunos para retornarem ao
laboratrio de robtica para realizar outras oficinas. No contexto do projeto RoboLab,
tem-se como contribuies at o presente momento a adaptao do ambiente RoboMind,
o desenvolvimento de projetos de rob aderentes ao ambiente, bem como outros
experimentos envolvendo alunos do Ensino Superior em Computao e do Ensino
Fundamental, estando todo o material para reproduo dos experimentos disponveis no
site do Projeto RoboLab (http://robolab.inf.furb.br/).
Atualmente, os esforos tem se concentrado na realizao de outras oficinas e na
ampliao da quantidade de experimentos disponveis, buscando ampliar a faixa etria
atingida, bem como as matrias e assuntos envolvidos.

Agradecimentos
Os autores agradecem ao financiamento recebido pelo MCT/CNPq no mbito do edital
de Difuso e Popularizao da C&T e a ETEVI pelo apoio e contribuies ao projeto.

6. Referncias
Chella, Marco Tlio. Ambiente de Robtica Educacional com Logo. In: XXII Congresso da
Sociedade Brasileira de Computao - SBC2002. Florianpolis, 2002.
Cruz, Marcia Elena Jochims Kniphoff da; Lux, Beatriz; Haetinger, Werner; Engelmann,
Emigdio Henrique Campos; Horn, Fabiano . Formao Prtica do Licenciando em
Computao para Trabalho com Robtica Educativa. In: XVIII Simpsio Brasileiro de
Informtica na Educao, So Paulo, 2007.
Halma, A. Robomind.net Welcome to Robomind.net, the new way to learn programming.
http://www.robomind.net. Acesso em: jul. 2009.
Hancock, Chris. Childrens Understanding of Process in the Construction of Robot
Behaviors. In: Varieties of Programming Experience. Seattle, 2001.
Lego Groups. (2009) Lego.com MINDSTORMS NXT Home. http://mindstorms.lego.com.
Logo
Blocks.
Introduction
to
Logo
Blocks.
Disponvel
em:
http://llk.media.mit.edu/projects/cricket/doc/help/logoblocks/startingwithlogoblocks.htm
Acesso em: jul. 2009.
Logo Foundation. (2000) What is Logo? Disponvel em: http://el.media.mit.edu/Logofoundation/logo/index.html. Acesso em: jul. 2009.
Oliveira, Rui. A robtica na aprendizagem da matemtica: um estudo com alunos do 8 ano
de escolaridade. Madeira/Portugal, 2007. Dissertao (Mestrado em Matemtica para o
Ensino), Universidade da Madeira, Madeira/Portugal.
Santos, Carmen Faria; Menezes, Credin Silva de. A Aprendizagem da Fsica no Ensino
Fundamental em um Ambiente de Robtica Educacional. In: Workshop de Informtica na
Educao / XXV Congresso da Sociedade Brasileira de Computao. So Leopoldo,
2005.