Mindstorms: Segueix la línia

Harbin_Robot_Restaurant (font: http://www.amusingplanet.com/2013/02/robot-restaurant-in-harbin-china.html )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:

mini-cambrer

o seguiu aquest guió:

iniAbans de començar

  • Fitxa Didàctica (general)

    Fitxa Didàctica (general)

    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:
    • NXT-Linia-Tauler-Original
  • o bé fer-vos una pista amb cinta aïllant negra sobre paper d’embalar blanc:
    • NXT-Linia-Tauler-Cinta-Aillant
  • 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.

petjadaPas 1: Adapta el cos del robot (maquinari) per a veure i seguir la línia

  • camera-transformersinterrogantPregunta 1: Si poguessis tenir qualsevol sensor, quin creus que li permetria al robot veure la línia del terra? Què es necessitaria?
  • interrogantPregunta 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?
  • puzzleRepte 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.
    • bombetaIdees:
      • 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).
  • puzzleRepte 2: Calibra els sensors de llum
    • Com sabrà el robot si un sensor de llum està veient blanc o negre?
    • interrogantPregunta 3: Què vol dir el verb “calibrar”?
    • bombetaIdees:
      • L’aplicació de Mindstorms a l’ordinador té una opció per a calibrar els sensors al menú d’Eines.
    • lupaPistes:
      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.
      
  • interrogantPregunta 4: Com hauria de ser el disseny del cos del robot per aquesta activitat (gran i robust o petit i àgil)? Per què?
  • baby-buggypuzzleRepte 3: Pots fer que el robot sigui més àgil alhora de moure’s?
    • Prova de millorar el disseny del teu robot per a que sigui més ràpid i li costi menys girar, així podrà seguir la línia més àgilment.
    • bombetaIdees:
      • Fes una ullada a aquests models de rodes: 12, 3, 4, 56.

petjadaPas 2: Adapta el programari del robot per a seguir la línia amb una tasca per a cada motor

  • multi-task-nepal-white-avalokiteshvarapuzzleRepte 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.
    • lupaPistes:
      - 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
      
  • interrogantPregunta 5: Què creus que hauria de passar amb el motor esquerra?
  • puzzleRepte 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
    • bombetaIdees:
    • lupaPistes:
      - Dues tasques alhora: https://edulogix.files.wordpress.com/2014/04/nxt-splittask-jpg.gif
      
  • interrogantPregunta 6: Creus que es podria fer el programa només amb una tasca? Com?

petjadaPas 3: Adapta el programari del robot per a seguir la línia amb una sola tasca per als dos motors

  • Flowchart-Nested-Conditional (http://openbookproject.net/books/bpp4awd/index.html)puzzleRepte 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.
    • bombetaIdees:
      • 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.
    • lupaPistes:
      - Posar una condició dins d'una altra: https://edulogix.files.wordpress.com/2014/04/nested-switch.png
      
  • puzzleRepte Extra: Pots fer que el robot sigui capaç de seguir la línia només amb 1 sensor de llum?

mesI després…

NXT-LineFollowerFelicitats! 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).

feather AutoriaJordi Campos i Miralles i Eloi Puertas Prats (activitat duta a terme al Campus Ítaca).

Licencia de Creative CommonsPodeu 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

Deixa un comentari