Curs per a professors d’Introducció a LEGO® Mindstorms NXT i EV3
(versió 4.6)
Els tallers de robòtica educativa amb tecnologia LEGO tenen moltes característiques que els fan extremadament atractius des de molts punts de vista i són una molt bona forma de despertar des d’edats molt joves la passió per la ciència, la tecnologia, la informàtica i moltes altres matèries que es poden relacionar de forma transversal.
Es tracta de presentar la tecnologia als joves d’una forma lúdica, on l’aprenentatge es realitza a través del joc, però de forma dirigida. Aquest fet aprofita la motivació personal per dur a terme un aprenentatge molt més eficaç i d’alt nivell. Els infants aprenen dels seus propis errors, aprenen a treballar en equip i, el que és molt important, comparteixen els seus propis coneixements, posant en pràctica els valors del que s’anomena “gracious professionalism” o professionalisme cordial, mantenint un nivell de competència just.
Objectiu
L’objectiu del “Curs per a professors d’Introducció a LEGO Mindstorms NXT i EV3” és proporcionar als professors un curs d’introducció a la tecnologia de LEGO Mindstorms des d’un nivell bàsic fins un nivell avançat, amb exemples simples i uns altres més complexes, per tal de que cada professor/a pugui utilitzar-lo per crear el seu propi curs afegint o traient les parts que consideri oportú.
El curs també compta amb parts teòriques que donen un suport més conceptual als exercicis i permeten que els alumnes posin en pràctica aquests conceptes, per entendre millor la seva utilitat.
Tot i que el curs ofereix uns exercicis específics dirigits d’una forma molt específica, per tal d’explicar millor la progressió del coneixement, el professor/a pot adaptar-los o només utilitzar-los de guia per tal de que cada alumne o grup d’alumnes pugui adquirir els mateixos coneixements, però des dels seus propis projectes. Finalment, el curs aporta uns coneixements sobre la tecnologia i el programari de LEGO Mindstorms NXT-G i EV3 molt útils i difícils d’obtenir que permeten arribar molt lluny amb relativament poc esforç.
Introducció
Abans de començar el curs és aconsellable que la professora o professor llegeixi la introducció al programari del manual d’usuari. En concret, la part de programari sobre la realització del primer programa mostra com realitzar aquest primer programa i és útil per familiaritzar-se amb els components bàsics de l’aplicació de programació del robot. També és útil llegir la part d’interfície d’usuari del programari, que mostra tots els components de l’aplicació, la paleta de programació, que mostra i explica els diferents blocs que serveixen per programar el robot i la seva estructura de menús, el panell de configuració, que permet configurar els diferents atributs de cada bloc, i finalment el controlador que permet compilar, gestionar la memòria i salvar els programes en el robot per poder-los executar.
Per realitzar el curs, s’utilitzarà el model bàsic de robot (un per NXT i un altre per EV3), un vehicle equipat amb sensors, que permetrà realitzar els exercicis de totes les unitats didàctiques, al qual s’aniran afegint i/o modificant aquelles parts que siguin necessàries. Per tant, abans de començar els exercicis caldrà haver construït aquest primer robot seguint les instruccions de muntatge.
El curs està organitzat en 9 unitats didàctiques o d’aprenentatge i conté diferents exercicis amb nivells de dificultat creixents i un exercici incremental que s’utilitza al llarg de tot el curs i que es realitza de diferents formes, segons els conceptes estudiats en cada unitat didàctica. Al curs es van afegint altres unitats didàctiques o d’aprenentatge que focalitzen en aspectes més puntuals o específics i també conté un annex. Això permet veure la gran potència de la programació i de la robòtica que permeten resoldre un mateix repte de formes molt diferents, aconseguint una solució amb més o menys precisió i robustesa, en funció tant de l’estratègia de programació com de l’ús adequat de sensors.
A més dels exercicis i les explicacions del programari, les unitats didàctiques inclouen apartats amb conceptes teòrics per explicar als alumnes (sobre fons de color blau), suggeriments específics respecte del programari i estratègies de programació o trucs per evitar problemes (sobre fons de color groc) i apartats amb un resum de coneixements adquirits (sobre fons de color verd).
Índex de les unitats didàctiques del curs i calendari
UNITAT 1. Introducció al curs: els robots i la tecnologia, introducció a les peces de LEGO Technic, als motors, als sensors i al programari (1-2 sessions)
Temes: introducció al programari, a la lògica de programació i a la relació amb les parts del robot.
UNITAT 2. Motors, desplaçaments i girs: el control precís de la distància recorreguda (2 sessions)
Temes: els motors, càlcul de rotacions en funció del diàmetre de la roda.
UNITAT 3. Sensors, condicions i bucles: la presa de decisions (2-3 sessions)
Temes: diferents tipus de sensors i calibratge, bifurcació, bucle, arrancar processos en paral·lel.
UNITAT 4. Explorant llindars: “experiment” amb un bloc espera i una bifurcació associats a un sensor (1 sessió)
Temes: aprofundiment sobre el concepte de llindar entre vàries mesures i ús amb els blocs espera i bifurcació, verificació de criteris i mesures amb un experiment en Mindstorms.
UNITAT 5. Bifurcacions i bucles avançats: lògica de desplaçament i presa de decisions en funció d’una combinació de sensors (2-3 sessions)
Temes: combinació de sensors amb bifurcació i bucle, bloc lògic (bucles niats o bucle lògic), elements lògics en cascada.
UNITAT 6. A l’interior d’un rastrejador: registre de dades i “experiments” (3-4 sessions)
Temes: accés a fitxers o “file access”, upload i download, registre de dades o “data logging”, lectures de sensors en temps real i en diferit, corbes i grafs en funció del temps, el concepte d’experiments en Mindstorms, estratègies de debugging (depuració informàtica d’un programa).
UNITAT 7. Variables, rangs, bifurcacions múltiples, blocs d’usuari i càlcul numèric: el control del flux d’un programa (2-3 sessions)
Temes: blocs lògics i matemàtics, arguments i variables, transformació de valors, concentrador de dades, interrelació amb bucles i bifurcacions, bifurcació múltiple, blocs d’usuari o subprogrames amb arguments i variables de sortida.
UNITAT 8. Com optimitzar el seguidor de línies o rastrejador simple d’un sensor de llum: del rastrejador simple de 2 passes al rastrejador proporcional (2-3 sessions)
Temes: blocs matemàtics, cables de dades, concentrador de dades, interrelació amb bucles i bifurcacions niades, blocs d’usuari o subprogrames amb arguments.
UNITAT 9. De la programació seqüencial a la màquina d’estat: el cas del rastrejador simple de quatre passes amb dos sensors de llum o de color (4-5 sessions)
Temes: blocs lògics i matemàtics, arguments i variables, transformació de valors, concentrador de dades, interrelació amb bucles i bifurcacions, bifurcació múltiple o estructura de casos, diagrames de flux de dades, màquina d’estat, blocs d’usuari o subprogrames amb arguments i variables de sortida.
UNITAT 10. Encendre o no encendre la llum: com utilitzar la làmpada històrica en EV3 (1 sessió)
Temes: bucles lògics i temporals, arguments i variables, sincronització temporal i mínim comú múltiple, bloc avançat d’operacions modulo, bloc motor no regulat (o “unregulated”), blocs d’usuari o subprogrames amb arguments i variables de sortida, arquitectura d’aplicacions amb patró de disseny Mestre/Esclau.
encara no traduït
UNITAT 11. Com esperar a una o més condicions de sensor (1 sessió)
Temes: bloc espera, bucles lògics, bucles infinits o il·limitats i bucles associats a un sensor com a estructures de programació pel control de flux, seqüències paral·leles de programa i bloc “stop program” d’aturada de programa.
UNITAT 12. Estratègies de flux de programa per controlar un actuador amb sensors: un Motor i un sensor de Contacte (2 sessions)
Temes: sensor de contacte, bloc espera, bucles lògics, il·limitats o infinits i bucles associats a un sensor, bloc bifurcació, “timers” o temporitzadors, matrius i els seus operadors, missatges de pantalla i gestió de la llum d’estat, arguments i variables, blocs d’usuari o subprogrames amb arguments, i l’arquitectura d’aplicacions amb patró de disseny Mestre/Esclau utilitzant bucles que funcionen a velocitats diferents.
UNITAT 13. Sobre l’arquitectura dels patrons de disseny de programació en NXT i EV3 (2 sessions)
Temes: bucles lògics, il·limitats o infinits i bucles associats a un sensor, bloc bifurcació, arguments i variables, diagrama de flux de dades, i les arquitectures d’aplicacions amb els diferents patrons de disseny (programació seqüencial, de bucle, bucles paral·lels, patró de disseny mestre i esclau i màquina d’estats).
ANNEX 1. Catàleg resum d’estructures informàtiques “equivalents”
Temes: control dels motors en un moviment recte, control dels motors en un moviment recte mitjançant sensors i estructures lògiques.
Història dels canvis
- Versió 4.6, maig de 2018: creació de la unitat didàctica 13.
- Versió 4.6, setembre de 2017: creació de les unitats didàctiques 11 i 12.
- Versió 4.5, desembre de 2014: modificada la unitat didàctica 6 per incloure la programació en EV3 i traducció a l’anglès (no hi ha canvi de versió).
- Versió 4.5, octubre de 2014: modificada la unitat didàctica 4 per incloure la programació en EV3 i traducció a l’anglès (no hi ha canvi de versió).
- Versió 4.5, agost de 2014: finalitzada la unitat didàctica 9 que inclou la programació amb Mindstorms EV3 i la comparació sistemàtica amb Mindstorms NXT-G (que s’anirà completant per a totes les unitats didàctiques). Iniciada la traducció a l’anglès del curs.
- Versió 4.0, maig de 2014: inclou correccions menors d’errors i modifica els exemples dels programes tenint en compte que el bloc Move encara no és capaç de frenar els motors degut a un error del programari que no s’ha corregit encara. Inclou dues noves unitats didàctiques. La unitat didàctica 8 aprofundeix sobre l’algoritme del robot seguidor de línies o rastrejador d’un sensor de llum. La unitat didàctica 9 utilitza l’exemple del rastrejador simple de quatre passes amb dos sensors de llum per introduir la programació de màquines d’estat com a millora de la programació seqüencial.
- Versió 3.0, desembre de 2011: inclou canvis menors amb explicacions i precisions més detallades d’aspectes que poden quedar confusos, i referències a vídeos i articles que il·lustren millor cada unitat didàctica. Inclou una nova unitat didàctica 4 per aprofundir sobre el concepte de llindar que inclou un experiment per il·lustrar el comportament del sensor de llum. S’han tornat a numerar els exercicis. També s’han realitzat petites correccions del model de robot.
- Versió 2.0, agost de 2010: inclou una nova unitat didàctica 6 dedicada al registre de dades o “data logging” i al concepte d’experiments en Mindstorms. S’han modificat algunes unitats didàctiques. Inclou un annex amb un catàleg d’estructures informàtiques “equivalents” que permet comparar diferents formes de realitzar mateixes funcionalitats amb característiques diferents. També inclou correccions menors.
- Versió 1.0, maig de 2009: versió inicial del curs constituïda per 5 unitats didàctiques. Ha anat incloent petits canvis i correccions menors sense canvi de versió.
Referències
Llibres:
http://mindstorms.lego.com/en-us/community/books/default.aspx
“Building Robots with LEGO Mindstorms”, M.Ferrari, G.Ferrari, R.Hempel, http://www.syngress.com
“LEGO Technic Tora no Maki”, Y.Isogawa, http://www.isogawastudio.co.jp/legostudio/
Webs interessants:
http://www.legoengineering.com
http://www.technologyreview.com
http://www.ni.com/getting-started/labview-basics/
Podeu consultar la nostra web http://www.bogatech.org on, a més de trobar aquest curs a l’apartat de “Cursos i exercicis”, trobareu informació sobre esdeveniments relacionats amb la robòtica educativa i LEGO, articles i presentacions que hem realitzat i previstes, una mica d’història del projecte del Taller de Robòtica LEGO Bogatell-Icària i els seus objectius pedagògics, recursos sobre les competicions internacionals com la RoboCup Junior, i les activitats i inscripcions per a cada curs.
Pels que heu accedit al curs des de la web de BOGATECH, podeu trobar el curs publicat al portal educatiu de la Generalitat http://www.edu365.cat dins la secció Imagina, http://www.edu365.cat/imagina/.
Contacte
Per a qualsevol pregunta sobre el “Curs per a professors d’Introducció a LEGO Mindstorms NXT i EV3”, o per contactar amb nosaltres, o si feu alguna modificació del curs o trobeu algun error, us preguem que ens ho feu saber, podeu enviar un email a info@bogatech.org.
LEGO, MINDSTORMS, NXT i EV3 són marques registrades del LEGO Group, que no patrocinen, autoritzen o avalen aquest material.