Report di docmentazione della squadra spritis Dell istituto tecnico industriale di valdagno

Documenti analoghi
ROBOCUP JR ITALIA 2011

ROBOCUP JR ITALIA 2011 Catania aprile

ROBOCUP JR ITALIA 2011

ROBOCUP JR ITALIA 2011

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2011

ROBOCUP JR ITALIA 2012

ROBOCUP JUNIOR. CATANIA, Aprile SenigalliaRobot. A cura di: Mazzanti Matteo Stefanini Alessandro Simone Giovanni

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2012 Riva del Garda (TN) aprile

Lego Mindstorms NXT è un kit robotico programmabile rilasciato dalla Lego alla fine di Luglio 2006.

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2011

ROBOCUP JR ITALIA RIVA DEL GARDA

ROBOCUP JR ITALIA III EDIZIONE CATANIA 2011

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2012 Riva del Garda (TN) aprile

ROBOCUP JR ITALIA 2011

ROBOCUP JR ITALIA Riva del Garda aprile

Rete di scuole per la ROBOCUP JR ITALIA. ROBOCUP JR ITALIA 2012 Riva del Garda (TN) aprile

ROBOCUP JR ITALIA 2012

Programmazione dei robot

sperimenta anche tu! A SCUOLA DI ROBOT STUDENTI Al Horany Mohammad, Ambrosini Alessandro, Bacco Gianmarco, Magagna Marilla DOCENTI

Robotica e didattica

ROBOCUP JR ITALIA 2015

ROBOCUP JR ITALIA 2012

CHI SIAMO.

Macchinina evita ostacoli Arduino

ROBOCUP JR ITALIA 2012

La piattaforma per la robotica educativa VEX IQ è pensata per gli studenti a partire dalla scuola primaria. Si adatta sia a studenti alle prime armi

ROBOCUP JR ITALIA 2012

LE ALTRE BOARD ARDUINO

Grande festa della robotica all'iti "Monaco" di Cosenza!

ROBOCUP JR ITALIA 2012 Riva del Garda (TN) aprile 2012

Il sensore seguilinea

I.T.T.S. "Cerulli" GIULIANOVA -TE- Laboratorio di Robotica Educativa Tutorial Robot in... 5 minuti!

Descrizione puntuale delle modalità di collocazione delle attrezzature

Macchina con Arduino Uno comandata tramite dispositivo Android e sensore ultrasuoni per fermarsi istantaneamente di fronte ad un ostacolo

Guida all educazione STEM. Dal punto di vista degli studenti

con il sostegno di Con la collaborazione

Tutto quello che abbiamo imparato all Istituto Tecnico Maserati. Scopri tutti i dettagli

ROBOCUP JR ITALIA 2012

con il sostegno di Con il Patrocinio

KS 407. Terminale operatore con PLC integrato. inferiore a 300 ma senza carichi. Memoria Programma

I sistemi robotici Lego Mindstorms

TSP 240. Terminale operatore con PLC integrato. inferiore a 500 ma senza carichi. Memoria Programma

Per vedere tutti i tutorial:

CATANIA 2011 DATI GENERALI DATI DI CONTESTO E MOTIVAZIONE

LE Academy Introduzione alla robotica

LEGO Mindstorms e Arduino nella scuola secondaria di secondo grado: alcune esperienze didattiche. Pietro Bonora Liceo Scientifico A.B.

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

ROBOCUP JR ITALIA 2012

NB HP PAVILION G6-1310EL

Azionamenti per il controllo dell attuazione elettrica Serie DRWB

con il sostegno di Con il Patrocinio

KS 405. Terminale operatore con PLC integrato. inferiore a 200mA senza carichi. Memoria Programma Memoria Pagine

Cos è? Definizione ufficiale scritta dall inventore di Arduino, Massimo Banzi.

Serie DRWS: driver per motori Stepper, taglia unica Serie DRWB: driver per motori Brushless, taglie da 100, 400 e 750 W

