Awesome
go-estimate: State estimation and filtering algorithms in Go
This package offers a small suite of basic filtering algorithms written in Go. It currently provides the implementations of the following filters and estimators:
- Bootstrap Filter also known as SIR Particle filter
- Unscented Kalman Filter also known as Sigma-point filter
- Extended Kalman Filter also known as Non-linear Kalman Filter
- Kalman Filter also known as Linear Kalman Filter
In addition it provides an implementation of Rauch–Tung–Striebel smoothing for Kalman filter, which is an optimal Gaussian smoothing algorithm. There are variants for both LKF
(Linear Kalman Filter) and EKF
(Extended Kalman Filter) implemented in the smooth
package. UKF
smoothing will be implemented in the future.
Get started
Get the package:
$ go get github.com/milosgajdos/go-estimate
Get dependencies:
$ make dep
Run unit tests:
$ make test
You can find various examples of usage in go-estimate-examples.
TODO
- Square Root filter
- Information Filter
- Smoothing
- Rauch–Tung–Striebel for both KF and EKF has been implemented in
smooth
package
- Rauch–Tung–Striebel for both KF and EKF has been implemented in
Contributing
YES PLEASE!