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

Documenti analoghi
ROBOCUP JR ITALIA 2011 Catania aprile

ROBOCUP JR ITALIA 2011

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

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA RIVA DEL GARDA

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

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

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

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2011

Programmazione dei robot

CHI SIAMO.

Rete di scuole per la

Politecnico di Milano

ROBOCUP JR ITALIA 2012

Macchinina evita ostacoli Arduino

Ultrasonic Sensor Block

ROBOCUP JR ITALIA 2015

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2012

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

Camar Elettronica s.r.l. Via Mulini Esterna n CARPI (Modena) ITALY. 2 Temperature Pt100 - Collegamento 3 fili

Introduzione alla robotica

ROBOT CUP SCHOOL Competizione organizzata dall Università degli Studi di Salerno Corso di laurea in Ingegneria Informatica

ROBOCUP JR ITALIA 2012

Robot Escape scatola di montaggio. Presentazione del produttore. Attrezzi necessari per la costruzione del robot Escape:

CALIBRO ELETTRONICO BLUETOOTH. FaKopp - ArborSonic 3D. Modello 1600 mm. Manuale per l utilizzatore. v1.0

Apprendere la logica programmando Robot ROBOSCUOLA 2012

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

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2012

ISTITUTO TECNICO INDUSTRIALE STATALE "G. MARCONI" Via Milano n PONTEDERA (PI) PROGRAMMAZIONE COORDINATA TEMPORALMENTE DISCIPLINA: ROBOTICA

Programma di Robotica[LEGO EV3]


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

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

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

OFFERTA TECNICA. Allegato n. 4 OFFERTA TECNICA. Pag. 1 ESTREMI DELLA DITTA CHE PRESENTA L OFFERTA

LE ALTRE BOARD ARDUINO

NB HP PAVILION G6-1310EL

Camar Elettronica s.r.l. Via Mulini Esterna n CARPI (Modena) ITALY

FIRST LEGO LEAGUE ITALIA BOLZANO 14 febbraio Squadra FLL 4: LICEO ROSMINI RELAZIONE TECNICA. TITOLO DEL PROGETTO: ipec

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

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

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

PECUP SECONDO BIENNIO terzo anno Meccanica, Meccatronica ed Energia - Articolazione: Meccanica e Meccatronica

Quha Zono. Manuale d'uso

Workshop Teachers For Teachers settembre 2013

- OLIMPIADI DI PROBLEM SOLVING - Informatica e pensiero algoritmico nella scuola dell'obbligo

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

INDICE KIT PER TRASFORMATORI E MOTORI KIT PER IL MONTAGGIO DI 2 TRASFORMATORI DL 2106

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

LABORATORI DI CULTURA DIGITALE: INFORMATICA, INTERNET E ROBOTICA

Alain Turing (rielaborazione foto di Wikipedia)

Un'installazione di base di Ubuntu, prevede la creazione di due partizioni che andranno ad ospitare:

I dispositivi di input/output

Interaction Design? Parole chiavi!!! Arduino?

Manuale d Istruzioni. Modello Tachimetro Laser Ottico

PiPO X8, Mini PC con display integrato. Foto e video in anteprima - Notebook Italia

TERMINALE DI RILEVAZIONE PRESENZE CON LETTORE DI TESSERE DI PROSSIMITA RFID, MOD. SVAR1-RFID CON DOPPIA BATTERIA E ADATTATORE WI-FI ESTERNO

Uso degli apparecchi elettrosensibili di protezione: cosa è necessario sapere...

DOCUMENTAZIONE. Isovak Team. classe 3D Liceo Scientifico Tecnologico. IISS Galilei

Fisica, tecnologia, scienze applicate: ulab2, un laboratorio portatile basato su arduino e due piccoli robot, LEMU e MOMOLAB, vanno a scuola

Manuale per l'utente per DS150E con Win7. Dangerfield February V1.0 Delphi PSS

1. Introduzione. 1.1 Precauzioni di sicurezza. 1.2 Sistema richiesto. 1.3 Contenuto del pacco

CAPITOLO 1: INTRODUZIONE

DUROMETRI DIGITALI PER PROVE MICROVICKERS/VICKERS/BRINELL SERIE FALCON 500 versione Motorizzata

Sviluppo di programmi

