This repository contains Python implementations of different strategies for Kálmán filter prediction and update steps. The code is designed to be prosaic and to be well-commented with sources to derivations.
Currently implemented strategies:
- Full covariance with traditional
$(I - HK)C$ update - Full covariance with Joseph stabilized update
- Full covariance with non-Joseph stabilized update
-
$UDU^\intercal$ -decomposed covariance -
$\sqrt{S}\sqrt{S}^\intercal$ -decomposed covariance
Virtually all of this work is based on the incredible "Navigation Filter Best Practices" which accumulates decades of experience with Kálmán filters gathered at NASA. You can find this document at https://ntrs.nasa.gov/api/citations/20180003657/downloads/20180003657.pdf. The main purpose of this repository is to encode the relevant algorithms in a consistent style for easier reading.
Simply run the following:
$ uv run python plot_error.py