Releases: sunsided/minikalman-rs
0.6.0
To add minikalman/0.6.0 to your project, run
cargo add minikalman@0.6.0or use
[dependencies]
minikalman = "0.6.0"To install the latest version, run
cargo add minikalmanBreaking Changes
Changed
- #31: The Regular and Extended Kalman Filter types were split, renamed and moved into separate modules.
RegularKalmanandExtendedKalmannow 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
- Add nalgebra support by @sunsided in #29
- Add angle measurement to radar example by @sunsided in #30
- Move Kalman Filter builders into own module by @sunsided in #31
- Add direct process noise covariance matrix by @sunsided in #32
- Add velocity measurement to radar example by @sunsided in #33
Full Changelog: v0.5.0...v0.6.0
0.5.0
To add minikalman/0.5.0 to your project, run
cargo add minikalman@0.5.0or use
[dependencies]
minikalman = "0.5.0"To install the latest version, run
cargo add minikalmanBreaking 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
KalmanFilterBuildertype serves as a simple entry point onalloccrate features. - #21: Added the functions
make_identity,make_scalar,make_comatrixandset_diagonal_to_scalarfor square matrices. - #25: Added support for Extended Kalman Filters.
- #28:
micromathis 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
alloccrate 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_Xmacros 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
- Convert to cargo workspace by @sunsided in #8
- Rework matrix data ownership by @sunsided in #9
- Add Kalman Filter, Input and Measurement builders by @sunsided in #12
- Remove minikalman-traits package by @sunsided in #16
- Move buffer types into buffer module by @sunsided in #17
- Rename inputs to controls by @sunsided in #18
- Rename measurements to observations by @sunsided in #20
- Add linear acceleration example by @sunsided in #21
- Simplify trait bounds and add inspection functions by @sunsided in #23
- Simplify vector and matrix inspection / application functions by @sunsided in #24
- Extended Kalman Filters by @sunsided in #25
- Remove apply_mut and inspect_mut in favor of apply and inspect by @sunsided in #26
- EKF example: Radar measurements of a moving object by @sunsided in #27
- Re-enable micromath support by @sunsided in #28
0.4.0
To add minikalman/0.4.0 to your project, run
cargo add minikalman@0.4.0or use
[dependencies]
minikalman = "0.4.0"To install the latest version, run
cargo add minikalmanChanges
Full Changelog: v0.3.0...v0.4.0
Added
- Added the
libmcrate feature for libm support. - Added the
floatcrate feature to enablef32andf64built-in support.
Removed
- Removed the
no_stdcrate feature in favor of thestdfeature (disabled by default).
Pull Requests
v0.3.0
To add minikalman/0.3.0 to your project, run
cargo add minikalman@0.3.0or use
[dependencies]
minikalman = "0.3.0"To install the latest version, run
cargo add minikalmanChanges
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
micromathwas removed due to the generic type implementations.
Pull Requests
0.2.3
To add minikalman/0.2.3 to your project, run
cargo add minikalman@0.2.3or use
[dependencies]
minikalman = "0.2.3"To install the latest version, run
cargo add minikalmanChanges
Full Changelog: v0.2.2...v0.2.3
Internal
- Improved documentation of
KalmanandMeasurementstructs.
v0.2.2
To add minikalman/0.2.2 to your project, run
cargo add minikalman@0.2.2or use
[dependencies]
minikalman = "0.2.2"To install the latest version, run
cargo add minikalmanChanges
Full Changelog: v0.2.1...v0.2.2
Internal
- Added usage examples to macro documentation.
Removed
- Removed duplicate
create_buffer_P_tempandcreate_buffer_BQ_tempmacros in favor ofcreate_buffer_temp_Pandcreate_buffer_temp_BQ.
v0.2.1
To add minikalman/0.2.1 to your project, run
cargo add minikalman@0.2.1or use
[dependencies]
minikalman = "0.2.1"To install the latest version, run
cargo add minikalmanChanges
Full Changelog: v0.2.0...v0.2.1
Internal
- Conditionally enable
docsrsfeature gate when building documentation on docs.rs.
0.2.0
To add minikalman/0.2.0 to your project, run
cargo add minikalman@0.2.0or use
[dependencies]
minikalman = "0.2.0"To install the latest version, run
cargo add minikalmanChanges
Internal
- Remove requirement to specify either
stdorno_stdcrate feature. Ifno_stdis not specified,stdis now implied. This resolves builds on docs.rs and quirks when using the crate. - Some documentation hyperlinks were now corrected.
Auto-generated changelog
Full Changelog: v0.1.0...v0.2.0
0.1.0
To add minikalman/0.1.0 to your project, run
cargo add minikalman@0.1.0or use
[dependencies]
minikalman = "0.1.0"To install the latest version, run
cargo add minikalmanChanges
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.0and Rust Edition to2021. - 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
stdintcrate feature. This should unblock builds on Windows.
Auto-generated changelog
- Use const generics. by @ahmedcharles in #1
- Add tea constitution file by @sunsided in #2
- Add code coverage and cross-platform builds by @sunsided in #3
New Contributors
- @ahmedcharles made their first contribution in #1
Full Changelog: 0.0.2...v0.1.0