• Non ci sono risultati.

Geolocalizzazione di veicoli con sistema elettronico GPS differenziale e piattaforma inerziale

N/A
N/A
Protected

Academic year: 2021

Condividi "Geolocalizzazione di veicoli con sistema elettronico GPS differenziale e piattaforma inerziale"

Copied!
96
0
0

Testo completo

(1)

1

UNIVERSITÀ DEGLI STUDI DI PISA Facoltà di ingegneria

Corso di Laurea Magistrale in Ingegneria Elettronica

TESI DI LAUREA MAGISTRALE

Geolocalizzazione di veicoli con sistema elettronico GPS differenziale e piattaforma inerziale

RELATORI

Prof. Sergio SAPONARA Ing. Emanuele MAZZI

CANDIDATO Giulia DE LORENZO

(2)

2

A

BSTRACT

Questo lavoro di tesi descrive la realizzazione di un sistema elettronico per il posizionamento globale di veicoli che sfrutta sia dati di una piattaforma inerziale che dati di navigazione satellitare. A tal fine è stato assemblato e verificato sperimentalmente. Per questo sistema elettronico è stata sviluppata in ambiente Matlab/Simulink una piattaforma software per l’acquisizione e l’analisi dei dati sia offline che in tempo reale. Il principale risultato innovativo del lavoro di tesi è stata l’implementazione originale di un algoritmo di sensor fusion per accoppiare dati inerziali con dati satellitari tramite filtro di Kalman esteso al fine di aumentare la robustezza e l’affidabilità del sistema di navigazione.

(3)

3

I

NDICE

Abstract ... 2 Indice ... 3 Introduzione ... 4 Acronimi ... 6

1. Geolocalizzazione GPS RTK, concetti di base ... 7

1.1 GPS standard: Principio di funzionamento... 7

1.2 Real Time Kinematic GPS... 10

2. Sistema RTK Piksi multi ... 14

2.1 Funzionamento di base ... 14

2.2 Confronto del sistema Piksi Multi con altri sistemi RTK... 17

2.3 Moduli hardware ... 18

2.4 Progettazione e realizzazione di un case per il sistema ... 24

2.5 Installazione del sistema RTK ... 29

2.6 Test del sistema RTK ... 38

2.7 Limiti del sistema ... 42

3. Post processing in Matlab ... 44

3.1 Interfaccia grafica per il post processing ... 44

3.2 Integrazione GPS IMU tramite filtro Kalman ... 46

3.3 Verifica sperimentale delle prestazioni con Kalman offline ... 60

4. Acquisizione e correzioni in tempo reale in ambiente Simulink ... 72

4.1 Protocollo SBP... 72

4.2 Acquisizione in tempo reale dei dati in ambiente Simulink ... 75

4.3 Implementazione del filtro di Kalman online in Simulink ... 78

4.4 Test in tempo reale ... 79

4.5 Valutazione dei ritardi e tempi di calcolo ... 81

5. Conclusioni ... 83

6. Bibliografia ... 84

(4)

4

I

NTRODUZIONE

In questo lavoro di tesi è stato realizzato, analizzato e migliorato un sistema di posizionamento globale per veicoli, basato su tecnologia RTK (Real Time Kinematic), GPS (Global Positioning System), ed integrato con navigazione inerziale utilizzando una piattaforma IMU (Inertial Measurement Unit).

L’elaborato espone inizialmente i concetti di base ed il principio di funzionamento dei dispositivi di posizionamento RTK, i quali sfruttano la ricezione della portante del segnale GPS da parte di due ricevitori GPS, uno detto base e l’altro detto rover, collegati a terra da un ponte radio. Nel momento in cui almeno cinque satelliti in comune sono agganciati da entrambi i ricevitori, il ricevitore base invia al rover informazioni, tramite ponte radio, sufficienti per ottenere soluzioni di posizionamento relativo e assoluto del rover con accuratezza dell’ordine di alcuni centimetri.

Il lavoro di tesi è stato sviluppato in collaborazione con l’azienda P2C (Pure Power Control), partendo da un sistema commerciale RTK denominato Piksi Multi, prodotto dall’azienda americana SwiftNav. Il kit Piksi Multi comprende: modulo principale GPS RTK, piattaforma IMU, installate su una scheda madre con interfacce esterne, modulo radio, antenna GPS, antenna radio, cavi di collegamento, alimentatori.

Nel lavoro di tesi questo hardware a disposizione è stato installato, configurato e testato per un funzionamento ottimale, inoltre le specifiche di tutte le componenti sono state analizzate in dettaglio. In particolare è stato realizzato un apposito alloggiamento, identico sia per il rover che per la base, che permette l’utilizzo dei ricevitori con alimentazione autonoma in movimento su veicoli.

I test stazionari hanno validato le prestazioni dichiarate dal costruttore, ma evidenziato una bassa affidabilità del sistema Piksi Multi.

Utilizzando le misure della IMU, a bordo delle schede, è stata realizzata una integrazione IMU-GPS. Implementando le equazioni del moto a 6 gradi di libertà, è stata realizzato un sistema più robusto e con accuratezza dell’ordine dei centimetri, grazie anche a un processing basato su filtro di Kalman esteso, opportunamente dimensionato. In ambiente Matlab/Simulink è stato realizzato un toolbox in grado di acquisire, visualizzare ed analizzare i dati sia in post-processing sia in tempo reale. Il lavoro di tesi è organizzato come segue:

(5)

5

Il primo capitolo illustra i concetti di base del sistema e il principio di funzionamento generale GPS RTK. Il secondo capitolo presenta in dettaglio il sistema Piksi Multi sul quale si basa il lavoro di tesi. Il terzo capitolo descrive in che modo è stata realizzato il sistema integrato di navigazione IMU-GPS e in che modo sono stati effettuati i test sperimentali sul sistema RTK. Il quarto capitolo descrive l’acquisizione dei dati inerziali e satellitari dal modulo GPS e l’integrazione con i segnali dell’IMU e del GPS in tempo reale. Nel capitolo 5 vengono proposti alcuni sviluppi futuri ed evidenziate le conclusioni.

Motivazioni

Alla base di questo lavoro c’è la necessità di operare con un sistema che abbia un’elevata accuratezza, robustezza e affidabilità in ambienti di lavoro difficili come cantieri e ambienti industriali in generale. Inoltre è necessario che il sistema in questione abbia la capacità di operare in tempo reale su veicoli e di mantenere anche in questa modalità un’accuratezza centimetrica.

(6)

6

A

CRONIMI

GPS Global Positioning System RTK Real Time Kinematic

GNSS Global Navigation Satellite System ECEF Earth-Centered Earth-Fixed

NED North East Down

ENU East North Up

IMU Inertial Measurement Unit

JSON JavaScript Object Notation

SBP Swift Binary Protocol

(7)

7

1. G

EOLOCALIZZAZIONE

GPS

RTK,

CONCETTI DI BASE

1.1

GPS standard: Principio di funzionamento

Il sistema di posizionamento globale è un sistema di posizionamento e navigazione satellitare civile che, attraverso una rete dedicata di satelliti artificiali in orbita, fornisce ad un ricevitore GPS informazioni sulle sue coordinate geografiche in ogni condizione meteorologica, ovunque sulla Terra ove vi sia un contatto privo di ostacoli con almeno quattro satelliti del sistema. La localizzazione avviene tramite la trasmissione di un segnale radio da parte di ciascun satellite e l'elaborazione dei segnali ricevuti da parte del ricevitore.

Il principio di funzionamento della geolocalizzazione satellitare (Global Positioning System, GPS) si basa su un metodo di posizionamento sferico, detto trilaterazione, che sfrutta la misura del tempo impiegato da un segnale radio a percorrere la distanza tra satellite e ricevitore per calcolare la posizione del ricevitore GPS.

Il segnale inviato dal satellite è di tipo orario, ed è generato a partire da un orologio atomico presente sul satellite. Il ricevitore calcola l'esatta distanza di propagazione dal satellite a partire dalla differenza (dell'ordine dei microsecondi) tra l'orario pervenuto dal satellite e quello del proprio orologio, sincronizzato con quello a bordo del satellite, tenendo conto della velocità di propagazione del segnale.

Se il ricevitore avesse anch'esso un orologio atomico al cesio perfettamente sincronizzato con quello dei satelliti, sarebbero sufficienti le informazioni fornite da tre satelliti, ma l'orologio a bordo dei ricevitori GPS è molto meno sofisticato di quello a bordo dei satelliti e deve essere corretto frequentemente. Il ricevitore deve dunque risolvere un sistema di quattro incognite (latitudine, longitudine, altitudine e tempo) e necessita quindi di quattro equazioni, per cui è necessario agganciare quattro satelliti. In particolare il dispositivo ricevente effettua la sincronizzazione dell’orologio all'accensione, utilizzando l'informazione che arriva dal quarto satellite.

