Arduino Madgwick算法和MPU9250传感器的漂移?
对于我的项目,我需要一种方法来确定火箭的正确方向 我从这里获取了Madgwick过滤器的代码Arduino Madgwick算法和MPU9250传感器的漂移?,arduino,magnetometer,imu,Arduino,Magnetometer,Imu,对于我的项目,我需要一种方法来确定火箭的正确方向 我从这里获取了Madgwick过滤器的代码 https://github.com/morgil/madgwick_py 为了收集数据,我使用了Arduino Nano+MPU9250传感器。此设置每隔12毫秒通过串行端口将数据包发送到我的电脑 我通过计算偏差来校准磁强计,以“对齐”由一组测量值创建的轴原点和球体中心 然后我用blender画了坐标轴: 并为它编写了一些脚本。它只是从序列中读取值,将它们输入过滤器,然后使用四元数旋转模式旋转我的轴
https://github.com/morgil/madgwick_py
为了收集数据,我使用了Arduino Nano+MPU9250传感器。此设置每隔12毫秒通过串行端口将数据包发送到我的电脑
我通过计算偏差来校准磁强计,以“对齐”由一组测量值创建的轴原点和球体中心
然后我用blender画了坐标轴:
并为它编写了一些脚本。它只是从序列中读取值,将它们输入过滤器,然后使用四元数旋转模式旋转我的轴对象
我把X轴的方向弄错了一点,所以当我顺时针旋转我的板时,屏幕上的轴是逆时针旋转的。我翻转了所有X组件的标志,一切都变好了
根据这张图片,我翻转了X轴和Y轴以及Z轴的符号,以便将磁强计的轴与陀螺仪+加速计对齐
它几乎只适用于一个小的例外——当“稳定”后,我向下倾斜,即X轴(或Y轴,无所谓),该轴开始向全局X-Y平面漂移。若我向上倾斜轴,剩余的轴开始围绕全局O-Z轴漂移,如下所示
漂移的速度取决于Madgwick滤波器的β-β越大,漂移越大
可以做些什么?我也看到了同样的事情,你有没有找到解决方案?通过错误和尝试,我找到了beta和迭代次数的最佳组合(在一个收到的度量上多次运行算法)。但我认为这不应该像这样工作。也许9250不准确,或者我应该每12毫秒传输一个以上的数据包,但我会弄明白的。