Introduzione ad Arduino Giuseppe Augiero

CIM Computer Integrated Manufacturing

A.S. 2015/16 CLASSE 5 AEE MATERIA: LABORATORIO DI T.P.S.E.

Sviluppo di sistemi di controllo su piattaforma LEGO Mindstorms

Brother MFCJ430W. Tel:

Serie L-730/740. Sistemi Laser per allineamenti geometrici. Singolo asse/multi asse Analisi e allineamenti precisi

se faccio capisco e mi diverto

Nello scorso fascicolo 8 ZAKINPROGRESS COMPONENTI

HP NB 630 INTEL DC B815 2GB 500 SHAR. LINUX

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

Laboratorio di Sistemi e Automazione (A020-C320) esperienza competenze Competenze trasversali

obiettivi tempi aree didattiche

Una girobussola per Marte Relazione

SPECIFICHE TECNICHE PORTE AUTOMATICHE SCORREVOLI A TENUTA INOX E HPL. SCHERMATURA Pb1-3mm

RELAZIONE TECNICA. ISTITUTO SUPERIORE STATALE G. GALILEI MIRANDOLA (MO) Via J. Barozzi, 4 Sede temporanea E.S.T.

ISTITUTO DI ISTRUZIONE SUPERIORE J.C. MAXWELL Data: 17 / 09 / 2016 Pag. 1 di 5

ELETTRONICA ED ELETTROTECNICA

Scheda audio esterna adattatore audio stereo USB con audio digitale SPDIF e microfono integrato

I SERVIZI DEL NOSTRO STUDIO PER LE IMPRESE CHE AFFRONTANO L EVOLUZIONE DIGITALE.

AUTOMA A STATI FINITI

ROBOCUP JR ITALIA 2012 Riva del Garda (TN) aprile

Advanced Scratch: Gatto Raccogli Stelle

Da un idea geniale a una startup: i 6 ostacoli da superare

Controllo dell irrigazione senza fili

SP electronics. CTM frequency procedura di installazione YZF R Panoramica sul CTM. su Yamaha YZF R1 04

TAGLIAERBA RADIOCOMANDATO

Il fotometro di Bunsen

Sistema antintrusione Vimar

Regolatore di pressione elettropneumatico Connessione G ¼

Scritto da Federico Diana Mercoledì 07 Gennaio :00 - Ultimo aggiornamento Mercoledì 07 Gennaio :19

Patentino della Robotica. Entra nel mondo dell automazione industriale

Transcript:

Rete di scuole per la ROBOCUP JR ITALIA ROBOCUP JR ITALIA 2012 Riva del Garda (TN) 19-21 aprile REPORT DI DOCUMENTAZIONE Della squadra : Crinto Istituto : Itis De Pretto Schio 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 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.

Marchioro Mirko; Manfron Kevin: Manfron Nicola; formano la squadra Crinto CHE PARTECIPA ALLA GARA DI: Rescue A U19 Istituto: Itis De Pretto Schio Classe: Superiore 4^A Elettrotecnico

CAP. 1 - DATI GENERALI Squadra di nome Crinto formata da tre membri: -----> Manfron Nicola ----->Manfron Kevin ----->Marchiori Mirco Alunni della scuola Itis De Pretto Schio (VI). Docenti responsabili: ----->Tomiello Giuseppe ----->Marchiorato Dario Professori della scuola Itis De Pretto Schio (VI).

CAP. 2 - DATI DI CONTESTO E MOTIVAZIONE Abbiamo voluto partecipare a questa edizione della Robocup JR 2012 spinti sopratutto dalla nostra voglia di dimostrare ciò che riusciamo ad imparare, elaborare e anche inventare. Perchè il lavoro non è solo leggere,trascrivere,fare ma anche inventare programmi nuovi, nuovi metodi. Inizialmente il nostro professore di Sistemi ed Automazione ci ha fatto lavorare con i Robot della Lego Mindstorm nella classe 3^ superiore. Successivamente lo stesso professore ci ha parlato della Robocup, per la quale abbiamo cominciato a lavorare in 4^. In principio eravamo più gruppi poi, in base alla selezione di Vicenza svoltasi il 31 marzo scorso, ci siamo uniti per lavorare meglio, arrivando alla fine ad un gruppo unico, volenteroso e coeso. I dubbi e gli ostacoli sono stati molti e molti ne avremo, ma grazie all'aiuto dei professori che si sono messi a disposizione e alla nostra capacità di capire, li abbiamo superati, e li supereremo. Uno dei più grossi ostacoli che ci è venuto in contro è stato il problema degli echi del sensore ad ultrasuoni per rilevare la presenza della vittima. Il problema era che ogni tanto leggeva 2 metri e mezzo e questo non andava affatto bene. Siamo riusciti a risolverlo grazie ad un "filtro" che faceva in modo di eliminare questi echi e concentrarsi solo sull'obbiettivo.