ROBOTICA Syllabus Versione 1.0

Workshop Teachers For Teachers settembre 2013

ROBOCUP JR ITALIA 2012

PROGETTO DI ALTERNANZA SCUOLA LAVORO 3 MECCANICA

Programma di Robotica[LEGO EV3]

ROBOCUP JR ITALIA 2012

I sensori del robot 1

ROBOCUP JR ITALIA 2012

Corso Generazione Web. Sede Corso: IC di Via Anna Botto - Vigevano Dirigente: Alberto Panzarasa Tutor: Claudia Verminetti. Attività di coding

Indice generale. Ringraziamenti...xi Prefazione...xiii. Componenti necessari...xvii. Iniziare a lavorare con Arduino Benvenuti in Arduino...

Alain Turing (rielaborazione foto di Wikipedia)

ROBOCUP JR ITALIA 2012

Internetworking V a nno

DMX 30. PLC visualizzato per montaggio a quadro. CARATTERISTICHE ELETTRICHE Min 20Vcc ; Max 26 Vcc Min 15 Vac ; Max 21 Vac

I dispositivi di input/output

FINE DELLA FASE SOUND FOLLOWER

ROBOCUP JR ITALIA 2012

Tecnologie per la mente. Laboratorio di Psicologia e Scienze Cognitive

CHI SIAMO I NOSTRI OBIETTIVI ALCUNI NUMERI

Micro Servoazionamento Passo-Passo - ViX

Informazioni sul corso

Corso di programmazione Arduino DI MALVEZZI DAVIDE

L Istituto Comprensivo Cosenza 1 Zumbini ha partecipato alla XII edizione della 3 giorni per la scuola Smart education e technology days :

SLIM2.1. Automazione di scuri, per montaggio a vista

Sviluppo di sistemi di controllo su piattaforma LEGO Mindstorms

INNOVAZIONE DIGITALE: CODING, ROBOTICA, MAKING

WEB:

Riva del Garda(Tn) Aprile 2012

Introduzione alla robotica

EcoRemote SISTEMA DI GESTIONE DI UNA STAZIONE DI MONITORAGGIO DELLA QUALITÀ DELL ARIA. Ingegneria dei sistemi

Prefazione...IX. Capitolo 1 - La famiglia di Arduino...1

PECUP ELETTRONICA ED ELETTROTECNICA ELETTROTECNICA SISTEMI AUTOMATICI TERZO COMPETENZE ABILITA' CONOSCENZE

QUESITI PROVA SCRITTA

I.T.I.S. M. Faraday Dipartimento Tecnologico Programmazione Modulare PROGETTO DIDATTICO DELLA DISCIPLINA

ROBOCUP JR ITALIA 2012 Riva del Garda (TN) aprile

Politecnico di Milano

Descrizione caratteristiche cilindri elettrici serie ECC+

Acquisizione dati a LABORATORIO - 4 (by Faso Diego)

Personal Tracker. Dispositivo antiaggressione tascabile con GPS

LA TECNOLOGIA. LME NXT è un sistema di sviluppo robotico.

Apprendere la logica programmando Robot ROBOSCUOLA 2012

Transcript:

Rete di scuole per la robocup jr Italia Robocup Jr Italia 2012 Report di docmentazione della squadra spritis Dell istituto tecnico industriale di valdagno Squadra "spritis" REPORT DI DOCUMENTAZIONE Istituto d'istruzione Superiore Statale "ITIVEM" VALDAGNO 1

La Rete di scuole per la Robocup Jr ITALIA è l' 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

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 prevederà 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. 3

RICERCATORI ASSOCIATI portano nella Rete il loro contributo scientifico di alto livello. Partecipano di diritto al Gruppo Tecnico e un loro rappresentante al Comitato di Gestione (senza diritto di voto). 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. 4

