You are on page 1of 52

Marco Pomponio

5 A liceo

IIS Amedeo Avogadro Torino

Tesina per lesame di stato anno scolastico 2011/2012

ISTRUZIONI PER LUSO


Progettazione e realizzazione di un elicottero a quattro rotori

ISTRUZIONI PER LUSO INDICE

INDICE

1 Mappa concettuale......................................................................................... 3 2 Introduzione................................................................................................... 4 3 Dalla mente alla carta ..................................................................................... 5 3.1 - Da dove tutto ebbe inizio e prime idee sul progetto ....................................... 5 3.2 - Schizzi e schemi a blocchi generali .................................................................. 7 4 La Progettazione........................................................................................... 11 4.1 - La struttura ................................................................................................... 11 4.2 - La scelta di motori, eliche e batterie ............................................................. 13 4.3 - Il problema delle 3 dimensioni ...................................................................... 19 4.3.I La fisica ................................................................................................ 19 4.3.II e il modello matematico .................................................................. 24 4.3.III per lo sviluppo del software ............................................................... 27 4.4 - Lelettronica di controllo ............................................................................... 30 4.4.I Descrizione dello schema elettrico .......................................................... 30 4.4.II La parte cruciale: I sensori ...................................................................... 32 4.5 Il radiocomando ........................................................................................... 34 4.4.I Descrizione e funzionamento .................................................................. 34 4.4.I Il protocollo di comunicazione................................................................. 36 5 La Realizzazione............................................................................................ 38 5.1 Costruzione della struttura ........................................................................... 38 5.2 Costruzione dellelettronica e prove del filtro matematico .......................... 40 5.3 La potenza nulla senza controllo................................................................ 42 5.3.I Prova motori e potenza ........................................................................... 42 5.3.II Introduzione dei controlli PID ................................................................. 44 5.4 Verso la fine: primi voli e settaggio coefficienti ............................................. 46 6 Possibili modifiche........................................................................................ 49 6.1 Lautonomia attraverso i sensori .................................................................. 49 6.2 Aggiunta di payloads ..................................................................................... 50 7 Conclusioni e ringraziamenti ......................................................................... 51

ISTRUZIONI PER LUSO 1 Mappa concettuale

1 Mappa concettuale

Progettazione di un drone a 4 rotori Cos e come funziona

La fisica: la dinamica e il momento angolare

La matematica: rappresentazione della posizione angolare con i quaternioni tramite il Filtro

Software e sensori per il controllo dei motori

Realizzazione e prove

Possibili modifiche e applicazioni

ISTRUZIONI PER LUSO 2 Introduzione

2 Introduzione

In questo testo verranno affrontate tutte le fasi che compongono la progettazione e la realizzazione un nuovo tipo di elicottero, molto particolare, che fino a due decenni fa sarebbe stato impensabile e impossibile da realizzare se non con costosissimi sistemi. Lha reso possibile lo sviluppo dellelettronica di questi ultimi anni, soprattutto grazie alle nanotecnologie che permettono di realizzare sensori a basso costo e consumo, e microcontrollori per sistemi embedded con una sempre maggiore potenza di calcolo (i pi moderni microcontrollori sono di gran lunga superiori ai personal computer degli anni 90, ma concentrati in pochi cm3!). Lelicottero che ho realizzato concettualmente diverso dai normali elicotteri che siamo abituati a vedere, anche se le leggi fisiche sono quasi le stesse. Infatti per la sua realizzazione ho dovuto abbandonare lidea del rotore principale per dare spazio a 4 eliche lontane tra loro ma che collaborando insieme, sono in grado di muovere il drone nello spazio tridimensionale. Non aggiungo altro e vi auguro buona lettura!

ISTRUZIONI PER LUSO 3 Dalla mente alla carta

3 Dalla mente alla carta

3.1 - Da dove tutto ebbe inizio e prime idee sul progetto


Tutto ebbe inizio quando vidi il film Avatar, poco dopo la sua uscita nelle sale cinematografiche nel gennaio del 2009. Ci fu un elemento che mi affascin dal primo istante al punto che, arrivato a casa, iniziai ad esaminarlo: lelicottero dellesercito usato sul pianeta Pandora. Ero perfettamente a conoscenza che quellelicottero era frutto di numerosi effetti speciali ben studiati, ma lidea dividere il rotore principale in due separati e di gestirli semplicemente ruotandoli era geniale! Era stato eliminato il rotore di coda, che negli elicotteri odierni spreca quasi il 40% della potenza del motore, e il cosiddetto piatto ciclico, un sistema meccanico molto complesso per il controllo del rollio e del beccheggio, era stato sostituito con due semplici attuatori, per controllare linclinazione dei rotori. Lunico problema poteva insorgere con lavaria di uno dei due rotori, che avrebbe fatto perdere la spinta da un lato dellelicottero: praticamente impossibile tenere un libro dritto sollevandolo per un solo lato della copertina. Andando avanti con i mesi iniziai informarmi e a fare qualche schizzo della struttura e del sistema per realizzare un modellino radiocomandato da poter usare in qualche campo volo, ma soprattutto per avere la soddisfazione di realizzare qualcosa di futuristico e funzionante. Tuttavia dovetti abbandonare il progetto a causa di alcune difficolt. Allepoca non ero ancora in grado di realizzare i meccanismi che avrebbero dovuto ruotare i rotori (scusate il gioco di parole), e vi era un grosso problema nella posizione del baricentro, che nel modello su scala naturale poteva essere approssimata, mentre nel modello a scala ridotta doveva essere precisa al millimetro a causa dei pesi contenuti. Senza contare il fatto che realizzare un modello del genere sarebbe costato centinaia di euro. Soltanto un anno (adesso siamo nella primavera del 2011) dopo vidi al campo volo per aeromodelli di Pianezza uno strano modello formato da 4 eliche sostenute da 4 braccia a forma di X. Ne rimasi affascinato e, dopo averlo analizzato visivamente al campo volo, iniziai a pensare al suo funzionamento dal punto di vista fisico e a come lelettronica di controllo dovesse lavorare. Bisogna precisare che avevo da poco realizzato il mio secondo LED Propeller Clock

ISTRUZIONI PER LUSO

3 Dalla mente alla carta

