• Non ci sono risultati.

Sviluppo di un algoritmo IMM per un sistema di tracking UAV

N/A
N/A
Protected

Academic year: 2021

Condividi "Sviluppo di un algoritmo IMM per un sistema di tracking UAV"

Copied!
134
0
0

Testo completo

(1)

UNIVERSITÀ DI PISA

DIPARTIMENTO DI INGEGNERIA

CIVILE E INDUSTRIALE

Corso di Laurea Magistrale in

Ingegneria Aerospaziale

Tesi di laurea

Sviluppo di un Algortimo IMM per un

Sistema di Tracking UAV

Relatore:

Prof. Ing.

Giovanni Mengali

Tutor IDS:

Ing.

Riccardo Cioni

Candidato:

Dimitri Dolci

Anno Accademico 20162017

(2)
(3)

Alla mia famiglia, senza la quale nulla sarebbe stato possibile

(4)
(5)

Sommario

Nella presente tesi è stato implementato un algoritmo di tipo IMM (Interacting Multile Model) per un sistema di tracking UAV, in collaborazione con l'IDS Corporation. L'idea alla base di questo progetto nasce dall'interesse, da parte dell'azienda, nella risoluzione di alcune problematiche attualmente presenti nello scenario UTM (UAV Trac Mana-gement). Tra queste, la tracciatura degli UAV in una certa regione riveste un ruolo di primaria importanza, soprattutto per lo sviluppo degli algoritmi di collision avoidance e di path planning.

La necessità di tracciare sia UAV ad ala ssa che multirotore, quindi bersagli con dinami-che diverse tra loro, ha giusticato l'utilizzo di un approccio a modelli multipli piuttosto che un singolo ltro di Kalman.

Nella prima parte della tesi, viene presentato lo schema logico dell'algoritmo IMM, pa-ragonandone le prestazioni con quelle di un ltro di Kalman. Inoltre, sono introdotti i modelli matematici utilizzati per la descrizione della dinamica dell'UAV bersaglio, con particolare attenzione alle tecniche utilizzate per la loro implementazione.

Le misurazioni radar relative al range ed all'azimuth, che costituiscono gli ingressi all'algo-ritmo IMM, sono simulate partendo dalla traccia vera dell'UAV bersaglio ed aggiungendo un rumore di misurazione bianco, Gaussiano, a valor medio nullo e deviazione standard nota, data dall'IDS Corporation sulla base delle performance del radar. Si è considerata come vera traccia dell'UAV bersaglio la posizione fornita dall'ADS-B installato a bordo dello stesso. Una parte del codice è dedicata all'elaborazione dei dati ADS-B forniti dal-l'azienda in modo da renderli utilizzabili per l'algoritmo IMM.

La seconda parte della tesi è incentrata sull'analisi dei risultati ottenuti dalle simulazioni eettuate sull'architettura scelta, dove particolare attenzione è stata dedicata ai parame-tri di tuning. Le tracce ADS-B sono state fornite dall'IDS Corporation e si basano sui dati raccolti in Spagna precedentemente l'inizio del seguente lavoro di tesi e su quelli presi nel campo volo dell'azienda in un test eettuato con il quadricottero IA-3 Colibrì. Una breve sezione è dedicata all'analisi delle prestazione dell'algoritmo al variare degli errori di misurazione del radar e del loro scatter.

Due tipologie di simulazioni sono state eseguite: delle single-run principalmente utilizzate per studiare le probabilità dei singoli modelli ed il soddisfacimento dei requisiti imposti dall'IDS Corporation relativamente agli errori in range ed azimuth, e delle simulazioni di Monte Carlo per vericare la consistenza dello stimatore e la scelta dei parametri di tuning.

(6)

Abstract

In the present thesis, an IMM (Interacting Multiple Model) algorithm is implemented in MATLAB for the development of a tracking system for UAVs. The project has been done in collaboration with IDS Corporation, an Italian company leader in the growing discipline of UTM (UAV Trac Management). The aim of this work is to nd a possible solution for one of the open issues in UTM: how to track all the UAV categories, suche as xed-wing and multirotor UAVs. This problem is of great interest in the UTM present scenario, since it is strongly linked to the improvement of collision avoidance and path planning algoritms.

The dierent dynamics between xed-wing and multirotor UAVs justies the utilization of a multiple model approach instead of a single Kalman lter, as usually done in estimation and tracking problems.

In the rst part of the thesis, the recursive scheme of the IMM algorithm and its benets are described. Moreover, the models used for representing the are used for the dynamic of the target UAV are descripted in detail.

The radar measurements, with respect to range and azimuth, which are the input of the algoritm, are created from the real state of the target UAV, by adding white Gaussian noise, with zero mean and error variance given by IDS Corporation. The real track is simuòated as the ADS-B data of position sent by the target UAV. A section is focused on the methods used for ADS-B data processing and for the generation of the inputs for each sampling interval.

The second part of the thesis is completely dedicated to the choice of the architecture and the setting of tuning parameters of the algorithm, with the subsequent analysis of the results for each simulation. There are two kinds of ADS-B tracks used for testing the algorithm: tracks collected in Spain before the beginning of this work, and a track from a test in IDS Corporation with the IA-3 Colibrì, a quadricopter made in the company. A brief section illustrates the eect of the variation in the radar measurements errors on the performance of the IMM Estimator.

Two types of simulations are performed: a single run, for checking the satisfaction of requisites in terms of range and azimuth errors provided by IDS Corporation, and Monte-Carlo simulations for verifying the consistency of the estimator and the choice of the tuning parameters.

(7)
(8)
(9)
(10)
(11)

Lista degli Acronimi

ADS-B Automatic Dependent Surveillance - Broadcast ATC Air Trac Control

ATM Air Trac Management BVLOS Beyond Visual Line of Sight DWNA Discrete White Noise Acceleration DWPA Discrete Wiener Process Acceleration EKF Extended Kalman Filter

FAA Federal Aviation Administration HOT Higher Order Terms

ICAO International Civil Aviation Organization IMM Interacting Multiple Model

KF Kalman Filter LF Likelihood Function NCT Nearly Coordinated Turn MM Multiple Model

NEES Normalized Estimation Error Squared PDF Probability Density Function

RMS Root Mean Square SAA Sense and Avoid

UAS Unmanned Aircraft System UAV Unmanned Aerial Vehicle sUAV small Unmanned Aerial Vehicle UTM UAS Trac Management VLOS Visual Line of Sight

(12)

Lista dei Simboli

Γ matrice di guadagno del rumore di processo discretizzata nel tempo

δij funzione delta di Kronecker

T intervallo di campionamento φ azimuth

φm azimuth misurato

Λ funzione di probabilità

ν residuo della misurazione o innovazione µ probabilità del modello

πij elementi della matrice di Markov

Ω velocità angolare

σθ deviazione standard di θ

σ2

θ varianza di θ

A matrice del sistema

B matrice di guadagno degli input C matrice delle misurazioni

c costante di normalizzazione

D matrice di guadagno del rumore del processo E[·] valore atteso

F matrice di transizione di stato f funzione di stato non lineare fx Jacobiano della funzione f

G matrice di guadagno degli input discretizzata nel tempo

H matrice delle misurazioni discretizzata nel tempo K guadagno del ltro

m modello matematico

N (x; ¯x, σ2) PDF di una variabile random Gaussiana x, con valor

medio ¯x e deviazione standard σ

N (¯x, σ2) distribuzione Gaussiana con valor medio ¯x e varianza

(13)

Lista dei Simboli

nx dimensione del vettore x

P matrice di covarianza dello stato stimato

P (k) matrice di covarianza dello stato stimato, discretizza-ta nel tempo, e valudiscretizza-tadiscretizza-ta all'isdiscretizza-tante di campionamento k

P (k|j) matrice di covarianza condizionale dello stato al tempo k date le osservazioni no al tempo j

Q matrice di covarianza del rumore di processo R matrice di covarianza del rumore di misurazione

r range

rm range misurato

S covarianza dell'innovazione u vettore degli input

v vettore del rumore del processo continuo nel tempo w vettore del rumore di misurazione

x vettore degli stati

x(k) vettore degli stati discretizzato nel tempo, valutato all'istante di campionamento k ¯ x valore atteso di x ˆ x stima di x ˜

x errore nella stima di x z vettore delle misurazioni

(14)
(15)

Capitolo 1

Introduzione

1.1 UTM (UAV Trac Management)

Negli ultimi anni gli UAV (Unmanned Aerial Vehicles) stanno riscuotendo un grande successo. Il fattore che ha sicuramente dato un enorme contributo alla loro massiva com-mercializzazione è la versatilità che questi prodotti possono orire al mercato odierno. Si guardi, per esempio, ai recenti progetti di Amazon e DHL, i quali stanno investendo molte risorse nella realizzazione di un servizio cargo oerto da sUAV (small UAV) per la conse-gna e spedizione di pacchi. Oppure il vasto impiego nell'ambito dell'ingegneria civile ed ambientale, in cui gli sUAV vengono utilizzati per la mappatura del terreno, per il rilievo topograco in zone impervie o colpite da disastri naturali, quali terremoti o alluvioni. Re-centemente hanno anche trovato numerose applicazioni nel campo dell'agricoltura, dove vengono utilizzati per lo spargimento di spray. Vengono inoltre usati per nella sicurezza e sorveglianza del territorio o industrie, un settore sempre più importante negli ultimi anni. Inne, gli sUAV, essendo ormai facilmente acquistabili e non richiedendo particolati patenti, trovano largo impiego nei settori dell'intrattenimento e dell'hobbistica. In Figu-ra ?? viene fornita una panoFigu-ramica delle applicazioni più comuni degli sUAV in ambito civile. Da molti anni, invece, gli UAV sono stati utilizzati in ambito militare, grazie alla possibilità di controllarli per via satellitare ed alla maturità tecnologica raggiunta. In ge-nere, gli UAV impiegati in tale settore hanno dimensioni notevolmente maggiori rispetto a quelli civili, mostrati in Figura ??.

