20
Rete di scuole per la ROBOCUP JR ITALIA ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE della squadra GruzanteRescueB ITIS “C. Zuccante” - Mestre

ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

Rete di scuole per la

ROBOCUP JR ITALIA

ROBOCUP JR

ITALIA 2012 Riva del Garda (TN)

19-21 aprile

REPORT DI DOCUMENTAZIONE

della squadra

GruzanteRescueB

ITIS “C. Zuccante” - Mestre

Page 2: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

2

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;

Page 3: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

ROBOCUP JR ITALIA 2012 – Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE

3

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 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.

Page 4: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

4

GruzanteRescueB

PARTECIPA ALLA GARA DI

Rescue-B

ITIS “C. Zuccante” – Mestre

Cacco Michele 4 - ISC

Guerra Riccardo 3 - ETA

Marangoni Marco 4 - ISC

Marcato Riccardo 3 - ETA

Spanio Marco 3 - ETB

Veronese Alessia 3 - ETA

Page 5: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

ROBOCUP JR ITALIA 2012 – Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE

5

CAP. 1 - DATI GENERALI

Il gruppo è formato da sei allievi, dei quali quattro iscritti all’Indirizzo di Elettronica e Telecomunicazioni e due all’indirizzo Abacus –informatica. I compiti sono stati divisi nel seguente modo in modo da alleggerire il lavoro all’interno del gruppo:

• Michele Cacco: software e capitano;

• Riccardo Guerra: sensori e hardware;

• Marco Marangoni: strategie per labirinti;

• Riccardo Marcato: hardware e responsabile dell’alimentazione;

• Marco Spanio: documentatore e hardware;

• Alessia Veronese: aiuto-documentazione e hardware;

Ovviamente questi sono gli incarichi principali: durante i “lavori” ci siamo aiutati a vicenda al fine di svolgere al meglio i nostri compiti. Sono stati delegati a rappresentare la squadra a Riva del Garda gli allievi Cacco, Marcato, Spanio e Veronese. Docenti responsabili del gruppo di robotica sono i proff. G. Callegarin e A. Memo.

Page 6: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

6

CAP. 2 - DATI DI CONTESTO E MOTIVAZIONE

All’inizio degli incontri è passata per le classi una circolare che presentava l’attività sommariamente ma in modo sufficiente a incuriosire i membri del nostro gruppo; questi, interessati, hanno chiesto ulteriori informazioni ai professori responsabili del corso. Inizialmente non ci conoscevamo tra di noi ma abbiamo fatto presto amicizia; il gruppo si è formato casualmente: all’inizio eravamo solo in tre, ma successivamente se ne sono aggiunti altri che ci sono stati di valido aiuto per completare il nostro lavoro. Il lavoro, compresa questa documentazione, è stato svolto con un certo affanno sia per il ritardo con cui si è stabilizzato il gruppo sia per il ritardo con cui si sono resi reperibili alcuni componenti come il sensore di calore.

Page 7: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

ROBOCUP JR ITALIA 2012 – Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE

7

CAP. 3 – NOME E STRUTTURA DEL ROBOT

Nessuno di noi sa bene il perché, ma un membro del nostro gruppo insisteva nel voler mettere un toner all’interno del robot. Argomentava questa scelta dando le motivazioni più fantasiose come la possibilità di fare delle fotocopie durante il percorso che potevano fungere da coperte per le “vittime”. Battute senza senso che ci hanno fatto passare dei bei momenti assieme. Una volta finito il nostro robot abbiamo deciso di chiamarlo Toner ripensando a questo episodio. Il Toner appare fisicamente come segue:

Page 8: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

8

Qui sopra è invece riportato lo schema a grandi blocchi del robot con i 3 sensori a ultrasuoni (distanza), il sensore di temperatura (calore) per il riconoscimento delle vittime, i motori per il movimento e il led che segnala le vittime. Gli input sono rappresentati dalle frecce, le linee azzurre sono gli output collegati agli attuatori.

Page 9: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

ROBOCUP JR ITALIA 2012 – Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE

9

CAP. 4 – MECCANICA

Come struttura portante del robot abbiamo usufruito del DFRobot – 2WD Mobile Platform, una piattaforma robotica fornita commercialmente in kit. Questa ha un corpo di alluminio molto resistente e, in particolare, un livello fisico aggiuntivo dove abbiamo posizionato alcuni componenti tra cui l’Arduino.

