Files
ruvnet--RuView/v2/crates/wifi-densepose-mat/src/localization/mod.rs
T
ruv b10bc2e9ab feat(mat): ADR-144 UWB range-constraint fusion (#848)
- mat/localization/range_constraint.rs (forward-looking; no UWB hw yet):
  - RangeConstraint domain model (anchor_id/pos/measured_range/uncertainty/
    signal_quality); predicted_range/residual/mahalanobis/is_consistent
  - RangeConstraintFusion::refine() — Newton-normalized weighted least-squares
    that constrains a CSI/CIR prior toward range spheres, Mahalanobis-gates
    inconsistent (NLOS/multipath) ranges; returns RefineResult with rejected
    anchors + RMS residual
  - associate() disambiguates which track a range belongs to (re-ID hook)
- 4 tests (converges to truth, absurd range gated, consistency math, track
  association); workspace 0 errors

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-28 23:35:30 -04:00

19 lines
621 B
Rust

//! Localization module for survivor position estimation.
//!
//! This module provides:
//! - Triangulation from multiple access points
//! - Depth estimation through debris
//! - Position fusion combining multiple techniques
mod depth;
mod fusion;
mod range_constraint;
mod triangulation;
pub use depth::{DepthEstimator, DepthEstimatorConfig};
pub use fusion::{LocalizationService, PositionFuser};
pub use range_constraint::{RangeConstraint, RangeConstraintFusion, RefineResult};
#[cfg(feature = "ruvector")]
pub use triangulation::solve_tdoa_triangulation;
pub use triangulation::{TriangulationConfig, Triangulator};