• Non ci sono risultati.

Modellazione e sviluppo di reti neurali per la stima dei consumi energetici in veicoli autonomi

N/A
N/A
Protected

Academic year: 2021

Condividi "Modellazione e sviluppo di reti neurali per la stima dei consumi energetici in veicoli autonomi"

Copied!
65
0
0

Testo completo

(1)

FACOLT `A DI INGEGNERIA

Corso di Laurea Magistrale in Ingegneria Robotica e dell’Automazione

Tesi di laurea magistrale

Modellazione e sviluppo di reti neurali per la stima dei

consumi energetici in veicoli autonomi

Laureando: Pietro Bramante Relatori: Giorgio Buttazzo Carmelo Di Franco Mauro Marinoni Anno Accademico 2017–2018

(2)
(3)

Indice

Elenco delle figure 4

1 Introduzione 7

1.1 Breve storia dei veicoli multirotore . . . 7

1.2 Classificazione dei veicoli a rotore . . . 9

1.3 Altri utilizzi dei droni . . . 10

1.4 Problema del consumo energetico . . . 11

1.5 Descrizione del sitema UAV . . . 12

2 Stato dell’arte 15 2.1 Stima del consumo energetico . . . 15

2.2 Consumo energetico e reti neurali . . . 18

2.3 Stima della massa . . . 19

2.4 Stima dello stato e reti neurali . . . 19

2.5 Modelli energetici di riferimento . . . 22

2.5.1 Modello empirico data driven . . . 22

2.5.2 Modello basato sulla fisica del veicolo . . . 23

2.6 Definizione del problema . . . 23

3 Reti neurali 27 3.1 Algoritmo Error Backpropagation . . . 29

3.2 Modalit`a di training . . . 32

3.3 Problema dei minimi locali . . . 34

3.4 Prestazioni della rete . . . 34

4 Modello di potenza basato su reti neurali 37 4.1 Programma M ission P lanner . . . 37

4.2 Selezione dei dati in ingresso . . . 40

4.3 Descrizione delle reti neurali . . . 43

4.3.1 Struttura della rete . . . 43

4.3.2 Normalizzazione e filtraggio dati . . . 44

4.3.3 Scelta del learning rate . . . 46

4.4 Stima della potenza . . . 47

5 Stima della massa online 50 6 Esperimenti reali 53 6.1 Confronto tra i modelli . . . 53

6.1.1 Confronto con il modello empirico data driven . . . 53

(4)

INDICE 3

6.1.2 Confronto con il modello basato sulla fisica del veicolo . 55 6.2 Stima del carico utile variabile . . . 57

7 Conclusioni 60

(5)

Elenco delle figure

1.1 Gyro Saucer 1 . . . 7

1.2 Drone per l’irrorazione di terreni agricoli . . . 8

1.3 Drone fattorino Amazon . . . 8

1.4 Drone EHAN G capace del trasporto di passeggeri. . . 9

1.5 M icro Aerial V ehicle (MAV) . . . 10

1.6 Verso di rotazione delle eliche . . . 10

1.7 Veicolo autonomo di tipo quadrotore appartenente alla famiglia IRIS . . . 11

1.8 LiPo Battery . . . 12

1.9 Schema di rappresentazione di un sistema UAV . . . 13

2.1 Dinamica del quadrotore. Frame inerziale (E), Frame fisso (B), e angoli di eulero φ, θ, ψ . . . 16

2.2 Quadrotore con carico sospeso . . . 16

2.3 Struttura di una rete neurale ricorrente per la stima dello stato . 20 2.4 Creazione di una traiettoria a partire da un insieme di waypoints 24 2.5 Aree di ricerca riguardanti l’energia di UAV . . . 24

2.6 Diagramma a blocchi dell’intero sistema comprendente il siste-ma di pianificazione di volo e lo stisiste-matore della siste-massa . . . 25

3.1 Configurazione semplificata di un neurone biologico . . . 27

3.2 Struttura di un neurone artificiale . . . 28

3.3 Rete neruale multistrato . . . 28

3.4 Apprendimento scorretto causato da un numero insufficiente di neuroni nello strato nascosto . . . 35

3.5 Overf itting causato da un numero eccessivo di neuroni nello strato nascosto . . . 35

3.6 Incremento dell’errore di validazione nella fase finale dell’adde-stramento . . . 36

4.1 Programma M ission P lanner . . . 37

4.2 Percorso effettuato dal drone per la raccolta dei dati . . . 40

4.3 Velocit`a misurata dal GPS . . . 41

4.4 Velocit`a misurata dal filtro di Kalman . . . 41

4.5 Potenza assorbita durante il volo . . . 42

4.6 Altitudine del veicolo . . . 42

4.7 Velocit`a verticale del veicolo . . . 43

4.8 Rete neurale per la stima della potenza . . . 43

4.9 Struttura della prima rete neurale . . . 44

(6)

ELENCO DELLE FIGURE 5

4.10 Funzione sigmoidale . . . 44 4.11 Potenza normalizzata (in blu) e potenza normalizzata e filtrata

(in arancione) . . . 45 4.12 Effetti di un learning rate troppo alto (a sinistra) e troppo

basso (a destra) . . . 46 4.13 Errore di validazione per 5 valori della velocit`a di apprendimento η 47 4.14 Errore di validazione calcolato durante l’addestramento . . . 48 4.15 Variazione di potenza al variare dell’accelerazione e della velocit`a. 48 4.16 Variazione di potenza al variare della massa e della velocit`a (con

accelerazione nulla). . . 49 4.17 Errore di validazione calcolato come differenza tra la

poten-za desiderata e la potenpoten-za predetta dal modello (alla fine del training). . . 49 5.1 Rete neurale per la stima della massa . . . 50 5.2 Errore di validazione online . . . 51 5.3 Errore di validazione calcolato alla fine dell’addestramento . . . 51 5.4 Superficie che mostra l’incremento della massa in funzione della

velocit`a orizzontale e della potenza . . . 52 6.1 Percorsi reali eseguiti dal drone. Due sono a spirale e gli altri

ricoprono una superficie poligonale. . . 53 6.2 Curve che rappresentano la potenza consumata in funzione della

velocit`a in caso di accelerazione nulla. . . 54 6.3 Potenza consumata in funzione della velocit`a in caso di massima

accelerazione. . . 54 6.4 Potenza consumata in condizioni di massima decelerazione. . . . 55 6.5 Confronto tra rete neurale e modello basato sulla fisica del veicolo 56 6.6 Percorso rettangolare effettuato dall’UAV . . . 56 6.7 Potenza misurata durante il volo in cui il drone `e stato

mante-nuto in una posizione fissa in aria . . . 57 6.8 Stima della massa variabile . . . 58 6.9 Stima della massa variabile . . . 59

(7)

Sommario

Il campo di applicazione dei veicoli autonomi (UAV) `e in costante crescita soprattutto nelle aree dell’agricoltura e dell’industria. I droni ad esempio, possono essere utilizzati per il trasporto di carichi o merci di vario genere. Tuttavia esiste ancora una diffidenza nell’uso di questi apparecchi dovuta alla ridotta disponibilit`a energetica che pone dei limiti al tempo necessario al com-pletamento di una specifica missione.

In questo lavoro viene proposto un modello basato su reti neurali in grado di stimare accuratamente il consumo energetico di generici veicoli che tra-sportano un carico di cui non si conosce il peso. L’approccio proposto trova applicazione nel problema della consegna di merci e dell’irrorazione di liquidi quali erbicidi, pesticidi, etc., su terreni agricoli. I modelli di potenza e massa sono stati validati a partire dalla realizzazione di esperimenti effettuati sia con carichi statici di diverso peso, sia con carichi che variano uniformemente nel tempo. Il modello di potenza `e stato poi confrontato con un prototipo pree-sistente basato su equazioni. Il metodo proposto attua dunque una stima in tempo reale relativa al peso del carico utile.

(8)

Capitolo 1

Introduzione

1.1

Breve storia dei veicoli multirotore

L’elicottero multirotore, conosciuto anche come quadrotore o quadcopter `e un veicolo dotato di quattro rotori. Esso `e un vero e proprio elicottero in cui la forza di sollevamento `e generata da eliche che ruotano orizzontalmente. Il progetto del quadrotore esiste dal 1920, anno in cui fu costruito un prototipo chiamato De Bothezat in grado di trasportare equipaggi, che vol`o per la prima volta nel 1922 a Dayton. L’elicottero aveva in partenza sei rotori, due dei quali in seguito sono stati ritenuti superflui e quindi eliminati. Esso effettu`o pi`u di 100 voli ma non poteva mai volare per pi`u di 5 metri e non poteva effettuare movimenti laterali. Ci`o era dovuto alla complessit`a e alla difficolt`a che si aveva semplicemente nel riuscire a mantenere il veicolo in volo. Questo limite di movimento laterale ha originato notevoli difficolt`a fino all’invenzione dei sistemi di controllo assistiti da computer che hanno permesso di ridurre il carico di lavoro del pilota. Lo sviluppo degli elicotteri si `e dunque temporaneamente interrotto in quanto le forze armate che ne avevano inizialmente finanziato il progetto, credevano che qualsiasi vantaggio che poteva derivare dal loro utilizzo era insufficiente rispetto alla complessit`a di costruzione e delle caratteristiche di volo. Pi`u tardi, l’esercito degli Stati Uniti svilupp`o quello che si chiama Chinook, modello CH − 47, che nonostate sia stato costruito negli anni ’60, `e ancora oggi ampiamente utilizzato.

Figura 1.1: Gyro Saucer 1

Lo sviluppo di elicotteri a quattro rotori `e stato dunque tardato fino agli anni ’90, quando in Giappone fu progettato il sistema chiamato Gyro Saucer 1

