Home

os robots nas aulas de informática plataformas e problemas

image

Contents

1. o produto central da linha de rob tica da Lego e constitu do por 718 pe as em que a maioria s o pe as t cnicas como eixos rodas rodas dentadas conectores el sticos e cabos Contudo existe um conjunto de pe as espec ficas respons veis pelo desenvolvimento dos robots FGH 2002 S o elas e Um RCX Robotics Command Explorer e Dois motores e Dois sensores de toque e Um sensor de luz e Uma torre de transmiss o de infravermelhos porta USB e Um manual e Um CD ROM com o software Robotics Invention System 2 0 3 1 1 O RCX O RCX n o mais do que um pequeno computador que interage com o exterior atrav s de um pequeno LCD tr s portas de entrada tr s de sa da quatro bot es e um m dulo de comunica o infravermelhos como mostra a figura seguinte FF2002 M dulo de Transmiss o Portas de Entrada LCD e Bot es Portas de Saida Sm gt Figura 2 O RCX da Lego MindStorms 20 O RCX mais semelhante a um computador industrial criado para controlar m quinas do que a um computador normal E baseado na s rie de microprocessadores Hitachi H8 equipado com mem ria e temporizadores A tabela seguinte resume as especifica es do Hardware que o comp e FGH 2002 Processador 8 bit Hitachi H8 Series ROM 16 Kb SRAM Interna 512 bytes SRAM Externa 32 Kb Sa da 3 Portas para os motores de 9V 500 mA Entradas 3 Portas para Sensores LCD 1 LCD Som 1 Unidade de Som Te
2. Depois de activado O sensor preciso lig lo A fungao ds_rotation_on Porta_de_Ligacao liga o sensor de rota o iniciando a contagem Por sua vez a fun o ds_rotation_off Porta_de_Liga o desliga o sensor de rota o Contudo para que possamos obter os valores do sensor de rota o precisamos recorrer s seguintes fun es ROTATION 1 Retorna os valores do sensor de rota o quando ligado porta 1 109 ROTATION 2 Retorna os valores do sensor de rota o quando ligado porta 2 ROTATION 3 Retorna os valores do sensor de rota o quando ligado porta 3 O exemplo a seguir mostra no LCD do RCX os valores do sensor de rota o com um espa amento temporal de meio segundo is OC Cain veloso js uses UM sine Season sontes var v integer begin ds active SENSOR_2 debate ei mel e Senses ato ds rotation set GSENSOR 2 csinor con on ese GO nm while TRUE do begin Vf ETI O metes E varzicvel Ve ROTANTON CA Neem a msleep 500 end Para que o robot transmita sons tem de incluir a biblioteca dsound Nesta biblioteca encontra a fun o dsound system valor Esta fun o com o valor zero liberta um som conhecido por beep Poder ainda usar a constante DSOUND BEEP como valor da fun o Exemplo dsound system DSOUND BEEP o LCD Para mostrar valores e ou informa o no LCD do RCX tem de incluir as bibliotecas romicd e conio Da biblioteca romlcd p
3. s o excelentes modelos f sicos para simular os programas pelo facto de n o ser necess rio tanto pelos alunos como pelos professores grandes conhecimentos de hardware e por permitir interac o real com o meio ambiente permitindo assim um feedback vis vel Aprender Linguagem C usando Robots Kim e Jeon criaram um curso de programa o em C usando Lego Mindstorms para principiantes em programa o HW2005 Usaram o IDE Bricx Command Center pode consultar uma descri o deste IDE na sec o seguinte deste cap tulo e o firmware alternativo BrickOS descrito na sec o 3 5 do cap tulo seguinte Conclu ram que os robots juntamente com o IDE s o uma mais valia para os alunos principalmente os que nunca programaram antes pois passam de um ambiente de duas dimens es para um de tr s dimens es tornando assim a jun o dos robots com a linguagem C num excelente meio para ensinar a programar Projecto DROIDE UMa A utiliza o de robots como elementos mediadores entre o aluno e a Inform tica um tema pouco estudado em Portugal pelo menos no contexto de sala de aula Assim com o intuito de desenvolver investiga o com a finalidade de compreender de que forma o uso da rob tica contribui para que os alunos possam desenvolver a aprendizagem de t picos e conceitos matem ticos e inform ticos e se poss vel a articula o entre as duas areas de conhecimento foi idealizado no Departamento de Matem tica e Enge
4. Descreve a aplica o no terreno de algumas das contribui es desta disserta o Destaca se neste cap tulo a ac o de forma o realizada a professores de Inform tica e finalistas da Licenciatura em Ensino de Inform tica e a aplica o da Plataforma RCX PROLOG para a resolu o do projecto de avalia o da disciplina de Introdu o Intelig ncia Artificial O cap tulo 8 Conclus es e Trabalhos Futuros Apresenta as conclus es desta disserta o bem como algumas propostas de trabalho futuro a desenvolver 2 Estado da Arte Study the past if you would define the future Confucius Desde ha alguns anos que v m sendo desenvolvidas em varias partes do mundo experi ncias com a utiliza o de Robots como uma ferramenta educativa com especial incid ncia ao n vel do ensino superior e em alguns casos no ensino b sico ou secund rio Este cap tulo aborda na sec o 2 1 o conceito da rob tica educativa e na sec o 2 2 apresenta alguns exemplos de interesse da utiliza o dos robots no ensino da inform tica Na sec o 2 3 apresentamos algumas limita es e desafios que surgiram nesta rea de investiga o e finalmente na sec o 2 4 apresentamos a conclus o deste cap tulo 2 1 Rob tica educativa A introdu o da Rob tica no ensino pode parecer primeira vista mais um conte do a ensinar ou a explicar aos alunos numa perspectiva mais tradicional Contudo a rob tica tem
5. Para o caso de o sensor estar ligado noutra porta a fun o seria aplicada constante correspondente como mostra o exemplo seguinte Exemplo Se o sensor de toque ligado porta 3 estiver activado ent o o robot avan a um segundo 107 program se toque 5 uses unistada dosen or dmotromn begin He OU Ia Sensor sc mu cen begin MOCOL a cir merme mecos C Orr marwad motor_a_speed 255 motor c speed 253 7 sleep 1 motora creme MO Ole ec cre moO isin 7 3 2 Sensor de luz O sensor de luz mede a quantidade de luz num determinado ponto O sensor de luz emite tamb m uma luz que possibilita apontar o sensor numa determinada direc o e medir as diferen as da intensidade de luz num determinado objecto Tal como na sec o anterior as fun es para programar este sensor est o na biblioteca dsensor Para activar o sensor deve usar a seguinte fun o ds active D Porta de Liga o O par metro Porta de Liga o representa SENSOR 1 ou SENSOR 2 ou SENSOR 3 dependendo da porta onde esteja ligado A fun o LIGHT Porta de Liga o retorna o valor correspondente a intensidade da luz num intervalo de 0 100 O exemplo a seguir mostra a compara o do sensor ligado na porta 2 com um determinado valor Se a intensidade da luz corresponder ao n mero 39 ent o o robot avan a 108 om eenpssin velho ts uses USC a OSeUC Om Nome Gol begin ds active SENSOR_2 De eGo SENSOR
6. com os alunos a vantagem do uso das vari veis 7 Na quest o 2 pretende se que os alunos percebam a forma como v o poder usar o sensor de luz e as suas leituras para posterior utiliza o em problemas de maior complexidade e onde a leitura das cores de superf cies ter o um papel importante Prolongamentos e Variantes Uma quest o a ser colocada para que os alunos praticarem a estrutura o correcta de sequ ncias de instru es poder ser Mostrar no LCD do RCX a sequ ncia correspondente ao lado qu robo 8 virou durante o percurso ou seja se virou direita mostra d e se virou duas vezes esquerda mostra ee Fazer com que o Robot avance dois segundos em Zig Zag Figura 21 Sugest es metodol gicas para o professor A seguir descrevemos cada uma das reas 1 Tal como na parte dos alunos representa o t tulo da actividade 2 Area reservada ao enquadramento da actividade no programa da disciplina 3 Pr requisitos necess rios para os alunos poderem resolver os problemas da actividade 4 Objectivos que pretendemos que os alunos atinjam com a resolu o da actividade 5 Sugest o de como o professor pode organizar o trabalho dos alunos na sala de aula 6 Material necess rio para a execu o da actividade 7 Contextualiza o para esclarecer o professor do que se pretende com cada um dos problemas que comp em a actividade 63 8 Sugest es de problemas alternativos qua
7. escrito em Prolog e compilado pelo Eclipse Prolog A tabela seguinte mostra um excerto do c digo implementado avancar Segundos Centesimas Res 100 gt Centesimas send action 1 Segundos Centesimas Res send action Num Parl Par2 Res mandar accao composta Num Parl Par2 Res roxToSt re ami Rex write exdr Rex Number fiieh Rex getRcxMess _ rextosStr am Rex write_exdr Rcex Parl1l FLUSH Cre getRcxMess _ ECXLCOSCYrYeamREX write exdr Rex Par2 y ELSA CRO getRcxMess Answer Tabela 7 Excerto do c digo Prolog Ent o para que o robot tome decis es e execute ac es os alunos apenas precisam de compor o programa principal usando podem modificar se eventualmente for necess rio os Blocos predicados do m dulo de PROLOG M dulo de Comunica o A comunica o feita atrav s de um conjunto de classes escritas em Java que ir o servir de elo de liga o entre o Eclipse Prolog e o RCX Por um lado temos o RCX JAVA API RJA um pacote que provid ncia uma API de alto n vel que comunica com o RCX via torre de infravermelhos ligada tanto na porta s rie ou na porta USB e que gere todo o protocolo de comunica o permitindo assim uma interface simples para controlar o Robot 53 Por outro lado temos o Java Communication API JCA que serve de suporte de comunica o API anterior Esta API facilita o desenvolvimento de plataformas
8. plataforma RCX Pascal acreditamos que uma mais valia para o ensino da programa o principalmente porque ser aplicada num fase de introdu o aos conceitos de programa o o que permitir uma melhor visualiza o dos conceitos Outra vantagem desta plataforma tal como a anterior ter a mesma filosofia de funcionamento da ferramenta nativa RIS o que cria um padr o na programa o do robot No cap tulo 7 apresentamos algumas das experi ncias resultantes da aplica o destas ferramentas no seu contexto real 60 6 Problemas Each problem that I solved became a rule which served afterwards to solve other problems Rene Descartes Os problemas que apresentamos de seguida agrupados em actividades destinam se a disciplina de Bases de Programa o do 10 ano de escolaridade do curso Tecnol gico de Inform tica A linguagem de programa o usada para resolver os varios problemas a Pascal de acordo com o programa oficial da disciplina homologado pelo Minist rio de Educa o A ferramenta de programa o adoptada a plataforma RCX Pascal apresentada no cap tulo 5 Para programar os robots os alunos ter o de recorrer s fun es definidas na API Pascal e na biblioteca BIGBLOCKS explicado na sec o 5 2 3 do cap tulo anterior Os modelos dos robots recomendados para a resolu o dos problemas s o o O Tanque e o O Todo Terreno ilustrados nas figuras segu
9. 3s POSAZN e ANSA da explorar frente N Pos Ti Tf 0 G Nxt is PostN get pos Nxt Ti Ans Ans 0 go frente2 executar Ne NX Cy lip LE PG y Gotras explorar_frente _ _ T T G G Q idem direita esquerda tras Define o moviemnto do Robot go frente Rits dh write Avan ar acanCariXx wy gt go_frente XxX Y _ avancar 1 70 Q idem go tras2 virar esquerda2 virar direita Tabela 13 Excerto de c digo O Mundo de Wumpus 90 Tider 2006 2007 O Problema dos Canibais e Mission rios Para o ano lectivo 2006 2007 o projecto proposto aos estudantes foi uma adapta o do problema cl ssico dos canibais e mission rios O projecto foi desenvolvido por grupos compostos por tr s alunos O problema define se da seguinte forma Um grupo de mission rios e canibais est o na margem de um rio e pretendem atravessar para o outro lado O n mero de mission rios e canibais s o iguais e podem ser tr s quatro ou cinco Eles t m um barco para fazer a travessia O barco tem a capacidade para duas pessoas no caso de serem tr s mission rios canibais e tr s pessoas nos casos de quatro ou cinco mission rios canibais Se durante a travessia estiver mais canibais na margem dos mission rios os canibais comem nos O objectivo dos grupos era enviar o robot para terminar a travessia Para tal o robot tem de ter a mesma capacidade do barco e pelo menos uma pessoa tem de
10. Inform tica nomeadamente a ergonomia e a sa de ocular e Contribuir para a elabora o da Prova de Aptid o Tecnol gica PAT 4 3 Onde aplicar os Robots Como resultado da an lise efectuada consideramos que a disciplina Bases de Programa o 10 11 e 12 anos GSP 2002 vai ao encontro dos objectivos estabelecidos para a aplica o de resolu o de problemas usando os robots na aprendizagem de conceitos de programa o A disciplina de Bases de Programa o tem como objectivos gerais e essenciais fazer com que o aluno desenvolva racioc nio l gico em termos de estruturas e t cnicas de programa o e que seja capaz de escrever programas correctos certo que a aprendizagem de novos conceitos em reas como a programa o requer a plena compreens o e assimila o dos conte dos anteriormente ensinados o que leva a que as disciplinas introdutorias de programa o sejam frequentemente frustrantes tanto para os alunos como para os pr prios professores devido abstrac o dos conceitos e pelo facto de muitas vezes o resultado n o ser completamente vis vel FME2001 Tudo isto leva muitas vezes ao aluno pensar que tais conceitos n o trazem benef cios sua aprendizagem 45 Por este facto o nosso Interesse em aplicar problemas para serem resolvidos com o robot recai todo sobre Bases de Programa o de 10 ano uma vez que ser esta disciplina a base da aprendizagem da algoritmia e programa
11. MindStorms O compilador do NQC traduz o c digo fonte em LEGO bytecodes que pode ser ent o executado no RCX sobre o firmware LEGO apresentado na sec o 3 2 1 deste cap tulo Todas as estruturas da linguagem e o pr processador s o muito semelhante linguagem C B2003 Um dos pontos fortes do NQC o facto de utilizar o mesmo firmware que os produtos da Lego o que nos possibilita e apenas dando um exemplo ter ao mesmo tempo no RCX programas feitos com o NQC e com o IDE RIS Como ja foi referido a sintaxe do NQC muito parecida com a sintaxe da linguagem C Contudo para uma melhor aprendizagem da linguagem e principalmente das fun es espec ficas que dizem respeito ao robot sugerimos a consulta do guia de programa o do NQC de Dave Baum dispon vel na p gina oficial http bricxcc sourceforge net nqc A tabela seguinte mostra um pequeno exemplo de um programa escrito na linguagem NQC O programa faz com que o RCX avance durante quatro segundos e recue durante dois segundos task main OnFwd OUT A OnEwmaltON EC Wait 400 OnRev OUT A OUT C Wait 200 Off OUT A OUT C Tabela 2 Exemplo de um programa escrito na linguagem NQC 32 3 4 2 Linguagens n o Nativas Java L A API RCX Java uma API de alto n vel que possibilita a comunica o com o RCX atrav s da torre de infravermelhos ARJ Esta biblioteca esconde os pormenores de baixo n vel do protocolo
12. O saidas dia a es aaa 84 Ar ACCAO DE HOR MACAO jo asi ori bi a E RS SS AS 84 12 DISCIPLINA DE INTRODU O INTELIG NCIA ARTIFICIAL cccccccesesseeccccseeeeessesecsseeeeeeeeeees 87 Lads 2005 2000 O Mundo de WUMDUS eau iado Reina tetas dead E nisi ad Cuiiias datada 5S 7 2 2 2006 2007 O Problema dos Canibais e Mission rios 9 43 ONES re Str SS bation ches tana Ra naan 95 8 CONCLUS O E TRABALHOS FUTUROS c ccccssssssssssssscsssessssssssssssssssssesssesssssssesessssssescecesere 96 8 1 CONCLUS O cesses is ates bass ris ae secre a bs A a teat mabeseew tae 96 8 2 TRABALHOS FUTUROS cubos israel ces deseo tao Boa Doda E Rca T rea act 98 REFERENCIAS eannan 100 ANEXOS i ee ae a cacsasuseucnusksirassdssauadesssssassusuasucsuasdenesasussadeavosducsevesss 104 ANEXO A MANUAL DA API DE PASCAL scccsccssssssssssccccsssssssssccccccsssssssssccsscsssssssssccsesscsssssees 105 ANEXO B GUIA DE INSTALA O E UTILIZA O DA PLATAFORMA RCX PROLOG 114 ANEXO C PROTOCOLO DE COMUNICA O DA PLATAFORMA RCX PROLOG 121 ANEXO D PROBLEMA USADO NA AC O DE FORMA O eesssssossosssossoseossossossossossossesses 123 ndice de Figuras Froura 1 Organizacao da Disserta o sanasiasaonsafa e enen nana Ui DU 6 Peirao O RCX dalesoMindS tons casas RE 20 Figura 6 A Estrutura Lo gicado RCX ausera E ra alas ENER 22 Poora ENOO ear E E aaron 23 Foura s oeno de LUZ anae a NA 24 Rioura O Senorde OQUE erii a
13. es de IA como mostra a tabela seguinte RN2003 Sistemas que pensam como os Humanos Sistemas que pensam racionalmente O esfor o para fazer com que os O estudo de faculdades mentais atrav s do uso computadores pensem m quinas com de modelos computacionais Chamiak and intelig ncia em todos os sentidos McDermott 1985 Haugeland 1985 O estudo da computa o que permite perceber LA automatiza o de actividades que raciocinar e agir Winston 1992 associamos com o racioc nio humano tais como a tomada de decis o resolver de problemas aprender Bellman 1978 Sistemas que agem como os Humanos Sistemas que agem racionalmente A arte de criar m quinas que executam Intelig ncia Computacional o estudo da fun es que requerem a intelig ncia quando constru o de agentes inteligentes Poole et executadas por pessoas Kurzweil 1990 al 1998 O estudo de como que os computadores IA est interessada no comportamento fazem as coisas no momento mas nas inteligente dos artefactos Nilsson 1998 quais as pessoas s o melhores Rich and Knight 1991 Algumas defini es de Intelig ncia Artificial organizadas em quarto categorias Tabela 5 Defini es de IA RN2003 Em qualquer um dos casos evidente que a IA pode tornar se um conceito dif cil de ensinar Nesta perspectiva o uso de robots pode trazer vantagens apre
14. m dia dos valores dos dois vectores 79 3 Considere a pista da figura seguinte que representa um byte tendo em conta que O vector composto apenas pelos n meros do sistema bin rio cor preta equivale a 1 valores cor branca equivale a O valor amoo 3 1 Escreva um programa para que o seu robot guarde num vector os valores correspondentes a cada posi o da pista Tendo em conta que o vector simboliza um byte o robot dever mostrar ao utilizador o valor decimal correspondente ao valor bin rio armazenado no vector Nota Para a pista representada na figura o valor a retornar seria 5 3 2 Altere a disposi o da pista e teste o robot com outras combina es 4 Considere o tabuleiro da figura seguinte que representa uma matriz 5X5 Tenha em conta que o robot deve partir da posi o representada na figura 4 1 Programe o robot para se deslocar para o ndice 3 4 da matriz 4 2 Escreva um programa para que o robot percorra o tabuleiro e guarde todos os valores numa matriz Considere que cor verde equivale a 2 valores cor preta equivale a 1 valores cor branca equivale a O valores 4 3 Altere o programa anterior para que o robot mostre ao utilizador atrav s do LCD do RCX o somat rio dos elementos da diagonal 4 4 Altere a disposi o dos elementos do tabuleiro e teste o robot com outras combina es 80 Guardar Informa o Notas sobre a Activi
15. o Para uma melhor prepara o dos problemas que apresentamos no cap tulo 6 identificamos os seguintes conceitos inerentes disciplina e No o de Algoritmo e Programa Vari veis e Express es Estruturas de Decis o Estruturas de Repeti o Vectores e Matrizes 4 4 Conclus o Um dos nossos objectivos estabelecidos para esta disserta o Criar problemas para serem resolvidos usando os robots nas disciplinas de programa o do ensino secund rio Neste cap tulo apresentamos uma an lise curricular de todas as disciplinas do Curso Tecnol gico de Inform tica do ensino secund rio onde se ensina inform tica Esta an lise permitiu nos filtrar em quais dessas disciplinas s o ensinados conceitos e t cnicas de programa o Devido ao facto da aprendizagem de novos conceitos em reas como a programa o requerer a plena compreens o e assimila o dos conte dos anteriormente ensinados decidimos direccionar o nosso trabalho para dar uma resposta a esta necessidade escolhendo a disciplina de Bases de Programa o 10 ano para aplicar os problemas a serem resolvidos atrav s dos robots Para suportar esta decis o apresentamos na sec o 5 2 do cap tulo 5 uma plataforma que permitir aos alunos programar os robots usando a linguagem Pascal sugerida pelo Minist rio como linguagem da disciplina e no cap tulo 6 um conjunto de problemas que abrangem todos os conceitos identificados
16. rios programas com outros tempos e perceber o que acontece O professor pode pedir sempre que poss vel compara es com situa es do dia a dia bem como exemplos de aplica o destas pequenas opera es 66 6 2 Actividade 2 Vari veis e Express es Explorar o Robot 1 Construa um programa que permita ao seu robot fazer o trajecto representado na figura ao lado 1 1 Altere o programa anterior para que durante o trajecto o robot mostre ao utilizador no LCD do RCX Bs O n mero de vezes que o robot virou direita 1 2 Altere o programa anterior para que cada vez que o robot virar esquerda liberte um som beep 2 Monte o sensor de luz no seu robot Escreva um programa que mostre ao utilizador no LCD do RCX o valor respeitante cor que o sensor de luz ler no momento em que executa o programa 67 Explorar o Robot Notas sobre a Actividade Enquadramento Esta actividade aplicada na Unidade 1 do programa sobre o Curricular tema vari veis e express es e Conhecimento das fun es que implementam o Pr requisitos comportamento dos motores da fun o respons vel pela reprodu o de som e das fun es do sensor de luz Conhecer o conceito de vari vel Construir express es simples Construir sequ ncias l gicas de opera es Retornar informa o input output Objectivos e Trabalho em pares ou pequenos grupos e Os alunos dever o experimentar as v rias op es
17. tica quase invariavelmente se associa ni O ET ee a ideia de fic o cient fica ou mesmo algo que se resume ao plano l dico 2 4 Conclus o Ap s a an lise efectuada chegamos s conclus es que a seguir sintetizamos A Rob tica Educativa pode ser vista como uma ferramenta abrangente que pode ser usada nos diversos n veis de ensino e como forma de abordar diversos conte dos sendo Integrada no ensino numa perspectiva construtivista Apresentamos as duas vertentes onde a Rob tica Educativa usando o kit Lego Mindstorms tem se destacado Essas vertentes s o as competi es e os projectos e Iniciativas nas salas de aulas As competi es ocupam um lugar de destaque devido ao seu alto n vel de participa o nas quais salientamos a First Lego League FLL e a RoboCup J nior A t tulo de exemplo pessoal muitas foram as situa es em que falando do trabalho que estava a ser desenvolvido fomos confrontados com quest es como T m brincado muito com o robot ou O robot consegue ajudar vos l em casa 16 Quanto aos projectos e iniciativas apresentamos 1 Casos de sucesso da utiliza o dos robots da Lego Mindstorms nomeadamente Aprender Programa o com RCX W2001 Aprender IA com Lego Mindstorms PS2004 Aprender Java atrav s do Lego Mindstorms B2002 e Aprender Linguagem C usando Robots HW2005 11 Projectos inovadores em Portugal que t m como objectivo utilizar os
18. 2 avancaAC 1 unci bi oy end 125 126
19. 27 AlsunsroDots PROPOSTOS aussi E a a 92 Figura 28 Ambientes diferentes para resolver 0 problema ccccecccccceeeeesseeeeeeeeees 92 ndice de Tabelas Tabela 1 Especifica es do Hardware do RCX cc e eeeerrreeeereeeaaama 21 Tabela 2 Exemplo de um programa escrito na linguagem NQC 32 Tabela 3 Exemplo de um programa escrito na linguagem Java ceeeececcceeeeeeeeeeeeees 33 Tabela 4 Exemplo de um programa escrito na linguagem Pascal 34 Jabela 5 Detinicoes de LA RINZ00S ssa ada a a ARA eas 48 Tabela 6 Estrutura do Protocolo de Comunica o do RCX PROLOG 52 Tabela Excerto do codiso ProlOS srecna aa asda 53 Tabelas Excerto do Codico NOC nara Asas nica coa TAS Apa te Da 54 Tabela 9 Exemplo de um programa escrito em Pascal ccccccccccccccsssseeeeeeeeeeeeeeeeeees 58 Tabela 10 Fun es implementadas na biblioteca BIGBLOCKS eens 59 Tabela 11 Distribui o dos problemas pelos conte dos program ticos 64 Tabela 12 Transforma o de um problema ccccccccccesssssseeeeeeceecaaseeseeceeeeeeeaeeeees 87 Tabela 13 Excerto de c digo O Mundo de Wumpus ccccccccsseeeseeeeeeeeeeeeeeees 90 Tabela 14 Excerto de c digo Os Canibais e Mission rios cccceeeeeeeeeeeeeeeeeeeeees 94 Xi Acronimos API BIOS IDE JVM LCD RAM R
20. 9 Avan ar at Sensor de Luz sensor de toque 1 3 N 2 Min 1 100 N M x 1 100 10 Recuar Seg 0254 Cent o 99 11 RecuarApenasMotorA Seg 0 254 Centjo 99 142 RecuarApenasMotorB Seg 0 254 Centjo 99 13 RecuarApenasMotorC Seg 0 254 Centjo 99 14 Recuarat Toque Sensord o 15 Recuarat ToqueSensor3 o oo oo 16 Recuarat ToqueSensor1 3 o 18 Recuar at Sensor de Luz sensor de toque 1 3 N Min 1 100 N M x 1 100 2 l a 2 l 26 Girar Direita 27 GiraraDireitaat Toque Sensor o To 28 Girar Direitaat ToqueSensor3 o To 29 Girar Direita at Toque Sensor 1 3 J oo To 30 Girar Direita at Sensor de Luz N Min 1 100 N M x 1 100 31 Girar Direita at Sensor de Luz sensor de toque 1 3 N Min 1 100 N M x 1 100 32 ViraraEsquerda Seg 0 254 Cent 0 99 33 Virar Esquerda at Toque Sensori o To 34 Virar Esquerdaat ToqueSensor3 o Jo o gt y 35 Virar Esquerdaat Toque Sensor 1 3 o o o gt O 36 Virar Esquerda at Sensor de Luz N Min 1 100 N M x 1 100 N M x 1 100 42 Girar Esquerda at Sensor de Luz N Min 1 100 N M x 1 100 Desligar Motor A Desligar Motor B Poe Desligar Motor C Desligar Motor A C Ba 7 9 122 Anexo D Problema usado na Ac o de Forma o Estruturas d
21. EE EE NEO 24 Fig ra 10 Sensor de Rota o serere a 25 Fiora tte Sensor de Femperatira sas ea E E T 25 Pista 12 Torre de Infravermelhos segun apar aeee TR 26 Figura 2 Ambiente de programa o do RIS sssssseenssssssssseerrsssssssseressssssseereressssseses 28 Figura 3 Ambiente de programa o do ROBOLABIM c ce eeeeeereenem 30 Figura 4 Ambiente de programa o do BricxCC e eeeeeererrreena 31 Fouis 15 O RC X como UMA CONTe sara alo rdainhaDis a elidel 49 Figura 14 Arquitectura do RCX PROLOG eeeennn cce erre aeee 5I Figura 15 Funcionamento do RCX PROLOG ssssssssseeeerreeeessssssssssssseseeeeresssssssss 52 Fisnra 16 Arquiteclurado RCX Pascal sas A Ra ad 56 Figura 17 Funcionamento do RCX PASCAL e eeeeeeeeeeeererrreeea 57 RaT o O A E E E A SD A A E E A E E T 62 Prouracl 0O Todo Permen minon a NA 62 Figura 20 Proposta de trabalho para o aluno ee errar 62 Figura 21 Sugest es metodol gicas para o professor ccccccccesssseeseseceeeeceeaeeeseeeeeess 63 Pionra22 Construcao do robo ssa aaa ais o AGP a 85 Proura 2 3 Execucao dO CXCTCICIO Se a EEE S 86 Fig ra 24 Pata ChOques tei Cente ouan A iaaad o 86 Figura 25 O Mundo de Wumpus O original e o modificado esessssseeeenssssseeee 89 Figura 26 Exemplos de robots constru dos pelos alunos sessesssssssssseeeeereresesssssssss 89 Fisura
22. Entre os IDE s que geram bytecode para o firmware da LEGO destacam se o Robolab e o RIS apresentados na sec o seguinte 3 2 2 BrickOS O BrickOS foi desenvolvido originalmente por Markus L Noga cuja primeira vers o tinha o nome LegOS BOS O nome foi mudado mais tarde a pedido da empresa Lego O BrickOS um sistema operativo alternativo para o RCX E um sistema operativo multi tarefa que permite a gest o din mica da mem ria sem foros sec es cr ticas e um acesso nativo ao LCD aos bot es comunica o por infravermelho aos motores e aos sensores Suporta as linguagens de programa o C C e Pascal um produto open source dispon vel no endere o http brickos sourceforge net suportado na maioria dos sistemas operativos de Linux e Windows atrav s do IDE BricxCC apresentado na sec o seguinte 3 2 3 LejOS O LejOS tamb m firmware LOS alternativo para o RCX uma Java Virtual Machine JVM extremamente compacta ocupando cerca de 10 Kb no RCX e que actua como um sistema operativo 27 O LejOS providencia uma API Application Programming Interface ou seja uma biblioteca que permite aceder directamente as entradas e sa das do RCX Esta API oferece ainda m todos para controlar o RCX com uma implementa o f cil Permite controlar os sensores de luz e de toque os motores e a torre de infravermelhos Este firmware surgiu quando Jose Solorzano come ou h uns anos o pr
23. FF2007 e RCX PROLOG A platform to use Lego Mindstorms tm Robots in Artificial Intelligence courses FG2007 e Viajando com Robots na Aula de Matem tica FFO2007 e DROIDE VIRTUAL UTILIZA O DE ROBOTS NA APRENDIZAGEM COLABORATIVA DA PROGRAMA O ATRAV S DA WEB AFF2007 e UTILIZA O DE ROBOTS NO ENSINO DE PROGRAMA O O PROJECTO DROIDE FFA2007 e Using Robots to Learn Functions in Math Class FFO2006 1 4 Contribui es da Disserta o No sentido de dar resposta aos objectivos propostos esta disserta o apresenta as seguintes contribui es e Realiza o de um estudo do estado da arte sobre a utiliza o dos Robots da Lego Mindstorms no Ensino da Inform tica Neste estudo abordada ainda a quest o das ferramentas firmware e linguagens de programa o existentes no mercado que podem ser utilizados com este tipo de robots e A constru o de uma plataforma designada por n s de RCX Prolog para ser usada nas aulas de Intelig ncia Artificial Com esta ferramenta pretende se W Trazer as aulas resultados concretos de forma a motivar os alunos e consequentemente melhorar a sua aprendizagem 11 Aliar utiliza o dos robots para a resolu o de problemas a utiliza o da linguagem de Programa o PROLOG e Estudo e optimiza o de uma plataforma designada por n s de RCX Pascal para ser usada nas aulas de bases de programa o do 10 ano Aqui a preocupa o foi criar um
24. Os alunos tinham de montar o seu robot e resolver duas tarefas usando os sensores e o NQC como linguagem de programa o Na primeira tarefa o robot tinha de completar o mais r pido poss vel um trajecto marcado por uma linha preta Ao longo do trajecto o robot teria de remover obst culos e identificar zonas coloridas emitindo um beep Para terminar a tarefa o robot tinha de identificar todas as reas coloridas existentes no final do trajecto Na segunda tarefa o ambiente n o era fixo como na anterior e os alunos tinham de programar o seu robot para jogar futebol de um para um Os robots eram colocados sobre um tabuleiro cinzento e a bola usada emitia luz infravermelha de forma a ser melhor identificada pelo sensor de luz Feito um inqu rito aos alunos sobre qual das componentes tinham gostado e aprendido o projecto foi constantemente o escolhido Aprender Java atrav s do Lego Mindstorms David Barnes usou os robots da Lego Mindstorms para ensinar Java numa disciplina de introdu o programa o B2002 13 Usou a API de Java existente para programar os robots e substituiu o firmware do robot pelo firmware alternativo LejOS na sec o 3 5 do cap tulo seguinte pode ser consultada uma descri o deste firmware A utiliza o dos robots permitiu aos alunos identificar melhor os erros e conduzir a um racioc nio de programa o mais eficaz Barnes conclui que os robots da Lego Mindstorms
25. Projecto Tecnol gico PT e o Est gio e contribuir de forma coerente e adequada para a Prova de Aptid o Tecnol gica PAT A disciplina de T cnicas de Gest o de Bases de Dados tem como finalidades e Promover o Incremento das capacidades de produ o colaborativa entre as quais se salientam a co criatividade e a co responsabilidade numa perspectiva de abertura mudan a de compreens o dos fen menos medi ticos e de percep o do papel dos conte dos nas TIC e Desenvolver capacidades necess rias manipula o de aplica es Inform ticas em articula o com as aprendizagens de car cter espec fico e de outras reas de forma o inseridas no curr culo e Criar h bitos e atitudes conducentes a uma disponibilidade para uma aprendizagem ao longo da vida como condi o essencial exigida para a adapta o a um crescimento acelerado de novas formas de comunicar que 44 continuamente criam novos afloramentos do saber associados ao contexto da sociedade do conhecimento e Desenvolver capacidades para usar adequadamente e manipular com rigor t cnico programas gestores de bases de dados e Desenvolver capacidades para gerir e manter informa o de bases de dados e Sensibilizar os alunos para a import ncia da seguran a e da privacidade de dados e Promover as pr ticas inerentes seguran a higiene e sa de no trabalho que estejam relacionadas com os condicionalismos das profiss es da rea da
26. a estrutura de decis o Na quest o 4 o principal objectivo prende se com o facto do aluno usar pela primeira vez o sensor de toque pois em rela o solu o do problema o racioc nio an logo 71 aos exerc cios anteriores O professor pode aproveitar este exerc cio para consolidar os conhecimentos dos alunos Na quest o 5 pretende se que o aluno utilize a estrutura de decis o IF THEN ELSE encadeada para resolver a quest o de ter tr s condi es poss veis Neste exerc cio o professor pode introduzir o conceito da estrutura de decis o CASE OF e passar resolu o da quest o 6 Na quest o 6 pretende se que os alunos percebam a vantagem de usar o CASE OF quando o n mero de condi es aumenta Prolongamentos e Variantes Aumentar o n mero de cores no tabuleiro de forma a aumentar o n mero de condi es para o robot um exerc cio til para os alunos consolidarem os conhecimentos adquiridos 72 6 4 Actividade 4 Estruturas de Repeti o Repete Robot Repete As Estruturas de Repeti o Utilizando a Estrutura de repeti o FOR TO DO 1 Fa a um programa que permita ao seu robot repetir cinco vezes o seguinte comportamento avan ar um segundo libertar um som e recuar um segundo 2 Escreva um programa que permita ao robot realizar uma traject ria em forma de quadrado Sugest o Poder acoplar um marcador ao seu robot para que este desenh
27. apresentamos de seguida M dulo BricxCC Este m dulo na sua ess ncia a ferramenta BricxCC apresentado no cap tulo 3 sec o 3 3 3 personalizada para suporta a programa o do RCX em linguagem Pascal A vantagem da utiliza o do BricxCC deve se ao facto do utilizador ter sua disposi o a possibilidade de poder compilar e depurar o programa bem como poder usufruir de um leque de op es teis como fazer download do programa para o RCX instalar o firmware no RCX e at comandar o RCX remotamente No s tio http dme uma pt droide rcxpascal apresentamos um pequeno guia de Instala o e utiliza o desta ferramenta M dulo API Pascal A API de pascal tem um conjunto de fun es definidas que permitem programar o robot usando a linguagem Pascal Estas fun es permitem programar todos os componentes do robot nomeadamente os motores os sensores o LCD sons e envio de mensagens via infravermelhos No anexo 57 A apresentamos um manual da API onde explicamos cada uma das fun es e damos v rios exemplos sobre cada uma delas A tabela seguinte mostra um programa escrito em Pascal usando as fun es da API Program Valori az uses Unasto ds ensor aqmotor begin ds active SENSOR_2 LE LIGHT SENSOR 24 39 then begin motor a dir mdE wd motor c dir markwa gt motor a speed 255 motor c speed 255 sleep 2 motor eder mdorE s motor dir maQrr s T
28. aquando do seu uso Na quest o 6 pretende se que os alunos distingam qual das estruturas a aplicar a mais adequada para a resolu o de determinados problemas O professor n o deve indicar qual a estrutura a usar Deve pelo contr rio guiar o racioc nio do aluno relembrando as caracter sticas das estruturas de decis o estudadas Na quest o 7 pretende se que aluno consolide o conceito de estruturas de repeti o baseadas sobre uma condi o e que sejam capazes de construir uma condi o composta 76 6 5 Actividade 5 Estruturas de Repeti o Estruturas de Decis o Se o Robot Repete 1 Considere a pista seguinte PAR IMPAR 1 1 Programe o seu robot para que depois de percorrer a pista retorne ao utilizador atrav s do LCD do RCX o n mero de quadrados verdes que encontrou no seu trajecto 1 2 Altere o programa anterior para que o robot no fim do trajecto se desloque para o lado PAR ou IMPAR de acordo com o n mero de quadrados contados 1 3 Altere a disposi o e n mero de quadrados verdes da pista para testar outras possibilidades 2 Programe o seu robot para realizar um trajecto semelhante ao da figura evitando os t obst culos e ou ajustando a sua traject ria sempre que necess rio O fim do trajecto representado por uma faixa preta A h 3 Escreva um programa para que o robot seja capaz de realizar um trajecto marcado por uma linha preta ou seja o robot
29. como descrito no cap tulo 7 e a sua utiliza o em conjunto com os robots promoveu a discuss o de ideias entre os alunos bem como a colabora o e coopera o para chegar a uma solu o dos problemas propostos O facto de j termos aplicado esta plataforma em dois anos lectivos permitiu nos corrigir e refinar quest es de implementa o evoluindo a plataforma para uma vers o est vel e bem documentada 97 A grande vantagem destas plataformas adv m do facto de seguirem a mesma filosofia de programa o existente na plataforma nativa RIS ou seja em todas elas existem o conceito dos blocos de programa o o que cria um padr o na forma de programar o robot Em rela o ao ltimo objectivo que naturalmente surge como consequ ncia dos anteriores criamos uma s rie de materiais de suporte utiliza o dos alunos e professores das ferramentas desenvolvidas Esses materiais foram e Guia de Instala o e Utiliza o da plataforma RCX PROLOG ver anexo B ou dispon vel em http dme uma pt droide rexprolog e Guia de Instala o e Utiliza o da plataforma RCX Pascal dispon vel em http dme uma pt droide rcxpascal e Manual da API de Pascal ver anexo A ou dispon vel em http dme uma pt droide rexpascal e CD de instala o da plataforma RCX PROLOG dispon vel em http dme uma pt droide rcexprolog e CD de instala o da plataforma RCX Pascal dispon vel em http dme uma pt d
30. compet ncias de trabalho em equipa e Promover a aquisi o de compet ncias e versatilidade no desenvolvimento de aplica es inform ticas e Promover o respeito pela propriedade intelectual Esta disciplina pretende desenvolver nos alunos as seguintes compet ncias e Identificar os diversos factores intervenientes num problema e Utilizar diferentes estrat gias de tratamento dos dados e Fasear a resolu o de um problema e Resolver problemas encontrando solu es criativas e adequadas e Usar metodologias de an lise algor tmica e Utilizar diferentes m todos algor tmicos e Utilizar estruturas de decis o e Utilizar estruturas de repeti o e Criar algoritmos estruturados e Adaptar se evolu o das linguagens 4 2 4 Tecnologias Inform ticas 10 11 e 12 anos 2 A disciplina Tecnologias Inform ticas do Curso Tecnol gico de Inform tica uma disciplina trienal que pretende proporcionar aos alunos conhecimentos fundamentais sobre a utiliza o de computadores e as suas diferentes arquitecturas Pretende tamb m despertar uma aten o permanente s mudan as cont nuas que se sentem nas Tecnologias da Informa o e Comunica o No 10 ano pretende se fornecer aos alunos os conhecimentos b sicos na rea das Tecnologias da Informa o equipamentos e realizar uma pequena abordagem aos Sistemas Operativos 42 No 11 introduzir alguma formalidade e rigor nos conte dos abordados no
31. conhecimento dos alunos havendo a possibilidade de podermos adquirir conjuntos de pe as em separado o que permite complementar o kit de acordo com as necessidades 1 2 Motiva o e Objectivos Desenhar construir e programar robots permite aos alunos explorar de uma forma criativa a programa o desenho mec nico f sica matem tica movimento factores ambientais resolu o de problemas e colabora o em grupo DH2000 Partindo de casos de sucesso como A aplica o dos Robots Lego Mindstorms para aprender a linguagem C em que defendem os Robots e a linguagem C juntos podem ser o ideal para ensinar programa o HW2005 e do estudo da aplica o dos Robots nas aulas de Intelig ncia Artificial em que conclui que os robots promovem uma aprendizagem activa o que aprofunda os conhecimentos dos alunos K2005 Tendo em conta a falta de trabalhos ou estudos de investiga o da aplica o de robots no ensino em Portugal em contextos mais estruturados como um programa de uma disciplina Associando o facto da falta de estudos na prepara o de plataformas de programa o de problemas para serem usados em contexto escolar e os casos de sucesso acima apresentados identificamos os seguintes objectivos para este trabalho de investiga o e Criar problemas para serem resolvidos usando os robots nas disciplinas de programa o do ensino secund rio e Analisar optimizar e desenvolver plataformas para ser
32. de comunica o independentes como por exemplo Smart Cards fax modems e claro Robots Finalmente a classe Control java adaptada da classe escrita por Josh Singer 2001 que serve de interface entre o Eclipse lt gt RCX JAVA API lt gt RCX Esta Classe permite o envio de valores dos predicados escritos no programa em PROLOG para o RCX bem como as respostas do RCX para o PROLOG M dulo NQC O programa escrito em NQC executado no RCX tem como responsabilidade receber n meros enviar uma resposta OK e consoante a ac o e respectivos par metros executar determinado comportamento no robot A tabela seguinte apresenta um excerto de c digo que mostra como o RCX recebe e envia os valores e determina qual a ac o a executar task main int accao parametrol parametro2 SetTxPower TX POWER HT ClearMessage Loe La Za while true recebenums accao parametrol parametro2 startaccao accao parametrol parametro2 void Avancar int parametrol int parametro2 SetPower ESQ MOTOR DIR MOTOR MOVE SPEED OnEma ESO MOTOR DIR MOTORY Wait parametrol 100 parametro2 OTTES MOTOR DIBMMOTLORI S ae Tabela 8 Excerto do C digo NQC 54 5 2 RCX Pascal O RCX Pascal Uma plataforma para usar os robots da Lego Mindstorms nas aulas de Bases de Programa o do 10 ano do Curso Tecnol gico de Inform tica do Ensino Secund rio Tal como a plataforma ante
33. diferen as em rela o ao nosso trabalho 1 Fizemos um protocolo de comunica o mais complexo de forma a poder transmitir ao robot instru es com par metros A ideia aproximar estas instru es o m ximo poss vel dos conceitos de blocos de programa o Avan ar Recuar Virar direita entre outros existentes na plataforma RIS Por esta raz o a torre de infravermelhos comunica tr s par metros ao robot enquanto que o Legolog apenas transmitia um 2 Desenvolvemos a plataforma para o sistema operativo Windows O Legolog funciona apenas sobre Linux 3 O Legolog era orientado ao c lculo situacional A nossa solu o Prolog puro 50 5 1 2 Funcionamento da Plataforma Tendo por base o Legolog surgiu ent o o RCX PROLOG uma ferramenta para usar os robots da Lego Mindstorms nas aulas de Intelig ncia Artificial Esta ferramenta foi concebida para ser executada sobre o sistema operativo Windows usando a torre de infravermelho ligada porta USB e a sua arquitectura est representada na figura seguinte Figura 14 Arquitectura do RCX PROLOG Computador comunica o entre o programa Prolog e o robot efectuado pelo procedimento que se Infr segue 1 O programa Prolog executado no Eclips oo Bir bios 2 O programa envia Interface Java um c digo 3 Esse c digo retransmitido ao robot via torre de infravermelhos USB 4 Orobot recebe o c digo e confirma a recep
34. e sons Temos tamb m nossa disposi o blocos para instru es Repetir ou Esperar Por Sim Ent o Sen o entre outras A grande vantagem do RIS deve se ao facto da programa o do robot ser feita por arrasto de blocos de uma forma visual evitando erros de sintaxe Esta particularidade uma ferramenta muito indicada para pessoas que n o t m grandes conhecimentos de programa o Outra das vantagens o facto de ser poss vel na estrutura de ficheiros da aplica o aceder biblioteca da linguagem e traduzir quase na totalidade a aplica o Esta sem d vida uma mais valia pois se estiver em portugu s pode deixar de ser um entrave para quando estamos a lidar com alunos que n o possuam conhecimentos de ingl s 3 0 2 ROBOLAB M O ROBOLAB uma aplica o que disponibiliza um ambiente de programa o e ferramentas para programar aprender e explorar o RCX MSE 2002 E uma aplica o caracterizada tal como o RIS por ter uma interface gr fica intuitiva em que os comandos para programar o robot est o representados de forma gr fica bastando apenas lig los de uma forma l gica conforme o solu o pretendida A figura seguinte mostra o ambiente de programa o do ROBOLAB 29 Loa mo A Hb 4 Alem Q PILOT 4 Boe E O ROBOLAB constru do sobre um software robusto cujo nome LabVIEW LVIEW O LabVIEWIM um ambiente de programa o pode
35. envia uma mensagem do tipo num rico no intervalo 0 255 A fun o get msg recebe uma mensagem atrav s da porta de infravermelhos que pode ser atribu da a uma vari vel do tipo inteiro podendo assim ser usada ao longo do programa Por fim a fun o clear msg apaga eventuais mensagens que estejam em mem ria O exemplo a seguir mostra a comunica o entre dois robois program enviamsg program recebemsg uses 1Inp uses misto remotos no var a integer begin begin clear msg a oe mec send msg 1 end if a 1 then begin MOCOr ao r more MOCO O Nr morna motor_a_speed 255 motor c speced 235393 7 sleep 2 Ole Oe a a O motor e a a O end Programa respons vel pela recep o da Programa respons vel pelo envio de mensagem e reac o de acordo com a uma mensagem mensagem 112 f Fun es Gen ricas do RCX 7 1 Baterias A fun o get battery mv retorna o valor da bateria em milivolts ou seja um valor inteiro que representa o valor da voltagem multiplicado por mil Esta fun o est implementada na biblioteca battery O exemplo a seguir mostra no LCD o valor da energia das baterias oca na uses conto WS o ie One ole aeie ad begin COUTOS BATR gt sleep 1 Ted Ine Je batcer mu end Bibliografia 1 Ferrari M G Ferrari and R Hempel Building Robots With LEGO Mindstorms 2002 Syngress Publishing Inc 113 Anexo B Guia de Instala
36. estar no barco em cada travessia Foi proposto que as margens do rio fossem representadas por linhas pretas os canibais por bolas vermelhas e os mission rios por bolas azuis A resolu o deste problema estava dividida em tr s fases nomeadamente a constru o do robot a prepara o do meio ambiente e por fim a programa o do robot Em rela o a primeira fase os alunos eram livres de escolher a forma do robot para resolver o problema 91 Figura 27 Alguns robots propostos No que diz respeito ao meio ambiente este estava fortemente ligado constru o do robot Contudo os alunos poderiam fazer altera es ao meio ambiente inicialmente proposto desde que mantivessem o mesmo contexto Figura 28 Ambientes diferentes para resolver o problema Em rela o programa o do robot os alunos usaram t cnicas de Intelig ncia Artificial no caso particular pesquisas heur sticas A seguir mostramos um excerto de c digo produzido por um grupo de alunos removevermelhosI X lr fF removevermelhosi X KID ho s removevermelhosil X YIL Y LR xX Y removevermelhosi X L LR 92 conta listavermelhosL li Tx Eb conta listavermelhos XIL Rpo Jts X vermelho R1 is R 1 conta_listavermelhos1 L R1 8S conta listavermelhosI I X IL Ry6 Xi vermelho R1 is R 0 conta listavermelhosl L R1I S andavermelhosi Lista V recuar ate sensor luzvermelhas31 50
37. o e Utiliza o da Plataforma RCX PROLOG RCX PROLOG Guia de Instala o Para instalar e configurar o pacote de software que vai permitir programar os robots utilizando a linguagem de programa o Prolog dever seguir os passos a seguir descriminados Passo 1 Instala o do RIS 2 0 Caso seja a primeira vez que vai utilizar o kit LEGO MINDSTORMS instale o software Robotics Invention System 2 0 Este software disponibilizado juntamente com o kit Se j tiver este software instalado passe ent o para o Passo 3 Passo 2 Actualiza o do Firmware Actualize o Firmware do robot usando o software instalado no passo anterior Escolha a op o Settings assinalado a vermelho na Fig 2 e no ecr seguinte escolha Download Firmware Fig 3 nar Irderyalo USH lewer Status ready high power hub Com Sigua HCE in range B baira amp pita Tia ween 20 ineialled Ean Ty Le UCE Ei Leme ELE Hatha rg Lavri Fig 2 Ecr Software RIS 2 0 Fig 3 Defini es 115 Passo 3 Instala o JAVA 2 SDK Instale o JAVA 2 SDK Este software necess rio para poder compilar o ficheiro Control java Este ficheiro respons vel pela comunica o entre o Eclipse Prolog e o RCX Execute o ficheiro j2sdk 1 4 O 01 windows 1566 exe para iniciar a instala o Nota Encontra esta e outras vers es em http java sun com producis Passo 4 Instala o do Tcl Esta ferramenta possibilit
38. para indicar a dura o que um motor deve funcionar Se pretender indicar tempos mais curtos do que um segundo ou tempos como por exemplo 1 5 segundos poder usar a fun o msleep msegundos que determina tempos na ordem dos mil simos de segundo Por exemplo a instru o msleep 1500 representa 1 5 segundos e a instru o msleep 1 representa 1 mil simo de segundo As duas fun es anteriores est o definidas na biblioteca unistd pelo que deve inclu la no seu programa para que possam ser executadas Podemos ligar at 3 motores com comportamento independente ao nosso RXC nas portas A Be C respectivamente Para transmitir comportamento aos motores tem de ser inclu da a biblioteca dmotor Nesta biblioteca est o implementadas as seguintes fun es motor a dir par metro Fun o respons vel pelo comportamento do motor A Nota Para aplicar um comportamento aos motores B e C dever usar as fun es motor b dir par metro e motor c dir par metro respectivamente par metro poder ser uma das seguintes constantes e mdFwd Permite o motor avan ar e mdRev Permite ao motor recuar e mdOff Desliga a corrente do motor ou seja para o motor e mdBrake Trava o motor num determinado momento motor a speed valor Estabelece a velocidade com que o motor A vai avan ar ou recuar O valor dessa velocidade varia no intervalo de O a 250 Ainda em rela o velocidade est o defi
39. vel afirmar que as competi es ocupam um lugar de destaque Este tipo de actividades exerce um grande fasc nio levando a n veis de participa o e de entusiasmo normalmente bastante elevados Neste contexto salientam se as seguintes iniciativas First Lego League FLL Trata se de uma competi o http www firstlegoleague org que envolve alunos dos n veis de ensino b sico com idades compreendidas entre os 9 e os 16 anos Nasceu nos Estados Unidos de uma parceria entre a organiza o FIRST e a Lego A primeira competi o data de 1992 Em cada ano a competi o aborda temas distintos tendo sido j tratados temas como os oceanos a explora o de Marte ou a quest o dos deficientes f sicos Em cada ano s o lan ados diversos desafios que as equipas de 5 a 10 elementos tentam resolver No final de algum tempo tipicamente cerca de 8 semanas dedicados constru o dos robots usando os kits da Lego Mindstorms as equipas disputam provas regionais e nacionais inclusive Portugal sendo as melhores seleccionadas para a final mundial 11 RoboCup J nior O projecto RoboCup http www robocupjunior org com a parceria do Lego Lab na Dinamarca a partir de 1999 organizou tamb m competi es destinadas a crian as entre os 9 e os 14 anos num projecto que foi designado por RoboCup Jr Nesta competi o cada equipa tem dois robots aut nomos que disputam um jogo de futebol contra outra equipa num campo que n
40. vel pela reprodu o de som das fun es do sensor de luz e das fun es do sensor de toque e Conhecer o conceito de estrutura de repeti o e Aplicar estruturas de repeti o na elabora o de algoritmos e Distinguir as diferentes estruturas de repeti o e Distinguir as diferentes fases na resolu o de um problema e Trabalho em pares ou pequenos grupos e Os alunos dever o experimentar as v rias op es e comparar com outras solu es afim de discutirem os resultados Robot Sensor de luz Sensor de toque Computador Tabuleiro RCX Pascal Na quest o 1 pretende se que os alunos percebam o conceito e utilidade de uma estrutura de repeti o O professor deve conduzir as solu es dos alunos de forma que eles percebam como devem de construir o ciclo e que instru es pertencem a esse ciclo Na quest o 2 o objectivo an logo ao da quest o anterior Pretende se que os alunos consolidem o racioc nio da aplica o de estruturas de repeti o em diferentes situa es Na quest o 3 o professor n o deve explicar logo o conceito de ciclos encadeados Deve antes deixar que os alunos exponham as suas solu es Pretende se com esta quest o que os alunos percebam o conceito de ciclos encadeados 75 Na quest o 5 pretende se que os alunos saibam estruturar os mesmos programas mas recorrendo estrutura de repeti o WHILE DO e desta forma identificar as altera es necess rias
41. vindo a afirmar se como uma ferramenta extremamente til O processo de construir robots ajuda os alunos na compreens o de conceitos sobre sistemas din micos e complexos 0OHM 1999 Perante isto a pergunta que se coloca a seguinte qual a raz o de integrar tecnologia na forma de robots no processo de ensino Papert defende que se este tipo de tecnologia for empregue com efic cia pode ter um impacto positivo no processo de ensino que consequentemente melhorar o processo de aprendizagem P1980 A abordagem construcionista defendida por Papert prop e a ideia de que os seres humanos aprendem melhor quando s o envolvidos no planeamento e na constru o de objectos ou artefactos que considerem significativos partilhando os com a comunidade envolvente O processo de constru o externa do objecto em paralelo acompanhado da constru o Interior do conhecimento sobre o mesmo P1980 A grande inova o em rela o ao construtivismo passa assim pela valoriza o do papel das constru es f sicas como suporte das constru es intelectuais Os ambientes computacionais e a Rob tica em particular constituem ferramentas poderosas para suportar estas novas formas de pensamento e de aprendizagem envolvendo os alunos no desenvolvimento de projectos significativos Chella definiu Rob tica Educativa como um ambiente constitu do pelo computador componentes electr nicos electromec nicos e programas onde o aluno at
42. 50 Res luzi X X vermelho luz3 Y Y nl recuar ate sensor luzli 50 46 Res removevermelhosi1i X Lista L andavermelhos1I D V andavermelhosLi LrV is conta listavermelhosi hy 0 D sV IS DD removevermelhos2 X removevermelhos2 X XIL LD removevermelhos2 X Y L Y LR X Y removevermelhos2 X L LR conta distavermelhos2 T E conta Jretavermelhos2 IXILl RysS s X vermelho R1 is R 1 conta listavermelhos2 L R1 S conta lIstavermelhos2 XL RS ge X vermelho R1 is R 0 conta listavermelhos2 L R1 S andavermelhos2 Lista V recuar at sensor JuzvermelhaS2 50 590 Res LUZ2 X s vermelho 1uz3 Y Y nli recuar ate sensor luz2 30 46 Res removevermelhos2 X Lista L andavermelhos L V andavermelhos2 L V conta listavermelhos 2 L 0 D V is 5 D SESS Algoritimo Caminho mais curto SEES DESSES a A ES E SE O ED Er Es DE OS e oo oo oo oo read data File open File read S read S X assert X write X read data Ip2 S X closets read data Ilp2 S end of file l read data Ip2 S Ledo 5 0 assert Y write Y read data Ilp2 S Y Y ha Caminho Ay By to ligacao A Bp Jp ds ha Caminno A B gt dagacao A Xp lt 7 93 ha_caminho X B travessia A B Visitados BlVisitados lagac o A By 73 travessia A B Visitados Cam Tigacao A Cs C B member C Visitados Lravessia C B ElVisitao os Ca
43. CX RIS ROM TIC Application Programming Interface Basic Input Output System Integrated Development Environment Java Virtual Machine Liquid Crystal Display Random Access Memory Robotics Command Explorer Robotics Invention System Read Only Memory Tecnologias de Informa o e Comunica o xii xiii 1 Introdu o The great thing in this world is not so much where we stand as in what direction we are moving Sir Oliver Wendell Holmes Hoje os alunos crescem num mundo tecnol gico e muitas vezes isso n o se reflecte nas escolas Recorre se frequentemente s t cnicas tradicionais para ensinar Qualquer profissional de educa o pretende encontrar novas ferramentas que sejam eficazes no processo de ensino aprendizagem O objectivo subjacente a esta procura ter uma ferramenta que motive os alunos e possibilite uma aprendizagem abrangente dos conte dos CCM2006 Neste contexto o uso de robots no ensino tem vindo a afirmar se como uma ferramenta muito til em especial na educa o cient fica e tecnol gica No Ensino B sico e Secund rio t m sido utilizados maioritariamente em actividades extracurriculares No Ensino Superior s o usados no contexto de projectos de investiga o ou em estudos espec ficos A motiva o te rica para a utiliza o de robots na educa o vem desde 2000 quando Jonassen argumentou que as ferramentas tecnol gicas podem ser vistas como ferramentas cognitiv
44. ES then begin Mow Ol a dir Mor mwmO 7 MOCO O dir MO EiiO 7 motor_a_speed 255 motor e speed 255 sleep 2 meros meo netos een mem Poder ainda usando a fun o ds passive D Porta de Liga o para desactivar o sensor de luz ou seja depois da execu o desta instru o o sensor de luz deixa de emitir luz e passa a efectuar apenas leituras da luz ambiente 3 3 Sensor de rota o O Sensor de rota o mede como o nome indica rota o Este sensor por cada volta passa por estados isto quer dizer que em cada volta ele conta 16 unidades Para al m disto podemos ainda atrav s do sensor de rota o determinar o sentido da sua rota o ou seja num sentido incrementa as unidades por volta e para o outro decrementa esse valor Esta contagem relativa ao ponto de partida do sensor A contagem est limitada ao intervalo de valores de 32767 at 32767 As fun es seguintes est o definidas na biblioteca dsensor Tal como o sensor de luz este precisa de ser activado Para tal deve de usar a fun o ds active D Poria de Liga o O par metro Porta de Liga o representa SENSOR 1 ou SENSOR 2 ou SENSOR 3 dependendo da porta onde esteja ligado A fun o ds rotation set D Porta de Liga o valor atribui o valor inicial da contagem do sensor de rota o Por este facto que a contagem como referido anteriormente relativa ao ponto de partida do sensor Normalmente este valor 0
45. OF 70 Vamos Decidir Enquadramento Curricular Pre requisitos Objectivos Organizacao Material Necessario Notas sobre a Actividade Esta actividade aplicada na Unidade 2 do programa sobre o tema Estruturas de Decis o e Conhecimento das fun es que implementam o comportamento dos motores da fun o respons vel pela reprodu o de som das fun es do sensor de luz e das fun es do sensor de toque e Conhecer o conceito de estrutura de decis o e Aplicar estruturas de decis o na elabora o de algoritmos e Distinguir as diferentes estruturas de decis o e Distinguir as diferentes fases na resolu o de um problema e Trabalho em pares ou pequenos grupos e Os alunos dever o experimentar as v rias op es e comparar com outras solu es afim de discutirem os resultados Robot Sensor de Luz Sensor de Toque Tabuleiro Computador RCX Pascal Na quest o 1 pretende se que os alunos perante dois cen rios poss veis ou seja O robot ou est num quadrado preto ou num quadrado branco sejam capazes de aplicar uma estrutura de decis o que dependendo de uma leitura inicial a superf cie vai determinar o comportamento do robot Na quest o 2 pretende se que os alunos percebam a forma como podem construir condi es para serem avaliadas em situa o de excep o Na quest o 3 o objectivo que os alunos sejam capazes de construir uma condi o composta para
46. OG na disciplina de Intelig ncia Artificial do curso de Engenharia Inform tica da Universidade da Madeira no segundo semestre do ano lectivo de 2005 2006 Os alunos t m de resolver um desafio proposto como projecto pr tico de avalia o usando os robots e a plataforma RCX PROLOG No ano lectivo 2005 2006 o projecto escolhido foi O Mundo de WUMPUS e no ano lectivo 2006 2007 foi O Problema dos Canibais e Mission rios A seguir descrevemos o contexto de cada um destes projectos Mostramos tamb m alguns dos resultados dos projectos realizados pelos alunos 87 1 2 1 2005 2006 O Mundo de Wumpus Como era a primeira vez que os alunos iriam usar a plataforma decidimos usar um i a 66 9 projecto bem conhecido para evitar eventuais surpresas Por esta raz o escolhemos O Mundo de Wumpus documentado no livro de Russell e Norvig RN2003 No entanto modificamos ligeiramente o problema no sentido de que o agente n o pode matar o Wumpus O projecto foi desenvolvido por grupos compostos por tr s alunos Russell e Norvig descrevem desta forma O Mundo de Wumpus O mundo de Wumpus uma caverna constitu da por divis es ligadas por passagens Infelizmente algures na caverna est o Wumpus um monstro que come qualquer um que entre na sua divis o Algumas divis es cont m buracos que engolem qualquer um que vaguei por eles excep o do Wumpus que demasiado gra
47. UNIVERSIDADE da MADEIRA DEPARTAMENTO DE MATEM TICA E ENGENHARIAS Os ROBOTS NAS AULAS DE NFORM TICA PLATAFORMAS E PROBLEMAS Lu s Alberto da Silva Gaspar Licenciado Tese Submetida Universidade da Madeira para a Obten o do Grau de Mestre em Engenharia Inform tica Funchal Portugal Dezembro 2007 USER FRIENDLY by IllLiad P ME u HE pala ne DID YOU SAY TWO ENTY HUNG SEV WHAT ARE THAT KIND OF MONEY COMES ENTY MILLION WE UP TOD TWO HUNDRED AND E WITH ENORMOUS RESPONSIBILITY DA VOU ARE KNOWINK ie eReR 1 WAS JUST GONG TO WHAT THIS MEANS TALK TO YOU ABOUT THAT YEAH MORE THAN TWO WHOSE ACCOUNT DID THE MILLION SETS OF LEGO MONEY GO IN TO COPYRIGHT 2001 ILLIAD HTTP WWW USERFRIENDLY ORG Fonte http ars userfriendly org cartoons id 20010723 Orientador Professor Doutor Eduardo Leopoldo Ferm Prof Associado no Departamento de Matem tica e Engenharia da Universidade de Madeira Resumo Desde h alguns anos que v m sendo desenvolvidas em v rios s tios do mundo experi ncias com a utiliza o de Robots como uma ferramenta educativa com especial incid ncia ao n vel do Ensino Superior e em alguns casos no Ensino B sico ou Secund rio Neste trabalho de investiga o pretende se fazer uma an lise cr tica sobre o uso dos robots no ensino da programa o nas disciplinas de Inform tica do Ensino Secund rio e disciplina de Intelig ncia Artificial da Licenciatura do Cur
48. a 1 2 Altere o programa anterior para 2 que cada vez que o robot virar a esquerda liberte um som beep 2 Monte o sensor de luz no seu robot da Escreva um programa que mostre ao utilizador no LCD do RCX o valor respeitante cor que o sensor de luz ler no momento em que executa o programa Figura 20 Proposta de trabalho para o aluno 62 Segunda parte Professor A segunda constitu da por oito reas ilustrada na figura seguinte Explorar o Robot 1 Notas sobre a Actividade Enquadramento Esta actividade aplicada na Unidade 1 do programa sobre o Curricular tema vari veis e express es 2 Conhecimento das fun es que implementam o Pr requisitos comportamento dos motores da fun o respons vel pela 3 reprodu o de som e das fun es do sensor de Luz Conhecer o conceito de vari vel 4 Construir Express es Simples Objectivos Construir sequ ncias l gicas de opera es Retornar informa o input output Trabalho em pares ou pequenos grupos Os alunos dever o experimentar as v rias op es e comparar com outras solu es afim de discut 5 resultados e Robot Material Sensor de Luz Necess rio Computador e RCX Pascal Na quest o 1 1 pretende se que os alunos armazenem numa vari vel o valor correspondente ao n mero de vezes que virou direita Contudo imprimir directamente o valor uma solu o muito prov vel pelo que o professor deve discutir
49. a testar e efectuar as altera es necess rias Tem a vantagem de que salvo raras situa es os alunos j foram ou ainda s o admiradores do sistema Lego o que proporciona um entusiasmo pela sua utiliza o estas ferramentas permitem aos alunos construir e testar mais rapidamente e a um custo mais baixo do que usando os materiais tradicionais e trazem um grande entustasmo para o trabalho RP2004 Software produzido Programar o robot poderia ser algo eventualmente dif cil de transpor Com o desenvolvimento de software com fins educativos nomeadamente o RIS e o Robolab o problema claramente minimizado Ainda assim podemos utilizar outras op es de a software ou at mesmo construir um software pr prio gra as pol tica de open source adoptada pela marca Pol tica adoptada pela marca A Lego adoptou uma politica de abertura com o prop sito de que interessados e entusiastas aprofundassem o conhecimento do sistema detectando poss veis falhas encontrando formas de superar limita es e at produzir novas ferramentas de programa o Pre o O pre o naturalmente um factor a ter em conta Em compara o com outros robots program veis o kit da Lego tem um pre o razoavelmente bom considerando a realidade do sistema educativo e as suas dificuldades or amentais Outra vantagem adv m do facto deste kit ser compat vel com outros materiais da Lego de facil acesso e do
50. a A EE aE a e a 9 D ROBONCAEDUCATIN A E AE EE AEE E E EE E E EE E ces ates 9 2 2 A UTILIZA O DOS ROBOTS DA LEGO MINDSTORMS NO ENSINO DA INFORMATICA 11 Dds COMEL O OS aa E A AAE EE A a dc cs Il Cie TOLOS e INICIGIIVOS estan a eiia EE NAE A A A AEE AN 12 DA LIMITA ES E DESAFIOS cs vstancsntrenoditestonsevasstendulentbuenwnduaeadiea E 16 2 4 CONCEUSSO ass ap Sea a o A RD Ro Db A a A RR et 16 3 DESCRI O TE RICA DOS ROBOTS ccccscsssssssssssssssessssssessssssssssssssssssessssssesssssessssesssseseees 19 3 1 OUR LEGO MINDSTORMS M ru RD E a 20 Sadi MORO Due ia ae DR eT ne Pee aR Pe Rd Pe Re AER SAT eee PEE rere T De 20 Sala OSV OTOTCS anca eae ei eis ati 23 Sds NOS SCH SONGS acai cit ce eee eich ata Sica nie eer neni a oc ce 23 Ika A Torrede Trans MISS GO mass eae Gr da DD EER L a a 26 3 SPIRIT ARE Postos cura Ban eee aa af ca Ro a Da dee ED CO E si Sr UE e Dr 26 Dida CUS CO riram ca oo du o pe pop fi O a E ap cea a ate of De SPIT aoe a a EOE TETA Le Bra e PCT nena DR O O O CE 2 3 3 FERRAMENTAS DE PROGRAMA O EXISTENTES ccccccssccesscccsccccssccescceescseessceesssesecseeceeeuss 28 3 3 1 Robotics Invention System asineecinsiasssaa ses beiasnas ti esa cian ace ei Raw ana 26 Do IO OA acre aa ate SA RO RR O Ri ee 29 do DU Commander CCIE sais ae Ri a a a aR 50 3 4 LINGUAGENS DE PROGRAMA O snes cussentinise ca ssetinariuas cama costes cenas cias e essa missao 31 do incuacem Nativa OC ane d
51. a ee 52 342 Linguagens naO NOVOS oraren nE E O a EAA a DO 35 CONCLUSSO Senne Re Rae eRe A nor enced rete On Te Pea RMN ET ree nd Ee TT CREE TREE Te eee nf 34 4 ENSINO DA INFORM TICA EM PORTUGAL cccccocecsscscessosecessssececessscessasecsssacecessacacecacaces 37 4 1 A FINALIDADE DO ENSINO DE INFORM TICA c cceccceccscceccceccacccecceeccascceccesccesceesceecenscenseueceuss 37 4 2 ANALISE CURRICULAR DOS PROGRAMAS oosusaiicisesiaa vee Sedacinck cnc ete aiedlavueseces cea desiurudi stu cdenisiscvesce 38 42 1 Aplica es Informatcas A LOC ONO erre eE E E E Gun ag dl da dane 38 viii 422 Aphea es Inform ticas A IICA pass sec seatusanar aus cus educa parada da nasauasa as anda gas sata dada 40 423 BasesdeFrocrama o LO IL EL anos as iia oie riacc sie AE 4 424 Tecnologias Inform ticas LO tI 612 ONOS aus iai nen noidGuio E sie an wes 42 4 2 5 T cnicas de Gest o de Bases de Dados 12 Ano viiccccccccccccssccsssccnscccusccusccussceusccusccusccensceusces 44 4 3 ONDE APLICAR OS ROBOT S sig a rita DD DS eee DD ene aaa ee 45 4 4 CONCE SO tales NR AD SR A on eae 46 5 NOVAS PLATAFORMAS DE PROGRAMACAO cccccssssssssssssssssssssssssssesesessssssssssesssssssssesesees 47 5 1 ROX PROLOG scsasciseosicas tesnncoulencs Fo pidga e ai 47 5 1 1 Motiva o para a constru o da plataforma wu ccccccccccccccccsseeeeeceeseeeeeeeeeseeeeeaaaaaaasssssseeeseseeees 46 dd Funcionamento da Plara Om iii sireesscceain saulisodaecdus
52. a livraria onde criamos fun es que se aproximam filosofia dos blocos de programa o Avan ar Recuar Virar direita entre outros existentes na plataforma RIS e Cria o de uma bolsa de problemas enquadrados nos diversos conte dos program ticos da disciplina de bases de programa o do 10 ano Cada um dos problemas est dividido em duas partes a do aluno e a do professor e Elabora o de conte dos de suporte e ajuda s plataformas de programa o que resultaram como contribui o desta disserta o RCX PROLOG e RCX PASCAL 1 5 Organizacao da Dissertacao Esta disserta o encontra se organizada em oito cap tulos que cobrem as duas reas em estudo neste trabalho nomeadamente os robots e o ensino Na figura seguinte mostramos a distribui o destes cap tulos pelas duas reas Introdu o Cap tulo 1 Contexto Contexto Cap tulo 2 Cap tulo 2 B Ensino da Descri o Programa o Cap tulo 3 Cap tulo 4 Ensinar com os Novas Plataformas Robots Cap tulo 5 Problemas Cap tulo 6 Aplica o Cap tulo 7 Conclus o Cap tulo 8 Figura 1 Organiza o da Disserta o O cap tulo 1 Introdu o Contextualiza o trabalho de investiga o apresenta a motiva o objectivos e contributos Por fim sintetiza a organiza o da disserta o O cap tulo 2 Estado da Arte Apresenta o estado da arte da utiliza o dos robots no ensino da inf
53. a uma plataforma para a integra o de v rias aplica es e neste caso concreto serve para instalar o Eclipse Prolog Execute o ficheiro tcl831 exe e instale este software na directoria de programas do seu computador Nota Pode fazer o download em http www tcl tk software tcltk Passo 5 Instala o do Eclipse Prolog Descompacte o ficheiro eclipse zip para a raiz do seu disco C Execute o ficheiro ecl inst tcl para instalar o ECLiPSe no seu computador Dever indicar Fig 3 a directoria onde ser instalado o eclipse bem como a directoria de trabalho Recomenda se que a directoria de trabalho seja a mesma onde est localizado o ECLIPSe ECLIPSe 5 4 Installation This i ECLIP Se 5 4 located in CL feclpse Where do you want your working directory when ECLIPSe starts up Cteclipe Install Aeingtall Uninstall Cancel Fig 3 Instala o do Eclipse Prolog Nota Poder encontrar mais informa o e ou vers es deste software em http www cs hut fi Studies T 93 540 eclipse windownload html Passo 6 Instalar os pacotes de Comunica o Instale na raiz do seu disco C a API Java Communications Extension API ficheiro commapi exe e a API RCX Java API ficheiro rexjava exe 116 O RCX Java API um pacote que providencia classes e interfaces que suportam a comunica o com o RCX Esta comunica o suportada pela API de comunica o Java Communication API Nota Po
54. abela 9 Exemplo de um programa escrito em Pascal Analisando o c digo temos um programa que compara o valor do sensor de luz ligado na porta 2 com um determinado valor Se a intensidade da luz corresponder ao n mero 39 ent o o robot avan a dois segundos M dulo Biblioteca BIGBLOCKS Se olharmos para o exemplo anteriormente apresentado para o robot avan ar dois segundos precisamos do seguinte c digo motor a dir mdF wd motor dir madFwa motor a speed 255 motor c speed 255 sleep 2 motor a dir mdOft motor dir mGOrr Ou seja para um robot que se movimente com dois motores ligados s portas A e poder avan ar precisamos de indicar um sentido aos dois motores neste caso avan ar Seguidamente necess rio indicar a pot ncia do movimento nesta situa o a pot ncia m xima Depois precisamos de indicar que as pr ximas Instru es v o sofrer um atraso de 2 segundos e s depois desligamos os motores 58 Este procedimento n o mais do que saber programar o robot o que vai contra o nosso prop sito de ensinar a programar usando o robot Perante esta situa o e semelhan a da plataforma anterior o nosso objectivo era ter uma filosofia de programa o o mais pr xima ao da ferramenta RIS ou seja quando for necess rio avan ar a nica preocupa o seria indicar ao robot que iria avan ar num determinado tempo Criamos a biblioteca BIGBLOCKS onde est o imp
55. amas criados no computador Estes programas antes de passarem do computador para o RCX s o convertidos atrav s do respectivo IDE para um formato mais compacto e compat vel com o processador do RCX conhecido por programas em bytecode Figura 3 A Estrutura L gica do RCX Quando o RCX desligado a informa o o firmware e os programas que s o guardados na mem ria do RCX n o se perdem uma vez que a RAM mant m se ligada energia fornecida pelas baterias Mesmo estando desligado o RCX continua embora que em quantidades pequenas ligado energia das baterias Programar o RCX um processo simples que se resume aos seguintes passos e Escrever um programa num IDE do seu computador e Compilar o programa As instru es do programa s o transformadas em instru es de baixo n vel bytecode e Fazer o download do programa para o RCX atrav s da torre de Infravermelhos e O firmware instalado no RCX interpreta o bytecode e converte o para linguagem m quina e O processador executa as Instru es 22 Progr Firm RO Proces 3 1 2 Os Motores Podemos ligar at 3 motores usando um cabo espec fico com comportamento independente ao nosso RXC nas portas A Be C respectivamente Os motores ilustrados na figura seguinte s o usados pelos robots para se deslocarem para mover bra os ou noutra estrutura que se m
56. ando arrastar blocos de c digo para a rea do programa e o BricxCC 34 por permitir a programa o atrav s de linhas de c digo escritas e suportar as linguagens de programa o Pascal C C e Java No cap tulo seguinte fazemos uma an lise ao Ensino da Inform tica em Portugal e analisamos quais as disciplinas onde podemos aplicar os robots aqui apresentados 35 36 4 Ensino da Inform tica em Portugal Education s purpose is to replace an empty mind with an open one Malcolm Forbes Este cap tulo apresenta um enquadramento do Ensino da Inform tica em Portugal no Ensino Secund rio Na sec o 4 1 apresentamos a finalidade do Ensino da Inform tica na sec o 4 2 apresentamos uma an lise curricular das disciplinas do Curso Tecnol gico de Inform tica Apresentamos ainda na sec o 4 3 as raz es da escolha da disciplina onde os robots ser o usados 4 1 A Finalidade do Ensino de Inform tica O sistema educativo portugu s assume como objectivo estrat gico a necessidade de assegurar a todos os jovens o acesso s tecnologias da informa o e comunica o como condi o indispens vel para a melhoria da qualidade e da efic cia da educa o e forma o luz das exig ncias da sociedade do conhecimento A disciplina de TIC vem dar resposta a esta necessidade garantindo a todos os alunos o dom nio de um conjunto de compet ncias e conhecimentos b sicos em TIC e promovendo a integra
57. ano anterior com a Teoria dos Sistemas Operativos e das Redes de Computadores fazendo ao mesmo tempo uma incurs o em Sistemas Operativos de Rede baseados em DOS NFS e NTFS nos quais aplicar o a teoria desenvolvida No 12 pretende se que o aluno por um lado conhe a a arquitectura Macintosh como alternativa aos PCs e por outro lado aprofundar os conhecimentos de redes abordando o sistema operativo UNIX e os seus clones Pretende se ainda neste ano que o aluno explore sistemas operativos de grande porte A disciplina de Tecnologias Inform ticas tem como finalidades e Desenvolver a capacidade de reflex o gerando um saber criativo e evolutivo e Desenvolver a autoconfian a com base nos saberes e compet ncias adquiridas e Proporcionar um conjunto de experi ncias e viv ncias que permitam aos alunos acompanhar a permanente evolu o quer profissionalmente quer em termos pessoais e humanos e Promover o esp rito cr tico a capacidade de coopera o o respeito pelos outros e a responsabilidade permitindo que os alunos se desenvolvam integralmente enquanto indiv duos e enquanto cidad os e Promover a aquisi o de compet ncias e versatilidade na utiliza o de sistemas operativos e equipamentos de redes Esta disciplina pretende desenvolver nos alunos as seguintes compet ncias e Conhecer os conceitos b sicos e terminologias inerentes s Tecnologias da Informa o e Comunica o bem como a ev
58. as que aumentam o processo de aprendizagem Defende ainda que usando os robots os alunos descobrem e aprendem as diferentes facetas na resolu o de problemas citado em JM2003 O kit da Lego Mindstomrs tem vindo a se destacar devido sua flexibilidade a n vel de constru o e programa o do robot ao seu pre o e n o menos importante pelo Interesse e motiva o que proporciona aos alunos Na sec o seguinte apresentamos as raz es da escolha deste kit utilizado no decorrer do trabalho aqui apresentado 1 1 Porqu os robots Lego Mindstorms A escolha dos robots Lego Mindstorms entre os kits de rob tica existentes no mercado deve se essencialmente s seguintes raz es LM M rito e qualidades reconhecidas J foi distinguido com v rios pr mios Estudos efectuados apontam boas potencialidades para este produto O kit foi desenvolvido no seguimento de outros materiais da Lego com provas dadas ao n vel da sua utiliza o no ensino N o exige conhecimentos ao n vel da electr nica A aus ncia destes conhecimentos n o impeditiva de o utilizar A montagem muito simples atrav s de encaixes as liga es el ctricas fazem se tamb m por encaixe n o exigindo grandes t cnicas como por exemplo soldar o que poderia vir a ser um entrave a sua utiliza o Facilidade de constru o e entusiasmo Dadas as caracter sticas deste kit muito f cil construir uma determinada estrutur
59. cia Artificial IA As principais finalidades a desenvolver ao longo da disciplina no 11 ano s o e Identificar os processos fundamentais da informa o digital e Aplicar as metodologias da an lise estruturada de sistemas e Utilizar a modela o como ferramenta e Operacionalizar e implementar o conceito de TA e Utilizar conhecimentos relativos s l gicas estruturais e aos modos de interac o de aplica es multim dia na an lise da sua utilidade do seu interesse e da sua efic cia e Avaliar a efic cia e funcionalidade de software multim dia e Criar e publicar p ginas na Web usando editores e ferramentas de cariz profissional e Realizar projectos interdisciplinares utilizando os procedimentos da metodologia de trabalho de projecto 40 e Criar e mostrar produtos constru dos e ou modificados por ferramentas multim dia 4 2 3 Bases de Programa o 10 11 e 12 anos A disciplina Bases de Programa o uma disciplina trienal que pretende conduzir o aluno resolu o de problemas de uma forma estruturada e sistematizada analisando todos os elementos intervenientes num determinado problema No 10 ano o programa incide sobre a aprendizagem de algoritmia e programa o estruturada em linguagem Pascal Na aprendizagem da linguagem de programa o Pascal deve se executar programas de processamento variado dando assim a possibilidade a que os alunos nos anos posteriores estejam aptos a r
60. como um agente inteligente temos de program lo de forma a cumprir os seus objectivos Para tal precisamos de um agente baseado em conhecimento Um agente deste tipo inclui uma base de conhecimento acerca de um dom nio e uma interface programa de computador constitu da por regras para 49 processar o conhecimento e resolver os problemas relativos ao dom nio Resumindo podemos usar a defini o de Kowalsky K 1979 Algoritmo Logica Controlo O Prolog PROgramming in LOGic foi criado em 1972 por Alain Colmerauer e Philippe Roussel baseado na interpreta o procedimental das cl usulas de Horn de Kowalski O Prolog usado para representar o conhecimento e para desenvolver solu es de problemas atrav s da dedu o l gica O Prolog a linguagem mais usada ao longo dos tempos para programar na IA Infelizmente para n s n o poss vel programar directamente o RCX com a linguagem Prolog Perante tal situa o e tendo em conta todas as quest es apresentadas a nossa ideia foi criar uma plataforma freeware que permitisse aos alunos da disciplina de IA programar em Prolog o comportamento do Robot Como antecedente ao nosso trabalho tivemos em conta a plataforma Legolog criada por Levesque amp Pagnucco cujo objectivo era implementar c lculo situacional Escrita em Prolog foi a nossa principal fonte de inspira o principalmente na comunica o Prolog RCX LP2000 Contudo existem tr s grandes
61. da Lego nas aulas de programa o da Universidade de Eastern kentucky A ideia foi us los para facilitar o processo de aprendizagem de programa o em tr s n veis diferentes introdut rio interm dio e avan ado W2001 No n vel introdut rio escolheram a disciplina de Programa o em C onde usaram o robot para perceber o conceito de objectos e estruturas de controlo 12 No n vel interm dio a disciplina escolhida foi Estruturas de Dados e foi pedido aos alunos para programar os robots de forma a evitar obst culos e guardar a posi o onde estes se encontravam No n vel avan ado a disciplina escolhida foi Intelig ncia Artificial onde os alunos tinham de implementar uma rede neuronal para resolver um determinado problema Em todos os n veis os alunos trabalharam em grupos e Wong concluiu que os robots s o uma ferramenta poderosa para a aprendizagem da programa o pois permitiu lhes para al m da aprendizagem dos conte dos program ticos aprender computa o em tempo real gest o de recursos e desenvolvimento de solu es modulares Aprender IA com Lego Mindstorms Parsons e Sklar usaram os robots da Lego Mindstorms M nas aulas de Intelig ncia Artificial e pelas suas experi ncias defendem que os robots s o um benef cio no processo de aprendizagem PS2004 Utilizaram os robots na elabora o dos projectos onde tinham grupos de 3 alunos ou mais conforme o n mero de robots dispon veis
62. dade Enquadramento Esta actividade aplicada na Unidade 3 do programa sobre o Curricular tema Vectores e Matrizes e Conhecimento das fun es que implementam o comportamento dos motores da fun o respons vel pela reprodu o de som das fun es do sensor de luz e das fun es do sensor de toque e Conhecimento das estruturas de decis o e Conhecimento das estruturas de repeti o Pr requisitos e Conhecer o conceito de estrutura de dados e Aplicar as estruturas de dados na elabora o de Objectivos algoritmos em Pascal e Manipular valores das estruturas de dados e Decompor um problema nas suas partes e Trabalho em pares ou pequenos grupos e Os alunos dever o experimentar as v rias op es e comparar com outras solu es afim de discutirem os resultados Organiza o Robot Sensor de luz Material Sensor de toque Necess rio Computador Tabuleiros RCX Pascal Na quest o 1 pretende se que os alunos percebam o conceito de vector e como podem implement los em Pascal O professor deve explicar a forma como os alunos podem percorrer e aceder aos valores do vector Pretende se ainda com a resolu o das al neas que os alunos percebam que cada posi o do vector pode ser vista como uma vari vel Na quest o 2 pretende se que os alunos manipulem valores de dois vectores diferentes Pretende se ainda que os alunos tenham a capacidade de resolver sozinhos a quest o da transi o de um
63. de comunica o proporcionando assim uma interface simples de utilizar na programa o do robot A Tabela seguinte mostra um pequeno programa escrito em Java que utiliza algumas das fun es disponibilizadas pela API RCX Java LMport TOT public class Test public static void main String arg new Test arg 0 public Test String portname RCXPOru port new RCXPOrt portname Motor A forward Motor AaS EOP port beep SYSTEMwOUT sprint lit Battery Level port getBatteryPower volts Tabela 3 Exemplo de um programa escrito na linguagem Java Este programa activa o Motor A por um tempo predefinido de 1 segundo Depois para o motor e o RCX emite um beep Para finalizar mostra o nivel da bateria A API RCX Java oferece tamb m uma Applet que controla o RCX desde que esteja ao alcance da torre de infravermelhos ligada a um computador remoto Pascal A API de Pascal tem um conjunto de fun es definidas que permite programar o robot usando a linguagem Pascal O c digo escrito e compilado no IDE BricxCC e para poder ser executado no robot tem de ser instalado no RCX o firmware BrickOS No anexo A est dispon vel um manual da API de Pascal A tabela seguinte mostra um pequeno programa escrito em Pascal O programa permite avan ar o Motor A e C do robot em simult neo durante dois segundos 33 program avancal uses unaista dm otror begin mot
64. der encontrar mais informa o em http Java sun com products javacomm http www escape com dario java rcx Passo 7 Instala o do Compilador NQC NQC Not Quite C uma linguagem simples com uma sintaxe parecida Linguagem C que usada para programar o RCX Instale o compilador desta linguagem ficheiro ngc exe na raiz do seu disco C para poder fazer o download do programa para o seu RCX Nota Poder encontrar mais informa o e ou vers es deste software em http bricxcc sourceforge net nqc Passo 8 Configuracao das variaveis de ambiente Nas propriedades do sistema no separador Avan adas mude as seguintes vari veis de ambiente Fig 5 Restauro do sistema Actualiza es autom ticas Remata EON Vari veis de ambiente vari veis de utilizador para Luis Gaspar ea e TT m vari vel valor Classpath Circxjavairox jarCiicormmapiicommnja INCLUDE 2 Programas Microsofk visual Studio M LIE C Programas Microsoft visual Studio M TEMP CDocuments and SettingstLuis Gaspar Vari veis do sistema CO TEMOS vari vel valor OSTYPE cygwin Path So YGNUS HOMES bin CrbexmFimikte PATHEST COM EXE BAT CMO VBS VBE J5 PROCESSOR A x56 Fig 5 Vari veis de Ambiente e Path Tem que incluir JAVADIR bin BNQCDIR Considerando que usou as directorias sugeridas ao longo dos v rios passos temos o JAVADIR C j2sdk1 4 0_01 117 o NQCDIR C ngc
65. deve ser capaz de seguir essa linha O robot p ra quando for activado um dos sensores de toque 4 Escreva um programa para que o robot seja capaz de realizar um trajecto delineado por duas linhas azuis O fim do trajecto representado por uma faixa preta como ilustra a figura 11 Se o Robot Repete Enquadramento Curricular Pr requisitos Objectivos Organiza o Material Necess rio Notas sobre a Actividade Esta actividade aplicada no fim da Unidade 2 do programa sobre o tema Estruturas de Decis o Repeti o e Conhecimento das fun es que implementam o comportamento dos motores da fun o respons vel pela reprodu o de som das fun es do sensor de luz e das fun es do sensor de toque e Conhecimento das estruturas de decis o e Conhecimento das estruturas de repeti o e Aplicar de forma conjugada as estruturas de decis o e repeti o na elabora o de algoritmos e Desenvolver programas em Pascal de forma estruturada e Decompor um problema nas suas partes e Trabalho em pares ou pequenos grupos e Os alunos dever o experimentar as v rias op es e comparar com outras solu es afim de discutirem os resultados Robot Sensor de luz Sensor de toque Computador Pistas RCX Pascal Nesta altura os alunos j t m alguma capacidade de programar e identificar solu es para diversos problemas O objectivo comum a todos estes problemas que o alun
66. e comparar com outras solu es afim de discutirem os resultados Organiza o Robot Material Sensor de luz Necess rio Computador RCX Pascal Na quest o 1 1 pretende se que os alunos armazenem numa vari vel o valor correspondente ao n mero de vezes que virou direita Contudo imprimir directamente o valor uma solu o muito prov vel pelo que o professor deve discutir com os alunos a vantagem do uso das vari veis Na quest o 2 pretende se que os alunos percebam a forma como v o poder usar o sensor de luz e as suas leituras para posterior utiliza o em problemas de maior complexidade e onde a leitura das cores de superf cies ter o um papel importante Prolongamentos e Variantes Uma quest o a ser colocada para os alunos praticarem a estrutura o correcta de sequ ncias de instru es poder ser e Mostrar no LCD do RCX a sequ ncia correspondente ao lado que o robot virou durante o percurso ou seja se virou direita mostra d e se virou duas vezes esquerda mostra ee e Fazer com que o Robot avance dois segundos em Zig Zag 68 6 3 Actividade 3 Estruturas de Decis o Vamos Decidir As Estruturas de Decis o IF lt condi ao gt THEN lt condi o gt ELSE lt condi o gt CASE lt vari vel gt OF lt valores gt lt instru es gt Com base numa condi o Com base num selector 1 Considere como ponto de partida um dos quadrados d
67. e Classpath Tem que incluir S RCXJAVAHOME rex jar COMMAPIHOMEicomm jar S ECLIPSEDIR lib eclipse jar SWORKHOME Considerando que usou as directorias sugeridas ao longo dos v rios passos temos SRCXJAVAHOME C rexjava COMMAPIHOME C commapi SECLIPSEDIR Cieclipse S WORKHOME C eclipse O O O Passo 9 Preparar o Ambiente de Trabalho 1 Copiar os ficheiros de Trabalho Instale o ficheiro rexprolog exe para a sua directoria de trabalho ou seja Cieclipse Esta instala o copiar os seguintes ficheiros para a directoria de trabalho Control java controliia ngh 1la nqc win32usb dll win32com dll main pl 2 Compilar o ficheiro Control java 2 1 Edite o ficheiro Control java e na linha de codigo eclipse new RemoteEclipse InetAddress getByName computador 1567 mude computador para o nome do seu computador 2 2 Compile o ficheiro afim de criar a classe respons vel pela comunica o entre o seu o ECLIPSe e o RCX Numa janela de linha de comandos os seguintes passos e Colocar se na sua pasta de trabalho comando cdleclipse e Executar o comando javac Control java para compilar o ficheiro Control java 3 Prepara o Robot para receber instru es 3 1 Conecte a torre USB do Kit ao computador e coloque a torre e o RCX de forma que o RCX consiga comunicar com a torre e vice versa 3 2 Fa a o Download do programa iia ngc para o RCX Numa janela de linha de comandos exec
68. e Laverde D Programming Lego Mindstorms With Java 2002 Syngress Publishing Inc Fagin B Merkle L D Eggers T W Teaching computer science with robotics using Ada Mindstorms 2 0 In Proceedings of the 2001 Annual ACM SIGAda International Conference on Ada New York ACM Press pp 73 78 Guerra L Sim es F Pinto M Silva M Rodrigues L Programa de Bases de Programa o 10 11 e 12 anos Curso Tecnol gico de Inform tica 2002 Han K S Wook J J Learning C Language Using Robots ICCAS 2005 101 J2003 JCA JM2003 JPD2004 K1979 K2005 LM LOS LVIEW LP2000 MSE 2002 NXT 0HM1999 PDJ2005 PS2004 Jo o S M Programa de Tecnologias de Informa o e Comunica o 9 e 10 Anos 2003 Java Communication API http java sun com products javacomm Joan M Mike C Designing developing and Implementing a Course on LEGO Robotics for Technology Teacher Education JI Of Technology and Teacher Education 2003 Jo o S M Pinto M L S Dias P M Programa de Aplica es Inform ticas A Curso Tecnol gico de Inform tica 10 Ano 2004 Kowalsky R Logic for Problems Elsevier North Holland 1979 Amruth N Kumar Three Years of Using Robots in the Artificial Intelligence Course Lessons Learned Journal of Educational Resources in Computing 2005 Lego Mindstorms http www lego com eng education mindst
69. e Repeti o 1 Usando uma estrutura de repeti o escreva um programa para que o robot seja capaz de avan ar e recuar 5 vezes finalizando com um som 2 Usando uma estrutura de repeti o escreva um programa para que o robot avance at encontrar uma faixa de cor preta Notas sobre a Actividade Enquadramento Esta actividade aplicada na Unidade 2 do programa como Curricular introdu o ao tema Estruturas de Repeti o e Conhecimento do ambiente de trabalho da ferramenta Pr requisitos Bricx Command Center V3 3 e No o de vari vel e atribui o de valores a uma vari vel e Compreender o funcionamento de uma estrutura de repeti o num programa e Distinguir as estruturas de repeti o e Definir condi es simples Objectivos e Trabalho em pares ou individual e Os alunos dever o experimentar as v rias op es e comparar com outras solu es afim de discutirem os resultados Organiza o Robot Material Sensor de Luz Necessario Computador Bricx Command Center 124 Possivel Solu o dos Problemas emoomam as Solu o do Problema 1 cis mese clsioutercl SNe SUNOS var 1 integer begin 1 1 while i lt 5 do begin aVvancaAc 1 meCcuwaAG I IS bl end dsound system 0 end Odor eamreoccoencco Solu o do Problema 2 uses anlo Cd dsensor EBIGELORS var luz integer begin esc crime OSH SOR 7 Ie GVOENE VIE luz LICHI SENSOR
70. e conceitos mais avan ados Apresentamos uma s rie de problemas agrupados em v rias actividades que cobrem todos os conceitos da disciplina de Bases de Programa o de 10 ano As actividades foram criadas a pensar na evolu o do aluno e dos conceitos que deve de assimilar para resolver a actividade seguinte As actividades foram criadas em duas partes uma como proposta de trabalho para o aluno e outra como sugest es metodol gicas para o professor Pretendemos assim disponibilizar apoio aos professores nesta nova perspectiva de ensino Tivemos o cuidado de criar uma actividade Actividade 5 para consolidar e unir conceitos no caso as estruturas de decis o e repeti o Pretende se que nesta actividade o aluno compreenda de que forma pode estruturar algoritmos mais complexos usando todos os conceitos j estudados Finalmente julgamos que a aplica o destas actividades nas aulas de Bases de Programa o 10 ano ser uma mais valia no processo de ensino aprendizagem contudo a sua aplica o e an lise de resultados ficar como sugest o para continuidade deste trabalho 83 7 Os Robots em Ac o Practice proves more than theory in any case Abraham Lincoln Neste cap tulo descrevemos algumas das nossas experi ncias da aplica o dos robots em conjunto com as plataformas apresentadas Na sec o 7 1 descrevemos a ac o de forma o realizada na Escola B sica e Secund ria Padre Ma
71. e o quadrado conforme realizar a traject ria 3 Altere o programa anterior para que o robot desenhe o quadrado 3 vezes 4 Programe o seu robot para que repita cinco vezes o seguinte comportamento avan ar n segundos e recuar um segundo Considere que n varia de 1 5 e aumenta uma unidade em cada itera o do ciclo 5 Implemente as quest es 1 1 1 2 e 1 3 mas agora usando a estrutura de repeti o WHILE DO 73 6 Considere um tabuleiro semelhante ao da figura O objectivo fazer o robot avan ar no tabuleiro at encontrar um quadrado de cor preta Programe o seu robot 6 1 Sem considerar o quadrado inicial ponto de partida 6 2 Considerando o quadrado inicial ponto de partida 7 Monte na parte da frente do seu robot os dois sensores de toque 7 1 Programe o seu robot para avan ar em zig zag O seu movimento ser interrompido ou seja o robot p ra quando um dos sensores for activado pressionado 7 2 Que altera o teria de fazer ao programa para que o robot parasse quando fossem pressionados os dois sensores em simult neo 74 Repete Robot Repete Enquadramento Curricular Pr requisitos Objectivos Organiza o Material Necess rio Notas sobre a Actividade Esta actividade aplicada na Unidade 2 do programa sobre o tema Estruturas de Repeti o e Conhecimento das fun es que implementam o comportamento dos motores da fun o respons
72. e teste a no robot 5 Libertar um som beep 65 Os Primeiros Passos Notas sobre a Actividade Enquadramento Esta actividade aplicada na Unidade 1 do programa como Curricular introdu o Programa o em Pascal e Conhecimento do ambiente da Plataforma RCX Pascal Pre requisitos e Conhecimento do funcionamento do RCX e Introduzir a Linguagem de Programa o Pascal e Conhecer termos e conceitos b sicos relacionados com a programa o do RCX em Pascal e Estruturar pequenos programas em Pascal Objectivos e Trabalho em pares ou individual e Os alunos dever o experimentar as v rias op es e comparar com outras solu es afim de discutirem os resultados Organiza o e Robot e Computador e RCX Pascal Material Necess rio Os alunos usam os robots constru dos em aulas anteriores e caso os robots sejam diferentes pede se a aten o do professor para o facto da velocidade dos robois e o tempo de execu o dos programas serem diferentes Nesta actividade os alunos v o estruturar pequenos programas em Linguagem Pascal recorrendo a fun es espec ficas dos robots No in cio da aula o professor deve expor aos alunos essas mesmas fun es embora sem grandes pormenores Pretende se que os alunos testem v rias op es e discutam entre si de forma a perceberem e consolidarem a estrutura o correcta dos programas Prolongamentos e Variantes Os alunos podem testar os v
73. em aplicadas nas disciplinas onde os robots possam ser usados e Desenvolver uma plataforma para programar os robots nas aulas de Intelig ncia Artificial do ensino superior usando a Linguagem Prolog e Criar materiais de suporte para alunos e professores das ferramentas solu es desenvolvidas 1 3 Os Robots como mediadores entre o Aluno e a Inform tica Este trabalho surge como parte integrante de um projecto mais amplo o projecto DROIDE os Robots como Elementos Mediadores entre o Aluno e a Matem tica Inform tica a desenvolver no Departamento de Matem ticas e Engenharias da Universidade da Madeira D2005 Este projecto tem como objectivos e Criar problemas na rea da Matem tica Inform tica a serem resolvidos atrav s dos robots e Criar robots para abordar problemas espec ficos na rea da Matematica Informatica e Implementar a resolu o de problemas utilizando rob tica nas aulas de matem tica no ensino b sico e secund rio nas aulas de inform tica no ensino secund rio e nas aulas de Intelig ncia Artificial Did ctica da Inform tica e Did ctica da Matem tica no ensino superior e Analisar a actividade dos alunos aquando da resolu o dos problemas utilizando os robots nos diferentes tipos de aula referidos no ponto anterior Este projecto apresenta como resultados parciais as seguintes publica es e Crossing the River with Robots Changing the Way of Working in Al Subject
74. esolver situa es complexas No que se refere disciplina de 11 ano usada a linguagem Visual Basic em que o aluno dever adquirir n o s as bases da programa o por objectos como a capacidade de elaborar pequenas aplica es inform ticas utilizando uma ferramenta visual No 12 ano usada uma linguagem de n vel mais avan ado o Visual C Atrav s desta linguagem pretendido a consolida o e alargamento de conhecimentos na rea das linguagens de programa o Haver ainda espa o para o estudo gen rico de pelo menos uma linguagem de programa o que se considere adequado s exig ncias inform ticas do momento por ex JAVA PHP ASP PERL preparando desta forma o aluno para o estudo de novas linguagens Ao longo dos tr s anos a disciplina de Bases de Programa o tem como finalidades e Desenvolver a capacidade de reflex o gerando um saber criativo e evolutivo e Desenvolver a autoconfian a com base nos saberes e compet ncias adquiridos e Fomentar o Interesse pela investiga o e Proporcionar um conjunto de experi ncias e viv ncias que permitam aos alunos acompanhar a permanente evolu o tecnol gica quer profissionalmente quer em termos pessoais e humanos 41 e Promover o esp rito cr tico a capacidade de coopera o o respeito pelos outros e a responsabilidade permitindo que os alunos se desenvolvam integralmente enquanto indiv duos e enquanto cidad os e Desenvolver
75. espectivos Sistemas Operacionais Revista de Inform tica Te rica e Aplicada 2004 100 FF2002 FF2007 FFA2007 FFO2006 FFO2007 FG 1997 FG2007 FGH 2002 FME2001 GSP 2002 HW2005 Ferrari M G Ferrari and R Hempel Building Robots With LEGO Mindstorms 2002 Syngress Publishing Inc Ferm F Fernandes F Crossing the river with robots Changing the way of working in an AI subject Proceedings of the Artificial Intelligence m Education Workshop Cambridge UK 2007 Ferm E Fernandes E Alcione E UTILIZA O DE ROBOTS NO ENSINO DE PROGRAMA O O PROJECTO DROIDE 2007 Fernandes E Ferm E Oliveira R Using Robots to Learn Functions in Math Class Proceedings of the ICMI 17 Study Conference Technology Revisited Hanoi University of Technology 2006 Fernandes E Ferm E Oliveira R Viajando com Robots na Aula de Matem tica Proceedings of the V Confer ncia Internacional de Tecnologias de Informa o e Comunica o na Educa o Minho Portugal Challenges 2007 Franklin S Graesser A Is it an Agent or just a Program A Taxonomy for Autonomous Agents 1997 Ferm F Gaspar L RCX PROLOG A platform to use Lego Mindstorms tm Robots in Artificial Intelligence courses Proceedings of the Artificial Intelligence in Education Workshop Cambridge UK 2007 Ferrari G Gombos A Hilmer S Stuber J Porter M Waldinguer J
76. essas medidas para determinar qual a luminosidade do ambiente em que o robot se encontra Uma utiliza o muito frequente para o sensor de luz a distin o das cores da superf cie baseado na capacidade de reflex o de luz Como a luz reflectida depende da dist ncia e da cor da superf cie mantendo a dist ncia podemos distinguir as v rias cores Por exemplo se tivermos uma linha preta sobre um fundo branco quando o sensor estiver sobre a linha preta receber menos luz reflectida do que no fundo branco Desta forma o RCX pode determinar se o sensor est ou n o sobre a linha preta e da efectuar alguma opera o Sensor de Toque Podemos comparar o sensor de toque a um interruptor que se encontra aberto e fechado quando pressionado PE DE A E o Figura 6 Sensor de T oque Na pr tica o sensor de toque usado apenas para distinguir estados pelo que o valor da tens o exercida pelo pressionar n o interessa a menos que seja indicado O RCX atribui lhe dois estados O para quando est aberto e 1 para quando est fechado ou pressionado 24 E poss vel ligar mais do que um sensor de toque na mesma entrada para o caso de pretendermos que o robot fa a a mesma ac o para duas situa es diferentes Por exemplo quando bate com a frente ou a traseira sem ter de ocupar necessariamente duas portas Os sensores ligados mesma porta s o capazes de detectar a ac o em qualquer um dele
77. firmware alternativo BrickOS por suportar e executar programas escritos em linguagem Pascal Contudo existe uma mais valia entre a simples integra o destas tecnologias e o nosso trabalho Desenvolvemos uma biblioteca denominada de BIGBLOCKS para aproximar a filosofia de programa o do robot aos conceitos de blocos de programa o Avan ar Recuar Virar direita entre outros existentes na plataforma RIS 55 5 2 2 Funcionamento da Plataforma A plataforma totalmente freeware e corre sobre o sistema operativo Windows usando a torre de infravermelhos ligada a porta USB A sua arquitectura esta representada na figura seguinte JZomputador Figura 16 Arquitectura do RCX Pascal Infr De uma forma geral o funcionamento desta plataforma muito simples e baseia se no seguinte procedimento e O programa em pascal escrito na ferramenta BricxCC recorrendo as fun es da API Pascal e da biblioteca BIGBLOCKS e O c digo escrito compilado no BricxCC e Depois de compilado feito o download do programa para o RCX atrav s da torre de infravermelhos e O programa executado sobre o firmware BrickOS no Robot A figura seguinte ilustra o procedimento descrito anteriormente 56 Figura 177 Funcionamento do RCX PASCAL 4 5 2 3 M dulos da Plataforma A plataforma RCX Pascal est dividida em tr s m dulos nomeadamente o BricxCC a API Pascal e a Biblioteca BIGBLOCKS que
78. forma o sec o 7 1 permitiu nos contextualizar e ambientar os professores e futuros professores na manipula o de uma nova tecnologia neste caso o kit da Lego Mindstorms Com esta ac o conseguimos despertar o Interesse dos presentes motivando os para a utiliza o destas tecnologias na sala de aula Devido experi ncia dos presentes na ac o podemos constatar que as propostas apresentadas por n s seriam uma mais valia o que de alguma forma deu nos algum alento e suporte para a maioria do trabalho desenvolvido Os problemas que foram resolvidos na terceira parte da ac o foram apresentados com um formato aproximado aos apresentados no cap tulo 6 Com isto pudemos testar a organiza o e validar algumas das op es tomadas Quanto aplica o dos robots em conjunto com a plataforma RCX PROLOG tem se mostrado uma mais valia para a disciplina tanto pela aplicabilidade pr tica na resolu o dos projectos como na motiva o dos alunos alguns resultados Interessantes sobre esta quest o podem ser consultados num artigo recentemente publicado FF2007 Estas experi ncias permitiram nos testar e refinar a plataforma RCX PROLOG pelo que neste momento temos uma plataforma est vel para a vers o RCX da Lego Mindstorms IM No cap tulo seguinte apresentamos algumas conclus es e perspectivas de trabalhos futuros de todo o trabalho desenvolvido e apresentado neste documento 95 3 Conclus o e T
79. inovadores para serem executados nos robots Os formandos trabalharam em grupos A cada grupo foi disponibilizado um kit Lego Mindstorms um manual de instru es da constru o do robot e um port til com todo o software necess rio instalado A sess o decorreu em tr s partes distintas Na primeira parte foi apresentado aos formandos o kit Lego Mindstorms nomeadamente as pe as mais importantes como o RCX e os sensores de toque e de luz seguido da constru o de um robot a partir de um manual de constru o im E Figura DD Constru Depois da constru o foi dado a conhecer o software RIS e uma breve introdu o da sua utiliza o qual se seguiu a proposta de realiza o de tr s exerc cios simples O primeiro exerc cio resumia se a fazer o robot avan ar cinco segundos abanar tr s vezes e por fim emitir um sinal sonoro O segundo propunha que construissem um programa para o robot descrever uma traject ria em forma de quadrado 85 No terceiro exerc cio foi pedido aos formandos que programassem os robots para percorrer um labirinto de forma aleat ria Figura 23 Execu o do exerc cio 3 Para executar este exerc cio precisavam de adicionar ao robot um p ra choques inteligente com dois sensores de toque fornecido por n s Figura 24 P ra choques Inteligente Na segunda parte apresentamos a plataforma RCX PROLOG demonstramos um exemplo da s
80. intes A designa o dos robots foi adoptada por n s pelo que poder o ser encontrados estes modelos de robots com outros nomes Para a constru o destes robots podem ser consultadas as instru es em http dme uma pt droide rcxpascal ou o manual de instru es dispon vel no kit Lego Mindstorms IM 61 Figura 18 O Tanque Figura 19 O Todo Terreno As actividades apresentadas est o divididas em duas partes A primeira parte uma proposta de trabalho para o aluno enquanto que a segunda composta por sugest es metodol gicas para o professor Por quest es de visualiza o e apresenta o decidimos que seria melhor apresentar as actividades com o formato final A seguir explicamos como foram organizados os conte dos em cada uma das partes Primeira parte Aluno A figura ilustra o formato e organiza o da actividade no que se refere parte do aluno constitu da por duas partes assinaladas na imagem por 1 e 2 A rea assinalada por foi reservada para um t tulo da actividade que reflecte o assunto abordado Na outra rea assinalada por 2 encontram se as quest es problemas que comp e a actividade Explorar o Robot 1 1 Construa um programa que permita ao seu robot fazer o trajecto representado na figura ao lado 1 1 Altere o programa anterior para que durante o trajecto o robot mostre ao utilizador no LCD do o n mero de vezes que o robot virou direit
81. ion Prentice Hall Englewood Cliffs New Jersey 2003 Soares L F Cruz J A Fernandes V M Programa de tecnologias Inform ticas 10 11 12 Anos Curso Tecnol gico de Inform tica 2001 Wooldridge M An Introduction to Multiagent Systems John Wiley 2002 Seymour Papert Mindstorms Children computers and powerful ideas New York Basic Books 1980 Silvana R Zilli A ROB TICA EDUCACIONAL NO ENSINO FUNDAMENTAL PRESPECTIVAS E PRATICA Universidade Federal de Santa Catarina Disserta o de Mestrado 2004 Wong Ka Wing Teaching Programming with Lego RCX Robots Proceedings of the 18th Information Systems Education Conference ISECON 2001 2001 103 Anexos 104 Anexo A Manual da API de Pascal Introdu o Este documento apresenta um manual da API Pascal para os robots da Lego Mindstorms Este manual foi criado para que os alunos possam desenvolver programas para os robots nas suas aulas usando a linguagem Pascal S o apresentados ao longo do documento exemplos que ajudam a compreens o do funcionamento das v rias fun es da API permitindo uma melhor visualiza o do uso dessas fun es 1 Temporizadores Uma das primeiras fun es a ter em conta na programa o do seu RCX a fun o sleep segundos Esta fun o respons vel por manter o comportamento das ltimas instru es durante um determinado tempo em segundos Por exemplo muito importante
82. lementados os blocos de programa o Avan ar Recuar Virar direita entre outros existentes na plataforma RIS A tabela seguinte resume as fun es implementadas na biblioteca BIGBLOCKS avaneaAC segiinteger dsegiinteger Segundos _ vundos mas Rd is A Tabela 10 mE EST na ea BIGBLOCKS 5 3 Conclus o Apresentamos neste cap tulo duas plataformas que permitem ensinar a programar usando os robots A primeira o RCX PROLOG para ser usada nas aulas de Intelig ncia Artificial e a segunda o RCX Pascal para ser usada nas aulas de Bases de Programa o do 10 ano Em rela o plataforma RCX PROLOG queremos salientar duas vantagens da sua utiliza o A primeira delas diz respeito ao facto de ser uma solu o generalista porque completamente independente do tipo de robot que seja constru do Embora os programas escritos em Prolog e em NQC considerem dois motores nas portas A e C um sensor de luz na porta 2 e dois sensores de toque nas portas 1 e 3 eles s o relativamente 59 f ceis de modificar para outra distribui o pelo facto de serem open source e estarem devidamente comentados para este tipo de situa o A segunda vantagem adv m do facto da plataforma ter a mesma filosofia de funcionamento da ferramenta nativa RIS documentada no cap tulo 3 onde cada ac o um bloco com par metros associados No nosso caso um predicado Prolog corresponde a uma ac o Em rela o
83. mporizadores 4 Temporizadores de Sistema 8 bit Baterias 6 Baterias de 1 5V Adaptador de Energia 9 12V DC AC Apenas no RIS 1 0 Comunica o Porta de Infravermelhos Transmissor Receptor Tabela 1 Especifica es do Hardware do RCX Para percebermos o funcionamento do RCX temos de imaginar uma estrutura em camadas como representa a Figura Na camada inferior temos o processador da s rie Hitachi H8 que executa as instru es da m quina e gere as entradas e sa das dos componentes adicionais Numa camada acima temos a ROM que cont m uma s rie de instru es respons vel por todas as funcionalidades b sicas como por exemplo controlo de portas fun es do LCD comunica es entre outros Podemos comparar esta camada BIOS de um computador pessoal pois a respons vel pelo arranque e pela comunica o entre os perif ricos ou componentes Sem esta camada n o seria poss vel a intera o do utilizador com o RCX Numa camada superior temos o firmware que uma esp cie de sistema operativo para o RCX que providencia o funcionamento de todo o sistema Neste caso particular esta camada respons vel pela interpreta o dos programas em bytecode e por convert los 21 em Instru es de m quina Fica armazenado na RAM do RCX pelo que deve ser feito o download via torre de infravermelhos a cada primeira Instala o do sistema Finalmente temos a camada dos Programas onde ficam armazenados os progr
84. ms predicado que determina aleatoriamente um caminho entre A e B caminho A B Cam q tr avessia B A Cam determina o de todos os caminhos entre dois nodos A e B Caminhos Az B LC T setof Cam caminho A B Cam LC Ls Caminhos ur sp ida do pesquisa em largura do dado uma lista de caminhos candidados do 1 se a meta eh a cabeca da lista o caminho eh a solucao do 2 pega o primeiro caminho gera todas as geracoes de filhos do e inclui os novos caminhos no final dos abertos solucao inicio Fim Solucac lt buiscald l 7 inicio P Fam SOlucao o Caso Je buscal IfMetalSolucao OutrosCaminhos Meta IMeta lSoluca o o Caso Ls buscal Caminho RAbertos Meta Solucao trlhos Caminho Filhos conc RAbertos Filhos NovoAbertos buscal NovoAbertos Meta Solucao gera os filhos de um caminho filhos n AcaoN Nodo Caminho NovosCaminhos findall n NomeAcao Filho n AcaoN Nodo Caminhol ac o NomeACao Nodo Filho not member nt gt Filno n _ Nodo Caminho NovosCaminhos Tabela 14 Excerto de c digo Os Canibais e Mission rios 94 7 3 Conclus o Embora n o fosse nosso objectivo aplicar os robots na sala de aula e analisar dados resultantes dessa aplica o estas experi ncias permitiram nos ter uma no o da utilidade da aplica o do trabalho por n s apresentado Em rela o ac o de
85. n is to 1 provide a series of problems appropriate to the various programmatic content to be used in rooms of classes 11 creating and optimizing tools specifically platforms programming for students solve problems through the robots Palavras Chave Ensino e Aprendizagem Rob tica Educativa Lego Mindstorm Programa o Intelig ncia Artificial Plataformas de Programa o Problemas Keywords Teaching and Learning Educational Robotics Lego Mindstorm Programming Artificial Intelligence Programming Platforms Problems vi Aos meus Pais e Irm o Em especial Andreina Agradecimentos O meu agradecimento dirigido ao Professor Doutor Eduardo Leopoldo Ferm n o s pela orienta o deste trabalho como pela confian a entusiasmo disponibilidade paci ncia e amizade que sempre me dispensou Proporcionou ainda as condi es necess rias para a elabora o desta disserta o com apoio material e log stico atrav s do projecto DROIDE e da disciplina de Intelig ncia Artificial que permitiram a minha Integra o e evolu o do trabalho aqui apresentado A Andre na por todo o seu amor e apoio A minha fam lia em especial a minha m e e irm o por todo o apoio incondicional que sempre me deram Dolores e Nelson pela amizade e ajuda na revis o da disserta o Aos elementos do projecto DROIDE pelo apoio material e log stico Aos meus amigos Elci Alcione Patr cia Silva Pa
86. na sec o 4 3 deste cap tulo 46 5 Novas Plataformas de Programa o It is not the strongest of the species that survives nor the most intelligent that survives It is the one that is the most adaptable to change Charles Darwin Na sequ ncia do estudo efectuado sobre o kit da Lego MindstormsiM e das ferramentas existentes apresentamos duas novas plataformas de programa o para programar os robots Na sec o 5 1 apresentamos a plataforma RCX Prolog uma plataforma para programar os robots com a linguagem Prolog nas aulas de Intelig ncia Artificial do Curso Engenharia Inform tica Na sec o 5 2 apresentamos a plataforma RCX Pascal uma plataforma para ser usada nas aulas de Bases de Programa o do 10 ano do ensino secund rio Por fim na sec o 5 3 apresentamos algumas conclus es do trabalho realizado 5 1 RCX Prolog O RCX PROLOG Uma plataforma para usar os robots da Lego Mindstorms nas aulas de Intelig ncia Artificial Tem como objectivos e Trazer s aulas resultados concretos de forma a motivar os alunos para o desenvolvimento das suas tarefas e consequentemente melhorar a sua aprendizagem 47 e Aliar utiliza o dos robots para a resolu o de problemas a utiliza o da linguagem de Programa o PROLOG 5 1 1 Motiva o para a constru o da plataforma Definir Intelig ncia Artificial IA uma tarefa dif cil Nos ltimos anos surgiram quatro defini
87. nde cair l dentro A nica compensa o de viver neste ambiente a possibilidade de encontrar um cofre cheio de ouro O agente tem sensores onde cada um percebe um bocado de informa o e No quadrado que contem o Wumpus e nos quadrados directamente adjacentes n o diagonalmente o agente perceber um cheiro e Nos quadrados adjacentes a um po o o agente perceber uma brisa e No quadrado onde est o ouro o agente perceber um brilho e Quando um agente for contra uma parede perceber uma colis o Entretanto os nossos robots n o t m os sensores para perceber o cheiro a brisa e o brilho Por esta raz o modificamos o tabuleiro colocando marcas que representam a brisa o cheiro e o brilho que podem ser reconhecidas pelo sensor de luz A figura que se segue representa as altera es efectuadas 88 SSSS 4 Stench gt 3 s Sees Stench vile or PEA S SSS S Stench gt Figura 25 O Mundo de Wumpus O original e o modificado A resolu o do projecto estava dividida em duas fases A primeira foi a constru o do robot e a segunda a constru o do programa para resolver o problema Na primeira fase os alunos eram livre de construir o seu robot e os resultados foram em muitos casos absolutamente originais Figura 26 Exemplos de robots constru dos pelos alunos Em rela o segunda fase a experi ncia foi um sucesso e os resultados obtidos mostraram se promis
88. ndizagem da Intelig ncia Artificial nomeadamente PS2004 e Os alunos est o habituados a lidar com robots no seu dia a dia nas tarefas mais comuns Deste modo mais f cil dar exemplos de robots bastante sofisticados que comunicam ideias de forma acess vel 48 e Para os alunos conseguir que um robot tenha um determinado comportamento uma tarefa motivante Usar robots torna se assim uma forma de capturar e manter o interesse no assunto Contudo temos de distinguir entre ensinar rob tica e ensinar com robots No primeiro caso os robots s o o objecto de estudo enquanto que no segundo os robots s o os mediadores para a aprendizagem de um determinado assunto No nosso caso estamos Interessados em usar os robots nas aulas de IA porque podem ser facilmente associados a Agentes FG1997 A met fora de agentes inteligentes foi fortemente usada em IA durante a ltima d cada Um agente pode ser definido como e RN2003 Um agente uma entidade que possa compreender o meio ambiente atrav s de sensores e actuar sobre esse meio atrav s de efectuadores e W2002 Um agente um sistema de computador capaz de ac es aut nomas num determinado contexto de forma cumprir os seus objectivos Perante estas defini es f cil perceber que o RCX pode ser visto como um agente ilustrado na figura seguinte Figura 13 O RCX como um Agente Contudo se queremos v lo
89. ndo necess rios que o professor pode colocar aos alunos ao longo ou depois de conclu da a actividade A tabela seguinte apresenta o enquadramento global das v rias actividades nos conte dos da disciplina de Bases de Programa o 10 ano Actividade Actividade 1 l A Unidade 1 No es Linguagem Pascal B sicas Actividade 2 Actividade 3 Os Primeiros Passos Unidade 1 No es B sicas Vari veis e Express es Explorar o Robot Unidade 2 Algoritmia e Programa o Estruturada Programa o Estruturada Estruturas de Decis o Vamos Decidir Unidade 2 Algoritmia e Programa o Programa o Estruturada Estruturas de Repete Robot Repete Actividade 4 Repeti o Estruturas de Repeti o Estruturada Unidade 2 Algoritmia e Estruturas de Se o Robot Repete Decis o Programa o Estruturada Actividade 5 Actividade 6 Tabela 11 Distribui o dos problemas pelos conte dos program ticos Unidade 3 Estruturas de Dados Vectores e z Guardar Informa o Matrizes 64 6 1 Actividade 1 Introdu o Linguagem Pascal Os Primeiros Passos Programe o seu robot de forma a Avan ar durante um segundo Recuar durante um segundo Virar esquerda Virar direita 4 1 Que altera es teria de fazer ao programa para que agora o robot girasse direita Discuta com os colegas uma poss vel solu o
90. nens aedieab sey ida ind ga dera EE 51 ld AVLOGULOS AG PLANA ski iii dade usb boda d aaa situ dra d EAEE 53 DZ RO MCEPASCAL sscsacesseassiouh io E E AE sedan dasinansehe oonadesbacatounseseteeiaansusat eai 55 5 2 1 Motiva o para a constru o da plataforma icccccccccccccccccsnseseseeeseeeeeeeeceeeeeeeeeaaaaasaessssseeeeees 55 D232 Funcionamento da Plataforma assess Toa SEC bRO A asA ee RGAE 56 D293 Modulosda IG OTA riris iE ATOT E aS 57 5 3 CONCLUSA O srta ads tripas aos alas Gas ON SIS Maua TALS Das anus Ara Lui lara db saia Las das cantinas aa idas 59 6 PROBLEMAS Vonders eiia isa nesDAs a a GSE sa bandos loco VEL ac onUsl dias dese ins a dani dos EEEa 61 6 1 ACTIVIDADE 1 INTRODU O A LINGUAGEM PASCAL ccceescccccesssccccceessccscesessccsceseesseseeues 65 6 2 ACTIVIDADE 2 gt VARIAVEIS E EXPRESS ES acit aa Dina ban idas a a a E a ai 67 6 3 ACTIVIDADE 3 ESTRUTURAS DE DECIS O ccccccceseccceesecccesccccesececeuseceeeecsseuseceseeecesenecess 69 6 4 ACTIVIDADE 4 ESTRUTURAS DE REPETI O c cccccssecccseccececsecncscessscusecceccseescssesssuseseaeucs 73 6 5 ACTIVIDADE 5 ESTRUTURAS DE REPETI O ESTRUTURAS DE DECIS O ceeeeeeeeeeeees 77 6 6 ACTIVIDADE 6 VECTORES E MATRIZES ccccccssecccseccccseccecsccecesececcscceeeecseeesecsseeeseeenecess 19 6 7 CONCLUS O ssa ss RE Is LAND ana BUT E ABS Da Da ONE nai Tan E Daa pa As E ssa assi ra D Es is aaa 83 Te OS ROBOTS EM AC
91. nharias da Universidade da Madeira o projecto DROIDE Os Robots como elementos mediadores entre os alunos e a Matem tica Inform tica iniciado no ano lectivo de 2005 2006 com a dura o de tr s anos D2005 O projecto tem como objectivos 14 e Criar problemas na rea da Matem tica Inform tica a serem resolvidos atrav s dos robots e Criar robots para abordar problemas espec ficos na rea da Matematica Informatica e Implementar a resolu o de problemas utilizando rob tica em tr s tipos de sala de aula o de matem tica no ensino b sico e secund rio o de inform tica no ensino secund rio o de Intelig ncia Artificial Licenciatura em Engenharia Inform tica Did ctica da Inform tica Licenciatura em Ensino da Inform tica e Did ctica da Matem tica Mestrado em Ensino da Matem tica no ensino superior e Analisar a actividade dos alunos aquando da resolu o dos problemas utilizando os robots nos diferentes tipos de aula referidos no II Em suma este projecto pretende descrever analisar e compreender como que os alunos aprendem Matem tica Inform tica tendo os robots como elementos mediadores Projecto DROIDE VIRTUAL O projecto DROIDE VIRTUAL um subprojecto do projecto DROIDE apresentado anteriormente iniciado em Outubro de 2006 AFF2007 O projecto inclui parceiros das Regi es da Madeira e A ores e de Portugal Continental tendo como principal objectivo descrever anali
92. nidas duas constantes e MIN SPEED 5 Representa o Valor 0 106 e MAX SPEED 5 Representa o Valor 255 Nota Para aplicar um comportamento aos motores B e C dever usar as fun es motor b speed valor e motor c speed valor respectivamente Exemplo O programa seguinte permite avan ar o Motor A e C em simult neo durante dois segundos LOCI em eres e uses UO See emosemn begin meros a dir morno MOCO Ol rimemmen motor aspeead 255 motor c speed 2595 7 sleep 2 motor a Olivia dO MOE o EE ne a o ime Existem tr s portas de liga o para os sensores numeradas no RCX por 1 2e3 A cada uma destas portas existe uma constante associada nomeadamente SENSOR 1 SENSOR 2 SENSOR 83 Estas constantes podem ser usadas como argumentos em qualquer uma das fun es que tratem dos sensores A API suporta tr s tipos de sensores ou seja permite nos seus programas usar tr s tipos de sensores 1 Sensor de toque 2 Sensor de luz 3 Sensor de rota o 3 1 Sensor de toque O Sensor de toque tem dois estados Activo ou Inactivo A fun o respons vel pela programa o do sensor de toque a fun o TOUCH porta de liga o do tipo Booleano ou seja retorna Verdadeiro TRUE caso o sensor seja activado Falso FALSE caso contr rio Esta fun o pertence biblioteca dsensor Caso o sensor esta ligado porta 1 do seu RCX a fun o seria aplicada nessa porta ou seja TOUCH SENSOR 1
93. nuel lvares para professores de inform tica e futuros profissionais de ensino finalistas da Licenciatura de Ensino de Inform tica Na sec o 7 2 expomos os projectos para serem resolvidos com os robots em conjunto com a plataforma RCX PROLOG aplicados na disciplina de Intelig ncia Artificial nos dois ltimos anos lectivos Por fim em jeito de conclus o apresentamos algumas reflex es sobre as experi ncias 7 1 Ac o de Forma o Esta ac o decorreu no dia 26 de Maio de 2006 integrada no evento I Workshop Tecnol gico da Escola B sica e Secund ria Padre Manuel lvares O p blico alvo desta ac o foi professores e futuros professores de inform tica finalistas da Licenciatura em Ensino de Inform tica Estiveram presentes 21 formandos de diferentes escolas da Regi o A ac o de forma o teve os seguintes objectivos e Apresentar o kit Lego Mindstorms aos professores para que compreendessem o funcionamento dos robots constatassem as suas 84 capacidades e limita es e se iniciassem no ambiente de programa o da Robotics Invention System 2 0 e na linguagem de programa o RCX code e Apresentar as plataformas RCX PROLOG e RCX Pascal e discutir o contexto e vantagens da sua aplica o e Apresentar uma proposta de actividade para ser aplicada nas aulas de Bases de Programa o 10 ano com o intuito de mostrar como podem ser transformados os problemas tradicionais em problemas
94. o a articula o e o desenvolvimento das aprendizagens nesta rea de forma o J2003 37 Contudo reas de conhecimento como a An lise Programa o Tecnologias Inform ticas e Bases de Dados s o mais valias significativas que se usam em diferentes reas de engenharia e n o s Baseando se neste pressuposto o Curso Tecnol gico de Inform tica oferece uma s rie de disciplinas com a finalidade de e Acrescentar mais valias no dom nio da aplicabilidade da inform tica ao contexto real do quotidiano e Conduzir o aluno resolu o de problemas de uma forma estruturada e sistematizada analisando todos os elementos intervenientes e Proporcionar um conjunto de experi ncias e viv ncias que permita aos alunos acompanhar a permanente evolu o tecnol gica quer profissionalmente quer em termos pessoais e humanos 4 2 An lise Curricular dos Programas Para percebermos em que disciplinas poderiam ser aplicados os robots na resolu o de problemas fizemos uma an lise curricular aos programas homologados pelo Minist rio da Educa o das v rias disciplinas do Curso Tecnol gico de Inform tica do Ensino Secund rio Os programas analisados foram os seguintes e Aplica es Inform ticas A 10 ano JPD2004 e Aplica es Inform ticas A 11 ano PDJ2005 e Bases de Programa o 10 11 e 12 anos GSP 2002 e Tecnologias Inform ticas 10 e 11 anos SCF2001 e T cnicas de Gest
95. o seja capaz de construir programas para problemas mais elaborados conjugando todos os conceitos adquiridos at ao momento Pretende se desta forma que o aluno adquira a capacidade de decompor os problemas nas suas partes e que ao resolver essas partes obtenha a solu o para o todo 78 6 6 Actividade 6 Vectores e Matrizes Guardar Informa o 1 Considere a pista representada na figura seguinte Tenha em conta que pista tem um tamanho fixo de 10 quadrados Um quadrado de cor verde equivale a 3 valores Um quadrado de cor preta equivale a 2 valores Um quadrado de cor branca equivale a 1 valor 1 1 Escreva um programa que guarde num vector os valores correspondentes a cada uma das cores dos quadrados da pista No fim do percurso o robot deve de mostrar ao utilizador atrav s do LCD do RCX o somat rio desses valores 1 2 Altere o programa anterior para que o robot retorne m dia dos valores do vector 2 Considere o seguinte cen rio Tenha em conta que cor preta equivale a 2 valores cor branca equivale a 1 valor Cada vector composto por 5 unidades que correspondem a 5 quadrados Vector Vector 2 1 Programe o seu robot para que seja capaz de comparar dois vectores Sempre que a cor do indice do Vector2 correspondente ao indice Vector1 for diferente o robot dever libertar um som beep para assinalar tal situa o 2 2 Fa a um programa para que o robot retorne
96. o a interface Java 5 Por fim reenvia a confirma o ao programa Prolog rcxjava Com O c digo enviado pelo programa Prolog constitu d por um conjunto de tr s Ats O primeiro representa a ac o Avan ar Recuar Virar at valor luz etc o segundo e o terceiro valores s o os par metros da ac o por exemplo segundos e cent simas de segundos Se n o for necess rio par metro para a ac o o valor enviado o 255 51 comunica o entre o computador e o robot est de uma forma resumida ilustrada na figura seguinte SR o Figura 15 Funcionamento do RCX PROLOG Uma vez que o PROLOG e o NQC trocam valores entre si necess rio que ambas as partes comuniquem na mesma linguagem para que possam interpretar o significado dos valores emitidos A Tabela seguinte mostra parcialmente a estrutura do protocolo de comunica o criado poder consultar mais informa o acerca do protocolo no anexo O Ac o 7 1 1 k NS 2 M x 1 10 Cent 0 99 Cent 0 99 Cent 0 99 Cent 0 99 Tabela 6 Estrutura do Protocolo de Comunica o do RCX PROLOG 52 4 OK 5 1 3 M dulos da Plataforma A plataforma RCX PROLOG est dividida em tr s m dulos nomeadamente o M dulo PROLOG o M dulo de Comunica o e o M dulo NQC que apresentamos de seguida M dulo PROLOG Todo o racioc nio do robot efectuado no computador atrav s de um programa
97. o de Bases de Dados do 12 ano PSD 2006 4 2 1 Aplica es Inform ticas A 10 ano A disciplina de Aplica es Inform ticas A 10 ano uma disciplina de car cter eminentemente pr tico onde se pretende que os alunos desenvolvam capacidades para 38 utilizar adequadamente e manipular com rigor t cnico um conjunto vasto de aplica es inform ticas Como se trata de um programa de aplica es pressup e se que o aluno aplique sistematicamente as aprendizagens feitas de acordo com uma metodologia de aprendizagem activa coordenando a vertente conceptual e operacional dos conte dos e integrando as num contexto de posto de trabalho As principais finalidades a desenvolver ao longo da disciplina no 10 ano s o e Promover a utiliza o das tecnologias de informa o e comunica o numa perspectiva profissional integrada e Desenvolver capacidades para usar adequadamente e manipular com rigor t cnico aplica es inform ticas e Estimular h bitos de an lise critica estrutura global de Aplica es Inform ticas e Promover h bitos de auto aprendizagem nos ajustamentos e evolu o permanente de software e Estimular a capacidade de procura nas solu es inform ticas das ferramentas de sistema capazes de resolver problemas profissionais e Estimular os alunos a examinar criticamente a fun o e o poder das tecnologias de informa o numa vertente profissional e anal tica das a
98. o pode ultrapassar os 3 metros Tipicamente a plataforma Lego Mindstorms serve de base aos robots mas estes podem ser adaptados com diferentes sensores e actuadores Recentemente existem diversas equipas a construir os seus robots de raiz O sucesso desta prova levou a que fossem aparecendo outras competi es que foram sendo integradas no projecto Uma delas designada por salvamento consiste num trajecto a ser percorrido pelos robots onde tem que ser seguida uma linha e no caminho alguns objectos representando v timas t m que ser identificados recolhidos e transportados para outro local ou em alguns casos simplesmente identificados Em Portugal t m se realizado diversas provas do projecto RoboCup http www robocup2004 pt tipicamente integradas nos festivais nacionais de Rob tica que ocorrem desde 2001 O facto de se ter realizado a principal competi o mundial em Portugal no ano de 2004 trouxe ainda mais anima o a esta comunidade Deze Projectos e Iniciativas Mas nem s em competi es existe a utiliza o do robot no ensino da Inform tica Existem outros projectos em todo o mundo que t m usado os robots da Lego para ensinar inform tica alguns a n vel curricular e outros na grande maioria em actividades extracurriculares Apresentamos de seguida um conjunto de casos que achamos pertinentes e que ilustram os trabalhos realizados nesta rea Aprender Programa o com RCX Wong usou os robots RCX
99. o tabuleiro representado na imagem Programe o seu robot para que Estruturas De Decis o 1 1 Se estiver num quadrado preto volte direita e termine a execu o 1 2 Se estiver num quadrado preto avance dois quadrados e termine a execu o 2 Fa a um programa semelhante ao anterior mas agora o robot s avan a dois quadrados quando detectar qualquer cor excepto o preto 3 Altere o programa anterior para que o robot avance para qualquer cor excepto a cor preta e cor branca 4 Monte no robot os dois sensores de toque 4 1 Programe o seu robot para reagir quando pressionado um dos sensores Considere os seguintes comportamentos Pressionar Sensor 1 Recua durante dois segundos e p ra Pressionar Sensor 2 Avan a um segundo volta direita e p ra 4 2 Tendo em conta que pressionar em simult neo os dois sensores uma situa o muito prov vel altere o programa anterior para quando tal situa o acontecer o robot liberte um som beep 69 5 Considere como ponto de partida um dos quadrados do tabuleiro representado na imagem Programe o seu robot para que Se estiver num quadrado preto volte direita e termine a execu o Se estiver num quadrado preto avance dois quadrados e termine a execu o Se estiver num quadrado vermelho avance um quadrado liberte um som e termine a execu o 6 Escreva o programa da quest o 6 usando a estrutura de decis o CASE
100. ode usar as seguintes fun es e Icd_int valor mostra no LCD o valor no formato de n mero inteiro e Icd_ unsigned valor mostra no LCD o valor no formato de numero real com duas casas decimais 110 Por outro lado da biblioteca conio podem ser usadas as seguintes fun es ecputs string Mostra no LCD uma string O exemplo a seguir mostra no LCD a frase Ola Mundo As duas palavras aparecem separadas por um segundo no LCD Drog rom ol eimibialolo 5 uses conto UNISCO begin Go bic MON sleep 1 eps Minor sleep 1 end ecputc caracter valor Mostra um caracter na posi o n do LCD Este valor varia no intervalo 1 4 onde 1 corresponde posi o mais direita do LCD e o valor 4 posi o mais esquerda O programa seguinte imprime no LCD a palavra LUIS program Imorimec uses comme units ee begin eje dim el DRM E Soucek een E o tn COUEC O pes end ecis Limpa o LCD Ainda na biblioteca lcd poder o ser usadas as seguintes fun es elcd power on Liga o LCD elicd power off Desliga o LCD 111 6 Mensagens Um robot pode comunicar com outro atrav s da porta de infravermelhos O RCX pode reagir a mensagens pode enviar mensagens a outro RCX e pode receber mensagens do computador As fun es respons veis pela comunica o entre robots est o definidas na biblioteca Inp A fun o send msg mensagem
101. ojecto Tiny VM O seu objectivo era construir JVM o mais compacta poss vel mas que suportasse as mais complexas evolu es de um sistema Java um produto open source dispon vel no endere o http lejos sourceforge net suportado nos sistemas operativos Windows atrav s do IDE BricxCC 3 3 Ferramentas de Programa o Existentes As ferramentas ou IDE de programa o s o essenciais no processo de programa o do robot Estas s o o elo de liga o entre o aluno a programa o e o robot A seguir apresentamos uma breve refer ncia s principais ferramentas de programa o do RCX nomeadamente o Robotics Invention System o ROBOLAB e o Bricx Command Center 3 3 1 Robotics Invention System O Robotics Invention System 2 0 ou simplesmente denominado por RIS uma aplica o que permite programar o RCX arrastando blocos de c digo para a rea do programa RIS O Big E DOWNLOAD RUN STOP File Edit Settings Helps MainMenu Roverbot t yY Forward 4 Turn Left peepee ee Lo anne mm md Figura 10 Ambiente de programa o do RIS 28 O RIS oferece nos um tipo de programa o muito intuitiva orientada a eventos Ao nosso dispor temos os Blocos Grandes que t m completamente definidos os movimentos do robot e algumas funcionalidades associadas aos sensores Existem tamb m os Blocos Pequenos que permitem controlar pot ncia dos motores vari veis sa da do LCD
102. olu o desses mesmos conceitos e Dominar metodologias de an lise de sistemas inform ticos e Instalar configurar e operar correctamente diferentes sistemas operativos e Adaptar se s novas tecnologias que ir o surgir no decorrer da sua vida activa e Cumprir normas de seguran a de informa o assegurando a manuten o e seguran a dos sistemas operativos 43 e Decidir pela melhor das solu es na realiza o de um problema concreto e Usar v rios suportes de informa o para resolver dificuldades concretas na realiza o de qualquer tarefa 4 2 5 T cnicas de Gest o de Bases de Dados 12 Ano No 12 ano de escolaridade a disciplina T cnicas de Gest o de Bases de Dados constitui uma das especifica es terminais da componente de forma o tecnol gica do Curso Tecnol gico de Inform tica Neste contexto surge sob a forma de uma pr especializa o que dever ter continuidade no mundo do trabalho Sendo o Curso Tecnol gico de Inform tica fortemente orientado para a vida activa natural que as suas componentes terminais ao n vel do ensino secund rio estejam dirigidas para o que possam ser as prov veis orienta es de aplicabilidade no contexto de trabalho Nos termos dos pressupostos orientadores enquadrados pelo Decreto Lei n 74 2004 de 26 de Mar o deve ainda esta disciplina articular se com as aprendizagens desenvolvidas na rea Tecnol gica Integrada ATI nomeadamente com o
103. or a dir mdFwd motor ccqrr mor wo 7 7 7 motor_a_speed 255 motor c speed 255 sleep 2 motor_a_dir mdOff Hocor e dimar end Tabela 4 Exemplo de um programa escrito na linguagem Pascal C C A API de linguagem C C tem um conjunto de fun es definidas que permite programar o robot usando a linguagem C ou C Tal como na API de Pascal o c digo escrito e compilado no IDE BricxCC e para poder ser executado no robot tamb m tem de ser instalado no RCX o firmware BrickOS 3 5 Conclus o Depois da an lise e estudo do kit Lego Mindstorms apresentado ao longo deste cap tulo conclu mos que uma ferramenta muito flex vel tanto a n vel de constru o dos robots e utiliza o dos seus componentes como a n vel de software para a programa o do RCX Para al m das in meras vantagens associadas a este kit queremos destacar a facilidade de constru o do robot podemos dizer que depende da imagina o de cada um e a sua flexibilidade na programa o Apresentamos os firmware s suportados pelo RCX bem como as linguagens de programa o O facto de ser poss vel programar o robot com diversas linguagens abre nos as portas para podermos usar este kit em disciplinas espec ficas de programa o Apresentamos ainda as ferramentas de programa o existentes no mercado para programar os robots onde se destacam o RIS e o ROBOLAB pela sua filosofia de programa o bast
104. orm tica em geral bem como as solu es existentes para a programa o dos robots Este cap tulo pretende ainda enunciar algumas limita es e desafios na utiliza o dos robots no ensino O cap tulo 3 Descri o Te rica dos Robots Apresenta um estudo detalhado sobre o Kit da Lego Mindstorms descrevendo os seus componentes o firmware e linguagens de programa o suportados por este O cap tulo 4 O Ensino da Inform tica em Portugal Apresenta um enquadramento do ensino da informatica em Portugal descreve ainda uma an lise curricular dos programas das disciplinas de inform tica do ensino secund rio e por fim apresentamos as raz es da escolha da disciplina onde os robots ser o usados O cap tulo 5 Novas Plataformas de Programa o Apresenta as plataformas de programa o criadas para programar os robots Temos a plataforma RCX Prolog uma plataforma para programar os robots com a linguagem Prolog nas aulas de Intelig ncia Artificial do Curso Engenharia Inform tica e a plataforma RCX Pascal uma plataforma para ser usada nas aulas de Bases de Programa o do 10 ano do ensino secund rio O cap tulo 6 Problemas Apresenta uma s rie de problemas para serem usados nas aulas de Bases de Programa o de 10 ano para serem resolvidos usando a linguagem pascal e os robots atrav s da plataforma RCX Pascal apresentado no cap tulo anterior O cap tulo 7 O Robot em Ac o
105. orms default asp LejOS http lejos sourceforge net p_technologies rcx lejos php LabVIEW http www ni com labview Levesque H J M Pagnucco Legolog Inexpensive Experiments in Cognitive Robotics 2000 Martha C Scott M Elissa M Merredith P Chris R ROBOLAB Reference Guide Version 1 2 LEGO Educational Division 2002 Lego Mindstorms NXT http mindstorms lego com Overview Orazio M Henrik L Maurizio C Robotics as na Educational Tool Jl Of Interactive Learning Researche 1999 Pinto M L S Dias P M Jo o S M Programa de Aplica es Inform ticas A Curso Tecnol gico de Informatica 11 Ano 2005 Parsons S Sklar E Teaching AI using LEGO Mindstorms Proceedings of the AAAI Spring Symposium on Accessible Hands on Artificial Intelligence and Robotics Education Stanford 2004 102 PSD 2006 RIS RP2004 RJA RN2003 SCF2001 W2002 P1980 22004 W2001 Pinto M Silva M Dias P Moreira P Jo o S Programa de T cnicas de Gest o de Bases de Dados 12 ano Curso Tecnol gico de Inform tica 2006 Robotics Ivention System http mindstorms lego com eng products ris index asp Rogers C Portsmore M 2004 Bringing Engineering to Elementary School Journal of STEM Education 5 3 4 RCX JAVA API http www escape com dario java rcx Russell S J and P Norvig Artificial Intelligence A Modern Approach Second Edit
106. ovimente Os motores ser o ent o a fonte principal de energia do robot uma vez que a sua fun o transformar energia el ctrica em energia mec nica Figura 4 Motor Os motores foram concebidos para girar a uma voltagem de 9V Contudo s o toler veis diminui o desta voltagem e quando tal acontece simplesmente giram mais devagar 3 1 3 Os Sensores Existem basicamente quatro tipos de sensores que podem ser ligados a uma das tr s portas sensor de luz sensor de toque sensor de rota o e sensor de temperatura Os sensores podem ser classificados em dois tipos os activos e os passivos Os passivos s o os que n o necessitam de energia para funcionar como o sensor de toque e o de temperatura Por sua vez o sensor de luz e o de rota o pertencem ao tipo activo Os sensores s o ligados ao RCX utilizando o mesmo tipo de cabo usado para ligar os motores E importante referir que os sensores de rota o e temperatura n o fazem parte do Kit original mas podem ser facilmente adquiridos 23 Sensor de Luz O sensor de luz mede a intensidade de luz num determinado ponto O sensor de luz emite tamb m uma luz que possibilita apontar o sensor numa determinada direc o e medir as diferen as da intensidade de luz num determinado objecto Figura 5 Sensor de Luz As medidas feitas pelo sensor s o guardadas em percentagem 0 a 100 sendo mais comuns os valores entre 40 e 60 O RCX utiliza
107. plica es e Promover o Interesse pela ci ncia tecnologias e pela investiga o cient fica e tecnol gica numa perspectiva de forma o permanente e Promover o desenvolvimento de compet ncias de trabalho em equipa e responsabilidade individual Esta disciplina pretende desenvolver nos alunos as seguintes compet ncias e Demonstrar destreza no trabalho em ambientes gr ficos e Identificar e resolver problemas de utiliza o de sistemas operativos e Manipular documentos de diferentes tipos e dimens es numa perspectiva de produ o para utilizador 39 e Manipular a organiza o da informa o numa perspectiva integrada de descri o e c lculo e Assumir responsabilidades de trabalho individual e em equipa e Manifestar disponibilidade para aprofundar a sua forma o no contexto da sociedade de reformula o AZ Aplica es Inform ticas A 11 ano O 11 ano da disciplina de Aplica es Inform ticas A o ano terminal desta disciplina no contexto curricular do curso Esta disciplina cobre duas componentes de aprofundamento de saberes espec ficos e duas de introdu o a reas que sendo essenciais possuem n veis e especificidades diferentes e inovadoras Em rela o s primeiras duas componentes o programa cobre a rea de concep o de Web Sites e a rea de Multim dia J no que diz respeito s componentes inovadoras a disciplina cobre a rea de An lise de Sistemas e Intelig n
108. rabalhos Futuros I hear and I forget I see and I remember I do and I understand Confucius Este cap tulo apresenta as conclus es gerais de todo o trabalho de investiga o relativamente concep o dos problemas e plataformas de programa o para usar o robot como mediador entre o aluno e a programa o O cap tulo identifica e descreve ainda alguns aspectos em aberto que merecem trabalho futuro 8 1 Conclus o O uso de robots no ensino tem vindo a afirmar se como uma ferramenta muito til em especial nas reas cient ficas e tecnol gicas Contudo real a falta de estudos na prepara o de plataformas de programa o e de problemas para serem usados em contexto nas aulas Identificamos desde logo os seguintes objectivos que serviram de guia para o nosso trabalho de investiga o e Criar problemas para serem resolvidos usando os robots nas disciplinas de programa o do ensino secund rio e Analisar optimizar e desenvolver plataformas para serem aplicadas nas disciplinas onde os robots possam ser usados 96 e Desenvolver uma plataforma para programar os robots nas aulas de Intelig ncia Artificial do ensino superior usando a Linguagem Prolog e Criar materiais de suporte para alunos e professores das ferramentas solu es desenvolvidas Em rela o aos problemas apresentados no cap tulo 6 e ap s an lise cuidada aos programas das disciplinas de Inform tica do Ensino Sec
109. rav s da Integra o destes elementos constr i e programa dispositivos automatizados com o objectivo de explorar conceitos das diversas reas do conhecimento C2002 De acordo com Zilli a rob tica educativa al m de proporcionar aos alunos o contacto com a tecnologia actual sugere o desenvolvimento do seguinte conjunto de compet ncias 72004 e Racioc nio l gico e Habilidades manuais e est ticas e Rela es interpessoais e intrapessoais e Utiliza o de conceitos aprendidos em diversas reas do conhecimento para o desenvolvimento de projectos e Investiga o e compreens o e Representa o e comunica o e Trabalho com pesquisa e Resolu o de problemas por meio de erros e acertos e Aplica o das teorias formuladas a actividades concretas 10 e Utiliza o da criatividade em diferentes situa es e Capacidade cr tica A Rob tica Educativa pode ser vista como uma ferramenta abrangente que pode ser usada nos diversos n veis de ensino e como forma de abordar diversos conte dos sendo Integrada no ensino numa perspectiva construtivista 2 2 A utiliza o dos robots da Lego Mindstorms no Ensino da Inform tica Nesta sec o pretende se apresentar os principais projectos e iniciativas da utiliza o Robots da Lego Mindstorms no ensino mais concretamente no ensino da Inform tica que foram sendo desenvolvidas ao longo dos ltimos anos 22 Competi es Ser incontest
110. rdados os firmware do RCX A vantagem da utiliza o do BricxCC deve se ao facto do utilizador ter sua disposi o a possibilidade de poder compilar e depurar o programa pr tica essencial na aprendizagem da programa o O utilizador tem tamb m sua disposi o v rias op es que v o desde a configura o da porta onde est ligada a torre de infravermelhos at comandar o RCX remotamente 3 4 Linguagens de Programa o Os Robots Lego MindStorms t m uma grande comunidade de f s e alguns deles t m vindo a desenvolver ao longo dos tempos diferentes formas de programar o RCX Criam clones das linguagens de programa o existentes com as quais se sentem mais a vontade ou at criam novas linguagens Neste sentido podemos classificar as linguagens de programa o em dois grupos linguagens nativas e linguagens n o nativas As linguagens nativas s o todas as linguagens que correm sobre o firmware LEGO apresentado na sec o anterior As linguagens n o nativas s o todas as linguagens que necessitam de firmware alternativo como o caso do BrickOS e LejOS para poderem ser executadas no robot 31 No primeiro grupo encaixa apenas a linguagem NQC enquanto que no outro grupo o leque de linguagens superior A seguir apresentamos as linguagens de programa o existentes para os robots 3 4 1 Linguagem Nativa NQC NQC ou Not Quite C uma linguagem simples para programar os robots da Lego
111. rior tem como prop sito dois factores e Reunir um conjunto de tecnologias existentes e criar alguns componentes de forma a optimizar o processo de programa o dos robots usando a linguagem Pascal no contexto da disciplina em quest o e Trazer s aulas resultados concretos de forma a motivar os alunos para o desenvolvimento das suas tarefas e consequentemente melhorar a sua aprendizagem 5 2 1 Motiva o para a constru o da plataforma A Inform tica uma rea muito diversificada e se nos focarmos no ensino da programa o torna se numa rea exigente Muitas vezes existem conceitos fundamentais que s o ensinados na sala de aula em relativamente pouco tempo Al m disso os m todos tradicionais de ensino tendem a favorecer as abstrac es o que frequentemente faz com que os alunos tenham dificuldade em compreender o comportamento dos programas inform ticos e reconhecer a relev ncia das tarefas que lhes s o propostas AFF2006 Pelas raz es acima apresentadas propomos esta plataforma para usar o robot como mediador entre o aluno e os conceitos de programa o tal como na plataforma anterior pretende se ensinar com robots de forma a motivar e tornar os conte dos da programa o mais pertinentes para os alunos e consequentemente contribuir para a melhoria do processo de aprendizagem Como base para o nosso trabalho tivemos em conta a ferramenta BricxCC pelo facto de suportar a API de Pascal e o
112. ro de forma a dar continuidade ao trabalho e estudos em curso a migra o das plataformas apresentadas para este novo modelo 99 Refer ncias AFF2007 ARJ B2002 B2003 BCC BOS C2002 CCM2006 D2005 DH2000 DVL 2004 Alcione E Ferm E Fernandes E DROIDE VIRTUAL UTILIZA O DE ROBOTS NA APRENDIZAGEM COLABORATIVA DA PROGRAMA O ATRAV S DA WEB 2007 API RCX Java http www escape com dario java rex David Barnes Teaching Introductory Java through LEGO MINDSTORMS Models SIGCSE 2002 Dave Baum NOC programmer s Guide 2003 Bricx Command Center http bricxcc sourceforge net BrickOS http brickos sourceforge net Chella M T Ambiente de Rob tica para Aplica es Educacionais com SuperLogo Universidade Estadual de Campinas UNICAMP Faculdade de Engenharia El ctrica e da Computa o FEEC Disserta o de mestrado 2002 C lia R Clara C Manuel C RobotCarochinha Um Estudo sobre a Rob tica Educativa no Ensino B sico 2006 DROIDE Os Robots como Elementos Mediadores entre o Aluno e a Matem tica Inform tica Projecto do Departamento de Matem tica e Engenharias da Universidade da Madeira 2005 Madeira Druin A Hendler J Robots for kids Exploring new technologies for learning San Diego CA Academy Press 2000 Douglas M Viviane A Luiz G Em Evid ncia o Potencial e Limita es dos Compiladores NQC e BRICKOS e seus R
113. robots como elementos mediadores entre o aluno e a inform tica nomeadamente Projecto DROIDE UMa D2005 e o Projecto DROIDE VIRTUAL AFF2007 Para finalizar citamos algumas reflex es sobre as limita es e desafios que podem surgir como consequ ncia da integra o dos Robots no ensino da inform tica No cap tulo seguinte apresentamos uma descri o te rica do kit Lego Mindstorms 17 18 3 Descri o Te rica dos Robots One a robot may not injure a human being or through inaction allow a human being to come to harm Two a robot must obey the orders given it by human beings except where such orders would conflict with the First Law Three a robot must protect its own existence as long as such protection does not conflict with the First or Second Laws Isaac Asimov Laws of Robotics from I Robot 1950 Este cap tulo descreve o kit Lego Mindstorms e as suas principais caracter sticas Na sec o 3 1 apresentamos o kit Lego Mindstorms e os seus componentes na sec o 3 2 os firmware s utilizados e suportados pelo RCX Na sec o 3 3 apresentamos uma descri o das ferramentas existentes no mercado para programar os robots da Lego Muindstorms e ainda na sec o 3 4 as linguagens de programa o e alguns exemplos Por fim na sec o 3 5 faremos uma breve conclus o sobre o cap tulo 19 3 1 O Kit Lego Mindstorms 2 O kit Lego Mindstorms
114. roide rcxpascal 8 2 Trabalhos Futuros A realiza o de qualquer trabalho de investiga o encontra se necessariamente incompleta e suscita linhas em aberto que poder o ser alvo de trabalho futuro Numa perspectiva objectiva e pragm tica identificam se os seguintes aspectos principais e Aplica o dos problemas apresentados em situa es reais de sala de aula e an lise dos resultados e Migra o das plataformas apresentadas para a nova vers o dos robots da Lego Segue se uma breve descri o dos poss veis trabalhos futuros acima enumerados 98 Aplica o dos problemas apresentados em situa es reais de sala de aula e an lise dos resultados Como j referido n o era nosso objectivo aplicar os problemas e analisar os resultados que surgissem dessa aplica o Contudo sugerimos vivamente este trabalho pois acreditamos que ser uma mais valia para o ensino da programa o em n veis Iniciais como o caso da disciplina de Bases de Programa o de 10 ano Como resultado da ac o de forma o desenvolvida apresentada no cap tulo 7 existe ja professores interessados na sua utiliza o pelo que ser o desenvolvidos esfor os neste sentido Migra o das plataformas apresentadas para a nova vers o dos robots da Lego Dada a iminente descontinua o j anunciada pela Lego da produ o do modelo RCX em detrimento da vers o denominada por NXT NXT ser necess rio como trabalho futu
115. roso usado por engenheiros e cientistas em universidades e ind strias o lider entre o software de ferramenta de desenvolvimento para medidas e controlo Foi criado pela National Instruments Texas US em 1997 3 3 3 Bricx Commander Center Mark Overmars criou o Bricx Command Center BricxCC BCC que pelo menos na vers o 3 3 permite programar o RCX e outros kits semelhantes Cybermaster Scout Spybot e Microscout O BricxCC uma aplica o que corre sobre Windows e classificado como um IDE de programa o Enquanto que no RIS a programa o feita atrav s da combina o de blocos no BricxCC feita atrav s de linhas de c digo escritas o que a direcciona para um p blico alvo que possui alguns conhecimentos de programa o A figura seguinte mostra o ambiente de programa o do BricxCC 30 E Bricx Command Center File Edit Search View Compile Tools brickOS Window Help Debts Ew amp 7 amp program baga uses conio stdlib unistd dmotor dsensor romlcd begin motor a dir mdFwd motor c dir mdFwd motor a speed 250 motor c speed 250 delay 300 permite avan ar um segundo motor a dir mdOff motor c dir mdOff end Figura 12 Ambiente de programa o do BricxCC Esta ferramenta suporta a programa o do RCX em linguagem C C Pascal e Java usando firmware alternativos nomeadamente o brickOS e leJOS No cap tulo 3 sec o 3 5 ser o abo
116. s embora n o seja poss vel diferenciar qual deles foi activado Sensor de Rota o O sensor de rota o consegue detectar rota es de 1 16 ou seja 22 5 bem como distinguir o sentido da rota o Figura 7 Sensor de Rota o Contudo este sensor tem o inconveniente de necessitar de calibra o Outro inconveniente diz respeito ao facto de haver atrito no pr prio sensor o que pode perturbar de alguma forma a medida efectuada Sensor de Temperatura Este sensor dependendo da forma como configurado retorna valores de temperatura em graus Celsius ou Fahrenheit O sensor capaz de medir temperaturas desde 20 C a 70 C ou de 4 F a 158 F Figura 8 Sensor de Temperatura Contudo este sensor mostra se com um desempenho fraco uma vez que muito lento a mudar de um valor para outro pelo que pode nao ser o melhor se se pretende medir mudan as repentinas de temperatura 25 3 1 4 A Torre de Transmiss o Para enviar ao RCX o firmware ou programas necess rio um computador ao qual se liga via porta USB uma torre de infravermelhos ilustrado na figura seguinte E esta torre que envia para o receptor de infravermelhos existente no RCX toda a informa o Toda a comunica o entre o computador e o RCX efectuada via infravermelhos utilizando o emissor receptor presente no RCX e na torre Figura 9 Torre de Infravermelhos As comunica es entre a torre de infravermelho
117. s e o RCX est o sujeitas s limita es da tecnologia dos infravermelhos pelo que a presen a de um obst culo opaco entre o emissor e o receptor pode comprometer a comunica o De qualquer forma poss vel configurar a torre no sentido de emitir para um alcance superior o que requer maior pot ncia na emiss o do sinal e consequentemente maior consumo de energia fornecida pela porta USB do computador ao qual a torre est ligada 3 2 O Firmware O firmware o sistema operativo SO para o RCX que provid ncia o funcionamento de todo o sistema respons vel pela interpreta o dos programas em bytecode e convert los em instru es m quina Fica armazenado na RAM do RCX pelo que deve ser feito o download via torre de infravermelhos a cada primeira instala o do sistema Segue se uma breve descri o dos principais firmware existentes para o RCX 26 3 2 1 LEGO O firmware da Lego ou firmware padr o um sistema operativo simples constitu do basicamente por uma m quina virtual que apresenta uma grande estabilidade DVL2004 Uma das vantagens da m quina virtual a abstrac o da arquitectura pois se a arquitectura for alterada o firmware pode continuar a ser compat vel com os programas escritos antes das altera es Tem como tarefa b sica a Interpreta o do bytecode e transform los numa s rie de Instru es e dados apropriados aos microprocessadores Hitachi H8 do RCX
118. sar e compreender o processo de constru o do conhecimento acerca dos conceitos de programa o e o desenvolvimento de compet ncias nesta rea quando os alunos colaboram virtualmente na realiza o de projectos de rob tica Os grupos envolvidos colaboram virtualmente no desenvolvimento de projectos de rob tica com o intuito de verificar a validade do uso de robots no ensino de programa o num contexto de educa o dist ncia bem como analisar o papel das competi es rob ticas na motiva o e no desenvolvimento da capacidade de trabalho em equipa 15 2 3 Limita es e Desafios integra o dos Robots no ensino da inform tica levanta algumas quest es que podem constituir entraves sua utiliza o Algumas dessas quest es dizem respeito ao kit Lego Mindstorms pois necess rio formar os professores no sentido de agilizar a utiliza o e manuseamento deste kit E fundamental que o professor tenha conhecimento do seu funcionamento pois s o materiais com particularidades pr prias Outra quest o pertinente a prepara o dos professores para as metodologias a adoptar uma vez que o trabalho a desenvolver est fora da pr tica que normalmente desenvolvido na sala de aula As metodologias a adoptar s o claramente diferentes das pr ticas mais comuns Por outro lado h a necessidade de esclarecer as pessoas pois existe ainda uma ideia distorcida do que a rob tica Ao falarmos de rob
119. so de Engenharia Inform tica Com o objectivo de usar o robot como mediador entre o aluno e o ensino da programa o identificamos os conte dos program ticos das diversas disciplinas do Ensino Secund rio e fizemos o levantamento de ferramentas e solu es tecnol gicas existentes que pudessem ser aplicadas nas aulas Como contributo desta investiga o pretende se 1 disponibilizar uma s rie de problemas adequados aos v rios conte dos program ticos para serem utilizados nas salas de aulas 11 criar e optimizar ferramentas mais concretamente plataformas de programa o para os alunos resolverem os problemas atrav s dos robots Abstract For some years that have been developed in several sites in the world experiments with the use of Robots as an educational tool with particular reference to the level of Higher Education and in some cases in the primary or secondary education This research work aims to make a critical analysis on the use of robots in the teaching of programming in the disciplines of Informatics of Secondary and discipline of Artificial Intelligence s Degree Course of Engineering Informatics In order to use the robot as a mediator between the student and teaching of programming identified the programmatic content of the various disciplines of Secondary and made the lifting of existing tools and technology solutions that could be applied in the classroom As a contribution of this research pla
120. sores A seguir mostramos um excerto de c digo produzido por um grupo de alunos Main NJ LOLCLALIZA N T executa Nr 1 iG ye FEM IN Tl 6 y Inicializa N T lt write Bem vindo a Caverna do Wumpus M is N N Cria mundo M T Deus criou o mundo em 7 dias n s apenas usamos duas linhas a recursividade divina cria munco lO ill J cria mondo N TOTTI s Ni as N l cria mundo NL T executa N Pos Ti T G ler sensores A B C Pos avalia mundo N Pos A B C Tip TI mudar lugar 4 Pos T1 T2 89 mostrar caverna N T223 explorar mundo N Pos I2 TE 6 Avalia o Mundo usando a informa o dos sensores avalia mundo N POs Ay BC TI z avalia frente N Pos A B C Tra Ti avalita direita Nn Pos A B C T1 EA avalia esquerda N Pos A B C T2 TS3 avalia tras tN Pos AzB C TS fi avalia frente N POs 777 ERE Es Pos N UNI E avalsa srente N Pos A B taTLATE s Nxt is Pos N get pos Nxt Ti Val verifica perigo Val A B C Ans mudar lugar Ans Nxtp Tip TE Q idem direita esquerda tras explorar o mundo explorar mundo ppp pd SS l i ly WeELBe Encontr r o tesonro Ah Abt explorar mundo N Pos Ti T 0 6G explorar frente N Pos Ti T1 0 G1 explorar qireita N Pos Ti Tz GlyGZ explorar esquerda N Pos T2 T3 G2 G3 explorar tras N Pos T3 T f G3 6G explorar _ frente _ _ T T 1 1 Es explorar trente iN Pospr Ty OU
121. ua aplica o neste caso particular o Mundo de Wumpus documentado na sec o 7 2 deste cap tulo e analisamos as vantagens da sua utiliza o A terceira parte ficou reservada quest o Como usar os robots nas aulas de Bases de Programa o Pretend amos dar aos formandos presentes uma vis o geral de como poderiam ser usados os robots para ensinar a programar quais as principais diferen as deste novo m todo de ensino e quais as necessidades para a sua aplica o 86 Come amos por apresentar um exemplo pr tico de como transformar uma quest o dita tradicional numa quest o para ser resolvida usando o robot apresentado na tabela seguinte Problema Tradicional Usando uma estrutura de repeti o escreva um programa que imprima no ecr 5 vezes a palavra DROIDE finalizando com a frase FIM DO PROGRAMA Problema para o robot Usando uma estrutura de repeti o escreva um programa para que o robot seja capaz de avan ar e recuar 5 vezes finalizando com um som Tabela 12 Transforma o de um problema Depois apresentamos a plataforma RCX Pascal e todo o seu modo de funcionamento Os formandos testaram a plataforma j instalada nos seus computadores resolvendo em conjunto dois problemas que cobriam situa es simples da utiliza o de estruturas de repeti o ver anexo D 7 2 Disciplina de Introdu o Intelig ncia Artificial Introduzimos a plataforma RCX PROL
122. ulo Rodrigues Vitor Pereira Rui Alves Carlos Silva Jord o Abreu Feliz Pereira Pascal e lvio Jesus que foram apoiando e perguntando pelo trabalho e suportaram as minhas aus ncias vii ndice RESUMO sn ua acer lectern Pre as is Eua RIO aa ER a Da pd SS a a o Ra A A SUR AR SR a Il ABSTR O Dna ee Rr Ae RRO nO A Re Rr SE Re nS ORE IV PALAVRAS CHAVE aissccccccicccuatencecdecsecvsavcvecuscsesacdscccesesdecedacccesevawsdeswsoaseeccs cadcvedenscdecebesddscdecdsoeseuveteoeccsees V KEYWORDS E EEA a a a hn E O E E LEE lees V AGRADECIMENTOS css Ena ce Ra ca alisa s EEU Naaa Tso aiS Ola ns SET Ca DOS aa Vil INDICE sora as Ro RUI n ITT meen NES TOR Sea DAR eT Oo NELAS RO ony eee mer Dee vere VIII INDICE DE FIGURAS c ccccccscoccecoccecsccecsccccececcscessecscsecescaceccaceccacecencececcecencacescecencacencecencacencacencacencacenees X INDICE DE TABE A Saai E A ES XI ACRONIMOS caian a a a OS RGE ca a XII s INTRODU O suada E ppa Ana O aaa aa RO a 1 1 1 PORQU OS ROBOTS LEGO MINDSTORMS ooo eeceeseccceccccscccccccnsecccsscccesscccecensecensnsceaeeces 2 1 2 INFOTIVAC AO F OBIEC DIY OS oranin a irado sane aa section aia beara lara paca eel 3 13 Os ROBOTS COMO MEDIADORES ENTRE O ALUNO E A INFORMATICA cccccccsseeccccecececccceaeeceeeens 4 1 4 CONTRIBUIGOES DA DISSERTA O irado oi ia neta OO aR ad DESA DA ona 5 1 5 CIRGANIZA O DA DISSERTA O sussa ando GU A e ER CEO ES CRASE cum N E an 6 2 ES FADO DAA RE ia a E EUA ENC CA
123. und rio a escolha recaiu na disciplina de Bases de Programa o 10 ano pelo facto de ser uma disciplina base do ensino da programa o Criamos uma s rie de problemas enquadrados nos conceitos da disciplina que permitir o uma aprendizagem evolutiva Estes problemas s o uma mais valia pois os robots possibilitam resultados vis veis e concretos motivando os alunos para a aprendizagem de conceitos mais avan ados Como consequ ncia da resposta ao objectivo anterior surgiu nos uma necessidade eminente t nhamos os problemas e a disciplina onde aplicar esses problemas faltava nos a ferramenta que permitisse resolver esses problemas usando os robots e a linguagem de programa o proposta pelo programa da disciplina Do estudo efectuado sobre as ferramentas linguagens de programa o e firmware s existentes no mercado verificamos que poder amos integrar diversas tecnologias para dar resposta a esta necessidade Criamos ent o a plataforma RCX Pascal apresentada no cap tulo 5 que permite a programa o do robot usando a linguagem Pascal Ainda neste contexto das plataformas e para dar resposta ao terceiro objectivo estabelecido criamos a plataforma RCX PROLOG Esta plataforma permitiu por um lado a introdu o dos robots nas aulas de Intelig ncia Artificial e por outro a possibilidade de programar esses robots usando a linguagem Prolog Esta plataforma j foi usada nas aulas de Intelig ncia Artificial
124. ute os seguintes passos 118 e Colocar se na sua pasta de trabalho comando cdleclipse e Executar o seguinte comando ngc Susb d fia nqc e carregue em RUN no RCX 119 RCX PROLOG Guia de Utiliza o Para correr o seu programa dever seguir os seguintes passos 1 Executar o programa escrito em Prolog 1 1 Edite o ficheiro main pl e na linha de c digo Maquina computador 1567 mude computador para 0 nome do seu computador 1 2 Inicie o Eclipse Menu Iniciar gt Programas gt Eclipse 5 4 gt DosEclipse e e Compile o ficheiro main pl comando compile main pl e Corra o predicado principal comando main 2 Executar a classe Control Numa janela de linha de comandos execute os seguintes passos e Colocar se na sua pasta de trabalho comando cdleclipse e Executar o seguinte comando java Declipse directory C leclipse Control Dar assim in cio a execu o do seu programa 120 Anexo C Protocolo de Comunicacao da Plataforma RCX PROLOG C d Par metro 1 1 Avan ar Seg 0 254 Cent 0 99 2 AvangarApenasMotorA Seg 0 254 Centjo 99 3 Avan arApenasMotorB Seg 0 254 Centjo 99 4 AvangarApenasMotorC Seg 0 254 Centjo 99 5 Avan arat Toque Sensori o S o o 6 Avan arat Toque Sensor3 Z oZ ooo ooo o o 7 Avan arat Toque Sensor 1 83 o Z o o o Tooo o 8 _ Avan ar at Sensor de Luz N Min 1 100 N M x 1 100
125. vector para o outro O professor deve ajudar os alunos nesta quest o lan ando dicas e apoiando cada uma das solu es encontradas Na quest o 3 pretende se que os alunos consolidem e pratiquem todas as quest es inerentes aos vectores e manipula o dos seus dados 81 Na quest o 4 pretende se que os alunos percebam o conceito de matriz essencialmente na vis o de vector bidimensional ou seja cada um dos seus elementos acedido por dois ndices O professor deve explicar todos os conceitos relacionados com matrizes e utilizar o conceito de ciclos encadeados para explicar aos alunos como podem percorrer todos os elementos da matriz Na al nea 3 pretende se que o robot leia todos os valores mas o c lculo do somat rio depende da condi o de considerar apenas os elementos da diagonal Prolongamentos e Variantes Como variante quest o 1 o professor pode pedir aos alunos para programar o robot para que no fim do percurso o robot retorne o somat rio dos valores das posi es pares do vector Como variante quest o 4 o professor pode pedir aos alunos para programar o robot para que retorne o somat rio dos valores da diagonal inferior da matriz 82 6 7 Conclus o Acreditamos que a utiliza o dos robots nas aulas de uma disciplina de introdu o programa o uma mais valia para a compreens o dos conceitos Os robots possibilitam resultados vis veis e concretos motivando os alunos para a aprendizagem d

Download Pdf Manuals

image

Related Search

Related Contents

User Manual  添付文書  BS110/User Guide  Manual De Instalación Poste PMAG 063  Einführung Packliste Was das EagleEyes können  Frigidaire 154428101 User's Manual  HUE-500 manual_v1.00_8-8  取扱説明書のダウンロード  L:\LIT\English - resized - Brad  

Copyright © All rights reserved.
Failed to retrieve file