Riva del Garda(Tn) Aprile 2012

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

ROBOCUP JR ITALIA 2012 Riva del Garda (TN) aprile

ROBOCUP JR ITALIA RIVA DEL GARDA

ROBOCUP JR ITALIA 2012

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

CATANIA 2011 DATI GENERALI DATI DI CONTESTO E MOTIVAZIONE

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

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

Robotica e didattica

Robotica educativacon il kit Lego EV3

Macchinina evita ostacoli Arduino

ROBOCUP JR ITALIA 2011

Programmazione dei robot

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2011

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

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

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

LE ALTRE BOARD ARDUINO

Descrizione puntuale delle modalità di collocazione delle attrezzature

ROBOCUP JR ITALIA Riva del Garda aprile

ROBOCUP JR ITALIA 2012

Introduzione alla robotica

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

ROBOCUP JR ITALIA 2012

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

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2011 Catania aprile

Il sensore seguilinea

ROBOCUP JR ITALIA 2011

Ultrasonic Sensor Block

ROBOCUP JR ITALIA 2015

Relazione sul lavoro di Robot Design della squadra dei Miccorobokids Pistoia 1) Missioni scelte

Apple aggiorna il MacBook 12": Intel Core M (Skylake) e oro rosa - Notebook Italia

SQUADRA MarconiRovereto

ROBOCUP JR ITALIA 2012

ROBOCUP JR ITALIA 2012 Riva del Garda (TN) aprile

Rete di scuole per la

ROBOCUP JR ITALIA 2012

Di Apple AirPort Extreme modello A1143 Teardown

SCUOLA SECONDARIA STATALE DI I GRADO ITALO CALVINO PIACENZA

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

CENTRO PROVINCIALE PER L ISTRUZIONE DEGLI ADULTI GROSSETANO Primo livello / secondo periodo didattico Esercitazione parte generale.

Nuovi strumenti per il coding App Inventor e Scratch for Arduino

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

S E R V O M O T O R I ( 2 )

ROBOCUP JR ITALIA 2011

ROBOCUP JR ITALIA 2012

Primi passi con Bee-Bot e Cubetto

Qui Call - Syscall. Sistema di chiamata senza fili. Sistemi di chiamata senza fili diretti Per chiamare ed essere chiamati.

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

Fondamenti di Informatica

I sistemi robotici Lego Mindstorms

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

Personal Tracker. Dispositivo antiaggressione tascabile con GPS

Come è fatto un computer

Tecnologie dei Sistemi di Automazione

Sviluppo di sistemi di controllo su piattaforma LEGO Mindstorms

Onyx Boox e-note 10.3 con penna Wacom e redesign per Onyx Boox N96 Carta Notebook Italia

Raccolta dati wireless in libertà

Informatica Generale --- Scritto del XX Settembre 2002

ROBOCUP JR ITALIA 2011

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

Sistemi di Elaborazione delle Informazioni

WORKSHOP: Costruire attività STEAM e robotica educativa con LEGO MINDSTORMS Education EV3

R4G ROBOT FOR GEOMETRY

METAL COVER BLUETOOTH KEYBOARD Custodia in Alluminio con Tastiera Bluetooth e Supporto Tablet Integrati

ROBOCUP JR ITALIA 2011

ROBOCUP JR ITALIA 2012

We learn, we build, we play with LEGO Bricks. BeMotion s.r.l. Percorso Owl. ( anni) Percorso dedicato alla scuola secondaria

Cos'è Un dominio.it? E'il dominio con estensione geografica. italiana,.it significa Italia.

ROBOCUP JR ITALIA III EDIZIONE CATANIA 2011

I SISTEMI AUTOMATICI

Console DS. Data di uscita in europa: 11 marzo 2005 CARATTERISTICHE TECNICHE

Come è fatto? Come funziona? Cosa posso fare? Che cos è!?!

ROBOCUP JR ITALIA 2012

di Edwin Wittwer - AsvaNara