(9)

(Mostrato in figura 1.1). Esso utilizzava giroscopi meccanici per mantenere la stabilit`a e piccoli motori elettrici permettevano di ruotare le eliche.

Figura 1.2: Drone per l’irrorazione di terreni agricoli

Il primo sistema multirotore moderno porta il nome di Draganf lyer. Es-so `e stato progettato e prodotto algli inizi degli anni 2000 e si `e Es-sostituito ai prototipi iniziali proponendo modelli pi`u sofisticati e dotati di una maggiore variet`a di caratteristiche funzionali.

L’utilizzo dei droni per scopi non militari ha iniziato a diffondersi a partire dal 2006, anno in cui alcune societ`a americane hanno deciso di utilizzarli per l’ispezione di condutture e per l’irrorazione di pesticidi in terreni agricoli (Fi-gura 1.2). Infatti, il medesimo progresso delle tecnologie riscontrato in campo militare, ha potuto essere sfruttato anche nel settore privato. In agricoltura ad esempio, i droni permettono anche di monitorare intere coltivazioni consen-tendo cos`ı di individuare rapidamente la presenza di piante malate o infestate da parassiti. L’uso dei droni a scopo ricreativo poi, ha iniziato a diffondersi solo negli ultimi anni, pur essendo cresciuto notevolmente nell’arco di poco tempo. Una delle principali cause di questo `e che l’Agenzia Federale dell’A-viazione(FAA) doveva accertarsi che i droni commerciali fossero sicuri prima di autorizzarne l’uso privato e determinare opportune misure di regolamenta-zione.

Figura 1.3: Drone fattorino Amazon

Il 2006 `e stato dunque l’anno in cui la FAA ha rilasciato per la prima volta il permesso all’uso commerciale dei veicoli a rotore. Essa ha poi rilasciato

(10)

CAPITOLO 1. INTRODUZIONE 9

una media di due permessi all’anno per i successivi otto anni, come richiesto dalle attuali normative di legge. Successivamente, nel 2013, Amazon CEO ha annunciato che la compagnia stava considerando l’utilizzo dei droni come metodo di consegna (Figura 1.3), intensificando cos`ı l’attenzione del pubblico verso questi particolari dispositivi. Nel 2015 dunque, la FAA ha rilasciato pi`u di 1000 permessi, numero che `e poi triplicato nel 2016 e che ha continuato a crescere rapidamente nel tempo.

Ora che la tecnologia sta crescendo in modo esponenziale, risulta difficile fare una previsione di come si evolver`a la storia dei droni nel futuro. Nel 2018 sono nate numerose aziende innovative che hanno deciso di fare dei droni uno strumento fondamentale. L’azienda Altair Aerial ad esempio sta creando dro-ni cos`ı detti a volo facilitato nella speranza di attirare sempre pi`u persone nel mercato dei droni sviluppando UAV beginner − f riendly a basso costo. La compagnia cinese EHAN G, invece vuole trasformare i droni in veri e propri taxi e ha sviluppato un quadcopter in grado di trasportare passeggeri (Figure 1.4).

Figura 1.4: Drone EHAN G capace del trasporto di passeggeri.

La compagnia inglese F lyability poi, propone una insieme di droni in grado di operare in ambienti chiusi il cui accesso alle persone risulta essere difficile o pericoloso. L’industria dei droni dunque vanta una velocit`a di crescita che sembra non volersi mai arrestare.

1.2

Classificazione dei veicoli a rotore

I veicoli quadrotore possono essere classificati in diverse catecorie, la pi`u gene-rale delle quali `e quella chiamata UAV (unmanned aerial vehicle). Due ca-tegorie pi`u specifiche sono rappresentate dai veicoli ROA (remotely operated aircraf t) e quelli RPV (remotely piloted vehicle). Questi ultimi due modelli sono caratterizzati dal fatto che nessun pilota viene fisicamente trasportato e il controllo del mezzo pu`o essere realizzato autonomamente dal veicolo oppure tramite l’utilizzo di una stazione remota. Una categoria di droni strettamen-te correlata a questo tipo di operazioni `e quella chiamata AAV (dall’inglese autonomous aerial vehicle). Questa viene spesso utilizzata per descrivere quegli UAV che sono in grado di controllare autonomamente le proprie opera-zioni senza ricorrere all’ausilio di staopera-zioni posizionate a terra. Tuttavia, occore specificare che tutti i tipi di AAV dovrebbero disporre di qualche comando

(11)

disponibile da una stazione fissa a terra nel caso in cui qualcosa vada storto o sorgano problemi con il sistema di controllo del volo presente a bordo. Di-sporre di una qualche modalit`a di sicurezza dovrebbe essere sempre alla base del progetto di un qualsiasi AAV.

UAV, ROA e RPV rappresentano dunque le classificazioni pi`u popolari e conosciute per i veicoli quadrotore. Esiste poi una ulteriore classificazione costituita dai cosiddetti MAV (M icro Aerial V ehicle) che sono UAV di di-mensioni estremamente ridotte, le cui misure di larghezza, lunghezza e altezza possono arrivare ad essere inferiori a 15 cm (Figura 1.5). I veicoli MAV so-no stati attivamente progettati parallelamente allo sviluppo di innumerevoli tecniche di controllo utilizzate in numerosi progetti di ricerca.

Figura 1.5: M icro Aerial V ehicle (MAV)

1.3

Altri utilizzi dei droni

I veicoli a rotore, e in particolare gli UAV, possono essere utilizzati in di-verse applicazioni utili nei campi pi`u disparati, grazie alla riduzione dei costi dovuta alla rimozione dei piloti umani: indagini sul paesaggio, giochi e in-trattenimento, sorveglianza/ricognizione, riparazione a distanza, attacchi di precisione senza equipaggio, trasporto e consegna oggetti, e cos`ı via. In parti-colare, i veicoli di tipo quadrotore hanno riscosso un discreto successo grazie alla loro agilit`a, alla relativa facilit`a di controllo e alla loro accessibilit`a dal punto di vista economico.

Figura 1.6: Verso di rotazione delle eliche

Un quadrotore `e un veicolo aereo semplice dal punto di vista meccanico il cui movimento `e ottenibile grazie al controllo della velocit`a di rotazione di quattro eliche che attuano una spinta verso il basso. Essi sono molto instabili

(12)

CAPITOLO 1. INTRODUZIONE 11

Figura 1.7: Veicolo autonomo di tipo quadrotore appartenente alla famiglia IRIS

dal punto di vista aerodinamico e richiedono la presenza di un computer di bordo per poter effettuare un volo stabile. Il contollore di volo sfrutta i dati provenienti da piccoli giroscopi e accelerometri installati a bordo che consen-tono di trarre una stima accurata della posizione e dell’orientazione ad ogni istante. Il drone mostrato in figura 1.7 rappresenta una delle tipologie pi`u sem-plici di veicoli a rotore in cui ciascuna elica ruota in direzione opposta rispetto a quelle presenti ai lati (Figura 1.6). Il controllo dei movimenti di rollio (roll) e beccheggio (pitch) avviene dunque aumentado la velocit`a di rotazione dei mo-tori su un fianco e riducendo invece la velocit`a degli altri due. La possibilit`a di controllo in remoto di tali veicoli inoltre consente di espandere ulteriormente i campi di applicazione di questi versatili oggetti soprattutto quando `e richiesto di eseguire operazioni complesse in ambienti non noti. I veicoli aerei autonomi sono dunque stati utilizzati per scopi militari e civili come la sorveglianza, il monitoraggio di aree limitrofe a impianti nucleari danneggiati, casi in cui i rischi per un pilota sono notevoli. I veicoli a rotore poi, presentano vantaggi in numerose applicazioni rispetto agli aeromobili ad ala fissa in quanto posseg-gono l’abilit`a di salita e discesa verticale e la capacit`a di trasportare un carico maggiore.

1.4

Problema del consumo energetico

Come abbiamo visto, i droni possono trovare applicazione in campi anche mol-to diversi tra loro. Ciascuna attivit`a che il dispositivo `e chiamamol-to a compiere richiede differenti quantit`a energetiche, `e quindi necessario che esso disponga di un quantitativo di energia sufficiente al completamento del compito assegna-to. Il problema `e parzialmente risolto grazie all’utilizzo di opportune batterie chiamate LiP o (Lithium P olymer) Battery che rappresentano un nuovo tipo di accumulatori di potenza utilizzati da un numero crescente di dispositivi elet-tronici, soprattutto quando sono richiesti lunghi periodi di attivit`a associati ad alti consumi energetici.

(13)

Figura 1.8: LiPo Battery

Tuttavia per poter portare a termine una missione in completa sicurezza, ridu-cendo al minimo il rischio di incidenti causati da un inaspettato esaurimento delle risorse energetiche, sarebbe opportuno disporre di una qualche metodo-logia che consenta di effettuare una previsione sul consumo energetico totale richiesto per completare la missione. In questo lavoro viene proposto un model-lo energetico basato su reti neurali in grado di prevedere il consumo energetico di veicoli autonomi in funzione della velocit`a e dell’accelerazione, e di stimare il peso di un eventuale carico utile trasportato. Uno dei campi di applicazione maggiormente trattati `e quello relativo alla consegna di merci, riguardo al qua-le sono state proposte diverse soluzioni. In questo contesto, il probqua-lema della pianificazione di traiettoria diventa cruciale non solo allo scopo di massimiz-zare le prestazioni e ridurre i costi, ma anche di effettuare la ripianificazione online delle missioni e delle traiettorie, in dipendenza dall’eventuale presenza di disturbi imprevedibili quali il vento, ostacoli di varia natura, o l’esaurimento del carico energetico a disposizione. Infatti, i veicoli a rotore hanno un com-portamento altamente non lineare e tempo variante.

