#nalgebra #robotics #aerospace

kalmanrs

A dimensionally generic kalman filter library in Rust

1 个不稳定发布

0.1.0 2020年1月17日

#25 in #nalgebra

MIT 许可证

6KB

Kalmanrs - Rust中的卡尔曼滤波器

This library directly implements the algorithm found here. kalmanrs is build using nalgebra, and is designed to be as dimensionally generic as possible to make it easy to implement in whatever control structure or system you're working with.

设置和使用

kalmanrs 添加到 Cargo.toml 中的依赖项。

kalmanrs 的设计需要为包含卡尔曼滤波器的两个结构体创建包装器,即 LinearKalmanKalmanState。使维度泛型化的是 kalmanrs 提供的宏 lkf_builder;它实现了你的卡尔曼滤波器的预测和更新方法。

examples/lkf.rs 中有一个详细的自我解释示例。需要注意的是,由于 Rust 当前不支持对整数值进行参数化,维度通过类型进行模拟;这些类型在 nalgebra 的根模块中定义。例如,如果你想使用 2x3 维矩阵,你必须 use na::{U2, U3}

待办事项

  • 添加扩展卡尔曼滤波器(EKF)。
  • 添加无迹卡尔曼滤波器(UKF)。
  • 更好的测试/测试覆盖率

依赖关系

~4MB
~73K SLoC