Filtro — Metriche real-time
Posa stimata, covarianza, qualità del matching e determinismo del ciclo AMCL.
x = 2.031 m · y = 1.552 m · θ = 15.6°
quality per fissare l'ingombro
visivo.
p99 = 307.08 ms · fuori target
600 sample · finestra 128.4 s
convergente
98 % (145 / 148)
1.42 · 2.14
32 iter · non conv.
148 / 180 in mappa
-140.1
/slox/match_diagnostics @ ~5 Hz da
slox_ndt_matcher (observe-mode; non altera la pose AMCL).
Mahalanobis è unit-less (residui normalizzati dalla σ del filtro).
in attesa /slox/ground_truth/pose
slox_ground_truth (Sprint 9.A.3-b) è
un tool di validazione: NON viene avviato in produzione.
La harness lo lancia con
ros2 launch slox_ground_truth ground_truth.launch.py csv_path:=...
+ un log prismi della total station. Senza prismi
rigidi e Leica TS/MS, NEES resta in attesa per design.
NEES = eᵀ Σ⁻¹ e con e = (x_AMCL − x_GT, y, θ); Σ blocco
diagonale 2-D xy ⨁ yaw da /slox/amcl_covariance
(9.A.5-bis). Sorgente GT: /slox/ground_truth/pose
da total station Leica (Sprint 9.A.3-b validation-only).
x = 0.035 m · y = -0.042 m · θ = -12.6°
seq 1187355 · init: true
1.0000 ± 0.0524
min 1.0000 … max 1.00001.0000 ± 0.0524
min 1.0000 … max 1.00006.0874 ± 0.0051 rad/s
min 6.0871 … max 6.09690.5000 ± 0.0116 m
min 0.5000 … max 0.5000covariance[i·7+i], i ∈ {3,4,5,6} ·
sparkline window paired 300 / 300 sample @ 5 Hz ESKF (Sprint 9.B.3).
Mah² = 218.07 / 14.16 χ² · rifiutato
df = 3 (full pose) ·
ultimo update vs /slox/pose_with_quality
218.07 / 14.16 (χ² 99.7%)
1.4 % (15474 / 1109384)
11869507 tick
×1.00
0.00 m/s · -6.09 rad/s · 20 ms
3 (full pose)
1093910 chi² outlier
/slox/filter_state.last_update_* e
counters lifetime. Verde a
7.82
(χ² 95%) è la soglia di guardia; oltre = candidate outlier.
ESKF incoerente con AMCL
Δ = (ESKF − AMCL) · Σ = P_ESKF + P_AMCL
52 % (52 / 100)
27.09 · 6.71 · 45.27
100 / 100 campioni
901.77
1187355
quality = 0 / 100 · seq 1109397
VALID
posa accettataDEGRADED
quality sotto sogliaMAPPING
AMCL attivoLIDAR
stream lidar nominaleODOM
stream odom nominaleDEAD-RECK
feature starvation (9.B.10)quality_node, bit 3–4 da
Sprint 7.2 sensor failsafe, bit 5 da
Sprint 9.B.10 feature starvation.