Quando abbiamo montato i vari componenti sulla struttura, abbiamo cercato di distribuire il peso in modo equo per non sbilanciare il robot.

Page 10: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

10

CAP. 5 – UNITÀ DI CONTROLLO

L’unità centrale costituita da una scheda a microcontrollore Arduino 2009. Esso si collega al computer tramite connessione USB per la programmazione. La basetta è “stand alone” e permette quindi di eseguire il programma anche con alimentazione indipendente.

Page 11: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

ROBOCUP JR ITALIA 2012 – Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE

11

CAP. 6 – SENSORI

I sensori che abbiamo usato sono:

• tre sensori a ultrasuoni;

• un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori. Il sensore di temperatura è montato su una struttura girevole (servosterzo) che permette di rilevare dati in tutto l’ambiente circostante al robot.

Sensore ultrasuoni

Abbiamo usato il sonar XL MaxSonar EZ4 - MB1240 dotato delle seguenti:

• Tensione Operativa : 3.3 .. 5.5V

• Corrente Operativa Tipica :3 .4mA (a 5V) - 2.1mA (a3.3V)

• Frequenza : 42 KHz

• Portata Individuazione Oggetti : 0 - 6.45 mt

• Portata misurazione distanza: 0.20 - 6.45 mt

• Risoluzione: 1 cm

• Dimensioni : 22 x 20 x h 25 mm

• Modalità di funzionamento : PW, Analogico, RS232C

• Peso: 6 grammi

Il sensore è formato da un'unica capsula che comprende al suo interno un sistema che emette gli ultrasuoni e un sistema ricevente. Tramite il tempo di ritorno dell’onda a ultrasuoni il

Page 12: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

12

circuito di controllo, già presente al suo interno, riesce a calcolare un determinato valore che è poi mandato in uscita.

Sensore di temperatura

Abbiamo atteso a lungo il TPA81 uno dei pochi sensori sul mercato che serve al nostro caso: misurare del calore a 10-15 cm di distanza. Il TPA81 può misurare la temperatura di 8 punti adiacenti, contemporaneamente. Il TPA81 riesce ad individuare la fiamma di una candela a 2 metri di distanza ed e' insensibile alla luce ambientale.

Caratteristiche Tecniche:

Tensione Operativa 5V Corrente Operativa Tipica mA Accuratezza Range 4-10?C +/-3?C Accuratezza Range 10-100?C +/-2?C +/-2% Campo di rilevamento (FOV) 41 x 6 (8 pixel of 5 x 6)

Page 13: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

ROBOCUP JR ITALIA 2012 – Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE

13

Uscite 1 ambiente + 8 temp degli 8 pixel ComunicazioneProtocollo I2C In precedenza abbiamo provato ad utilizzare un tipo di sensore termico IR utilizzato normalmente nei termometri a distanza. Pur essendo molto contenuto il costo e molto valide le prestazioni, abbiamo dovuto rinunciarvi perché il sensore produceva un segnale di livello troppo basso che avrebbe richiesto un circuito di condizionamento e di amplificazione al di sopra delle nostre capacità. PCB

Per il controllo motori (ponte H) , l’interfacciamento dei quattro sensori e per l’alimentazione del robot abbiamo realizzato un PCB realizzato con Circad98

Inizialmente avevamo pensato di utilizzare basette diverse in base al loro utilizzo: una per il ponte H, una per i sensori e un’altra per l’alimentazione.

Page 14: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

14

CAP. 7 – ATTUATORI

Queste sono le caratteristiche dei 2 motoriduttori della piattaforma:

• Gear Ratio: 1:120

• Velocità a vuoto: 100rpm (a 3V) - 200rpm (a 6V)

• Corrente a vuoto: 60mA (a 3V) - 71mA (a 6V)

• Corrente di stallo: 260mA (a 3V) - 470mA (a 6V)

• Coppia: 1.2Kgcm (a 3V) - 1.92Kgcm (a 6V)

• Dimensioni del motore: 55 x 48.3 x 23 mm

• Peso del motore: 45 g

Questi sono collegati ad un integrato contenente un ponte H a sua volta comandato dall’Arduino.

Page 15: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

ROBOCUP JR ITALIA 2012 – Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE

15

