Madgwick算法和MPU9250传感器的漂移?

时间:2018-06-29 08:06:31

标签: arduino magnetometer imu

对于我的项目,我需要一种方法来确定火箭的正确方向。

我从这里获取了Madgwick过滤器的代码

https://github.com/morgil/madgwick_py

为了收集数据,我使用了Arduino Nano + MPU9250传感器。此设置每隔12ms通过串行将数据包发送到我的PC。

我校准了磁力计,方法是计算一组测量值所产生的偏差以“对齐”轴的原点和球心。

然后我用搅拌机绘制坐标轴: 3D axis  并为此编写了一些脚本。它只是从串行中读取值,将其输入到Filter中,然后使用四元数旋转模式旋转我的轴对象。

我稍微固定了X轴的方向,所以当我顺时针旋转电路板时,屏幕上的轴会逆时针旋转。我翻转了所有X组件的迹象,一切正常。

根据这张图片Axis of MPU,我翻转了X和Y轴以及Z轴的符号,以将磁力计的轴与陀螺仪+加速度计对齐

几乎有一个例外。它在“稳定”后倾斜,即X轴向下(或Y轴无关紧要)时,该轴开始向全局X-Y平面漂移。如果我将轴向上倾斜,则其余轴将开始绕全局O-Z轴漂移,像这样 X Axis downwards X Axis upwards

漂移的速度取决于Madgwick滤波器的Beta-Beta越大,漂移就越大。

在那里可以做什么?

0 个答案:

没有答案