CAP. 3 NOME E STRUTTURA DEL ROBOT Il nostro Robot si chiama [wall-e]. Questo nome è tratto dall'omonimo film e l'abbiamo avuta pensando alle somiglianze appunto tra il robot protagonista del film (wall-e) e il nostro (testa=sensori ad ultrasuoni...). Si tratta di un automa costruito e programmato per inseguire una traccia nera, aggirare eventuali ostacoli, individuare un oggetto da salvare e portarlo in un posto sicuro in un scenario di situazioni catastrofiche. Motore A Cingolo Sinistra Motore C Sistema pinza Motore B Cingolo Destra Unità centrale Mattoncino Lego Sensore ad infrarossi destra Sensore ad infrarossi sinistra Sensore ad ultrasuoni Sensore ad infrarossi centrale

Nello schema a blocchi si può notare il posizionamento dei sensori e dei motori. I due sensori ad infrarossi (che si vedono ai lati) sono posizionati sotto l'automa per migliorarne la precisione di lettura. Illustrazione 1: Qui si vede la posizione dei sensori (sotto al Robot) e la posizione dei motori (nel retro). Questo perchè ci consentiva di mettere appunto i sensori il più vicino possibile al baricentro.

CAP. 4 MECCANICA Per montare il nostro Robot abbiamo utilizzato 2 kit lego: 1 kit completo e 1 di espansione. Innanzitutto abbiamo montato i motori nel retro poiché ci serviva posto sotto al brick per posizionarvi i sensori infrarossi per un problema di lettura ad inizio e fine rampa; abbiamo utilizzato una trasmissione diretta (senza riduzioni). Il motore della pinza l'abbiamo posizionato in alto perché la pinza costruita funziona orizzontalmente verso avanti. Poi per quanto riguarda i sensori li abbiamo posizionati davanti (sensore ad ultrasuoni e sensore ad infrarossi per individuazione ostacolo/lattina) e sotto (sensori ad infrarossi per il segui-traccia e l'individuazione della zona rossa e pedana, nel caso fosse stampata al suolo). Come sistema di trasporto utilizziamo i cingoli fornitoci dalla lego per andare meglio sulla rampa; sono posizionati ai lati del Robot. Il brick è posizionato al centro di tutto con lo schermo rivolto verso il retro del Robot per bilanciarne il peso. Inoltre abbiamo applicato noi delle fascette vicino al sensore ad ultrasuoni per spostare eventuali detriti mobili sul percorso: molto flessibili in modo da non impedire al Robot di sbagliare o quant'altro. Infine abbiamo messo dei pesi nella parte posteriore del Robot (prima dei motori) allo scopo di spostare il baricentro il più possibile verso il centro della macchina. La Pinza. Questa pinza è basata su un modello suggerito dai nostri amici di 5^ superiore e migliorata. Si fonda sul principio della trasmissione del moto in quanto un motore girando in un verso apre la pinza e nell'altro la chiude. -Nel momento in cui apre la pinza la forza di gravità fa cadere quest'ultima.

-Invece quando si chiude, dopo essersi chiusa dal tutto e non potendo più stringere la parte dove afferra l'oggetto designato, non girano più gli ingranaggi riguardanti quest'ultima parte ma girano quelli posizionati ai lati. Riporto qui di seguito degli ScrenShot sul modella della pinza e il Robot in generale. Abbiamo applicato una spugna e del silicone sulla pinza per rendere la superficie più ruvida per quando afferra la vittima.

Qui riporto alcune illustrazioni per mostrare la meccanica del sistema di cattura della vittima.