I dati relativi al mercato degli UAV sono allarmanti. Basti pensare che negli Stati Uniti, secondo il database della FAA (Federal Aviation Administration), il 12 Maggio 2016 vi erano già 469950 utenti registrati, per lo più hobbisti, possessori di UAV, e che è predetta una crescita di circa 2.7 milioni l'anno per il 2020 [?]. Uno scenario simile, seppur con numeri ridotti, è presente anche in Europa. A tutto ciò, va aggiunto il fatto che gli UAV vanno ad inserirsi in uno spazio, quello aereo, già largamente regolamentato dall'ICAO (International Civil Aviation Organization) e dalla FAA, e controllato dagli organismi di ATC (Air Trac Control). Questo necessita l'introduzione di nuove normative e

(16)

regola-1.1 UTM (UAV Trac Management)

Figura 1.1: Applicazioni degli UAV

mentazioni fatte ad hoc per il usso di droni previsto nei prossimi anni. In particolare, ogni UAV deve essere in grado di evitare collisioni con tutti gli ostacoli statici, quali edici, strutture pubbliche o vegetazione, e dinamici, quali altri UAV, uccelli o velivoli dell'aviazione civile, presenti nel suo percorso. Questo vale sia per le operazioni in VLOS (Visual Line of Sight), cioè con il drone pilotato a vista, che per le operazioni BVLOS (Beyond Visual Line of Sight), cioè con il drone pilotato oltre la linea di vista. Per que-st'ultimo caso, a volte viene richiesto all'UAV di individuare ed evitare autonomamente le collisioni; le tecniche utilizzate per questa funzionalità prendono il nome di SAA (Sense and Avoid) e sono tutt'ora oggetto di studio ed in fase di perfezionamento. Inne, ma non meno importante, l'avvento degli UAV porta con sé problematiche di natura sociale, soprattutto legate alla privacy, e di sicurezza, in quanto gli UAV possono essere utilizzati per spionaggio del territorio o per attacchi terroristici, soprattutto se non registrati dalle autorità competenti.

Per quanto detto, risulta evidente la necessità di creare un ente organizzato capace di gestire e controllare l'attuale usso degli UAV in relazione alle esigenze degli utenti, delle aziende investitrici ed alle norme sul traco aereo vigenti in ogni stato. Inoltre, tale ente dovrà anche essere facilmente "scalabile", nel senso che dovrà essere in grado di adattarsi alle future richieste del mercato.

Da qui nasce il concetto di UTM (UAV Trac Management). Sulla base di quanto fatto in passato per l'ATM (Air Trac Management), molti stati, tra cui gli USA, il Canada e le nazioni dell'Unione Europea, stanno gettando le basi per l'integrazione di UAV di piccole e grandi dimensioni nello spazio aereo civile, creando precise regolamentazioni, patenti per i piloti ed enti regolatori per l'UTM. Tutto ciò viene fatto ponendosi delle scadenze abbastanza strette (per la FAA si parla del 2020), in accordo con le esigenze delle aziende interessate, come Amazon e Google.

Un problema ancora aperto riguarda la delega di responsabilità per l'UTM, cioè a quale ente adare la funzione di gestione ed organizzazione del traco degli UAV. Molti sono d'accordo nel non dare questo compito all'ATM, essendo il traco dei velivoli civili già di

(17)

1.1 UTM (UAV Trac Management)

per sé saturo, a causa della sempre più crescente richiesta. Un'alternativa proposta dalla FAA [?], consiste nel decentralizzare il controllo del traco degli UAV ad enti locali, i quali devono far rispettare le regolamentazioni decise da un organo centrale, quale la FAA o l'ICAO. Tutti questi metodi si basano sul fatto che, come per l'ATC, una persona possa gestire un numero suciente (ma pur sempre limitato) di velivoli. Questa aermazione non risulta più valida per il controllo di grandi otte di droni: infatti il numero di droni che voleranno sopra una città sarà di gran lunga maggiore rispetto al numero di velivoli civili. Una possibile soluzione a tale problema è l'automatizzazione del processo di gestione e controllo del traco degli UAV, grazie anche alle tecnologie presenti a bordo (ancora in fa-se di perfezionamento) ed alla pianicazione delle rotte tramite GPS. L'automatizzazione dell'UTM va a pari passo con il miglioramento delle tecnologie di SAA ed il ranamento degli algoritmi di path planning; per maggiori dettagli si guardino [?],[?],[?],[?],[?]. Considerando lo stato attuale dell'arte delle tecnologie per gli UAV di uso civile, le principali restrizioni per il volo a bassa quota in zone popolate sono dovute a:

ˆ operazioni all'interno di zone dove il traco aereo è controllato e regolamentato, in cui potrebbero esser presenti altri velivoli civili e zone in cui il volo non è permesso (geo-fencing), richiedono dei requisiti sui sistemi a bordo dell'UAV molto stringenti e con un alto livello di maturità tecnologica;

ˆ considerazioni di privacy, in quanto gli UAV possono montare sensori, quali fotoca-mere, che possono violare la privacy delle persone;

ˆ sicurezza nazionale. Si possono individuare tre livelli di pericolo: UAV non registrati con intenti terroristici; UAV registrati che sorvolano zone vietate al traco aereo ed UAV registrati che hanno subito un attacco hacker e non sono più controllabili; ˆ considerazioni ambientali, in quanto gli UAV possono produrre inquinamento

acu-stico nelle grandi città, dove il usso è maggiore.

Nelle prossime sezioni vengono brevemente descritte le principali proposte della NASA (in collaborazione con la FAA), dell'EASA (European Aviation Safety Agency) e di Ama-zon, in termini di divisione dello spazio aereo e classicazione degli UAV all'interno di un possibile scenario UTM.

1.1.1 Proposta UTM della NASA

Da molti anni la NASA ha intrapreso un progetto in collaborazione con la FAA per la denizione del "Concept of Operations", cioè delle linee guida da seguire per la creazione di un sistema UTM ben strutturato. Il primo passo è stata la denizione dei principali ambienti di volo per gli UAV:

(18)

1.1 UTM (UAV Trac Management)

ˆ operazioni all'interno dello spazio aereo non controllato (classe G, quote di volo inferiori a 4400 m negli Stati Uniti). Gli UAV devono condividere lo spazio aereo con velivoli civili senza l'ausilio dell'ATC, evitando le possibili collisioni in volo; ˆ operazioni all'interno dello spazio aereo controllato, con UAV separati dal traco

aereo. In questo caso gli UAV possono beneciare della presenza di aeroporti o torri di controllo;

ˆ operazioni all'interno dello spazio aereo controllato. Gli UAV devono seguire le regolamentazioni imposte dalla FAA e soddisfare determinati requisiti tecnologici. La NASA si concentra prevalentemente sul primo ambiente di volo.

Per accelerare l'ingresso degli UAV nella classe G in maniera sicura, adabile ed eciente, la NASA ha proposto le seguenti linee guida:

ˆ garantire l'ingresso delle operazioni BVLOS, condividendo il piano di volo, l'ora di partenza e l'ora di arrivo stimata e l'area operativa;

ˆ garantire un appropriato livello di trasparenza, principalmente per motivi di privacy e sicurezza. In questo modo chiunque può accedere alle informazioni riguardanti l'UAV ed il pilota;

ˆ creare un inventario dei vari tipi di UAV, includendo inoltre le modalità di lancio degli stessi;

ˆ permettere a dierenti tipi di operatori di accedere alla classe G. In particolare gli operatori saranno classicati in base alle performance dell'UAV ed alle sue capacità di portare a compimento la missione;

ˆ condivisione delle informazioni con altri enti. Ciò permetterebbe la condivisione del traco, delle condizioni meteo e dello status del terreno per un eventuale atterraggio. L'architettura ed il usso delle informazioni tra i componenti principali dell'UTM proposta dalla NASA è riportata in gura ?? mentre i ruoli e le responsabilità degli operatori e dei regolatori sono elencati in gura ??. Per maggiori informazioni si rimanda a [?]. Come si può notare, l'architettura è prevalentemente decentralizzata e le responsabilità allocate ad ogni componente sono ben denite; molti servizi vengono forniti da enti esterni all'UTM. Sulla base dell'architettura rappresentata in gura ??, la NASA, in collaborazione con la FAA, ha creato una piattaforma, utilizzabile sia da cellulare, tablet e computer, grazie alla quale è possibile sperimentare la nuova proposta di UTM. Ogni operatore che avrà accesso alla piattaforma, potrà utilizzarne i servizi, come i dati meteorologici, i dati sul traco aereo e sulle zone in cui è vietato il passaggio. Inoltre ogni utente può comunicare con altri operatori, condividendo il piano di volo ed accedere alle informazioni condivise da altri piloti.

(19)

1.1 UTM (UAV Trac Management)

Figura 1.2: Architettura e usso delle informazioni - UTM

Figura 1.3: Ruoli e Responsabilità degli operatori e dei regolatori