5 Lal Meghna ROBOCUP JR ITALIA 2012 GARDA 19-22-21 aprile REPORT DI DOCUMENTAZIONE Luca Lesca Artuzzi Marco Dani Roberto Francesco Riccardo Manni SPRITIS PARTECIPA ALLA GARA DI RESCUE Istituto ITIVEM Marzotto di Valdagno Classe 4 EL/5EL 5

Dati Generali all'inizio i gruppo era formato da : francesco roberto dani (chuck): studente della 5 EL è colui che si è dedicato con maggior impegno alla parte di programmazione. lal meghna(maggie) : studentessa dell' 4EL prima ragazza che frequenta elettronica del nostro istituto addetta alle relazioni e alla documentazione del gruppo. marco artuzzi (arturo): studente della 5 EL addetto alle foto del robot e del gruppo. riccardo manni (signorina): studente della 5EL : JOLLY e poi si è aggiunto al posto di leonardi nicola luca lesca (stecca ): che rivoluzionò e migliorò il robottino 6

dandogli una forma molto più compatta e stabile accompagnati dal docente Pierantonio Zanetti(il meglio) Dati di Contesto e Motivazione La nostra scuola ha iniziato a partecipare alle gare del robocup, dalla vicina competizione a Vicenza nel 2010, grazie alla buona volontà del professore Zanetti. Da quel evento non abbiamo mai perso l'occasione di esibire il nostro duro lavoro nelle competizioni successive. Ogni hanno il nostro gruppo ha sempre cercato di migliorarsi cancellando i problemi riscontrati negli anni precedenti raggiungendo un livello meccanicamente e in base alla programmazione MOLTO migliore facendolo prendere questa forma: 7

la nostra motivazione che ci ha spinto a continuare nei momenti oscuri e ricchi di incertezze è stata la voglia di raggiungere un risultato soddisfacente e rendere orgogliosa la nostra scuola di noi soprattutto perché ci abbiamo passato interminabili pomeriggi a lavorarci su e volevamo vedere il risultato delle nostre conoscenze e delle dure ore di studio a scuola. Nome e Struttura del Robot: il nostro robottino, a cui siamo molto legati, gli è stato dato il nome di kiwi imposto da Maggie che ha una grande immaginazione, e ovviamente noi non potevamo andare incontro a una ragazza dato che e l unica. Comunque il nome gli e stato dato anche un po per scherzo e dato che kiwi e un nome strano ed è perfetto per il nostro robottino che è strano pure lui. 8

SENSORE ULTRASUONI A B C D SENSORE ULTRASUONI SENSORE LUCE NXT IL CERVELLO DEL ROBOT 123 SENSORE LUCE MOTORE 3 CHE COMANDA IL CINGOLO SX MOTORE 2 CHE COMANDA LA PINZA MOTORE 1 CHE COMANDA IL CINGOLO DX 9

Spiegazione teorica Come mostrato nello schema a blocchi il robottino e stato fatto con tre motori uno che comanda la pinza e gli altri due che comandano il cingolo sinistro e destro. i sensori utilizzati sono quattro 2 per seguire la linea nera e gli altri due per rilevare la lattina e prenderla. All'inizio abbiamo riscontrato vari tipi di problemi ma alla fine abbiamo deciso che era meglio se i sensori luce seguissero la linea e gli ultrasuoni rilevassero rilevassero la lattina e/o evitassero l'ostacolo. Abbiamo 3 uscite che comandano i motori e 4 ingressi che sarebbero i sensori: 10

Meccanica per la realizzazione del robottino abbiamo utilizzato i pezzi della linea lego techinc e abbiamo sempre cercato di seguire due principi semplici: uno che il robottino sia stabile e due che sia il più compatto e piccolo possibile cosi che, negli ostacoli presenti nel circuito, ci sarebbe stato meno sobbalzamento e,sopratutto, il peso era una delle caratteristiche importanti perché se non era ben equilibrato alla salita della rampa sarebbe caduto all' indietro. Abbiamo sempre cercato di risolvere i problemi meccanicamente dall' inizio in modo che il robottino se aveva problemi sapevamo già che erano sul software.