INTRODUZIONE ALLA PROGRAMMAZIONE

ROBOTICA Syllabus Versione 1.0

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

IC Don Milani Latina. Alfabetizzazione Informatica. Prof. Giuseppe Patti

Ricevitore GPS Bluetooth Globalsat

Console KVM per montaggio a Rack 1U con hub USB incorporato - Schermo da 17" con layout tastiera Americana p

Istituto secondario di I grado G. Fattori Rosignano Solvay

CIM Computer Integrated Manufacturing

GIOCOPALLAVOLO PROPOSTE DIDATTICHE

Perchè la pista piana?

con il sostegno di Con il Patrocinio

se faccio capisco e mi diverto

Politecnico di Milano

Manuale utente di PointWrite

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

Workshop Teachers For Teachers settembre 2013

Autonomia in numero di attivazioni: dipende dall uso, normalmente più di una settimana

CORSO PER TECNICO DI BASE I COMPITI DEL TECNICO

con il sostegno di Con la collaborazione

Relazione progetto serra - Arduino

Transcript:

Riva del Garda(Tn) 23-25 Aprile 2012 Dati generali Pinton Alberto : Caposquadra Lupi Lorenzo : Primo software Nicetto Davide : Jolly (secondo software e terzo hardware) Favorido Giorgio : Primo hardware Scialpi Matteo : Secondo hardware 1 DATI DI CONTESTO E MOTIVAZIONE Allora vediamo non c è una motivazione precisa. Inizialmente(l hanno scorso) il nostro vecchio professore di matematica ci aveva proposto di entrare a far parte del progetto robotica visto che eravamo ancora in tempo per partecipare a una gara della fist lego league interna alla scuola.

Questo progetto interessò subito moltissime persone ma essendoci solo cinque posti poterono partecipare solamente i ragazzi aventi una media alta in matematica. In palio con questa piccola gara c era la possibilità di andare a Catania per partecipare al progetto Robocup jr o in Germania per il progetto Comenius. Noi fortunatamente riuscimmo ad arrivare secondi guadagnando la possibilità di entrare nel precedente gruppo di tre persone per il progetto Robocup jr. La prima prova è stata a Vicenza pochi giorni dopo. Li c e stata una gara preliminare con le altre squadre dell istituto Rossi. Accompagnati dal prof Bressan ci siamo recati a questa piccola competizione che ci è servita per capire molte cose. Infatti, sfortunatamente per noi non è andata molto bene e siamo tornati a casa con le pive nel sacco. Capimmo però che avevamo molti lavori da fare. Per esempio la pinza era molto precaria e i cingolati non erano sufficienti a dare la spinta per salire la rampa nonostante il peso fosse completamente avanti. In quel momento dovemmo solo decidere di chi doveva andare a Catania e chi invece doveva restare a scuola visto che c era disponibilità per solo due persone su un gruppo di 5 persone. Alla fine ebbero la possibilità di andare le prime due persone che avevano formato il gruppo (Davide Nicetto e Lorenzo Lupi). Essendo una scuola tecnica in cui non è presente l informatica come materia nessuno si aspettava dei risultati così alti. 2

