RoboFriends - FLL 2016 -- RobotDesign · Gli assi prolungano l'asse motore e si appoggiano a due...

5
Robofriends Robofriends - Progetto Tecnico Pag.1 Progetto Tecnico Genova, gennaio 2016 1. Modulo Base 1.1 Schema modulare Il robot è una evoluzione del modulo sviluppato per la gara dell'anno scorso, da cui sono stati diversi insegnamenti qui tradotti in miglioramenti costruttivi. La struttura tiene conto dei vincoli fisici di simmetria costruttiva e baricentro abbassato. Per facilità di manutenzione, molte parti della struttura possono essere separate singolarmente per accedere/sostituire parti interne (es. ruote). I "perni rossi" facilitano le operazioni di rimozione e ri-montaggio. La foto mostra il modulo base del robot e alcune parti separate con il ruolo dei perni rossi. 1.2 Motorizzazione Il robot usa la consueta struttura con due ruote motrici anteriori e "caster ball" nella parte posteriore. Gli assi prolungano l'asse motore e si appoggiano a due barre lunghe sul lato esterno di ogni ruota. Questo evita lo "spanciamento" tipico nei robot con ruote esterne alla struttura, e migliora la precisione di rotazione. Le gomme 6.24 x 2 cm. hanno caratteristiche adatte a tutte le situazioni. Il robot imbarca due motori di attuazione : il motore A (tipo NXT) è situato in basso fra i motori di trazione per abbassare il baricentro, il motore D (EV3 Large) in posizione superiore e trasversale. Per massimizzare la facilità di installazione degli attachments, il robot ha tre punti di movimentazione orientati verticalmente , tutti con un dispositivo a incastro 120. Il motore D aziona due punti mediante una cinghia. 1.3 Sensori Il giroscopio è collegato alla porta numero 2 ed è in asse longitudinale, usato sia per controllare le rotazioni sia per mantenere una direzione costante. Davanti alle ruote si trovano due sensori di colore (porte 1 e 3), protetti da schermature per controllo luminosità. Un terzo sensore ottico (4) è posizionato frontalmente in asse longitudinale.

Transcript of RoboFriends - FLL 2016 -- RobotDesign · Gli assi prolungano l'asse motore e si appoggiano a due...

Robofriends

Robofriends - Progetto Tecnico Pag.1

Progetto TecnicoGenova, gennaio 2016

1. Modulo Base

1.1 Schema modulare

Il robot è una evoluzione del modulo sviluppato per la gara dell'anno scorso, da cui sono stati diversi insegnamenti qui tradotti in miglioramenti costruttivi. La struttura tiene conto dei vincoli fisici di simmetria costruttiva e baricentro abbassato. Per facilità di manutenzione, molte parti della struttura possono essere separate singolarmente per accedere/sostituire parti interne (es. ruote). I "perni rossi" facilitano le operazioni di rimozione e ri-montaggio. La foto mostra il modulo base del robot e alcune parti separate con il ruolo dei perni rossi.

1.2 Motorizzazione

Il robot usa la consueta struttura con due ruote motrici anteriori e "caster ball" nella parte posteriore. Gli assi prolungano l'asse motore e si appoggiano a due barre lunghe sul lato esterno di ogni ruota. Questo evita lo "spanciamento" tipico nei robot con ruote esterne alla struttura, e migliora la precisione di rotazione. Le gomme 6.24 x 2 cm. hanno caratteristiche adatte a tutte le situazioni. Il robot imbarca due motori di attuazione: il motore A (tipo NXT) è situato in basso fra i motori di trazione per abbassare il baricentro, il motore D (EV3 Large) in posizione superiore e trasversale. Per massimizzare la facilità di installazione degli attachments, il robot ha tre punti di movimentazione orientati verticalmente, tutti con un dispositivo a incastro 120. Il motore D aziona due punti mediante una cinghia.

1.3 Sensori

