tesina_quadricottero

Download Tesina_Quadricottero

If you can't read please download the document

Upload: gunnery-hartman

Post on 31-Dec-2015

98 views

Category:

Documents


0 download

DESCRIPTION

fhtdgfd

TRANSCRIPT

  • Controllo di unQuadcopter

    Ch.mo Prof. Francesco Amato

    Facolt di Ingegneria

    Corso di Laurea Magistrale in Ingegneria dellAutomazione

    Univesit Federico II, Napoli

    Giugno 2012

    Giovanni Pugliese Carratelli Michele Del Duca

    M58=30 M58=18

  • Heavier than air ying machines are impossibleLord Kelvin

  • Sommario

    In questa tesina ci si propone di realizzare e stabilizzare lassetto, di un particolare veivolo dettoQuadrirotore o in ingleseQuadCopter. Il Quadrirotore un veivolo con una struttura portantesu cui sono installati quattro motori elettrici con relative eliche che ne permettono il volo. Ilquadrirotore comandato da terra, e vista la sua intrinsecainstabilit dispone di un sistema dicontrollo in grado di mantenerlo con un assetto livellato. In questa tesina verranno illustratele varie fasi che si sono susseguite nello sviluppo di questoprogetto, partendo da una primafase, in cui si costruito un modello matematico a sei gradi di libert, una seconda fase cheillustrer delle simulazioni con alcune logiche di controllo ed inne una terza fase che mette inluce i vari aspetti e dettagli riguardanti la realizzazionesica.

    1

  • Indice

    Sommario 1

    1 Quadrirotori 51.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 61.2 Aspetti generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 61.3 Caratteristiche di volo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2 Modello matematico di un quadrirotore 92.1 Dinamiche del sistema quadrirotore . . . . . . . . . . . . . . . . .. . . . . . . . 9

    2.1.1 Modello non lineare . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 122.1.2 Modello linearizzato . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 132.1.3 Implementazione in Matlab . . . . . . . . . . . . . . . . . . . . . . .. . 16

    2.2 Modello matematico degli attuatori . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.1 Identicazione funzione di trasferimento attuatori . . . . . . . . . . . . . 192.2.2 Identicazione lower level . . . . . . . . . . . . . . . . . . . . . .. . . . 272.2.3 Modello Simunlink per gli attuatori . . . . . . . . . . . . . . . . . . . . . 29

    2.3 Calcolo dei momenti di inerzia . . . . . . . . . . . . . . . . . . . . . .. . . . . . 29

    3 Strategie di controllo 313.1 Controllori PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2 Pole placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 343.3 LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4 Filtro di Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.5 Applicazione delle strategie di controllo . . . . . . . . . . .. . . . . . . . . . . . 39

    3.5.1 Applicazione del PID . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 393.5.2 Applicazione del Pole Placement . . . . . . . . . . . . . . . . . .. . . . . 40

    3.6 Applicazione delle strategie di controllo . . . . . . . . . . .. . . . . . . . . . . . 413.6.1 Strategia di controllo LQR con piena retroazione delle stato FULL STA-

    TE FEEDBACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.6.2 Strategia di controllo FSI con controllo LQ a TD . . . . . .. . . . . . . 46

    4 Simulazioni 474.1 Open loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2 Simulazioni PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    3

  • 4.3 Pole Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 494.4 Simulazioni LQ a TC FULL STATE INFROMATION . . . . . . . . . . . . . . . 524.5 Simulazioni LQ a TD FULL STATE INFROMATION . . . . . . . . . . . . . . . 544.6 Simulazioni LQ con Filtro di Kalman . . . . . . . . . . . . . . . . . . . . . . . . 56

    5 Componenti e costruzione di un prototipo di UAV 655.1 Descrizione delle componenti . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 65

    5.1.1 Telaio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.1.2 Motori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.1.3 Eliche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.1.4 Electric speed controllers . . . . . . . . . . . . . . . . . . . . . .. . . . . 715.1.5 Sistema Radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.1.6 Microcontrollore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 745.1.7 Programmatore FTDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.1.8 Sensori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.1.9 Giroscopio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.1.10 Accelerometro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 775.1.11 Sistema di alimentazione e di distribuzione dei segnali di controllo . . . . 795.1.12 Batterie e carica batterie . . . . . . . . . . . . . . . . . . . . . .. . . . . 79

    5.2 Costruzione del prototipo di Quadrirotore . . . . . . . . . . .. . . . . . . . . . 805.2.1 Sviluppo e costruzione del sistema per la distribuzione dei segnali alimen-

    tazione e di controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.2.2 Assemblaggio del frame . . . . . . . . . . . . . . . . . . . . . . . . . .. . 84

    5.3 Software di controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 90

    Bibliograa 93

    Lista delle gure 93

    Lista delle tabelle 98

  • Capitolo 1

    Quadrirotori

    Trovo, se questo strumento a vite sar ben fatto, cio fatto di tela lina, stopata i suoi pori con amido, e svoltata conprestezza, che detta vite si fa la femmina nel laria e monter in alto

    Leonardo Da Vinci, Manoscritto B, foglio 83 v. , 1483 1486

    Figura 1.1: Progetto di elicottero di Leonardo

    La prima idea di macchina che potessevolare da attribuire al genio di Leonardo Da Vinci, ilquale aveva intuito lutilit di un congegno come lavite aereaper generare laportanzanecessariaper mantenersi in volo. Dopo mezzo millennio di progresso, la tecnologia ha dato vita a velivolidalle notevoli capacit, in grado di gestire autonomamenteil volo (Unmanned Aerial Vehicle -UAV) e il cui campo applicativo in continua espansione.

    In questo primo capitolo vengono trattati gli aspetti principali che caratterizzano un qua-dricottero; si evidenziano le principali dierenze rispetto a un elicottero convenzionale, perevidenziarne tutti i vantaggi che fanno di questa piattaforma uno degli strumenti pi versa-tili e promettenti, ideale per diversi scenari applicativi. Inoltre, si descrivono le principalicaratteristiche meccaniche di volo, utili per la comprensione del controllo del quadricottero.

    5

  • Quadrirotori

    1.1 Introduzione

    Un quadricottero (dal grecoptron: ala, quattro ali) un aerogiro sollevato e spinto da quattrorotori. Tale aeromobile multirotore cos denito pu essere anche classicato impropriamentecomeelicottero, pur essendo da questultimo diverso per motivi tecnici, derivanti da evidentidierenze strutturali.

    Le possibili applicazioni di un quadrirotore sono molteplici: dallutilizzo di un quadrotorsenza pilota per lesplorazione di un territorio ostico, alla necessit di prestare un pronto inter-vento in uno scenario urbano dopo una catastrofe, che renderebbe il luogo inacessibile via terrae impraticabile per via aerea da qualunque altro mezzo di soccorso che non abbia le stesse carat-teristiche di agilit e destrezza del quadrirotore. Lattualit dellargomento trattato in questatesina testimoniata anche dalla recente commercializzazione del quadricottero-giocattoloPar-rot AR Drone comandato mediante tecnologia wireless Wi-Fi da smartphone, questo dotatodi telecamera anteriore grandangolare usata per lo streaming delle immagini sul dispositivo dicomando.

    Per queste ragioni, in questo progetto si scelto di studiare il funzionamento di un qua-dricottero, partendo dal suo modello matematico, per arrivare alla sintesi di diversi algoritmidi controllo, mirati a controllare il velivolo in volo, testati prima attraverso lo strumento disimulazione messo a disposizione dal Matlab/Simulink, poiapplicati direttamente al modellodi quadrirotore costruito interamente dagli autori di taleprogetto.

    1.2 Aspetti generali

    Per meglio comprendere il funzionamento di un quadrirotore, opportuno approfondire le prin-cipali caratteristiche tecniche di un elicottero da cui il quadrirotore in questione si dierenzia.Il problema pi importante da risolvere per la stabilizzazione di un elicottero in fase di avan-zamento che le pale con componente tangenziale della velocit diretta nello stesso verso diavanzamento dellelicottero si muovono pi velocemente delle altre, generando cos una portan-za maggiore, tendendo quindi a ribaltare lelicottero. Questo problema ha trovato soluzionecon una grande innovazione nel rotore, inventata dallingegnere francese tienne Oehmichen,che permette di variare linclinazione (angolo di attacco) delle pale ad ogni giro, in mododa equilibrare la portanza delle pale che hanno velocit assoluta pi elevata con quella dellepale pi lente. Questa inclinazione regolabile secondo lenecessit dimpiego attraverso uncontrollo detto collettivo, con comando a cloche. A dierenza di quanto appena detto, per unquadrottero utilizza pale a passo sso, il cui angolo di attacco non varia durante la rotazione.

    Inoltre, ulteriore semplicazione tecnica e strutturale avantaggio del quadrirotore lassenzadel rotore di coda, invece presente nellelicottero, le cuipale girano sul piano verticale per bilan-ciare la rotazione orizzontale di quelle del rotore principale. Il rotore di coda unanticoppiache si oppone alla coppia del rotore principale che determinerebbe una rotazione della fusolierain senso opposto alla rotazione del rotore (legge di conservazione del momento angolare).

    Un ulteriore vantaggio di un quadrirotore rispetto ad un elicottero il minore diametrodei singoli rotori rispetto a quello necessario per un elicottero convenzionale, che consente di

    6

  • 1.3. Caratteristiche di volo

    imagazzinare minore energia cinetica: questo rende pi sicuro un quadrirotore sia in caso diincidente, che nellutilizzo in ambienti indoor. Altri vantaggi, non di secondaria importanza,sono la simmetria del design che consente una centralizzazione dei sistemi di controllo e delpayload: questa caratteristica agevola anche il sistema dicontrollo perch, anche con carichidiversi, abbastanza semplice mantenere il baricentro nella stessa posizione; inoltre, ogni ro-tore contribuisce al raggiungimento della portanza richiesta, fornendo una quantit di spintamaggiore rispetto ad un elicottero convenzionale consentendo di portare payload e piattaformecomputazionali pi pesanti.

    Inne, c da precisare che il quadricottero un velivolo che rientra in una pi ampia famigliadei multirotori, ovvero aeromobili caratterizzati da pi sistemi rotore-pala, che comprende alsuo interno il tricottero, lesacottero e loctocottero (questultimo particolarmente adatto apayload elevati). Dietro tutti questi vantaggi, c lunico handicap di avere una bassa velocitdi crociera.

    Esistono due generazioni di modelli di quadrotor. La prima generazione fu pregettata pertrasportare passeggeri. Tuttavia, la generazione pi recente ad aver riscosso il successo,essendo stata progettata per volare senza pilota a bordo (Unmanned Aerial Vehicle - UAV).Questi velivoli utilizzano un sistema di controllo e dei sensori elettronici per stabilizzarsi ed su questa tipologia che si porr lattenzione in questa tesi.

    Lelicottero una macchina volante e straordinaria. ...I volatili, ad esempio, hanno suggerito al luomo laeroplan o.lelica da cui nato lelicottero pu ritenersi, come la ruo ta, una pura creazione del lingegno umano. una macchinastraordinaria per le sue prestazioni di volo: capace infat ti non soltanto di atterrare e decol lare verticalmente, e ditraslare con moto rettilineo, ma di librarsi, di gal leggiar e sur place in alta quota come a pochi palmi dal suolo; capace di ruotare in aria, su se stesso, di oscil lare con moto pendolare, di volare di lato e al lindietro. Nemmeno glieroi e i semi-dei del la mitologia erano in grado di compiere t ante prodezze

    Igino Mencarelli, I padri del lala rotante, Aeronautica Militare Ucio Stori co, 1969

    1.3 Caratteristiche di volo

    Da tutto ci che stato detto nora, si comprende che lutilizzo di un aeromobile a quattrorotori rappresenta unottima soluzione per garantire facilit nel controllo e una forte stabilit,grazie alla disposizione a croce dei due assi sui quali sono disposti i quattro rotori.

    Il quadriritore un sistema sottoattuato poich ha sei gradi di libert: beccheggio(oscillazionedel velicolo attorno ad un asse trasversale),imbardata (oscillazione del velicolo attorno allasseverticale passante per il baricentro),rol lio (oscillazione del velicolo attorno al proprio asselongitudinale), x (movimento nella direzione frontale del veicolo),y (movimento verso il latosinistro del veicolo) ez (altitudine), ma controllato utilizzando solo quattro attuatori.

    Rotori opposti ruotano nello stesso verso. In particolare,quando tutti i rotori ruotano conla stessa velocit angolare, con i rotori 1 e 3 rotanti in senso orario ed i rotori 2 e 4 (vediFigura 1.2), laccelerazione angolare attorno allasse diimbardata nulla, il che implica cheil rotore di coda presente negli elicotteri convenzionali non necessario. Limbardata vieneprovocata da una discrepanza nel bilanciamento del momentotorcente aerodinamico, ovverocontrobilanciando opportunamente i comandi di spinta tra le coppie di eliche che ruotano insenso opposto.

    7

  • Quadrirotori

    Figura 1.2: Schema di un quadricottero: I rotori uno e tre ruotano in senso orario, mentre i rotori due e quattro nella direzioneopposta, provocando coppie con verso opposto per il control lo.

    Accelerazioni angolari attorno agli assi di rollio e di beccheggio possono essere eettuateseparatamente senza incidere sullasse di imbardata. Ognicoppia di eliche disposta, che ruotaquindi nello stesso verso, controlla la rotazione del velivolo lungo un asse, di rollio o di bec-cheggio. Aumentare la spinta di un rotore riducendo quella dellaltro permette di mantenereil bilancio di coppia necessario per la stabilit dellimbardata e al tempo stesso produce unacoppia netta attorno allasse di rollio o di beccheggio. Perquesto motivo si utilizzano rotori conpale a passo sso per dirigere il velivolo lungo tutte le direzioni, a dierenza di quanto avvieneper un elicottero convenzionale, in cui necessario disporre pale il cui angolo di attacco variadurante a rotazione, come gi discusso nel precedente paragrafo.

    Unaccelerazione di traslazione pu essere raggiunta mantenendo un angolo di beccheggio orollio diverso da zero.

    (a) Throttle . (b) Rol l .

    (c) Pitch . (d) Yaw .

    Figura 1.3: Convenzione movimenti modello a 4 rotori.

    8

  • Capitolo 2

    Modello matematico di un quadrirotore

    Il primo passo prima di scegliere ed implementare le strategie di controllo, e dunque passarealla simulazione, quello di modellare adeguatamente le dinamiche del sistema. In questafase vengono illustrate le tecniche e le equazioni usate permodellare un quadrirotore nel suocomplesso e dunque e vengono ssate le basi matematiche per la descrizione di un quardirotorein un ambiente di simulazione.

    2.1 Dinamiche del sistema quadrirotore

    Prima di poter descrivere le equazioni che governano un velivolo, come il quardirotore, ne-cessario introdurre le coordinate di riferimento in cui ci propone di descrivere lassetto e laposizione. Nel caso del quadrirotore possibile utilizzare due sistemi di riferimento, uno sso,ed uno mobile solidale al telaio1 le cui dinamiche possono essere espresse rispetto alla ternassa. La terna ssa, detta anche inerziale o terna mondo, una terna dove si pu considerarevalida la prima legge di Newton2. Nel sviluppo di questo modello stato scelto di usare comterna ssa un terna chiamata in letteraturaNED (North-East-Down), ONED che come si evincedallimmagine che segue ha i versori gli assi rivolti verso Nord Est e verso il centro della terra.

    Figura 2.1: Il sistema di riferimento NED

    1chiamato anche con terminologia inglese frame2Un oggetto risluter fermo a meno che non sottoposto ad una fo rza; un oggetto non varia la propria velocit ( accelerazion e )

    se non sottoposto allazione di una forza

    9

  • Modello matematico di un quadrirotore

    La terna mobile a cui si fatto riferimento prima invece solidale con il baricentro delquadcopter, ed in letteratura nota come ternaOABC doveABC sta perAircraft Body Center.Limmagine che segue mette in luce le due terne ed i rispettivi versori che le formano.

    Figura 2.2: I sistemi di riferimento ABC e NED

    Nella teoria del controllo le dinamiche del sistema modellato sono espresse tipicamente at-traverso lo stato del sistema che nel caso del quadrirotore corrispondono a 12equazioni che nedescrivono lassetto e la posizione a sei gradi di libert. Le variabili di interesse sono quindi6 per il sistema NED ed altre 6 per il sistema ABC. In particolare deniamo comeVB e ! Bil vettore di velocit lineari e angolari del veivolo nella terna OABC con le seguenti variabili distato:

    VB = [ u v w]T ! B = [ p q r]T (2.1)

    Per il sistemaNED invece consideriamo le posizioni lineari:

    NED = [ x y z]T (2.2)

    e gli angoli di roll pitch e yaw NED = [ ; ; ]T (2.3)

    Per procedere alla stesura delle equazioni in forma di statoa riguardo della terna NED necessario luso di una matrice di trasformazione che permette di descrivere, componente percomponente lorientamento del frame mobile rispetto al sso. La matrice di trasformazionecomplessiva sar composta dal prodotto di 3 matrici di rotazione rispetto agli assi di rotazione; ; ovvero le matrici che seguono:

    RT =

    2

    664

    1 0 00 cos sin0 sin cos

    3

    775 ; R

    T =

    2

    664

    cos 0 sin0 1 0

    sin 0 cos

    3

    775 ; R

    T =

    2

    664

    cos sin 0 sin cos 0

    0 0 1

    3

    775 (2.4)

    La matrice risultante dal prodotto delle tre matrici appenadenite la matrice R3 seguente:

    R =

    2

    664

    coscos cossin sinsinsincos cossin coscos + sinsinsin sincoscossincos + sinsin sincossin sincos coscos

    3

    775 (2.5)

    3Anche nota come Direct Cosine Matrix

    10

  • 2.1. Dinamiche del sistema quadrirotore

    pertanto per i termini lineari si ha:_ NED = R VB (2.6)

    e allo stesso modo in termini angolari si ha un atra matriceT per le trasformazioni angolari:

    _ NED = T ! B (2.7)

    si osservi che la matrice T4 per la trasformazioni angolari la seguente:

    T =

    2

    664

    1 sintang ( ) sin0 cos sin0 sinsin

    coscos

    3

    775 (2.8)

    Denite le trasformazioni che permettono di esprimere lassetto del frame nella terna iner-ziale, possibile applicare la seconda legge di Newton5 facendo due ipotesi:

    Lorigine della terna ABC corrisponde al CDM del quadricottero

    Gli assi della ternaABC corrispondono con assi principali di inerzia

    Queste ipotesi permettono di scrivere un tensore di inerziadiagonale e di annullare i prodotticentrifughi e ottenere quindi un tensore diagonale. Se applichiamo quindi le leggi cardinali delladinamica si ha:

    m NED =nX

    i =0

    Fi = FNED (2.9)

    e in termini angolari:

    I NED =nX

    i =0

    i = Ned (2.10)

    a questo punto ricordandosi della trasformazione introdotta nella equazione 2.6 si pu scrivere:

    m _dRVB = RFB (2.11)

    e quindi:m(R _VB + _RVB ) = RFB (2.12)

    ricordandosi quindi che la velocit di un terna si pu esprimere come velocit (lineare)dellaterna stessa pi la sua rotazione si ha:

    mR( _VB + ! B VB ) = RFB (2.13)

    m( _VB + ! B VB ) = FB (2.14)

    osserviamo cheFB sono le forzi agenti sul body frame del nostro quadrirotore e! B sono levelocit angolari nel sistema di riferimento del body.Passando adesso a guardare cosa accade in termini angolari possiamo scrivere similmente aprima:

    I _dT ! B = T B (2.15)4si osservi che in realt T = E 1 in quanto la matrice E pi semplice da scrivere e lega i le vel ocit ! B con la terna NED5si trascureranno alcuni termini come il termine di Coriolis e quello aerodinamico

    11

  • Modello matematico di un quadrirotore

    IT _! B + T ! B (I!B ) = T B (2.16)

    I _! B + ! B (I!B ) = B (2.17)

    dove B il risultante delle coppie nel riferimentoABCOra se sviluppiamo i prodotti vettoriali che abbiamo mostrato possiamo arrivare al seguenteformalismo: 2

    664

    FxFyFz

    3

    775 = m

    2

    664

    _u + qw rv_v + ru pw_w + pv qu

    3

    775 = FB (2.18)

    in termini angolari si ha:2

    664

    M xM yM z

    3

    775 = m

    2

    664

    _pIx + qr(I z I y)_qIy + pr(I x I z)_rI z + pq(I y I z)

    3

    775 = B (2.19)

    Osserviamo che quanto nora mostrato vale per un qualsiasi corpo rigido soggetto a delle forzeed a delle coppie.

    2.1.1 Modello non lineare

    Ora specichiamo meglio cosa accade nel caso del quadrirotore andando a vedere quali sono leforze e le coppie agenti sul frame. Osserviamo cheFB pu scomporsi in due pezzi il primo chedato dalla forza gravitazionale che chiamiamoF gB ed il secondo chiamato con terminologiaaeronauticaspintache chiamiamoF TB

    FB = FgB + F

    TB (2.20)

    il termine F TB gi espresso in termini del frameABC mentre il campo gravitazionale terrestredeve essere riportato tramite la DCM. Si ha quindi infatti semplicando lespressione dellaspinta a: T = b( 21 +

    22 +

    23 +

    24)

    R

    2

    664

    00

    mg

    3

    775

    2

    664

    00T

    3

    775 = m

    2

    664

    _u + qw rv_v + ru pw_w + pv qu

    3

    775 (2.21)

    riorganizzando e sviluppando si ottiene:

    _u = rv qw gsin (2.22)

    _v = pw ru gcossin (2.23)

    _w = qu pv + gcoscos Tm

    (2.24)

    In termini angolari sappiamo che per imprimere una coppia suciente avere un dierentevelocit tra due motori sullo stesso asse. Questo avviene grazie alla inerzia dei motori ed inparticolare le coppie sono calcolabili come:

    M x = lb( 22 24) (2.25)

    M y = lb( 21 23) (2.26)

    12

  • 2.1. Dinamiche del sistema quadrirotore

    M z = d( 21 22 +

    23

    24) (2.27)

    In seguito vedremo come queste dierenze di velocit permetteranno di scrivere le equazioni dicontrollo in modo particolarmente agevole.In termini angolari allora le equazioni che governano il moto sono le seguenti:

    _p =lbI x

    ( 22 24) qr

    Iz IyIx

    (2.28)

    _q =lbI x

    ( 21 23) pr

    Ix IzIy

    (2.29)

    _r =dI z

    ( 21 22 +

    23

    24) (2.30)

    In questa trattazione non stata modellato leetto giroscopico, certamente presente, ma vistele ridotte velocit in gioco lo abbiamo ritenuto trascurabile.Ora ricordandosi delle trasformazioni introdotte allinizio del paragrafo si pu descrivere ladinamica non lineare del quadrirotore come segue:

    _ NED = R 1VB (2.31)

    _u = rv qw gsin (2.32)

    _v = pw ru gcossin (2.33)

    _w = qu pv + gcoscos Tm

    (2.34)

    _ = p + sin( ) + tanr (2.35)

    _ = cosq sinr (2.36)

    _ =sincos

    q+coscos

    (2.37)

    _p =lbI x

    ( 22 24) qr

    Iz IyIx

    (2.38)

    _q =lbI x

    ( 21 23) pr

    Ix IzIy

    (2.39)

    _r =dI z

    ( 21 22 +

    23

    24) (2.40)

    2.1.2 Modello linearizzato

    Il modello non lineare precedentemente introdotto non utile ai ni della stesura di una logicadi controllo lineare, e visti quindi anche visti i presupposti del corso stato linearizzato attornoad un punto di equilibrio. Sebbene calcolare punti di equilibrio con lausilio di strumenti dicalcolo come Matlab risulti particolarmente semplice abbiamo comunque preferito procedereoperando prima a calcolando i punti a mano e successivamentecalcolando i punti numerica-mente.I punti di equilibrio sono triviali per il quadrirotore, int uitivamente infatti una possibile posi-zione di equilibrio quello di unassetto livel latoma ovviamente con una altitudine diversa da0. Meno triviale il calcolo dellingresso di equilibrio, tale ingresso di equilibrio porta il sistema

    13

  • Modello matematico di un quadrirotore

    nella posizione dihooveringvoluta; il calcolo di tale posizione sar eettuato numericamentesulla base di alcune considerazioni sulla spinta prodotta dallaccoppiamento elica motore.Pertanto nella seguente tabella sono mostrati i valori dell equilibrio per lo stato [chiamato daadesso in poiX 0]: Per quanto riguarda lingresso di equilibrio questo espresso in termini di

    x0 = 0 y0 = 0 z0 = 0

    u0 = 0 v0 = 0 w0 = 0

    0 = 0 0 = 0 0 = 0

    p0 = 0 q0 = 0 q0 = 0

    Tabella 2.1: Tabella punti di equilibrio dello stato X 0

    velocit angolari ed mostrato nella seguente tabella[indicato da adesso in poi come 0]:

    1;0 2;0 3;0 4;0323 323 323 323

    Tabella 2.2: Tabella punti di equilibrio dello stato X 0

    Ed allora calcolando la derivata della funzione dello statoe valutando questa nello stato diequilibrio X 0, calcolando poi la derivata della funzione di ingresso e valutando questa in 0 siottiene il seguente modello linearizzato nell intorno dell equilibrio.6

    _x = u (2.41)

    _y = v (2.42)

    _z = w (2.43)

    _ = p (2.44)

    _ = q (2.45)

    _u = g (2.46)

    _v = g (2.47)

    _w = 2 0bm

    ( 1 + 3 2 4) (2.48)

    _p = 2lbI x

    0( 2 4) (2.49)

    _q = 2lbI y

    0( 1 3) (2.50)

    _r = 2kI z

    0( 21 + 22 +

    23 +

    24) (2.51)

    6per semplicit di notazione si omette il per indicare che n ellintorno dello stato e dellingresso di equilibrio

    14

  • 2.1. Dinamiche del sistema quadrirotore

    Scrivendo il modello in termini di matrici A,B si arriva riorganizzando il vettore di stato come[u; v; w; x; y; z; ; ; ; p; q; r ] si ottengono le seguenti matrici:7

    A =

    2

    6666666666666666666666666664

    0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 g 0 0 0 00 0 0 0 0 0 g 0 0 0 0 01 0 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0

    3

    7777777777777777777777777775

    (2.52)

    B =

    2

    66666666666666666666666666664

    0 0 0 00 0 0 0

    2 h bm 2 0bm 2 0

    bm 2 0

    bm

    0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 2 lbI x 0 0 2

    lbI x

    02 lbI y 0 0 2

    lbI y

    02 kI z 0 2

    lbI x

    0 2 lbI x 0 2lbI x

    0

    3

    77777777777777777777777777775

    (2.53)

    Prima di mostrare come stati costruiti i modelli lineari e non per la simulazione importantechiarire come la logica di controllo sia stata applicata in maniera un po diversa dal modelloche verr presentato. Infatti per semplicare la costruzione dei controllori abbiamo pensatodi di fare agire lazione di controllonon direttamente sul la velocit di ogni singolo motoremabensi sulla dierenza di velocit che permette un variazione dello stato. successivamente statocostruito tramite linversione di un matrice un oggetto chiamatomixer che dati ingresso i segnalidi controllo in termini di dierenza di velocit calcolasse in uscita le velocit da assegnare adogni singolo motore. Per comprendere meglio quanto espostoeettuiamo prima di tutto uncambio di variabile e deniamo quindi:

    U1 = ( 1 2 3 4) (2.54)

    U2 = ( 2 4) (2.55)

    U3 = ( 1 3) (2.56)7si osservi che la matrice C un matrice identica e la matrice D un matrice di zeri.

    15

  • Modello matematico di un quadrirotore

    U4 = ( 1 + 2 3 4) (2.57)

    Eettuato il cambio di variabili possiamo quindi denire la seguente matrice:

    2

    666664

    U1U2U3U4

    3

    777775

    =

    2

    666664

    1 1 1 10 1 0 11 0 1 01 1 1 1

    3

    777775

    2

    666664

    1 2 3 4

    3

    777775

    (2.58)

    Ora volendo costruire un controllore con azione di controllo sul sistema in termini diU1; U2; U3; U4invertendo la matrice appena mostrata possibile risalirealla velocit dei motori. In particolaresi ha infatti: 2

    666664

    1 2 3 4

    3

    777775

    =

    2

    666664

    0:25 0 0:5 0:25 0:25 0:50 0 0:25 0:25 0 0:5 0:25 0:25 0:5 0 0:25

    3

    777775

    2

    666664

    U1U2U3U4

    3

    777775

    (2.59)

    2.1.3 Implementazione in Matlab

    I modelli visti sono stati implementati in ambiente Simulink. In particolare il modello non linea-re per ecienza di calcolo stato costruito usando alcuni blocchi predeniti di Simulink. Questomodello stato usato per testare la validit del controllore costruito sul modello linearizzatoillustrato precedentemente.

    16

  • 2.1.

    Din

    amic

    hede

    lsis

    tem

    aqu

    adrir

    otor

    e

    stato

    1

    Terminator2

    Terminator1

    Terminator

    Scope6

    Scope5

    Scope4

    Scope3

    Scope2

    Scope1

    Matrix Multiply

    MatrixMultiply

    Goto

    [DCM]

    Gain

    [0 0 g]

    From

    [DCM]

    Coppie

    w_1

    w_2

    w_3

    w_4

    T

    Mx

    My

    Mz

    Constant

    m

    Add

    6DoF (Euler Angles)

    Fxyz

    (N)

    Mxyz

    (N-m)

    Ve (m/s)

    Xe (m)

    f q y (rad)

    DCMbe

    Vb (m/s)

    w (rad/s)

    dw /dt

    Ab (m/s 2)

    BodyEuler Angles

    FixedMass

    vel_motori

    1 vel_ang_B

    Fig

    ura

    2.3:

    Mo

    dello

    non

    linea

    re

    17

  • Modello matematico di un quadrirotore

    Allinterno del blocco verde troviamo il modo in cui sono calcolate le forze e le coppie agentisu quadrirotore.

    Mz

    4

    My

    3

    Mx

    2

    T

    1

    MathFunction3

    u2

    MathFunction2

    u2

    MathFunction1

    u2

    MathFunction

    u2

    Gain7

    b

    Gain6

    b

    Gain5

    b

    Gain4

    b

    Gain3

    k

    Gain1

    l

    Gain

    l

    Add3

    Add2

    Add1

    Add

    w_4

    4

    w_3

    3

    w_2

    2

    w_1

    1

    Figura 2.4: Modello non lineare

    Alleghiamo per completezza anche il listato di cui si fattouso per una linearizzazionenumerica e per caricare i parametri per le simulazioni.

    Ix =0 .0081 ; %kg /m2Iy=Ix ;Iz =0 .0162 ;m=0.85;%kgl =0 .2 ; %(m) lungezza b racc io da CDMb=1.46 10^ 5; % c o e f f i c i e n t e d i sp in tak=0 .026 ;

    g =9 .81 ; % cos tan te d i g r a v i t

    %% Pa rame t r i mo to r itau_mot =0 .1 ; % cos tan te d i tempo de i mo to r i

    K_mot1=2 .032 ;K_mot2=1 .90932 ;K_mot3=2 .131 ;K_mot4=2 .1121 ;omega_0=323;%% L i nea r i zza z i o ne

    18

  • 2.2. Modello matematico degli attuatori

    x0=ze ros ( 1 2 , 1 ) ;x0 (6 )=0 .000001 ;u0=323 ones ( 4 , 1 ) ;[X,U,Y,DX]=TRIM( Modello_quad_6DOF , x0 , u0 , [ ] , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 1 1 , 1 2 ] , [[A,B,C,D]=LINMOD( Modello_quad_6DOF ,X,U) ;omega_h=U( 1 ) ;

    2.2 Modello matematico degli attuatori

    Al ne di avere un modello complessivo del quadrirotore, si pensato di anare la modellisticadel sistema aggiungendo alla dinamiche del volo dellUAV il modello matematico dei motori.Abbiamo suddiviso, per ragioni che verranno a breve spiegate la fase di di identicazione degliattuatori in due parti. Una prima dedita allidenticazion e della cosi dettalower level deimotori, ed un seconda mirata a trovare la funzione di trasferimento dei motori stessi.

    2.2.1 Identicazione funzione di trasferimento attuatori

    Senza dover scendere nella specica trattazione di un modello di un motore elettrico, tipicamentemodellato come un sistema del secondordine i cui due poli sono rispettivamente il polo delledinamica elettrica e di quella meccanica ( a tal proposito cisi pu riferire in materia a testicome [1]), abbiamo pensato di modellare le dinamiche del sistema prendendo in considerazionequella pi lenta, ovvero quella meccanica. Il trascurare ledinamiche elettriche permette quindidi costruire un modello che tenga conto solo delle dinamichedominanti ( quelle meccaniche )ed pertanto rappresentabile come una funzione di trasferimento del primordine del tipo:

    G(s) =K

    (s + 1)(2.60)

    Sebbene sia quindi possibile intuire la strutta matematica( un sistema LTI del primordine) generale degli attuatori, non abbiamo su questa informazioni di carattere numerico; risulta-no ignoti infatti i parametri K e . Conoscere tali parametri riveste un ruolo fondamentalenon solo nella scelta del controllore, ma anche nelle simulazioni che vengono eettuate dovedinamiche lente o eventuali ritardi possono devono essere portati in conto. Per di pi oltre adun determinazione di quelli che sono i parametriK e dei singoli motori, non ragionevolepensare che i4 motori di bordo siano perfettamente uguali e quindi abbianopertanto abbiamopensato di arontare una fase diidenticazione dei parametri dei 4 motori. Osserviamo chesebbene possa essere un scelta discutibile quella di scegliere prima gli attuatori e poi identicar-li, e dunque non procedendo a fare delle simulazioni per poi scegliere i motori successivamente,articoli e materiale a questo riguardo sono stati trovati innumero suciente per permette unasceltaprima di andare a simulare il sistema.Con riferimento ai motori scelti che verranno introdotti e descritti nel cap.5 abbiamo pensatodi operare una fase di identicazione basata sulla conoscenza del segnale di comando dato aimotori ( da noi generato e dunque noto ) e sulla misura della velocit della rotazione delle pale

    19

  • Modello matematico di un quadrirotore

    dellelica installate sullasse dei motori. Infatti la struttura matematica introdotta preceden-temente si riferisce una funzione di trasferimento dove peringresso considerato il segnale diattuazione ( che come verr mostrato pi avanti nel Cap. 5 unsegnale PWM a50Hz con dutycycle variabile ) e per uscita considerata la velocit angolare del motore espressa inrads 1.Noto pertanto il segnale di ingresso al motore e noto il segnale di uscita possibile costruirecon alcuni strumenti elementari di identicazione un stimaabbastanza veritiera dei parametridella funzione di trasferimento del processo.

    Figura 2.5: Idea alla base del processo di identicazione de lla funzione di trasferimento dei motori

    Al ne di avere un misura della velocit angolare del motore abbiamo pensato di costruireun tachimetro ( molto ) rudimentale. Il tachimetro stato costruito mediante luso di unmicrofono. Il moto delle pale delle eliche, infatti, per generareportanza e dunque spinta ( ci siriferisca al paragrafo precedente a questo proposito ) muovendosi genera sotto le pale stesse unfronte donda di pressione che muove la membrana del microfono e pertanto pu con appositostrumento essere registrato.Per gestire i segnali di controllo per il motore e eettuare le registrazioni abbiamo usato sialambiento di lavoro Matlab che la MCU Arduino. Infatti per la generazione dei segnali dicontrollo dei motori abbiamo scritto un software ( Arduino )che generasse un segnale PWM (50 Hz )con un assegnato duty cycle e per quanto riguarda la registrazione abbiamo usate alcunefunzioni dellambiente Matlab.Per quanto riguarda la costruzione del tachimetro abbiamo innanzitutto ssato ogni motore (uno per volta ) con elica installata su di un scatola che lo tenesse fermo in posizione; la scatolautilizzata una scatola in alluminio di cioccolatini. Comesi evince dalla foto di Fig. 2.6.

    20

  • 2.2. Modello matematico degli attuatori

    Figura 2.6: Motore ssato alla base in alluminio per la fase d i identicazione

    Dopo aver ssato il motore sulla base di appoggio, lo abbiamocollegato alla E.S.C e labbiamocollegata alla MCU Arduino, a sua volta collegata al PC anchein questo caso la foto di Fig.2.7 esplicativa.

    (a) (b)

    Figura 2.7: Schema identicazione motori

    Per registrare londa di pressione esercitata dalle pale abbiamo installato un microfono sottole pale, aggiungendo per una seconda scatola sotto la precedente perch non siamo riuscitia far passare il microfono sotto lelica senza cambiarne troppo la naturale posizione, come sievince dall gura 2.8

    21

  • Modello matematico di un quadrirotore

    Figura 2.8: Installazione microfono nel provvisorio labor atorio

    Lambiente di lavoro su cui siamo andati a lavorare stato pertanto quello di Fig. 2.9.

    Figura 2.9: Ambiente di lavoro per lidenticazione dei mot ori

    A mezzo di alcuni script abbiamo costruito una semplice funzione discreta avente per do-

    22

  • 2.2. Modello matematico degli attuatori

    minio linsieme discreto dei valori di duty cycle con passo pari a 100 s ed per condominio lavelocit espressa in radianti a secondo. Su questa abbiamo calcolato il valore del guadagnoK ;per la costante di tempo abbiamo provveduto a fare la media delle costanti di tempo evinteempiricamente dalle singole prove a velocit ssata. Al nedi poter eettuare le prove perlidenticazione abbiamo utilizzato i due ambienti di sviluppo software oerti rispettivamenteda Matlab e da Arduino. In particolare abbiamo scritto del codice in Matlab per eettuare laregistrazione della onda di pressione proveniente dallelica del motore, ed abbiamo anche scrittodel codice per Arduino per generare i segnali di controllo dadare ai motori a pi valori del DutyCycle.Il codice Matlab usato stato semplice da scrivere e consiste nel campionare ad un frequenza di44100Hz londa di pressione proveniente dal microfono. Al ne di eettuare queste misurazioniabbiamo fatto uso della funzioneaudiorecorder(), funzione questa che crea un oggetto nel work-space nel quale possibile memorizzare un segnale audio a voluta frequenza di campionamentocon il comandorecord(). Al termine della registrazione abbiamo archiviato in dei vettori leonde di pressione registrate.Il lato Arduino invece stato un po pi delicato da costruire e a tal proposito si allega il codice:

    1 #include

    2

    3 Servo motore;

    4

    5 void arma_motore(){

    6

    7 motore.writeMicroseconds(800); // genera segnale alto (5V) per 800 microsecondi ( circa il 4% del Duty Cycle )

    8 delay(4000); // aspetta 4000 millisecondi per armare correttamente il mo tore

    9

    10 }

    11

    12 void setup()

    13 {

    14 //Serial.begin(9600); // Denisci apertura seriale

    15 motore.attach(9); // denisci pin uscita segnale motore

    16 arma_motore(); // chiama questa funzione per armare le ESC.

    17 delay(2000); //margine

    18 }

    19

    20 void loop(){

    21

    22 motore.writeMicroseconds(1900); // manda al motore il segnale di controllo con durata alta par i a i us su PWM a 50Hz

    23 }

    Per una singola prova quindi abbiamo in primo luogo fatto iniziare la registrazione e suc-cessivamente abbiamo dato il comando di avvio motori a mezzodel tasto di reset sullArduino.Alcuni esempi di registrazione che abbiamo ottenuto sono i seguenti:

    23

  • Modello matematico di un quadrirotore

    0 1 2 3 4 5 6-0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    t[s]

    Pre

    ssio

    ne

    (a) Motore 1

    0 1 2 3 4 5 6-0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    t[s]

    Pre

    ssio

    ne

    (b) Motore 2

    0 1 2 3 4 5 6-0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    t[s]

    Pre

    ssio

    ne

    (c) Motore 3

    0 1 2 3 4 5 6 7-0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    t[s]

    Pre

    ssio

    ne

    (d) Motore 4

    Dalle registrazioni ingrandendo lungo lasse del tempo abbiamo misurato il periodo angolare( sebbene in alcune occasioni il segnale si sia presentato particolarmente rumoroso a causa diprobabile vortici formati vicini al microfono ). Il periodo angolare del motore 2Tp ed statotrovato dallanalisi del graco.

    24

  • 2.2. Modello matematico degli attuatori

    Figura 2.10: Zoom registrazione onda di pressione dalleli ca dei motori, con ingresso un segnale con duty cycle di durat a 1800 s eperiodo misurato in uscita pari 2 Tp = 0 :017

    Dopo avere calcolatoTp possibile calcolare la velocit angolare, associata ad unsegnale diingresso noto in quanto da noi generato, con la seguente formula:

    ! =Tp

    (2.61)

    A conferma di quanto abbiamo evinto dai graci nel tempo una analisi spettrale mostrauna componente principale esattamente ad una frequenza corrispondente a quella dellinversodel periodo 2Tp misurato, cio prossima a120Hz. Si osservi inoltre che le componenti fuoridalla frequenza a120Hz sono probabilmente dovute alle oscillazioni del rudimentale sistema dimisura costruito e dal rumore generato dai probabili vortici.

    25

  • Modello matematico di un quadrirotore

    0 500 1000 1500 20000

    0.005

    0.01

    0.015

    0.02

    0.025

    0.03

    0.035

    0.04

    0.045

    0.05 X: 120.1Y: 0.0511

    Hz

    Am

    piez

    za

    Figura 2.11: Spettro frequenziale delluscita del motore c on ingresso PWM a 50Hz e duty cycle pari a 1800 s

    Al termine delle varie prove abbiamo messo assieme i risultati ed abbiamo costruito per ognimotore un diagramma interpolato delle velocit registratein funzione del duty cycle espressoin s. Come si vede dai graci il legame non lineare ma comunquepossibile calcolare laKcercata prendendo ladierenza prima valutata nel primo valore di duty cycle.

    26

  • 2.2. Modello matematico degli attuatori

    1200 1300 1400 1500 1600 1700 1800 1900 20000

    100

    200

    300

    400

    500

    600

    700

    PWM[ms]

    Vel

    ocit

    ang

    olar

    e [r

    ad*s

    -1]

    Pwm vs. rad*s^-1Motore 1

    (a)

    1200 1300 1400 1500 1600 1700 1800 1900 20000

    100

    200

    300

    400

    500

    600

    700

    PWM [ms]

    Vel

    ocit

    ang

    olar

    e [r

    ad*s

    -1]

    Pwm vs. rad*s^-1Motore 2

    (b)

    1200 1300 1400 1500 1600 1700 1800 1900 20000

    100

    200

    300

    400

    500

    600

    700

    PWM[ms]

    Vel

    ocit

    ang

    olar

    e [r

    ad*s

    -1]

    Pwm vs. rad*s^-1Motore 3

    (c)

    1200 1300 1400 1500 1600 1700 1800 1900 20000

    100

    200

    300

    400

    500

    600

    700

    PWM[ms]

    Vel

    ocit

    ang

    olar

    e [r

    ad*s

    -1]

    Pwm vs. rad*s^-1Motore 4

    (d)

    Figura 2.12: Interpolazione dati legame ingresso uscita mo tore per i 4 motori

    I risultati ottenuti per i guadagni sono stati i seguenti:

    Guadagno Motore 1 Motore 2 Motore 3 Motore 4

    K 1;2;3;4 2.00237 1.90321 2.012184 1.89313

    Tabella 2.3: Tabella guadagni motori

    Per il calcolo delle costanti di tempo stata eettuata la media dei tempi di assestamen-to(diviso 4:6) per ogni singolo motore alle varie velocit. Vista la poca accuratezza dei dati stato allora scelta i ssare = 0 :1 a tutti e 4 i motori. Le quattro funzioni di trasferimento,con riferimento alla precedente tabella, sono le seguenti:

    G(s)1;2;3;4 =K 1;2;3;4

    (s + 1)(2.62)

    2.2.2 Identicazione lower level

    Oltre ad identicare i parametri della funzione di trasferimento dei motori abbiamo ancheavuto cura di identicare quella che lasoglia minima di attivazionedi ogni singolo motore,paramento che poi ci stato utile nella stesura del softwaredi controllo. E utile precisare che

    27

  • Modello matematico di un quadrirotore

    le E.S.C (per maggiore chiarezza ci si riferisca alla Fig.5.10) aspettano un segnale PWM confrequenza ssata a50 Hz e quindi periodo20ms, e considerano la soglia bassa un duty cyclepari a circa il 5% e un soglia alta un dudty cycle prossimo al10%. Al ne quindi di saperequale sia il valore esatto della soglia di attivazione abbiamo eettuato delle prove con duty cyclecrescente; tuttavia nel software scritto non abbiamo ragionato in termini percentuali di periodobensi in termini di tempo (espresso in microsecondi). Con banali passaggi si ottengono i valoricorrispondenti tra il duty cycle pari espresso in termini percentuali ed in termini temporali.Questa corrispondenza riportata nella seguente tabella:

    Duty Cycle Micro secondi

    5% 1000

    10% 2000

    Tabella 2.4: Legame Duty-Cycle percentuale/ s

    Sulla base di questa conoscenza e attesa una partenza dei motori con valori percentualiprossimi al5% abbiamo scritto un software in cui abbiamo fatto crescere linearmente il valoredel duty cycle con un passo di1 s a partire dal valore di1050 s. Contemporaneamente allinviodei segnali al motore stato inviato on line tramite connessione USB ( seriale ) il valore espressoin micro secondi che veniva inviato ai motori. La valutazione delleettiva messa in movimentodei motori stata semplicemente fatta visivamente ed il valore di attivazione riscontrato risultato essere1185 s, valore tutto sommato lontano dai valori del5%dichiarato dal produttorea conferma di quanto possa essere importante una fase di identicazione.Le prove sono state eettuate tramite MCU Aruino e non su piattaforma Ardunino Mini Prousata poi per il controllo del modello di quadcopter. Alleghiamo il software utilizzato dovendotutta via precisare che nella funzione setup stato necessario armare i motori e le E.S.C (permigliori chiarimenti riferirsi al Capitolo 5).

    Listing 2.1: Programma per identicazione soglia bassa mot ore

    1

    2 #include

    3

    4 Servo motore;

    5 int i;

    6

    7 void arma_motore(){

    8

    9 motore.writeMicroseconds(990); // genera segnale alto (5V) per 990 microsecondi ( circa il 4. 99% del Duty Cycle)

    10 delay(4000); // aspetta 4000 millisecondi per armare correttamente il mo tore

    11

    12 }

    13

    14 void setup()

    15 {

    16 Serial.begin(9600); // Denisci apertura seriale

    17 motore.attach(9); // denisci pin uscita segnale motore

    18 arma_motore(); // chiama questa funzione per armare le ESC.

    19 }

    20

    28

  • 2.3. Calcolo dei momenti di inerzia

    21 void loop(){

    22

    23 for (i=1150;i

  • Modello matematico di un quadrirotore

    prossimo am = 0 :85Kg . In pi le distanza dei motori rispetto ai tre assi su cui giace la ternasono le seguenti:lx = ly = 0 :028; lz = 0 :026; il braccio sotteso dai motori rispetto al centro dimassa pari adlCDM = 0 :28m. E possibile calcolare il momento di inerzia lungox risolvendoil seguente sistema:

    8>>>:

    I x1 = I x3 =112(l

    2y + l

    2z) = 6 :021810

    6Kgm2

    I x2 = I x4 =112(l

    2y + l

    2z) + mm lCDM = 0 :004Kgm

    2

    I 11 = 2 I x1 + 2 I x2 = 0 :0081Kgm2

    (2.63)

    Stesso dicesi per il calcolo lungo gli assiy:8>>>:

    I y1 = I y3 =112(l

    2x + l

    2z) + mm lCDM = 0 :004Kgm

    2

    I y2 = I y4 =112(l

    2x + l

    2z) = 6 :021810

    6Kgm2

    I 22 = 2 I y1 + 2 I y2 = 0 :0081Kgm2

    (2.64)

    e per lassez:8