Infatti nonostante dei piccoli imprevisti (come ostacoli più difficili del previsto o valori di luce sballati dopo la rampa) il gruppo è riuscito ad arrivare primo. Inizialmente non credevamo fosse possibile ma col passare dei minuti riuscimmo a credere a quello che avevamo sentito. Subito dopo le premiazioni (come era logico succedesse) iniziammo a fare supposizioni su l anno a venire(come iscrivere più squadre o sul comprare robot autocostruiti in quando usavamo il kit lego mindstorm e anche perché avevamo ricevuto dei pezzi come premio per la vittoria). Parte delle nostre proposte furono accettate grazie alla quale formammo due squadre Green Khan ed Elettroni Rampanti. Grazie alla formazione di una nuova squadra potemmo riunirci al nostro vecchio gruppo di base formato dai cinque elementi di questa squadra. Iniziammo a ritrovarci per costruire il robot e per iniziare a imparare a programmarlo verso la fine di ottobre. Fin dall inizio incontrammo problemi con la costruzione del robot: o era troppo grande o era troppo piccolo insomma non riuscivamo a costruirne uno valido. Il problema più grande che trovammo fu il problema che il robot non andava dritto; iniziammo provando a ricostruire i cingoli, rendendo il robot praticamente simmetrico ma solo dopo molto tempo ci accorgemmo che il problema non era nel robot ma in noi. Infatti la testa del robot possiede tre porte per i motori A,B e C la B e la C sono destinate ai motori per il movimento di esso mentre la porta A era destinata a un motore secondario e, avendo un amperaggio minore di conseguenza d, impediva al robot di andare dritto. 3

Dopo aver risolto questo problema siamo riusciti a creare un robot definitivo,efficiente e versatile in modo che durante le prove e le gare potesse essere modificato velocemente. Successivamente ci accorgemmo che la pinza non riusciva a sollevare la lattina ma quello fu un problema facilmente risolvibile. Questo progetto attirò molto fin dall inizio tutta la squadra e, con la formazione di una seconda squadra, tutti poterono partecipare vista la nostra grande motivazione. NOME E STRUTTURA DEL ROBOT Anche per il nome del gruppo e del robot non c è una grande motivazione Il nome del gruppo Green Khan è stato scelto perché una caratteristica in comune è il colore verde, un colore che piace a tutti e anche perchè la prima birretta presa col gruppo per decidere come organizzare il lavoro è stata una Tuborg di cui la bottiglia è interamente di colore verde. Mentre per la scelta del nome Robob è stato più casuale e visto che ci piaceva e non trovavamo un nome migliore abbiamo deciso di tenere questo. Il robot è stato costruito usando il kit della lego ed è stato interamente costruito da noi. La struttura del robot è partita dalla testa da cui si sono riusciti ad attaccare i cingoli, la pinza e i vari sensori. 4

Abbiamo deciso di montare i cingoli e non le ruote perché ci avrebbero permesso di eseguire la rampa in minor tempo e senza rischiare di deviare la traiettoria a causa della pendenza. Inoltre la struttura è stata adattata anche per mantenere il peso del robot in avanti per evitare che nella rampa potesse ribaltarsi rischiando di rovinarlo o di romperlo. Per la costruzione di questo robot si sono usati pochi pezzi permettendo di costruire una copia del robot in caso di problemi e per poter provare più programmi contemporaneamente. struttura dei cingoli robot visto da davanti 5

Robot visto da sotto Robot visto da destra UNITA DI CONTROLLO I robot è comandato da una testa centrale che invia i comandi ai motori e riceve informazioni dai sensori. Permette di collegare 3 motori e 4 sensori. 6

Caratteristiche tecniche della testa dell NXT: processore a 32 bit Atmel AT91SAM7S256 (classe ARM7) a 48 MHz 256KB memoria flash 64KB RAM Interfaccia bluetooth v2.0+edr Display LCD bianco e nero da 100 64 pixel (ogni pixel è circa 0,4 0,4mm); Può essere programmato su PC o Mac speaker mono 8 bit fino a 16 KHz; tastiera con quattro tasti in gomma. Gli utenti possono creare nuovi software con LabVIEW di National Instruments Porta USB 2.0 Connettività Bluetooth per trasferire il software o per controllare il robot da remoto Interfaccia per permettere lo sviluppo di periferiche da parte di terze parti. SENSORI 7

Nel nostro robot sono presenti 7 sensori; due sensori di colore,un sensore di ultrasuono,uno di tocco,uno di luce, un bussola(probabile) e un accelerometro. Color sensor: questo sensore permette di vedere i colori; il sensore emette un fascio di luce bianca e in base alla luce che viene riflessa riesce a vedere il colore di quello che ha davanti in questo caso la linea nera. Sensore di ultrasuono: questo sensore funziona come un radar di una nave o come quello dei delfini. 8

