Skip to content

Releases: sunsided/minikalman-rs

0.6.0

22 Jun 15:28
95e21ab
Compare
Choose a tag to compare

To add minikalman/0.6.0 to your project, run

or use

[dependencies]
minikalman = "0.6.0"

To install the latest version, run

cargo add minikalman

Breaking Changes

Changed

  • #31: The Regular and Extended Kalman Filter types were split, renamed and moved into separate modules. RegularKalman and ExtendedKalman now only provide their respective functionalities.

Fixed

  • #32: Process noise is now separated into direct process noise, acting directly on the state transition, and control process noise, acting only on control inputs through the control matrix.

Pull Requests

Full Changelog: v0.5.0...v0.6.0

0.5.0

20 Jun 19:26
3536016
Compare
Choose a tag to compare

To add minikalman/0.5.0 to your project, run

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

0.4.0

07 Jun 08:39
877dfc1
Compare
Choose a tag to compare

To add minikalman/0.4.0 to your project, run

or use

[dependencies]
minikalman = "0.4.0"

To install the latest version, run

cargo add minikalman

Changes

Full Changelog: v0.3.0...v0.4.0

Added

  • Added the libm crate feature for libm support.
  • Added the float crate feature to enable f32 and f64 built-in support.

Removed

  • Removed the no_std crate feature in favor of the std feature (disabled by default).

Pull Requests

  • Add cross-compilation example for STM32F303 by @sunsided in #7

v0.3.0

03 Jun 22:14
018e40f
Compare
Choose a tag to compare

To add minikalman/0.3.0 to your project, run

or use

[dependencies]
minikalman = "0.3.0"

To install the latest version, run

cargo add minikalman

Changes

Full Changelog: v0.2.3...v0.3.0

Added

  • Added support for fixed-point values via the fixed crate.

Changed

  • The macros, matrix, filter and measurement structs are now generic on the data type. If no type is provided, it defaults to f32.

Removed

  • The dependency on micromath was removed due to the generic type implementations.

Pull Requests

0.2.3

03 Jun 18:28
be7d0ba
Compare
Choose a tag to compare

To add minikalman/0.2.3 to your project, run

or use

[dependencies]
minikalman = "0.2.3"

To install the latest version, run

cargo add minikalman

Changes

Full Changelog: v0.2.2...v0.2.3

Internal

  • Improved documentation of Kalman and Measurement structs.

v0.2.2

03 Jun 18:08
2a0b6ee
Compare
Choose a tag to compare

To add minikalman/0.2.2 to your project, run

or use

[dependencies]
minikalman = "0.2.2"

To install the latest version, run

cargo add minikalman

Changes

Full Changelog: v0.2.1...v0.2.2

Internal

  • Added usage examples to macro documentation.

Removed

  • Removed duplicate create_buffer_P_temp and create_buffer_BQ_temp macros in favor of create_buffer_temp_P and create_buffer_temp_BQ.

v0.2.1

03 Jun 17:50
1257fd8
Compare
Choose a tag to compare

To add minikalman/0.2.1 to your project, run

or use

[dependencies]
minikalman = "0.2.1"

To install the latest version, run

cargo add minikalman

Changes

Full Changelog: v0.2.0...v0.2.1

Internal

  • Conditionally enable docsrs feature gate when building documentation on docs.rs.

0.2.0

03 Jun 17:42
9d1d332
Compare
Choose a tag to compare

To add minikalman/0.2.0 to your project, run

or use

[dependencies]
minikalman = "0.2.0"

To install the latest version, run

cargo add minikalman

Changes

Internal

  • Remove requirement to specify either std or no_std crate feature. If no_std is not specified, std is now implied. This resolves builds on docs.rs and quirks when using the crate.
  • Some documentation hyperlinks were now corrected.

Auto-generated changelog

  • Simplify docs.rs build and no_std/std feature handling by @sunsided in #4

Full Changelog: v0.1.0...v0.2.0

0.1.0

03 Jun 17:25
6e7e60a
Compare
Choose a tag to compare

To add minikalman/0.1.0 to your project, run

or use

[dependencies]
minikalman = "0.1.0"

To install the latest version, run

cargo add minikalman

Changes

This release mainly improves on ensuring cross-platform builds, reporting code coverage and covering some additional cases with tests. In addition, the version was raised from 0.0.x to 0.1.0 to be a bit less intimidating.

Internal

  • Set MSRV to 1.70.0 and Rust Edition to 2021.
  • Added CI/CD cross-platform builds, code coverage and ensure examples and benchmarks build correctly.
  • Remove dependency on stdint crate unless explicitly enabled with the stdint crate feature. This should unblock builds on Windows.

Auto-generated changelog

New Contributors

Full Changelog: 0.0.2...v0.1.0