Tuttavia, le soluzioni attualmente proposte tendono a semplificare eccessi-vamente il problema della stima del consumo energetico in quanto prendono in considerazione soltanto i casi in cui la velocit`a o la potenza assorbita `e co-stante. Esiste dunque un netto divario tra la teoria esistente e l’uso efficiente di questo tipo di sistemi autonomi nelle applicazioni reali. Questa discrepanza pu`o essere in parte attribuita al fatto che questi modelli di consumo ener-getico sono eccessivamente semplicistici. Dato che l’accuratezza del modello influenza l’accuratezza della stima del tempo di durata dell’intera missione, si ha che eventuali errori di predizione possono portare al verificarsi di situazioni critiche. Attualmente, la letteratura riguardante la modellazione del consumo energetico dei veicoli multirotore `e ancora limitata e incentrata su soluzioni che fanno uso dei parametri del modello fisico o delle misure effettuate. Di con-seguenza, questi modelli rendono necessaria una stima abbastanza precisa dei parametri del veicolo, e una piccola variazione dei valori calcolati pu`o far va-riare considerevolmente la predizione della potenza assorbita, causando quindi elevati errori di stima. Inoltre, tutti gli approcci proposti perdono validit`a in caso di variazione dei propulsori o dei carichi.

1.5

Descrizione del sitema UAV

Come abbiamo visto, gli UAV sono veicoli in grado di volare e compiere mis-sioni senza la presenza di un essere unmano a bordo. Il drone in realt`a,

(14)

rap-CAPITOLO 1. INTRODUZIONE 13

presenta uno solo degli elementi costituenti quello che viene chiamato sistema UAV progettato per effettuare una o pi`u missioni (come spiegato in [12]). Questo sistema `e composto da due parti principali: un segmento aereo che comprende l’UAV, il suo eventuale carico utile e il suo sistema di trasmissione, e un segmento di terra che costituito da un insieme di materiali e da una o pi`u operazioni.

Il sistema UAV pu`o dunque essere scomposto in un insieme di sottosistemi quali una stazione di controllo di terra (GCS), un sistema di trasmissione, un complesso di pilotaggio e pianificazione, un sistema di controllo di propulsione, una metodologia di regolazione e controllo dell’energia e un sistema avionico integrato costituito da sensori, una memoria, un elaboratore ecc.. Tutti questi sottosistemi vengono poi immersi in uno specifico ambiente come illustrato in figura 1.9.

Figura 1.9: Schema di rappresentazione di un sistema UAV

Il sistema di trasmissione permette all’UAV di comunicare con la stazio-ne di terra trasportando sia ordini provenienti da terra in tempo reale, sia le informazioni inviate dal drone. Il sistema di pilotaggio e pianificazione `e costi-tuito da un modulo di pilotaggio che effettua decisioni riguardanti la missione da svolgere e un modulo pianificatore che gestisce i compiti da effettuare e crea il percorso che il drone deve seguire in base alla rappresentazione interna dell’ambiente che viene costantemente aggiornata. Il meccanimo di controllo del movimento `e un sistema in grado di manovrare accuratamente le velocit`a di rotazione dei rotori. Esso `e costituito da dispositivi elettronici che agiscono direttamente sigli attuatori contollandone la velocit`a di rotazione nel rispetto delle istruzioni ricevute. Il sistema di controllo dell’energia permette di mo-nitorare accuratamente lo stato della batteria. E’ costituito da un insieme di

(15)

differenti sensori che misurano l’uscita di corrente della batteria mentre il vol-taggio viene misurato direttamente dal microcontrollore. Qualsiasi problema ringuardante un insufficiente disponibilit`a energetica viene immediatamente identificata generando un sengale di allarme, permettendo inoltre al veicolo di atterrare velocemente e in sicurezza. Un sensore di condizioni termiche permette poi di misurare eventuali incrementi di temperatura della batteria generando segnali di avvertimento nel caso in cui questa raggiunga valori ec-cessivamente elevati. Anche il sistema avionico `e costituito da una moltitudine di sensori che forniscono continuamente al pilota le informazioni relative alla navigazione aerea quali direzione, posizione attuale, ecc.. Tali sensori infatti sono in grado di fornire sia informazioni propriocettive sia esterocettive. Le prime compredono tutte le notificazioni riguardanti il movimento dell’UAV nello spazio. Le altre invece forniscono informazioni sulla posizione assoluta del veicolo nell’ambiente.

Il sistema di controllo di terra possiede non solo la capacit`a di controllare veicoli aerei autonomi ma anche di sfruttare tutti i dati ricevuti. Ciascuna stazione `e composta di due parti: un modulo di controllo che ha la funzione di la piattaforma e i sensori e un modulo di utilizzo dati che permette di visua-lizzare ed elaborare le informazioni ricevute. In generale, la prassi consiste nel disporre di una stazione di terra principale fissa e di una o pi`u stazioni remote che possono anche essere mobili.

Un drone dunque costituisce un complesso sistema di elementi e moduli, ciascuno dei quali si occupa della gestione di una particolare funzionalit`a in-dispensabile al corretto andamento del veicolo qualunque sia la missione che esso `e chiamato a svolgere.

(16)

Capitolo 2

Stato dell’arte

2.1

Stima del consumo energetico

Il problema della stima dell’energia assorbita da un veicolo aereo autonomo su un percorso prestabilito `e un argomento che `e stato ampiamente affrontato in studi precedenti. Molti approcci per`o, usano delle semplificazioni che consi-stono nel considerare la velocit`a e il consumo energetico costanti o affrontano il problema della minimizzazione di parametri quali la distanza o il tempo di viaggio.

Per esempio in [10] `e stata proposta un’analisi del consumo energetico in vari stati del movimento discreto di un multicopter con l’obiettivo di creare un profilo di consumo energetico valido per un qualunque veicolo aereo au-tonomo. Viene quindi proposto un calcolo dell’energia assorbita in ciascuna fase tramite l’utilizzo di una formula empirica che permette di individuare la relazione che intercorre tra i parametri del sistema e del suo movimento con i livelli di energia assorbita. Per valutare l’effettivo consumo energetico nelle varie fasi del volo sono state pianificate diverse missioni ognuna delle quali rappresenta differenti aspetti caratteristici di ciascuna fase del volo. Dopo i primi esperimenti sono state identificate tre configurazioni da utilizzare come riferimento per il tracciamento del profilo energetico. Queste configurazioni rappresentano i principali componenti del movimento di un multicopter qua-li l’energia necessaria per mantenere l’altitudine corrente, quella richiesta per attuare il movimento orizzontale e quella assorbita dai movimenti che hanno una componente verticale. La formula `e stata infine validata effettuando una stima dell’energia necessaria al compimento di due missioni da cui `e stato ot-tenuto che i risultati provenienti dalle misurazioni reali sono molti vicini ai valori predetti dal modello.

Il problema del limite energetico imposto dalle batterie attualmente esi-stenti `e stato affrontato anche da Morbidi et al. [18] che hanno proposto uno studio basato sulla determinazione esplicita di percorsi a consumo energetico minimo tramite la risoluzione di un problema di controllo ottimo rispetto alle accelerazioni angolari dei quattro motori. Il modello dinamico del quadrotore viene (in Figura 2.1) `e stato utilizzato per determinare i parametri necessari alla risoluzione del problema di controllo ottimo che `e stato formulato rispetto alle accelerazioni angolari dei quattro motori elettrici. La sua soluzione forni-sce dunque sia percorsi a consumo energetico minimo, sia percorsi a energia

(17)

fissa.

Figura 2.1: Dinamica del quadrotore. Frame inerziale (E), Frame fisso (B), e angoli di eulero φ, θ, ψ

Palunko et al. [22] affrontano invece il problema della generazione di traiet-toria per un quadrotore avente un carico sospeso che rappresenta un compito molto complesso in quanto il carico sospeso pu`o alterare significativamente le caratteristiche di volo del veicolo (Figura 2.2). Essi propongono quindi una tecnica basata sulla programmazione dinamica per la generazione della traiet-toria a partire dal modello dinamico e cinematico del drone con carico sospe-so. Un pianificatore di traiettorie ad alto livello viene utilizzato per generare i waypoint desiderati e poi la programmazione dinamica permette di deter-minare la traiettoria per il quadrotore con massa pendente libera di oscillare. L’efficacia del metodo viene infine dimostrata tramite simulazioni numeriche ed esperimenti. La ricerca proposta rappresenta un passo fondamentale verso lo sviluppo della generazione futura di veicoli aerei autonomi e permette al drone di effettuare agilmente manovre di volo percorrendo la traiettoria calco-lata.

Figura 2.2: Quadrotore con carico sospeso

Riguardo alla pianificazione di traiettorie, Di Franco, Buttazzo et al. [8] hanno proposto una metodologia energy − aware che utilizza un modello ener-getico empirico basato su misure raccolte durante la realizzazione di voli reali.

(18)

CAPITOLO 2. STATO DELL’ARTE 17