I test che la NASA sta compiendo insieme alla FAA si basano su quattro fattori legati al rischio della missione: il numero di persone, il numero di edici o proprietà, il numero di velivoli civili operanti in prossimità dell'UAV e la densità di UAV nella zona. Sulla base di quanto detto, la NASA ha denito quattro TCLs (Technical Capability Levels), ovvero quattro livelli di capacità tecnologica ed organizzativa che, se superati, validano le operazioni dell'UAV e dell'architettura UTM per quel determinato livello. Nella gura ?? sono riportati i TCLs proposti dalla NASA. Il primo livello è stato testato e superato con successo nell'Agosto del 2015 al Crows Landing Airport in California.

(20)

1.1 UTM (UAV Trac Management)

Figura 1.4: TCLs Proposti dalla NASA

1.1.2 Proposta UTM dell'EASA

L'approccio dell'EASA è leggermente diverso da quello della NASA. Sebbene anche questo si basi sul rischio, inteso come danni alle persone, agli edici o a velivoli civili, l'EASA ha classicato le operazioni con UAV in tre grandi categorie, ognuna delle quali ha delle speciche regolamentazioni. Di seguito sono riportate le suddette categorie:

ˆ categoria aperta (Open Category). In questa categoria si collocano le operazioni a basso rischio, dove non è necessaria la diretta sorveglianza delle autorità. Per questo tipo di operazioni non sono richiesti permessi particolari né patenti per i piloti. Gli UAV devono volare in VLOS, ad una distanza massima dal pilota di 500 m e ad un'altezza non superiore a 150 m dal livello del mare. I voli sopra folle di persone o aree riservate sono vietati, così come le operazioni in città o aree popolate.

ˆ categoria per operazioni speciche (Specic Operation Category). Questa categoria deve coprire tutte le caratteristiche della categoria precedente. L'operatore deve eettuare un'analisi dei rischi della missione e provvedere a misure preventive, le quali saranno supervisionate dalla NAA (National Aviation Authority). Quest'ul-tima dovrà poi rilasciare un'autorizzazione per la missione se i requisiti sono stati adeguatamente soddisfatti.

ˆ categoria certicata (Certied Category). Quando il livello di rischio di una missione è abbastanza elevato da esser paragonabile a quello di un velivolo civile, allora si parla di categoria certicata. Le regolamentazioni per questa categoria sono le stesse di quelle dell'aviazione civile. Ne seguirà un requisito elevato sul livello tecnologico dei sistemi a bordo degli UAV.

Anche l'EASA, come la NASA, consiglia la creazione di un portale web, gestito dalle autorità locali, aperto ad ogni operatore. La registrazione a tale portale garantirebbe la tutela della privacy dell'utente ed un maggior livello di sicurezza, grazie alla condivisione

(21)

1.1 UTM (UAV Trac Management)

Figura 1.5: Divisione dello spazio aereo proposta da Amazon dei dati di volo. Maggiori dettagli sono forniti in [?].

1.1.3 Proposta UTM di Amazon

Amazon crede che la soluzione più eciente e sicura sia segregare le operazioni degli UAV nello spazio aereo inferiore ai 500 piedi (circa 152 m), in modo tale da evitare conitti con i velivoli dell'aviazione civile. Amazon ha pertanto proposto di suddividere lo spazio aereo inferiore ai 500 piedi in una serie di fasce, come illustrato in gura ?? e descritte brevemente di seguito:

ˆ spazio aereo inferiore a 200 piedi (Low-Speed Localized Trac Area). Questa fa-scia sarà riservata alle operazioni che coinvolgono UAV aventi uno scarso equi-paggiamento di bordo ed il volo sopra zone densamente popolato sarà comunque vietato.

ˆ spazio aereo compreso tra 200 e 400 piedi (High Speed Transit). Qui potranno operare UAV con un equipaggiamento di bordo adeguato al livello di rischio delle missioni preposte.

ˆ spazio aereo compreso tra 400 e 500 piedi (No-Fly Zone). In questa fascia non è permesso il volo di UAV se non in caso di emergenza.

ˆ Predened Low Risk Locations, ovvero zone in cui vi possono essere restrizioni sulla quota di volo o sull'equipaggiamento di bordo.

Risulta quindi chiaro che l'accesso a queste fasce di volo è garantito esclusivamente dalla capacità dell'UAV preso in considerazione. Migliori sono le performance dell'UAV minori saranno le restrizioni alle operazioni che esso potrà compiere. Amazon identica quattro possibili classi di velivoli in base al loro equipaggiamento di bordo:

(22)

1.1 UTM (UAV Trac Management)

ˆ Basic: UAV radio-comandati, le cui operazioni sono VLOS ed in zone a basso rischio. ˆ Good: UAV in grado di autenticarsi in volo, di ricevere informazioni (traco aereo, GPS, meteo) e di connettersi ad Internet tramite la stazione di controllo a terra. Inoltre è richiesta anche una tecnologia V2V (Vehicle to Vehicle) per allarmare UAV presenti in prossimità.

ˆ Better: UAV aventi autopilota in grado di risolvere autonomamente e per via col-laborativa i possibili conitti con UAV limitro tramite tecnologia V2V. Utilizzo dell'ADS-B Out (Automatic Dependent Surveillance - Broadcast) e di connessione Internet a bordo.

ˆ Best: UAV capaci di risolvere conitti in maniera non collaborativa tramite tec-nologia SAA a lungo raggio. Utilizzo dell'ADS-B In/Out, connessione Internet a bordo e sistemi per il monitoraggio dell'ambiente esterno.

