Rete di scuole per la ROBOCUP JR ITALIA ROBOCUP JR ITALIA 2012 Riva del Garda (TN)
REPORT DI DOCUMENTAZIONE Della squadra: SALENTO Istituto: IIS F. BOTTAZZI dfi CASARANO (LE) 2
IL NOSTRO ISTITUTO 3
La Rete di scuole per la Robocup Jr ITALIA è espressione dell Autonomia scolastica regolata dal D.P.R. 275/99 (art. 7) che permette alle scuole statali di operare sinergicamente per obiettivi condivisi e ritenuti importanti per l offerta formativa erogata all utenza. La Rete di scuole è nata sulla condivisione di una serie di principi EDUCATIVI e DIDATTICI riferiti alla realtà della scuola italiana. Questi principi e le conseguenti proposte operative erano stati riportati in un documento del maggio 2008 dal titolo: Manifesto per una RoboCupJr italiana - una proposta per la diffusione dell utilizzo didattico della Robotica nelle scuole a cura di Andrea Bonarini, Augusto Chioccariello e Giovanni Marcianò. Maggio 2008 L obiettivo della Rete organizzare l edizione italiana della Robocup Jr concretizza una spinta al confronto e alla collaborazione tra Istituti scolastici, elementi che motivano docenti e studenti all impegno nell innovazione, sia didattica che tecnologica, affrontando i problemi che costituiscono uno standard internazionale dal 2000, quando la Robocup (manifestazione riservata alle Università di tutto il mondo) ha proposto le tre gare per la scuola: Dance Rescue Soccer. La Robocup Jr ITALIA è Una manifestazione nazionale fondata di tre punti forti: 4
1. una struttura che cura l organizzazione e gestisce gli aspetti di organizzazione, promozione, svolgimento ai diversi livelli, regionali e nazionali; 2. un contenuto condiviso, ovvero regolamenti, formule di gara, supporto formativo e informativo ai partecipanti; 3. una documentazione delle proposte didattiche e del lavoro degli studenti che coinvolgono l uso di kit o robot auto costruiti per la partecipazione agli eventi organizzati dalla Rete. Questo volumetto appartiene alla collana di documentazione. Sul piano organizzativo e gestionale della Rete di scuole lo Statuto prevede organismi ben distinti ma fortemente integrati: COMITATO DI GESTIONE formato dai Dirigenti scolastici degli Istituti fondatori o associati alla Rete. Si riunisce due volte l anno in via ordinaria, e online per decisioni straordinarie. ISTITUTO CAPOFILA come previsto dal DPR 275/99 cura gli aspetti burocratici, amministrativi e contabili della Rete. Il Dirigente scolastico dell Istituto capofila è il legale rappresentante della Rete e provvede a dare esecuzione alle delibere del Comitato di Gestione. COMITATO TECNICO formato dai docenti referenti degli Istituti fondatori o associati alla Rete, provvede a definire il Bando e i Regolamenti di gara per la manifestazione annuale nazionale, trasmettendoli al Comitato di gestione che li deve approvare. COMITATO LOCALE - Cura l edizione annuale della manifestazione, ed è formato a cura 5
del Istituto fondatore o associato a cui il Comitato di Gestione ha assegnato la cura dell evento. ISTITUTI PARTECIPANTI iscrivendosi alle gare, beneficiano del supporto della Rete ma non partecipano alle decisioni gestionali o tecniche. La partecipazione alla gara nazionale li rende idonei per aderire alla Rete. Diversamente serve il parere del Comitato Tecnico. 6
autori Liviello Leo Giuseppe Crispe Mirko Gaetani Manuel Ivan Saracino Fabrizio Manni Simone Saverio SALENTO PARTECIPA ALLA GARA DI DANCE Istituto: IIS F. BOTTAZZI Classe 4^ A TE 7
CAP. 1 - DATI GENERALI La squadra è formata da cinque studenti: Liviello Leo Giuseppe Crispe Mirko Gaetani Manuel Ivan Saracino Fabrizio Manni Simone Saverio frequentano la quarta classe di Tecnico delle Industrie Elettroniche dell istituto professionale IIS F. BOTTAZZI di Casarano(LE). Docente responsabile: Prof. Ippazio Francesco Pignataro. 8
CAP. 2 - DATI DI CONTESTO E MOTIVAZIONE Nell anno scolastico 2007/2008 si è attivato il primo corso di robotica per favorire la motivazione di noi studenti, e si sono realizzati alcuni robot presentati all expo di Casarano(LE) in occasione della festa del S. Patrono. Lo scorso anno il nostro Istituto ha partecipato per la prima volta alla Robocupjr che si è svolta a Catania. L esperienza fatta dai nostri amici/colleghi è stata così esaltante che all inizio dell anno scolastico tutta la classe ha fatto esplicita richiesta sia al nostro professore di Sistemi, sia al Dirigente Scolastico, l iscrizione alla Rete di scuole per la Robocup jr con l intento di partecipare alla gara di robotica. L iscrizione del nostro istituto alla Rete, mira a creare in noi interesse e curiosità, ma, anche, a supportare l attività svolta per favorire il lavoro di èquipe e per abituarci alla competizione. La competizione, infatti, prevede scadenze inderogabili e specifiche tecniche condivise con altri soggetti. Oltre a quanto detto sopra, la gara, il viaggio e il confronto con altri ragazzi, quello che più di tutto ci ha motivati è stato che ciò che potevamo imparare a fare era facendo cioè imparavamo creando con le nostre mani. 9
La robotica, infatti, permette di attivare percorsi didattici non noiosi, alla riscoperta di contenuti attinenti le discipline scientifiche e tecniche; confluiscono molte discipline e in particolare l informatica, l elettronica, l automazione, la fisica e la meccanica, quindi un laboratorio ideale di sperimentazione scientifica. Bubbi, tanti, ma, la fiducia e l intesa che si è creata nel gruppo di lavoro ha permesso di superare i momenti di crisi. L ostacolo maggiore è stato a causa dei numerosi rientri pomeridiani, problemi di trasporto e la conciliazione con lo studio curricolare. Con sorpresa i dubbi si sono dissolti man mano che si procedeva nella attività, la fatica è stata cancellata dall entusiasmo crescente ed è nata in noi e nelle nostre famiglie passione e consapevolezza. 10
CAP. 3 NOME E STRUTTURA DEL ROBOT Nome dei robot che si esibiranno sono: I PIZZICATI Struttura dei robot: Androide. Una volta scelto il nome della squadra Salento è naturale pensare alla pizzica, vedi La Notte della Taranta che è un festival di musica popolare salentina, di pizzica, che si svolge n vari comuni della provincia di Lecce e della Grecìa Salentina, soprattutto a Melpignano e ha il suo clou nel mese di agosto. Interfaccia Uomo/Fonte audio/nxt MEMORIA ATTUATORI I/O SENSORI CPU NXT Unità Figura 3.1 Schema a blocchi funzionali dei Robot L architettura dei robot è evidenziata dallo schema a blocchi funzionale della figura 3.1,. 11
1. attuatori, ( 3 motori) 2. unità centrale NXT 3. sensori (suono,luce) 4. interfaccia uomo/fonte audio/nxt I robot sono realizzati con il kit della LEGO MINDSTORMS Education e ogni robot e costituito da: - N 2 motori laterali che si occupano del movimento delle ruote - N 1 motore centrale che serve a movimentare, per mezzo di bielle, ruote dentate e cinghie (elastici) la testa, le braccia. - N 1 Unità Centrale l NXT, un mattoncino intelligente che rappresenta il cervello del robot. - Sensore del suono, sensore di luce, sensore mattoncini lego per realizzare la struttura 12
Figura 3.2 piano di lavoro Figura 3.3 vista di spalle di un robot 13
Figura 3.4 vista di fronte del robot Figura 3.5 14
Figura 3.6 fase di montaggio Figura 3.7 15
Figura 3.8 16
CAP. 4 MECCANICA Una delle principali capacità che si richiedono ad un robot, oltre all abilità di manipolare oggetti, è quella di sapersi muovere nel proprio spazio di lavoro, nel nostro caso lo stage per la performance di DANCE. E per questo che si è pensato ad un sistema di locomozione tradizionale molto semplice ed efficace, almeno su supporti piani e precisamente muoversi su ruote. Dopo diversi tentativi si è pervenuti alla soluzione adottata, per avere un movimento più agile e fluido,come si può notare dalla figura sotto riportata: Figura 4.1 sistema di trazione su ruote 17
Per far muovere la testa si è utilizzato il sistema di ingranaggi. Più elastico per ridurre la velocità del motore con cui si aziona il movimento del capo. Figura 4.2 sistema movimento capo 18
CAP. 5 UNITÀ DI CONTROLLO. Figura 1.1 - NXT Unità di controllo Con la sigla NXT si intende un kit di montaggio finalizzato a l l a costruzione di robot. Il suo elemento principale, detto brick in riferimento alla sua forma a mattone, è un piccolo elaboratore. All esterno di esso balzano subito all occhio i fori adatti all assemblaggio con i classici componenti LEGO, il display, i pulsanti e i connettori per sensori e motori. Elenchiamo in breve le principali componenti del brick: Processore: Atmel a 32 bit processore ARM7, AT91SAM7S256; è una CPU RISC progettata dalla ARM, è stata studiata per dispositivi mobili a bassa potenza. Questo processore supporta istruzioni a 32-bit. Inoltre il microprocessore è supportato da 256 KBytes di memoria flash e 64 Kbytes di memoria RAM. 19
Co-processore : Atmel 8-bit AVR modello ATMEGA48; a 4 MHz con 4 KByte di memoria flash e 512 Bytes di RAM. è un processore della famiglia di processori RISC. Bluetooth: CSR BlueCoreTM 4 versione 2.0; controller che lavora alla frequenza di 26 MHz. Il dispositivo bluetooth ha memoria flash esterna da 8 Mbit e una memoria RAM da 47 KBytes. Porta di comunicazione USB 2.0: con velocità di trasmissione di 12 Mbit/s. Questa porta è utilizzata per l upload dei nostri programmi all interno del brick, scaricare file (ad esempio i risultati di un elaborazione), oppure aggiornare il firmware; Un display LCD con matrice 100x64 pixel in bianco e nero, con area visualizzabile pari a 26 X 40,6 millimetri. 4 porte di input con connettore RJ12 a 6 fili;con le quali è possibile collegare i sensori o altri dispositivi di input, indicate con i numeri 1, 2, 3 e 4. 3 porte di output con connettore RJ12 con piattaforma digitale a 6 fili alle quali è possibile collegare i motori o altri dispositivi di output, indicate con le lettere A, B, e C. 20
comunicazione NXT-PC avviene per mezzo di un cavo tipo USB oppure interfaccia bluetooth Altoparlante: diametro pari a 21 mm e resistenza di 16 Ohm. Il canale di uscita audio ha una risoluzione di 8-bit e una frequenza di campionamento compresa tra 2 e 16 KHz. Il segnale audio è riprodotto dall ARM7, è amplificato da un amplificatore operazionale con guadagno pari a 20 e inviato all altoparlante; 4 bottoni per la navigazione del menù da parte dell utente e il cui stato è gestibile in programmazione; Alimentazione: tramite 6 batterie da 1,5 V AA di tipo alcalino, oppure è disponibile una batteria ricaricabile Li-Ion con una tensione di 7.2V e 1400 ma/h; Firmware NXT-G : linguaggio di programmazione grafico di tipo drag and drop che si trova incluso nel kit educativo Lego Mindstorms NXT. Questo software è basato sul sistema di sviluppo LabVIEW di National Instruments ed è un applicativo semplice da usare, in modo che possa essere usato dai bambini. Questo strumento mette a disposizione i blocchi per tutte le principali funzioni e, questi blocchi possono essere personalizzati. Con un pò di esperienza si può ottenere un livello di programmazione avanzata. 21
Figura 1.2: Scheda elettronica di un NXT Figura 1.3: Diagramma a blocchi delle componenti di un NXT 22
Figura 1.4: Una foto esemplificativa del package dell ARM7 23
CAP. 6 SENSORI Sensore di SUONO Figura 3.1: Sensore di suono Permette al robot di reagire ai livelli audio. Il sensore di suono non permette di registrare un segnale audio, ma di monitorare la pressione sonora dell ambiente circostante, cioè il valore di SPL (sound pressure level). Con questo termine intendiamo la variazione di pressione rispetto alla condizione di quiete causata da una perturbazione, ovvero da un onda sonora. Il range di valori acquisibili, dai dati dichiarati dalla LEGO, arriva a 90dB. Il decibel (db) è un valore che deriva da una funzione logaritmica che esprime il rapporto tra due dati confrontabili e perciò è adimensionale. Nel nostro caso il livello di 24
pressione sonora è definito con la formula SPL = 20 log10(p/p0), dove P è la pressione attuale e P0 quella di riferimento definita dallo standard ANSI pari a 20μPa. Ad ogni incremento di 6dB il valore di pressione sonora P raddoppia. Il livello sonoro fornito è espresso, per semplicità di comprensione, in percentuale. La LEGO rende nota anche una scala comparativa che indica la corrispondenza dei dati rilevati con quelli di comuni fonti sonore: 4-5% pari ad una stanza silenziosa; 5-10% valore registrabile se qualcuno parla nella stanza a distanza dal sensore 10-30% rumore prodotto da una conversazione nei pressi del sensore 30-100% livello di pressione sonora prodotta da un grido o da musica ascoltata a volume alto 100% pari al rumore prodotto dal motore di un tosaerba. Nel nostro caso è utilizzato per dare lo start al robot per incominciare a dansare. 25
Sensore di LUCE Figura 3.2: Sensore di Luce Il sensore di luce misura il livello di luminosità dell ambiente. Non è un sensore di colore. Esso fornisce un dato proporzionale alla lunghezza d onda della luce che colpisce il fototransistor. Per immaginare il risultato ottenuto da questo sensore pensiamo a quando prendiamo una foto a colori e la convertiamo in bianco e nero. Si ottiene una scala di grigi. Il componente che permette al nostro robot di vedere è detto fototransistor. Esso, in sostanza, è un transistor a giunzione bipolare che viene inscatolato in un contenitore trasparente in modo 26
che la luce possa raggiungere la giunzione del collettore di base, variando così il guadagno del transistor in relazione alla lunghezza d onda della luce che lo colpisce. Noi lo abbiamo utilizzato per riconoscere il limite dello stage in modo tale da non uscire dall area consentita per dansare. 27
CAP. 7 ATTUATORI ServoMOTORI Figura 7.1: L esploso del motore Gli attuatori (motori) utilizzati sono i tre servomotori interattivi, contenuti nel kit. Tutti i servomotori interattivi dispongono di un sensore di rotazione integrato, che inviando un feedback all NXT gli consente di controllare i movimenti con estrema precisione Il motore dell NXT è un motore elettrico in corrente continua il cui albero non è direttamente collegato e quindi a disposizione dell utente, bensì tramite una scatola di ingranaggi di riduzione. Infatti, se noi osserviamo esternamente questo componente potremo notare una parte cilindrica, che corrisponde al motore vero e proprio, e una parte allungata in cui risiede la scatola degli ingranaggi. Riduttore La scatola degli ingranaggi è una struttura che contiene coppie di ingranaggi il cui numero di 28
denti, partendo dal primo fissato sull albero motore, è: 10:30, 30:40, 9:27, 10:20, 10:13, 13:20. Il rapporto di riduzione totale dall albero motore all albero a cui l utente può connetere i componenti Lego è quindi di 1:48, cioè per un giro del motore, l albero che noi vediamo esternamente compirà 1/48esimo di giro o meglio, per far compiere un giro all albero a cui l utente ha accesso, il motore ne fa 48. Questa riduzione di velocità di rotazione fornisce al motore una notevole forza. Infatti, se la velocità di rotazione viene ridotta di 48 volte il momento della forza1, agente sull albero finale, aumenta dello stesso valore. Figura 7.2: La scatola degli ingranaggi di riduzione all interno del motore ENCODER Figura 7.3: Foto dell encoder montato nel motore 29
Oltre a quanto precedentemente detto il motore è dotato di un encoder. Esso è un dispositivo elettromeccanico che permette di trasformare una posizione angolare, o una variazione di essa, in un segnale elettrico. Ne esistono di due tipologie: Assoluti o Relativi. I primi forniscono digitalmente la posizione esatta dell albero cifrata con un opportuna sequenza di valori binari. I secondi invece indicano la variazione della posizione, si può sapere cioè quando varia di un unità di misura prescelta (per esempio quando si ha uno spostamento di 1 ), ma non si può sapere la posizione attuale dell albero a meno che, a priori, non si tenga un conteggio delle variazioni registrate e sia nota la posizione di partenza. Con questi dati si può rilevare in qualsiasi istante in che posizione sia il nostro motore e questo è il sistema utilizzato per l encoder del motore dell NXT. Generalmente il meccanismo si basa, per effettuare la misura, su un rotore che presenta delle feritoie a distanza costante ed è collegato all albero motore. Dei fotodiodi identificano quando il rotore è su una feritoia oppure no, cioè se vedono o no la luce emessa da un dispositivo posto dall altra faccia del rotore. Questa variazione di stato, da luce a buio o da buio a luce, di un fotodiodo identifica la percorrenza di una determinata porzione d angolo nota a priori. Il collegamento tra attuatore(motore) all unità centrale avviene tramite i cavi neri a 6 connettori e possono essere utilizzati sia nelle porte di ingresso che in quelle di uscita. 30
I motori devono essere collegati alle porte di uscita (A, B, C). Figura 7.4 Attuatori Figura 7.5 Cavo di collegamento 31
CAP. 8 AMBIENTE DI SVILUPPO La LEGO fornisce, con l'acquisto del kit l NXT-G, un ambiente di sviluppo interamente grafico, di tipo drag and drop, che permette una programmazione base del NXT. - INTERFACCIA UTENTE DEL SOFTWARE - G v.2.0 1. Tutorial 2. Il Mio Portale 3. Barra degli strumenti 4. Area di lavoro 5. Finestra di guida rapida 6. Mappa dell area di lavoro 7 Barra dei comandi di programmazione 8. Pannello di configurazione 9. Controller 10. Finestra dell NXT Il software di programmazione NXT-G è un linguaggio potente che semplifica la scrittura di programmi personalizzati per i robot. NXT-G è un 32
grande linguaggio di programmazione in primo luogo, ma questo non significa che sia facile da capire, almeno non subito. Si impara a lavorare con le parti fondamentali del linguaggio NXT-G, come blocchi, fili di dati, file e variabili, e vedere come questi pezzi possono lavorare insieme. Ecco alcune delle principali caratteristiche: Software di semplice utilizzo (adatto ai bambini) Programmazione visuale (a blocchi) Blocchi preimpostati per tutte le funzioni principali Possibilità di programmazione avanzata (con un po' d'esperienza) Possibilità di personalizzare i blocchi Pro: ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 1. NXT-G è semplice da installare su macchine Windows XP e Windows Seven ed è anche supportato dal Mac OS X. 2. NXT-G può trasferire i dati via Bluetooth o attraverso l'incluso cavo USB. 3. NXT-G fornisce un ambiente grafico facile da usare di tipo drag and drop. 4. I grafici includono l'installazione dei cavi che mostrano il flusso dei dati da blocco a blocco. Contro: 1. i Programmi NXT possono essere molto più pesanti di identici programmi sviluppati con 33
un linguaggio di programmazione fornito da terze parti 2. limitata libertà di programmazione. Il software NXT-G solitamente è lento in fase di esecuzione, perfino su PC potenti. 34
CAP. 9 IL PROGRAMMA SOFTWARE Parti del software prodotto per implementare i robot: Figura 9.1 Figura 9.2 35
CAP. 10 SORGENTE DI ALIMENTAZIONE Una batteria ricaricabile alimenta NXT per permettere al robot di muoversi e interagire con l ambiente. La batteria è realizzata ai polimeri di Li-Ion impiega circa 4 ore per la ricarica e può essere sottoposta a circa 500 cicli di ricarica. La batteria viene inserita nel lato inferiore dell NXT. BATTERIA RICARICABILE 36
APPENDICE 1 LA COREOGRAFIA E I COSTUMI I robot ballano in coppia,interpretando un brano di musica popolare Salentina Pizzica de core. La pizzica de core rappresenta i sentimenti d amore, erotismo e passione nel rito di corteggiamento tra un uomo e una donna. In questo ballo la donna balla al ritmo frenetico dei tamburelli e violini sventolando un fazzoletto rosso, il colore della passione, con il quale invita a ballare colui che il capriccio le indica. Stanca di questo compagno, ne invita un altro e un altro ancora a suo piacimento, donando il fazzoletto solo a colui che sarà stato in grado di rapirle il cuore assecondando ogni suo desiderio, ogni sua fantasia. I costumi tipici della tradizione contadina del Salento. 37
APPENDICE La realizzazione di un robot con kit di montaggio del tipo utilizzato da noi, pone problemi sia di tipo meccanico/cinematico, sia di tipo informatico che sono tipici della robotica. L elevata modularità, che questo tipo di kit consente, permette di esplorare diverse soluzioni ai problemi precedentemente menzionati, caratteristica questa che ne mette in risalto la possibilità di utilizzo ai fini didattici. L unico limite alla creatività dei progettisti, che abbiamo notato, è dato dall esigua disponibilità di elementi attivi (solo 3 attuatori) all interno della singola scatola. La realizzazione di opere più complesse richiederebbe l utilizzo di più kit di montaggio, soluzione che, comunque, potrebbe rappresentare una possibilità economica per lo sviluppo di prototipi. 38
Album Foto Figura 1 39
Figura 2 40
Figura 3 41
Figura 4 42
Figura 5 43
Figura 6 44
INDICE P.8 - CAP. 1 - DATI GENERALI P.9 - CAP. 2 - DATI DI CONTESTO E MOTIVAZIONE P.11 - CAP. 3 NOME E STRUTTURA DEL ROBOT P.17 CAP. 4 MECCANICA P.19 CAP. 5 UNITÀ DI CONTROLLO P.24 CAP. 6 SENSORI P.28 CAP. 7 ATTUATORI P.32 CAP. 8 AMBIENTE DI SVILUPPO P.35 CAP. 9 IL PROGRAMMA SOFTWARE P.36 CAP. 10 SORGENTE DI ALIMENTAZIONE P.37 APPENDICE 1 P.38 APPENDICE P.39 ALBUM FOTO 45