Un generico percorso viene quindi decomposto in manovre pi`u semplici quali salita, discesa, accelerazione, velocit`a costante e decelerazione in modo tale da riuscire a prevedere l’energia assorbita sull’intero percorso con un’alta percen-tuale di accuratezza. Infine, il modello viene validato attraverso una serie di esperimenti reali e poi utilizzato per calcolare la velocit`a che minimizza il con-sumo energetico lungo una distanza data. Una volta generato l’intero percorso, `e possibile ricavare la velocit`a che minimizza l’energia lungo ciascun segmento che lo costituisce. Un test di realizzabilit`a viene quindi effettuato per verificare se l’energia di cui il veicolo dispone `e sufficiente per l’esplorazione dell’intera aera. Dato che l’energia viene minimizzata lungo segmenti indipendenti, la soluzione ottenuta `e subottimale. Tuttavia l’approccio presenta il vantaggio di combinare diversi vincoli caratterizzanti la missione specifica come la grandez-za dell’area da coprire e il consumo energetio. Lo stesso modello di potengrandez-za `e stato utilizzato da Cabreira et al. [4] che hanno messo a confronto percorsi a spirale con percorsi di tipo andata e ritorno. In questo studio `e stato anche dimostrato che contare il numero di svolte in un percorso non `e un’opzione valida. E’ stato quindi presentato un algoritmo di pianificazione di traietto-rie di tipo energy − aware per applicazioni fotogrammetriche. L’algoritmo proposto genera percorsi prendendo in considerazione la velocit`a di sovrappo-sizione e usa le caratteristiche della telecamera di bordo come la risoluzione di immagine e il campo visivo per garantire una mappatura completa dell’area da analizzare. L’algoritmo inoltre, si serve di un modello energetico per im-postare diverse velocit`a ottimali per ciascun segmento costituente il percorso, con lo scopo di risparmiare energia. Infine `e stato proposto un miglioramento del modello energetico atto a stimare il costo totale di energia in percorsi a spirale considerando anche l’algolo di svolta, in modo da ottenere un sistema pi`u preciso.

In [16], `e stato poi proposto un modello matematico di pontenza per vei-coli aerei autonomi che, rispetto ai precedenti, non `e n`e empirico n`e basato su dati sperimentali. Questo modello per`o presenta delle limitazioni che deriva-no dalla considerazione di percorsi a velocit`a costante che portaderiva-no ad errori elevati nella stima del consumo energetico nonostante l’accuratezza fisica del modello. Questo approccio infatti rende necessaria una stima dei parametri del veicolo che influenza significativamente la stima del consumo energetico. Una variazione anche minima delle caratteristiche del veicolo come il carico, il tipo di motori utilizzati o di uno dei parametri pu`o annullare totalmente la validit`a del modello e far cambiare significaticamente la predizione complessiva dell’energia assorbita.

In [27] invece, si tratta il problema specifico della durata del volo di un qua-drotore aereo autonomo, considerando che gran parte dell’energia viene con-sumata dalle eliche che tengono il veicolo in aria. Quest’ultima viene scritta mediante la segunete formula

Ec = Z tf t0 4 X j=1 τj(t)ωj(t)dt

dove τj(t) rappresenta la torsione generata dal motore j e ωj(t) `e la

velo-cit`a angolare del rotore al tempo t. Gli autori introducono quindi un modello energetico composto dalla dinamica di movimento del quadrodore e dalle

(19)

dina-miche dei motori e della batteria. Questo modello `e stato poi validato facendo uso di simulazioni che mostrano la possibilit`a di risparmiare energia. Infine, viene formulato un problema di controllo ottimo che viene risolto al fine di minimizzare il consumo energetico

min

(ωj,τj)

Ec(tf)

Lo scopo `e quindi quello di determinare opportuni ingressi di controllo e speci-fiche traiettorie comprese tra la configurazione iniziale e finale che minimizzano il consumo energetico durante una missione specifica.

Gli studi citati dunque, si occupano di sviluppare modelli matematici per il calcolo dei consumi energetici sfruttando per la gran parte medotologie em-piriche e basate su dati sperimentali. Essi inoltre, fanno spesso riferimento alla generazione di traiettorie ad assorbimento energetico minimo consideran-do parametri caratteristici del veicolo che assumono un ruolo fondamentale nella realizzazione del modello di stima. Il metodo proposto nel presente stu-dio invece, `e in grado di predire in maniera accurata i consumi energetici di un veicolo autonomo del tutto generico svincolandosi dalla necessit`a di conoscere parametri basati sulla fisica del modello o su misure specifiche.

2.2

Consumo energetico e reti neurali

In letteratura sono presenti anche diversi studi che sfruttano le reti neurali per lo sviluppo di modelli energetici per droni. Ad esempio in [14] viene proposto un metodo basato su reti neurali per la generazione di traiettorie ottime. Il problema viene formulato come un processo di decisione di Markov (MDP) e viene risolto utilizzando metodi di integrazione discreta. Lo studio mostra anche come le reti neurali possano guidare accuratamente un UAV attraverso una serie di waypoints. La rete `e stata quindi validata attraverso un insieme di punti appartenenti al percorso effettuato dal drone e i test effettuati in volo mostrano che l’UAV `e in grado di seguire le traiettorie generate dalla rete ne-ruale anche in presenza del disturbo dato dal vento. Anche Dabbagh et al. [6] fanno uso delle reti neurali focalizzandosi sull’algoritmo back − propagation. Lo scopo `e quello di presentare una metodologia per lo sviluppo di un algo-ritmo di tipo energy − aware. L’idea di base ruota intorno alla possibilit`a di identificare operazioni chiamate kernels, che vengono utilizzate frequente-mente nell’algoritmo e che possono essere implementate in hardware. Queste operazioni vengono quindi ottimizzate allo scopo di migliorare le prestazioni e limitare il consumo energetico per poi considerare ulteriori ottimizzazioni che sono specifiche per l’algoritmo back − propagation. Gli autori dello stu-dio dunque, propongono una metodologia di progetto per l’analisi energetica del suddetto algoritmo con particolare enfasi sull’ottimizzazione dell’energia assorbita. Ulteriori innovazioni comprendono l’analisi asintotica basata sull’e-nergia e il progetto di una rete neurale ottimizzata al fine di ottenere ulteriori riduzioni in termini energetici. Studi sperimentali hanno permesso di verifi-care l’efficacia del metodo e di determinare quali operazioni contruibuiscono maggiormente al consumo energetico totale.

(20)

CAPITOLO 2. STATO DELL’ARTE 19

il progetto di traiettorie ottime dal punto di vista dei consumi energetici aven-do piena padronanza del sistema di controllo. Il lavoro proposto nella presente tesi invece, si pone come obiettivo principale quello di effettuare una stima passiva del consumo della potenza assorbita dal veicolo autonomo, per essere in seguito utilizzata per effettuare stime energetiche ad alto livello. In generale dunque, l’obiettivo che ci si pone `e quello di sviluppare un modello di potenza lasciando da parte i particolari riguardanti il sistema di controllo.

2.3

Stima della massa

Per quanto riguarda la stima della massa nel contesto della previsione dei con-sumi energetici si ha che il problema viene spesso correlato con la necessit`a di migliorare la qualit`a del controllo come proposto da Ho, Linder et al. [13]. In questo caso gli autori utilizzano soltanto misure inerziali che vengono poi corre-late con i disturbi e questo complica significativamente la stima dei parametri. Viene quindi formulato un modello dinamico laterale che descrive la relazione tra la velocit`a di rollio e l’accelerazione laterale. Dato che il quadcopter `e un dispositivo intrinsecamente instabile, viene fatto uso di un controllore per sta-bilizzare il sistema e i dati vengono raccolti in ciclo chiuso. Le misure inerziali utilizzate come ingressi e uscite sono quindi correlate con i disturbi rendendo la stima dei parametri ancora pi`u complessa. Questa stima viene effettuata con diversi metodi come il metodo dei minimi quadrati, il filtro esteso di Kalman e il metodo delle variabili strumentali. Il tutto viene poi validato tramite l’uso di risultati sperimentali. In altri casi, la massa viene utilizzata come variabile in problemi di guida del veicolo, ma non `e strettamente correlata al consumo energetico. In [26] ad esempio, viene considerato il problema di guida di pi`u veicoli con vincoli relativi al consumo di carburante. Il problema della stima della massa viene affrontato anche da Mellinger et al. e presentano il design di pinze di basso peso e bassa complessit`a, che permettono al veicolo di sollevare e trasportare carichi. Essi mostrano poi come il robot possa utilizzare modelli dinamici di un corpo rigido per stimare i parametri inerziali dell’oggetto affer-rato.

Rispetto agli studi appena citati, l’approccio presentato nel presente lavoro offre numerosi vantaggi. Infatti non viene richiesta nessuna stima di parame-tri ma solo l’iniziale addestramento delle reti neurali che ha bisogno di dati provenienti da un certo numero di voli reali effettuali con pesi differenti con lo scopo di riprodurre un accurato modello di potenza del veicolo. Il modello di potenza presenta un’elevata accuratezza in quanto prende in considerazione anche le fasi di accelerazione e decelerazione. La massa del carico utile pu`o es-sere sconosciuta ma `e possibile stimarla online ed `e anche possibile individuare variazioni inaspettate nel caso in cui sia nota la massa totale.

2.4

Stima dello stato e reti neurali

Le reti neurali trovano applicazione anche nel campo della stima dello stato di sistemi dinamici lineari e non con numerosi vantaggi. Ad esempio, in [15] viene progettata una rete neurale in grado di fornire stime dello stato anche