Inne Amazon suggerisce un controllo distribuito del traco di UAV. Ci deve essere un ente regolatore centrale (come la FAA o l'ICAO) che delega le responsabilità per il control-lo e la gestione del traco ad enti control-locali, in modo da migliorare l'ecienza e la sicurezza del servizio. Grazie alle nuove tecnologie a bordo degli UAV ed al miglioramento degli algoritmi di path planning, Amazon prevede, in futuro, una possibile automatizzazione dell'UTM.

(23)

1.2 Ruolo del presente lavoro nello scenario UTM

1.2 Ruolo del presente lavoro nello scenario UTM

Una parte fondamentale nel nuovo scenario UTM è costituita dal tracking degli UAV. Come già menzionato nella sezione ??, un fattore molto importante per l'accettazione delle operazioni condotte con UAV nello spazio aereo civile è la sicurezza. Essere in grado di stimare e predirre la posizione, la velocità e l'accelerazione di un UAV porta diversi beneci, tra cui i più signicativi sono:

ˆ mappatura del traco di UAV in zone di interesse; ˆ supporto per le tecnologie SAA;

ˆ supporto per gli algoritmi di path planning; ˆ identicazione di UAV "intrusi".

Attualmente, il tracking viene eettuato tramite l'ausilio di radar, i quali possono fornire misurazioni sul range, l'azimuth, l'elevazione e la velocità radiale (o velocità doppler), o tramite l'impiego di strumenti ottici (per esempio fotocamere) che sfruttano delle mi-surazioni angolari. Inoltre, di recente, si sta puntando l'attenzione verso l'introduzione dell'ADS-B a bordo degli UAV come ulteriore strumento di tracking: possibili soluzioni sono la fusione dei dati ADS-B con quelli radar per migliorare l'accuratezza complessiva delle misurazioni. Non tutti gli UAV montano un ADS-B a bordo, principalmente per ragioni economici. Non esistono normative che ne impongono l'utilizzo, pertanto tutte le proposte e gli studi eettuati sono rivolti a una sua futura comparsa nello scenario UTM. Le misurazioni degli strumenti sopra elencati presentano degli errori, generalmente sche-matizzati come rumori bianchi (questo argomento sarà approfondito nel dettaglio nei prossimi capitoli). Il ltro di Kalman è l'algoritmo generalmente utilizzato in questa classe di problemi per ottenere delle stime precise, riducendo gli errori introdotti dagli strumenti di misurazione utilizzati. Esistono vari tipi di ltri di Kalman, diusamente descritti in letteratura: per avere un'idea completa si può consultare la libreria online de-dicata agli algoritmi di tracking [?]. Molti di questi ltri sono stati già implementati per il tracking nello scenario ATM, con ottimi risultati. Purtroppo, non è possibile riciclare questi algoritmi per l'UTM a causa delle diverse dinamiche degli UAV rispetto ai velivoli dell'aviazione civile. L'implementazione di nuovi algoritmi di tracking in ambito UTM è un argomento di grande interesse per gli enti regolatori e molti studi vengono tutt'ora eettuati.

Il presente lavoro si propone di fornire una possibile soluzione al problema del tracking degli UAV, utilizzando un approccio alternativo. Come menzionato nel paragrafo prece-dente, le dinamiche degli UAV possono essere molto varie rispetto a quelle dei velivoli civili. L'impiego di un singolo ltro di Kalman può portare ad errori nella stima dello stato del drone se quest'ultimo compie manovre molto rapide o variegate tra loro. Nel-l'ambito della sicurezza nazionale vi sono requisiti stringenti negli errori di stima, a causa

(24)

1.2 Ruolo del presente lavoro nello scenario UTM

Figura 1.6: Logica dell'IMM Estimator

dell'alto livello di rischio in gioco. Pertanto, a volte, un singolo ltro di Kalman può non soddisfare tali requisiti. La soluzione proposta in questo lavoro è l'impiego di più l-tri di Kalman "interattivi" fra loro per migliorare l'adattamento dell'algoritmo al rapido cambiamento nella dinamica dell'UAV. Il tipo di algoritmo implementato prende il nome di IMM Estimator (Interacting Multiple Model); si può notare che anche questo nacque come supporto per il tracking in ambito ATM. In gura ?? è presentata schematicamente la logica dell'algoritmo, la quale verrà descritta dettagliatamente nei capitoli successivi.

1.2.1 La collaborazione con IDS Corporation

Questo lavoro di tesi è stato svolto all'interno dell'IDS Corporation, azienda italiana leader nel settore dell'ATM e di quello nascente dell'UTM, nato dall'esigenza di una soluzione facilmente implementabile per i sistemi di tracking a terra ma che, allo stesso tempo, soddisfacesse determinati requisiti di stima. In particolare, questo progetto è stato rea-lizzato grazie alla collaborazione con il reparto radar dell'IDS ed ha assunto una forma più specica quando applicato ad un prodotto dell'azienda: il sistema anti drone Black Knight.

Il Black Knight è un sistema anti drone basato su un radar che è in grado di individuare e localizzare anche i droni di dimensioni ridotte. Assicura protezione contro l'uso ostile o non autorizzato di UAV sia in campo militare, sia civile e può essere installato in una postazione ssa per garantire protezione permanente o semi-permanente, oppure può es-sere montato su un mezzo o un carrello per un uso mobile e veloce. Black Knight fornisce

(25)

1.2 Ruolo del presente lavoro nello scenario UTM

Figura 1.7: Black Knight dell'IDS Corporation

una copertura a 360 gradi, 24 ore su 24 e 7 giorni su 7 anche in condizioni meteorologiche sfavorevoli quali pioggia, neve, nebbia. Il sistema ha inoltre la capacità di localizzare più minacce contemporaneamente. Nel Maggio 2017 è stato impiegato per la sicurezza del G7 di Taormina. La gura ?? mostra una foto ragurante il Black Knight dell'IDS Corporation.

Nel contesto dell'IDS Corporation, questo lavoro si pone come un'analisi preliminare sulla fattibilità dell'impiego di algoritmi MM nell'UTM in sostituzione (o in parallelo) di singoli ltri di Kalman.

Lo scenario in cui si inseriscono le simulazioni eettuate prevede l'utilizzo dell'ADS-B Out a bordo degli sUAV per l'invio della posizione del drone. Questa traccia viene usata come termine di paragone: essa rappresenta la posizione "vera" dell'UAV, sebbene aetta da errori legati all'accuratezza del segnale GPS. A loro volta, le misurazioni del radar sono state simulate aggiungendo degli errori sotto forma di rumore bianco alla posizione "ve-ra" precedentemente valutata. Tali misurazioni vengono successivamente utilizzate come input per l'IMM Estimator. L'output dell'IMM Estimator, cioè la stima della posizione dell'UAV, viene poi confrontata con la traccia ADS-B. Da qui si possono ricavare gli errori di stima dell'algoritmo.

Tutte le simulazioni sono basate su test eettuati dall'IDS Corporation in Spagna nei mesi precedenti all'inizio di questo lavoro, e su un'operazione condotta nel campo volo dell'azienda, in cui si sono raccolti dati utilizzando il Colibrì, uno sUAV di proprietà della stessa con a bordo l'ADS-B Out, tramite l'ausilio un software, l'adsbSCOPE, per la con-versione del segnale ADS-B. Sono anche state implementate delle semplici tecniche per l'elaborazione ed il trattamento dei dati raccolti dalle misurazioni prima del loro inseri-mento all'interno dell'algoritmo.

(26)

1.3 Struttura della tesi

1.3 Struttura della tesi

L'algoritmo dell'IMM Estimator è stato interamente scritto in MATLAB, vista l'elevato numero di librerie a disposizione. Come è solito fare per algoritmi complessi, si è ricorso alla suddivisione del codice in function. Questo ha facilitato l'identicazione degli errori in corso d'opera ed allo stesso tempo garantisce ampia essibilità al codice. Si è cercato di parametrizzare il più possibile l'algoritmo, in modo tale da renderlo riutilizzabile anche per altri progetti; questo non esclude la possibilità di migliorarlo, riscrivendolo in maniera più rigorosa ed aggiungendo ulteriori funzionalità. Ovviamente il codice è stato scritto in base alle esigenze dettate dallo scenario descritto nella sezione ??. La struttura completa dell'algoritmo e le function utilizzate sono state riportate nelle appendici.

Si può pensare di dividere la struttura della tesi in due grandi parti. La prima parte è costituita dai capitoli che descrivono le assunzioni fatte e le tecniche utilizzate per l'im-plementazione del codice, mentre la seconda mostrerà i risultati delle analisi eettuate per vericare la consistenza del ltro.

In particolare, il capitolo ?? sarà interamente dedicato all'introduzione al ltro di Kal-man, fatta in maniera sintetica ma ecace per una completa comprensione degli argomenti successivamente trattati; inoltre verrà formalmente presentato l'algoritmo IMM, eviden-ziandone i vantaggi, su cui poi verteranno le successive trattazioni.

Il capitolo ?? sarà incentrato sullo studio dei modelli matematici implementati all'interno dell'IMM per la descrizione della dinamica dell'UAV. Molta importanza verrà data alla soluzione proposta per la coesistenza di modelli aventi vettori degli stati di dimensione diversa tra loro.

Nel capitolo ?? verrà descritto l'ADS-B e del protocollo usato per l'invio dei dati. Par-ticolare attenzione sarà data all'elaborazione di questi dati ed al modo con cui verranno inseriti all'interno dell'algoritmo. La seconda parte del capitolo sarà invece dedicata alla denizione delle metodologie utilizzate per la modellazione delle tracce radar ed alla loro ottimizzazione.

Per concludere la prima parte della tesi, nel capitolo ?? sarà presentata l'architettura dell'algoritmo IMM, la denizione dei parametri di inizializzazione ed i requisiti sull'ac-curatezza richeisti.

Nella seconda parte della tesi ci si concentrerà maggiormente sulle analisi dei risulta-ti dell'algoritmo. Verranno analizzarisulta-ti dierenrisulta-ti scenari, ognuno dei quali rappresenterà una missione avvenuta realmente, di cui si sono raccolti i dati ADS-B. Si vericherà la consistenza e l'accuratezza dell'algoritmo, sempre rifacendosi ai requisiti imposti dal-l'IDS Corporation. Inne, una breve parte sarà dedicata allo studio delle performance dell'algoritmo al variare degli errori di misurazione.

(27)

Capitolo 2

Tecniche per il Tracking

In questo capitolo vengono introdotte le nozioni fondamentali per comprendere le tecni-che di tracking utilizzate in seguito. In particolare, viene denito il ltro di Kalman per sistemi discreti nel tempo, siano essi lineari che non lineari; in questo caso si parla di ltro di Kalman esteso o EKF (Extended Kalman Filter). Una breve sezione è incentrata sulla motivazione della scelta di un modello discreto invece di uno continuo, e delle equazioni che lo caratterizzano.

L'ultima parte del capitolo è dedicata alla descrizione dell'approccio con modelli multipli, prestando particolare attenzione all'algoritmo IMM. Sono presentate le motivazioni che hanno portato alla sua implementazione ed i vantaggi che può orire rispetto al ltro di Kalman.

Gli argomenti trattati in questo capitolo sono presentati in maniera sintetica. Per appro-fondire la teoria sui ltri di Kalman e sugli algoritmi MM (Multiple Model) si rimanda a [?], [?], [?], [?], [?].

2.1 Modello Discreto Equivalente

Generalmente i modelli dinamici utilizzano una rappresentazione continua nel tempo. Nel caso del tracking di bersagli di varia natura, è pratica comune adottare modelli discreti equivalenti a quelli continui. La ragione per cui ciò viene fatto è legata allo strumento che viene usato per raccogliere le misurazioni: queste, infatti, sono compiute ad intervalli di tempo noti ma non necessariamente costanti. Questa caratteristica dello strumento si può facilmente trovare nella sua specica tecnica e viene usualmente chiamata refresh rate.

Si possono individuare due tipologie di modelli discreti:

ˆ quello ottenuto discretizzando il modello continuo tramite l'ausilio di equazioni note in letteratura, anche detto modello discreto equivalente;

(28)

2.1 Modello Discreto Equivalente

ˆ quello ottenuto denendo direttamente il rumore, la sua matrice di guadagno e di covarianza senza l'utilizzo delle formule suddette; questo approccio prende il nome di modello discreto diretto.

In questa sezione vengono descritti entrambi i modelli, evidenziandone le diversità. Si consideri il seguente modello lineare continuo nel tempo:

˙

x(t) = A(t)x(t) + B(t)u(t) + D(t)v(t) (2.1) Dove:

x è il vettore degli stati di dimensione nx,

u è il vettore degli input di dimensione nu,

v è il vettore del rumore di processo di dimensione nv,

A è la matrice del sistema di dimensione nx× nx,

B è la matrice di guadagno degli input di dimensione nx× nu,

D è la matrice di guadagno del rumore di processo di dimensione nx× nv.

L'equazione ?? prende il nome di equazione dinamica.

L'output del sistema è espresso generalmente nel seguente modo:

z(t) = C(t)x(t) + w(t) (2.2)

dove:

z è il vettore delle misurazioni o degli output di dimensione nz,

w è il vettore del rumore di misurazione di dimensione nw,

C è la matrice delle misurazioni di dimensione nz× nx.

L'equazione ?? prende il nome di equazione delle misurazioni o degli output.

In questa trattazione, i rumori di processo o di misurazione saranno trattati come rumori bianchi Gaussiani, con valore atteso nullo e mutuamente indipendenti tra loro.

La soluzione dell'equazione ?? è: x(t) = F(t, t0)x(t0) +

Z t

t0

F(t, τ)[B(τ)u(τ) + D(τ)v(τ)]dτ (2.3) Dove la matrice F(t, t0) prende il nome di matrice di transizione di stato e gode delle

seguenti proprietà:

˙

F(t, t0) = A(t)F(t, t0) (2.4)

F(t2, t0) =F(t2, t1)F(t1, t0) (2.5)

(29)

2.1 Modello Discreto Equivalente

In generale la matrice di transizione non ha una forma esplicita, a meno che non sia soddisfatta la proprietà commutativa:

A(t)Z t

t0

A(τ)dτ =Z t

t0

A(τ)dτA(t) (2.7)

In questo caso vale la relazione seguente: F(t, t0) = e

Rt

t0A(τ)dτ (2.8)

Il modello discreto equivalente è denito dall'equazione:

x(tk+1) =F(tk+1, tk)x(tk) +G(tk+1, tk)u(tk) +v(tk) (2.9)

Inoltre, se il sistema considerato è tempo-invariante, come nei casi analizzati nei prossimi capitoli, allora la matrice di transizione di stato è denita nel seguente modo:

F(tk+1, tk) = F(tk+1− tk) = e(tk+1−tk)A =F(k) (2.10)

Dove, indicando con T = (tk+1− tk) l'intervallo di tempo con cui si sta campionando il

sistema continuo, si ha che: eAT = ∞ X k=0 (AT )k k! =I + AT + A2 T2 2 + . . . (2.11)

Analogamente la matrice di guadagno degli input discreta è data da: G(tk+1, tk) =

Z tk+1

tk

e(tk+1−τ )ABdτ = G(k) (2.12)

Mentre il rumore di processo discreto è denito come: v(tk) =

Z tk+1

tk

e(tk+1−τ )ADv(τ)dτ = v(k) (2.13)

Le assunzioni fatte precedentemente sul rumore di processo si esprimono in forma discreta come:

E[v(k)] = 0 (2.14)

E[v(k)v(j)0] =Q(k)δkj (2.15)

Con δkj si è rappresentata la funzione delta di Kronecker. La prima equazione indica che il

(30)

2.2 Filtro di Kalman Discreto

Q(k) =Z tk+1

tk

e(tk+1−τ )ADV(τ)D0e(tk+1−τ )A0 (2.16)

Dove V(t) è espressa come: E[v(t)v(τ)0] = V(t)δ(t − τ), essendo v(t) indipendente da

v(τ).

Eliminando la notazione ad indici, l'equazione ?? può essere riscritta nel seguente modo: x(k + 1) = F(k)x(k) + G(k)u(k) + v(k) (2.17) Mentre l'equazione discreta delle misurazioni è:

z(k) = H(k)x(k) + w(k) (2.18)

Dove H(k) è la matrice delle misurazioni discreta e w(k) il vettore rumore di misurazione discreto. Le ipotesi fatte sul rumore di misurazione sono espresse dalle seguenti relazioni:

E[w(k)] = 0 (2.19)

E[w(k)w(j)0] =R(k)δkj (2.20)

Con R(k) si è indicata la matrice di covarianza discreta del rumore di misurazione. Il modello discreto diretto è denito dall'equazione dinamica:

x(k + 1) = F(k)x(k) + G(k)u(k) + Γ(k)v(k) (2.21) La matrice Γ(k) è detta matrice di guadagno discreta del rumore di processo.

Il vantaggio di questo approccio è la possibilità di denire il rumore, sempre supposto bianco, e la sua matrice di guadagno direttamente nel dominio discreto senza utilizzare tutte le equazioni del modello discreto equivalente. Anche la matrice di covarianza del rumore di processo, Q(k), deve essere denita direttamente nel modello discreto. Questa tecnica è ampiamente utilizzata in letteratura per i problemi di tracking, come in [?],[?], [?].

2.2 Filtro di Kalman Discreto

Lo scopo del ltro di Kalman discreto è stimare lo stato x(k) di un sistema stocastico lineare e discreto rappresentato dall'equazione ?? (la seguente trattazione è valida anche se si considera l'equazione ??). Le misurazioni z(k) sono date dall'equazione ??. In entrambi i casi i rumori sono modellati come rumori bianchi Gaussiani con valor medio nullo, mutuamente indipendenti tra loro e con matrici di covarianza note.