Il sensore emette degli ultrasuoni che rimbalzando su un oggetto tornano verso il sensore il quale calcolando il tempo impiegato dal segnale ad ritornare calcola la distanza dell oggetto. Poi il sensore invia i dati che verranno utilizzati in base al programma in azione. Multiplex: il multiplex è uno sdoppiatore di porte per i sensori; in questo modo possiamo utilizzare 4 sensori addizionali. Esistono molti tipi di multiplex: quello per determinati sensori e quello generale in grado di leggere qualunque tipo di sensore; noi abbiamo optato per il secondo. Sensore di accelerazione: questo sensore funziona come una bolla ovvero ci permette di capire l inclinazione del robot. 9

Sensore di bussola:questo sensore permette al robot di capire in che punto si trova e di orientarsi in base alla sua posizione. Questo sensore subisce interferenze elettromagnetiche e viene scombussolata. Questo sensore serve per rilevare l intensità luminosa riflessa dal terreno. È molto utile per rilevare gli sbalzi di colore e quindi la useremo per individuare la terza stanza e l alluminio Sensore che funziona proprio come un semplice bottone, nel senso che sente quando è premuto esegue l azione che gli è stata assegnata ATTUATORI 10

Gli attuatori o più comunemente chiamati motori permettono il movimento al robot. I motori vengono attaccati direttamente ai cingoli permettendo di trasferire subito la potenza senza passare per ingranaggi o altri metodi. AMBIENTE DI SVILUPPO La testa del robot può essere programmata in più modi. Noi abbiamo deciso di programmare usando il programma dato in dotazione con il kit della lego mindstorm ma costatando la poca precisione di quest ultimo abbiamo deciso di provare anche ad utilizzare il linguaggio NXC (non esattamente C ) che è di gran lunga più preciso. 11

Di conseguenza abbiamo creato due programmi: uno basato sul kit della lego completato che teniamo come riserva e un programma basato in NXC che deve essere ancora completato. Nel kit della lego è presente un programma grazie al quale è possibile creare programmi abbastanza precisi. Il linguaggio è a blocchi cioè ci sono dei blocchi che permettono di dare ordini: c è quello per il movimento dei motori,quello per la lettura di un valore da un sensore e così via. Mentre per il linguaggio NXC utilizziamo il programma Briccx Comand Center. Briccx è un programma gratuito che ci permette di scrivere e compilare il programma e successivamente compilarlo sul robot. 12

A differenza di mindstorm l NXC è un linguaggio a codici ovvero che per far eseguire sul robot delle azioni bisogna scrivere delle righe di codice. Entrambi i programmi oltre a dare la possibilità di creare o compilare programmi possiedono dei tools che permettono di controllare meglio il robot. Per esempio possono leggere i dati emessi dai sensori, controllare la batteria, aggiornare il firmware del robot Purtroppo per problemi di tempo non siamo riusciti a creare un programma valido in ncx in quanto ci dava molti problemi. 13

IL PROGRAMMA Il programma in NXC è basato su più task: il task main che è il task principale dal quale si avviano gli altri e dal task luce. Il task luce è il task che permette al robot di seguire la linea nera mentre il task main gli dice di evitare l ostacolo e, in caso non lo vedesse, di seguire la linea. Invece la parte della terza stanza e della raccolta della vittima non è stata ancora completata. Nelle prime righe del programma sono stati stabiliti i valori del nero (define nero) e della distanza dall ostacolo(define near). ecco il programma: #define nero 45 #define near 15 #define tem 1200 mutex motor; task luce() { Acquire(motor); SetSensorLight(IN_1); SetSensorLight(IN_2); while(true) { 14