(http://www.grix.it/viewer.php?page=9066&mode=preview) e un lampadario RGB per la mia camera, perci le mie conoscenze di elettronica si erano incrementate notevolmente rispetto agli anni precedenti, sia nella gestione di motori tramite PWM (Pulse With Modulation) che nel campo dei sensori MEMS. In questo caso i problemi di meccanica non cerano, data la semplicit della struttura stessa, e neanche problemi di baricentro. Nellelicottero di Avatar la posizione del baricentro era fondamentale per la stabilit e per il beccheggio, mentre qui tutti gli assi erano gestiti da una differenza di potenza dei motori, e il baricentro doveva semplicemente essere al centro! Infine il problema finanziario fu risolto nel Settembre del 2011 quando conobbi la JossInnovative, che dopo aver visto le mie capacit, si impegn a finanziare lintero progetto.

ISTRUZIONI PER LUSO


3.2 - Schizzi e schemi a blocchi generali

3 Dalla mente alla carta

I primi problemi che ho individuato nel corso della progettazione a livello generale e meccanico sono stati: 1. le dimensioni del robot e i materiali da utilizzare; 2. la gestione dei motori; 3. l organizzazione a livello strutturale del robot. Per quanto riguarda il primo punto, ho affrontato il problema dal punto di vista estetico e funzionale. Ho scelto delle dimensioni piuttosto grandi (circa 70 cm), cos da non avere molti problemi nel caso di qualche modifica in futuro, o durante la realizzazione (ricordiamo che stavo costruendo un prototipo). Inoltre non avevo a mia disposizione attrezzature per realizzare lavori di precisione, ma con tolleranze dellordine del millimetro. E molto pi facile lavorare su scale grandi nel mio caso, perch un errore di 1 millimetro sulla posizione di un motore su pochi centimetri di braccio pu essere molto influente sulla stabilit del robot, mentre su larghezze maggiori si ha pi tolleranza. Tuttavia le dimensioni non dovevano essere esagerate, perch altrimenti il peso sarebbe aumentato e le potenze richieste per sollevarsi sarebbero state nettamente superiori, come vedremo pi avanti. Prendendo in considerazione i materiali con cui costruire la struttura del robot, mi sarebbero serviti dei componenti preferibilmente leggeri, dal momento che dovr volare, ma senza compromettere troppo la resistenza stessa della struttura. Il legno di balsa sarebbe stata unottima opzione: facile da lavorare, leggerissimo (150-160 kg/m) ed anche piuttosto resistente, al punto che il materiale con cui vengono costruiti gli aeromodelli e anche alcuni ultraleggeri da 1 o 2 posti. Tuttavia il costo elevato e il fatto che stavo costruendo un prototipo, e che quindi difficilmente atterrer in modo delicato nei primi voli, mi hanno fatto scartare questo materiale. La mia attenzione si focalizzata infine sullalluminio, che nonostante il peso pi elevato (2700 kg/m), ha una notevole resistenza e un costo decisamente pi basso. In secondo luogo, avevo inizialmente pensato a usare dei normali motori DC per muovere le eliche, e la loro la potenza poteva essere semplicemente gestita con la tecnica PWM (Pulse With Modulation), che consiste nellaccendere i motori per un determinato lasso di tempo e nello spegnerli per un altro. La diversa combinazione di momenti accesi e di momenti spenti in un ciclo dellordine dei millisecondi, avrebbe gestito senza problemi la potenza dallo 0% fino al 100% in un modo quasi lineare. Inoltre il microcontrollore che avevo selezionato per il progetto (il dsPIC33FJ128MC802 della Microchip) possedeva al suo interno 4 moduli PWM separati, perfetti per controllare in modo indipendente i 4 motori che servivano al progetto. Soluzione semplice ed economica. Tuttavia, ho dovuto abbandonare anche questa opzione per i seguenti motivi: prima di tutto i motori DC sono pi grossi (quindi pesanti) e meno efficienti dei fratelli Brushless a cassa rotante, a parit di potenza massima. Questultimi, infatti, sono lelemento propulsivo principale dell aeromodellismo elettrico, anche sulle grandi

ISTRUZIONI PER LUSO

3 Dalla mente alla carta

potenze. Le loro caratteristiche positive sono dovute principalmente dallassenza delle spazzole per il trasferimento dellenergia al rotore (da qui il nome Brushless), e quindi eliminano ulteriori attriti oltre a quelli dovuti ai cuscinetti. Laggettivo cassa rotante si riferisce al fatto che i magneti, essenziali per i motori elettrici, non sono permanenti come nei classici motori DC, ma ruotano assieme al rotore e alla cassa esterna (figura a destra). In questo modo i magneti hanno un sistema di raffreddamento naturale e possono rimanere sempre lontani dal punto di Curie (temperatura alla quale un materiale perde le sue caratteristiche magnetiche), ottenendo cos la massima efficienza con qualsiasi carico. Nonostante tutto, oltre ai pro ci sono anche i contro: i motori brushless (e soprattutto le versioni sensorless) necessitano di un sistema di controllo decisamente pi complesso. Nei motori DC infatti la commutazione del verso della corrente nelle bobine avviene in modo meccanico attraverso le spazzole; nei brushless invece essa deve avvenire elettronicamente e in modo perfettamente sincronizzato con la posizione dei magneti che girano attorno alle bobine. Questo problema pu essere semplicemente risolto sacrificando qualche grammo con luso di regolatori specifici per laeromodellismo; inoltre possono essere gestiti semplicemente con un treno dimpulsi elettrici, la cui potenza dipende dalla durata degli impulsi stessi, come vedremo pi avanti. Lultimo punto su come organizzare a livello strutturale il robot piuttosto veloce. Mi sono ispirato alla X che avevo visto quel giorno al campo volo a da l sono partiti gli schizzi: quattro tubi di alluminio a sezione quadrata cavi internamente per far passare i fili che vanno ai motori per dare forma alle braccia; un quadrato di alluminio centrale per tenere unite le braccia e per dare alloggiamento a tutta lelettronica del robot, batterie comprese. Da qui ho creato il seguente schema a blocchi che descrive i componenti del robot in modo molto generale.

ISTRUZIONI PER LUSO

3 Dalla mente alla carta

BATTERIA LiPo 3 celle 11.1V

Alimentazione 11.1V

REGOLATORE MOTORE 1

MOTORE 1

REGOLATORE MOTORE 2
Alimentazione 5.0V

MOTORE 2

REGOLATORE MOTORE 3

MOTORE 3

REGOLATORE MOTORE 4

MOTORE 4

Segnali PPM per i motori

ANTENNA modulo xBee

UART

MICROCONTROLLORE dsPIC33FJ128MC802

I2 C

SENSORI IMU giroscopio accelerometro magnetometro

Alimentazione 3.3V

Collegamento radio col telecomando

ISTRUZIONI PER LUSO

3 Dalla mente alla carta

Attraverso questo schema possiamo osservare che la mente che dovr gestire tutto sar il dsPIC33FJ128MC802, un microcontrollore della famiglia a 16bit, in grado di eseguire fino a 40 milioni di istruzioni al secondo. Questa potenza di calcolo ci servir per tenere sottocontrollo i dati che arrivano dai sensori IMU (che vedremo pi avanti), i comandi che arrivano dal modulo xBee, e la potenza di ogni singolo motore. Lalimentazione viene gestita in modo intelligente sfruttando il materiale a disposizione: la batteria alimenta i regolatori che usano i 11.1V per dare potenza ai motori. Questi regolatori, dal momento che arrivano dal mondo dellaeromodellismo, possiedono un regolatore di tensione a 5.0V. Perch non usarlo? Questa tensione tuttavia non utilizzabile dallelettronica di controllo che necessita di 3.3V, perci viene abbassata da un altro regolatore allinterno del modulo xBee (che, come sempre, vedremo pi avanti). Anche i vari tipi di comunicazione (I2C, UART, PPM) verranno analizzati in seguito dopotutto, siamo ancora allinizio!

10

ISTRUZIONI PER LUSO 4 La Progettazione


4.1 - La struttura

4 La Progettazione

La progettazione della struttura risulta relativamente semplice rispetto al resto del progetto. Infatti questa fase prevede soltanto il dimensionamento di tutti i pezzi di alluminio che andranno a formare la struttura principale. Tuttavia, bisogna tener conto delle masse in gioco e inoltre non deve essere compromessa la resistenza in caso di caduta del quadricottero. Per questo motivo ho scelto come braccia 4 tubi di alluminio lunghi 30cm, di sezione quadrata con lato esterno di 15mm e di spessore 1.5mm. Queste dimensioni permettono un facile montaggio dei motori attraverso dei fori passanti e sono in grado inoltre di ospitare al loro interno i cavi che dovranno collegare i motori con i relativi regolatori. Inoltre risultano molto resistenti a flessione e a torsione, e smorzano in parte le vibrazioni che arrivano dai motori grazie alla loro lunghezza. Ora calcoliamo la massa teorica per poi poter dimensionare i motori successivamente. Loggetto un semplice prisma cavo, perci calcoliamo larea della sua sezione e moltiplichiamola per la sua lunghezza. A = L2 - l2 Dove L il lato del quadrato maggiore (15mm), e l quello del quadrato pi piccolo (12mm). Il volume diventa quindi: V = (L2 - l2) R dove R la lunghezza del braccio (30cm).

E infine otteniamo la sua massa moltiplicando il tutto per la densit dellalluminio. M = (L2 - l2) R d = (0.0152 - 0.0122) 0.3 2700 Kg = 0.06561 Kg 65.6g Che diventano 262,4g considerando tutte e 4 le braccia del drone. A questo punto mancano soltanto i pezzi che terranno unite le braccia e che ospiteranno tutta lelettronica di controllo. Per questo ho pensato a due semplici quadrati di alluminio che bloccheranno lungo le loro diagonali i pezzi esposti prima. Le dimensioni sono 11cm di lato e 1.5mm di spessore. In questo modo la resistenza diventa molto elevata e si crea una camera tra le due lastre dove far passare i fili pi spessi dedicati ai motori e alla batteria. Anche per questi pezzi passiamo al calcolo della loro massa: M = L2 S d = 0.112 0.0015 2700 Kg = 0.049005 Kg 49g La massa totale della struttura diventa

11

ISTRUZIONI PER LUSO


Mtot = 262.4g + 2 49g = 360.4g

4 La Progettazione

un valore piuttosto elevato se consideriamo che mancano ancora gli elementi pi massivi (batteria e motori). Inoltre sarebbe bastato usare uno spessore anche solo di 0.5mm in meno per risparmiare pi di 100g (in questo caso la struttura sarebbe pesata 246,8g), ma come ho gi spiegato prima, non possiamo permetterci di sacrificare la resistenza dal momento che stiamo progettando un prototipo. In conclusione tutti i pezzi vengono assemblati praticando 2 fori per braccio di diametro 3.2mm, come in figura, e usando delle viti con filetto M3

12

ISTRUZIONI PER LUSO


4.2 - La scelta di motori, eliche e batterie

4 La Progettazione

Questa sessione riguarda lanalisi delle caratteristiche necessarie per far alzare da terra il drone, e le scelte operate sulla base di ci che offre il mercato, dopo unattenta valutazione dei pro e dei contro. Il prototipo, per poter volare, si pu soltanto affidare al 3 principio della dinamica dal momento che non possiede ali e non ha nessun punto dappoggio: se un corpo A esercita una forza su un corpo B, B eserciter una forza uguale e contraria sul corpo A. Ma come applicarlo nel mio caso? Se il drone (corpo A) esercita una forza sul corpo B (laria), laria eserciter una forza uguale e contraria sul drone. Perci, spingendo laria verso il basso attraverso le eliche, si crea una forza che sollever lelicottero. Per scegliere le eliche mi interessava per la potenza necessaria per sollevare la massa e non il valore della forza che si pu facilmente scrivere come Unapprossimativa analisi fisica pu indurre in un errore molto grave. Infatti la definizione di lavoro : Cio il prodotto scalare tra i vettori forza e spostamento, ma nel caso in cui il drone stia fermo in hovering anche a un solo centimetro da terra, la forza applicata uguale a quella dalle eliche, mentre lo spostamento risulta 0. L = F 0 m = 0 J ??? sembra strano che per tenere un elicottero in aria si debba spendere unenergia pari a 0! In realt una spesa energetica esiste ed anche molto elevata. Infatti i motori e le eliche per sfruttare il terzo principio della dinamica devono accelerare laria verso il basso, quindi cedono la loro energia allaria spostata, che si trasforma quindi in energia cinetica. Il discorso del lavoro fatto poco fa andrebbe visto nel caso di assenza di gravit: lelicottero in questo stato accelererebbe di 9.81 m/s2 verso lalto. Nella realt questa accelerazione appunto contrastata dalla gravit. Si pu dedurre che questa via non assolutamente adatto al mio scopo.

Un modello semplificato di elica


Un elica possiede due caratteristiche principali: il diametro e il passo. Il primo influisce sulla grandezza del propulsore e perci sulla quantit daria che in grado di spostare, mentre il passo, per definizione, lo spazio che percorrerebbe lelica dopo aver compiuto un giro in un fluido ideale. Quindi un passo maggiore in grado di spingere con pi forza laria e viceversa. Altre caratteristiche di un propulsore sono il numero di pale, il profilo ecc, ma si possono trascurare dal momento che influiscono poco rispetto alle due principali. Creo un modello molto semplificato per valutare su quale delle due caratteristiche bisogna puntare.

13

ISTRUZIONI PER LUSO

4 La Progettazione

Approssimiamo unelica come un disco di spessore molto sottile e senza massa che accelera in qualche laria dallalto verso il basso. Inoltre dobbiamo supporre che laria sia un fluido ideale (che non ha attriti) e che sia ferma al di sopra dellelica. La forza generata dallelica quindi, dal secondo principio della dinamica: F = m v / t Dove m la massa daria spostata, v la variazione di velocit che subisce il fluido e t la quantit di tempo in cui questo processo avviene. Lelica in un determinato t accelera una certa massa daria. Questa massa daria, una volta allontanatasi dallelica, si muove a velocit costante, e in un certo t percorre uno spazio h. La massa daria in quel t contenuta in un volume V pari al volume di un cilindro, per cui la m di questaria vale: m = V = r2 h ma h lo spazio che percorre il fluido in un determinato t in funzione della sua velocit: m = r2 v t sostituendo nella formula iniziale otteniamo F = r2 v2 La velocit finale del fluido dipende soltanto dal passo dellelica e dalla sua velocit angolare. Infatti lelica percorre con un giro, in un fluido ideale, una distanza pari al suo passo (come da definizione). Perci: spazio percorso = passo giri Aggiungendo un riferimento di tempo otteniamo la velocit dellelica, e quindi del fluido. v = passo giri / t = passo rps Dove rps rappresenta la velocit angolare dellelica, espressa in giri/secondo. Nelle premesse del mio modello ho scritto che laria al di sopra dellelica ferma, quindi possiamo scrivere che v uguale alla velocit finale dellaria (v). Sostituiamo: F = r2 v2 = r2 passo2 rps2 Infine cambiamo il raggio dellelica con il suo diametro e trasformiamo gli rps in rpm (giri al minuto):

14

ISTRUZIONI PER LUSO


F = (d/2)2 passo2 rps2 F = /4 d2 passo2 rps2 F = /4 d2 passo2 (rpm/60)2

4 La Progettazione

Questo un modello molto approssimativo ma piuttosto vicino alla realt al punto che necessita soltanto di un fattore di correzione che varia da 0.2 a 0.3 sulla base di altre costanti fisiche come la viscosit dellaria o il numero di pale e la geometria dellelica stessa. Tuttavia, possiamo dedurre che la forza esercitata da unelica dipende dal quadrato del diametro e dal quadrato del passo, e fino a questo punto non si avrebbero differenze nella scelta di diverse combinazioni di passi e diametri: F rimarrebbe invariata se si raddoppiasse il raggio e si dimezzasse il passo nello stesso momento, e viceversa. Ma analizziamo la situazione dal punto di vista energetico. Lelica fornisce energia cinetica allaria per poterla spingere. Questa energia vale E= mv2 Sostituiamo m trovato in precedenza E = r2 v3 t Cambiamo r con d, e sostituiamo v E = /4 d2 (passo rps)3 t E = /4 d2 passo3 rps3 t Dividendo entrambi i membri per t otteniamo infine la potenza consumata dallelica P = /8 d2 passo3 rps3 A questo punto si notano notevoli differenze nelle scelte di diametri e passi diversi. Infatti, dal momento che il passo elevato al cubo, se raddoppiassimo il diametro e dimezzassimo il passo otterremmo una stessa spinta da parte dellelica (formula precedente), ma consumeremmo la met! Perci conviene scegliere eliche con grande diametro e passo piccolo. (rps = rotazioni al secondo)

I motori
Per dimensionare i motori ci serve come dato fondamentale la potenza necessaria alle eliche per sollevare il drone. Il modello presentato poco fa troppo approssimativo per trovare dei valori reali e ci serve quindi una strada diversa. La potenza necessaria per ruotare un oggetto definita

15

ISTRUZIONI PER LUSO


P = coppia velocit angolare = Q

4 La Progettazione

La coppia di unelica si pu esprimere secondo le formule derivate dal settore aeronautico, e in particolare dal modello di Renard: Q = A 2 r3 CQ Dove A area del disco del rotore e CQ un coefficiente di proporzionalit. Inseriamo A in funzione di r Q = 2 r5 CQ Quindi P = 3 r5 CQ Possiamo trasformare la formula in funzione degli rpm e del diametro P = (2 rpm / 60)3 (d/2)5 CQ P = 4 rpm3 d5 CQ / 864000 CQ dipende dalle caratteristiche geometriche dellelica, dal passo e dalla viscosit dellaria, ed una costante diversa per ogni tipo di profilo e di elica. In genere CQ , per le eliche che useremo, ha un ordine di grandezza di 10-3 e pu variare tra circa 1 e 3, perci terremo in considerazione il valore medio 2 per i successivi calcoli. Un motore ha molte caratteristiche come il diametro, il numero di spire, il numero di poli ecc ma a noi interessano soprattutto 4 cose: i giri/volt, il peso, la potenza massima e la tensione di funzionamento. Abbiamo appena visto che la potenza necessaria allelica dipende dal cubo degli rpm, mentre la spinta dal quadrato. Quindi per avere una maggiore efficienza bisogna avere gli rpm pi bassi possibile cos da ridurre pi velocemente la potenza assorbita rispetto alla spinta generata. Per questo motivo si dovr scegliere un valore di giri/volt pi basso possibile (ricordiamo che i il dato giri/volt moltiplicato per la tensione di alimentazione da gli rpm massimi a cui quel motore potr girare). Il peso dipende dalla massima potenza che il motore in grado di reggere e infine la tensione deve essere alta non solo per compensare i bassi giri/volt appena scelti, ma anche per avere minori perdite come vedremo tra poco.

La batteria
Nel campo aeromodellistico si usano in genere le batterie LiPo (litio-ione-polimero). Questi accumulatori sono ottimali nel nostro caso perch hanno unelevata efficienza (~ 99%), e un elevato rapporto energia/massa (120-200 Wh/kg). I loro difetti sono per elevato costo

16

ISTRUZIONI PER LUSO

4 La Progettazione

e elevata sensibilit a tensioni errate, temperatura e sovraccarico, al punto che se non vengono trattate nel modo corretto, possono arrivare anche ad esplodere! Le caratteristiche fondamentali sono principalmente 4: la tensione operativa, che dipende dal numero di celle e che quindi un multiplo di 3.7V; la capacit, che indica la quantit di energia in grado di accumulare in mAh (milli-ampere-orari); la massima corrente di scarica, espressa con un multiplo della capacit, indica la massima corrente che la batteria pu sopportare, e quindi la potenza massima; e infine il peso, dato molto importante per capire le potenze in gioco. Dal momento che per sollevare il quadricottero necessaria una potenza P, questa pu essere messa a disposizione dalla batteria come prodotto V I, cio tensione per corrente. Prima abbiamo gi deciso di puntare maggiormente sulla tensione che sulla corrente per compensare i bassi giri/volt del motore. Inoltre la corrente soggetta alla legge di ohm dovuta alla resistenza dei fili, e che quindi creerebbe una caduta di tensione sui motori e un abbassamento dellefficienza a causa dellenergia sprecata sui conduttori. Pi in particolare, la caduta di tensione data dal prodotto R I. R una caratteristica del conduttore che dipende dal materiale, dalla lunghezza e dalla sezione, mentre I possiamo giostrarcela. Perci, per tenere invariata P e allo stesso tempo tenere bassa I siamo costretti ad alzare V. La capacit infine influisce sullautonomia del robot, ma capacit e autonomia non hanno una relazione direttamente proporzionale: se raddoppiassimo la capacit non avremo unautonomia doppia perch aumenter anche la massa del robot, e quindi servir una potenza maggiore per tenerlo sollevato. In altre parole le batterie si scaricherebbero prima del previsto se si aumentasse la capacit.

La scelta dei componenti


Possiamo definire la tensione della batteria a 3 celle (11.1V), perch un ottimo compromesso tra efficienza, massa e rpm delle eliche non eccessive. Inseriamo in una tabella i modelli di batterie adatte ai nostri casi, e che non abbiano un prezzo troppo elevato. Tutti i modelli sono presi da un sito dove ho fatto gli acquisti. N 1 2 3 4 Modello Top fuel 30C light Top fuel 30C light Top fuel 20C eco Top fuel 30C light Tensione(V) C (mAh) 3 celle 11.1 2700 3 celle 11.1 3400 3 celle 11.1 3600 3 celle 11.1 4000 P max (W) 899 1132 799 1332 Massa (g) 219 274 296 325 Prezzo () 45 55 50 65

Adesso facciamo una tabella con i motori pi adatti cio quelli con i giri/volt pi bassi e che non superino i 300W di potenza massima N 1 2 Modello Hacker A30-14L V2 Scorpion S-2215-900 V2 Giri/volt 800 900 P max (W) 300 180 Massa (g) 143 68,6 Prezzo () 75 64

17

ISTRUZIONI PER LUSO

4 La Progettazione

Infine una tabella delle eliche suggerite sulla base delle masse in gioco. Ricordo che possiamo selezionare solo le eliche che presentano anche la versione propulsiva sul mercato, cio lo stesso modello identico a quello normale, ma progettato per funzionare nel verso opposto. Nel caso di pi passi disponibili per lo stesso diametro, si preferito quello minore. N 1 2 3 Modello APC 9x6 APC 10x6 APC 11x6 Diametro (m) 0.2286 0.254 0.2794 Passo (m) 0.1524 0.1524 0.1524 Prezzo norm+prop () 6,80 7,20 7,80

A questo punto ci rimane soltanto il calcolo della massa totale e dellautonomia in funzione di ogni combinazione, usando le formule trovate precedentemente, per poi operare la scelta migliore. Non abbiamo considerato il peso dellelettronica di bordo e di altri componenti vari, perci aggiungiamo un valore indicativo di 600g alla massa del drone. Per i calcoli useremo come densit dellaria il valore standard a 25C, 1atm di 1.2 kg/m3. La massa del robot definita: M = struttura + 4 motori + batteria + 600g Tutti i calcoli vengono quindi fatti nel caso particolare dellhovering, cio di robot fermo in aria. La combinazione migliore risultata la 4 - 2- 3, cio la batteria con capacit maggiore, il motore Scorpion, leggero e poco potente, e lelica pi grande. Infatti questa combinazione ha dato i seguenti risultati: massa robot = 1560 g forza esercitata da una singola elica = m g / 4 = 4 N rpm elica = sqrt (14400 F /(k d2 passo2)) = 5807 rpm (k=0.25 fattore di correzione) Potenza di un motore = 4 rpm3 d5 CQ / 864000 = 90 W Potenza totale necessaria = 4 P un motore = 360 W Autonomia = 3,6 C(mAh) V / P = 444 s = 7 minuti e 24 secondi Posizione gas = 100 rpm / (Vbatt giri-volt motore) = 58% Prezzo = 336,6 Questi risultati sono ottimi anche se non sono state considerate tutte le perdite dovute ai motori, ai fili e ai regolatori che sono tuttavia quasi trascurabili in confronto con i dati calcolati. Infatti i motori e i regolatori hanno un efficienza molto vicina al 90%, e i cavi assorbono meno di 5 W (1,4% rispetto al totale) grazie alla loro bassissima resistenza. Inoltre siamo rimasti piuttosto larghi aggiungendo 600g alla massa totale del robot, cos da poter permettere modifiche e tralasciare le perdite senza dover ricalcolare tutti i parametri. Un dato molto importante la posizione del gas, esso ci la potenza necessaria per tenere il robot in aria rispetto a quella disponibile. Questo ci permette di avere un range molto ampio nel caso in cui il drone abbia bisogno di potenze elevate in breve tempo.

18

ISTRUZIONI PER LUSO


4.3 - Il problema delle 3 dimensioni 4.3.I La fisica

4 La Progettazione

Dopo aver risolto i problemi fisici su piccola scala passiamo a quelli pi generali. In questo capitolo ci occuperemo soprattutto la fisica in 3 situazioni: brevemente vedremo lhovering, gi visto in parte precedentemente, la salita e la discesa verticale; poi vedremo il volo traslato, le accelerazioni e le frenate; e infine la cosa pi importante, le rotazioni sugli assi del drone.

Hovering, salita e discesa


Lhovering, chiamato anche volo puntiforme in quanto la rotta "disegna" nello spazio un semplice punto, o volo stazionario, in quanto si mantengono costanti velocit e quota, una manovra molto particolare che solo alcuni aeromobili sono in grado di eseguire, tra cui gli elicotteri. Un hovering ideale non ha rotazioni sugli assi dellaeromobile e del nostro quadricottero, mentre nella realt queste devono essere corrette in continuazione in modo da rimanere perfettamente orizzontale e avere quindi la trazione delle eliche verticali. Un'altra condizione fondamentale che la spinta generata dalle eliche deve essere uguale in modulo e direzione alla forza peso che agisce sul baricentro del robot, e deve essere di verso opposto. La figura schematizza le forze in gioco. mg la forza peso e dipende solo dalla massa del robot, che abbiamo gi definito prima come circa 1.6kg, mg vale quindi 1.6 kg 9.81 m/s2 = 15.7 N. Questa forza agisce sul baricentro del robot (il pallino della figura), ed sempre puntata verso il basso. T invece la somma della trazione generata da ciascun elica, che nel caso dellhovering si trova esattamente sul baricentro e sulla stessa direzione della forza peso, infine il suo modulo deve essere uguale a mg (15.7 N). Questa situazione non ha molti punti da chiarire, perci passiamo subito al caso di salita di discesa. Anche in questi casi, da come visibile nelle due immagini seguenti, il drone rimane orizzontale e ogni minima variazione dellassetto deve essere corretta. Per salire, la trazione delle eliche deve superare in modulo la forza peso, cos da ottenere una risultante che punta verso lalto. Questa risultante, per il secondo principio della dinamica, creer unaccelerazione nella stessa direzione della forza e il robot inizier ad avere quindi una velocit verticale. Dopo che le forze avranno raggiunto un equilibro, il robot si muover a velocit costante e ci troveremo in questa situazione: si sar creata una forza dattrito dovuta alla viscosit dellaria che si sommer a mg; e T sar diminuita rispetto a prima se

19

ISTRUZIONI PER LUSO

4 La Progettazione

abbiamo mantenuto costante la potenza sviluppata dalle eliche. Questo dovuto al fatto che laria al di sopra dellelica non pi ferma, ma avr gi un certo valore uguale alla velocit di avanzamento del robot. Il fatto che, come abbiamo gi visto nel paragrafo un modello semplificato di elica, il V dellaria regola la forza generata dallelica. Se il robot ha una velocit di avanzamento, V tende a diminuire, e assieme ad esso anche la forza propulsiva dellelica. Di conseguenza, servir pi potenza per far salire il drone verticalmente a velocit constante, e questo comporter ovviamente un maggior consumo di energia. Lo stesso discorso, ma al contrario, vale per la discesa. Se diminuisce la trazione delle eliche, la forza risultante punta verso il basso. Si crea quindi un aumento di velocit verso il basso che viene contrastata dalla forza dattrito con laria e dallaumento di T se manteniamo P costante. La discesa verticale a velocit costante comporta ovviamente un risparmio di energia grazie alla minor potenza richiesta dai motori. Nel volo traslato dobbiamo invece analizzare le forze su pi dimensioni. Ora il robot deve essere inclinato rispetto alla forza si gravit in modo che la trazione abbia una componente orizzontale. Ricordiamo che nel volo traslato non si devono avere cambiamenti di quota, perci la forza peso deve essere sempre contrastata dalla trazione, ma dal momento che solo una parte della trazione in grado di opporsi a mg, questa deve essere maggiore. Possiamo indicare questa situazione con la seguente equazione: T cos = m g Dove langolo che crea il robot rispetto allorizzontale. Possiamo notare che se =0, il robot non inclinato, e ci troviamo nel caso dellhovering. Se invece 90 (tende a 90), per mantenere lequazione valida T deve tendere a (infinito). Possiamo dedurre che se vogliamo mantenere la stessa quota durante il volo traslato dobbiamo aumentare la potenza delle eliche man mano che aumenta linclinazione del robot fino a quando non arriveremo a un punto limite che dipende dalla potenza massima che i motori possono generare. Per quanto riguarda laccelerazione orizzontale, otteniamo questa relazione: accelerazione orizzontale = T sin / m unendo le due relazioni otteniamo: accelerazione orizzontale = (m g / cos) sin / m = g sin / cos = g tan osserviamo che laccelerazione, sempre se non vi sono cambiamenti di quota, dipende soltanto dallinclinazione del robot e vale infinita quando =90. Ovviamente c un limite nella realt, che dipende come sempre dalle caratteristiche dei motori.

20

ISTRUZIONI PER LUSO

4 La Progettazione

Nonostante tutto, questa accelerazione viene rallentata dallaumento dellattrito con laria e dalla diminuzione di T, sempre dovuta allaumento della velocit relativa con laria mantenendo P costante durante tutta laccelerazione orizzontale.

Adesso dobbiamo analizzare il movimento pi complesso che il robot deve riuscire ad eseguire in automatico per correggere in continuazione il suo assetto e per seguire i comandi che arriveranno dal telecomando: la rotazione su se stesso. Possiamo individuare gli assi del robot in questo modo. Immaginiamo di essere sul drone. definiamo lasse x come la retta passante per il baricentro e con la direzione che va dallelica posteriore a quella anteriore. Lasse y sar quello che parte da sinistra e va verso lelica di destra, sempre passante per il baricentro, e infine lasse z quello che attraversa verticalmente il robot. Con altre parole, x e y corrispondono ai bracci dei motori, mentre z risulta perpendicolare al piano degli assi x-y Usiamo il baricentro come punto fisso, e chiamiamo d la distanza tra i motori e il baricentro, ovviamente tutti i motori saranno posizionati alla stessa distanza d. Come da figura possiamo notare che F1 farebbe ruotare il robot in senso orario, mentre F2 in senso antiorario, perci le due forze agiscono in modo opposto sulla rotazione del nostro asse. Dalla legge della dinamica rotazionale possiamo scrivere: F R sin = I a Dove F la forza applicata, R la distanza tra il punto di applicazione della forza e il fulcro, langolo tra la forza e il braccio, I il momento dinerzia diverso per ogni asse, e a laccelerazione angolare. si pu considerare sempre di 90 dal momento che il motore applica sempre la stessa forza perpendicolare al braccio. Ora teniamo in considerazione le due forze che agiscono in senso opposto: F2 R F1 R = I a (F2 F1) R = I a a = F R / I possiamo notare che laccelerazione angolare, quindi la velocit con cui girer il robot attorno al proprio asse, dipende in modo direttamente proporzionale alla differenza di forza e alla distanza dei motori dal centro, e in modo inversamente proporzionale al momento dinerzia.

21

ISTRUZIONI PER LUSO

4 La Progettazione

Adesso valutiamo il momento dinerzia attorno agli assi x e y dal momento che sono identici nella teoria, se ovviamente trascuriamo il momento degli oggetti molto vicini allasse (lastre dalluminio, elettronica di bordo, batteria ecc.), e approssimando i motori ad oggetti puntiformi. In questo modo otteniamo il momento dinerzia totale per rotazioni attorno all'asse x come somma dei momenti dei due bracci e dei due motori posti lungo l'asse y (analogamente per il momento di inerzia per rotazioni attorno all'asse y). I(x, y) = 2 Ibraccio + 2 Imotore I(x, y) = 2/3 mbraccio R2 + 2 mmotore R2 I(x, y) = (2/3 mbraccio + 2 mmotore) R2 Che, se sostituto nellequazione di prima, diventa: a = F / ((1/3 mbraccio + mmotore) 2R) Ovviamente abbiamo considerato che il motore sia montato al fondo del braccio e non in una posizione centrale. Comunque, diventa fondamentale anche la posizione dei motori: se li posizionassimo troppo vicini al baricentro, diminuiremo R, e sar sufficiente una minima differenza di forza dei propulsori per generare una rotazione anche rapida. Questo potrebbe compromettere molto la stabilit! Tuttavia, una R molto alta, oltre ad assicurarci una certa stabilit, aumenta anche la lunghezza del braccio e quindi la sua massa. Questaumento di massa va a favore del momento dinerzia, ma rende inoltre il robot pi pesante costringendoci a ricalcolare tutte le altre variabili (potenza motori, eliche, batterie ecc). Invece, in una rotazione attorno z tutta la massa si trover a ruotare e il momento dinerzia per questo asse risulter circa il doppio! Sempre trascurando le masse delle lastre, dellelettronica e della batteria perch vicine allasse di rotazione, dobbiamo tenere in considerazione i momenti dinerzia di tutti i motori e di tutti i bracci, perci: Iz = 4 Ibraccio + 4 Imotore = 2 I(x, y) Possiamo dedurre che, se abbiamo la necessit di aumentare la stabilit sullassetto di volo, saremo costretti ad aggiungere massa lontano dal baricentro. Tuttavia, un momento dinerzia troppo elevato richiede una differenza di forza notevole per eseguire una rotazione. Il discorso si complica per le rotazioni sullasse z. Qui non abbiamo unelica che crea una forza in modo diretto, ma dobbiamo giocare con le coppie generate dalle 4 eliche. Dallo schema che vediamo in figura possiamo notare che la somma delle coppie generate dalle singole eliche risulta 0 se tutte le eliche sviluppano la stessa potenza. Ma se aumentassimo la potenza dei motori 1 e 3, e diminuissimo quella del 2 e del 4, le coppie non saranno pi bilanciate, e otterremo come risultato una rotazione in senso orario del robot e viceversa.

22

ISTRUZIONI PER LUSO

4 La Progettazione

Questo fenomeno lo si pu vedere nel momento in cui un classico elicottero ha il rotore di coda in avaria. Il terzo principio della dinamica di azione-reazione vale non solo per le forze, ma anche per le coppie generate da oggetti in rotazione: lelicottero genera una coppia che fa ruotare il rotore principale in un senso, ma allo stesso tempo il rotore reagisce con una coppia uguale e contraria sullelicottero. Ecco lutilit del rotore di coda, serve a contrastare la contro-coppia generata dal motore. Lo stesso discorso vale anche per il nostro quadricottero, solo che al posto di un rotore di coda avremo unaltra elica che genera una coppia contraria. Purtroppo questo lunico modo con cui possiamo creare la manovra dellimbardata nel nostro caso. Raggruppando il tutto otteniamo: rotazione attorno x: si aumenta la potenza del motore 2 e si diminuisce quella del 4 per un senso, viceversa per laltro. Motori 1 e 3 invariati. rotazione attorno y: si aumenta la potenza del motore 1 e si diminuisce quella del 3 per un senso, viceversa per laltro. Motori 2 e 4 invariati. rotazione attorno z: si aumenta la potenza dei motori 1 e 3 e si diminuisce quella dei motori 2 e 4 per un senso, viceversa per laltro. Si aumenta la potenza di tutti i motori per salire e si diminuisce per scendere.

23

ISTRUZIONI PER LUSO


4.3.II e il modello matematico

4 La Progettazione

Per poter conoscere il nostro assetto rispetto al piano orizzontale siamo costretti a usare la matematica e un modello con cui possiamo elaborare facilmente i dati che arrivano dai sensori e calcolare una risposta. Una matrice di rotazione su 3 dimensioni diventa molto complicata e richiede una notevole potenza di calcolo, perci possiamo escluderla. Una semplice e valida soluzione sarebbero gli angoli di Eulero. Infatti i giroscopi misurano la velocit angolare, che se integrata col tempo, diventa una posizione angolare. Questa unalternativa che richiede pochissima potenza di calcolo, ma ha un unico problema: le rotazioni misurate dal giroscopio avvengono contemporaneamente, mentre dovrebbero avvenire secondo un certo preciso ordine per rendere gli angoli di Eulero funzionali. Infatti una rotazione che avviene prima attorno z, poi su y e infine attorno x diversa se avviene prima su x, poi y e infine z. col passare del tempo questo modello aumenterebbe il suo errore e i dati provenienti dallaccelerometro e dal magnetometro non basterebbero per correggere la posizione angolare. Affidarsi solo sullaccelerometro sarebbe una strategia sbagliata, perch il nostro sistema sempre in movimento. Quindi le nostre misure non misureranno soltanto la gravit, ma anche i nostri movimenti e soprattutto le vibrazioni! Una conferma di queste affermazioni si trova sulle moto e sugli aeroplani: se posiamo un bicchiere con dellacqua sul nostro serbatoio o sul tavolino davanti a noi, nel momento in cui facciamo una curva a velocit costante la moto e laereo si inclinano, ma il livello dellacqua rimane orizzontale rispetto al bicchiere! Ecco spiegato perch ci accorgiamo che laero sta virando solo se guardiamo fuori dal finestrino e abbiamo quindi un riferimento rispetto terra. I dati dei giroscopi sono perci fondamentali perch misurano le rotazioni, ma lintegrale della velocit angolare in dt ha un errore sempre crescente col passare del tempo, perch il nostro dt non infinitamente piccolo, ma un valore preciso che dipende dalla frequenza con cui leggiamo i sensori. Per correggere questerrore usiamo due riferimenti fissi: la direzione del campo magnetico terreste e la direzione della gravit misurata come media su un tempo molto lungo per eliminare le accelerazioni e vibrazioni non volute. Un modello che fa al nostro caso, anche se siamo costretti a sacrificare una certa potenza di calcolo, si pu creare tramite luso dei quaternioni. Mi soffermer pi sullaspetto pratico che sul teorico per questo nuovo argomento. I quaternioni sono entit introdotte da William Rowan Hamilton nel 1843 come estensioni dei numeri complessi. Sono usati principalmente per rappresentare le rotazioni nello spazio tridimensionale, quindi hanno Impieghi "sorprendenti" nella robotica per individuare la posizione spaziale dei bracci meccanici a pi snodi, e il controllo d'assetto, in quanto il calcolo tramite quaternioni pi stabile. Essi sono formati da 4 componenti: una reale e tre immaginarie. Infatti un quaternione un elemento scrivibile come Dove Ecco la loro natura complessa.

24

ISTRUZIONI PER LUSO

4 La Progettazione

Dal punto di vista pratico, una rotazione pu essere eseguita scegliendo langolo e lasse di rotazione con cui vogliamo ruotare il nostro sistema di riferimento. Lasse deve essere per espresso come un vettore di modulo unitario. Il nostro quaternione diventa: Q = cos( / 2 ) + i ( x1 sin( / 2 )) + j (y1 sin( / 2 )) + k ( z1 sin( / 2 ))

Dove x1, y1 e z1 sono le componenti del nostro asse di rotazione e langolo con cui ruotiamo. La figura visualizza la situazione.
Scomposto nelle sue 4 componenti otteniamo

a = cos( / 2 ) b = x1 sin( / 2 ) c = y1 sin( / 2 ) d = z1 sin( / 2 )

Questo modello perfetto perch una rotazione scomposta dal giroscopio in componenti lungo i suoi assi, e queste componenti se normalizzate rappresentano il nostro asse di rotazione! Inoltre, usando la formula: 2 = x2 + y2 + z2 ricaviamo la nostra velocit angolare reale, e, se integrata col tempo, otteniamo il nostro angolo di rotazione ! Abbiamo visto come implementare i dati che arrivano dal giroscopio, ma come utilizziamo quelli provenienti dallaccelerometro e dal magnetometro? Dopo che stata eseguita la rotazione facciamo una previsione sulle nuove coordinate dei vettori gravit e campo magnetico, e le confrontiamo con i nuovi dati provenienti dai sensori. Se previsioni e realt coincidono il nostro integrale funziona correttamente, ma se vi un piccolo errore, il nostro quaternione viene aggiustato sulla base dei valori effettivi. In questo modo dobbiamo definire un coefficiente che indichi laffidabilit dellaccelerometro e del magnetometro rispetto al giroscopio, cio di quanto aggiustare il nostro quaternione. Tutto questo procedimento viene svolto da una funzione chiamata filtro. Essa richiede in entrata tutti i dati provenienti dai nostri sensori ordinati sulla base dei nostri assi di riferimento, e da in uscita il nostro quaternione aggiornato. Ovviamente pi spesso questo filtro viene eseguito dal programma, pi il nostro dt sar piccolo, e perci la sua precisione aumenter! Vediamo ora come calcolare una risposta da inviare ai motori. Nel momento in cui accendiamo il robot il filtro orienter in pochi secondi il nostro sistema di riferimento esterno: lasse x verso nord, y verso est, e z verso lalto. Allo stesso tempo esso ci dar in uscita la posizione del sistema di riferimento del robot rispetto a quello esterno sottoforma di quaternione.

25

ISTRUZIONI PER LUSO

4 La Progettazione

Se noi volessimo spostare il robot e orientarlo come il sistema di riferimento esterno, quale rotazione dovremo compiere? La stessa che ci indica il filtro, ma al contrario! se il filtro ci dice che siamo a 30 verso destra dal nord, dobbiamo ruotare di 30 verso sinistra! Con un termine matematico dobbiamo coniugare il nostro quaternione di rotazione. Per poter ottenere quindi una rotazione di risposta per raggiungere un assetto qualsiasi, basta ruotare il nostro sistema di riferimento esterno come vogliamo, e il filtro ci dar automaticamente in uscita il nostro quaternione da coniugare! C un ultima considerazione da fare. I nostri sensori sono posizionati su un circuito a parte, che non potrebbe essere perfettamente allineato con il sistema di assi del robot. I dati che leggiamo si riferiscono al sistema di assi del circuito, e non del robot, perci devono essere ruotati e spostati sul riferimento del robot. Questa operazione pu essere risolta facilmente con i quaternioni. Dovremo quindi definire un quaternione che rappresenta la rotazione tra il sistema di riferimento del robot e quello del circuito. Infine ogni vettore scomposto nelle sue componenti dovr essere ruotato secondo una specifica regola. La rotazione di un vettore secondo un quaternione definita: Vout = q x Vin x q Dove Vin il vettore nel sistema di riferimento del circuito, Vout il vettore nel suo nuovo sistema di riferimento del robot e q e q sono rispettivamente il quaternione e il coniugato del quaternione stesso. Questa regola implementata sotto forma di semplici calcoli, e quindi di codice, diventa:
V2.x = (w2 + x2 - y2 - z2)*V1.x + (y*x - z*w)*2*V1.y + (z*x + y*w)*2*V1.z V2.y = (x*y + w*z)*2*V1.x + (w2 - x2 + y2 - z2)*V1.y + (z*y - x*w)*2*V1.z V2.z = (x*z - w*y)*2*V1.x + (y*z + w*x)*2*V1.y + (w2 - x2 - y2 + z2)*V1.z

Dove V1.x, V1.y, V1.z sono le coordinate iniziale del vettore nel sistema di riferimento circuito, e V2.x, V2.y, V2.z sono invece le nuove coordinate nel sistema robot. Infine w, x, y, z sono le componenti del nostro quaternione che rappresenta lo spostamento tra i due sistemi.

26

ISTRUZIONI PER LUSO


4.3.III per lo sviluppo del software

4 La Progettazione

Siamo nellultima fase teorica della progettazione, ci rimane da esaminare soltanto lelettronica di controllo e il telecomando. Anche se qui si tratta della parte informatica non si avranno codici, ma verr analizzato landamento generale del programma che dovr gestire gli input dei sensori e del telecomando per generare gli output per i motori. Il codice completo si trover al fondo della tesina La prima parte del programma molto semplice e si occupa semplicemente di settare i timer, i moduli interni al microcontrollore (I2C, UART ecc.), e soprattutto i sensori. Nel caso in cui un particolare settaggio non avvenga correttamente questo verr provato altre 2 volte, se non si ottiene ancora nessuna risposta, lintero programma verr bloccato e sar necessario riavviare il robot. Questa fase fondamentale perch ci si assicura del corretto funzionamento di tutti i componenti principali necessari al volo. Dopo il completamento di questa fase, che pu essere individuata dai vari beep generati dai motori, si entra in un ciclo infinito che il cuore del programma. In questo ciclo avremo lesecuzione del filtro ad ogni suo giro, e ricordiamo che questultimo diventa pi preciso quando viene eseguito pi frequentemente. Perci siamo costretti a rendere il codice il pi ottimizzato possibile in termini di velocit di esecuzione e non di memoria: bisogna evitare luso di array quando possibile, perch necessitano di numerosi calcoli sugli indirizzi di memoria; e di piccoli cicli, che sprecano tempo nel calcolo dei contatori e nellesecuzione dei numerosi GOTO che il compilatore non professionale aggiunger praticamente ovunque. Inoltre se vi sono calcoli ripetuti pi conveniente eseguirli una volta sola e salvare il loro risultato in una variabile. Prima di tutto il nostro ciclo ha bisogno dei dati dei sensori per poterli elaborare, e interroga quindi ogni singolo chip e ottiene in risposta i valori richiesti. Anche questa fase richiede la massima efficienza, perci ho dovuto scrivere delle funzioni ottimizzate per poter dialogare coi sensori a basso livello. Ogni dialogo con ciascun sensore viene eseguito al massimo 3 volte, se non si riceve risposta subito. Nel caso in cui anche dopo il 3 tentativo non si ha alcuna risposta, quel determinato sensore viene dichiarato non funzionante o non collegato e si possono avere 2 possibili soluzioni: se il magnetometro o laccelerometro non funzionano, si continua con la normale esecuzione del programma, ma senza luso di questi dati. Il robot potr ancora volare, ma si avranno comportamenti strani che avviseranno il pilota del problema. Se invece il giroscopio a essere difettoso. vengono fermati immediatamente tutti i motori e viene bloccato il programma. Questo perch senza i dati provenienti dal giroscopio il filtro non in grado di funzionare e non si avranno pi dati in output per i motori. Ci significa che se il robot si trova in volo, si schianter al suolo rovinosamente, ma una conseguenza migliore rispetto a un drone ormai incontrollabile.

27

ISTRUZIONI PER LUSO

4 La Progettazione

La seconda fase prevede leliminazione dai dati del rumore dovuto alle vibrazioni e del bias del giroscopio, e infine la rotazione di questi dati per portarli sul sistema di riferimento robot. Qui vengono usati alcuni algoritmi che hanno lo stesso risultato dei filtri RC passa alto e passa basso, usati molto spesso in elettronica. Un filtro passa basso elimina infatti tutti i segnali con frequenze al di sopra di un certo valore definito come frequenza di taglio (questi sono ad esempio il rumore delle vibrazioni), mentre lascia passare quelli con frequenza pi bassa. Per definizione, la frequenza di taglio viene attenuata di 3 decibel, cio della met. Lo stesso discorso vale per il filtro passa alto che fa passare solo i segnali con frequenze superiori a quella di taglio, e blocca le frequenze inferiori, come le lente variazioni dovute a cambiamenti di temperatura ecc. La terza fase prevede lesecuzione del filtro matematico, che dar in uscita la nostra posizione sotto forma di quaternione. Ne abbiamo gi discusso prima, perci passiamo avanti. La quarta fase prevede invece la lettura dei messaggi provenienti dal telecomando, il calcolo delloutput e laggiornamento dei motori. Il modulo UART e i relativi interrupt, presenti nel nostro microcontrollore, risultano molto utili: ci permettono di salvare i messaggi senza interrompere completamente il programma, rimandando cos lelaborazione in un altro momento. In altre parole il PIC pu eseguire due cose (e non solo) contemporaneamente. Il messaggio del telecomando verr analizzato in seguito nel corso della relazione, ma possiamo anticipare che contiene le informazioni sulla posizione che il robot deve raggiungere. Nel caso in cui non si riceve un messaggio valido entro circa un secondo dallultimo, il programma dichiara il telecomando spento o il modulo xBee non funzionante, perci vengono fermati immediatamente i motori fino allarrivo di un nuovo messaggio. Questa una condizione di sicurezza per assicurarsi che il drone sia sempre sotto controllo. Dopodich vengono calcolati gli output per i motori attraverso dei controlli PID. Questo tipo di controllo molto facile da implementare e non richiede enormi potenze di calcolo. Prima di tutto viene calcolato lerrore, cio di quanto dista lassetto che il robot deve assumere rispetto a quello che ha in quel preciso momento. La risposta del PID ha tre componenti. La prima definita Proporzionale, si trova moltiplicando lerrore per un coefficiente. La seconda invece Integrativa e tiene conto quindi dellerrore nelle misure precedenti. Infine lultima la Derivativa e ha il controllo delle variazioni istantanee sullassetto. La somma delle tre componenti per i relativi coefficienti da in uscita la risposta da applicare ai motori di un certo asse. Per quanto riguarda gli altri, vengono eseguiti calcoli analoghi, ma con le misure relative al proprio asse. Infine tutti i risultati vengono adattati per essere usati dai regolatori che a loro volta controlleranno i motori. Questa volta usiamo 4 moduli molto particolari presenti allinterno del pic: i moduli compare. I regolatori vengono controllati secondo una sequenza di impulsi chiamati PPM (Pulse Position Modulation). Il filo dati si trova costantemente a livello logico 0, e la durata del livello logico 1 determina la potenza da erogare. Perci non importante il tempo in cui

28

ISTRUZIONI PER LUSO

4 La Progettazione

non vi tensione sul cavo, ma lo invece quando c. Lassenza di impulsi sul cavo fa intuire al regolatore che qualcosa non funziona e di conseguenza manda in protezione i motori ed emette una serie di segnali acustici per avvertire lutente. Un impulso di durata 1ms indica ai regolatori che tutto in funzione ed richiesta una potenza pari a 0, invece 2ms di livello logico 1 indicano che richiesta la massima potenza. giusto intuire che durate intermedie tra 1ms e 2ms controllino in modo lineare lerogazione di potenza (1,5ms = 50% della potenza massima; 1,25ms = 25% ecc). I moduli compare utilizzano un timer che ad ogni ciclo di macchina aumenta di valore fino a quando raggiunge un valore massimo e dopodich si azzera automaticamente (overflow). Un valore di un registro ben preciso pu controllare lo stato logico delluscita attraverso continue comparazioni con il timer: se il valore del timer inferiore a quello del registro si avr 0, se maggiore 1. Cambiando il valore di questo registro possiamo controllare con estrema facilit la durata degli impulsi su un periodo totale costante, determinato dal valore massimo del timer e dalla frequenza di clock del microcontrollore. Ricordiamo infine che questo processo avviene in un modulo separato e indipendente allinterno del PIC e non influisce quindi in nessun modo sulla potenza di calcolo.

29

ISTRUZIONI PER LUSO


4.4 - Lelettronica di controllo

4 La Progettazione

Siamo arrivati alla descrizione hardware del sistema che dovr controllare ogni microscopico movimento del drone fino a centinaia di volte al secondo e rispondere di conseguenza. Velocit e precisione che nessun occhio umano in grado di raggiungere.

4.4.I Descrizione dello schema elettrico


Per limitare i costi il nostro circuito possiede il minimo indispensabile per poter funzionare: un regolatore di tensione gi presente nel modulo xBee, un ponte di comunicazione col telecomando (modulo xBee), un microcontrollore, i 3 sensori sullo stesso bus, e una semplice interfaccia per convertire i 3.3V del pic in 5V leggibili dai regolatori. Come gi detto prima, la funzione di cervello viene svolta dal dsPIC33FJ128MC802 portato alla sua massima potenza di calcolo, anche se non verr usato tutto il suo potenziale. La frequenza di clock limite per questo microcontrollore di 40 MIPS (Million Instructions Per Second) ed raggiungibile senza laggiunta di oscillatori esterni. Infatti questo microcontrollore ha al suo interno un oscillatore RC da 7,37MHz e un PLL (PhaseLocked Loop) totalmente programmabile. Attraverso le prime istruzioni del pic, dirottiamo londa quadra delloscillatore RC sul PLL che utilizziamo come moltiplicatore di frequenza, e infine cambiamo la sorgente di clock della cpu dalloscillatore ausiliario su quello appena settato. Questo ci permette di non aggiungere quarzi esterni e di non complicare il circuito rendendolo molto semplice. Tuttavia, loscillatore RC sensibile alla temperatura e pu deviare fino all1%, ma non ci interessano oscillatori precisissimi al punto da farci un orologio, e sono frequenze su cui si pu avere una certa tolleranza. Per ovviare a questi problemi, ho misurato la frequenza delloscillatore RC del microcontrollore che inserir nel programma (e non cambier pi in questo circuito) per avere un valore standard preciso, e ho stabilito i valori di clock e PLL. I risultati sono i seguenti: frequenza clock CPU: 39,6 MHz frequenza oscillatore RC: 7,367MHz fattore di moltiplicazione PLL: 5.375 Si pu notare che non raggiungo i 40MHz per un semplice motivo: la variazione massima di circa 1%, perci avremo che la frequenza di clock della CPU pu aumentare al massimo di 0,396MHz. In questo modo non supereremo neanche nel peggiore dei casi il limite di fabbrica, ma ci avvicineremo molto (39,996MHz). Se superassimo i 40, si potrebbe avere un errore nel calcolo di unistruzione macchina con il conseguente blocco della CPU e del programma stesso! Vi lascio immaginare le possibile conseguenze durante il volo Passiamo al modulo xBee. Questo modulo a dir poco straordinario! Attraverso luso dello standard 800.15.4, mette a disposizione tantissime funzionalit, come il point-to-point o il point-to-multipoint, con un elevato trasferimento dati (oltre 1 milione di bit al secondo, a seconda delle versioni), e il tutto configurabile e usabile attraverso una comunicazione UART. La semplicit di questi moduli non ha limiti. Questi moduli, se opportunamente settati, creano un filo invisibile tra

30

ISTRUZIONI PER LUSO

4 La Progettazione

trasmettitore e ricevitore senza luso di protocolli particolari: il byte che viene inviato, viene ricevuto identico dallaltra parte come se ci fosse un filo ininterrotto. Inoltre questi moduli non hanno un solo verso, ma sono anche bidirezionali: i byte si possono inviare sia in un senso che nellaltro. Il tutto viene poi semplificato ulteriormente con luso dei protocolli UART (Universal Asynchronous Receiver-Transmitter). Questa comunicazione quasi identica alla seriare RS232, ma con livelli di tensione diversi. Si ha perci su ogni singolo filo un bit di start, per sincronizzare trasmettitore e ricevitore, il byte da inviare, e un bit di stop. Per semplicit non inseriamo bit di parit. Dal momento che non vi sono segnali di clock, TX e RX dovranno possedere lo stesso identico baudrate, cio dovranno sapere a priori la durata temporale di ciascun bit inviato. Limmagine a fianco descrive graficamente linvio del byte 11010010, ma sui livelli di tensione della RS232. Ricordiamo che il protocollo UART si basa sui livelli logici del circuito in cui viene usato (nel nostro caso 0-3.3V). Linterfaccia tra microcontrollore e regolatori molto semplice. Si tratta soltanto di aggiustare le tensioni in gioco. Il livello logico 0 infatti 0V per entrambi, ma non lo per l1. Il microcontrollore per 1 intende 3.3V, mentre il regolatore 5V. perci adottiamo questo semplice schema su ogni regolatore per aggirare il problema. Il tutto consiste nelluso di transistor (quello usato il BC547) in saturazione e non. Quando la tensione in ingresso a livello logico 0, si trova al di sotto dei 0,6V necessari al transistor per entrare in conduzione, perci non passer nessuna corrente tra collettore ed emettitore, e la tensione in uscita sar praticamente identica a Vcc (5V). Nel caso opposto, se Vin a livello logico 1 (3.3V), il transistor inizia a far passare corrente tra gli altri due capi fino a quando non sar arrivato alla saturazione e avremo quindi una tensione molto vicina a 0 in uscita. Come risultato finale abbiamo si un aggiustamento delle tensioni, ma anche una negazione! Se in ingresso abbiamo 0 in uscita avremo 1 (5V), e viceversa. Lunico appunto mentale che dobbiamo fare nella stesura del programma che dovremo avere costantemente 1 sul piedino di uscita del modulo compare, e limpulso che controller i regolatori sar definito dalla durata del livello logico 0. I livelli in entrata e in uscita sono soltanto invertiti.

31

ISTRUZIONI PER LUSO


4.4.II La parte cruciale: I sensori

4 La Progettazione

I sensori sono fondamentali perch permettono si conoscere lesatta posizione dellassetto del robot in ogni momento. Un sensore poco affidabile pu essere fatale dal momento che darebbe informazioni sbagliate con il conseguente schianto del drone a terra durante il volo. La prima idea era di usare un sensore meccanico sullispirazione degli orizzonti artificiali usati negli aeromobili. Questo genere di apparecchio si basa sulla forza necessaria per cambiare la direzione dellasse di rotazione di un oggetto. Allinterno di un orizzonte artificiale abbiamo una massa che, dopo essere orientata, ruota ad alta velocit (giroscopio). Un sistema di cardini mobili, inoltre, possono ruotarci attorno senza forzare lasse di rotazione del giroscopio che, in questo modo, rimarr perfettamente immobile nella sua posizione originale. Applicando questo principio al nostro robot basta semplicemente orientare con lorizzonte la massa e farla ruotare. Linclinazione tra robot e massa rotante ci indicher infine la posizione angolare del nostro assetto. Tuttavia questo sistema, che pu sembrare semplice per certi aspetti, molto complicato e costoso senza contare che non ho le attrezzature necessarie per realizzare un oggetto simile. Perci mi sono dovuto affidare alla nuova e moderna tecnologia data dai sensori MEMS (Micro Electro-Mechanical Systems). Questi dispositivi non sono nientaltro che un frutto delle pi avanzate nanotecnologie, sono dei sistemi meccanici ed elettrici miniaturizzati, ed oltre ad occupare poco spazio, non sono neanche troppo costosi! Tra i numerosi sensori messi a disposizione dal mercato a noi ne interessano 3 in particolare. Il pi importante, come abbiamo gi visto prima, il giroscopio seguiti da accelerometro e magnetometro. Esistono numerosi modelli di giroscopi MEMS che misurano le velocit angolari: ci sono modelli che lavorono su 1, 2, o 3 assi ortogonali, con uscite analogiche o con protocolli di comunicazione digitali, con varie portate e sensibilit. Lo stesso discorso vale per accelerometri e magnetometri. A noi servono per dei sensori molto veloci e precisi, soprattutto il giroscopio, ma senza trascurare la semplicit. Perci ho individuato una versione che non solo comprende i 3 sensori che ci servono, ma misurano tutti sui 3 assi e si trovano sullo stesso bus! Il modello in questione la IMU I2C 9 gradi di libert (i 9 gradi indicano che ogni sensore lavora su 3 assi). Questo piccolo circuito necessita soltanto di 4 fili per entrare in funzione: 2 per lalimentazione e 2 per le comunicazioni seriali. Tutti i settaggi e le letture avvengono via digitale per tutti i sensori grazie al veloce protocollo I2C e ai sofisticatissimi sensori completamente digitalizzati. Il primo tra tutti il giroscopio ITG-3200 della Invensens. Questo sensore ha una portata elevatissima (2000 /s), ma anche unelevatissima sensibilit (circa 0,069565 /s/bit)

32

ISTRUZIONI PER LUSO

4 La Progettazione

grazie al suo convertitore analogico-digitale a 16bit per ogni asse. Inoltre in grado di effettuare fino a 8000 misure al secondo per ciascun asse, e possiede 3 filtri passa-basso settabili e indipendenti per eliminare qualsiasi tipo di rumore da vibrazioni. Il tutto concentrato in 14mm3! Il secondo sensore della lista laccelerometro ADXL345. Anche questaltro ha elevatissime prestazioni: ha diversi fondo scala selezionabili che vanno dai 2g (20 m/s2) fino ai 16g (157 m/s2), con la sensibilit pi elevata a 2g di 0,0383m/s2/bit (3.9mg/bit), e con unelevata frequenza di campionamento massima (fino a 3200Hz). Nonostante tutto a noi serve la direzione della gravit, perci selezioneremo un fondo scala di 4g per avere alta sensibilit anche con accelerazioni piuttosto elevate. Infine c il magnetometro identificato dalla sigla HMC5883L, che pu essere usato come bussola per la sua elevata sensibilit. Ha infatti un fondo scala di 1 gauss, ed in grado di riconoscere variazioni di 0,0073 gauss su ogni asse. Sensibilissimo considerando che il campo magnetico terreste di circa 0,5 gauss in continua diminuzione! Abbiamo gi detto che tutti i sensori si trovano sullo stesso bus, ma come fanno a non sovrapporsi i dati? Grazie al protocollo I2C, che vedremo brevemente. Questo genere di comunicazione di tipo seriale sincronizzata (c un clock) ed master-slave. Il microcontrollore funge da master ed lunico in grado di iniziare una conversazione sul bus e decide il clock, i sensori, invece, sono gli slave e devo eseguire ogni comando che arriva dal master. Per evitare confusione ogni slave dotato di un indirizzo univoco. La comunicazione avviene in questo modo: prima di tutto il master invia sul bus lindirizzo del sensore che vuole interrogare dicendo se vuole compiere unazione di lettura o di scrittura ( come se lo chiamasse per nome). Tutti gli slave presenti sul bus ascoltano il master e confrontano il proprio indirizzo con quello inviato, in caso di riscontro positivo lo slave invia una risposta di un bit, altrimenti viene ignorato il resto della conversazione (viene presa lattenzione di un solo slave mentre gli altri tornano al proprio lavoro). Se la risposta avvenuta, il master riceve i dati nel caso di lettura, o li invia se li deve scrivere. Dopo ogni operazione lo slave costretto a confermare lavvenuta ricezione di ogni singolo byte. Il master pu infine interrompere in qualsiasi momento la conversazione e lo slave interrogato torna al proprio lavoro. Questo genere di protocollo molto semplice e funzionale. Permette di collegare numerosi slave sullo stesso bus dal momento che vengono identificati con indirizzi diversi, e il tutto necessita soltanto di 2 fili, uno per i dati (SDA), e uno per il clock dettato dal master (SCL). Infine il protocollo I2C molto utilizzato sui sensori e memorie che non necessitano elevatissime velocit di trasferimento dati (fino a 3,4 Mb/s high speed mode), i nostri sensori reggono al massimo 400 kb/s (fast speed mode).

33

ISTRUZIONI PER LUSO


4.5 Il radiocomando 4.4.I Descrizione e funzionamento

4 La Progettazione

Il telecomando (o meglio, radiocomando) quello strumento che ci permette di inviare i nostri comandi al drone attraverso lutilizzo delle onde radio. Pi nel dettaglio il microcontrollore al suo interno deve leggere la posizione di ogni leva di comando attraverso un convertitore analogico-digitale, e deve elaborare i dati in modo da poterli inviare via radio. Come abbiamo gi detto, linvio e la ricezione avviene tramite luso dei moduli xBee, che ci permettono di inviare e ricevere uno stream di dati digitali in continuazione senza alcun problema. Un radiocomando per aeromodellismo si differenza per tre caratteristiche principali: la portata, la frequenza di lavoro, e il numero di canali. La portata semplicemente la distanza massima a cui possibile inviare il segnale, e nel nostro caso dipende soltanto dal modulo xBee. Questo modulo stato acquistato nella sua versione base con una potenza di trasmissione di 1mW e una sensibilit in ricezione di 92dBm e senza antenna a filo, che assicurano una portata di massimo 100 metri circa senza la presenza di ostacoli. Purtroppo sono valori molto bassi, ma vanno molto bene nel nostro caso dal momento che stiamo costruendo un prototipo. Nulla ci vieta di sostituire in futuro il modulo base con la versione pi potente, come xBee serie pro 2, che ha una potenza di trasmissione di 100mW e una ricezione di 100dBm, in modo da assicurare una portata di 1500m. Anche la frequenza di lavoro dipende dal modulo xBee. Infatti la sua frequenza di trasmissione standard di 2.4GHz. Lintera trasmissione inoltre codificata automaticamente dal modulo e riduce al minimo la possibilit di interferenze con altri oggetti che trasmettono su questa banda, come il wifi e il bluetooth. Infatti questa banda, regolamentata dagli standard IEE 802.x, si pu considerare sicura sul problema delle interferenze (a patto che non vi siano troppe trasmissioni), al punto che non c neanche il bisogno di controllare se quella frequenza occupata da un altro pilota nel momento in cui si entra in un campo volo. Infine, il numero di canali messi a disposizione dal radiocomando fondamentale. Avere pi canali significa poter trasmettere pi informazioni diverse. In genere, per gli aeromodelli, si deve avere un minimo di 4 canali, cio di 4 controlli (alettoni, direzionale, cabra - picchia, e motore), mentre altri canali sono per gli accessori come il carrello retrattile, i flap ecc. Per quanto riguarda un elimodello classico, dobbiamo avere un minimo di 5 canali: 2 per il ciclico (asse trasversale e longitudinale), uno per il rotore di coda, uno per il collettivo e uno per il motore. Invece il nostro drone necessita un minimo di 4 canali cos divisi: uno per il collettivo, e tre per il controllo di ciascun asse (longitudinale, trasversale e verticale). Dal momento che stiamo costruendo noi il radiocomando, e che la trasmissione completamente digitale, possiamo aggiungere il numero di canali che desideriamo, a patto di avere sufficienti comandi con cui le nostre dita possono interfacciarsi. Per semplicit ho deciso di usare 4 canali proporzionali per i 4 comandi fondamentali, e 7 del tipo ON-OFF gi predisposti per il futuro ma non ancora usati per lassenza di interruttori e di funzioni a cui assegnare.

34

ISTRUZIONI PER LUSO

4 La Progettazione

Vediamo adesso come vengono controllati i 4 comandi fondamentali. Lessere umano possiede 10 dita, ma sarebbe un delirio dover assegnare un comando per dito per ovvi problemi di coordinazione, soprattutto se questi sono comandi proporzionali da usare con la massima precisione. Per questo motivo si usano soltanto due leve, una per mano, in grado di tenere sotto controllo questi 4 comandi fondamentali in modo altamente preciso. Queste leve infatti sono in grado di muoversi su 2 assi ciascuna e la loro posizione controlla in modo proporzionale il comando che il robot deve eseguire. Lultimo problema rimane lassegnazione dei comandi ai rispettivi assi di ogni leva. Per risolvere questo problema useremo la disposizione MODE 2 o americana molto usata dagli elicotteristi. Essa infatti assegna alla leva di destra il sensibilissimo comando del ciclico, cio il controllo degli assi longitudinale e trasversale (x e y), come se fosse la cloche di un elicottero vero e proprio. Mentre sulla leva di sinistra avremo il controllo dellimbardata (asse verticale) sul movimento destrasinistra, e il controllo del collettivo per il movimento su-gi. Ricordiamo che la potenza dei motori nel nostro robot viene gestita singolarmente e automaticamente dallelettronica di bordo. Lultima considerazione che dobbiamo fare come interpretare i comandi. Cio se la posizione della leva del ciclico deve indicare una velocit angolare su quellasse, o se deve indicare una posizione, o meglio, unangolazione dellassetto. Sicuramente la seconda ha un approccio pi semplice e intuitivo, ma in genere molto pi diffusa la prima opzione. Per questo robot ho inserito una leva sulla cima destra del telecomando con cui si pu decidere tra queste due modalit.

35

ISTRUZIONI PER LUSO


4.4.I Il protocollo di comunicazione

4 La Progettazione

Il protocollo vero e proprio, a basso livello gestito dal modulo xBee, ma noi ci limiteremo a dare un significato ai byte che inviamo e riceviamo. Dopo ore di riflessione sono arrivato a un protocollo molto sicuro e con il minimo uso di byte senza perdere informazioni importanti. Innanzitutto un messaggio composto esattamente da 13 byte cos disposti: 1 byte di inizio messaggio 2 byte di flags e di canali ON-OFF 2 byte per il comando del collettivo 2 byte per il comando dellasse x 2 byte per il comando dellasse y 2 byte per il comando dellasse z 1 byte di checksum 1 byte di fine messaggio I byte di inizio e fine messaggio non si devono assolutamente confondere con i byte del messaggio stesso perch potrebbe succedere che un byte in mezzo alla trasmissione possa essere identico ai byte di inizio e fine creando unenorme confusione: si perderebbe il filo del discorso. Questo ci permette inoltre di prevenire i problemi dovuti alla mancanza di una parte del messaggio, in questo modo verrebbe ignorato quello incompleto e preso in considerazione soltanto il pi recente che contiene i byte di inizio e fine al posto giusto. Dal punto di vista pratico, un byte di comando pu assumere un valore da 0 a 255, ma se il byte di start stato definito come 75 ( un esempio) il byte di comando potrebbe assumere quel particolare valore anche se la probabilit molto bassa (1/256). Ma come possiamo rendere questi byte completamente inconfondibili? La risposta piuttosto semplice, anche se siamo costretti a sacrificare una buona parte della trasmissione dati. Dedichiamo il primo bit di ogni byte al riconoscimento del byte stesso: se il bit numero 7 ha valore 0, questo un byte di inizio o fine, mentre se ha valore 1, questo fa parte del messaggio. un enorme spreco perch avremo a disposizione 128 valori per i byte di inizio o fine, di cui dovremo sceglierne solo 2, e 128 valori per descrivere il comando. Nonostante tutto, questo accorgimento necessario per avere una trasmissione completamente affidabile. Il byte di start scelto identificato dallASCII col simbolo < (0x3C, 0b00111100), mentre quello di fine con > (0x3E, 0b00111110), questo per capire in modo molto veloce in fase di debug inizio e fine dei messaggi. Di conseguenza i byte di comando potranno andare da 128 (0b1000000) a 255 (0b11111111). Il checksum un altro byte di sicurezza e si calcola semplicemente sommando tutti i byte componenti il messaggio inviato, e nel nostro caso, sempre per evitare confusione con i byte di start e fine, viene forzato a 1 il settimo bit. Questo calcolo viene sia fatto dalla trasmittente, ma anche dalla ricevente: se infatti la somma di tutti i byte non corrispondesse al checksum inviato, vuol dire che allinterno del messaggio c qualche bit sbagliato a causa di un errore nella trasmissione o ricezione del messaggio da parte dei moduli xBee. Se questo dovesse succedere, lintero messaggio deve essere ignorato perch fallato.

36

ISTRUZIONI PER LUSO

4 La Progettazione

Allinterno dei byte di flags abbiamo un altro bit di sicurezza che controlla lo stato dei motori direttamente dal telecomando: se questo bit vale 0, i motori vengono spenti istantaneamente ignorando qualsiasi altro comando allinterno di quel messaggio, se invece vale 1, i motori sono operativi e controllati dallelettronica di bordo. Altri bit sono per linterpretazione dei comandi, per capire se si sta indicando una velocit o una posizione angolare, e per usi futuri. Per indicare la posizione delle leve si usano due byte per ogni comando, il che vuol dire 16 bit, che vengono abbassati a 14 effettivamente a disposizione per dare spazio al bit di riconoscimento del byte. Tuttavia 14 bit sono pi che sufficienti perch il convertitore analogico-digitale allinterno del microcontrollore ha una risoluzione massima di 12 bit (4096 valori), perci abbiamo 2 bit di troppo inutilizzati! Ovviamente ogni valore, che stato diviso in due byte per permettere la trasmissione, viene rimontato con delle semplici operazioni di shift e or, cos da rendere il dato un int a 16bit utilizzabile dal programma. Inoltre tutti i valori sono mantenuti di segno tramite il formato standard 2 complements.

37

ISTRUZIONI PER LUSO 5 La Realizzazione


5.1 Costruzione della struttura

5 La Realizzazione

La prima fase della concretizzazione del progetto prevede infatti la costruzione della struttura a X del drone e lalloggiamento dellelettronica di potenza secondo le caratteristiche scelte e calcolate in precedenza. Questa fase durata circa 1 mese, ed iniziata con il taglio dei bracci e delle lastre in alluminio che stata eseguita con lausilio dei macchinari messi a disposizione della ditta JossInnovative. Successivamente sono stati praticati i fori da 3.2mm con un trapano Dremel per permettere lassemblaggio di tutti i pezzi attraverso viti e dadi con filetto M3. Tuttavia la sola struttura dalluminio si rilevata pi pesante di 40g circa rispetto al valore teorico calcolato nella fase di progettazione, probabilmente per una diversa lega del materiale, o per le dimensioni approssimative, oppure per il peso delle viti che non sono state considerate in fase di progettazione. Nonostante tutto questa massa in pi non influir eccessivamente sugli altri parametri dal momento che ho approssimato tutte le altre variabili per eccesso. Dopo il montaggio della struttura ho effettuato alcune prove molto approssimative per valutare la resistenza. I risultati sono stati probabilmente troppo positivi nel senso che avrei potuto risparmiare molti grammi costruendo una struttura con una struttura proporzionata alle forze in gioco. Infatti questa struttura con alluminio spesso 1.5mm non da nessun segno visibile di flessione e torsione anche con forze 7-8 volte superiori a quelle che dovr sopportare. Questo vuol dire che avrei potuto usare senza problemi alluminio con spessore da 1mm o forse anche da 0.5mm! purtroppo i tempi non mi hanno permesso di riprogettare il robot con unaltra struttura e ho dovuto continuare con questo prototipo. Conclusa la parte meccanica si passa al posizionamento dei motori e dellelettronica di potenza. Sono stati praticati dei fori alle estremit dei bracci per permettere il corretto montaggio dei motori e i fili sono stati fatti passare allinterno dei bracci come da progetto. I regolatori di potenza sono stati invece posizionati sui bordi delle lastre per nascondere il groviglio di fili al loro interno e per lasciare un ampia superficie esposta per il raffreddamento. Limpianto di distribuzione dellalimentazione stato invece posizionato allesterno delle lastre, cos da tenere i fili sempre allaria fresca e per permettere una rapida manutenzione. Altri fori sono stati praticati al centro dei bracci per il montaggio dei piedini che avrebbero sostenuto il drone a terra, ma un ripensamento me li ha fatti spostare alle estremit dei bracci per due motivi essenziali: il primo che aumentano ulteriormente il momento dinerzia del robot assicurando una maggiore stabilit; il secondo, fondamentale, che proteggono le eliche da urti laterali.

38

ISTRUZIONI PER LUSO

5 La Realizzazione

Lintera struttura del robot quasi completa: si deve ancora inserire la batteria, che sar posizionata sotto il le lastre centrali; i piedini dappoggio e le eliche.

Qui chiaramente visibile limpianto di alimentazione che corre lungo il bordo delle lastre; ad ogni angolo parte unuscita per il motore di quel braccio. Sono anche visibili i connettori per il controllo della potenza dei motori e lalloggiamento dellelettronica di controllo.

39

ISTRUZIONI PER LUSO

5 La Realizzazione

5.2 Costruzione dellelettronica e prove del filtro matematico


Questa fase stata invece la pi lunga ed durata circa 5 mesi. In realt per la costruzione dellelettronica ho impiegato solo 1 settimana, ma il resto del tempo servito per lo sviluppo e la prova del programma che controller il microcontrollore (che ricordiamo deve gestire TUTTO!). Durante la prima parte di questa fase stato realizzato un piccolo circuito su breadboard col minimo essenziale, in modo da poter eventualmente modificare i collegamenti senza troppa difficolt. In questo circuito di prova sono stati inseriti il microcontrollore, i sensori IMU e i moduli xBee. Prima di tutto stato verificato il corretto funzionamento del microcontrollore in prossimit del limite della frequenza di clock. Poi sono state realizzate le funzioni per poter dialogare con i moduli xBee attraverso luso del modulo UART predisposto dal PIC; il secondo modulo xBee stato invece collegato al pc in modo da poter avere una linea microcontrollore-pc per poter visualizzare sullo schermo i dati calcolati sullo schermo del pc, anche in maniera grafica, e por poter impartire dei comandi da tastiera. Infatti il microcontrollore pu dare in output o leggere in input soltanto la presenza o lassenza di tensione su dei pin e diventerebbe molto scomodo controllare la correttezza dei dati solo attraverso questo metodo. Si potrebbe collegare un led programmato che si potesse accendere quando un certo processo si concluso, cos da verificare il corretto funzionamento del programma, ma se invece in fase di programmazione e debug questo led non si accendesse, non potremo in nessun modo capire dove si trova lerrore se non abbiamo un pc a nostra disposizione: ecco perch fondamentale avere una linea di controllo da pc. Dopo queste fasi preliminari sono state scritte tutte le funzioni a bassissimo livello per il dialogo con ciascun sensore nel modo pi ottimizzato possibile, e infine stato implementato e perfezionato il filtro matematico per il calcolo dellassetto. A questo punto sono state fatte numerose prove per trovare il giusto valore del coefficiente che determina laffidabilit di accelerometro e magnetometro rispetto al giroscopio, molto sensibile alle vibrazioni. Per eliminare almeno in parte questo problema si aggiunto un filtro passabasso sui dati in uscita dellaccelerometro, cos da eliminare le vibrazioni ad alta frequenza e migliorare perci la precisione, a discapito per di una risposta leggermente pi lenta ma comunque immediata. Si pu vedere il risultato di questo lavoro in un video in cui il sottoscritto muove la basetta e verifica i risultati calcolati dal filtro graficamente sullo schermo del pc. Per adesso il grosso del programma stato fatto, perci il circuito stato trasportato su una basetta millefori che sar montata sul drone. Inoltre i sensori non sono stati montati direttamente sul robot, ma sono stati invece avvolti in uno spesso strato di spugna e allontanati dal circuito e dai pezzi del robot. Questo per due motivi fondamentali: il primo che la spugna e la lontananza attenuano le vibrazioni dei motori, in modo da avere dei dati affidabili, anche se si potrebbe incorrere nel fenomeno della risonanza meccanica, che anzich attenuare le vibrazioni le amplificherebbe. Tuttavia la frequenza di risonanza meccanica sembra essere lontana dalla frequenza delle vibrazioni a cui sar soggetta la struttura. Il secondo motivo per allontanare materiali e fili che potrebbero deviare il debole campo magnetico terrestre, che provocherebbero una lettura completamente

40

ISTRUZIONI PER LUSO

5 La Realizzazione

errata da parte del magnetometro e di conseguenza errori di calcolo e minore affidabilit dei dati in uscita dal filtro.

Le prove del circuito e del filtro matematico su breadboard.

Lelettronica quasi completa. Manca ancora il modulo xBee che andr posizionato sulla destra; la scheda sensori deve essere ancora sigillata allinterno della spugna.

41

ISTRUZIONI PER LUSO


5.3 La potenza nulla senza controllo 5.3.I Prova motori e potenza

5 La Realizzazione

A questo punto il drone stato programmato per controllare i motori in modo passivo, in altre parole gestisce la potenza di tutti i motori sulla base del comando del gas impartito dal radiocomando, senza per controllarli in modo da tenere lassetto desiderato. Questo non ci permette assolutamente di portarlo in volo, perch non si avr nessun tipo di controllo sulle rotazioni attorno ai 3 assi, ma cos si in grado di analizzare la risposta dei motori e della spinta delle eliche in funzione del comando del gas sul telecomando. Prima di tutto stata fatta una prova senza eliche per verificare il corretto funzionamento di ciascun motore ad ogni posizione del gas. Completata questa fase, sono state montate le eliche e il robot stato posizionato su una bilancia, dopo aver aggiunto delle zavorre per evitare che possa alzarsi in volo. Infine, per ogni posizione del gas stata calcolata la spinta delle eliche sottraendo il valore misurato dal peso complessivo del drone zavorrato. Tutti i dati sono stati inseriti in questa tabella: Pese drone + zavorre: (3250 25)g Posizione del gas 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Peso drone misurato ( 25)g 3250 3250 3200 3125 2950 2675 2275 1725 1300 1100 975 Spinta motori ( 50)g 0 0 50 125 300 575 975 1525 1950 2150 2275

E successivamente, con questi dati, stato costruito il seguente grafico:

42

ISTRUZIONI PER LUSO

5 La Realizzazione

Portanza in funzione della posizione del gas

2500 2000 1500 1000 500 0 0 20 40


posizione gas %

Spinta motori ( 50)g

60

80

100

Tra 0 e 10% i motori non entrano ancora in funzione a causa della soglia di sicurezza impostata dal costruttore dei regolatori, perci non si avr nessuna spinta. Tra 10 e 20% le eliche iniziano a muoversi, ma il loro regime ancora troppo basso per creare una spinta utile. Inoltre, nella prima parte del grafico fino a 50-60%, si nota landamento parabolico gi previsto nel paragrafo modello semplificato di elica, dove avevo trovato la dipendenza della portanza in funzione di 2. Tuttavia da 60% in poi si ha prima una rettificazione, e poi landamento ci indica che ci stiamo avvicinando al valore massimo che eliche motori e batterie sono in grado di sopportare. In questa zona infatti le potenze e le correnti in gioco iniziano a essere notevoli, la batteria si trova sotto sforzo e inizia a perdere tensione e a dissipare una parte dellenergia in calore. Stesso discorso per i cavi e i regolatori: oltre a creare una caduta di tensione ulteriore per via delle alte correnti, dissipano unaltra parte dellenergia in calore. Alla fine ai motori arriva circa il 60-70% dellenergia teorica richiesta, quando il comando del gas viene posizionato al massimo. Queste perdite, per fortuna, iniziano a essere consistenti con il gas in posizione superiore all80%. Nel paragrafo La scelta dei componenti stata calcolata la massa teorica del robot una volta assemblato, la quale ammonta a 1560g. il valore effettivo invece leggermente superiore, infatti la mia bilancia ha segnato (1675 25)g, perci nel volo stazionario i motori saranno costretti a lavorare tra circa 70 e 75% del gas totale, e per di pi nei dintorni del 70% i motori hanno una risposta piuttosto lineare. Questo significa che non sar necessario complicare il software adattandolo a questi dati, mantenendo cos una veloce e semplice esecuzione dei calcoli.

43

ISTRUZIONI PER LUSO


5.3.II Introduzione dei controlli PID

5 La Realizzazione

Dopo aver verificato il corretto funzionamento di tutti gli apparati del drone, si pu assegnargli una parte del controllo su se stesso. Infatti adesso verranno aggiunti i controlli PID allinterno del ciclo principale del programma, per poter calcolare una risposta immediata per i motori l dove locchio e il tempo di reazione non possono arrivare. Durante le prove precedenti i 4 motori erano gestiti tutti allo stesso modo, e sviluppavano perci la stessa identica potenza. Questo potrebbe far pensare che se venisse lasciato in aria il drone rimarrebbe sempre con lo stesso assetto orizzontale perch, come abbiamo visto nel capitilo la fisica , ogni elica spinge con la stessa forza su ogni braccio. Considerazione sbagliata! I motori sviluppano in media la stessa potenza. infatti potrebbe capitare, in modo casuale, che un motore spinga per una frazione di secondo di pi o di meno rispetto al valore teorico. Di conseguenza viene generata una differenza di potenza casuale tra i motori in ogni istante che provoca quindi rotazioni, anche molto veloci, e grandi oscillazioni sui 3 assi del robot. Nessun essere umano sarebbe in grado di tenere sotto controllo queste rotazioni improvvise e di correggerle correttamente e immediatamente, in modo da non modificare lassetto iniziale, in altre parole, un drone di questo tipo con il solo controllo umano riuscirebbe a stare in aria solo per pochi secondi. Suppliscono i sensori e lelettronica di bordo, che ovviamente non sono in grado di prevedere un calo di potenza improvviso di un motore e di reagire di conseguenza, ma riescono a sentire linizio di una rotazione indesiderata e a rispondere in modo adeguato in una sola frazione di secondo. Inoltre questi aggiustamenti dellassetto avvengono fino a 100 volte al secondo, traguardo improponibile per qualsiasi persona. Tuttavia questo non vuol dire che con questa tecnologia il drone rimarr fermo e immobile sospeso in aria, ma tender a spostarsi nelle 3 dimensioni e a fare delle piccole oscillazioni sui suoi assi. Nel software ho previsto 2 controlli PID su ogni asse, uno istantaneo e uno sullassetto. Quello istantaneo il pi importante perch controlla i motori in funzione di come sta ruotando. Ecco un esempio: ipotizziamo che il robot sia teoricamente fermo nel suo assetto e che quindi i giroscopi misurino 0/s su ogni asse. Improvvisamente vi un calo di potenza di un motore, che crea linizio di una rotazione indesiderata su un particolare asse. Una frazione di secondo dopo il giroscopio misurer questa velocit angolare ed entrer in funzione il controllo PID. Prima di tutto c un confronto tra la velocit angolare effettiva del robot (misurata dal giroscopio) e quella teorica a cui dovrebbe essere (0/s). Se queste non coincidono, c una rotazione in corso, perci viene aumentata la potenza del motore che ha avuto il calo, e, per bilanciare le forze, viene diminuita la potenza del motore opposto. Questa risposta viene calcolata in maniera proporzionale rispetto al valore della velocit angolare indesiderata (componente P), ma bisogna tener anche conto che ormai il robot sta ruotando, e perci avr una certa inerzia che si opporr alla nostra volont. La risposta va quindi aumentata di un pelo (componente I e D). Queste correzioni indipendenti su ogni asse sono fondamentali per la stabilit, tuttavia non sono perfette e non faranno tornare il drone al suo assetto iniziale, prima del calo di

44

ISTRUZIONI PER LUSO

5 La Realizzazione

potenza indesiderato. Ecco che entra in funzione il secondo PID sullassetto, che tende a far tornare il robot sulla posizione desiderata dal pilota.

45

ISTRUZIONI PER LUSO

5 La Realizzazione

5.4 Verso la fine: primi voli e settaggio coefficienti


Finalmente arrivata lultima fase: il collaudo e il settaggio di tutti i coefficienti. I primi voli, per motivi di sicurezza, sono stati eseguiti a terra, nel senso che non si data nessuna libert al drone. Queste prove, infatti, permettevano al robot di alzarsi da terra autonomamente, ma di pochi centimetri, e ogni suo movimento stato limitato da un braccio meccanico a pochi gradi. Inoltre il mio occhio vigile era pronto a spegnere tutti i motori via telecomando qualora qualcosa non funzionasse. In queste fasi sono state trovate, in 1 mese di continue prove, i valori dei coefficienti fondamentali che non possono essere calcolati matematicamente, ma solo sperimentalmente. Tra questi vi sono laffidabilit dellaccelerometro, per via delle vibrazioni (il famoso coefficiente del filtro); la frequenza di taglio dei filtri passa-basso, per eliminare le vibrazioni; e i 3 coefficienti del PID (proporzionale, integrativo e derivativo) di ogni asse e per ogni controllo, per un totale di 18 valori! In particolare, i coefficienti del PID potevano essere trovati in base al comportamento del robot ad ogni comando. La strategia utilizzata per trovare i valori pi adatti pu essere riassunta in questo modo: risposta lenta a comandi o oscillazioni molto ampie -> aumentare il valore di P per quellasse; rapide oscillazioni e risposte brusche ai comandi -> diminuire il valore di P per quellasse; difficolt del robot a mantenere lassetto desiderato -> aumentare il valore di I per quellasse; tendenza del robot a rimanere su un particole assetto dopo altri comandi -> diminuire il valore di I per quellasse; nel caso di comando di frenata immediata di una rotazione, il robot continua a ruotare -> aumentare il valore di D per quellasse; nel caso di comando di frenata immediata di una rotazione il robot si ferma, ma continua per un momento nella direzione opposta, come una molla -> diminuire il valore di D per quellasse. Possiamo notare che la parte fondamentale svolta dal coefficiente P, che attenua le oscillazioni e segue i comandi, mentre il coefficiente I tiene una sorta di memoria della posizione in ci si trova. Infine il coefficiente D tiene conto dellinerzia del robot come abbiamo visto prima: se il robot sta ruotando a una certa velocit serve una risposta aggiuntiva a P per contrastarla. Un valore eccessivo di D, invece, fermerebbe immediatamente la rotazione, ma eccederebbe al punto che innescherebbe una breve rotazione nel senso contrario. Infine, dopo aver trovato tutti i coefficienti adatti, il robot stato finalmente lasciato libero ed stato provato nel mio cortile su un piano di cemento. Per questi primi voli autonomi ho sempre mantenuto delle quote molto basse (massimo 2 metri circa) e tempi di aria inferiori ai 30 secondi per evitare eventuali danni provocati da una caduta a causa di un improvviso mal funzionamento del sistema.

46

ISTRUZIONI PER LUSO

5 La Realizzazione

Tuttavia questi voli si sono rilevati molto positivi e mi hanno permesso di eseguire gli ultimi aggiustamenti dei coefficienti in quasi totale sicurezza. Alcuni video dei primi voli sul campo sono visibili nei file allegati.

Ecco alcune foto del risultato finale:

47

ISTRUZIONI PER LUSO

5 La Realizzazione

Lelettronica di bordo completa.

Infine il radiocomando. Ho recuperato un vecchio radiocomando a 4 canali FM, nel quale ho sostituito la vecchia scheda con una da me assemblata per permettere la comunicazione tra i moduli xBee.

48

ISTRUZIONI PER LUSO 6 Possibili modifiche


6.1 Lautonomia attraverso i sensori

6 Possibili Modifiche

Dopo quasi un anno di progettazione e realizzazione, finalmente questo drone in grado di volare, il lavoro sembrerebbe concluso, ma in realt ci sono molte modifiche e aggiunte che potrebbero migliorarlo ulteriormente. Prima di tutto lintera struttura da rivedere per renderla pi leggera, poi le eliche utilizzate non sono le pi adatte perch sono progettate per motori a combustione e non elettrici, perci fungono da volano per il loro peso eccessivo, mentre nel nostro caso, dovrebbero essere pi leggere possibili per permettere rapidi cambi di velocit da parte dei motori, fondamentali per rendere istantanea la risposta calcolata dallelettronica. Inoltre potremo rendere il robot un automa, ma come? Per adesso il drone esegue alla lettera ogni comando impartito dal telecomando in modo passivo, se la nostra volont quella di farlo schiantare, lui ci andr. Se invece lasciamo i comandi rimarr in aria per qualche secondo prima di dover recuperare tutti i pezzi in giro per il campo. Per evitare tutto questo si possono aggiungere numerosi altri sensori, come un sensore di pressione atmosferica, per conoscere in ogni istante la quota a cui si trova; o dei sensori ad ultrasuoni, per conoscere la distanza con altri oggetti nello spazio tridimensionale potenzialmente pericolosi e per sapere la distanza precisa dal terreno; anche un ricevitore GPS sarebbe utile per sapere la propria posizione e la direzione in cui si sta muovendo. Questi sono solo i principali sensori che potrebbero permettere al drone di muoversi in modo autonomo senza luso del telecomando. Ovviamente non basta soltanto aggiungere questi sensori sulla struttura, ma devono essere opportunamente gestiti da un software molto pi complesso che dopo aver ricevuto in ingresso tutti questi dati, dovr calcolare il comando da impartire come se si trovasse al posto del pilota, come una sorta di pilota automatico. A questo punto saremo in grado di abbandonare il telecomando e di dirgli semplicemente in quale punto dello spazio tridimensionale vogliamo che vada mentre laccoppiata sensori-software penser a guidare il drone. Altra funzionalit interessante sarebbe quella di preparare un percorso preciso attraverso una mappa, e il robot lo seguir decollando e atterrando automaticamente. Il tutto, oltre a semplificare notevolmente il pilotaggio permettendo a chiunque di usarlo, potrebbe sembrare inutile a livello pratico, ma in realt pu avere delle grandi potenzialit come sar descritto tra poco.

49

ISTRUZIONI PER LUSO


6.2 Aggiunta di payloads

6 Possibili Modifiche

Dimensionando motori, batterie e pesi in modo opportuno si possono aggiungere dei payloads o carichi utili. Questo non vuol soltanto dire che il drone potrebbe essere in grado di portare un oggetto da una parte a unaltra, ma che potrebbe essere equipaggiato con della strumentazione per dargli uno scopo. Un veloce esempio posizionare una telecamera sotto la struttura, magari con un sistema che permette di ruotarla a piacimento con un comando a distanza, e con uno stream di immagini in tempo reale, cos da poterlo pilotare come se ci fossimo sopra (come avviene per i droni a uso militare). In questo modo potremmo effettuare dei percorsi di ricognizione programmati o no, o andare alla ricerca di qualcosa con il vantaggio di avere a disposizione una visuale dallalto, o ancora, andare dove una persona non pu. Tutto questo ha notevoli applicazioni, basta usare limmaginazione Recentemente, questi tipi di droni sono stati usati per effettuare riprese nelle zone ad alta radioattivit a Fukushima, dopo il terremoto in Giappone, o per tenere sotto controllo la situazione delle folle dallalto senza essere visti, durate le manifestazioni degli indignados a New York. In Italia sono stati usati un mese fa nelle zone colpite dal terremoto in Emilia per fare un rapporto dei danni o per valutare linterno di chiese e edifici danneggiati, prima di entrare con le squadre di soccorso. Altre possibili funzioni con lausilio della telecamera la ricerca di dispersi, o con telecamere agli infrarossi il controllo dello sviluppo degli incendi. Insomma, con una telecamera come accessorio, sia in live che solo in registrazione, possiamo fare qualsiasi cosa che preveda riprese aeree o in luoghi pericolosi. Se invece il nostro carico utile non fosse soltanto una telecamera, ma ci aggiungessimo anche strumenti per lanalisi dellaria o della radioattivit ecco che diventerebbe utilissimo per valutare la respirabilit dellaria o la pericolosit di un luogo in maniera completamente sicura, dal momento che il pilota potrebbe trovarsi a chilometri di distanza.

Uno dei droni usati per il terremoto in Emilia

50

ISTRUZIONI PER LUSO

7 Conclusioni e Ringraziamenti

7 Conclusioni e ringraziamenti
Abbiamo affrontato passo dopo passo tutte le fasi di progettazione e di realizzazione in modo molto semplificato, di questo drone a quattro rotori. Spero di aver reso lidea dellenorme complessit e difficolt che si celano dietro alla costruzione non solo questo elicottero, ma di qualsiasi oggetto meccanico o elettronico, delle variabili da tenere in considerazione, e del notevole aiuto che possono assicurare la matematica e la fisica per questi sistemi embedded. Probabilmente il quadricottero che ho realizzato avr solo un uso hobbistico, come tanti altri, ma nulla mi vieta di prendere nuovamente carta e penna e di progettarne unaltro che possa svolgere qualche funzione utile in maniera autonoma. Dopo tutto, questa esperienza non aveva come fine ultimo il drone in s, ma ha avuto il solo scopo di mettermi alla prova, cos da rendermi conto delle capacit a cui potr affidarmi in un futuro non troppo lontano.

A questo punto ringrazio prima di tutto la JossInnovative, che ha voluto dare sfogo alle mie idee finanziandomi economicamente il progetto; i miei genitori, che hanno dovuto sopportare ore e ore di vento e rumore durante le prove, e il disordine che lasciavo in giro per casa e nel mio laboratorio improvvisato; i professori, che mi hanno seguito quando le mie domande si distaccavano dal programma scolastico, e soprattutto durante la fase di correzione; in particolare ringrazio la professoressa Mariella Quaglia, che nonostante la nuova arrivata in famiglia e la lontananza da Torino riuscita a seguirmi via mail per controllare e discutere la tesina a livello contenutistico; la professoressa Donatella Lora Ronco, che ha controllato e corretto la tesina dal punto di vista formale; infine ringrazio la commissione, che oltre a dover giudicare le mie capacit per un dovere di stato, ha dovuto leggere questo testo, nella speranza di non averli annoiati troppo.

51

ISTRUZIONI PER LUSO

7 Conclusioni e Ringraziamenti

52

You might also like