Soluzione al problema più grande che ci siamo trovati davanti durante il montaggio e l'impostazione dei sensori era il posizionamento di quest'ultimi. Dopo svariati tentativi abbiamo convenuto di metterli sotto semplificando così appunto come dicevo prima il problema della lettura del livello tra nero-bianco all'inizio e alla fine della rampa. I motori di conseguenza abbiamo dovuto posizionarli così Qui inoltre si vede la meccanica del sistema di movimento. Due cingoli con trazione diretta. La barra che si vede funge da tendi cingolo in modo da avere il cingolo ben tirato.

Il fianco del Robot. Qui si nota il peso che abbiamo messo per applicare più forza nei cingoli sulla salita.

CAP. 5 UNITÀ DI CONTROLLO 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 sensori e controlla fino a tre motori elettrici, attraverso cavi RJ12. 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. Esso ha anche un altoparlante che può riprodurre file sonori campionati a 8 khz. La corrente è fornita da 6 batterie ricaricabili AA (1.5 V ognuna) o da una batteria ricaricabile Li-Ion. Specifiche tecniche. microprocessore centrale a 32-bit AT91SAM7S256 @ 48 MHz (256 KB flash memory, 64 KB RAM) microcontroller a 8-bit ATmega48 @ 4 MHz (4 KB flash memory, 512 Bytes RAM) CSR BlueCore 4 Bluetooth controller @ 26 MHz (Memoria flash esterna da 8 MBit, 47 KB RAM) Display LCD con matrice da 100 64 pixel Può essere programmato usando Windows o Mac OS (NBC/NXC supporta anche Linux) L'utente crea un programma con un nuovo software, derivato da LabVIEW di National Instruments Una sola porta USB 1.1 a piena velocità (12 Mbit/s) 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) 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) 3 porte di output, piattaforma digitale a 6 fili Digital Wire Interface, permettendo a terze parti di sviluppare dispositivi esterni. Il mattoncino lego utilizzato.

CAP. 6 SENSORI Il nostro Robot in totale ha 4 sensori e 3 motori. I sensori sono: -Sensore ad infrarossi x3. [9844 Light Sensor] Sensore di tipo attivo che viene collegato a una delle 4 porte di INPUT (1 2 3 4). È dotato di due led di cui uno emette una luce e l altro ne assorbe la parte che viene riflessa. Più è scura la superficie su cui viene emessa la luce, minore sarà il valore riflesso e quindi letto dal secondo led. Il segnale fornito è di tipo analogico. Di questi tre sensori uno serve per riconoscere la lattina e per trovare la pedana su cui questa dovrà essere appoggiata e gli altri due usati per far seguire la traccia al robot in modo che entrambi vedano sempre bianco e che quando uno dei due vede nero il robot si giri dalla parte del sensore che ha visto nero finché non vedono entrambi nuovamente bianco. Più si tengono questi due sensori vicini maggiore è la precisione del robot in tratti diritti o con curve semplici ma c è l inconveniente che con curve difficili, ad esempio quelle a 90, ad un certo punto entrambi i sensori vedono nero e il robot non riesce più ad andare avanti. Abbiamo dunque scelto una via di mezzo: né troppo vicini, né troppo distanti tra loro.

-Sensore ad ultrasuoni x1; [9846 Ultrasonic Sensor] Sensore di tipo attivo che viene collegato a una delle 4 porte di INPUT (1 2 3 4). Il segnale fornito è di tipo analogico ed è proporzionale alla distanza dell'oggetto rilevato. Misura distanze in centimetri ( o pollici) da 0 a 255cm. con precisione di + / - 3 cm. E' più sensibile a oggetti grandi con superfici dure, mentre lo è meno con oggetti sottili, piccoli o con superficie non piana. Misura la distanza dall'ostacolo calcolando il tempo impiegato da un'onda sonora a colpirlo e tornare indietro. Questo sensore è stato usato per individuare un possibile ostacolo e quindi poterlo superare e per trovare la lattina nella zona rossa. Il maggiore inconveniente rilevato per questo sensore è stato il fatto che gli ultrasuoni vengono emessi sotto forma di onda conica, e non come un raggio laser, e quindi quando il sensore rileva la lattina non è detto che gli sia esattamente davanti, ma un po più a sinistra o un po più a destra. Tali i sensori sono collegati all'unità centrale tutti attraverso dei cavi connettori.

