Releases: sunsided/minikalman-rs
0.6.0
To add minikalman/0.6.0 to your project, run
cargo add [email protected]
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
andExtendedKalman
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
- 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 [email protected]
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 onalloc
crate features. - #21: Added the functions
make_identity
,make_scalar
,make_comatrix
andset_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
- 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 [email protected]
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 enablef32
andf64
built-in support.
Removed
- Removed the
no_std
crate feature in favor of thestd
feature (disabled by default).
Pull Requests
v0.3.0
To add minikalman/0.3.0 to your project, run
cargo add [email protected]
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
To add minikalman/0.2.3 to your project, run
cargo add [email protected]
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
andMeasurement
structs.
v0.2.2
To add minikalman/0.2.2 to your project, run
cargo add [email protected]
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
andcreate_buffer_BQ_temp
macros in favor ofcreate_buffer_temp_P
andcreate_buffer_temp_BQ
.
v0.2.1
To add minikalman/0.2.1 to your project, run
cargo add [email protected]
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
To add minikalman/0.2.0 to your project, run
cargo add [email protected]
or use
[dependencies]
minikalman = "0.2.0"
To install the latest version, run
cargo add minikalman
Changes
Internal
- Remove requirement to specify either
std
orno_std
crate feature. Ifno_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
Full Changelog: v0.1.0...v0.2.0
0.1.0
To add minikalman/0.1.0 to your project, run
cargo add [email protected]
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 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
stdint
crate 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