(21)

quando il sistema `e soggetto a rumore ignoto. Una volta che la rete `e stata addestrata, il costo computazionale richiesto da questa `e inferiore ed essa pu`o generare stime molto accurate.

In [28] inoltre, viene proposto il progetto di uno stimatore dello stato basato su reti neurali per una classe generica di sistemi dinamici non lineari a partire dalla formulazione generale scritta come segue

x(k + 1) = f (x(k), u(k), w(k)) y(k) = g(x(k), v(k))

dove x(k) `e il vettore di stato del sistema, u(k) `e il vettore di ingresso, y(k) il vettore di uscita, w(k) `e il rumore del processo, v(k) `e il rumore misurato ed f(.) e g(.) sono funzioni non lineari. Il problema prefissato `e dunque quello di stimare lo stato del sistema disponendo della conoscenza di coppie ingresso-uscita. In molte situazioni, non `e sempre possibile misurare direttamente lo stato del sistema, esso va dunque stimato sfruttando le informazioni dispo-nibili. Problemi di questi tipo vengono tradizionalmente risolti utilizzando i filtri di Kalman. Questi metodi per`o risultano ristretti a classi di sistemi che soddisfano condizioni rigorose e difficili da verificare. Le reti neurali invece vantano un’applicabilit`a pi`u generale e posseggono la capacit`a di rappresenta-re la dinamica degli attrattori e di conservarappresenta-re le informazioni nel tempo. Per questo sono stati effettuati diversi tentantivi di utilizzo delle reti neurali per la risoluzione di problemi di identificazione e controllo. Le reti ricorrenti (Fi-gura 2.3) in particolare permettono di realizzare connessioni in retroazione tra neuroni, diventando cos`ı dei veri e propri sistemi dinamici.

Figura 2.3: Struttura di una rete neurale ricorrente per la stima dello stato

Le prestazioni del metodo proposto sono state quindi confrontate con quelle del filtro di Kalman classico in diverse applicazioni. Dai risultati `e emerso che l’approccio basato su reti neurali possiede un rendimento superiore in termi-ni di accuratezza rispetto ai metodi classici. Inoltre, una delle caratteristiche principali del metodo proposto `e che le ipotesi richieste possono essere rilassa-te. Tuttavia `e possibile effettuare un miglioramento dell’algoritmo sfruttando tecniche di ottimizzazioni come gli algoritmi genetici e la tecnica simulated annealing.

Anche Deb et al. [7] propongono il progetto di una rete neurale dinamica in grado di stimare in modo efficace tutti gli stati di un impianto non lineare a ingresso singolo. In questo studio, il filtro di Kalman viene utilizzato per

(22)

CAPITOLO 2. STATO DELL’ARTE 21

l’addestramento dei pesi della rete neurale. Uno dei vantaggi dell’approccio proposto `e che non `e richiesta alcuna conoscenza sui limiti riguardanti i pesi e gli errori. L’efficacia del metodo `e stata poi dimostrata su un impianto non lineare a singolo ingresso.

In [5] viene presentato un confronto tra schemi di controllo vettoriale del motore a induzione utilizzando l’osservatore di Leunberger, il filtro di Kalman e le reti neurali. Questi metodi sono in grado di incrementare le prestazioni di sistemi privi di sensori in quanto, in applicazioni industriali, `e richiesto che la loro complessit`a computazionale non sia troppo alta. Dai risultati sperimen-tali `e emerso che le reti neurali risultano essere molto affidabili per il controllo di motori a induzione senza sensori grazie alla semplicit`a dell’algoritmo e alla loro robustezza.

Anche Sun, Pei et al. [25] sfruttano le reti neurali focalizzandosi sul proble-ma di tracciamento della traiettoria per un robot proble-manipolatore in presenza di incertezze e disturbi. Inizialmente, `e stato progettato un controllore adattivo di tipo sliding mode come combinazione della tecnica sliding mode, delle reti neurali e della tecnica adattiva per assicure che il robot percorra la traiettoria prestabilita. In seguito, utilizzando la teoria di Lyapunov, viene dimostrato che l’errore di inseguimento tende a zero. Tuttavia, la dinamica del robot manipolatore non `e sempre disponibile. E’ stato dunque progettato un osser-vatore adattivo basato su reti neurali con lo scopo di stimare le velocit`a dei collegamenti. Successivamente `e stato dimostrato, sfruttando ancora la teoria di Lyapunov, che anche gli errori di stima dell’osservatore convergono asintoti-camente a zero. L’effettiva validit`a del metodo proposto viene infine verificata tramite un insieme di simulazioni ed esperimenti reali.

Nakagawa et al. [20] mostrano come nei sistemi di alimentazione, il calcolo della stima dello stato rivesta un ruolo fondamentale nei controlli di sicurez-za. Esso `e gi`a stato ampiamente utilizzato in sistemi di grandi dimensioni e pu`o essere effettuato abbastanza rapidamente. Tuttavia, per quanto riguar-da l’osservazione del sistema, si rivela necessario investire risorse nello studio di tecnologie che permettano il miglioramento intermini di tempi di calcolo allo scopo di raccogliere le informazioni necessarie il pi`u rapidamente possibi-le. La stima dello stato effettuata tramite calcolatori basati sulla macchina di Von-Neumann hanno ormai raggiunto un grande limite in termini di tecniche di risoluzione ed `e molto difficile aspettarsi metodi di calcolo sufficientemente efficienti dall’utilizzo di questo tipo di elaboratori. Per ovviare a questo pro-blema, gli autori hanno dunque sviluppato una teoria basata su reti neurali che presentano il vantaggio di essere in grado di svolgere algoritmi paralleli e hanno dimostrato una grande validit`a di applicazione nel calcolo della sti-ma dello stato. Le reti neurali dunque, essendo in grado di imparare, hanno iniziato ad attirare l’attenzione per ci`o che riguarda la loro applicazione in differenti attivit`a di controllo come lo sviluppo di controllori e l’identificazione dei processi.

(23)

2.5

Modelli energetici di riferimento

2.5.1

Modello empirico data driven

Per lo sviluppo del modello si fa riferimento ad un precedente studio effet-tuato da Di Franco e Buttazzo [8], in cui `e stato ottenuto un metodo per la modellazione e l’analisi del consumo energetico applicabile su un qualsiasi veicolo autonomo. Un insieme di esperimenti `e stato dunque effettuato in mo-do tale da comprendere in che momo-do il consumo energetico venga influenzato dalle diverse condizioni di volo come la velocit`a e l’accelerazione orizzontale e verticale. Il modello precedente `e dunque basato su equazioni e fa uso di un quadrotore IRIS controllato da una scheda PX4 e fornito di una telecamera GoPro. Esso `e guidato da quattro 850 KV motori brushless, `e alimentato da una batteria 3S Lipo (11.1 V, 5.5 Ah) e ha un peso di circa 1.3 kg in totale.

Un primo esperimento `e stato effettuato per monitorare il consumo di po-tenza del drone in funzione della velocit`a di volo raggiunta in stato di massima accelerazione. La velocit`a `e stata monitorata tramite il GPS presente a bordo e la corrente assorbita viene misurata dalla scheda di controllo. Il consumo di potenza `e stato dunque ricavato per ciascuna velocit`a, moltiplicando la cor-rente assorbita per la tensione di alimentazione.

Dato il consumo di potenza in funzione del tempo Pa(t), l’energia

consu-mata per variare la velocit`a da v1 a v2 con una data accelerazione a pu`o essere

ottenuta con la formula seguente:

Ea(v1, v2) =

Z t2:v=v2

t1:v=v1

Pa(t)dt

Un secondo esperimento `e stato effettuato per ricavare la potenza assorbita in funzione della velocit`a in diverse condizioni di volo quali innalzamento, discesa e volo stazionario. Una volta calcolata la funzione P (v), l’energia consumata dal drone per percorrere una distanza d con un moto rettilineo a velocit`a costante v viene calcolata nel modo seguente:

E0(v, d) =

Z dv

0

P(v)dt = P (v)d v

L’energia consumate durante i movimenti di salita e discesa per percorrere una distanza ∆h pu`o essere calcolata come

Eclimb(∆h) = Z ˆh2 vclimb h1 ˆ vclimb Pclimbdt= Pclimb ∆h vclimb Edesc(∆h) = Z ˆh1 vdesc h2 ˆ vdesc Pdescdt= Pdesc ∆h vdesc

L’energia assorbita durante il volo stazionario in un intervallo di tempo [t1, t2]

viene invece calcolata come

Ehover=

Z t2

t1

(24)

CAPITOLO 2. STATO DELL’ARTE 23

Un terzo e ultimo esperimento `e stato eseguito per misurare il tempo e la potenza necessaria per il movimento rotatorio. L’energia richiesta per compiere un angolo ∆θ `e calcolabile come

Eturn= Pturn

∆θ ωturn

dove la velocit`a angolare ωturne la potenza corrispondente Pturnpossono essere

considerate costanti durante l’intero movimento.

2.5.2

Modello basato sulla fisica del veicolo

L’altro modello a cui si fa riferimento in questa tesi `e quello proposto da Liu et al. [16], che evidenziano la stima del consumo energetico durante lunghi viaggi. I percorsi di volo si considerano costituiti da un segmento verticale di salita, una combinazione di segmenti orizzontali e un segmento verticale di discesa. Questo modello dunque, scompone la potenza assorbita in tre componenti fondamentali che vengono chiamate potenza indotta (Pi) che produce le spinte

