La Factor Graph Optimization migliora il posizionamento GNSS integrando sensori e osservazioni per stime più precise e consistenti.
Factor Graph Optimization: nuova prospettiva per il posizionamento GNSS ad alta precisione
Negli ultimi anni, il mondo del posizionamento satellitare (GNSS) ha vissuto un’evoluzione significativa, non solo in termini di costellazioni e correzioni, ma anche sul piano algoritmico. Dopo decenni dominati dai filtri sequenziali, come il classico Filtro di Kalman e le sue varianti estese e non lineari, si sta affermando un nuovo approccio di elaborazione: la Factor Graph Optimization (FGO).
Questa metodologia, nata in ambito robotico e di Simultaneous Localization and Mapping (SLAM), sta rapidamente conquistando un ruolo di rilievo anche nel GNSS, grazie alla sua capacità di integrare in modo coerente e globale osservazioni eterogenee provenienti da diversi sensori.
Dal filtro di Kalman ai grafi fattoriali
Nei metodi tradizionali di stima, come il filtro di Kalman, la posizione e gli altri stati (velocità, errori di clock, ecc.) vengono aggiornati in modo sequenziale: ogni nuova osservazione serve per aggiornare lo stato corrente sulla base dello stato precedente. Questo approccio funziona bene in tempo reale, ma presenta un limite: ogni errore o osservazione anomala tende a influenzare tutta la soluzione, e la possibilità di “rivedere” le stime passate è ridotta.
La Factor Graph Optimization adotta una filosofia completamente diversa. Invece di stimare gli stati uno alla volta, costruisce un grafo di vincoli:
● i nodi rappresentano le variabili incognite (posizioni, velocità, bias, parametri di sensori)
● i fattori rappresentano le osservazioni o i modelli che collegano tra loro queste variabili (misure GNSS, dati IMU, vincoli cinematici, osservazioni di map-matching, ecc.)
L’intera traiettoria viene quindi stimata in un’unica ottimizzazione globale, minimizzando l’errore complessivo rispetto a tutte le osservazioni. In questo modo, l’informazione scorre in entrambe le direzioni temporali, e ogni nuova misura può migliorare anche la consistenza delle stime precedenti.
Come funziona un grafo fattoriale
Dal punto di vista matematico, la FGO è una forma di ottimizzazione non lineare che cerca la stima di stati che minimizza la somma dei residui pesati di tutti i fattori.
Ogni fattore può collegare uno o più nodi (stati): una misura GNSS di un singolo istante lega solo la posizione e il clock di quell’epoca, mentre una misura IMU collega stati consecutivi.
Questa rappresentazione modulare rende la FGO estremamente flessibile: è possibile aggiungere o rimuovere sensori, cambiare i modelli di rumore o includere vincoli personalizzati senza riscrivere l’intero algoritmo.
Immagine presa da: Taro Suzuki (2025), Open-Source Factor Graph Optimization Package for GNSS: Examples and Applications. https://arxiv.org/html/2502.08158v1
Factor Graph Optimization: applicazioni nel posizionamento GNSS
La FGO trova oggi applicazione in diversi ambiti del posizionamento ad alta precisione:
● RTK multi-sensore: le osservazioni GNSS possono essere fuse con dati di sensori inerziali (IMU), odometri o magnetometri, garantendo continuità anche in presenza di ostruzioni o perdite temporanee di segnale.
● Smartphone e ricevitori low-cost: la FGO riduce l’impatto delle osservazioni rumorose e consente di sfruttare al meglio i dati disponibili, aumentando la robustezza della soluzione anche in condizioni dinamiche.
● Navigazione autonoma: nei veicoli autonomi, la FGO permette di gestire in modo unificato le osservazioni provenienti da più ricevitori o sensori, migliorando la coerenza spaziale e temporale del risultato.
Vantaggi rispetto ai metodi tradizionali
Il principale vantaggio della FGO è la visione globale del problema: anziché filtrare le osservazioni passo per passo, consente di “rivedere” l’intero dataset e correggere retroattivamente le stime. Questo approccio porta benefici tangibili:
● Maggiore precisione e stabilità nella stima della traiettoria
● Miglior gestione dei dati rumorosi o discontinui
● Possibilità di fondere osservazioni di natura diversa
● Architettura modulare, facilmente estendibile a nuove fonti di informazione
Grazie agli algoritmi incrementali come iSAM2, oggi è possibile applicare la FGO anche in tempo reale, ottenendo prestazioni comparabili ai filtri di Kalman in applicazioni dinamiche.
Sfide e prospettive
Nonostante i numerosi vantaggi, l’adozione della FGO nel GNSS presenta ancora alcune sfide. Le principali riguardano la complessità computazionale, che cresce con il numero di nodi e fattori, e la necessità di modelli accurati dei rumori e delle correlazioni tra osservazioni. Inoltre, la definizione dei pesi (covarianze) è cruciale per ottenere una stima robusta, specialmente in presenza di sensori di qualità eterogenea.
Tuttavia, la ricerca sta avanzando rapidamente. Librerie open-source come GTSAM o Ceres Solver stanno rendendo l’approccio sempre più accessibile. Per quanto riguarda il GNSS, esistono librerie specializzate come gtsam_gnss o GraphGNSSLib, che contengono fattori personalizzati per applicazioni GNSS e per le osservazioni dei ricevitori.
Conclusioni
La Factor Graph Optimization rappresenta una nuova prospettiva per il posizionamento GNSS ad alta precisione, capace di superare i limiti dei metodi sequenziali e di abilitare una fusione sensoriale completa e coerente.
Non si tratta di una sostituzione del filtro di Kalman, ma di una sua evoluzione: un framework più generale, adattabile e potente, che unisce rigore matematico e flessibilità ingegneristica.
Nei prossimi anni, con l’aumento della potenza computazionale e la diffusione di strumenti open-source, è verosimile che la FGO diventi il nuovo standard per il processamento GNSS avanzato, sia in ambito accademico che industriale.
(Fonte: Gter)





















