Skip to content
/ kalman Public

Implements a Kalman filter with EKF capability.

Notifications You must be signed in to change notification settings

trbabb/kalman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Kalman

Implements a generalized extended Kalman filter.

Makes heavy use of automatic differentiation to automatically linearize your arbitrary, possibly-nonlinear system model and sensor mappings.

Automatic differentiation is very fast, and computes derivatives to machine precision while avoiding finite differencing or symbolic manipulations. As long as all intermidiate computations are carried out using the Dual class, a sensible derivative will be computed.

The pieces are:

  • A Sensor takes a state (made of Duals) and converts it to a reading, using arbitrary math.
  • A Predictor takes a state (made of Duals) and a time delta, and produces a new state for t + dt, using arbitrary math.
  • A KalmanFilter takes a Predictor and a list of Sensors, and constructs an EKF model for the system they describe.
  • In an update loop, the KalmanFilter is fed Measurements (i.e. a sensor object and its reading) and dt, and updates itself to the new optimal estimate of state.

Dependencies

About

Implements a Kalman filter with EKF capability.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published