necessarie per la salita e la discesa, potenza del prof ilo (Pp) che vince la

resistenza rotazionale incontrata dall’elica rotante, e potenza parassita (Ppar)

che si oppone alla resistenza del veicolo in caso di moto relativo traslazionale tra il veicolo stesso e il vento. Il modello pu`o quindi essere riassunto dalle seguenti formule: Pi(T, Vvert) = k1T   Vvert 2 + s  Vvert 2 2 + T k2 2  

Pp(T, Vair) = c2T3/2+ c3(Vaircosα)2T1/2

Ppar(Vair) = c4Vair3

Vair = ||Vair|| = ||Vground− Vwind||

T = q

(mq − (c5(Vaircos α)2+ c6T))2+ (c4Vair2 )2

Dove Vair, Vground, Vwind rappresentano rispettivamente la velocit`a orizzontale

dell’aria, la velocit`a del suolo e la velocit`a del vento. Invece k1, k2, c1, c2, c3,

c4, c5 sono parametri da indentificare attraverso esperimenti opportuni.

2.6

Definizione del problema

Come `e gi`a stato precedentemente affermato, i veicoli aerei autonomi sono spesso utilizzati per il trasporto di merci e per questo sono chiamati a per-correre tracciati prestabiliti. Si rende quindi necessario disporre di un sistema di pianificazione del volo in grado di definire un percorso sulla base della co-noscenza di un determinato insieme di punti di riferimento (chiamati anche waypoints) che il drone dovr`a visitare in sequenza. Questi punti dovranno

(25)

poi essere trasformati in traiettorie dall’autopilota (Figura 2.4), che in seguito provveder`a a calcolare gli opportuni ingressi a cui dovranno essere sottoposti i motori. Questi percorsi possono essere di varia lunghezza, e in pi`u il drone

Figura 2.4: Creazione di una traiettoria a partire da un insieme di waypoints

pu`o essere chiamato al trasporto di oggetti che possono avere una massa sco-nosciuta a priori o comunque variabile durante la missione. Anche le batterie possono costituire un limite al compimento del compito in quanto potrebbero essere non completamente cariche o avere una disponibilit`a energetica insuf-ficiente. Il problema relativo all’aspetto dell’energia del drone non `e unico,

Figura 2.5: Aree di ricerca riguardanti l’energia di UAV

ma pu`o includere diversi argomenti di ricerca (Figura 2.5) e in questa sede ci focaliziamo sull’aspetto che riguarda la gestione dell’energia. La scelta di una sorgente di alimentazione adatta inoltre, non `e immediata, e dipende da numerosi fattori come il tipo di missione, l’eventuale carico da trasportare e il consumo dei sottosistemi costituenti l’UAV. Tutti questi fattori infatti impon-gono la scelta di opportuni parametri.

I componenti a maggiore consumo energetico sono i sistemi di propulsione e il complesso di trasmissione in quanto la distanza tra la stazione di terra e l’UAV `e proporzionale all’assorbimento energetico dell’intero sistema. Infatti

(26)

CAPITOLO 2. STATO DELL’ARTE 25

se la distanza tra loro aumenta anche il quantitativo energetico richiesto au-menter`a. Anche i sensori utilizzati per l’acquisizione delle informazioni hanno un certo costo in termini di energia spesa. Il sistema UAV risulta inoltre do-tato di circuiti di controllo che contengono microprocessori e microcontrollori integrati la cui frequenza di clock `e elevata, e ci`o comporta un grande dispen-dio energetico. Lo scopo della tesi `e dunque quello di sviluppare un sistema di predizione dell’energia assorbita durante complessi processi di navigazio-ne senza entrare navigazio-nei dettagli del sitema di controllo. L’obiettivo principale `e quindi quello di stimare l’energia necessaria a percorrere un tracciato specifico, definito da una serie di waypoint, a partire da un insieme di caratteristiche del veicolo quali la massa, la sua velocit`a di navigazione e la sua accelerazione durante le manovre, tutte informazioni che possono essere misurate diretta-mente.

Un secondo obiettivo `e quello di stimare in tempo reale la massa del carico utile trasportato, date la velocit`a, l’accelerazione e la potenza reali, misurate dall’autopilota installato a bordo.

Figura 2.6: Diagramma a blocchi dell’intero sistema comprendente il sistema di pianificazione di volo e lo stimatore della massa

La figura 2.6 mostra il diagramma a blocchi dell’intero sistema evidenzian-do le interazioni tra il sistema di pianificazione del volo e il drone UAV.

Gli stimatori sono utilizzati come proposto da Bezzo, Mohta et al. in [3], dove le traiettorie possono essere modificate se i disturbi dovuti al vento alte-rano il costo energetico oltre una certa soglia. La massa del carico utile viene monitorata con lo stimatore di massa online e i valori calcolati vengono succes-sivamente inviati in retroazione al pianificatore di volo. Se la massa ad un certo istante viene modificata, il percorso rimanente risulter`a essere caratterizzato da un costo energetico superiore o inferiore a seconda dalla variazione della massa. In ogni caso `e sempre possibile ricalcolare il percorso opportunamente, considerando la variazione dei parametri.

(27)

e non sulle procedure di ripianificazione, il modello proposto `e stato testato servendosi di un meccanismo di sicurezza in grado di avviare un’operazione di ritorno alla posizione di partenza nel caso in cui l’energia rimanente non fosse sufficiente al completamento della missione ma solo per il ritorno alla posizione iniziale e l’atterraggio.

(28)

Capitolo 3

Reti neurali

Una rete neurale artificiale consiste di un modello computazionale che emula la struttura biologica del cervello (Figura 3.1). Esso rappresenta un sistema di neuroni virtuali interconnessi tra loro, che possono essere organizzati in una gerarchia di livelli. Il primo livello, detto di ingresso, `e costituito da un neurone per ogni valore di ingresso. Ciascuno di questi neuroni `e connesso ad ognuna delle unit`a costituenti il livello successivo, chiamato livello nascoto. Le unit`a di questo livello sono a loro volta connesse ai neuroni costituenti lo strato finale o di uscita. La vasta utilit`a computazionale di queste reti deriva dalla forte adattabilit`a del sistema. Queste reti diventano sempre pi`u accurate a mano a mano che l’addestramento prosegue in quanto esse sono in grado di modificare le connessioni adattando le risposte di ciascuna unit`a. Come gi`a affermato,

Figura 3.1: Configurazione semplificata di un neurone biologico

le reti neruali sono costituite da un certo numero di unit`a (neuroni) ognuna delle quali ha una struttura molto semplice ed `e costituita da molteplici in-gressi (proveniente da altri neuroni o dall’ambiente esterno), ma da un’unica uscita. Ciascuna delle connessioni di ingresso ha associato un numero reale che rappresenta un peso che pu`o essere modificato in modo da modellare l’ap-prendimento sinaptico. Un peso positivo dunque, avr`a un effetto eccitatorio sul neurone, mentre un peso negativo avr`a un effetto inibitorio. Fondamen-talmente si ha che ciascun neurone calcola una funzione f (detta funzione di attivazione) della somma pesata degli ingressi. La struttura generale di un neurone artificiale `e rappresentata nella seguente figura (3.2):

(29)

Figura 3.2: Struttura di un neurone artificiale

e la funzione di attivazione pu`o essere scritta mediante la seguente formula

yi = f ( n

X

j=1

wjixj)

L’uscita pu`o essere un numero reale, un numero reale ristretto ad un certo intervallo (es. [0,1] o [-1,1]) oppure un numero discreto (es. 0,1 o +1, -1). Nel caso pi`u semplice, f corrisponde alla funzione identit`a e dunque l’uscita del neurone coincide con la somma pesata degli ingressi.

A seconda di come i neuroni sono connessi tra loro `e possibile distinguere diversi tipi di reti neurali: ciascuna unit`a pu`o essere connessa a tutte le altre, le unit`a possono essere organizzate in un ordine gerarchico di livelli, dove le connessioni sono permesse esclusivamente tra i neuroni che fanno parte di livelli immediatamente adiacenti, i neuroni possono essere disposti in modo da permettere connessioni all’indietro a partire da unit`a successive ecc. (figura 3.3).

Figura 3.3: Rete neruale multistrato

Il numero di neuroni contenuto in ciascun livello di una rete multistrato di-pende dallo specifico problema da risolvere. Lo strato di ingresso `e passivo in quanto riceve semplicemente i dati da passare alla rete. Di conseguenza il numero di neuroni di ingresso coincide con la quantit`a di valori misurati pre-sentati alla rete. Lo strato nascosto e quello di uscita invece, processano i dati attivamente. Il numero di neuroni di uscita viene definito in base a problema

(30)

CAPITOLO 3. RETI NEURALI 29

specifico. Lo strato nascosto consente la modellazione di funzioni non lineari e la quantit`a di neuroni contenuti in esso viene scelto in base al conseguimento di opportune sperimentazioni.

Le reti neurali cos`ı costruite possono dunque essere utilizzate nei casi in cui si possiedono delle informazioni note da cui si desidera dedurre informa-zioni non note. Ovviamente deve esserci una correlazione tra i dati noti e quelli sconosciuti, e questa pu`o essere corrotta da rumore o in generale, la sua natura esatta pu`o non essere nota a priori. L’addestramento della rete viene quindi effettuato in modo tale che essa impari la relazione esistente tra i dati di ingresso e quelli di uscita.

