rlabbe / filterpy

Python Kalman filtering and optimal estimation library. Implements Kalman filter, particle filter, Extended Kalman filter, Unscented Kalman filter, g-h (alpha-beta), least squares, H Infinity, smoothers, and more. Has companion book 'Kalman and Bayesian Filters in Python'.
MIT License
3.31k stars 617 forks source link

Fix creation of sigma points, and update of UKF #192

Closed vhartman closed 4 years ago

vhartman commented 4 years ago

This pull request fixes an issue with the computation of the Simplex sigma points. The computation was leading to an error when trying do decompose the new covariance with the cholesky algorithm due to not being positive definite.

In addition, a second commit fixes the covariance update for the unscented kalman filter, and the covariance and the mean are now equal to the results obtained from the Kalman filter on linear problems with gaussian noise. This problem was described in issue #172.

The two commits are together, because introducing the bugfix from the second issue lead to problems with some tests that revealed the first problem.

vhartman commented 4 years ago

This is at least partially impacting the book as well - there is no mention of the need to recompute the sigma points.