CAP. 7 ATTUATORI Servomotore funzionante in corrente continua (DC), che viene collegato a una delle 3 porte di OUTPUT (A B C). Ne abbiamo utilizzati tre che sono stati collegati al NXT attraverso cavi RJ12. Uno è stato utilizzato per stringere e poi alzare la pinza con la relativa lattina, gli altri due sono stati utilizzati per far muovere il robot attraverso i due cingoli. Caratteristiche: Tensione alimentazione 9V (DC) Velocità max 170 rpm (giri/minuto) (117 rpm a 9V) 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.

Esempio di un motore utilizziato [9842 Interactiv Servo Motor].

CAP. 8 AMBIENTE DI SVILUPPO L'ambiente di sviluppo è un laboratorio scolastico ampio e ben illuminato. Inoltre non avendo abbastanza ore per lavorare sul progetto, l'ambiente di lavoro a volte si spostava nelle case dei vari membri. All'interno del laboratorio ci sono due campi di prova per testare i nostri lavori (sia per la Rescue A che per la Rescue B). Possiamo così apportare modifiche istantaneamente avendo a disposizione anche i computer del laboratorio. Programma usato: Bricx Command Center Version 3.3 (Build 3.3.8.9) Abbiamo utilizzato tale programma poichè il nostro curriculum scolastico contiene il saper usare il linguaggio di programmazione [C++] ed essendo molto simile ci siamo trovati molto bene ad usarlo, essendo anche più semplice, leggero, preciso e reattivo rispetto ad altri linguaggi di programmazione a noi noti.

CAP. 9 IL PROGRAMMA SOFTWARE L'automa è stato programmati in linguaggio NXC, e il rispettivo programma è stato scaricato nel controllore mediante il compilatore Bricx Command Center. Il software è composto da un task con un programma al suo interno. Quest'ultimo esegue delle istruzioni per seguire la traccia ed entra in altri piccoli task per eventuali ostacoli o quando entra nella zona rossa. Prima di iniziare la funzione principale abbiamo definito alcune variabili, per semplificare il settaggio dei sensori e la lettura del programma. Define---------------------------------------------------------------#define livello 46 #define near 6 #define ag 65 questo per definire il cambiamento della ricezione di luce tra nero e bianco questo invece è la distanza massima che il robot può raggiungere prima che veda un'ostacolo questo per definire il cambiamento della ricezione di luce tra nero e argento -------------------------------------------------------------------------Successivamente ai define inseriamo delle costanti che ci serviranno per vari casi ad esempio nella zona rossa. ----------------------------------------int sdx,ssx,sdxold,ssxold,onda,ondav,pedana,controllo,lt; -----------------------------------------

Poi il software inizia con l'esecuzione appunto di un task main() contenente il settaggio dei sensori (In questo modo facciamo sapere al controllore che tipo di sensori sono collegati a che porta e che tipo di valori deve aspettarsi da questi) e il sottoprogramma il quale contiene la fase principale del software. ----------------------------------------task main(void) { SetSensorLight(IN_1); SetSensorLight(IN_2); SetSensorLight(IN_4); SetSensorLowspeed(IN_3); programma(); } ----------------------------------------- A questo punto abbiamo scritto il programma vero e proprio. Esso è suddiviso in più parti in modo da facilitare la modifica di singole parti e/o l'inserzione di pezzi di programmi. Qui di seguito illustro I principali sottoprogrammi creati: 1-Inseguimento traccia: In questa parte di programma il nostro Wall-e deve seguire una traccia stampata al suolo colorata di nero. Ogni volta che uno dei due sensori ad infrarossi vede nero, l'automa si raddrizza finchè il sensore interessato alla variazione di luce non ritorna sul bianco.