(31)

2.2 Filtro di Kalman Discreto

venga eettuata la misurazione, nota la stima all'istante precedente, mentre si denisce con ˆx(k + 1|k + 1) la stima a posteriori dello stato all'istante di tempo k + 1 quando è nota l'informazione sulla misurazione. Un parametro molto importante è la covarianza dello stato, espressa come:

P|z= E[(x − ˆx)(x − ˆx)0|z] (2.22)

Dove il pedice alla covarianza indica che il calcolo è eettuato nota la misurazione. Si può notare come il termine (x − ˆx) indichi l'errore tra il vero stato, x, e lo stato stimato. Anché il ltro sia ottimale, il valore atteso dell'errore, espresso come E[(x − ˆx)], deve essere uguale a zero.

Per ricavare le equazioni del ltro di Kalman si può partire dalla seguente espressione lineare:

ˆ

x(k + 1|k + 1) = ˆx(k + 1|k) + K(k + 1)(z(k + 1) − H(k + 1)ˆx(k + 1|k)) (2.23) Che lega la stima a posteriori alla stima a priori ed al termine z(k+1)−H(k+1)ˆx(k+1|k), noto in letteratura come innovazione o residuo tramite un fattore di proporzionalità K, denominato guadagno del ltro. Lo scopo del ltro di Kalman è trovare l'espressione del guadagno che minimizzi la traccia della matrice di covarianza dello stato a posteriori, indicata con P(k + 1|k + 1). Questo implica la minimizzazione degli errori di stima. Le equazioni del ltro di Kalman possono essere divise in due gruppi:

ˆ le equazioni per la predizione, che forniscono una stima a priori dello stato;

ˆ le equazioni di aggiornamento della stima, volte a migliorare la stima a priori tramite l'informazione data dalle misurazioni.

Di seguito sono riportate le equazioni del ltro di Kalman. Ciclo di un Filtro di Kalman

Predizione

- Predizione dello stato: ˆ

x(k + 1|k) = F(k)ˆx(k|k) + G(k)u(k) - Covarianza dello stato predetto: P(k + 1|k) = F(k)P(k|k)F(k)0 +Q(k)

Aggiornamento

- Covarianza dell'innovazione:

S(k + 1) = R(k + 1) + H(k + 1)P(k + 1|k)H(k + 1)0

(32)

2.2 Filtro di Kalman Discreto

K(k + 1) = P(k + 1|k)H(k + 1)0S(k + 1)−1

- Aggiornamento della stima: ˆ

x(k + 1|k + 1) = ˆx(k + 1|k) + K(k + 1)(z(k + 1) − H(k + 1)ˆx(k + 1|k)) - Covarianza della stima aggiornata:

P(k + 1|k + 1) = [I − K(k + 1)H(k + 1)]P(k + 1|k)[I − K(k + 1)H(k + 1)]0+

+K(k + 1)R(k + 1)K(k + 1)0

L'espressione della covarianza della stima aggiornata, utilizzata in questa sezione e nella scrittura del codice, prende il nome di forma di Joseph. Il motivo di tale scelta è la minore sensibile ad errori numerici durante il processo di stima, soprattutto se gli intervalli di campionamento sono molto numerosi, sebbene il costo computazionale ad essa associato è maggiore di altri metodi proposti in letteratura. In particolare, questi errori possono portare ad autovalori negativi della matrice di covarianza, perdendo la sua denizione di matrice positiva.

Si può notare che il guadagno del ltro è "proporzionale" alla covarianza della predizione ed "inversamente proporzionale" alla covarianza dell'innovazione. Pertanto elevati valori del guadagno implicano che la predizione è inaccurata, cioè ha una grande covarianza, mentre le misurazioni sono accurate, cioè hanno una covarianza piccola. Lo stesso ragio-namento si applica nel caso in cui il guadagno assuma valori bassi. In generale, un elevato guadagno indica una rapida risposta di aggiornamento dello stato tramite l'utilizzo delle misurazioni. In gura ?? è mostrato lo schema logico del ltro di Kalman.

Figura 2.1: Passi dell'iterazione del Filtro di Kalman Per inizializzare il ltro di Kalman è richiesta la conoscenza delle: ˆ matrici di covarianza dei rumori di processo e di misurazione; ˆ condizioni iniziali sullo stato ˆx(0|0) e sulla sua covarianza P(0|0);

(33)

2.3 Filtro di Kalman Esteso

ˆ misurazioni ad ogni intervallo di campionamento. Le condizioni iniziali sono distribuite nel seguente modo:

ˆ

x(0|0) = N (x(0), P(0|0)) (2.24) Che equivale a dire che la stima iniziale sulla posizione è distribuita come una gaussiana con valor medio lo stato reale iniziale del bersaglio e come matrice covarianza quella re-lativa alla stima all'intervallo di campionamento k = 0.

In appendice si può trovare la function MATLAB Kalman_Filter che implementa il ltro di Kalman utilizzando lo schema logico di gura ?? noti i parametri del modello matematico.

2.3 Filtro di Kalman Esteso

Si consideri un sistema stocastico descritto dalle seguenti equazioni:

x(k + 1) = f[k, x(k), u(k)] + v(k) (2.25) z(k) = h[k, x(k), u(k)] + w(k) (2.26) Dove h e f rappresentano delle funzioni non lineari di x(k), mentre i rumori sono delle semplici funzioni additive.

