Quali attività di robotica educativa possiamo proporre alla primaria per superare la semplicità di Beebot?
Cercheremo di dare una risposta a questa domanda all’interno del post, concentrandoci principalmente sull’aspetto hardware della robotica, cioè sulla componente fisica dell’apparato locomotore del robot, più che sulla programmazione.
Suggerimenti bibliografici
Prima di addentrarci nella parte più tutoriale di questa lezione, consigliamo due libri da prendere a riferimento per l’argomento trattato.
Il primo è Making Simple Robots: Exploring Cutting-Edge Robotics with Everyday Stuff, un testo che suggerisce attività di robotica educativa semplici che quasi non coinvolgono la programmazione.
L’altro è Tinkering: Kids Learn by Making Stuff, un libro che dà suggerimenti sull’uso di materiali “poveri” per la robotica educativa a scuola.
Robotica educativa e roboetologia
Iniziamo con una citazione dal libro Designing reality di Neil Gershenfeld, il professore del MIT di Boston che ha inventato il concetto di FabLab (entrato, poi, nelle scuole italiane con il nome di Atelier Creativo).
Riportiamo una frase estrapolata da un incontro che Gershenfeld ebbe con Seymur Papert (il padre della disciplina della robotica educativa, anche lui professore al MIT di Boston, deceduto qualche anno fa):
“E’ venuto a trovarmi Seymur (Papert) per parlare dei FabLab […] Disse che aveva un cruccio e cioè il fatto che i bambini potessero programmare la tartaruga (robot prototipo che veniva usato per dare evidenza fisica al codice in LOGO n.d.r.), ma non potessero costruirla, questo era il suo obiettivo da sempre.!
Questa frase riportata racchiude un concetto fondamentale: robotica e coding vanno di pari passo, ma la robotica si concentra molto sulla parte hardware, cioè sulla parte manuale di costruzione, con tutti i problemi e le opportunità che questo comporta.
Nel progettare il nostro robot, in un laboratorio adatto alla scuola primaria, prenderemo a riferimento gli schemi motori animali, dopo aver osservato con attenzione una serie di robot diy (fai da te) scovati sul web.
A tal proposito, possiamo riferirci al concetto di Roboetologia, l’osservazione del comportamento del robot (non solo la sua programmazione), molto evocativo ed impiegato in una pubblicazione dell’Università Bicocca di Milano (I bambini e la robo-etologia: riflessioni epistemologiche sugli stili di spiegazione del comportamento dei robot).
Poiché in questa lezione ci concentreremo sull’apparato locomotore del robot, introduciamo, a questo punto, i motori, che rappresentano la componente fondamentale per il movimento del robot stesso.
Motori DC a corrente continua
La maggior parte dei robot usati nella scuola primaria è dotata di motori DC in corrente continua (li montano, ad esempio Beebot, Lego Wedo, Engino, Mbot), che sono i più economici e che, a seconda della polarità della corrente continua che li attraversa, girano in senso orario o antiorario, in un arco di 360°.
Tramite alcuni accorgimenti elettronici è, inoltre, possibile regolarne la velocità.
Servomotori
Il servomotore è il più utile per creare robot dalla forma animale, poiché non nasce per riprodurre la rotazione di una ruota, ma è fatto per mantenere con fissità una posizione ben precisa indicabile, all’interno dell’arco rotatorio, con un angolo da 0° a 180°. Esso è utile per riprodurre, ad esempio, le articolazioni (lo ritroviamo in robot a forma animale o nei bracci robotici). I servomotori possono essere di diverse fasce di prezzo e di diverse prestazioni.
L’aspetto motorio nei robot è importante sia perché ne aumenta la spettacolarità, sia perché sono oggetti che si muovono nella realtà fisica.
Di seguito, possiamo osservare alcuni esempi di robot che usano servomotori.
EDUino
Robot esapode che riproduce un insetto, dotato di 3 servomotori. Cammina, ruota su se stesso, oscilla mantenendo un posizione. Le zampe anteriori e posteriori si muovono avanti e indietro, quelle centrali basculano.
Otto DIY
Robot bipede, dotato di 4 servomotori.
Rofi
Robot bipede, dotato di 6 servomotori.
Robot quadrupede
Robot quadrupede con servomotori.
Vorpal
Polpo robot; la spettacolarità di questo robot è tutta nei movimenti del robot e non nei sensori.
E’ interessante notare che la natura prevede una serie di apparati locomotori i quali, riprodotti su un robot, permettono di superare ostacoli ed agire su terreni di tipo diverso.
Sicuramente le ruote sono le più comode da gestire su un robot, ma non è detto che siano più adatte a svolgere determinati compiti motori.
Schema motorio con motore DC
Poiché la lezione è dedicata ai docenti della scuola primaria e in essa i kit più diffusi sono quelli del tipo LEGO Wedo (o Engino), che contengono 1 o più motori DC, vediamo come creare uno schema motorio animale usando un solo motore a corrente continua.
In tal modo gli insegnanti potranno cimentarsi nella progettazione di un robot zoomorfo usando gli strumenti in dotazione della scuola.
L’obiettivo è quello di andare oltre la struttura delle ruote, per progettare robot con movimenti animali con un solo motore, ragionando solo successivamente della programmazione.
Se non ci ponessimo la questione, nella scuola primaria la robotica educativa si ridurrebbe al solo utilizzo di oggetti come Beebot – a volte troppo limitati per gli obiettivi didattici di questo ordine di scuola, soprattutto negli ultimi anni del ciclo – oppure ad un eccesso di attenzione sui sensori dei robot, tralasciando la componente motoria, che è, invece, la parte fondamentale del robot stesso.
L’esempio di robot zoomorfo che proponiamo in questa lezione è stato ripreso dal manuale di Engino.
Lo schema motorio del robot è simile a quello di un bruco. Per creare l’attrito necessario a far muovere il robot, abbiamo usato la colla a caldo, che può essere successivamente rimossa con facilità.
La struttura meccanica che abbiamo creato si chiama tecnicamente puleggia eccentrica (la stessa di una locomotiva). Il motore che fa girare l’ingranaggio è un motore in corrente continua (incluso nei kit Engino , c’è anche nel LEGO Wedo) e può ruotare in un verso o in un altro.
L’esempio ci mostra l’indipendenza dell’aspetto motorio della robotica dal coding: con una centralina simile a quella di cui è dotato Engino, per esempio, non c’è bisogno di passare dal software di programmazione, ma possiamo programmare l’attivazione dei motori direttamente da essa (come con Beebot) e registrarla per poi metterla il play.
Programmazione
Engino – così come LEGo Wedo – ha la sua app per il coding, fruibile, sia da tablet (collegabile via bluetooth alla centralina di controllo), che da pc (collegabile tramite USB).
Quando si lavora con i kit per la robotica educativa e si inizia a fare programmazione, bisogna sempre avere presente l’aspetto hardware (in particolare le connessioni). Ogni pannello di controllo ha una serie di porte di collegamento (con Engino abbiamo a e b per i motori e 1 e 2 per i sensori) e queste sono informazioni che dobbiamo dare al software.
Per fornire tali informazioni, prima colleghiamo la centralina tramite USB al computer (o tramite bluetooth al tablet), poi entriamo nella finestra simulator e indichiamo al programma cosa abbiamo collegato a quali porte. In questo caso abbiamo un solo motore che abbiamo collegato alla porta b, se avessimo usato dei sensori, li avremmo attaccati alla porta 1 e alla porta 2. Queste operazioni devono essere svolte anche nel caso si utilizzi MBot con MakeBlock o LEGO Wedo.
Compilazione
Il simulatore ci permette di simulare quanto codificato in diretta senza caricare il programma dentro la centralina, grazie al collegamento USB o bluetooth. In Engino possiamo caricare il programma che scriviamo dentro la centralina del robot e rendere quest’ultimo indipendente dalla app. Per tale motivo, il caricamento del programma non avviene velocemente: è il cosiddetto processo di compilazione.
Mbot, Engino, Arduino prevedono la compilazione del programma, ovvero il programma viene scaricato dentro il robot che diventa indipendente.
LEGO WeDo, invece, ha un funzionamento diverso, poiché, una volta scritto il codice con i blocchetti e premuto play, il programma si avvia immediatamente, facendo muovere il robot o la macchinina. C’è, inoltre, un collegamento continuo tra hardware (robot/macchinina), immagini e suoni nell’applicazione a causa del collegamento diretto tra robot e tablet/computer.
La differenza si nota soprattutto nel momento in cui avviene il caricamento del programma: nel caso in cui ci sia la compilazione, esso richiede qualche minuto, nel caso di LEGO WeDo è istantaneo.
Codice
Diamo una rapida occhiata al codice.
Engino ha una struttura di blocchetti abbastanza classica: ci sono i blocchetti per gli output (tempo, LED, motori), i blocchetti per i sensori, le strutture di controllo.
In un’attività alla scuola primaria, si possono usare:
-
Blocchetti output che controllano il motore: muovi il motore collegato alla porta b, in senso antiorario, con tot velocità, per la durata di 1 secondo. Qui si potrebbe creare un pattern motorio, facendo andare, per esempio, il motore prima in un senso, poi in un altro, ecc… Il programma, però, con questi due blocchetti, dopo una prima esecuzione, si ferma.
-
Blocco repeat forever oppure un numero determinato di volte. Se, ad esempio, scegliamo di usare repeat forever, all’interno del quale inseriamo i due movimenti di motore definiti precedentemente, il pattern motorio verrà ripetuto all’infinito, finché non spegniamo il robot.
-
Blocco condizionale (if): dentro il blocco inseriamo la condizione che deve essere rispettata. Possiamo, ad esempio, collegare il pulsante alla porta 1, quando il pulsante viene premuto (cioè quando si verifica la condizione vero), avviene tutto quello che abbiamo inserito nel blocco condizionale, quindi viene eseguito il pattern motorio.
C’è una similitudine tra questo ambiente di programmazione e quello di Scratch; invece, il molto diffuso LEGO Wedo ha un ambiente diverso, anche se ha un’estensione per Scratch.
Quali kit usare alla scuola primaria?
Nella scuola primaria ci sono varie opzioni per le attività di robotica educativa.
Per le prime classi, dopo aver abbandonato Beebot, si può usare Engino (il cui ambiente di programmazione è semplice, ma filologicamente collegato a ciò che verrà introdotto successivamente, cioè Arduino IDE), oppure LEGO Wedo con estensione di Scratch, sapendo che quest’ultimo è un po’ più complesso da usare, perché ha molti comandi.
Andando avanti nel ciclo, nelle ultime classi della primaria, si possono usare Mbot o Arduino.
Per approfondire questo argomento, scopri il Corso Robotica per la scuola primaria