2-Trovamento ostacolo: qui il robot si rende conto che davanti a sè ce un'ostacolo o comunque qualcosa che impedisce il passaggio. Questo pezzo di programma e quello dell'inseguimento della traccia lo fa solo ed unicamente nelle prime 3 fasi e non nella zona rossa. Dopo essersi reso conto di aver la strada bloccata il nostro Robot cerca una via alternativa a destra o a sinistra. Se in una delle due direzioni la strada è sbarrata o comunque c'è un'altro ostacolo, Wall-e si rigira dall'altra parte percorrendo così l'ultima via disponibile. Superato l'ostacolo tenta di rientrare sulla traccia. 3-Zona rossa (entrata e fine): Se ad un certo punto del tracciato l'automa rileva un cambiamento di colore molto intenso (quindi tra bianco e argento), esso uscirà dal programma iniziale entrando così in uno secondario. In quest'ultimo Wall-e ricercherà la vittima designata e quando è abbastanza vicino al bersaglio, controlla se è colorata d'argento. Se sì vuoldire che è quella vera altrimenti si rimette a cercare l'originale. Una volta afferrata la vittima con il sistema della pinza, il Robot cercherà un posto sicuro dove depositarla, in questo caso cerca una pedana di colore nero oppure una zona nera sul suolo.

Qui di seguito riporto lo schema di funzionamento del nostro robot. Task principale: -Settaggio sensori -Entra nel programma Principale. Prosegue in avanti finché uno dei due sensori ad infrarossi vede nero. Se i sensori ad infrarossi vedono argento,entra in un altro sotto programma. Lo stesso equivale per il sensore ad ultrasuoni (se vede minore di una lunghezza prestabilita). Se il sensore ad ultrasuoni legge un segnale minore della lunghezza prestabilita, controlla a destra e a sinistra dove è libero e di conseguenza aggira l'ostacolo, per poi riagganciarsi alla linea e continuare il suo percorso. Se uno dei due sensori vede nero i motori girano ( dipende che sensore ) finché i sensori non vedono di nuovo tutti e 2 bianchi. Se invece i sensori ad infrarossi sentono una forte discrepanza di segnale vuol dire che ha rilevato l'argento della zona rossa.

In questo caso siamo nella zona rossa. Qui dopo essersi raddrizzato l'automa si posiziona vicino ad un muro nel centro della stanza e comincia a scansionare. Gira finché non vedrà una differenza di segnale rilevante: questo vuol dire che ha trovato qualcosa. Va avanti un po' e rifà la scansione. Tutto questo finché non gli è praticamente attaccata. Ora si attiva il sensore ad infrarossi centrale e legge se è argento o no. Se non lo è,rifà tutto il programma della zona rossa; se invece effettivamente è argento, vuol dire che ha trovato la vittima argentata e la raccoglie. A questo punto va alla ricerca della pedana girando per la stanza stando vicino al muro così da sapere sempre dov'è per non perdersi o eventualmente uscire dalla stanza. Una volta trovata la pedana deposita la vittima e la alza in piedi, finendo in bellezza allontanandosi dalla pedana.

CAP. 10 SORGENTE DI ALIMENTAZIONE La corrente è fornita da 6 batterie ricaricabili AA (1.5 V ognuna) o da una batteria ricaricabile Li-Ion. Batteria utilizzata.

APPENDICE 1 RINGRAZIAMENTI Dobbiamo infine ringraziare infinitamente i nostri professori i quali ci hanno supportato per tutto il tempo consigliandoci ed aiutandoci a risolvere quello che noi non riuscivamo risolvere. Gran parte del merito va a loro se noi oggi siamo qui a Riva Del Garda ad affrontare una gara di Robotica nazionale come studenti di un istituto tecnico. Inoltre grazie a tutte le nostre famiglie che ci hanno aiutato in campo economico; grazie alle squadre avversarie le quali hanno dato un motivo a noi di gareggiare con cattiveria buona, spronandoci a fare del nostro meglio per superarli e congratulazioni a tutte le squadre partecipanti! Un ringraziamento a tutti dello staff della Robocup JR 2012 per il tempo che ci dedicate.

Indice P. 3 CAP. 1 - DATI GENERALI P. 4 CAP. 2 - DATI DI CONTESTO E MOTIVAZIONE p. 5 CAP. 3 -NOME E STRUTTURA DEl p. 8 CAP. 4 -MECCANICA p 12 CAP. 5 ROBOT -UNITÀ DI CONTROLLO p 14 CAP. 6 SENSORI p 16 CAP. 7 ATTUATORI p 18 CAP. 8 AMBIENTE DI SVILUPPO p 19 CAP. 9 IL PROGRAMMA software p 24 CAP. 10 SORGENTE DI ALIMENTAZIONE p 25 Appendice1 RINGRAZIAMENTI p 26 Indice