Isovak-IISS-Galilei-Bolzano

Transcript

Isovak-IISS-Galilei-Bolzano
DOCUMENTAZIONE
Isovak Team
classe 3D
Liceo Scientifico Tecnologico
IISS “Galilei”
Bolzano
L'istituto
L'istituto “Galileo Galilei” di Bolzano ( http://www.iisgalilei.bz.it/iisgalilei/ ) ha da sempre
la sua vocazione nel settore delle scienze e delle tecnologie, ben rappresentata dalla
compresenza di tre tipologie di scuola (professionale, tecnica e liceale).
Il Liceo Scientifico Tecnologico (
ulteriori
informazioni
al
sito
http://www.iisgalilei.bz.it/itilstgalilei/ ),
aperto nel 1994, ha raccolto l'esperienza
e i laboratori dello storico Istituto
Tecnico Industriale, in una sinergia che
continua tuttora.
Le prime esperienze con il mondo dei robot della Lego risalgono al 2009: un corso di
aggiornamento organizzato dall’Istituto Pedagogico di Bolzano presso l'Istituto
Rainerum è sfociato in un'area di progetto con una classe quinta sull’intelligenza
artificiale e la robotica; con questa classe abbiamo anche partecipato alla
manifestazione “Discovery on film” a Rovereto, dove abbiamo potuto vedere alcune
esperienze stimolanti da parte di altre scuole.
L'interesse dimostrato dagli studenti e la validità di questo approccio didattico ci ha
portato ad inserire questa attività nella programmazione didattica della disciplina
“informatica” della classe terza del Liceo Scientifico Tecnologico e ora anche in
alcune classi dell’ITI, ad indirizzo telecomunicazioni.
Questa attività facilita l'apprendimento delle prime basi di programmazione,
contribuisce a formare una visione sistemica nella soluzione di problemi ed è molto
motivante per gli alunni. Infatti è molto divertente, permette di lavorare in gruppo e
di realizzare un prodotto graticante.
Dopo aver seguito con interesse gli sviluppi di questo settore nei diversi ordini di
scuola, ci presentiamo quest'anno per la prima volta alla RoboCupJunior come
coronamento di un serio impegno da parte degli studenti della classe 3D LST e
soprattutto di quelli di questa squadra. Speriamo di maturare esperienze e di
incontrare altre realtà di questo mondo così stimolante.
La squadra
La squadra è composta da 4 alunni della classe 3D del liceo scientifico tecnologico
“Galileo Galilei” di Bolzano:




Dietmar Cavosi
Matteo De Marchi
David Forti
Francesco Spagnolo
Il nome del nostro gruppo, Isovak, non è altro che il cognome di Dietmar al
contrario, già utilizzato, per altri nostri progetti.
Il progetto sarebbe stato irrealizzabile senza la collaborazione della prof.ssa Macola,
che ha messo a nostra disposizione il laboratorio di informatica. Ci ha inoltre assistito
durante la costruzione e la programmazione del robot.
Da sinistra: Dietmar Cavosi, David Forti, Francesco Spagnolo, Matteo De Marchi.
Il programma del nostro Istituto per la classe terza prevede l’ utilizzo di NXT e dei kit
della Lego. Studiando la storia dei computer siamo venuti a conoscenza di questa
gara tra robot, su cui inizialmente abbiamo molto fantasticato. Successivamente, dopo
la costruzione del nostro primo robot (EXPLORER), abbiamo pensato che, forse,
avremmo potuto avere qualche speranza alla RoboCupJunior, nonostante fossimo a
conoscenza del fatto che avrebbero partecipato scuole con moltissima esperienza in
questo campo. Tuttavia non ci siamo rassegnati e ci siamo iscritti.
Ci siamo organizzati per svolgere le diverse attività, seguendo le attitudini e le
capacità specifiche di ognuno di noi:
Matteo ha costruito il robot: grazie alla sua fantasia e alle sue capacità costruttive, ha
realizzato un robot originale, finalizzato nella struttura a realizzare i compiti previsti
dalla competizione Rescue. Si è occupato, insieme a David e alla professoressa
Macola, delle foto e di questa documentazione.
Dietmar ha fatto da supervisore: si è occupato sia della parte meccanica che della
parte informatica. Lui infatti ha già avuto esperienze con NXT, in quanto ne possiede
uno già da parecchi anni, con molti sensori più avanzati rispetto a quelli che
possediamo a scuola. Con il Lego propriamente detto, l'esperienza maggiore la ha
Matteo. In ogni caso, tutti abbiamo avuto delle esperienze con le costruzioni della
LEGO, poiché nella nostra infanzia, e spero anche in quella di altri, questo gioco ha
avuto una sua parte importante.
David e Francesco si sono concentrati esclusivamente sulla programmazione,
dimostrando di padroneggiare gli strumenti logici e di saper gestire le interazioni tra
ambiente e sensori in modo (quasi) sempre efficacie. Sono aiutati in questo da
esperienze pregresse in altri ambienti di programmazione.
Il primo progetto
Il primo robot che abbiamo costruito è stato un explorer. Questo robot, grazie ai 3
sensori di contatto frontali, 1 sensore ad ultrasuoni e uno di luce riflessa, riesce a
muoversi in un ambiente con ostacoli senza cadere da un tavolo.
Il sensore ad ultrasuoni in alto, permette
al robot di identificare a quale distanza si
trovi l’ostacolo, in modo da evitarlo; la
“testa” di questo robot può ruotare di 90°
a destra e a sinistra, in modo da scegliere
il percorso (verso destra o verso sinistra)
con l'ostacolo a una distanza maggiore. L’
unico neo di questa struttura, era il fatto
che non avrebbe potuto fermarsi dinanzi
a ostacoli bassi.
Per ovviare a questo problema, abbiamo posizionato tre sensori di contatto sulla parte
frontale del robot, con opportuni paraurti, in modo che se avesse sbattuto a destra,
davanti o a sinistra se ne sarebbe accorto.
Alla base c’ è inoltre un sensore di luce riflessa rivolto verso il basso che permette al
robot, se si fosse trovato su un precipizio, di non cadere.
I numerosi sensori sono gestiti da due NXT che comunicano tra loro con il bluetooth.
Questo robot è stato mostrato, insieme ad altri, prodotti dalla nostra classe, durante le
giornate delle Poste Aperte presso il nostro Istituto, attirando l’interesse e la simpatia
dei possibili futuri studenti e dei loro genitori. Genera sempre stupore vedere come
riesce a districarsi in situazioni diverse, manifestando un comportamento “quasi
intelligente”.
Verso la RoboCupJunior
Per la Robocup abbiamo costruito un nuovo modello: abbiamo scelto di utilizzare un
unico NXT per non appesantire la struttura, anche se questo limita il numero di
motori e sensori collegabili.
Attraverso le varie mail, il forum e il sito della RoboCup siamo entrati nello spirito
della competizione, ma un aspetto decisivo è stato l’incontro organizzato presso
l'istituto Rainerum.
Ad esso erano presenti anche scuole di Trento: per noi più che una gara è stata una
prova di coraggio.
Siamo arrivati con un robot programmato la mattina di quello stesso giorno, quindi
non testato a sufficienza. Nonostante questo, abbiamo provato a gareggiare e i
risultati sono stati più che soddisfacenti, dato che non siamo arrivati ultimi fra le
squadre partecipanti quel giorno e il robot si è comportato bene per risolvere i
problemi per cui era stato programmato.
Questa giornata è stata molto utile, perché abbiamo compreso il potenziale delle altre
squadre e dei loro robot; inoltre abbiamo capito meglio come si sarebbe svolta la
robocup e i non pochi problemi che avremmo dovuto risolvere.
Struttura del robot
Il robot si muove grazie ad un sistema cingolato, evidente in questa immagine di
profilo, attivato da due motori originali LEGO Mindstorm,.
Il motore superiore attiva il carrello elevatore con le pinze e contemporaneamente
aziona lo switch (visibile in primo piano avvolto nel cordino bianco e rosso) del
sistema pneumatico che apre e chiude le pinze.
Il robot è dotato di un carrello
elevatore, sul quale sono posizionate
le pinze che stringeranno la vittima
per poi sollevarla. Queste sono
attivate da un sistema pneumatico in
base allo schema lato.
Ecco una foto dall’alto delle pinze comandate dai due pistoncini pneumatici; il
cordino bianco e rosso serve per coordinare il movimento del comando pneumatico
con i movimenti del carrello elevatore.
Tutto il sistema è regolato da un solo motore, che, attivando tre diversi argani,
prende, solleva e rilascia la vittima.
Un argano è dedicato al movimento verticale del carrello elevatore.
Gli altri due argani, grazie a leve e carrucole, deviano, tramite la cloche visibile sulla
destra, la pressione dell'aria compressa, contenuta in un serbatoio o prodotta da un
piccolo compressore (anch'esso interamente in LEGO, messo a punto dall'Isovak
team).
La struttura del robot è completata da
due sensori di luce posti a breve
distanza e rivolti verso il basso, che
permettono di individuare e seguire la
linea nera. Questa soluzione permette
di programmare in modo abbastanza
semplice la soluzione di questo
problema.
Ci sono poi un sensore ad ultrasuoni e
un altro sensore di luce che
permettono di rilevare gli ostacoli
frontali e di individuare la vittima.
Ambiente di sviluppo
In ambito scolastico abbiamo utilizzato il sistema di programmazione grafico per
NXT e quindi abbiamo continuato ad utilizzarlo anche per questa manifestazione. Su
problemi di dimensioni maggiori, però, non è sempre facile da gestire. Tuttavia
abbiamo realizzato questo progetto nell’ambiente grafico, ripromettendoci di
esplorarne altri quando le nostre competenze di programmazione saranno cresciute.
Il programma
Allo stato attuale stiamo ancora lavorando al programma.
La foto sottostante ne rappresenta la parte necessaria per seguire la linea nera. E’ stato
testato sul nostro robot durante le prove al Rainerum e si è rivelato alquanto efficace.
Gli altri blocchi sono in via di perfezionamento. Ci sembra di aver risolto il problema
della potenza, abbastanza elevata per affrontare la rampa ma non troppo, per
permettere la rilevazione della linea nera da parte dei sensori negli angoli retti.
Sarà poi necessario tarare sul posto i sensori di luce per riconoscere la linea riflettente
dell’entrata nell’ultima stanza e per distinguere “la vittima” dalle pareti.