Kalman filter and Rauch-Tung-Striebel smoothing implementation.
- Includes various methods of computing the covariance matrix on the update step.
- Estimates state of arbitrary dimensions using observations of arbitrary dimension.
- Types are checked at compile time.
- Uses nalgebra for linear algebra.
- Supports
no_std
operation to run on embedded devices.
To support debugging, adskalman
extensively uses the log::trace!()
macro.
You probably do not want this in your release builds. Therefore, in your
top-level application crate, you may want to use the release_max_level_debug
feature for the log crate like so:
[dependencies]
log = { version = "0.4", features = ["release_max_level_debug"] }
See the log
documentation for more information.
There are several examples in the examples/
directory, which is its own crate.
Run them like so:
cd examples
cargo run --bin online_tracking
Anyone who interacts with this software in any space, including but not limited to this GitHub repository, must follow our code of conduct.
Licensed under either of these:
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)