(8)

8

 

 

 

 

2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 2 2 2 4 4 4 4 u x y z u u x y z u u x y z u u x y z u p X U Y U Z U c dT p X U Y U Z U c dT p X U Y U Z U c dT p X U Y U Z U c dT                             (1)

in cui le quattro incognite sono [𝑈𝑥, 𝑈𝑦, 𝑈𝑧,𝑑𝑇𝑢], mentre 𝑝𝑢𝑖 rappresenta uno pseudo-range misurato dal ricevitore come

𝑝𝑢𝑖 = 𝑐(𝑇𝑢𝑖 − 𝑇𝑠𝑖),

dove 𝑐 rappresenta la velocità della luce nel vuoto, 𝑇𝑢𝑖 l’istante di ricezione del messaggio dall’i-esimo satellite come indicato dall’orologio di bordo (comprensivo dell’errore di clock 𝑑𝑇𝑢) e 𝑇𝑠𝑖 l’istante di trasmissione del segnale da parte del satellite. Il ricevitore ricava gli istanti di trasmissione e le coordinate XYZ della posizione del satellite dalle informazioni del messaggio trasmesso. La soluzione delle equazioni (1) può essere ottenuta tramite metodi algebrici o numerici (minimi quadrati, o metodi iterativi), inoltre dal 1985 sono state sviluppate soluzioni in forma chiusa, delle quali la più popolare è quella di S. Bancroft. L’utilizzo di un numero maggiore di satelliti porta a un sistema sovra-determinato la cui soluzione con metodi numerici porta a un miglioramento della’accuratezza.

(9)

9

Ciascun satellite emette su due canali principali: L1, l'unico disponibile per uso civile, su cui viene trasmesso il cosiddetto coarse\acquisition, C\A code, L2, per uso militare, su cui è trasmesso un codice più accurato Precise code, P-code.

Le frequenze portanti sono rispettivamente di 1575,42 MHz e di 1227,6 MHz, derivate da un unico oscillatore ad alta stabilità con frequenza d clock pari a 10,23MHz che viene moltiplicata per 154 e 120 per ottenere la frequenza delle due portanti. Negli ultimi 5-10 anni alcuni modelli di ricevitori GPS per uso civile in campo ingegneristico hanno avuto la possibilità di usufruire del canale L2 permettendo così di raggiungere un margine di accuratezza centimetrico, il quale è in ogni caso raggiungibile anche utilizzando il codice C\A tramite GPS differenziale, o RTK, come descritto successivamente.

Su queste frequenze portanti, modulate in fase, viene modulato il messaggio di navigazione, che ha una velocità di trasmissione pari a 50 bit per secondo, con una modulazione in fase, la quale sfrutta un codice binario pseudo casuale proprio di ogni satellite: L’informazione codificata contiene:

 tempo della trasmissione del satellite (satellite time-of-transmission);  effemeridi satellite (satellite ephemeris);

 grado di funzionalità del satellite (satellite (SIS) health);

 correzione relativistica dell'orologio satellitare (satellite clock correction);  effetti di ritardo del segnale dovuti alla ionosfera (ionospheric delay

effects);

 correlazione con il tempo coordinato universale (UTC) come specificato dallo United States Naval Observatory (USNO);

 stato della costellazione (constellation status).

Il ricevitore di bordo identifica il satellite attraverso la particolare sequenza pseudo-casuale, che è replicata nel ricevitore. Inoltre il tempo impiegato dal segnale per arrivare dal satellite al ricevitore viene calcolato attraverso una misura dello slittamento necessario ad adattare la sequenza dei bit ricevuta dal satellite a quella identica replicata dal ricevitore di bordo. Le principali fonti di errore per le quali sono predisposte complesse tecniche di correzione sono:

 errori relativistici;

 effetti atmosferici (ritardi ionosferici e troposferici);  cammini multipli (effetto multipath per riflessioni a terra);  errori nelle effemeridi e di clock;

(10)

10

 interferenze artificiali (interferenze elettromagnetiche da trasmissioni terrestri).

1.2

Real Time Kinematic GPS

Real Time Kinematic (RTK) è una tecnica utilizzata per migliorare l’accuratezza dei dati di posizione derivanti da sistemi di posizionamento satellitari (sistemi globali di navigazione satellitare, GNSS) come il GPS, GLONASS, Galileo e Beidou.

La tecnica RTK sfrutta misurazioni sulla fase della portante del segnale, piuttosto che il contenuto informativo del segnale, e si basa su una singola stazione di riferimento o su una stazione virtuale interpolata, per fornire correzioni in tempo reale, arrivando a fornire correzioni con accuratezza che può raggiungere l’ordine dei centimetri.

Figura 2. Set up del sistema RTK

Normalmente, ricevitori di navigazione satellitare devono allineare i segnali inviati dal satellite ad una versione, generata internamente, di una sequenza binaria pseudocasuale, contenuta anche nel segnale.

Poiché il segnale satellitare richiede un certo tempo per raggiungere il ricevitore, le due sequenze inizialmente non coincidono; la copia del satellite è

(11)

11

ritardata rispetto alla copia locale. Ritardando sempre più la copia locale, le due copie possono infine essere allineate e quindi coincidere. La correzione, cioè il ritardo introdotto sulla copia locale per farla coincidere con la copia del satellite, rappresenta il tempo necessario al segnale per raggiungere il ricevitore (percorso tx-rx), noto questo tempo si può calcolare la distanza del ricevitore dal satellite.

L’accuratezza del range della misura risultante è essenzialmente una funzione della capacità dell’elettronica del ricevitore di elaborare in modo accurato i segnali dal satellite, e delle fonti di errore additive quali ritardi dovuti alla ionosfera e alla troposfera, multipath, orologio satellitare e gli errori delle effemeridi, etc.

La tecnica RTK segue lo stesso concetto generale, ma utilizza l'onda portante del segnale satellitare come segnale, ignorando le informazioni contenute in esso. Il miglioramento possibile utilizzando questo segnale è potenzialmente molto elevato. Ad esempio, nel caso del GPS, il codice binario (C/A), trasmesso nel segnale L1, cambia di fase a 1.023 MHz, ma la portante L1 stessa è alla frequenza di 1575,42 MHz e cambia fase mille volte più spesso. La frequenza portante corrisponde ad una lunghezza d'onda di 19 cm per il segnale L1. Un errore di ± 1% nella misura della fase della portante L1 corrisponde pertanto ad un errore di ± 1,9 mm di stima basale.

Lunghezza d'onda [m] Precisione intrinseca [m]

C/A-code 300 6

P-code 30 0,6

L2 0,24 0,0048

L1 0,19 0,0038

Tabella 1. Confronto tra pseudocodici e frequenze portanti

La realizzazione di un sistema RTK è legata alla difficoltà nell’allineare correttamente i segnali. I segnali di navigazione sono volutamente codificati in modo da essere allineabili con facilità (segnale binario pseudo-casuale), ma i periodi della portante sinusoidale sono indistinguibili. Questo rende estremamente difficile sapere se si è allineato correttamente i segnali o se sono sfasati di uno o più periodi interi, introducendo in tal modo un errore di 19 cm, o uno più grande

(12)

12

multiplo di 19 cm. Questo problema dell'ambiguità di un numero intero di periodi può essere affrontato con metodi statistici sofisticati che mettono a confronto le misurazioni dai segnali C / A e confrontando gli intervalli risultanti tra più satelliti. Tuttavia, nessuno di questi metodi può ridurre questo errore a zero.

Figura 3. Onde portanti derivanti da più satelliti.

In pratica, i sistemi RTK utilizzano un ricevitore detto stazione base e un numero di ulteriori unità mobili, dette rover. La stazione di base effettua una ritrasmissione della fase della portante che osserva, e le unità mobili confrontano le proprie misure di fase con quelle ricevute dalla stazione base. Ci sono diversi modi per trasmettere un segnale di correzione dalla stazione base alla stazione mobile. Il modo più popolare per ottenere in tempo reale, la trasmissione del segnale a basso costo è quello di utilizzare un modem radio, tipicamente nella banda UHF. Nella maggior parte dei paesi, alcune frequenze sono assegnate specificamente per scopi RTK.