Il giroscopio è collegato alla porta numero 2 ed è in asse longitudinale, usato sia per controllare le rotazioni sia per mantenere una direzione costante. Davanti alle ruote si trovano due sensori di colore (porte 1 e 3), protetti da schermature per controllo luminosità. Un terzo sensore ottico (4) è posizionato frontalmente in asse longitudinale.

Robofriends

Robofriends - Progetto Tecnico Pag.2

2. Missioni e Attachments

2.1 Strategia generale di Gara

La challenge Trash Trek è stata divisa in cinque sezioni, che coprono altrettanti gruppi di missioni. L'obiettivo ottimale di gara è completare tutte le missioni esclusa la missione cooperativa. La figura seguente illustra la strategia di gara con il percorso del robot, le sezioni (numeri arabi) e l'indicazione delle diverse Missioni (triangoli gialli). Per ogni sezione è stato previsto uno specifico attachment, fra parentesi i motori che attuano i movimenti di missione.

2.2 Sezione 1

Avanza fino ad affiancare il palazzo, (1) abbassa braccio (motore A) per afferrare "Salvataggio" e (2) abbatte palazzo (D) - "Demolizione"; prosegue verso "Pulizia" dove (3) chiude (A) nella gabbia sacchetto e tartaruga, e (4) usa la gabbia chiusa per attivare a spinta il modello "Compost". Torna in base.

1

23

4

A

B

C D A

Robofriends

Robofriends - Progetto Tecnico Pag.3

2.3 Sezione 2

Affianca Demolition, ruota verso DX (1) per depositare animali ("Pulizia") nel cerchio più vicino, contro-ruota e si allinea sulla linea centrale. Procede sul bordo DX fino a prima linea trasversa, (2) deposita (A) "Carriere", passa sul bordo SX e procede fino a seconda linea trasversa, (3) deposita (A) "Resti di Auto", procede per altri 10 cm e (4) solleva (A) i loop di "Metano". Arretra fino all'altezza del modello Compost, (5) abbassa braccio (D) e trascina "Compost" verso safety.

2.4 Sezione 3

Ruota e si dirige sulla linea trasversale centrale, abbassa leva sul lato DX e avanza fino a urtare modello Fattoria; contemporaneamente (1) aziona leva per "Decisioni d'Acquisto", (2) deposita "Metano" e (3) preleva ultimo sacchetto di missione "Pulizia" da modello Smistamento. Torna in base. La missione "Trovare un nuovo obiettivo" si attua componendo il risultato di Compost e Decisioni d'Acquisto.

2.5 Sezione 4

Avanza fino a confine della zona trasportatore W, ruota e si appoggia alla parete Nord. Avanza spingendo il camion e deposita loop di "Metano". Continua a spingere camion per prelevare contenitore giallo ("Trasporto-1"), e aziona il modulo pneumatico per trascinare il camion + contenitore oltre i cassoni verdi ("Trasporto-2") (Attachment illustrato nel paragrafo "Innovazione tecnica"). Avanza e ruota per staccarsi dalla parete Nord e contemporaneamente prelevare il secondo aeroplano "Decisioni d'Acquisto" dalla zona trasportatore E. Rientra in base passando a fianco dell'automobile e a Sud del Sorter.

2.6 Sezione 5

Avanza fino a linea trasversale centrale, ruota e avanza allineandosi alla ruota dello "Smistamento". Fa (1) scendere il modulo con cingoli che si appoggia sulla ruota stessa. Aziona il cingolo (2) e contemporaneamente deposita con nastro trasportatore (3) nel modulo superiore i pezzi recuperati da "Demolizione". Resta in azione fino a tempo massimo.

2

3

1

4

5

1

2

3

12

3

Robofriends

Robofriends - Progetto Tecnico Pag.4

3. Il Software