Al posto di utilizzare delle ruote abbiamo utilizzato dei cingoli perché grazie a questi il robottino non si sbilanciava mentre superava gli ostacoli e per migliorare ancora di più le prestazioni dei cingoli in salita abbiamo utilizzato una serie di ingranaggi ed era molto più equilibrato a fare la rampa. Pinza: All' inizio la pinza era composta da due ruote che erano molto utili a sollevare la lattina però abbiamo avuto molti problemi perché quando siamo andati a fare le prove a Vicenza all'itis rossi ci siamo accorti che la pinza del robottino superava leggermente la misura della porta e così creava problemi perché il robottino si bloccava a non riusciva ad andare avanti e di conseguenza a completare il circuito. Così abbiamo deciso che,al posta di far solo abbassare e alzare la pinza, sarebbe più opportuno crearne una nuova più piccola che si apre e chiude ed ovviamente si alza e si abassa. Così siamo riusciti a far passare il robottino dalla porta sensori: Abbiamo utilizzato quattro sensori, di cui due di luce 12

e due ad ultrasuoni, collegati al NXT attraverso cavi RJ12 13

Unità di Controllo: LEGO Mindstorms NXT è un kit robotico programmabile rilasciato dalla lego. Il componente principale del kit è il computer a forma di mattone chiamato "NXT brick" (brick vuol dire mattone in inglese). Può ricevere l'input da un massimo di quattro e sensori e controlla fino a tre motori elettrici, attraverso cavi, RJ12 molto simili ma incompatibili con i cavi del telefono RJ11. Il "mattone" ha un display LCD monocromatico di 100x64 pixel e quattro bottoni che possono essere utilizzati per navigare l'interfaccia utente a menu gerarchici. 14

Esso ha anche un altoparlante che può riprodurre file sonori campionati a 8 khz. La corrente è fornita nella versione "educational" da una batteria ricaricabile Li- Ion e il relativo carica batterie. Caratteristiche: 1. microprocessore centrale a 32-bit AT91SAM7S256 @ 48 MHz (256 KB flash memory, 64 KB RAM) 2. microcontroller a 8-bit ATmega48 @ 4 MHz (4 KB flash memory, 512 Bytes RAM) 3. CSR BlueCore 4 Bluetooth controller @ 26 MHz (Memoria flash esterna da 8 MBit, 47 KB RAM) 4. Display LCD con matrice da 100 64 pixel 5. Può essere programmato usando Windows o Mac OS (NBC/NXC supporta anche Linux) 6. L'utente crea un programma con un nuovo software, derivato da LabVIEW di National Instruments 7. Una sola porta USB 1.1 a piena velocità (12 Mbit/s) 8. Connettività wireless Bluetooth (Classe II), per trasferire programmi all'nxt senza fili o per poter controllare il robot remotamente (attraverso cellulare o possibilmente da un PDA) 9. 4 porte di input, piattaforma digitale a 6 fili (una porta include una porta di espansione conforme IEC 61158 Fieldbus Type 4/EN 50 170 (P-NET) per usi futuri). 15

10. 3 porte di output, piattaforma digitale a 6 fili Digital Wire Interface, permettendo a terze parti di sviluppare dispositivi esterni Possono essere usati anche altri software ATTUATORI Il robot può gestire fino ad un massimo di tre servomotori. Due di questi montano i cingoli e vengono utilizzati per gli spostamenti all'interno dell'ambiente. E il terzo motore viene utillizato per la pinza. Caratteristiche: Tensione alimentazione 9V (DC) Velocità max 170 rpm (giri/minuto) (117 rpm a 9V) 16