Per quanto riguarda l’apprendimento della rete, sono presenti in letteratura diverse metodologie, di cui quella che viene utilizzata maggiormente `e quella chiamata apprendimento supervisionato (o spervised learning) che consiste nel modificare i pesi delle sinapsi applicando alla rete un insieme di esempi. Ciascun esempio consiste di un segnale di ingresso e della corrispondente uscita desisderata. La rete viene quindi sottoposta ad un certo numero di esempi che vengono selezionati casualmente all’interno dell’insieme di addestramento, e i pesi delle sinapsi vengono modificati in modo tale da minimizzare la differenza tra l’uscita desiderata (target) e il risultato effettivo prodotto dalla rete. Du-rante il training, l’intero insieme di addestramento viene presentato alla rete e successivamente viene ripetuto l’intero processo sottoponendo la rete agli stessi esempi gi`a presentati in precedenza ma con ordine diverso. Questo procedi-mento viene replicato fino a quando la rete raggiunge uno stato stabile in cui non ci sono pi`u variazioni significative dei pesi. La rete dunque apprende dagli esempi di addestramento e costruisce una mappatura tra i valori di ingresso e quelli di uscita che dipende strettamente dal problema in considerazione.

Come gi`a accennato in precedenza, la differenza tra l’uscita effettiva della rete e il risultato desiderato costituisce l’errore che viene utilizzato per aggiu-stare i pesi delle connessioni. Un esempio di regola di cui la rete si avvale per effettuare questa correzione basata sull’errore `e quella chiamata delta rule. L’errore pu`o essere scritto come δ = t − y dove y e t rappresentano rispetti-vamente l’uscita attuale della rete e il l’uscita target. La delta rule afferma dunque che l’aggiustamento da effettuare sui pesi `e espresso dalla seguente formula

∆wi = ηδxi

dove η `e un numero reale che rappresenta la velocit`a di apprendimento della rete. Successivamente si applica il seguente aggiustamento ai pesi

wi(n + 1) = wi(n) + ∆wi(n)

Si definisce poi una funzione di errore E con lo scopo di determinare i valori dei parametri (ad esempio i pesi) che la minimizzano.

3.1

Algoritmo Error Backpropagation

L’algoritmo utilizzato per l’addestramento della rete neurale `e quello chiamato Error Backpropagationche `e in grado di addestrare reti costituite da un

(31)

qual-siasi numero di nodi organizzati in un qualqual-siasi numero di strati. L’algoritmo si avvale di una generalizzazione della delta rule. Esso dunque calcola l’errore derivativo come δE δwij = δE δnetj δnetj δwij dove netj = n X i=1 xiwij

e wij rappresenta il peso associato all’arco che connette il nodo i con il nodo

j.

Si definisce poi

δj = −

δE δnetj

mentre la delta rule originaria definiva

δj = −

δE δoj

dove oj rappresenta l’uscita reale della rete neurale.

L’espressione di δj pu`o essere riscritta nel seguente modo

δj = δE δoj δoj δnetj Dato che Ek = 1 2 X j (tj − oj)2 si ha che δE δoj = −(tj − oj)

Data una generica funzione di attivazione f si ha che l’uscita della rete `e

oj = f (netj)

la sua derivata f0 `e data dunque da

δoj

δnetj

= f0(netj)

Dunque

δj = (tj− oj)f0(netj)

Inoltre, dato che, come gi`a detto netj =

P

(32)

CAPITOLO 3. RETI NEURALI 31

δnetj

δwij

= xi

Considerando il prodotto di ciascuna derivata e sostituendolo nell’equazione iniziale si ottiene

δE δwij

= −(tj − oj)f0(netj)xi = −δjxi

Ciascun peso deve essere modificato seguendo una direzione opposta alla deri-vata della superficie di errore. Esso risulta quindi essere calcolabile come

∆wij = ηδjxi

dove η rappresenta la velocit`a di addestramento. L’erroe δj `e applicabile ad un

nodo di uscita, ma l’errore relativo ai nodi appartenenti allo strato nascosto, non `e direttamente correlato all’uscita desiderata. Inoltre, per un generico nodo nascosto, l’errore `e dato da

δj = f (netj)

X

s

δswjs

dove l’indice s si riferisce allo strato che manda l’errore indietro.

L’algoritmo backpropagation pu`o dunque essere sintetizzato nella seguente serie di punti:

1. Inizializzazione dei pesi con piccoli numeri casuali (compresi tra 0 e 1). 2. Calcolo dell’uscita di tutti i nodi

oj =

1 1 + e−netj

3. Calcolo dell’errore per ciascun nodo di uscita

δj = (tj − oj)f0(netj) = (tj − oj)oj(1 − oj)

4. Calcolo dell’errore per ogni nodo di ciascuno strato nascosto

δj = f0(netj) X s δswjs= oj(1 − oj) X s δswjs

5. Aggiornamento dei pesi dei nodi di ciascuno strato

∆wij(n + 1) = ηδjoi + α∆wij(n)

6. Ripetizione a partire dal passo numero 2 per ogni istanza di training 7. Calcolo dell’errore sull’insieme di training: se `e inferiore alla

tolleran-za preimpostata l’algoritmo termina, altrimenti prosegue con l’addestra-mento.

(33)

3.2

Modalit`

a di training

Come gi`a precedentemente affermato, lo scopo dell’algoritmo back propagation `e quello di minimizzare l’errore globale. Per farlo, occorre calcolare la me-dia delle variazioni di peso all’interno dell’intero insieme di addestramento. Dunque, se M `e la dimensione di questo insieme si pu`o scrivere la seguente formula: ∆wji = 1 M M X k=1 ∆wji(k)

Ricapitolando, si ha che singolo passo di addestramento richiede che venga-no presentati alla rete tutti gli M esempi. Per ciascun esempio occorre poi memorizzare tutte le variazioni di peso e infine, una volta completato l’intero insieme di training, si aggiornano tutti i pesi. Un passo che consiste nell’aver presentato la totalit`a degli esempi alla rete viene chiamato epoca.

In letteratura, sono presenti tre diverse modalit`a di addestramento. La prima che viene presa in considerazione `e quella chiamata modalit`a batch che per ogni esempio contenuto nell’insieme di training (T S) calcola il valore della va-riazione di peso e dell’errore, valori che veogno aggiornati soltanto alla fine del ciclo. L’algoritmo pu`o essere scritto in pseudocodice nel seguente modo:

Algorithm 1 Backpropagation: Batch

1: procedure Batch Learning

2: Inizializza weights, η, , max epochs, epoch = 0;

3: do {

4: Inizializza l’errore globale E = 0;

5: for each (xk, tk) ∈ T S {

6: Calcola yjk ∀ strato;

7: Calcola δjk e ∆wji(k) ∀ strato;

8: Caclola l’errore Ek

9: }

10: Aggiorna i pesi ∆wji calcolandone la media su T S;

11: Aggiorna l’errore globale: E = E + Ek;

12: epoch+ +;

13: } while ((E > ) e (epoch < max epoch))

Nel caso in cui si abbiamo reti neurali molto grandi o un ingente insieme di dati l’algoritmo back propagation richiede una quantit`a eccessiva di memoria. Inoltre, dato che ciascun passo di apprendimento viene completato solo dopo aver presentato l’intero insieme di dati alla rete, il processo di addestramen-to compleaddestramen-to pu`o risultare moladdestramen-to lenaddestramen-to. Per ovviare a quesaddestramen-to problema esiste un algoritmo chiamato discesa stocastica del gradiente (stochastic gradient descent) che consiste in un metodo iterativo in grado di risparmiare tempo e memoria effettuando la stima del gradiente per un piccolo numero m di cam-pioni di ingresso scelti a caso. E’ stato dimostrato che calcolando la media su questo piccolo insieme di campioni `e possibile ottenere in tempi rapidi una stima del valore reale del gradiente. L’insieme degli m campioni scelti `e

(34)

chia-CAPITOLO 3. RETI NEURALI 33

mato mini − batch e i pesi vengono aggiornati solo dopo aver presentato alla rete questo piccolo insieme di dati.

Per fare in modo che vengano scelti tutti i campioni dell’insieme di training si rende opportuno effettuare un’operazione preliminare di rimescolamento dei campioni che poi verrando raggruppati in mini−batch, ciascuno di dimensione m.

L’algoritmo pu`o dunque essere descritto in pseudocodice come segue:

Algorithm 2 Backpropagation: SGD procedure SGD Learning

2: Inizializza weights, η, , m, max epochs, epoch = 0, iter = 0; do {

4: Inizializza l’errore globale E = 0; Rimescola l’insieme di training TS;

6: epoch+ +;

for each (mini − batch di m campioni)

8: Calcola yjk ∀ strato;

Calcola δjk e ∆wji(k) ∀ strato;

10: Caclola l’errore Ek

}

12: Aggiorna i pesi ∆wji calcolandone la media sul mini-batch;

Aggiorna l’errore globale: E = E + Ek;

14: iter+ +;

} while ((E > ) e (epoch < max epoch))