Queste sono invece le caratteristiche del servo-motore su cui è montato il sensore di temperatura:

• Coppia Kg*cm: 4.1Kg (6Vdc)

• Peso: 45.5 g

• Tipo Ingranaggi: Resina ad alta resistenza

• Dimensioni: 41x20x37 mm

Per la segnalazione delle vittime abbiamo usato un led RGB. Nella figura sotto è riportato un momento del test del sensore di temperatura e del led.

Page 16: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

16

CAP. 8 – AMBIENTE DI SVILUPPO

Ovviamente abbiamo usato l’ambiente di sviluppo integrato (IDE) di Arduino. Come noto esso è concepito per iniziare alla programmazione artisti e neofiti, che sono a digiuno di pratica nello sviluppo del software.

Per permettere la stesura del codice sorgente, l'IDE include un editor di testo dotato inoltre di alcune particolarità, come il controllo delle parentesi, l'indentazione automatica e il riconoscimento delle parole chiave, che vengono evidenziate.

Page 17: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

ROBOCUP JR ITALIA 2012 – Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE

17

L'editor è inoltre in grado di compilare e lanciare il programma eseguibile in una sola passata e con un solo click. L'ambiente di sviluppo integrato di Arduino è fornito di una libreria software C/C++: la disponibilità della libreria rende molto più semplice implementare via software le comuni operazioni di input/output. I programmi di Arduino sono scritti in C/C++, ma all'utilizzatore, per poter creare un file eseguibile, non è richiesto di scrivere un programma in C, ma solo di definire due funzioni:

o setup() – funzione invocata una sola volta all'inizio di un programma che può essere utilizzata per i settaggi iniziali;

o loop() – funzione invocata ripetutamente, la cui esecuzione si interrompe solo con lo spegnimento della scheda.

E’ stato scelto di utilizzare questo IDE proprio per la sua facilità di comprensione e programmazione poiché il programmatore del gruppo conosceva il C dallo scorso anno.

Page 18: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

18

CAP. 9 – IL PROGRAMMA SOFTWARE

Di seguito un frammento del codice di un test utilizzato per segnalare la presenza di una vittima: const int pinTemperatura=4;

const int led=5;

const int CALDO=40;

int temperatura;

void setup(){

pinMode(pinTemperatura,INPUT);

pinMode(led,OUTPUT);

}

void loop(){

temperatura=analogRead(pinTemperatura);

if(temperatura>=CALDO){

digitalWrite(led,HIGH);

delay(2000);

<<allontana il robot>> …

La struttura generale del software è un po’ complessa. In pratica si tratta di visitare un labirinto nel minor tempo possibile riconoscendo le vittime. La strategia generale che abbiamo elaborato è stata di calcolare la “convenienza” di muoversi in una direzione rispetto ad un’altra dando dei pesi alle celle dove è possibile muoversi sapendo dove si è già passati e alla maggioranza di celle che potrebbero essere raggiungibili e non ancora visitate.

Page 19: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

ROBOCUP JR ITALIA 2012 – Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE

19

CAP. 10 – SORGENTE DI ALIMENTAZIONE

Per alimentare Toner abbiamo impiegato una batteria ricaricabile in polimeri di litio da 7,4V che ha una capacità di 1200 mAh. Prima di scegliere di utilizzare questa sorgente abbiamo provato con altre batterie che però non soddisfacevano alle nostre necessità.

Batterie in polimeri di litio a 7V.

Page 20: ROBOCUP JR ITALIA 2012 · • tre sensori a ultrasuoni; • un sensore di temperatura a distanza . Li abbiamo collegati all’Arduino tramite dei reofori senza modificare i sensori

20

INDICE

P.5 - CAP. 1 - DATI GENERALI

P.6 - CAP. 2 - DATI DI CONTESTO E

MOTIVAZIONE

P.7 - CAP. 3 – NOME E STRUTTURA DEL

ROBOT

P.9 - CAP. 4 - MECCANICA

P.10 - CAP. 5 – UNITÀ DI CONTROLLO

P.11 - CAP. 6 - SENSORI

P.14 - CAP. 7 - ATTUATORI

P.16 - CAP. 8 – AMBIENTE DI SVILUPPO

P.18 - CAP. 9 – IL PROGRAMMA SOFTWARE

P.19 - CAP. 10 – SORGENTE DI

ALIMENTAZIONE