Pose outlier filter (Rust)
PoseOutlierFilterRust rejects pose measurements that disagree with a constant-velocity prediction built from accepted pose history.
Inputs
pose is a 4 by 4 transformation matrix.
Outputs
filtered_pose is the accepted matrix. Rejected measurements produce None.
When to use
Use this after pose estimation to stop isolated position or angle jumps from reaching localization outputs.
Configuration
history_size: Accepted poses retained, default20.base_sigma: Base positional uncertainty in meters, default0.1.growth_rate: Uncertainty growth after rejections, default0.2.gate_k: Positional gate multiplier, default3.0.angular_gate_threshold: Angular gate in radians, default0.5.velocity_smoothing_alpha: Velocity update factor, default0.3.max_consecutive_rejections: Rejections before gate relaxation, default10.relax_factor: Relaxed-gate multiplier, default2.0.full_reset_threshold: Rejections before reset, default10.
Limitations
The Rust pose_outlier_filter extension must be built and importable. Python does not validate shape or finite values before flattening the input.