if (Sensor(IN_2) < nero) { OnFwd(OUT_C, 60); Wait(100); until(sensor(in_2) >= nero); OnFwd(OUT_C,-60); } if (Sensor(IN_1) < nero) { OnFwd(OUT_B, 60); Wait(100); until(sensor(in_1) >= nero); OnFwd(OUT_B,-60); } } Release(motor); } task main() { SetSensorLight(IN_1); SetSensorLight(IN_2); SetSensorLowspeed(IN_3); OnFwd(OUT_BC,-60); while(true) { start luce; while(sensorus(in_3)>near); 15

StopTask(luce); Off(OUT_BC);Wait(100); PlayTone(100,500); OnFwd(OUT_BC,60);Wait(200); OnFwd(OUT_B,-60);OnFwd(OUT_C,60);Wait(tem); OnFwd(OUT_BC,-60);Wait(1000); OnFwd(OUT_C,-60);OnFwd(OUT_B,60);Wait(tem); OnFwd(OUT_BC,-60);Wait(1700); OnFwd(OUT_C,-60);OnFwd(OUT_B,60);Wait(tem); OnFwd(OUT_BC,-60);Wait(1000); OnFwd(OUT_B,-60);OnFwd(OUT_C,60);Wait(tem); start luce; } } Successivamente abbiamo capito che questo programma per un motivo o per l altro non funzionava molto bene e abbiamo deciso di iniziare a programmare con un altro tipo di swoftware chiamato nxt della lego mindstorm. Esso ci ha permesso di fare molte più cose in modo più semplice. Come già detto questo programma funziona a blocchi in cui si dice il motore/sensore da azionare e si danno le varie impostazioni da eseguire. Gli screen del programma sono stati impossibili da realizzare per dei motivi futili e tecnici che non rimango a spiegare; mi limiterò a spiegare quello che viene detto al robot di fare: Fino ad ora siamo riusciti a fare solo le prime 2 stanze + rampa. Il programma è basato su due blocchi principali: 16

il segui la linea che dice al robot di seguire il bianco e di girare in caso veda nero; mentre lo schiva l ostacolo si basa sul sensore di tocco e quello di ultrasuoni. Se il sensore davanti tocca l ostacolo il robot guarda con il sensore a destra se ha abbastanza campo per eseguire l azione, in base a questo si decide il verso in cui gira. Dopo dei movimenti precisi e precise curve si dice al robot che deve riprendere a seguire la linea col sensore di colore più esterno. La rampa invece è tuttora in dubbio se usare sensore di tocco posteriore o accelerometro. In ogni caso al variare di pendenza il robot aumenta la velocità e diminuisce la potenza e il tempo di indietreggiamento nel caso veda nero. La terza stanza è in corso di lavorazione e a scanso di equivoci non la spiego bene; si sa solo che il robot al vedere la linea argentata col sensore ad ultrasuoni e quando vede la lattina di girarsi e andarla a toccare col sensore di tatto. Fatto questo tirare giù la pinza e prenderla. La ricerca della pedana è un incognita. SORGENTE ALIMENTAZIONE Batteria al litio AA della Lego Technic 9693 ricaricabile. Progettato per l'uso con il 9841 Intelligent Brick, questo agli ioni di litio polimeri di litio con spina CC offre un'alternativa alle normali batterie AA. 17

Capacità: 2100 mah Tempo di ricarica stimato 4-5 ore Richiede 8887 Transformer 10V DC per caricare INDICE CAP. 1 - DATI GENERALI CAP. 2 - DATI DI CONTESTO E MOTIVAZIONE CAP. 3 NOME E STRUTTURA DEL ROBOT CAP. 4 MECCANICA CAP. 5 UNITÀ DI CONTROLLO CAP. 6 SENSORI CAP. 7 ATTUATORI CAP.8 AMBIENTE DI SVILUPPO CAP.9 IL PROGRAMMA CAP.10 SORGENTE DI ALIMENTAZIONE Distinti saluti dalla squadra Green Khan, con l augurio non di vincere a tutti i costi, ma anche di imparare dai propri sbagli e rimboccarsi le maniche per sistemarli. 18