L’ultima modalit`a di addestramento che descritta `e quella online che rappre-senta una versione del SGD in cui ciascun mini − batch ha dimensione uno. A mano a mano che la dimensione del mini − batch decresce si ha che il pro-cesso di apprendimento diventa sempre pi`u veloce, ma la stima del gradiente `e sempre meno precisa. L’algoritmo pu`o essere descritto in pseudocodice nel modo seguente:

Algorithm 3 Backpropagation: Online procedure Online Learning

Inizializza weights, η, , m, max epochs, epoch = 0, iter = 0;

3: do {

Inizializza l’errore globale E = 0; Rimescola l’insieme di training TS;

6: epoch+ +;

for each (xk, tk) ∈ T S {

Calcola yjk ∀ strato;

9: Calcola δjk e ∆wji(k) ∀ strato;

Aggiorna tutti i pesi con ∆wji(k);

Caclola l’errore Ek;

12: iter+ +;

Aggiorna l’errore globale: E = E + Ek;

}

(35)

3.3

Problema dei minimi locali

Una difficolt`a che si presenta nell’addestramento delle reti neurali `e che, in problemi reali, le superfici di errore potrebbero avere diversi minimi locali, e durante il training la rete pu`o rimanere intrappolata in uno di questi. L’unico modo per uscire da un minimo locale `e quello di effettuare un salto sufficien-temente alto prima di discendere nuovamente verso il minimo globale.

Una tecnica che permette di uscire da un minimo locale `e quella che con-siste nell’utilizzo di un termine denominato momentum. Chiamanto m il momentum dunque l’aggiornamento dei pesi ad un certo istante di tempo diventa come segue:

∆ij(n + 1) = ηδjxi+ m∆wij(n)

Il fattore 0 < m < 1 `e dunque un nuovo parametro globale che deve essere determinato tramite procedure trial and error. Esso dunque aggiunge una frazione m del del precedente aggiornamento dei pesi a quello corrente. Quando il gradiente tende a puntare sempre nella stessa direzione questo far`a in modo da incrementare l’ampiezza dei passi verso il minimo. In altre parole, il momentum favorisce il movimento verso una direzione fissa in modo tale che un insieme di passi venga effettuato nella stessa direzione.

In generale, se si imposta un temino di momento m grande (vicino a 1) `e necessario ridurre il learning rate η. Infatti, utilizzare un alto momento in combinazione con un ampio learning rate pu`o provocare il superamento del minimo con passi troppo estesi.

3.4

Prestazioni della rete

Una volta terminato il training `e possibile salvare i pesi ottenuti ed essere utilizzati per la classificazione dei campioni. Una rete neurale possiende dun-que la capacit`a di generalizzare ossia di classificare correttamente campioni di ingresso leggermente diversi da quelli utilizzati per effettuare l’addestramento. Per poter valutare la capacit`a che ha la rete di generalizzare i dati sell’insieme di training (TS) si definisce un ulteriore insieme detto di validazione (VS). Quando l’addestramento `e terminato `e possibile calcolare l’errore sull’insieme di validazione per poi definire la seguente quantit`a

γ = ET S EV S

che in generale fornisce una buona stima della capacit`a di generalizzazione della rete anche se l’errore non `e direttamente correlato alla qualit`a della classificazione.

La capacit`a di apprendimento della rete dipende anche dal numero di neu-roni scelti per lo strato nascosto. Un numero insufficiente di neuneu-roni infatti pu`o compromettere l’apprendimento della rete e comportare un’approssizione scorretta della funzione a cui vogliamo che la rete si avvicini con conseguenti ampi errori sia sull’insieme di training che su quello di validazione (Figura 3.4). Un numero eccessivo di neuroni nello strato nascosto invece pu`o adatta-re abbastanza bene i campioni contenuni nell’insieme utilizzato per effettuaadatta-re

(36)

CAPITOLO 3. RETI NEURALI 35

Figura 3.4: Apprendimento scorretto causato da un numero insufficiente di neuroni nello strato nascosto

l’addestramento (ET S < ), ma pu`o causare un fallimento nella

generaliz-zazione dei campioni dell’insieme di validazione (EV S troppo alto). Questo

fenomeno viene chiamato overf itting o overtraining (Figura 3.5).

Figura 3.5: Overf itting causato da un numero eccessivo di neuroni nello strato nascosto

Per evitare l’overtraining `e possibile effettuare un testing durante l’ad-destramento e ci`o permette di evidenziare quando occorre interrompere il training per evitare una memorizzazione scorretta dai dati di ingresso.

Tracciando dunque gli errori sull’insieme di validazione e sul quello di ad-destramento si pu`o vedere che in generale entrambi gli errori decrescono velo-cemente nella fase iniziale del training in quanto tendono a spostarsi dalla loro posizione iniziale casuale. Col passare del tempo, entrambe le curve assumono una forma pi`u piatta e di solito, l’errore calcolato sull’insieme di addestramen-to continua a decrescere ma quello calcolaaddestramen-to sull’insieme di validazione pu`o salire nella fase finale (Figura 3.6). Questo incremento indica che la rete ha smesso di imparare ci`o che i campioni di ingresso hanno in comune con quelli utilizzati per la validazione e ha iniziato a memorizzare caratteristiche prive di significato. Queso overf itting dei dati di addestramento compromette la ca-pacit`a della rete di generalizzare in quanto essa memorizza solamente il rumore

(37)

Figura 3.6: Incremento dell’errore di validazione nella fase finale dell’addestramento

presente in questi dati. Per ottenere le migliori prestazioni di generalizzazio-ne occorre dunque interrompere l’addestramento della rete generalizzazio-nel momento in cui l’errore sui campioni di validazione raggiunge il suo valore minimo. La configu-razione corrispondente a questo punto rappresenta la migliore configuconfigu-razione del problema.

(38)

Capitolo 4

Modello di potenza basato su

reti neurali

4.1

Programma M ission P lanner

Gli esperimenti effettuati per lo svolgimento della presente tesi sono stati ese-guiti servendosi di un Quadcopter della famiglia IRIS facendo uso del program-ma M ission P lanner (Figura 4.1) creato da Michael Oborne, appartenente al gruppo software ArduP ilot.

Figura 4.1: Programma M ission P lanner

Il programma, tra le varie funzionalit`a, permette di creare e scaricare file log, ossia documenti che costituiscono dei veri e propri registri in cui vengono ri-portati tutti i dati relativi alla specifica missione svolta. Essi possono essere di due tipi, ma entrambi registrano dati molto simili anche se in diversi mo-di: i log di tipo Dataf lash sfruttano una memoria f lash installata a bordo del veicolo, mentre i log di tipo T elemetry utilizzano direttamente il M ission P lannero un’altra stazione fissa a terra per registrare i dati. I log utilizzati in

(39)

questa sede sono di tipo dataf lash. Essi sono disponibili alla fine di ciascun volo e sono cotituiti da diverse strutture contenenti i dati raccolti da ciascun sensore di cui il drone `e provvisto. Le strutture principali sono riportate di seguito con la spiegazione relativa a ciascun dato:

ATT (Informazioni di assetto)

DesRoll Angolo i rollio desiderato dal pilota (in gradi) Roll Angolo di rollio effettivo (in gradi)

DesPitch Angolo di beccheggio desiderato dal pilota (in gradi) Pitch Angolo di beccheggio effettivo (in gradi)

DesYaw Angolo di imbardata desiderato dal pilota in gradi (specifica la direzione con 0 = nord)

Yaw Angolo di imbardata effettivo in gradi (0 = nord) ErrRP Dimensione media della stima dell’errore di roll/pitch

(valori tra 0 e 1)

ErrYaw Dimensione media della stima dell’errore di yaw (valori tra 0 e 1)

CMD (Comandi ricevuti dalla stazione fissa a terra)

CTot Numero totale di comandi nella missione CNum Numero del comando specifico nella missione CId Identificatore del messaggio

Copt Parametro opzionale (utilizzato per scopi differenti) Prm1 Parametro di comando

Alt Altitudine del comando (in metri) Lat Latitudine del comando

Lng Longitudine del comando

COMPASS (Dati provenienti dalla bussola di bordo)

MagX, MagY. MagZ Valori del campo magnetico per gli assi x, y, z

OfsX, OfsY, OfsZ Valori di offset per il campo magnetico MOfsX, MOfsY, MOfsZ Valori di compensazione per il campo

magnetico

CURR (Informazioni su voltaggio e corrente della batteria) Thr Valore di ingresso al dispositivo di controllo (da 0 a 1000) ThrInt Valore integrato del dispositivo di controllo

Volt Voltaggio della batteria in Volt*100

Curr Corrente assorbita dalla batteria in Amp*100 Vcc Voltaggio della scheda

Riferimenti

Documenti correlati

Dalla figura 17 osserviamo che la funzione di errore rispetto ai dati di prova assume il valore minimo quando lo strato nascosto ha 19 unit` a nascoste. In questo caso la

Infine, un altro aspetto relativo alla sicurezza delle reti neurali è legato ad una tecnica in grado di generare immagini (dette adversarial sample) [16, 18] che appaiono normali

Quando una rete neurale è utilizzata come classificatore multi- classe, l’impiego della funzione di attivazione softmax consente di trasformare i valori di net prodotti

• Il legame input Æ output, ovvero la funzione di trasferimento della rete, non viene programmato ma è semplicemente ottenuto tramite un processo di apprendimento basato su

La fase di apprendimento delle reti neurali, tramite l’algoritmo di back-propagation, `e in sostanza la soluzione iterativa di un problema di minimi quadrati per mezzo

 Nelle reti neurali la stima dei parametri, ossia il processo che porta alla determinazione dei valori numerici dei pesi, è chiamata learning o training; tale fase è costituita da

• We developed RBF ANN for the prediction of the in-cylinder pressure and pressure-derived engine parameters using as an input accelerometer signal. • In order to understand

Reconstruction of In-Cylinder Pressure in a Diesel Engine from Vibration Signal Using a RBF Neural.