Potenza meccanica a 9V 2,03W Potenza elettrica a 9V 4,95W Efficienza a 9V 41% Assorbimento a 9V 0,55A No-Load current 60 ma Coppia a 9V 16,7 N*cm Coppia in stallo 50 N*cm Corrente di stallo 2 A Peso 80 gr. Il servomotore ha al suo interno un sensore di rotazione che permette di misurare la velocità e/o la distanza percorsa. Grazie al software è possibile sincronizzare più motori e garantire che si muovano alla stessa velocità. Inoltre con gli ingranaggi presenti nel Kit è possibile modificare ulteriormente il rapporto di trasmissione. Ambiente di Sviluppo: Il robot è stato quasi completamente sviluppato da Lesca a casa sua e in parte anche a scuola Come linguaggio di programmazione abbiamo deciso di usare quello fornito dal kit lego in quanto l abbiamo ritenuto essenziale per alcune funzioni a nostro parere fondamentali per la buona riuscita del progetto. Abbiamo quindi deciso di usare il programma ROBOTC che usa un linguaggio C con il quale eravamo già abituati a lavorare in quanto trattato nell anno scorso e in quanto stiamo ancora trattando a scuola. 17

Il Programma Software: Di seguito si riporta il diagramma di flusso del programma che è in fase di implementazione start LineLeader C'è la Linea nera? no si seguita Vai diritto c è un ostacolo? si Evita l ostacolo Vedi la lattina? no si Prendila e spostala 18 fine

//con i define abbiamo definito i tempi di velocita' di qualsiasi movimento #define VELOCITA_CURVA 30 #define VELOCITA_NORMALE 30 #define VELOCITA_ZERO -1*VELOCITA_CURVA #define SOGLIA 50 int sluce_sx; int sluce_dx; int conta_dx; int conta_sx; #define V_RICERCA 25 #define V_AGGANCIO 15 #define V_ROT_SIC 5 #define V_SGANCIO 100 //tempi #define T_PERF 1000 #define T_ROT_PERF 50 #define T_ROT_PRT 1000 #define T_BACK 4000 #define T_ROT_90 2200 #define T_RITORNO 6500 #define T_CNTR 150 //distanze #define D_PRT 10 #define RAGGIO 30 #define D_AGGANCIO 13 #define D_CNTR1 30 #define D_CNTR2 15 19

//altre #define LONG 200 #define N_AVANZAMENTI 1 void curva(char lettera,int velocita); task main() { for(;;) { // qui sotto invece c è il programma in cui va dritto con bianco-bianco if((sluce_sx > SOGLIA)&&(sluce_DX > SOGLIA)) { motor(dx)=velocita_normale; motor(sx)=velocita_normale; } sluce_sx = SensorValue[LUCE_SX]; sluce_dx = SensorValue[LUCE_DX]; if((sluce_sx < SOGLIA)&&(sluce_DX < SOGLIA)) if(conta_dx==1) curva('d',velocita_curva); else if(conta_sx==1) curva('s',velocita_curva); // in questa perte del programma fa la curva a DX while((sluce_sx < SOGLIA)&&(sluce_DX>SOGLIA)) { curva('d',velocita_curva); conta_dx=1; sluce_sx = SensorValue[LUCE_SX]; sluce_dx = SensorValue[LUCE_DX]; } 20

while((sluce_dx < SOGLIA)&&(sluce_SX>SOGLIA)) // in questa perte del programma fa la curva a SX { curva('s',velocita_curva); conta_sx=1; sluce_dx = SensorValue[LUCE_DX]; sluce_sx = SensorValue[LUCE_SX]; } } } // void curva(char lettera,int velocita) { if((lettera=='d') (lettera=='d')) { motor[dx]=-1*velocita+10; motor[sx] = velocita; wait10msec(25); } else if((lettera=='s') (lettera=='s')) { motor[sx]=-1*velocita+10; motor[dx] = velocita; wait10msec(25); } } 21