Crates.io | embedded-kalman |
lib.rs | embedded-kalman |
version | 0.2.0 |
source | src |
created_at | 2022-10-05 12:46:08.801073 |
updated_at | 2022-10-06 10:00:11.306066 |
description | A Kalman Filtering library designed for use in low-resource embedded systems |
homepage | https://github.com/jostlowe/embedded-kalman.git |
repository | https://github.com/jostlowe/embedded-kalman.git |
max_upload_size | |
id | 680515 |
size | 18,767 |
embedded-kalman is a Kalman filtering library written for Rust targeting:
Although this library was designed with embedded systems in mind, there's nothing wrong with using it in other applications. On the contrary, it should be quite fast on unconstrained systems. For now, embedded-kalman only features a standard optimal gain Kalman filter for linear time-invariant systems. Future versions are planned to contain:
use embedded_kalman::KalmanFilter;
use nalgebra::{SMatrix, SVector, Vector2};
let kf: KalmanFilter<f64, 2, 2, 2, _> = KalmanFilter::new(
... // matrices and initial state go here
);
let kf = kf
.predict(Vector2::new(1.0, 0.0)) // Give an input to the system
.update(Vector2::new(1.0, 0.0)) // Update the state from a given measurement
.expect("Update step failed!");
let (x_posterior, P_posterior) = kf.get_posteriors(); // Get the posteriors
#![no_std]
environmentARM Cortex-M
architectureYou will need the last stable build of the rust compiler and the official package manager: cargo.
Simply add the following to your Cargo.toml
file:
[dependencies]
embedded-kalman = "0.1.0"