Saps que ja hi ha fàbriques i botigues on els robots es desplacen seguint unes marques al terra? O que hi ha restaurants on els robots usen marques al terra per fer de cambrers?
T’animes a fer un robot capaç de seguir unes marques al terra per no perdre’s? Doncs segueix llegint…
Proveu la nova versió visual d’aquesta activitat:
o seguiu aquest guió:
Abans de començar
-
Assegureu-vos que teniu una construcció base i que heu practicat amb l’entorn de programació (+info).
- Per a fer l’activitat podeu usar com a terra amb marques la plantilla d’entrenament inclosa als kits de Lego NXT:
- o bé fer-vos una pista amb cinta aïllant negra sobre paper d’embalar blanc:
- Mira d’assolir els reptes que hi ha a continuació tu sol/a, i si no saps com fer-ho, mira les idees. Si encara et cal una mica més d’ajuda, pots fer una ullada a les pistes.
Pas 1: Adapta el cos del robot (maquinari) per a veure i seguir la línia
- Pregunta 1: Si poguessis tenir qualsevol sensor, quin creus que li permetria al robot veure la línia del terra? Què es necessitaria?
- Pregunta 2: Dels sensors que disposes al kit bàsic de Lego NXT, quin creus que li permetria al robot veure la línia del terra?
- Repte 1: Afegeix 2 sensors de llum al teu robot
- Per a poder seguir la línia hauràs d’usar els sensors de llum. Pensa en quin lloc del robot i com has de col·locar-los.
- Idees:
- El robot pot mirar a banda i banda de la línia per a saber que no l’està trepitjant.
- No posis els sensors a molta distància del terra, sinó la il·luminació de la sala pot influenciar molt a la lectura del sensor (p.ex. el reflex d’una bombeta sobre cinta aïllant pot crear un punt blanquinós).
- Repte 2: Calibra els sensors de llum
- Com sabrà el robot si un sensor de llum està veient blanc o negre?
- Pregunta 3: Què vol dir el verb “calibrar”?
- Idees:
- L’aplicació de Mindstorms a l’ordinador té una opció per a calibrar els sensors al menú d’Eines.
- Pistes:
1- Engega el cervell NXT i connecta el cable USB entre robot i a l'ordinador. 2- Obre l'aplicació de Mindstorms a l'ordinador i inicia un nou programa. 3- Al menú Eines (Tools) escull l'opció "Calibrar els sensors" (Calibrate Sensors). Fes un clic al Sensor de Llum (Light Sensor) i aleshores fes clic al botó Calibrar (Calibrate). 4- Posa el robot sobre el terra amb marques de forma que el sensor que vols provar estigui sobre el color negre. Prem el botó taronja del cervell NXT per a que memoritzi el valor del negre. 5- Ara mou el robot per a que el sensor estigui sobre el color blanc. Torna a prémer el botó taronja del cervell NXT per a que memoritzi el valor del blanc. 6- El procés de calibrar ja està llest, ara ja usarà els valors memoritzats.
- Pregunta 4: Com hauria de ser el disseny del cos del robot per aquesta activitat (gran i robust o petit i àgil)? Per què?
- Repte 3: Pots fer que el robot sigui més àgil alhora de moure’s?
Pas 2: Adapta el programari del robot per a seguir la línia amb una tasca per a cada motor
- Repte 1: Fes un programa que controli el motor dret en funció del sensor de llum dret
- Crea un programa que deixi el motor esquerra engegat i simplement engegui o pari el motor dret en funció del sensor dret de llum.
- Pistes:
- Condició sensor de llum: https://edulogix.files.wordpress.com/2014/04/nxt-switchblock-lightsensor.jpg - Propietats sensor de llum: https://edulogix.files.wordpress.com/2014/04/nxt-switchblock-lightsensor-details.jpg
- Pregunta 5: Què creus que hauria de passar amb el motor esquerra?
- Repte 2: Afegeix una tasca independent que controli el motor esquerra en funció del sensor de llum esquerra
- Converteix el control que ja tenies en una tasca, i afegeix-ne una altra que controli el motor esquerra en funció del sensor de llum esquerra
- Idees:
- Pots fer una ullada a aquesta pàgina per a saber com fer més d’una tasca alhora.
- Pistes:
- Dues tasques alhora: https://edulogix.files.wordpress.com/2014/04/nxt-splittask-jpg.gif
- Pregunta 6: Creus que es podria fer el programa només amb una tasca? Com?
Pas 3: Adapta el programari del robot per a seguir la línia amb una sola tasca per als dos motors
- Repte 1: Fes un programa amb una sola tasca capaç de seguir la línia
- Guarda el programa que tenies fet fins ara i intenta fer-ne un altre (pots mirar l’anterior, és clar) que només tingui una tasca per a controlar ambdós motors.
- Idees:
- Pots consultar quin és el valor d’un sensor de llum i després quin és el valor de l’altre, abans de donar les instruccions als motors.
- Per a fer una consulta que depèn de l’altra, pots aniuar les condicions: és a dir, posar una condició dins una branca d’una altra condició, de forma que pots comprovar més d’una condició alhora.
- Pistes:
- Posar una condició dins d'una altra: https://edulogix.files.wordpress.com/2014/04/nested-switch.png
- Repte Extra: Pots fer que el robot sigui capaç de seguir la línia només amb 1 sensor de llum?
I després…
Felicitats! ara ja pots obrir el teu propi restaurant amb robots cambrers! ; )
Recorda que ara ja saps com:
- Usar el sensor de llum.
- Comandar cada motor amb una tasca del programa diferent.
- Comandar ambdós motors amb una sola tasca usant condicions per a decidir què fer en funció dels sensors.
A la propera activitat farem un robot que pugui jugar a Sumo. Entretant pots anar fent una ullada a aquests sensor càmera amb que també es podria fer una versió més avançada del robot que segueix la línia (conté vídeos al final).
Autoria: Jordi Campos i Miralles i Eloi Puertas Prats (activitat duta a terme al Campus Ítaca).
Podeu usar el contingut i modificar-lo d’acord amb la Llicència Creative Commons Reconeixement-CompartirIgual 4.0.
4 pensaments sobre “Mindstorms: Segueix la línia”