Testing | Coverage | Documentation |
---|---|---|
GaussianFilters implements methods to define and run Kalman, Extended Kalman, Unscented Kalman, and Gaussian-Mixture Probability Hypothesis Density Filters on simulated data. It also implements simulation functions for the Kalman-class filters.
The documentation for the package can be found here: https://sisl.github.io/GaussianFilters.jl/latest
GaussianFilters can be installed by running:
using Pkg
Pkg.add("GaussianFilters")
Basic usage follows along defining appropriate models, constructing an appropriate filter, and running the filter with known actions on some measurement data.
using GaussianFilters, LinearAlgebra
# dynamics model
A = [1 0.1; 0 1]
B = [0; 1]
W = [0.5 0; 0 0.5]
dmodel = LinearDynamicsModel(A, B, W)
# measurement model
measure(x, u) = LinearAlgebra.norm(x, 2)
V = [0.01]
omodel = NonlinearObservationModel(measure, V)
# filtering given some action and measurement
ukf = UnscentedKalmanFilter(dmodel, omodel)
b0 = GaussianBelief([0, 0], [1 0; 0 1])
b1 = update(ukf, b0, action, measurement)
See documentation and examples for more details.
Examples notebooks can be found in the notebooks
folder:
Extended Kalman Filter Example
Unscented Kalman Filter Example