L’accuratezza nominale tipica di questi sistemi è 1 centimetro ± 2 parti per milione (ppm) orizzontalmente e 2 centimetri ± 2 ppm verticalmente.

Anche se questi parametri limitano l'utilità della tecnica RTK per la navigazione in generale, la tecnica è perfettamente adatta a ruoli come il rilievo. In questo caso, la stazione di base si trova in una posizione rilevata nota, spesso un riferimento, e l’unità mobile può quindi produrre una mappa molto accurata ricevendo correzioni relative a quel punto.

(13)

13

Nel rilievo RTK il rover elabora i dati in tempo reale; per fare questo ha bisogno di un collegamento continuo con la stazione base. Collegamento che permette alla base di inviare al rover i dati necessari all’elaborazione delle varie baseline (vettori distanza tra base e rover) con algoritmi simili a quelli utilizzati in post-elaborazione. Il collegamento può essere effettuato via radio o via cellulare.

(14)

14

2. S

ISTEMA

RTK

P

IKSI MULTI

2.1 Funzionamento di base

La cinematica in tempo reale (RTK) è una tecnica utilizzata per migliorare l’accuratezza dei dati di posizione derivanti da sistemi di posizionamento satellitari. La posizione risultante del GPS tradizionale ha un’accuratezza dell’ordine dei metri mentre la tecnologia RTK fornisce una posizione con accuratezza centimetrica utilizzando una tecnica differenziale e correggendo il ritardo ionosferico il quale è la causa principale della perdita di accuratezza da parte del GPS tradizionale.

I sistemi RTK utilizzano due ricevitori, uno detto base, che è posizionato in posizione geodetica nota, l’altro detto rover che invece è in movimento; quest’ultimo riceve dalla base delle informazioni (posizione della base e altri dati sul rumore) che gli permettono di migliorare la sua posizione attraverso complessi algoritmi elaborati da un processore presente sul modulo GPS. Questa tecnica permette di annullare il ritardo ionosferico e fornire una posizione relativa tra i due ricevitori con accuratezza centimetrica.

Piksi Multi è un modulo GPS comprensivo di ricevitore GPS in grado di ricevere, elaborare e utilizzare i segnali GPS L1 e L2 per sviluppare una soluzione di posizionamento con accuratezza centimetrica. Piksi Multi è inoltre “hardware ready” ovvero compatibile con hardware per GLONASS G1 / G2, BeiDou B1 / B2, Galileo E1 / E5b, QZSS L1 / L2 e SBAS. "Hardware-ready" implica che il modulo Piksi Multi GPS abbia l'estremità frontale RF per ricevere questi segnali.

(15)

15

Ci sono alcune regole da rispettare per il corretto funzionamento del sistema RTK Piksi Multi: non è possibile posizionare il sistema RTK all'interno di un edificio infatti, non solo i segnali GPS sono estremamente deboli in casa, ma cade l’ipotesi su cui si basano gli algoritmi di elaborazione, ovvero una delle ipotesi primarie che il ricevitore fa per calcolare la soluzione di posizione / velocità / tempo (PVT), cioè che il segnale viaggia su una linea retta dal satellite all'antenna del ricevitore. Quest’ultima ipotesi è annullata dal fatto che il segnale, ricevuto dall’antenna GPS, si riflette molte volte su pareti e superfici prima di arrivare al ricevitore all’interno di un edificio.

Figura 5. Posizionamento corretto dell’antenna GPS

Inoltre essendo il modulo Piksi Multi GPS un sistema ad alta precisione, che necessita di acquisire la portante di fase dei satelliti, è sensibile all’ambiente circostante. Quindi per far sì che il sistema Piksi RTK funzioni al meglio è necessario posizionare l’antenna GPS a 30 gradi circa da ostacoli e persone: la misura risulterà più accurata se l’antenna GPS ha un’ampia visibilità del cielo.

Piksi Multi viene venduto comprensivo di un kit, mostrato nelle figure 6 e 7, che contiene accessori utili per la realizzazione di un sistema RTK completo:

 modulo GPS;  scheda madre;  antenna GPS;  radio.

(16)

16

Piksi Multi GNSS Receiver Pack Components (X 2) Radio Pack includes: A – (1) Power supply (100-240V AC / 12V DC 1.5 A) A – (2) FreeWave® radios B – (1) MMCX (male) to SMA (female) cable B – (1) Programming Cable

C – (1) GNSS Module and Evaluation Board C – (2) 2.4 GHz 1/2 wave whip stub antennas D – (1) Barrel jack to wire cable D – (2) Power supply (100-240V AC, 12V DC, 0.8 A) E – (1) Micro-USB cable E – (2) DE9 6-foot extension cables

F – (1) DB9 loopback adapter

Figura 6. Kit Piksi Multi

GNSS Antenna Pack Components:

A – (1) L1/L2 GPS/GLN/DBS mini-survey antenna

B – (1) 4-meter SMA (male) to TNC (male) antenna cable (RG58) C – (1) 90 degree adapter

Figura 7. Antenna GPS

Le varie componenti del kit verranno descritte in dettaglio nei prossimi paragrafi.

(17)

17

La radio è necessaria per creare un collegamento tra i due moduli GPS in modo che la base possa trasmettere al rover le informazioni necessarie per i calcoli relativi al miglioramento dell’accuratezza sulla posizione.

Il sistema Piksi Multi ha un’accuratezza di 1 cm orizzontalmente, l’accuratezza verticale è due/tre volte peggiore dell’accuratezza orizzontale.

A causa della natura del sistema RTK, l'accuratezza si degrada di 1 mm orizzontalmente e 3 mm verticalmente per ogni chilometro tra la base e il rover.

La distanza massima tra i due ricevitori per il corretto funzionamento è limitata dalla qualità della radio. Le radio incluse nel kit originale Piksi Multi hanno una gamma di 500 metri con linea di visibilità. Non esiste una distanza minima tra i ricevitori.

Inoltre come tutti i ricevitori GPS, il ricevitore deve collegarsi con almeno quattro satelliti. Se questi collegamenti vengono persi, l'unità deve reinizializzarsi e la perdita del collegamento può avvenire a causa della copertura vegetativa o di edifici che ostacolano la vista del cielo. Proprio per questo il tempo per la prima correzione da parte del sistema RTK non è deterministico, ma dipende dall’ambiente circostante, di solito per il sistema Piksi Multi è di circa un minuto.

2.2 Confronto del sistema Piksi Multi con altri sistemi RTK

Da una ricerca bibliografica è emerso che il sistema RTK Piksi Multi risulta competitivo sul mercato per quanto riguarda le prestazioni del modulo GPS, ma essendo un prodotto nuovo risulta carente su alcuni aspetti: in primo luogo è ancora in costante aggiornamento firmware e non è ancora completo dal punto di vista delle interfacce esterne, inoltre viene venduto come kit da assemblare e non risulta compatto come altri sistemi sul mercato. Questi ultimi aspetti giustificano il prezzo relativamente inferiore ad altri sistemi RTK.

(18)

18

Marca Modulo GPS Prezzo (singolo pezzo)

Rate (Hz) H_acc (cm) V_acc (cm) $

SwiftNav 10 1 1.5 600 Leica/Novatel 100 1 1.5 3000 Trimble 20 0.8 1.5 4019 Topcon 10 1 1.5 3035 JAVAD 5 1 1.5 2500 Navcom Technology 100 1 1.5 3700

Tabella 2. Confronto tra moduli GNSS.

Per quanto riguarda l’accuratezza verticale quasi tutti i sistemi sul mercato non riescono a raggiungere valori al di sotto di 1.5 cm mentre per l’accuratezza orizzontale alcuni sistemi riescono ad arrivare al di sotto di 1 cm. In ogni caso il modulo Piksi Multi rappresenta un buon compresso tra costo e prestazioni, avendo un’accuratezza mediamente elevata ad un prezzo economico rispetto ad altri sistemi.

2.3 Moduli hardware

Modulo GPS Piksi Multi (Swift-Nav)

Piksi Multi è un ricevitore GPS RTK multi-banda e multi-costellazione che garantisce un’accuratezza a livello di centimetri ad un basso costo.

(19)

19