Per ottenere la stima a priori ˆx(k + 1|k) è necessario utilizzare uno sviluppo in serie di Taylor nell'intorno della stima ottenuta al passo precedente, ˆx(k|k). In questa trattazione ci si fermerà al primo ordine e si indicheranno con HOT (Higher Order Terms) i termini di ordine superiore. Il risultato dell'espansione è dato dalle relazioni che seguono:

x(k + 1) = f[k, x(k|k), u(k)] + fx(k)[x(k) − ˆx(k|k)] + HOT + v(k) (2.27)

z(k) = h[k, x(k|k)] + hx(k)[x(k) − ˆx(k|k)] + HOT + w(k) (2.28)

Dove si è indicato con fx(k) lo Jacobiano del vettore f e con hx(k)lo Jacobiano del vettore

h:

fx(k) = ∇xf(k, x)|x=ˆx(k|k) (2.29)

hx(k) = ∇xh(k, x)|x=ˆx(k|k) (2.30)

Applicando l'operatore di media E[·] all'equazione ?? e ricordando che il valore atteso deve essere nullo per avere un ltro ottimale, si ottiene la seguente espressione sulla stima a priori:

ˆ

(34)

2.3 Filtro di Kalman Esteso

In maniera analoga a quanto fatto per il caso lineare, è possibile denire l'innovazione, ν(k + 1), nel seguente modo:

ν(k + 1) =z(k + 1) − h[k + 1, ˆx(k + 1|k)] (2.32) A questo punto è possibile applicare la relazione tra la stima e l'innovazione data dall'e-quazione ?? ma modicata con le nuove variabili introdotte. Utilizzando la tecnica del ltro di Kalman per il problema che ne segue, trascurando gli HOT, è possibile ottenere un valore di guadagno che minimizzi la covarianza della stima. Il ltro risultante prende il nome di ltro di Kalman esteso o EKF (Extended Kalman Filter). Si può notare che, a causa delle approssimazioni fatte durante la linearizzazione, l'EKF non è considerato uno stimatore ottimale come il KF (Kalman Filter). Inoltre, in alcuni casi, l'EKF può divergere, a causa della violazione delle condizioni sulla stabilità legate alle suddette ap-prossimazioni.

Di seguito sono riportate le equazioni del ltro di Kalman esteso. La gura ??, invece, rappresenta schematicamente i passi dell'iterazione dell'EKF.

Ciclo di un Filtro di Kalman Esteso

Predizione

- Predizione dello stato: ˆ

x(k + 1|k) = f[k, x(k|k), u(k)] - Covarianza dello stato predetto: P(k + 1|k) = F(k)P(k|k)F(k)0 +Q(k)

Aggiornamento

- Covarianza dell'innovazione:

S(k + 1) = R(k + 1) + H(k + 1)P(k + 1|k)H(k + 1)0

- Guadagno del Filtro:

K(k + 1) = P(k + 1|k)H(k + 1)0S(k + 1)−1

- Aggiornamento della stima: ˆ

