Filtro — Metriche real-time
Posa stimata, covarianza, qualità del matching e determinismo del ciclo AMCL.
x = 1.833 m · y = -1.635 m · θ = 65.3°
quality per fissare l'ingombro
visivo.
p99 = 302.83 ms · fuori target
600 sample · finestra 128.6 s
convergente
98 % (120 / 123)
1.15 · 1.79
33 iter · convergente
123 / 180 in mappa
-117.4
/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.836 m · y = -2.156 m · θ = -82.3°
seq 502069 · init: true
1.0000 ± 0.0510
min 1.0000 … max 1.00001.0000 ± 0.0510
min 1.0000 … max 1.0000-3.5120 ± 0.0051 rad/s
min -3.5120 … max -3.49650.5000 ± 0.0107 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² = 351.39 / 14.16 χ² · rifiutato
df = 3 (full pose) ·
ultimo update vs /slox/pose_with_quality
351.39 / 14.16 (χ² 99.7%)
1.0 % (4689 / 469003)
5019385 tick
×1.00
0.00 m/s · 3.51 rad/s · 20 ms
3 (full pose)
464314 chi² outlier
/slox/filter_state.last_update_* e
counters lifetime. Verde a
7.82
(χ² 95%) è la soglia di guardia; oltre = candidate outlier.
ESKF coerente con AMCL
Δ = (ESKF − AMCL) · Σ = P_ESKF + P_AMCL
99 % (99 / 100)
2.25 · 1.88 · 4.64
100 / 100 campioni
7.88
502069
quality = 0 / 100 · seq 469005
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.