Inoltre Piksi Multi fornisce prestazioni migliori rispetto ai sistemi classici grazie al suo hardware multi-costellazione. I sistemi a frequenza singola, possono richiedere molti minuti per ottenere una correzione ad alta accuratezza, Piksi Multi essendo un sistema multibanda entra in modalità di alta accuratezza molto più velocemente dei sistemi a banda singola: il tempo di convergenza è dell’ordine dei secondi e non di minuti. Inoltre in un sistema multibanda ogni satellite GPS invia diversi segnali di posizionamento su diverse frequenze (o bande). Un sistema RTK a banda singola riceve solo la frequenza L1 più comune. Un sistema a più bande riceve più frequenze: nel caso di Piksi Multi, entrambe le bande L1 e L2. L'accesso a più frequenze fornisce al sistema molte più informazioni sui possibili errori nel posizionamento a causa di interferenze atmosferiche. Questo migliora notevolmente l'accuratezza e l'affidabilità e consente una più rapida convergenza degli algoritmi. Oggi esistono complessivamente quattro sistemi globali, compresi quelli costruiti dalla Russia (GLONASS), dalla Cina (BeiDou) e dall'Europa (Galileo). Ci sono anche sistemi regionali, come il QZSS del Giappone. L’hardware Piksi Multi supporta l'ingresso simultaneo a banda doppia a tutti i sistemi suddetti, il che lo rende più affidabile.

Il modulo GPS comprende anche componenti tecnologici microelettromeccanici (MEMS) come un’unità inerziale (IMU), che contiene un giroscopio ed un accelerometro, e un magnetometro.

Piksi Multi è dotato di un processore Xilinx Zynq con un FPGA e processori dual-core ARM Cortex-A9.

(20)

20 Radio

Il FreeWave 2.4 GHz GXM radio viene utilizzato per applicazioni safety critical ed è quindi un modello affidabile e robusto. Le radio FreeWave sono utilizzate in molte industrie tra cui petrolifere e gas, militari, agricoltura di accuratezza, acqua/acque reflue e altro ancora. Ad esempio, le radio FreeWave vengono utilizzate dalle aziende energetiche per massimizzare la produzione e ridurre i costi di esercizio, per applicazioni mission critical in ambito militare e per il monitoraggio ambientale per avvertire dei disastri naturali imminenti.

Le caratteristiche del modello utilizzato per il sistema RTK sono le seguenti:  range di frequenza 2.4-2.483GHz

 banda di occupazione 230kHz  modulazione GFSK

 range data link 500m con segnale chiaro

Figura 10. Radio

Modulazione GSFK

La GFSK è un tipo di modulazione FSK che utilizza un filtro gaussiano per smussare l’onda quadra di ingresso ad ogni sua variazione. Viene utilizzata soprattutto nei bluetooth e nei wireless USB. In sostanza il modulatore GFSK è uguale al modulatore FSK eccetto che nel primo il segnale passa attraverso un filtro gaussiano, determinando una minore occupazione di banda.

(21)

21

Figura 11. Schema a blocchi della modulazione GFSK.

Il filtro gaussiano è preferito ad altri filtri perché permette di ottimizzare la potenza, ovvero con minor potenza si riesce a mantenere la stessa efficacia di trasmissione.

La G-FSK adotta un filtro Gaussiano per "addolcire" le transizioni di frequenza, cosicché la frequenza portante cambia seguendo un inviluppo di forma Gaussiana e vengono ridotte le dimensioni spettrali dei lobi laterali, migliorando così l’efficienza spettrale e riducendo l’interferenza intersimbolica.

Per la velocità di trasferimento dati di base Bluetooth, la deviazione minima è di 115 kHz. Il filtraggio Gaussiano è un modo standard per ridurre la larghezza spettrale.

Evaluation board

La evaluation board permette all’utente di interfacciare il modulo Piksi Multi GNSS verso l’esterno. La board fornisce vari tipi di interfaccia di comunicazione:

 porta seriale RS-232  CAN bus

 Ethernet  USB

(22)

22

Inoltre dispone di uno slot storage SD micro e di un USB ma non ancora attive. Piattaforma inerziale

Un sistema di navigazione inerziale include almeno un calcolatore ed una piattaforma o modulo che contiene degli accelerometri, dei giroscopi, od altri dispositivi sensibili al moto. Il sistema è inizializzato da un'altra sorgente (un operatore, un ricevitore satellitare GPS, etc.) che gli fornisce la velocità e la posizione, e dopo di ciò calcola la sua posizione aggiornata e la sua velocità integrando le informazioni che ha ricevuto dai sensori di moto. Il vantaggio di un sistema inerziale è quello di non aver bisogno di riferimenti esterni per determinare la sua posizione, il suo orientamento, o la sua velocità una volta avviato.

