Come collegare un GPS esterno alle telecamere ZED per fornire al video i tag GPS?
Last updated: August 13, 2026
Le telecamere ZED non dispongono di un ricevitore GPS integrato. Tuttavia, ZED SDK supporta nativamente la fusione dei dati della telecamera con un ricevitore GNSS esterno tramite il modulo di localizzazione globale, disponibile a partire da ZED SDK v4.0. Questa è la soluzione consigliata; la sincronizzazione manuale e il filtro di Kalman personalizzato non sono più necessari.
Modulo di localizzazione globale
Il modulo di localizzazione globale di ZED SDK consente il tracciamento e la localizzazione in tempo reale della telecamera in un sistema di coordinate globale, combinando l'odometria visiva con il posizionamento GNSS. La localizzazione viene ottenuta fondendo i dati provenienti da tre fonti: visione stereo, IMU e GNSS. Il modulo funziona anche in ambienti privi di segnale GNSS; quando i dati satellitari non sono disponibili o sono inaffidabili, l'odometria visivo-inerziale subentra e il GNSS corregge la deriva che l'odometria visiva accumula nel tempo.
Il flusso di lavoro è semplice:
- Abilita il Tracciamento Posizionale sulla telecamera ZED e inizia a pubblicare i dati al modulo Fusion con
startPublishing(). - Inizializza un oggetto
sl::Fusion, sottoscrivi la telecamera e abilita il tracciamento posizionale Fusion conenable_GNSS_fusion = true. - Fornisci i dati del tuo ricevitore GNSS (latitudine, longitudine, altitudine, covarianza, timestamp) al modulo Fusion utilizzando
fusion.ingestGNSSData(). - Recupera la posizione globale fusa con
fusion.getGeoPose(), oppure la posa locale fusa confusion.getPosition().
Poiché ogni fotogramma ZED è contrassegnato con il proprio timestamp epoch, l'SDK esegue una sincronizzazione precisa basata sui timestamp tra la telecamera e i dati GNSS, consentendo di associare a ogni fotogramma video la posizione geografica corrispondente.
Documentazione completa, incluse guide dettagliate del codice C++ e Python:
- Panoramica della localizzazione globale: https://www.stereolabs.com/docs/global-localization
- Configurazione di GNSS / RTK: https://www.stereolabs.com/docs/global-localization/using-gnss-linux/
- Sincronizzazione dei dati: https://www.stereolabs.com/docs/global-localization/data-synchronization
- Calibrazione VIO / GNSS: https://www.stereolabs.com/docs/global-localization/vio-gnss-calibration
- Sistemi di coordinate: https://www.stereolabs.com/docs/global-localization/global-localization-coordinate-frames
- Risoluzione dei problemi: https://www.stereolabs.com/docs/global-localization/troubleshooting
Esempi di codice
Esempi completi di localizzazione globale sono disponibili su GitHub: un esempio Live che combina la fotocamera ZED con un sensore GNSS esterno e visualizza la posizione geografica su una mappa del mondo reale, un esempio di Registrazione che salva i dati sincronizzati in un file SVO e in un file JSON e un esempio di Riproduzione che riproduce i dati registrati offline:
https://github.com/stereolabs/zed-sdk/tree/master/global%20localization GitHub
ROS e ROS 2
Se utilizzi ROS 2, il zed-ros2-wrapper supporta nativamente la fusione GNSS; devi solo fornire un topic NavSatFix dal tuo ricevitore GNSS:
https://www.stereolabs.com/docs/ros2/geo-tracking/