Skip to content

0.5.0

Choose a tag to compare

@sunsided sunsided released this 20 Jun 19:26
· 66 commits to main since this release
3536016

To add minikalman/0.5.0 to your project, run

cargo add minikalman@0.5.0

or use

[dependencies]
minikalman = "0.5.0"

To install the latest version, run

cargo add minikalman

Breaking Changes

This release reworks the construction of Kalman Filters on both no_std using macros, but adds
builder support for std and alloc targets. Extended Kalman Filters are now available as well.

Added

  • #10: Builder types were added for Kalman filters, control inputs and observations. The KalmanFilterBuilder type serves as a simple entry point on alloc crate features.
  • #21: Added the functions make_identity, make_scalar, make_comatrix and set_diagonal_to_scalar for square matrices.
  • #25: Added support for Extended Kalman Filters.
  • #28: micromath is now an optional dependency again.

Changed

  • #9: Data ownership was reworked: Filters, control inputs and measurements/observations are now backed by a generic buffer type that can operate on stack- or heap allocated arrays, immutable and mutable references. Some features are gated behind the alloc crate feature.
  • Types were remodeled into new modules in order to arrange them in a slightly more logical way.
  • #18: "Inputs" naming was changed to "Control" to align more closely with common usages of Kalman filters.
  • #20: "Measurements" naming was changed to "Observation" in places where it aligns with common usages of Kalman filters. In addition, type name ambiguity between process and measurement noise covariance was reduced.

Removed

  • The create_buffer_X macros were removed from the crate due to their relatively complicated use.

Internal

  • #8: The repository was restructured into a Cargo workspace to allow for easier handling of cross-compilation examples.
  • #27: Added an EKF example with radar measurements of a moving object.

Pull Requests