Il software per la programmazione del Robot rispecchia la struttura della meccanica, può quindi essere diviso in una sezione "base", che governa il funzionamento generale, e diversi moduli specifici per le singole Sezioni. Il primo componente è retto da un "Programma Master" che fornisce all'operatore un semplice menu per scegliere le missioni da lanciare; ogni software di sezione è implementato da un my block dedicato. I diversi blocchi di sezione hanno una struttura lineare perché fanno uso molto pesante di programmazione modulare attraverso MyBlock che compiono azioni specifiche e particolari. Qui di seguito elenchiamo un estratto dei MyBlock più significativi che sono usati nel codice.

Avanza Avanza in linea retta di una distanza specificata usando SteeringTank

RuotaGradi Ruota (pivoting) di un numero di gradi specificato

LineFollowerPID Insegue una linea usando un algoritmo di controllo PID

AvanzaDrittoGyro Avanza in linea retta usando il giroscopio (gradi) per tenere la direzione

GiroPID_Omega Avanza in linea retta usando il giroscopio (velocità angolare) per tenere la direzione

Ruota_OmegaCostante Effettua una rotazione (gradi da impostare) a velocità angolare costante, usando il giroscopio

4. Scelte Strategiche, Tecniche e Innovative

4.1 Scelte strategiche e tecniche

Il tentare tutte le missioni ci ha imposto una strategia basata sulla velocità nei cambi degli attachments, da qui il meccanismo di azionamento verticale (paragrafo 1.3). Tutti gli attachments si innestano sul robot per gravità; abbiamo posto attenzione nel costruire il modulo con i buchi dei 'beam' rivolti verso l'alto. Una innovazione tecnica, rispetto a soluzioni viste su Internet o sperimentate e poi scartate, riguarda l'uso diffuso di cinghie di trasmissione. La nostra scelta si basa sull'osservazione che spesso il punto di attuazione è distante dal punto di azionamento; questo si può risolvere a) con un pneumatico (spesso ingombrante) b) una serie di ingranaggi (che però possono essere molti e introdurre un 'lasco' eccessivo) c) una cinghia di trasmissione, che offre un lasco nullo e flessibilità connettendo punti anche distanti.

Robofriends

Robofriends - Progetto Tecnico Pag.5

4.2 Scelte innovative

1) Citato da Update #14: "The Transport Mission max score is indeed 110. This is the meaning you were supposed to take from “score one or both.” Think it through, and use high caution when throwing around the word “impossible” - especially in FIRST

LEGO League." In effetti non è impossibile, la nostra soluzione a questa sfida combinaspostamenti,azionamentimeccaniciepneumatici:

a) spinge camion, preleva contenitore b) solleva barra di spinta c) oltrepassa camion d) abbassa modulo pneumatico

e) arretra infilando sollevatore f) solleva camion con pneumatico g) trascina camion sollevato, h) si allontana lo rilascia abbassando pistone

2) Dal punto di vista del software, usiamo il giroscopio per mantenere una direzione costante, misurando (in un controllore PID) sia il valore dell'angolo sia quello della velocità angolare. L'idea di fondo è che, se il robot procede in moto rettilineo, non solo l'angolo di direzione rispetto al riferimento deve essere nullo, ma anche la velocità angolare. Quindi bisogna impostare un ciclo PID sulla condizione che il valore di rif. sia una velocità angolare nulla. Nell'algoritmo: - l'errore istantaneo (P) è dato dal valore misurato dal sensore della velocità angolare, detta ; - l'accumulo nel tempo (I) dell'errore è dato dal prodotto dell'errore () per il tempo, ovvero

proprio l'angolo misurato rispetto al riferimento! Anche questo lo possiamo leggere dal sensore; - la variazione nel tempo dell'errore (D) è la differenza fra letture consecutive degli errori. Questa soluzione offre il grande vantaggio di poter usare il giroscopio LEGO con tutte e due le sue uscite, il che fa risparmiare il calcolo del termine di accumulo (I) nel loop di controllo. Come risultato si ha che il loop PID è più snello, quindi più veloce, quindi tutto il sistema di controllo diventa più stabile. Da non trascurare che così anche il codice diventa molto più corto.