FLL Relazione Tecnica - Istituto Istruzione Superiore Maserati

FLL Relazione Tecnica - Maserati
La nostra squadra:
Siamo un gruppo di studenti delle classi 1a e 2a del Liceo delle Scienze Applicate (opzione informatico)
dell’Istituto Maserati di Voghera.
È la seconda volta che partecipiamo alla First Lego League e il nostro obiettivo è dare seguito
all’ottimo risultato conseguito l’anno scorso (6 o posto complessivo alla finale nazionale).
Progettazione meccanica:
Abbiamo analizzato la morfologia del campo di gara,
notando che il nostro robot doveva possedere determinate
caratteristiche:

Una struttura bassa per evitare che il robot si impigli
nel filo dell’aereo come già è capitato a Cuneo;

Una pala per il trasporto di oggetti;

Una benna per permettere l’attivazione di alcune
leve e per prelevare degli oggetti.
Strategie adottate:
Durante le prove di movimentazione del robot ci siamo resi
conto che il software scritto con i blocchi di base della lego
presenta essenzialmente due problemi: uno nel controllo
preciso della movimentazione contemporanea dei 2 motori
per le ruote e l’altro nell’arresto dei motori al termine di un movimento poiché notiamo che prima di
fermarsi del tutto compie delle oscillazioni.
I due motori, pur funzionando contemporaneamente quando il comando è identico, si muovono in
realtà non sincronizzati. Questo è dovuto sia alla logica utilizzata nella realizzazione dei blocchi di base
NXT per la programmazione sia al fatto che i motori non sono perfettamente uguali visto anche il
processo di usura (gli ingranaggi interni possono risultare più o meno consumati e di conseguenza
esercitano una resistenza differente durante il movimento).
I due movimenti, leggermente diversi per i motivi
precedentemente citati, provocano a volte nel movimento del
robot spostamenti lievemente differenti da quelli programmati e
ciò può compromettere la riuscita della missione. Abbiamo così
ipotizzato e realizzato un robot dotato di sterzo, che necessita di
un motore per la trazione e di uno per lo sterzo. In questo modo
le ruote motrici, comandate da un motore in comune
risulterebbero sincronizzate. Dopo averne costruito un prototipo
ci siamo accorti che i movimenti del robot erano influenzati dal
posizionamento iniziale dello sterzo, che siccome era da allineare
ogni volta manualmente risultava non ripetitivo. Questa
motivazione ci ha indotto a utilizzare un robot più “tradizionale”
Istituto Istruzione Superiore “A. Maserati” – Voghera - FLL Rovereto (TN) - a.s. 2013-2014
Pagina 1
dotato di due motori per le ruote. Per mantenere sincronizzate le ruote il nostro docente ci ha
suggerito un metodo per realizzare quello che si chiama “asse elettrico”, che consiste nel fare un
programma che obbliga il secondo motore (C) a seguire esattamente il movimento del primo (B)
effettuando una correzione quando questo non succede.
Abbiamo creato 2 blocchi, uno per il comando del motore B, l’altro per forzare il motore C ad
emularlo. Il programma di comando di C deve eseguirsi contemporaneamente al programma
principale e quindi abbiamo sfruttato la possibilità del software NXT di fare una programmazione
parallela.
Il blocco PIDBC muove il motore C contemporaneamente a quello B con il seguente funzionamento.
Legge il trasduttore di posizione (encoder) di B e quello di C. Poiché il motore B si sta muovendo anche
il suo encoder gira. Invece, il motore C è fermo, come pure il suo encoder. Facendo la differenza fra le
due posizioni degli encoder si trova un valore che andrà a pilotare il motore C. Si introducono quindi
dei parametri numerici per permettere ai due motori di andare a velocità diversa (sterzatura).
Descrizione dei blocchi:

lettura della sterzatura dal blocco di comando di B;

lettura dell’encoder B;

prodotto della sterzatura per il valore dell’encoder B per ottenere il comando posizione C;

lettura dell’encoder C;

differenza fra i 2 valori;

confronto della differenza con 0 per creare la direzione del movimento;

moltiplicazione della differenza per una costante che serve a ridurre il tempo impiegato da C
per raggiungere B. Occorre limitare questo valore altrimenti l’asse C non riuscirà mai a
terminare il movimento (pendola). In questo modo è stato creato un controllo proporzionale di
un motore. Con questo valore si comanda in velocità (potenza) il motore.
E’ evidente che il motore C seguirà B, quindi se B rallenta anche C rallenta.
Istituto Istruzione Superiore “A. Maserati” – Voghera - FLL Rovereto (TN) - a.s. 2013-2014
Pagina 2
Nel caso in cui C rallentasse aumenta la differenza fra i 2 encoder per cui viene aumentata la velocità
di C.
Il valore della variabile sterzatura deve essere:

1 se i 2 motori devono andare alla stessa velocità e nella stessa direzione

-1 se i 2 motori devono andare alla stessa velocità ma con direzione opposta

da 0 a 2 se i 2 motori devono andare nella stessa direzione ma con velocità diversa
La sterzatura aumenta o diminuisce se il valore letto dall’encoder di C è diverso da quello di B, C
girerà di più o di meno rispetto a B per raggiungere la stessa posizione.
Il blocco MotoreBC serve per il comando del motore B. il suo funzionamento è il seguente. Viene
resettata la quota attuale di entrambi i motori B e C tramite il blocco rotazione il quale permette di
leggere il valore attuale del sensore di rotazione di ogni motore. Questo serve a fare in modo che ogni
movimento sia incrementale, cioè riferito all’ultima posizione raggiunta. Una variabile viene impostata
per essere utilizzata dal blocco PIDBC. Vengono quindi impostati per il motore B i parametri:

direzione per determinare il suo senso di rotazione;

potenza per determinare la velocità;

durata per determinare la rotazione in gradi.
Per creare i nuovi blocchi abbiamo selezionato i programmi scritti e, tramite il menù “Modifica”,”Crea
un nuovo Il mio blocco” abbiamo definito il simbolo del blocco e l’abbiamo salvato. Per copiarlo da
un PC all’altro li dobbiamo cercare nella cartella con il percorso indicato in figura e inserirli
nell’equivalente cartella del nuovo PC.
Istituto Istruzione Superiore “A. Maserati” – Voghera - FLL Rovereto (TN) - a.s. 2013-2014
Pagina 3
LE MISSIONI
Missione 1
Recupero oggetti sul camion dei rifornimenti
Partenza: parte posteriore contro la parete sud e lato
destro sul bordo sud-est della base.
Svolgimento missione: il robot esce dalla base, si
posiziona dietro al camion, lo blocca abbassando la
benna e torna in base.
Finalità: portare in base gli oggetti sul camion.
Missione 2
Recupero animali domestici
Partenza: parte posteriore contro la parete sud e la ruota sinistra sopra la lettera “E” della scritta Lego.
Svolgimento missione: il robot alza la benna, va verso cane e gatto, successivamente abbassa la
benna, prende i due animali e torna in base.
Finalità: portare in base i due animali.
Missione 3
Sollevamento casa
Partenza: parte posteriore contro la parete ovest e lato
sinistro sul bordo nord-ovest della base.
Svolgimento missione: il robot alza la benna, compie il
percorso per arrivare davanti alla casa, abbassa la benna
e va indietro per sollevare la leva e torna in base.
Finalità: spingere la leva per sollevare la casa
Punteggio: 25 punti.
Missione 4
Tsunami - omino
Partenza: parte posteriore contro la parete ovest e lato sinistro sul bordo nord-ovest della base.
Svolgimento missione: il robot esce dalla base e con una lieve curva si trova davanti allo tsunami e
alzando la benna lo attiva, successivamente, con alcuni movimenti si porta in posizione
perpendicolare all’omino, abbassa la benna e torna in base.
Finalità: recuperare l’omino.
Punteggio: 20 punti.
Istituto Istruzione Superiore “A. Maserati” – Voghera - FLL Rovereto (TN) - a.s. 2013-2014
Pagina 4
Missione 5
Ambulanza, test di isolamento della base e segnale di evacuazione
Partenza: parte posteriore contro la parete ovest e il lato sinistro del robot sul bordo nord-ovest della
base. Il robot parte SENZA benna.
Svolgimento missione: il robot esce dalla base e si dirige verso l’ambulanza, con l’ausilio della pala la
porta nella zona gialla, dopo torna indietro trovandosi con la parte anteriore perpendicolare alle due
torri e va a colpire il supporto mobile, successivamente torna leggermente indietro e, voltandosi verso
il segnale,in retromarcia lo colpisce e lo alza, infine torna in base.
Finalità: posizionare l’ambulanza nella zona gialla, attivare il segnale di evacuazione, effettuare il test
di isolamento della base
Punteggio: 25 punti (ambulanza)+30 punti (segnale di evacuazione)+30 punti (test di isolamento della
base).
Missione 6
Zona di sicurezza e trasporto di oggetti, animali e
componenti della famiglia nella zona rossa
Componenti aggiuntivi: asta per portare gli oggetti
che hanno il supporto e recipiente per oggettini vari.
Partenza: parte posteriore contro la parete ovest e
lato sinistro sul bordo nord-ovest della base. Il robot
parte SENZA benna.
Svolgimento missione: il robot esce dalla base, gira
due volte e percorre quasi tutto il campo, quando si
trova poco prima del segnale di evacuazione ruota
leggermente a destra e si dirige verso zona rossa.
Finalità: Portare il robot nella zona di sicurezza con
tutti gli oggetti che si sono raccolti
Punteggio: 30 punti (acqua)+54 punti (sicurezza)+30 punti (animali domestici)+20 punti (rifornimenti e
attrezzature) +66 punti (famiglia)+25 punti (zona di sicurezza).
Le missioni precedentemente descritte sono quelle che abbiamo deciso di svolgere durante la gara;
Nel corso della preparazione alla gara abbiamo ugualmente realizzato i programmi per svolgere tutte
le missioni. Abbiamo successivamente montato un video che mostra tutte le missioni.
Istituto Istruzione Superiore “A. Maserati” – Voghera - FLL Rovereto (TN) - a.s. 2013-2014
Pagina 5
Ringraziamenti
Ringraziamo per aver collaborato al nostro progetto con modalità diverse:

L’Università degli studi di Pavia – Dipartimento di Scienze della Terra e dell’Ambiente;

Il Museo Elettrico Università degli studi di Pavia;

Gli Insegnanti di Scienze delle classi 1SC e 2SC dell’Istituto Maserati;

La ditta Elca System (sig. Franco Cavallaro) di Casei Gerola.

Il Centro regionale di pronto intervento della Protezione Civile di Milano
Componenti del gruppo:
Giovanni Balma
Lorenzo Ferrante
Lorenzo Ferrari
Gianluca Panebianco
Matteo Pidalà
Allenatori
Maria Grazia Gallo
Franco Cavallaro
Istituto Istruzione Superiore “A. Maserati” – Voghera - FLL Rovereto (TN) - a.s. 2013-2014
Pagina 6