Rete di scuole per la ROBOCUP JR ITALIA ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE Della squadra LaneRossi 2.0 Istituto A. Rossi (VI)
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE 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: 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 3
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 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.
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE ERTOLUPI RICCARDO SPREGGIARO DANIELE ZACCARIA DANIELE LaneRossi 2.0 PARTECIPA ALLA GARA DI Soccer B Istituto A. Rossi Classe 5^BT 5
CAP. 1 - DATI GENERALI Istituto di provenienza: I.T.I.S. A. Rossi Vicenza Docente responsabile: Serbo Gianluca Componenti: Ertolupi Riccardo Spreggiaro Daniele Zaccaria Daniele
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE CAP. 2 - DATI DI CONTESTO E MOTIVAZIONE Dopo il buon risultato nella scorsa edizione, abbiamo deciso di continuare con lo sviluppo del progetto per cercare di migliorare il nostro risultato. Inizialmente non pensavamo di partecipare anche a questa competizione, ma abbiamo colto l occasione propostaci da un nostro docente di buon grado, avvinti dalla sfida. Il team è lo stesso dell anno scorso, come si può evincere dal nome, e, grazie a questo, siamo riusciti a lavorare al meglio, in quanto il gruppo era già coeso e definito. Particolari problemi non sono stati riscontrati, in quanto non sono state apportate modifiche essenziali per quanto riguarda la gestione dei sensori. Abbiamo modificato sostanzialmente la meccanica, migliorandola e rendendo i robot più veloci e precisi, ma i sensori, un po per motivi economici, un po per motivi pratici, non sono stati cambiati. La parte più complessa è stata l assemblaggio dei robot, per il quale ci siamo serviti del kit Lego Mindstorms, ma siamo soddisfatti del lavoro svolto. Abbiamo anche apportato importanti modifiche in campo software, per quanto riguarda la logica di gioco. Il problema più rilevante era l imprecisione del sensore bussola nelle vicinanze delle porte, ma lo abbiamo risolto con l inserimento di un sensore a ultrasuoni. 7
CAP. 3 NOME E STRUTTURA DEL ROBOT La squadra è costituita da due robot, che sono stati costruiti con i componenti del kit Lego Mindstorms ai quali sono stati aggiunti dei pezzi creati da noi. I due automi sono pressoché identici, ad eccezione di qualche dettaglio meccanico derivante dal regolamento. Si possono distinguere a seconda del ruolo che svolgono. Un robot, infatti, viaggia per il campo a caccia della palla da catturare, mentre l altro rimane a coprire la zona difensiva onde evitare contropiedi improvvisi da parte degli avversari. Stricker: Il suo scopo è quello di seguire e catturare la palla e di condurla nella porta avversaria. Il robot poggia su due ruote in asse e su altre tre sfere fissate alle basette di alluminio, per mantenerlo solidamente in piedi. E attrezzato con un sensore a infrarossi per il riconoscimento della palla e con un sensore di colore per riconoscere quando è in possesso della stessa. Grazie agli attuatori di cui è fornito riesce a seguire la palla, catturarla e portarla agilmente in goal. Per catturare la palla ci siamo serviti di un sistema detto dribbler, che ci permette di mantenerla aderente al robot e quindi di compiere dei movimenti più rapidi, precisi e agili. Per il riconoscimento della porta avversaria ci siamo serviti di un sensore bussola, per orientarci nel campo, e di un sensore a ultrasuoni, per la correzione della traiettoria.
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE Goalkeeper: Questo secondo robot ha lo scopo di sorvegliare la porta e di respingere gli attacchi avversari, contrattaccando. Anche questo robot poggia su due ruote in asse e su tre sfere, la sua unica differenza consiste nella presenza di uno strato superiore alla basetta di alluminio per dargli più rigidezza e renderlo più efficiente. Anch esso è dotato di un sensore infrarosso per il riconoscimento della palla e di un sensore colore per riconoscerne il possesso. E inoltre dotato di una sensore bussola, per effettuare le azioni di contrattacco e puntare la porta avversaria, e di un sensore di colore puntato sul suolo per riconoscere il limite dell area di porta. E dotato inoltre del dribbler, per un azione efficace. 9
Immagine 1: Un robot
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE CAP. 4 MECCANICA Il movimento è ottenuto mediante due motori posti verticalmente al centro del cerchio della base metallica. Per controllare la palla con il dribbler ci siamo serviti di un altro motore, fissato sulla parte frontale. Tutti i motori utilizzati sono stati presi dal kit Lego Mindstorms. Per aumentare l agilità e il controllo della palla abbiamo ritagliato delle basi rotonde, con un rientramento semicircolare anteriore, in alluminio e le abbiamo fissate in basso, in modo tale da consentire ai robot di districarsi negli angoli e di evitare di incastrarsi con gli avversari. 11
CAP. 5 UNITÀ DI CONTROLLO Per l'unità centrale di ciascun robot è stato utilizzatolo stesso sistema sfruttato nella scorsa competizione. Ci siamo serviti del mattoncino Lego NXT 2.0, fornito dal kit Lego Mindstorms. E' alimentato da una batteria apposita (7,4V; 2200mAh) e necessita del firmware LEGO MINDSTORMS NXT Firmware Version 1.28 I programmi, scritti in NXC, sono stati scaricati dal computer sul mattoncino NXT attraverso un cavo USB mediante il compilatore Bricx Command Center. Immagine 2: Mattoncino Lego NXT 2.0.
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE CAP. 6 SENSORI Sono stati impiegati sensori forniti dalla Lego e dalla HiTechnic, simili in forma a sensori Lego Mindstorms, ma che sono stati acquistati separatamente, e con lo stesso collegamento mediante cavo seriale dei sensori e dei motori Lego Mindstorms. Sono stati impiegati i seguenti sensori: IRSeeker2AC (HiTechnic): si tratta di un sensore a infrarossi che è stato utilizzato per riuscire a individuare e seguire nel campo la palla che emette un segnale pulsante a infrarossi. Ogni robot ne ha uno montato tra i motori e sotto il dribbler. Immagine 3: Sensore IRSeeker2AC. Compass (HiTechnic): si tratta di una bussola digitale che si orienta col campo magnetico terrestre. La utilizziamo per far orientare entrambi i robot nel campo e per fargli puntare la porta avversaria. Immagine 4: Sensore Compass. 13
Color (Lego): si tratta di un sensore RGB, che rileva il colore della superficie sulla quale è puntato, mediante l'emissione di una luce che andrà a riflettersi sulla superficie stessa. Lo abbiamo utilizzato per permettere al portiere di riconoscere la sua posizione rispetto alla sua area. Immagine 5: Sensore Color (Lego). Color (HiTechnic): si tratta di un sensore del tutto simile a quello sopra descritto, ma è molto più preciso. Ne abbiamo montato uno su ciascun robot, per fargli riconoscere il possesso della palla. Immagine 6: Sensore Color (HiTechnic). US (Lego): si tratta di un sensore a ultrasuoni che misura la distanza dall ostacolo più vicino mediante il calcolo del tempo impiegato da un segnale ultrasonico emesso per ritornare al sensore. E stato
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE utilizzato per aggiustare la traiettoria del robot Stricker. Immagine 7: Sensore US (Lego). 15
CAP. 7 ATTUATORI Per il movimento e il controllo della palla abbiamo utilizzato i motori forniti dal kit Lego Mindstorms. Ogni robot è dotato di tre motori, due per il moto e uno per il dribbler. Tutti i motori sono stati collegati alle uscite del mattoncino NXT mediante cavi seriali appositi forniti dalla Lego. Immagine 8: Motore Lego Mindstorms.
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE CAP. 8 AMBIENTE DI SVILUPPO Abbiamo deciso di programmare i robot in linguaggio NXC, mediante il compilatore Bricx Commad Center (versione 3,3,8,8) perché è lo stesso che abbiamo utilizzato nella scorsa edizione e avevamo trovato l ambiente NXC molto pratico e versatile. Immagine 9: Linguaggio NXC. 17
CAP. 9 IL PROGRAMMA SOFTWARE Il programma, scritto in NXC mediante il compilatore Bricx Command Center e successivamente scaricato sul controllore, si costituisce di un unico corpo, costituito dalla funzione main, all interno del quale si possono distinguere più parti, ciascuna delle quali compie una specifica operazione. Dopo aver definito le variabili fondamentali siamo passati all interno del main e abbiamo definito le altre variabili e settato i sensori sulle rispettive porte del controllore. Siamo poi passati al programma vero e proprio con la lettura dei sensori e la definizione delle operazioni da far svolgere al robot, attraverso una serie di confronti if e switch e di cicli while e for. Schematicamente si possono riassumere in questo modo: Stricker: - Riconoscimento e inseguimento della palla, attraverso il sensore infrarosso e il moto dei motori; - Rilevamento possesso, attraverso il sensore colore; - Movimento verso la porta avversaria, attraverso il moto dei motori e la costante lettura della bussola e dell ultrasuoni. Goalkeeper: - Riconoscimento palla e puntamento, attraverso il sensore infrarosso il robot si mantiene sempre di fronte alla palla, puntandola;
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE - Azione di contropiede. Questo avviene quando la palla si avvicina troppo alla porta. Il portiere la raccoglie e, analogamente all attaccante, la spinge nella porta avversaria. 19
CAP. 10 SORGENTE DI ALIMENTAZIONE Entrambi i robot sono alimentati dalla batteria fornita dalla Lego per NXT. Essa ha una tensione in uscita pari a 7,4V e fornisce 2200mAh. Immagine 10: Batteria Lego NXT Adottata.
ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE APPENDICE 1 RINGRAZIAMENTI Dobbiamo ringraziare la scuola per averci dato questa opportunità e per il supporto tecnico, le nostre famiglie per averci sostenuto moralmente ed economicamente, Federico Faggin per averci finanziato il viaggio e il soggiorno a Riva del Garda, Royal Kebab e The Coca-Cola Company per il pranzo sempre fresco e buono, Leroy Merlin per averci fornito la meccanica necessaria e Flavio Zaccaria per l impegno economico. Ringraziamo infine gli organizzatori della 4^ Robocup Jr. Italia per la manifestazione allestita. 21
INDICE P.6 CAP. 1 - DATI GENERALI P.7 CAP. 2 - DATI DI CONTESTO E MOTIVAZIONE P.8 CAP. 3 NOME E STRUTTURA DEL ROBOT P.11 CAP. 4 - MECCANICA P.12 CAP. 5 UNITÀ DI CONTROLLO P.13 CAP. 6 - SENSORI P.16 CAP. 7 - ATTUATORI P.17 CAP. 8 AMBIENTE DI SVILUPPO P.18 CAP. 9 IL PROGRAMMA SOFTWARE P.20 CAP. 10 SORGENTE DI ALIMENTAZIONE P.21 - APPENDICE 1 - RINGRAZIAMENTI