Utililzzare un ricevitore u-blox con RTKLIB in tempo reale

Tutorial 26 aprile

Introduzione

Nell'ambito del posizionamento GNSS a basso costo, i dispositivi u-blox https://www.u-blox.com/en sono sicuramente tra i più conosciuti ed utilizzati. Tra questi dispositivi troviamo sia ricevitori in singola frequenza, come ad esempio l'u-blox NEO M8T, sia ricevitori in doppia frequenza e multicostellazione, come ad esempio l'u-blox ZED F9P. Quest'ultimo ricevitore in particolare, è largamente utilizzato in molti progetti di ricerca e sviluppo, viste le sue buone performance in termini di precisione ed accuratezza e il suo costo contenuto. Tali dispositivi vengono spesso acquistati in apposite schede integrate (ad esempio https://www.u-blox.com/en/product/c099-f9p-application-board oppure https://www.ardusimple.com/simplertk2b-receivers/) ed utilizzati in accoppiata ad un PC od ad un Paspberry Pi.

Per effettuare un posizionamento in tempo reale con questi ricevitori, una scelta interessante è quella di utilizzare il software free e open source RTKLIB (http://www.rtklib.com/). Esistiono inoltre delle versioni modificate di RTKLIB, come la versione demo5 (https://rtkexplorer.com/) che sono appositamente ottimizzate per posizionamento in tempo reale con ricevitori a basso costo come glu u-blox.

I ricevitori u-blox tuttavia non sono impostati per funzionare "out of the box" con RTKLIB, ma necessitano di alcuni settaggi che verranno illustrati in questo tutorial.

Procedimento

Come precedentemente affermato i ricevitori u-blox non di default utilizzabili con RTKLIB. Il problema sta nel fatto che nativamente, non trasmettono i dati grezzi e le effemeridi nelle varie porte di uscita (es. USB), ma solamente il messaggio NMEA. Supponiamo ad esempio che il ricevitore u-blox appena acquistato venga collegato via USB al pc sul quale è installato RTKLIB. Per effettuare un posizionamento in tempo reale con RTKLIB, si deve utilizzare il modulo RTKNAVI ed impostare la sorgente di input (nel caso di collegamento via USB si deve indicare la porta corretta), e il formato dei dati grezzi (ubx in questo caso), come illustrato nell'immagine seguente.

Anche impostando correttamente la porta tuttavia, RTKLIB non sarà in grado di effettuare il posizionamento, in quanto, lo stream in entrata dalla porta USB non contiene di default nè i dati grezzi nè le effemeridi. Queste due informazioni devono quindi esser aggiunte allo stream. Per fare ciò si deve utilizzare il software di gestione del ricevitore u-center e seguire i passaggi sotto illustrati.

Configurazione del ricevitore su u-center

Nel caso non lo si avesse già installato, il software u-center si può scaricare alla pagina https://www.u-blox.com/en/product/u-center. Da questa pagina verrà scaricato un eseguibile, che dev'essere lanciato per installare il programma. Ad oggi purtroppo il software è disponibile solo per Windows. Una volta installato la prima operazione da fare, è collegare il ricevitore GNSS sul software. Sempre ipotizzando che il ricevitore sia connesso via USB al PC, si deve lanciare u-center e, nella schermata che si aprirà, sulla sinistra si deve selezionare "Device" e successivamente "Add device". A questo punto si apre una schermata che consente di selezionare la porta USB cui il ricevitore è collegato. Si deve quindi scegliere tale porta e cliccare "Add Device"

u-center-connect

A questo punto bisogna cliccare su "Device Configuration" e nel menù "categories" sulla sinistra selezionare "Advanced configuration". Si aprirà quindi al centro un menù "items" con diversi elementi; tra questi bisogna selezionare "CFG-MSGOUT" e successivamente "UBX_RXM_RAWX_USB". Sulla destra della schermata apparirà quindi un menù in cui si potrà selezionare con quale rate includere il contenuto selezionato. Se sotto la voce value si trova il numero 0 il contenuto selezionato non viene incluso nello stream di output. Si dovrà procedere quindi cambiando la voce value da 0 a 1 per includere il contenuto nello stream. A questo punto la modifica, per essere attivata deve esser salvata in uno dei tre layer disponibili ossia:

  • RAM
  • BBR (Battery Baked RAM)
  • FLASH

Per far in modo che la modifica risulti permanente, ossia anche dopo che il ricevitore verrà scollegato dal PC si deve selezionare il layer FLASH. Alternativamente selezionando il layer RAM, la modifica apportata sarà valida solo finchè il ricevitore è alimentato (ossia collegato al PC). Si possono comunque selezionare i tre layer contemporaneamente. Per maggiori informazioni su questo si rimanda al manuale del software u-center (https://www.u-blox.com/en/info/u-center-2-user-guide). Una volta selezionato/i il/i layer desiderati si deve cliccare su "Set". Nel menù sottostante verranno elencate le modifiche selezionate, e per renderle effettive si dovrà premere il tasto "Send". Nella gif seguente vengono riepilogati i passaggi sopra descritti.

u-center-rxm-rawx

La voce "UBX_RXM_RAWX_USB" è quella relativa ai dati grezzi del ricevitore ossia misure di codice, misure di fase, misure di Doppler e rapporto segnale rumore. Con la procedura sopra descritta quindi tutte queste informazioni vengono aggiunte allo stream in output dal ricevitore sulla porta USB. Per effettuare un posizionamento in tempo reale con RTKLIB tuttavia mancano ancora le effemeridi. Esse sono contenute in un altro messaggio chiamato "UBX_RXM_SFRBX_USB". La stessa procedura sopra descritta dovrà quindi esser ripetuta selezionando quest'ultima voce.

Conclusioni

Con la procedura sopra descritta è possibile quindi utilizzare il ricevitore u-blox per un posizionamento in tempo reale con RTKLIB. Come intuibile attraverso il software u-center possono esser cambiati moltissimi parametri del ricevitore (come ad esempio il rate di acquisizione), che non vengono illustrati in questo tutorial. La guida sopra illustrata si pone di esser semplice e comprensibile ma non certamente esaustiva su tutte le opzioni di configurazione dei ricevitori u-blox. Per maggiori dettagli si rimanda il lettore al manuale di u-center (https://www.u-blox.com/en/info/u-center-2-user-guide).

 Date: April 26, 2022
 Tags:  GNSS RTKLIB u-blox

Previous
⏪ Come scrivere un manuale web con sphinx e readthedocs

Next
QField, QField Cloud e mobile GIS ⏩