Integrity Check
In our paper [1] we introduce an "integrity check" that let's us compare the reprojection error of the estimated pose to the magnitude of the predicted uncertainties by adoping an algorithm similar to RAIM [2]. This figure provides a brief illustration, with more details in [1].
RunwayLib.compute_integrity_statistic — Function
compute_integrity_statistic(
cam_pos::WorldPoint, cam_rot::RotZYX,
world_pts::AbstractVector{<:WorldPoint},
observed_pts::AbstractVector{<:ProjectionPoint},
noise_cov::Union{<:AbstractMatrix, <:NoiseModel},
camconfig=CAMERA_CONFIG_OFFSET
)Run the integrity check described in [1]. We can use this for runtime assurance to judge whether the measurements and uncertainties are consistent with the parameters of the problem.
Returns
NamedTuple containing
stat: The RAIM-adaptation statistic;p_value: p-value of Null-hypothesis. If this drops below, say, 5% then we can "reject", i.e., have a failure;dofs: degrees of freedom (for Χ² distribution); and- some other information.
See also
WorldPoint, RotZYX, ProjectionPoint, NoiseModel.
- [1]
- R. Valentin, S. M. Katz, A. B. Carneiro, D. Walker and M. J. Kochenderfer. Predictive Uncertainty for Runtime Assurance of a Real-Time Computer Vision-Based Landing System, arXiv preprint arXiv:2508.09732 (2025).
- [2]
- M. Joerger, F.-C. Chan and B. Pervan. Solution separation versus residual-based RAIM. NAVIGATION: Journal of the Institute of Navigation 61, 273–291 (2014).