6 个版本
新 0.3.1 | 2024年8月19日 |
---|---|
0.3.0 | 2024年7月30日 |
0.2.2 | 2024年7月29日 |
0.1.0 | 2024年7月26日 |
#36 在 机器人学 中
每月578次下载
36KB
581 代码行
Kfilter
卡尔曼滤波和扩展卡尔曼滤波的无std实现。
请参阅这篇博客文章了解库的设计原因。
特性
- 建模状态转换/预测的系统
- 线性或非线性
- 带输入和不带输入
- 建模传感器/观测的测量
- 线性或非线性
- 单测量卡尔曼滤波器(Kalman1M)或多测量/多速率(Kalman)
快速入门
以下示例是一个具有位置测量的位置和速度2状态卡尔曼滤波器。
use kfilter::{Kalman1M, KalmanPredict};
use nalgebra::{Matrix1, Matrix1x2, Matrix2, SMatrix};
// Create a new 2 state kalman filter
let mut k = Kalman1M::new(
Matrix2::new(1.0, 0.1, 0.0, 1.0), // F
SMatrix::identity(), // Q
Matrix1x2::new(1.0, 0.0), // H
SMatrix::identity(), // R
SMatrix::zeros(), // x
);
// Run 100 timesteps
for i in 0..100 {
// predict based on system model
k.predict();
// update based on new measurement
k.update(Matrix1::new(i as f64));
}
依赖关系
~4MB
~79K SLoC