#融合 #nxp #传感器 #adafruit #端口 #python绑定 #滤波器

nightly bin+lib ahrs-fusion

基于Adafruit编写的NXP传感器融合算法的移植

4个版本 (破坏性更新)

0.4.0 2022年5月16日
0.3.0 2022年5月14日
0.2.0 2022年2月8日
0.1.0 2021年12月18日

#1382 in 硬件支持

自定义许可

88KB
1.5K SLoC

C++ 1K SLoC // 0.4% comments Rust 262 SLoC C 4 SLoC

AHRS融合

基于卡尔曼滤波的Adafruit NXP传感器融合算法的Rust移植。

链接

此库是 no_std,例如在ARM上,您需要提供例如 sinf(..) 的实现。最简单的方法是仅通过extern链接到例如: cmsis_dsp(更多信息请参阅此链接)并选择一个实现来提供数学函数。

使用 micromath

$ cargo add cmsis_dsp --features micromath

如果您不使用cmsis_dsp库,也请在您的crate中添加以下内容

extern crate cmsis_dsp;

Python绑定

您还可以通过Python绑定使用此小型库。进入 python 目录,并在您的虚拟环境中使用 pip 或例如 maturin develop --release 进行安装。

从命令行使用

还有一个小的命令行工具,它接受频率作为其参数,并从stdin读取加速度计和陀螺仪作为CSV。它输出每行的旋转加速度。可以通过启用 build-bin 特性标志来构建或安装。

$ cargo install --feature build-bin --path .
$ echo 1,2,3,4,5,6 | ahrs-csv 10

资源

依赖项

~0–8.5MB
~56K SLoC