x(k + 1|k + 1) = ˆx(k + 1|k) + K(k + 1)(z(k + 1) − h[k + 1, x(k + 1|k)] - Covarianza della stima aggiornata:

P(k + 1|k + 1) = [I − K(k + 1)H(k + 1)]P(k + 1|k)[I − K(k + 1)H(k + 1)]0+

+K(k + 1)R(k + 1)K(k + 1)0

Dove con F(k) e H(k) si sono indicati rispettivamente lo Jacobiano di f e h.

In maniera analoga a quanto fatto per il ltro di Kalman semplice, è stata creata una function MATLAB Extended_Kalman_Filter che implementa un EKF, seguendo lo

(35)

2.4 L'approccio con Modelli Multipli

Figura 2.2: Passi dell'iterazione dell'EKF

schema di gura ??, dati in ingresso i parametri del modello matematico.

2.4 L'approccio con Modelli Multipli

Risulta chiaro dalle precedenti sezioni che il ltro di Kalman è un valido strumento per il tracking di oggetti in movimento. Consente, infatti, di stimare, in maniera accurata, lo stato del bersaglio in presenza di rumori di misurazione, legati allo strumento utilizzato, e di rumori di processo, dovuti alle eventuali perturbazioni durante il moto. Quanto detto è vero ntanto che il bersaglio segue la dinamica rappresentata dal modello discreto dell'e-quazione ??, che è stato implementato all'interno del ltro. Qualora il moto del bersaglio si discosti marcatamente dal modello matematico utilizzato per descriverlo (questo feno-meno viene chiamato mismatch), il ltro di Kalman non sarà più consistente. I principali criteri per la verica della consistenza di un ltro di Kalman sono:

ˆ gli errori sulla stima devono avere media nulla (o accettabilmente vicina a zero) ed in modulo confrontabili con la matrice di covarianza della stima;

ˆ le innovazioni devono soddisfare le stesse proprietà del punto precedente; ˆ le innovazioni devono essere accettabilmente bianche.

Nell'ottica delle simulazioni eettuate nei capitoli successivi, il test sulla consistenza ef-fettuato è quello relativo al primo punto, in quanto è possibile valutare gli errori di stima. Normalmente non è nota lo stato vero del bersaglio.

Un'altra debolezza del ltro di Kalman semplice è la scelta del modello: questa viene fatta oine, cioè prima dell'inizializzazione del ltro.

(36)

2.4 L'approccio con Modelli Multipli

Figura 2.3: Passi di un algoritmo MM - caso con due modelli

Risulta quindi chiaro che il tracking di bersagli con dinamiche varie fra loro non può es-sere eettuato utilizzando un semplice ltro di Kalman. Per soddisfare queste esigenze è possibile utilizzare un approccio diverso, chiamato Approccio con Modelli Multipli o MM (Multiple Model). L'utilizzo di un set di modelli diversi tra loro, scelti in modo tale che al generico intervallo di campionamento k siano "corretti", consente il tracking di bersagli la cui dinamica sia incerta.

Le componenti principali nella realizzazione di un algoritmo MM sono:

ˆ determinazione del set di modelli: la scelta dei modelli matematici viene fatta oine ma con un adattamento online, nel senso che l'algoritmo analizza tutti i modelli in modo da trovare quello più "corretto" nel descrivere la dinamica del bersaglio. È anche importante determinare la sequenza di tali modelli.

ˆ creazione di una strategia di cooperazione: comprende le operazioni volte all'indivi-duazione ed alla selezione del modello più probabile tramite l'analisi probabilistica degli output dei singoli ltri;

ˆ ltraggio condizionale: corrisponde alle classiche operazioni dei ltri di Kalman o EKF ma condizionati dalla sequenza dei modelli;

ˆ elaborazione degli output: operazione in cui si genera la stima complessiva e la rispettiva covarianza tramite delle tecniche di fusione degli output dei singoli ltri. La gura ?? illustra schematicamente i quattro punti descritti sopra.

(37)

2.4 L'approccio con Modelli Multipli

ˆ algoritmi MM statici: non è previsto il "salto" (mode switch) da un modello ad un altro, ciò implica che per tutto il processo il sistema è in uno dei suoi possibili modelli;

ˆ algoritmi MM dinamici: è prevista la possibilità di passare da un modello ad altro. In generale la transizione tra modelli è denita come un processo di Markov in cui la matrice di transizione è nota.

Nel capitolo successivo ci si concentrerà solamente sugli algoritmi di tipo MM, per la loro elevata adattabilità, scegliendo quello più adatto al problema del tracking di UAV. Gli algoritmi MM più studiati sono il GPB1, il GPB2 e l'IMM; GPB sta per Generalized Pseudo-Bayesian. La scelta è ricaduta sull'IMM poiché quest'ultimo ha performance mi-gliori del GPB1 ma comparabili a quelle del GPB2; l'unica dierenza sostanziale tra i due è la riduzione della complessità e del costo computazionale dell'algoritmo IMM.

2.4.1 IMM Estimator

Nell'algoritmo IMM la stima all'intervallo di campionamento k è calcolata considerando tutti i possibili modelli, a cui sono associati i rispettivi ltri. Ogni ltro utilizza una dierente combinazione delle stime di tutti i ltri all'intervallo k − 1 condizionate dal modello stesso. In altre parole, gli input del ltro j − esimo all'intervallo k sono dati dall'interazione con gli altri ltri. Questa interazione consiste nel combinare gli output di ogni ltro all'intervallo k−1, ˆxi(k −1|k −1), con dei pesi, espressi in termini probabilistici,

deniti probabilità di mix ed indicati con µi|j(k − 1|k − 1). La lettera i indica il ltro preso

in questione mentre la letta j indica uno degli altri ltri. La denizione pratica di questi pesi è la probabilità che il modello mi fosse "corretto" all'intervallo k − 1 supposto che

il modello mj sia corretto all'intervallo k condizionata dall'insieme delle misurazioni no

all'intervallo k − 1, indicato con Zk−1. Questa probabilità è anche esprimibile come:

µi|j(k − 1|k − 1) = p(mi(k − 1)|mj(k), Zk−1) (2.33)

L'algoritmo IMM è molto più complesso di quello di un singolo ltro di Kalman; per completezza è riportato qui di seguito, supponendo di utilizzare r ltri per la stima. L'al-goritmo è stato diviso in diverse "fasi" in modo da facilitarne la lettura e la comprensione.

(38)

2.4 L'approccio con Modelli Multipli

Ciclo di IMM Estimator

Interazione/Mix

- Predizione della Probabilità del Modello: µi(k|k − 1) = Pr j=1πjiµj(k − 1) - Probabilità di Mix: µj|i(k − 1|k − 1) = πjiµj(k−1) µi(k|k−1)

- Ingresso (stima) al ltro i − esimo: ˆ

x0i(k − 1|k − 1) =Pr

j=1xˆ

j(k − 1|k − 1)µ

j|i(k − 1|k − 1)

- Ingresso (covarianza) al ltro i − esimo: P0i(k − 1|k − 1) =Pr j=1[P j(k − 1|k − 1)+ + (ˆxj(k − 1|k − 1) − ˆx0i(k − 1|k − 1))(ˆxj(k − 1|k − 1) − ˆx0i(k − 1|k − 1))0]µj|i(k − 1|k − 1) Filtraggio Condizionale Predizione

- Predizione dello stato: ˆ

xi

(k|k − 1) = Fi(k − 1)ˆx0i(k − 1|k − 1) +Gi(k − 1)ui(k − 1)

- Covarianza dello stato predetto: Pi

(k|k − 1) = Fi(k − 1)P0i(k − 1|k − 1)Fi(k − 1)0+Qi(k − 1) Aggiornamento

- Covarianza dell'innovazione:

Si(k) =Ri(k) +Hi(k)Pi(k|k − 1)Hi(k)0

- Guadagno del Filtro: Ki

(k) =Pi(k|k − 1)Hi(k)0Si(k)−1 - Aggiornamento della stima: ˆ

xi

(k|k) = ˆxi(k|k − 1) +Ki(k)(zi(k) −Hi(k)ˆxi(k|k − 1)) - Covarianza della stima aggiornata:

Pi(k|k) = [I − Ki(k)Hi(k)]Pi(k|k − 1)[I − Ki(k)Hi(k)]0+Ki(k)Ri(k)Ki(k)0

Aggiornamento della Probabilità del Modello - Funzione di Probabilità del Modello: Λi(k) = N (νi(k); 0,Si(k))

- Aggiornamento della Probabilità del Modello: µi(k) = µi(k|k−1)Λ

i(k)

Pr

j=1µj(k|k−1)Λj(k)

Fusione delle stime - Stima nale: ˆ x(k|k) = Pr i=1xˆ i (k|k)µi(k) - Covarianza nale: P(k|k) = Pr i=1[P i(k|k) + (ˆxi(k|k) − ˆx(k|k))(ˆxi(k|k) − ˆx(k|k))0 i(k)

(39)

2.4 L'approccio con Modelli Multipli

Dove πji indica le componenti della matrice di transizione di Markov.

La gura ?? mostra lo schema logico dell'algoritmo IMM, adottando la suddivisione in fasi introdotta precedentemente.

Figura 2.4: Passi dell'algoritmo IMM - caso con due modelli

La probabilità del modello indica, semplicemente, la probabilità che il modello mi sia

corretto al tempo considerato dato l'insieme delle misurazioni no a quell'intervallo di campionamento. Pertanto è denito dalla relazione seguente:

µi(k) = p(mi|Zk) (2.34)

Mentre la funzione di probabilità del modello è denita come la funzione di densità di probabilità, detta anche PDF (Probability Density Function), delle misurazioni no all'intervallo k condizionata al modello mi ed è espressa dalla relazione:

Λi(k) = P DF (z(k)|mi, Zk−1) (2.35)

Per vericare ed approfondire le equazioni dell'algoritmo IMM si rimanda alla trattazione matematica svolta in [?].

L'inizializzazione dell'algoritmo IMM richiede la conoscenza di: ˆ la struttura dei modelli utilizzati (sequenza e tipologia); ˆ la matrice di transizione di Markov;

(40)

2.4 L'approccio con Modelli Multipli

ˆ lo stato iniziale e la relativa matrice di covarianza di ogni ltro; ˆ le matrici di covarianza dei rumori di misurazione e di processo.

Nell'ultima parte dell'appendice è stato integrato l'intero algoritmo IMM, con la relativa architettura, scritto sotto forma di function MATLAB. Questa scelta è stata dettata dalla necessità eettuare delle simulazioni di Monte-Carlo e, quindi, poter richiamare più volte il codice dell'algoritmo. Gli ingressi e le uscite dell'algoritmo sono descritte nei prossimi capitoli.

(41)

Capitolo 3

Modelli Cinematici

In questo capitolo sono presentati i modelli cinematici implementati all'interno dell'al-goritmo IMM. Il modello discreto scelto per la descrizione della dinamica degli UAV è quello diretto, denito nella sezione ??. Un'analisi completa di tali modelli prevede la denizione delle matrici caratterizzanti il sistema e, in particolar modo, della matrice di covarianza del processo, essendo uno dei parametri di tuning del ltro. L'equazione di stato che si considera è analoga all'equazione ?? ma con il termine u(k) posto uguale a zero. L'inclusione del termine relativo agli ingressi al sistema richiederebbe l'implemen-tazione di un modello sulla spinta che non è richiesto in questo tipo di analisi.

I modelli cinematici proposti intendono rappresentare le possibili fasi di una missione di un UAV: la "crociera" e le varie manovre, tra cui la virata. Quest'ultima è descritta da un modello non lineare, pertanto necessita l'implementazione di un EKF.

Tutti i modelli presentati sono 2-D, in quanto il radar che verrà considerato nei prossimi capitoli è in grado di fornire misurazioni sul range e sull'azimuth. La modica per il caso 3-D necessita l'informazione sull'elevazione.

3.1 Modello DWNA (Discrete White Noise

Accele-ration)

Si supponga di considerare uno UAV in moto a velocità costante, il cui vettore degli stati, denito rispetto ad un sistema di riferimento inerziale cartesiano,con origine nel radar, sia espresso nel seguente modo:

x(t) = [x ˙x]0 (3.1)

Che equivale a considerare la dinamica dell'UAV lungo una sola coordinata. L'equazione dinamica continua, in assenza del rumore, è data da:

˙

(42)

3.1 Modello DWNA (Discrete White Noise Acceleration) Dove la matrice del sistema è data da:

A(t) =   0 1 0 0   (3.3)

Si può notare che, in assenza di rumore, la posizione evolve nel tempo come una funzione polinomiale del secondo ordine, pertanto questo tipo di modello prende il nome di modello del secondo ordine.

Volendo utilizzare il modello discreto diretto, il rumore va denito nel dominio discreto: per questo motivo non è stato incluso nell'equazione ??.

Utilizzando l'equazione ??, dove l'intervallo di campionamento è costante e denito come T = tk+1− tk, la matrice di transizione di stato nel dominio discreto assume la forma che

segue: F(k) = eAT =   1 T 0 1   (3.4)

L'assunzione fondamentale del modello DWNA è la seguente: l'accelerazione è costante durante l'intervallo di campionamento k − esimo ed è uguale al rumore di processo v(k). Ciò equivale a dire che lo UAV, a causa di perturbazioni esterne, modellate tramite il rumore di processo, subisce una variazione di accelerazione. Da qui deriva l'acronimo del modello. Valgono, inoltre, le solite assunzioni di rumore bianco, a valor medio nullo; inoltre in questo modello il rumore non è un vettore bensì uno scalare, poiché è rife-rito solamente all'accelerazione. Ne deriva che la matrice di covarianza, denita come E[v(k)v(k)0], nel caso in cui il rumore sia uno scalare è anch'essa uno scalare, indicata con σ2

vx, equivalente alla varianza del rumore stesso.

Da semplici integrazioni si possono ricavare gli incrementi di velocità e di posizione, espres-si rispettivamente come v(k)T e v(k)1

2T

2. Il sistema discreto diretto del modello DWNA

è dato da:

x(k + 1) = F(k)x(k) + Γ(k)v(k) (3.5) Dove F(k) è data dalla relazione ?? mentre la matrice di guadagno del rumore di processo è denita come: Γ =   1 2T 2 T   (3.6)

In questa trattazione, si è scelto di esprimere il rumore di processo come Γv(k) invece che come v(k): in questo modo la rispettiva matrice di covarianza è data da:

Q = E[Γv(k)v(k)Γ0 ] = Γσv2xΓ0 =   1 4T 4 1 2T 3 1 2T 3 T2  σv2x (3.7)

(43)

3.1 Modello DWNA (Discrete White Noise Acceleration)

Per implementare questo modello all'interno dell'algoritmo IMM è necessario aumentare la dimensione del vettore degli stati in modo da includere anche la dinamica lungo l'asse y. La matrice di transizione di stato è stata modicata creando una matrice a blocchi, in cui ogni blocco è dato dalla matrice dell'equazione ??. Il risultato è mostrato di seguito:

F =        1 T 0 0 0 1 0 0 0 0 1 T 0 0 0 1        (3.8)

Lo stesso ragionamento è stato applicato per la matrice di covarianza del processo, aggiungendo l'ipotesi che σ2

vx = σ 2 vy, ottenendo: Q =        1 4T 4 1 2T 3 0 0 1 2T 3 T2 0 0 0 0 14T4 1 2T 3 0 0 12T3 T2        σ2vx (3.9)

La deviazione standard del processo (ossia la radice quadrata della varianza), unico pa-rametro libero del sistema, essendo T noto (dato dalla specica del radar), è stata scelta seguendo due criteri:

ˆ nel caso di UAV in manovra, in modo tale che σvx fosse dello stesso ordine di

grandezza del modulo della massima accelerazione;

ˆ nel caso di UAV a velocità costante, in modo tale che, nell'intervallo di campiona-mento considerato, l'increcampiona-mento di velocità , il cui ordine di grandezza è dato da σvxT, sia piccolo se paragonato alla velocità attuale.

Model_matrix_DWNA è la function implementata in MATLAB che ha il compito di calcolare la matrice di transizione di stato e la matrice di covarianza del rumore di proces-so tramite le equazioni ?? e ?? dati in ingresproces-so i valori dell'intervallo di campionamento e della deviazione standard del rumore.

(44)

3.2 Modello DWPA (Discrete Wiener Process Acceleration)

3.2 Modello DWPA (Discrete Wiener Process

Acce-leration)

Si consideri, in questo caso, di considerare il moto di di uno UAV ad accelerazione costante. Partendo dal caso monodimensionale, si denisca il vettore degli stati:

x = [x ˙x ¨x]0 (3.10)

L'equazione dinamica nel dominio continuo in assenza di rumore è la stessa del modello descritto precedentemente, ed è data dall'equazione ??. In questo caso la matrice del sistema è: A =     0 1 0 0 0 1 0 0 0     (3.11)

Applicando l'equazione ?? si ottiene:

F =     0 T 12T2 0 1 T 0 0 1     (3.12)

Si può notare che, secondo la denizione data nella sezione precedente, questo tipo di modello è del terzo ordine.Anche in questo caso si è adottato il modello discreto diretto. L'assunzione del modello DWPA è simile a quella del modello DWNA: il jerk è costante e l'incremento di accelerazione durante l'intervallo di campionamento k − esimo è uguale al rumore di processo v(k). Il nome del modello deriva dal fatto che, secondo l'assunzio-ne fatta, l'acceleraziol'assunzio-ne è un processo di Wiel'assunzio-ner discreto (l'assunzio-nel modello DWNA lo era la velocità). Continuano a valere le ipotesi sul rumore descritte nella sezione ??.

Tramite semplice integrazione, si può trovare l'incremento di velocità e di posizione nel-l'intervallo di campionamento k−esimo come v(k)T e v(k)1

2T

2 rispettivamente. Il sistema

discreto diretto del modello DWPA è dato da:

x(k + 1) = F(k)x(k) + Γ(k)v(k) (3.13) Dove F(k) è data dalla relazione ?? e la matrice di guadagno del rumore di processo:

Γ =     1 2T 2 T 1     (3.14)

(45)

3.3 Modello NCT (Nearly Coordinated Turn)

L'implementazione del modello DWPA richiede l'aumento del vettore degli stati in modo da poter stimare anche la coordinata y e le sue rispettive derivate. In maniera del tutto analoga a quanto fatto nella sezione ??, sono state trovate le espressioni per la matrice di transizione di stato e per la matrice di covarianza, dove, anche in questo caso, le varianze sono state prese uguali:

F =              1 T 12T2 0 0 0 0 1 T 0 0 0 0 0 1 0 0 0 0 0 0 1 T 12T2 0 0 0 0 1 T 0 0 0 0 0 1              (3.15) Q =              1 4T 4 1 2T 3 1 2T 2 0 0 0 1 2T 3 T2 T 0 0 0 1 2T 3 T 1 0 0 0 0 0 0 14T4 1 2T 3 1 2T 2 0 0 0 12T3 T2 T 0 0 0 12T3 T 1              σv2x (3.16)

Si è adottato un criterio, in fase progettuale, per la valutazione della deviazione standard: questa deve avere lo stesso ordine di grandezza del massimo incremento di accelerazione possibile all'interno di un intervallo di campionamento. Pertanto per descrivere manovre molto rapide, in cui il cambiamento di accelerazione avviene in pochi istanti di tempo, σ2

vx sarà "grande", mentre per rappresentare piccole perturbazioni o manovre più lente,

σ2vx assumerà valori più "piccoli".

Model_matrix_DWPA è la function MATLAB implementata per calcolare le matrici di transizione di stato e di covarianza del rumore di processo tramite le relazioni ?? e ??. Gli input richiesti sono i valori dell'intervallo di campionamento e della deviazione standard del rumore.

3.3 Modello NCT (Nearly Coordinated Turn)

Una tipica manovra impiegata dagli UAV per il cambio di traiettoria o per evitare even-tuali collisioni è la virata. La manovra di virata viene di norma eettuata inclinando il velivolo nel piano orizzontale di un angolo, detto angolo di virata. Negli UAV multirotore questo avviene variando la spinta dei rotori disposti lungo l'asse di rollio: uno dei due aumenta il numero di giri mentre l'altro li diminuisce. Se la virata viene eettuata a

(46)

3.3 Modello NCT (Nearly Coordinated Turn)

velocità, quota e raggio di curvatura (o velocità angolare Ω) costanti prende il nome di virata corretta.

L'equazione dinamica in 2-D che descrive la manovra di virata in assenza di rumore è: ˙

x(t) = A(t)x(t) (3.17)

Dove il vettore dello stato e la matrice del sistema sono deniti nel seguente modo:

x = [x ˙x y ˙y]0 (3.18) A =        0 1 0 0 0 0 0 Ω 0 0 0 1 0 Ω 0 0        (3.19)

Per tale sistema la matrice di transizione di stato è data da:

F =        1 sin ΩT 0 −cos ΩT Ω 0 cos ΩT 0 − sin ΩT 0 cos ΩT 1 sin ΩT 0 sin ΩT 0 cos ΩT        (3.20)

Si può notare come il modello presentato sopra sia lineare se la velocità angolare è con-siderata un ingresso (costante) al modello. In genere, non è noto a priori il modulo ed il segno della velocità angolare, pertanto questo approccio potrebbe portare ad errori con-siderevoli nel caso in cui la manovra di virata dell'UAV bersaglio sia diversa da quella implementata dal modello.

Inoltre, nelle reali applicazioni per UAV raramente viene eettuata una virata corretta per il cambio di rotta, soprattutto se si considerano gli UAV multirotore. Pertanto l'im-plementazione di un modello a velocità angolare costante porterebbe ad ulteriori errori nella stima. La soluzione adottata nell'implementazione del modello è stata aumentare la dimensione del vettore dello stato del sistema di uno, includendo la velocità angolare come una variabile di stato. Per tale motivo, questo modello prende il nome di NCT (Nearly Coordinated Turn).

Il vettore dello stato nel modello NCT è dato da:

(47)

3.3 Modello NCT (Nearly Coordinated Turn)

Il modello discreto diretto è denito dall'equazione riportata di seguito:

x(k + 1) = f[k, x(k)] + Γv(k) = (3.22)           1 sin Ω(k)TΩ(k) 0 −cos Ω(k)TΩ(k) 0 0 cos Ω(k)T 0 − sin Ω(k)T 0 0 cos Ω(k)TΩ(k) 1 sin Ω(k)TΩ(k) 0 0 sin Ω(k)T 0 cos Ω(k)T 0 0 0 0 0 1           x(k) + Γv(k) (3.23)

Dove la matrice di guadagno del rumore di processo è:

Γ =           1 2T 2 0 0 T 0 0 0 12T2 0 0 T 0 0 0 T           (3.24)

Si può notare che il rumore di processo nell'equazione ?? è un vettore e non più uno scalare come nei modelli precedenti. Questo è dovuto al fatto che il rumore agisce sia sulle coordinate spaziali che sulla velocità angolare, in quanto la virata viene eettuata a velocità lineari e angolari quasi costanti a causa di perturbazioni esterne.

Questo sistema è chiaramente non lineare, in quanto uno stato del vettore degli stati, la velocità angolare, è presente all'interno della matrice di transizione di stato. Pertanto la sua implementazione richiede l'utilizzo di un EKF. Lo Jacobiano del vettore f valutato in x = ˆx(k|k) (in accordo con la notazione usata nel capitolo ??) è stato calcolato nel seguente modo: fx(k) = F (k) =           1 sin ˆˆΩ(k|k)T Ω(k|k) 0 − 1−cos ˆΩ(k|k)T ˆ Ω(k|k) fΩ,1(k|k) 0 cos ˆΩ(k|k)T 0 − sin ˆΩ(k|k)T fΩ,2(k) 0 1−cos ˆˆ Ω(k|k)T Ω(k|k) 1 sin ˆΩ(k|k)T ˆ Ω(k|k) fΩ,3(k) 0 sin ˆΩ(k|k)T 0 cos ˆΩ(k|k)T fΩ,4(k) 0 0 0 0 1           (3.25)

Riferimenti

Documenti correlati

Specifiche ente schedatore: R03/ Istituto dei Ciechi di Milano Nome: Cerletti, Maddalena. Referente scientifico: Cerletti, Maddalena Funzionario responsabile:

Denominazione struttura conservativa - livello 1: Fondazione Memoria della Deportazione Denominazione struttura conservativa - livello 2: Archivio fotografico. Tipologia

Ultima modifica scheda - data: 2020/07/27 Ultima modifica scheda - ora: 10.04 PUBBLICAZIONE SCHEDA Pubblicazione scheda - stato: 1.. SUPPORTO COLLEGATO: AFRLSUP - SUP-10100-0005231 [1

Ultima modifica scheda - data: 2021/11/11 Ultima modifica scheda - ora: 10.21 PUBBLICAZIONE SCHEDA. Pubblicazione scheda -

Ultima modifica scheda - data: 2021/11/11 Ultima modifica scheda - ora: 10.21 PUBBLICAZIONE SCHEDA. Pubblicazione scheda -

Scena del film "Edipo Re" - Regia Pier Paolo Pasolini, 1967 - Silvana Mangano, in abiti di scena, è seduta su una cassa di legno e rivolge lo sguardo verso sinistra.. Dietro

Le prestazioni idrauliche e del motore notevolmente superiori più un ridotto consumo di carburante al contempo.. La manutenzione resa semplice: la cabina ribaltabile e la copertura

Ultima modifica scheda - data: 2015/07/10 Ultima modifica scheda - ora: 15.45 PUBBLICAZIONE SCHEDA Pubblicazione scheda - stato: 1.