kalmanrs

Crates.iokalmanrs
lib.rskalmanrs
version0.1.0
sourcesrc
created_at2020-01-17 00:15:19.34146
updated_at2020-01-17 00:15:19.34146
descriptionA dimensionally generic kalman filter library in Rust
homepagehttp://www.github.com/nravic/kalmanrs
repository
max_upload_size
id199260
size20,182
Niranjan Ravichandra (nravic)

documentation

README

Kalmanrs - Kalman Filters in Rust

This library directly implements the algorithm found here. kalmanrs is build using nalgebra, and is designed to be as dimensionally generic as possible to make it easy to implement in whatever control structure or system you're working with.

Setup and Usage

Add kalmanrs to your Cargo.toml under dependencies.

The design of kalmanrs necessitates creating a wrapper for the two structs that comprise a Kalman Filter in kalmanrs, LinearKalman and KalmanState. What allows for dimensional genericity is the macro kalmanrs supplies, lkf_builder; which implements the predict and update methods for your Kalman Filter.

A self-explanatory example is detailed in examples/lkf.rs. An important note to make is that because rust currently does not support parametrization over integer values, dimensions are simulated using types; which are defined in the root module of nalgebra. If you wanted to use a 2x3 dimensional matrix for example, you would have to use na::{U2, U3}.

Todo

  • Add the Extended Kalman Filter (EKF).

  • Add the Unscented Kalman Filter (UKF).

  • Better testing/test coverage

Commit count: 0

cargo fmt