Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

Una mappa SLAM visivamente pulita non rivela errori di posa o latenza. Definire il riferimento, i gradi di libertà di allineamento e la gestione dei guasti prima di confrontare i sistemi. I valori qui riportati provengono da traiettorie sintetiche, non da un benchmark di un particolare algoritmo SLAM.

Cosa misurano ATE e RPE

Sia Q_i la posa di riferimento, P_i la stima e S un allineamento fisso. L'errore assoluto può essere scritto come E_i=Q_i^{-1}SP_i. La radice quadrata della media dei quadrati della sua norma di traslazione è una misura ATE comune; evo chiama la metrica più ampia della posa assoluta APE.

L'errore relativo confronta il movimento nell'intervallo i\rightarrow j : F_{ij}=(Q_i^{-1}Q_j)^{-1}(P_i^{-1}P_j) . I risultati dipendono dal fatto che l'intervallo sia di un secondo, un metro o un fotogramma. Consultare la documentazione ufficiale di evo sulle metriche. ## Verifica la differenza con un piccolo calcolo

Salva slam_metric_lab.py in una directory vuota ed esegui python3 slam_metric_lab.py . È stato verificato con Python 3.12.3 e utilizza solo la libreria standard. Il riferimento è x=t metri, campionati in 101 punti da 0 a 10 secondi a intervalli di 0,1 secondi, con rotazioni identità.

Errore sintetico RMSE APE di traslazione non allineata RMSE RPE di traslazione di un secondo su tutte le coppie
Offset costante di +0,1 m 0,100000 m 0,000000 m
Deriva crescente di 0,01 m ogni secondo 0,057879 m 0,010000 m

Una traslazione costante appare nelle differenze di posizione ma si annulla nelle differenze di movimento. La deriva rimane in entrambe. Questo esempio non applica né allineamento né interpolazione temporale. Scarica il riferimento e la stima della deriva.

Corrispondenza con i dati reali prima della valutazione

Diagram 1 · Use the button to switch views
Corrispondenza tra tempi e fotogrammi, correzione dell'allineamento, calcolo di APE e RPE, quindi segnalazione di errori e latenza

Utilizzare metri e secondi e non mescolare i fotogrammi di riferimento del sensore e del corpo. Distinguere i diversi orari di inizio registrazione dagli errori dell'orologio. Il formato TUM è timestamp x y z q_x q_y q_z q_w ; verificare l'ordine dei quaternioni rispetto alla documentazione ufficiale del formato.

L'allineamento SE(3) corregge rotazione e traslazione; Sim(3) corregge anche la scala. La correzione di scala può essere appropriata per confrontare la forma della traiettoria monoculare, ma elimina l'errore di scala se è questo che l'esperimento intende misurare. Non mescolare implicitamente queste impostazioni di valutazione in una classificazione.

Registrazione dell'ambiente evo

In un ambiente evo dedicato, salvare evo_ape --version e evo_rpe tum --help. Questi comandi seguono la struttura CLI ufficiale; si tratta di una procedura, non di risultati eseguiti su traiettorie reali per questo articolo.

evo_ape tum reference.tum estimate.tum --align --save_results ape.zip
evo_rpe tum reference.tum estimate.tum --delta 1 --delta_unit s --all_pairs --save_results rpe.zip

Sostituire i nomi dei file con le traiettorie della stessa esecuzione. Correggere la tolleranza di associazione del timestamp utilizzando la guida della versione installata e riportare il numero di campioni corrispondenti. La tabella sintetica sopra riportata non è allineata, quindi l'aggiunta di --align ne modifica l'interpretazione e i risultati.

Riportare più della semplice accuratezza

Quantità Contesto richiesto
APE / RPE Allineamento, intervallo, metri o gradi, pose corrispondenti
Errori Esecuzioni totali, perdite di tracciamento e secondi di recupero
Latenza Acquisizione-stima disponibile p50/p95 e sincronizzazione dell'orologio
Risorse CPU/GPU, thread, memoria, frequenza di input e versioni del software

Il tempo di elaborazione per fotogramma è diverso dalla latenza, inclusa la gestione delle code. Senza dati di riferimento, non riportare l'ATE. È possibile misurare la ripetibilità o la coerenza, pur specificando che queste non stabiliscono direttamente l'accuratezza posizionale.

Mantieni gli intervalli difficili

Rimuovendo solo le sezioni difficili, si ottiene un punteggio di accuratezza per il tracciamento riuscito. Riportare il tasso di successo complessivo separatamente dall'errore sugli intervalli valutabili. Verificare prima la temporizzazione e i fotogrammi del sensore per evitare di confondere i difetti di integrazione con il confronto degli algoritmi.

Mantieni gli intervalli difficili

Related reading

Check timing and frames before evaluationPerché la fusione dei sensori fallisce: tempistica, fotogrammi e calibrazione estrinsecaExplore another aspect of this fieldPerché ICP fallisce: inizializzazione, valori anomali e geometria simmetricaExplore another aspect of this fieldDalla mappatura alla navigazione in ROS 2: una procedura minimale con Jazzy e Nav2.