Un sistema inerziale può rilevare una variazione della sua posizione geografica (per esempio, uno spostamento verso nord o verso est), una variazione della sua velocità (velocità, orientamento e verso del moto), e una variazione del suo orientamento (rotazione attorno ad un asse). Ciò è eseguito misurando le accelerazioni lineari ed angolari impresse al sistema. Poiché non sono richiesti riferimenti esterni (dopo l'approntamento), il sistema è immune da false trasmissioni e dal disturbo elettronico intenzionale.

I sistemi di navigazione inerziale sono impiegati su molti tipi diversi di veicoli, inclusi gli aeroplani, i sottomarini, ed i missili guidati. Tuttavia, il loro costo e la loro complessità pongono una limitazione alla destinazione per la loro pratica utilizzazione.

I giroscopi misurano la velocità angolare del sistema in una terna di riferimento inerziale. Utilizzando l'orientamento iniziale del sistema rispetto al riferimento inerziale ed integrando la velocità angolare, in questo modo si conosce l'orientamento attuale del sistema in qualsiasi momento.

Gli accelerometri misurano le accelerazioni lineari del sistema nel riferimento inerziale, ma nelle direzioni relative al sistema in movimento in cui vengono misurate (dato che gli accelerometri sono fissati al sistema e ruotano con esso, però non sono consapevoli del proprio orientamento). Tuttavia, tenendo traccia sia della velocità angolare attuale del sistema, sia della sua accelerazione lineare attuale misurata rispetto al sistema in movimento, è possibile determinare l'accelerazione lineare del sistema rispetto al riferimento inerziale. L’integrazione delle accelerazioni inerziali (usando la velocità originale come condizione iniziale)

(23)

23

usando le corrette equazioni cinematiche produce la velocità inerziale del sistema, ed una ulteriore integrazione (usando la posizione originale come condizione iniziale) produce la posizione inerziale.

Tutti i sistemi di navigazione inerziale soffrono di deriva di integrazione: piccoli errori nelle misurazioni dell'accelerazione e nella velocità angolare vengono integrati in errori progressivamente maggiori nella velocità, che vengono aggravati in errori ancora maggiori nella posizione.

La teoria dei controlli in generale ed il filtraggio Kalman in particolare forniscono la struttura teorica per la combinazione di informazioni provenienti da differenti sensori. Una delle applicazioni più comuni è la radionavigazione satellitare GPS. Combinando opportunamente le informazioni dal sistema inerziale e dal sistema GPS, gli errori nella posizione e nella velocità sono valori GPS e inerziali numericamente stabili.

IMU giroscopio e accelerometro

La BMI160 è una unità di misura inerziale a 16 bit a bassa potenza e basso rumore progettata per essere utilizzata in applicazioni mobili come la guida autonoma che richiedono valori di misure estremamente precisi e in tempo reale. In modalità di funzionamento a pieno regime, con l'accelerometro e il giroscopio abilitato, il consumo corrente è tipicamente 950 μA, consentendo sempre applicazioni su dispositivi a batteria. È disponibile in un pacchetto compatto da 14 x 2,5 x 3,0 x 0,8 mm³ LGA ". I range di funzionamento dell’accelerometro e del giroscopio sono rispettivamente ± 2 g, ± 4 g, ± 8 g, ± 16 g e ± 125°/s, ± 250°/s, ± 500°/s, ± 1000°/s, ± 2000°/s. Per quanto riguarda invece la densità di rumore:180 μg/√Hz per l’accelerometro e 0.008 °/s/√Hz per il giroscopio, i quali hanno un offset di ±40mg e ± 10°/s rispettivamente e un ampio range di temperatura di funzionamento tra i -40 e +85 gradi Celsius.

Magnetometro

BMM150 è un sensore geomagnetico digitale a bassa potenza e basso rumore a tre assi. Applicazioni come la realtà virtuale o il gioco su dispositivi mobili come telefoni cellulari, tablet o riproduttori multimediali portatili richiedono un rilevamento inerziale a nove assi, incluse le informazioni di intestazione magnetica. BMM150 può essere utilizzato con un'unità di misura inerziale (IMU) composta da

(24)

24

un accelerometro a tre assi e un giroscopio a tre assi, come il BMI055 di Bosch Sensortec. Grazie alla tecnologia di fusione dei dati sensori, adattata all'hardware, disponibile anche da Bosch Sensortec, la soluzione determina l'orientamento spaziale assoluto e i vettori di movimento ad alta precisione e dinamica. I valori di uscita del magnetometro non sono però ancora disponibili per la piattaforma Piksi Multi.

2.4 Progettazione e realizzazione di un case per il sistema

Per l’applicazione finale del sistema RTK è stato necessario assemblare un case che proteggesse l’hardware del modulo GPS supportato dalla scheda madre e la radio che deve essere connessa costantemente al modulo GPS tramite porta seriale. Il fine di utilizzo del sistema RTK in questo lavoro è quello di funzionare a bordo di un veicolo è stato quindi progettato un case adatto all’applicazione, all’interno del quale collocare scheda madre con modulo GPS, radio e batteria ricaricabile. È stato necessario dimensionare quest’ultima per far sì che il sistema RTK fosse autonomo per almeno una giornata di lavoro (8 h circa).

Per cominciare è stato fatto uno schema di come disporre i due hardware in modo da rendere accessibili i diversi connettori (USB, seriale, CAN):

Figura 13. Progetto del case.

la ventola di raffreddamento è stata posizionata dal lato apposta della griglia di ricircolo. Per il sistema di alimentazione sono state previste tre possibilità:

 alimentazione da alimentatore fisso  alimentazione da batteria portatile

(25)

25  alimentazione da auto

è stato inoltre previsto la modalità di ricarica della batteria portatile dall’interno in modo che la batteria fosse accessibile per la ricarica senza doverla estrarre dal case.

Figura 14. Progetto del case: disposizione dei dispositivi al suo interno.

Per controllare le varie modalità di alimentazione è stato realizzato un circuito a due tasti: il primo tasto accende o spegne qualsiasi tipo di alimentazione, il secondo tasto sceglie il tipo di alimentazione se fissa (veicolo o presa fissa) o portatile. Quando viene premuto il tasto che permette di scegliere l’alimentazione tramite la batteria portatile viene attivata anche la ventola, come precauzione in più oltre al dissipatore già presente sul chip.

(26)

26 Batteria

Per eseguire delle misure all’esterno è stata dimensionata una batteria portatile. La batteria ha una tensione nominale di 12V e, dato che le schede assorbono circa 1 A, è stata stimata una capacità dai 5 ai 7 Ah, per avere almeno 7 ore di autonomia. Le dimensioni sono:

 altezza 100 mm connettori compresi  lunghezza 150 mm

 profondità 80 mm

le misure sono state prese considerando le dimensioni della scatola.

Il peso è 2kg circa, essendo una batteria al piombo. Si è preferito utilizzare una batteria al piombo sebbene sia più pesante e ingombrante di una al litio per il basso costo e per la semplicità di ricarica.

Figura 16. Alimentazione del modulo Piksi Multi.

Per la progettazione del case le principali scelte e vincoli progettuali hanno riguardato:

 dimensionamento batteria per un’operatività continua di almeno 8 ore;  ideazione e realizzazione del circuito di comando dei tasti di accensione e

selezione della alimentazione, mostrato in figura 15;

 dimensionamento e posizionamento ottimale dei dispositivi nel case, del cablaggio e dei collegamenti.

(27)

27

Figura 17. Case progettato, compreso di batteria e tasti di accensione e selezione alimentazione

Figura 18. Ricevitore base su tavolo e ricevitore rover su veicolo.

Nelle figure 17 e 18 è mostrato l’alloggiamento finale realizzato, compreso di collocazione delle antenne, radio e GPS. La configurazione in modalità RTK delle due schede è stata effettuata tramite software di gestione Piksi console.

Misure di temperatura

Sono state effettuate alcune misure di temperatura sul case utilizzando un multimetro a termocoppia e un termometro a infrarossi TM910. Sono state effettuate tre tipi di misure: una a vuoto (i circuiti non sono alimentati), una con alimentazione delle schede a ventola non funzionante, l’altra con la ventola funzionante. Da queste misure è emerso che il case anche dopo una decina di minuti non si scalda in modo evidente. La temperatura sale di un paio di gradi ma risulta

(28)

28

comunque sotto i 35 gradi. La ventola che è stata montata sul case ha quindi solo un fine precauzionale.

Misure di radiofrequenza

Con l’obiettivo di caratterizzare e testare l’elettronica dei ricevitori radio e GPS sono state effettuate delle misure di radiofrequenza.

Per caratterizzare la potenza dei segnali GPS acquisiti dal ricevitore è stata collegata l’antenna GPS ad un analizzatore di spettro “Anritsu MS2665C” tramite dei connettori sma. Essendo l’antenna GPS (“mini survey GPS500”), fornita nel kit Piksi, un’antenna attiva è stato utilizzato un generatore di tensione “HP Agilent Keysight E3631A” a 12V per alimentarla e prima di connetterla all'analizzatore è stato inserito un DC-Block per impedire alla continua di andare in ingresso all'analizzatore. I cavi che sono stati usati sono tutti adattati a 50 Ohm Impostando come frequenze centrali quelle che il ricevitore GPS Piksi Multi è in grado di ricevere ovvero L1(1575,42MHz) e L2 (1227,6MHz) è stato verificato che i segnali satellitari ricevuti dall’antenna GPS hanno una potenza dell’ordine dei -120dBm ma l’antenna è un’antenna attiva che amplifica il segnale considerando che il guadagno dell’antenna, che comprende un amplificatore LNA, è di 40 dB.

Inoltre sono state fatte delle misure sul segnale radio utilizzato per ritrasmettere a frequenza 2.4 GHz: è stata collegata l’antenna radio all’analizzatore di spettro ed è stata valutata la potenza del segnale radio in trasmissione che è risultata dell’ordine dei mW (circa 10mW).

È possibile inoltre variare la potenza di trasmissione del segnale radio tramite l’apposita console fornita dal produttore Freewave, dai 10mW fino ai 500mW.

Il costruttore garantisce una distanza di 500m, i test sperimentali sono arrivati fino a distanza 200m sufficiente per macchine da cantiere

(29)

29

Figura 19. Segnale GPS ricevuto.

Figura 20. Generatore di tensione “HP Agilent Keysight E3631A” a sinistra e analizzatore di spettro “Anritsu MS2665C” a destra durante le prove all’aperto.

2.5 Installazione del sistema RTK

Comunicazione e configurazione tra moduli GNSS

In questo capitolo viene descritto come sono state configurate le schede e le radio per il corretto funzionamento del sistema RTK.

(30)

30

Figura 21. Cablaggio del modulo GPS e della radio.

Il tipo di comunicazione che è stata realizzata, tra i due moduli GPS, è di tipo master-slave ovvero uno dei due moduli è stato configurato come base (master) stazionaria e trasmette ad un secondo modulo le informazioni necessarie per correggere la posizione.

Il secondo modulo è stato configurato come rover (slave), è in movimento e riceve le informazioni dalla base tramite un collegamento radio di tipo point-to-point, grazie a queste informazioni è in grado di eseguire algoritmi di correzione per migliorare l’accuratezza della misura della propria posizione relativa alla base. Per instaurare questo tipo di comunicazione sono stati impostati i due moduli GPS e le due radio in questo modo: il modulo scelto come base e la radio ad esso associata sono state configurate in modo che la scheda acquisisca il segnale GPS e attraverso il ponte radio trasmetta la frequenza portante del segnale ricevuto, la sua posizione ed altre informazioni necessarie per gli algoritmi di elaborazione, al rover in movimento.

L’accuratezza della posizione del rover dipende anche dall’accuratezza del rilevamento delle coordinate di posizione della base.

Per ottenere risultati ottimali, occorre quindi rilevare la posizione dell'antenna della stazione di base. Questa operazione può essere fatta sia manualmente, avendo un sistema di acquisizione di riferimento esterno, oppure tramite la console fornita dalla SwiftNav che permette di configurare alcuni parametri dei moduli GPS.

(31)

31

In particolare è possibile impostare la base in modo che si inizializzi in automatico ad una posizione rilevata dalla sua stessa antenna GPS.

Figura 22. Settaggio manuale e automatico delle coordinate della posizione della stazione base.

Figura 23. Settaggio delle porte seriali dei moduli GPS.

Tramite la console è possibile configurare le porte seriali dei due moduli in modo che trasmettano (base) o ricevano (rover) informazioni tramite ponte radio.

Il rover è stato configurato in modo da ricevere tutti i tipi di messaggio e in modo da acquisire i dati inerziali dalla piattaforma inerziale presente sul modulo GPS. La base invece è stata configurata in modo da trasmettere le informazioni al rover.

(32)

32

Figura 24. Comunicazione radio point-to-point.

Per quanto riguarda le radio sono state configurate tramite la console fornita dall’azienda Freewave, la radio associata al rover come ricevitore e la radio associata alla base come trasmettitore. Attraverso l’interfaccia si posso impostare anche altri parametri come ad esempio la potenza di trasmissione che varia dai 10mW ai 500mW.

Dopo aver configurato la connessione è stato fatto un test outdoor per la verifica del funzionamento del sistema RTK. Per il corretto funzionamento della comunicazione è necessario che le antenne siano posizionate in modo corretto così da agganciare il maggior numero di satelliti possibile e che le due schede acquisiscano i segnali di almeno 5 satelliti in comune, inoltre il collegamento radio deve essere stabile. La console permette di verificare se è stata instaurata una corretta comunicazione tra base e rover:

(33)

33

Figura 25. Comunicazione tra i due moduli GPS.

Se le finestre local e remote sono attive e i primi cinque segnali sono uguali per entrambe la comunicazione sta funzionando in modo corretto.

Acquisizione dati GPS tramite Swift Console

Una volta instaurata la comunicazione tra i due moduli si possono salvare su un PC alcuni dati relativi al rover. La Swift Console genera tre file automaticamente, tutti codificati in formato CSV:

 Baseline: vettori che indicano la distanza tra base e rover, generati ogni volta che si collega Piksi alla console e viene raggiunta una soluzione Float o Fixed RTK;

 Posizione: posizione assoluta del rover in coordinate geodetiche, generata ogni volta che si collega Piksi alla console;

 Velocità: velocità standard derivate dalla posizione, generate ogni volta che si collega Piksi alla console.

(34)

34

Baseline

Figura 26. Sistema di coordinate geodetiche ed ENU

Il file baseline contiene i dati relativi ad una specifica rappresentazione di coordinate locali NED (North, East, Down) del vettore tra la base e il rover, in formato CSV.

La definizione di NED è:

 Nord: l'asse X (indicato da Xn) punta verso l'ellissoide nord (nord geodetico).

 East: l'asse Y (indicato da Yn) punta verso l'ellissoide est (geodetico est).  Down: l'asse Z (indicato con Zn) punta verso il basso lungo l'ellissoide

normale.

La figura 26 illustra questa rappresentazione (in verde). Si noti che, in questo diagramma, l'asse Z verde punta verso l'alto. Tuttavia, l'asse Z dato dalla console punta verso il basso, per rispettare la regola della mano destra. Ciò significa semplicemente che il dato dell'asse Z è generalmente un numero negativo: l'orientamento è in discesa, per cui i valori negativi indicano la distanza dalla base al rover, nei casi in cui il rover è sopra di essa.

Esistono altri tipi di coordinate per rappresentare la posizione geodetica per esempio il sistema di coordinate ECEF fornito anch’esso dalla scheda ma non generato in automatico in formato CSV.

Il file generato dal modulo Piksi è formato da record di varie colonne con separatore virgola (CSV), un esempio di tre righe è il seguente:

(35)

35

2017-06-27 17:21:36.313000,2017-06-27 15:21:54.300000,228114.300,-1.1960,-3.7650,0.0310,0.7740,3.0470,3.9505,6,3,0 2017-06-27 17:21:36.429000,2017-06-27 15:21:54.400000,228114.400,-1.3480,-3.6850,-0.0980,0.7350,2.7810,3.9250,6,3,0 2017-06-27 17:21:36.513000,2017-06-27 15:21:54.500000,228114.500,-1.4900,-3.5880,-0.1370,0.7110,2.5890,3.8875,6,3,0

In tabella 3 la descrizione dettagliata di ogni colonna:

Colonna Descrizione Esempio Commento

1 Pc_time 2017-06-27

17:21:36.313000 Orario del computer

2 Gps_time 2017-06-27

15:21:54.300000 Orario del sistema GPS

3 Tow 228114.300

Numero di secondi trascorsi dall'inizio della settimana GPS

4 North(meters) -1.1960 Il vettore nord tra la base e il rover in metri. 5 East(meters) -3.7650 Il vettore east tra la base e il rover in metri. 6 Down(meters) 0.0310 Il vettore down tra la base e il rover in metri. 7 h_accuracy(meters) 0.7740 Accuratezza orizzontale

8 v_accuracy(meters) 3.0470 Accuratezza vertical

9 Distance(meters) 3.9505 La lunghezza totale del vettore NED tra la base e il rover in metri.

10 Number of

Satellites 6

Il numero di satelliti rilevato da Piksi quando è stata registrata l’osservazione.

11 Flags 0x03

Indica quale modalità di algoritmo RTK è in funzione: 0x03 = float mode, 0x04 = fixed mode

Tabella 3. Dati baseline.

Position

Sono i dati che indicano la posizione del rover in coordinate geodetiche. Un esempio di tre righe è il seguente:

2017-06-27 17:21:36.313000,2017-06-27 15:21:54.300000,228114.300,43.6775689343,10.4742391888,54.9812,0.7740,3.0470,6,3 2017-06-27 17:21:36.414000,2017-06-27 15:21:54.400000,228114.400,43.6775675605,10.4742401766,55.1097,0.7350,2.7810,6,3 2017-06-27 17:21:36.513000,2017-06-27 15:21:54.500000,228114.500,43.6775662845,10.4742413753,55.1482,0.7110,2.5890,6,3

(36)

36

Colonna Descrizione Esempio Commento

1 pc_time 2017-06-27

17:21:36.313000 Orario del computer

2 Gps_time 2017-06-27

15:21:54.300000 Orario del sistema GPS

3 Tow(sec) 228114.300 Numero di secondi trascorsi dall'inizio della settimana GPS

4 Latitude(deg) 43.677568943 Latitudine in gradi decimali 5 Longitude(deg) 10.4742401766 LOngitudine in gradi decimali 6 Altitude(meters) 55.1097 Altitudine in metri.

7 h_accuracy(meters) 0.7740 Accuratezza orizzontale 8 v_accuracy(meters) 3.0470 Accuratezza verticale

9 Satellites 6 Il numero di satelliti rilevato da Piksi quando è stata registrata l’osservazione.

10 Flags 3 Tipo di algoritmo RTK: 0x01 = Single Point Position, 0x04 = Fixed RTK, 0x03 = Float RTK

Tabella 4. Dati di posizione.

Velocity

Il file velocity fornisce le coordinate NED della velocità del rover in metri al secondo. Un esempio di tre righe è il seguente:

2017-06-27 17:21:36.313000,2017-06-27 15:21:54.300000,228114.300,-0.463000,0.552000,-0.033000,0.720467,1,6 2017-06-27 17:21:36.429000,2017-06-27 15:21:54.400000,228114.400,-0.633000,0.599000,-0.013000,0.871487,1,6 2017-06-27 17:21:36.513000,2017-06-27 15:21:54.500000,228114.500,-0.579000,0.634000,-0.199000,0.858602,1,6

Colonna Descrizione Esempio Commento 1 Pc_time 2015-05-20

13:07:37.700003 Orario del computer 2 GPS_time 2017-06-27

15:21:54.300000 Orario del sistema GPS

3 Tow 228114.300 Numero di secondi trascorsi dall'inizio della settimana GPS

4 North(m/s) 0.033000 Vettore nord della velocità in metri al secondo 5 East(m/s) 0.024000 Vettore east della velocità in metri al secondo. 6 Down(m/s) -0.035000 Vettore down della velocità in metri al secondo 7 Speed(m/s) 0.040804 The north vector velocity in meters per second. 8 flags 1 Tipo di algoritmo RTK: 0x01 = Single Point Position,

0x04 = Fixed RTK, 0x03 = Float RTK 9 Satellites 6 Numero di satelliti acquisiti da Piksi Multi

Tabella 5. Dati velocity

Dati IMU

Per quanto riguarda i dati inerziali sono anch’essi generati in automatico dalla console ma in formato JSON (JavaScript Object Notation), il quale è un formato adatto all'interscambio di dati fra applicazioni client-server. I dati IMU sono stati estrapolati dal file tramite una funzione Matlab che traduce il formato JSON in una struttura dati:

(37)

37

Inoltre i dati da grezzi (raw data) sono quindi stati tradotti in un’unità di misura coerente con gli algoritmi di elaborazione di dati di cui parleremo in seguito.

Esempio di un record del file JSON corrispondente ad un messaggio SBP: {"data": {"sender": 14306, "msg_type": 2304, "gyr_z": -15, "tow_f": 0, "gyr_x": 26, "gyr_y": -2, "tow": 2147483648, "acc_z": 4120, "crc": 15060, "length": 17, "preamble": 85, "payload": "AAAAgAC1/8H/GBAaAP7/8f8=", "acc_y": -63, "acc_x": -75}, "session-uid": "9611e2ff-beac-4540-b577-aa4f0fbecae7", "time": "2017-05-17T14:21:53.187000"}

Per la traduzione dei dati si è fatto riferimento ai datasheet dei sensori:

Parameter Technical data

Digital resolution Accelerometer (A): 16 bit Gyroscope (G): 16bit

Measurement ranges (programmable)

(A): ± 2 g, ± 4 g, ± 8 g, ± 16 g

(G): ± 125°/s, ± 250°/s, ± 500°/s, ± 1000°/s, ± 2000°/s

Sensitivity (calibrated) (A): ±2g: 16384LSB/g ±4g: 8192LSB/g ±8g: 4096LSB/g ±16g: 2048LSB/g (G): ±125°/s: 262.4 LSB/°/s ±250°/s: 131.2 LSB/°/s ±500°/s: 65.6 LSB/°/s ±1000°/s: 32.8 LSB/°/s ±2000°/s: 16.4 LSB/°/s

Tabella 6. Specifiche IMU.

Con la funzione “read_JSON” in appendice, si genera una tabella contenente tutti i dati relativi al giroscopio e all’accelerometro. Per tradurli nelle unità di misura del sistema internazionale occorre fare un’altra operazione: dato che la risoluzione dell’accelerometro è 16 bit i dati in uscita sono rappresentati su 16 bit, inoltre a seconda della sensibilità cambia il bit più significativo. Questa conversione è descritta nel paragrafo 4.2.

(38)

38

2.6 Test del sistema RTK

TEST RTK in posizione stazionaria

Questo test è stato fatto per verificare la ripetibilità della misura. È stato fissato uno dei due moduli Piksi GPS configurato come base su un supporto e a distanza di alcuni metri ed è stato posto l’altro modulo Piksi, configurato come rover, su tre punti specifici A B e C su rispettive strutture di supporto. Il rover è rimasto fermo per alcuni minuti in un punto, poi l’acquisizione è stata interrotta e il rover è stato spostato nel punto successivo nell’ordine A-B-C. Il ciclo è stato ripetuto per tre volte. La figura mostra la mappa di posizionamento del rover nei tre punti A B e C relativamente alla base.

Figura 25. Posizionamento del rover in tre punti a distanza dalla base

Risultati del test in posizione stazionaria

In un secondo momento sono stati analizzati i dati raccolti durante il test in condizioni stazionarie, si evidenziano di seguito tre prove salienti.

(39)

39

Figura 28. Prima prova nel punto A.

Come possiamo osservare dalla figura 26 durante la prima prova nel punto A non viene raggiunta un’accuratezza dell’ordine del centimetro. Infatti il sistema RTK non riesce a lavorare con un algoritmo di tipo fixed (flags=4) a causa del fatto che la base e il rover non riescono a rilevare almeno 5 satelliti comuni, ma rimane sempre in modalità float (flags=3).

(40)

40

Figura 29. Prima prova nel punto C.

Durante la prima prova nel punto C invece il sistema RTK, dopo un breve transitorio (circa 30 secondi), lavora in modalità fixed (flags=4), in questo modo si riesce ad ottenere una accuratezza centimetrica.

(41)

41

Figura 30. Seconda prova nel punto B.

Si osserva in figura 30 come dopo un transitorio dell’ordine dei secondi la posizione del rover si stabilizzi e l’accuratezza scenda dall’ordine dei metri all’ordine dei centimetri. Questo accade nel momento in cui la soluzione RTK è completa.

In questa fase stabile è stata fatta una analisi statistica sul segnale stazionario della distanza del rover dalla base, valutandone valor medio, deviazione standard e range (scarto tra massimo e minimo) cioè la differenza tra la massima distanza raggiunta tra base e rover e quella minima.

(42)

42

Punto Prova N° media (m) Deviazione standard (cm) Range (cm)

A 1 14.06* 74* 356* A 2 11.10 0.24 1.4 A 3 11.32* 90* 325* B 1 15.578 0.56 3.9 B 2 15.582 0.19 1.8 B 3 15.592 0.12 0.7 C 1 10.918 0.25 2.7 C 2 10.915 0.16 0.8 C 3 10.937 0.33 3.4

(* per queste prove non è stata raggiunta la accuratezza centimetrica) Tabella 7. Prove in condizioni stazionarie.

La tabella 7 dei risultati mostra come, nel momento in cui la soluzione RTK completa è raggiunta (circa 30 sec tempo medio), l’errore massimo tra valori medi, a parità di punto misurato, sia dell’ordine di 1.9 cm per il punto C e 1.4cm per il punto B.

Il test dimostra che la scheda raggiunge le prestazioni dichiarate di 1cm e 1.5cm di accuratezza orizzontale e verticale rispettivamente.

È interessante notare come la robustezza della soluzione sia condizionata da una serie di fattori: visibilità di almeno 5 satelliti, ponte radio ecc. Nei test statici per il punto A non è stata raggiunta l’accuratezza centimetrica in 2 casi, per acquisizioni di durata di vari minuti.

2.7 Limiti del sistema

Limiti hardware

Il sistema Piksi Multi presenta alcuni limiti hardware e software:

 il segnale del magnetometro, nonostante sia presente il dispositivo sul modulo GNSS, non viene reso disponibile all’utente in nessun modo nel firmware attuale, è previsto un aggiornamento firmware che renda disponibile questo segnale in futuro;

 i segnali acquisiti dalla piattaforma inerziale (accelerazioni e velocità angolari), sono resi disponibili all’utente sia offline, nel file JSON, che nel flusso dati in tempo reale, ma la logica interna della scheda non utilizza questi dati per apportare correzioni alla soluzione GPS RTK;

(43)

43

 l’interfaccia CAN non risulta completamente implementata e utilizzabile dall’utente. Per la memorizzazione di dati di posizione RTK in file CSV o JSON è necessario un collegamento continuo con PC esterno.

Limiti software

L’ambiente di Swift Console è dedicato principalmente alla configurazione delle schede ed alla acquisizione dati, sia tramite la creazione di file CSV e JSON contenenti lo storico, sia tramite la generazione del flusso dati in tempo reale con protocollo seriale SBP.

 La Swift console non permette la visualizzazione diretta di tutti i messaggi generati dalla scheda, ad esempio le soluzioni GPS in coordinate ECEF, generate dalla scheda nel formato SBP, non sono visualizzabili, ma sono presenti nel file JSON e nel flusso dati SBP;  L’ambiente Swift console ha una limitata capacità di post processing,

che è lasciata all’utente.

In questa tesi sono state realizzate una serie di funzioni e di analisi in post processing per la visualizzazione e la correzione dei dati acquisiti in ambiente Matlab.

(44)

44

3. P

OST PROCESSING IN

M

ATLAB

3.1 Interfaccia grafica per il post processing

Per rendere il post processing dei dati acquisiti dal sistema RTK accessibile all’utente in modo pratico è stata sviluppata un’interfaccia Matlab.

Tramite questa interfaccia è possibile caricare i dati acquisiti dal sistema quali velocità, dati inerziali, posizione assoluta, e baseline e graficarli, inoltre è possibile eseguire l’algoritmo di correzione della posizione basato sulla sensor fusion descritto nel paragrafo successivo e graficare i risultati.

Per facilitare la visualizzazione e la disponibilità dei dati acquisiti, al fine di operazioni di post-processamento, sono state realizzate una serie di procedure per l’importazione in ambiente Matlab dei dati di storico generati dalla Swift console (files CSV con soluzioni GPS di posizione assoluta e relative a velocità, e file JSON con messaggi IMU). Dati i diversi tempi di campionamento delle soluzioni GPS (100ms) e dei dati letti dalla IMU (20ms), è stata implementata una procedura di sincronizzazione tramite interpolazione nel dominio del tempo, in modo da ottenere dati GPS e IMU relativi agli stessi istanti temporali.

Le seguenti grandezze sono rese disponibili dalla scheda, sia offline, che online tramite protocollo SBP (Swift Binary Protocol), e files CSV e JSON.

 Da soluzione RTK (ogni 100ms):

o Posizione NED (Nord Est Down) del rover relativa alla base (3 variabili, in metri);

o Coordinate geodetiche (Lat. Long. Alt.) della posizione assoluta del rover (3 variabili, in gradi)

o Velocità del rover in coordinate NED (3 variabili, in metri al secondo)

o Grandezze secondarie: numero satelliti agganciati, accuratezza istantanea, flag di modalità di funzionamento.

 Da piattaforma IMU (dopo elaborazione del dato grezzo) (ogni 20 ms) o Tre accelerazioni (m/s) lungo terna solidale con piattaforma

(terna body)

o Tre velocità angolari (rad/s) rispetto a terna solidale a piattaforma.

Alla fine di una sessione di acquisizione le suddette grandezze sono rese disponibili in files CSV e JSON.

(45)

45

Questo ha permesso di effettuare in modo pratico i seguenti test di validazione delle prestazioni RTK in condizioni di rover fermo e in movimento.

Figura 31. Interfaccia grafica realizzata in ambiente Matlab.

L’interfaccia in figura 31 è stata realizzata in ambiente Matlab e permette all’utente di visualizzare i dati satellitari come baseline, posizione, e velocità e quelli inerziali acquisiti dal modulo GPS durante i test all’aperto. Inoltre consente all’utente di analizzarli e correggerli (parte di post processing). Il pulsante baseline permette di aprire un file a scelta e visualizzare dei grafici che rappresentano la latitudine e la longitudine e il vettore distanza tra base e rover. Il pulsante position permette di visualizzare il percorso assoluto del rover mentre i pulsanti velocity e

IMU consentono di visualizzare rispettivamente la velocità del rover e i dati

inerziali come accelerazione e velocità angolari. Per quando riguarda invece la parte di post processing: il pulsante Load all data permette di caricare tre tipi di dati (IMU, posizione e velocità) da mandarli in ingresso al filtro di Kalman (capitolo 3.2) il pulsante synchronize and process data permette di sincronizzare dati inerziali e satellitari e di integrarli tramite filtro di Kalman. Infine il pulsante Plot all signal produce i grafici del percorso misurato e del percorso filtrato, angoli di Eulero, bias di accelerazione, velocità, posizione del rover.

(46)

46

3.2 Integrazione GPS IMU tramite filtro Kalman

Introduzione ai metodi di integrazione GPS-IMU

In letteratura i metodi di integrazione GPS-IMU sono divisi in due categorie principali: una è detta metodo debolmente accoppiato (loosely coupled, LC) e l’altra fortemente accoppiato (tightly coupled, TC).

Metodo debolmente accoppiato

Il metodo debolmente accoppiato consiste nell’ottenere in parallelo due soluzioni indipendenti, una dalla sola navigazione inerziale attraverso dati IMU, e l’altra dalla navigazione satellitare attraverso dati GPS. Viene calcolata la differenza tra queste due soluzioni, e si assume una dinamica di questa differenza come dinamica di base per il filtro di Kalman. Di solito questa dinamica è semplice, a volte è proposta una dinamica stazionaria dell’errore. Il compito del filtro di Kalman consiste nel mitigare l’effetto degli errori di misura, mentre non si considerano errori di processo. La dinamica del moto, e le equazioni che riportano i dati IMU da coordinate locali a coordinate globali, sono utilizzate esclusivamente nel calcolo della soluzione di posizionamento inerziale, ma non direttamente nell’implementazione del filtro di Kalman.

Metodo fortemente accoppiato

IL metodo fortemente accoppiato effettua un accoppiamento più stretto tra le equazioni del moto e la misura di posizione GPS: la dinamica del moto è direttamente implementata nel filtro di Kalman, il cui scopo è di osservare direttamente la posizione del veicolo.

In questo lavoro di tesi è stata realizzata una tecnica di integrazione del tipo “fortemente accoppiato”, che in letteratura è mostrata essere in genere superiore alla tecnica debolmente accoppiata, ma comportare una complessità computazionale maggiore.

Filtro di Kalman esteso

Il filtro di Kalman è un efficiente filtro ricorsivo che valuta lo stato di un sistema dinamico a partire da una serie di misure soggette a rumore. Per le sue caratteristiche intrinseche è un filtro ottimo per rumori e disturbi agenti su sistemi gaussiani a media nulla. Fu sviluppato originariamente dal progettista ungherese

(47)

47

Rudolf Kalman, da cui il filtro prende il nome. L’algoritmo del filtro consiste in un processo a due fasi: la prima fase esegue una previsione sullo stato del sistema, mentre la seconda utilizza le misurazioni del rumore per perfezionare la stima sullo stato del sistema. Esistono diverse varianti del filtro di Kalman originale. Questi filtri vengono utilizzati diffusamente dalle applicazioni che si basano su una stima, tra cui la visione artificiale, sistemi di guida e navigazione, econometria ed elaborazione di segnali. Il filtro di Kalman si dimostra essere lo stimatore ottimo (minimizza il valore quadratico medio dell’errore di stima) nel caso in cui il sistema dinamico sia lineare e perfettamente noto, e per rumori gaussiani a media nulla.

Per sistemi dinamici non lineari sono state proposte varianti e adattamenti del filtro di Kalman, la più diffusa delle quali è il cosiddetto Extended Kalman Filter (EKF). Il filtro EKF è di fatto standard per la navigazione GPS-IMU.

Il filtro di Kalman esteso ha come scopo la stima dello stato xk di un sistema non lineare di cui si conosce una equazione di transizione del primo ordine dello stato xk1f

x uk, k

, e sono misurati costantemente i segnali in ingresso uk ed in

uscita yk dal sistema. Il filtro EKF è in genere implementato nel tempo discreto, e

per la sua realizzazione è necessario avere a disposizione sia la funzione di transizione di stato che di calcolo dell’uscita yk h

x uk, k

.

Figura 32. Sistema non lineare e misure di ingresso e uscita

Si considera inoltre la presenza di rumore additivo gaussiano a media nulla sia di processo wk che di misura vkdescritti rispettivamente dalle matrici di

(48)

48

Figura 33. Schema completo del filtro di Kalman Esteso.

I segnali di accelerazione e velocità angolari sono stati utilizzati in modo da realizzare un sistema di navigazione inerziale, ed integrarlo alla navigazione satellitare GPS. È stato seguito un cosiddetto approccio strettamente accoppiato, in cui la misura data dalla soluzione RTK viene corretta a partire dalle equazioni del moto. Il sistema di equazioni xk1f

x uk, k

realizza una meccanizzazione delle equazioni del moto. Nel modello sviluppato è stata considerata una dinamica a sei gradi di libertà, l’unico vincolo è dato da un limite del movimento lungo asse z (verticale), limitato dal piano di lavoro.

Lo stato x del sistema include 12 variabili

Posizione e velocità in coordinate NED (6 variabili)

Bias di accelerazione lungo gli assi della terna locale (3 variabili) Angoli di Eulero (3 variabili)

L’ingresso u al sistema è il vettore delle sei variabili misurate dalle IMU (3 accelerazioni e 3 velocità angolari nella terna solidale al corpo). L’uscita y del sistema coincide con le prime sei variabili dello stato (posizione e velocità), che sono a loro volta misurate dal sistema satellitare RTK. Le equazioni complete sono mostrate nel paragrafo successivo.

Parametri del filtro sono le matrici di covarianzadel rumore di processo Q, del rumore di misura R e dello stato iniziale P.

Dopo aver sincronizzato i dati della IMU e i dati GPS ad uno stesso tempo di campionamento (20ms), il filtraggio con Kalman opera nel seguente modo

Riferimenti

Documenti correlati

La funzione Button position onclick richiama la funzione TimedFunction ogni 2 minuti e inoltre se sono abili- tati i cookie richiama la funzione RefreshFunction ogni 6 ore; la

[r]

commerciali, oggi dal costo molto contenuto, in quanto vanno dalle £ 500.000 a £ 1.000.000, consentono di sintonizzarsi automaticamente sulle frequenze dei

Environmental migration is the displacement of people caused by environmental factors, that, likewise the other migration drivers, are affected by climate

In particolare si tratta di uno strumento che riesce a soddisfare le esigenze informative di un ampio pubblico di investitori fornendo in un solo documento sia le informazioni

Vienna, Austria, 19 – 24 April 2009 Hall X/Y- Poster

Nel primo caso, sono state analizzate le differenze di determinazione di 2 punti isolati, calcolati sia quali elementi di raffittimento della rete IGM95 (rispetto ai

Per risolvere il problema della stima dei profili atmosferici da radio occultamenti GPS-LEO, sono state utilizzate delle reti neurali i cui ingressi sono i profili di rifrattività