0

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

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

https://github.com/morgil/madgwick_py

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

我通过计算偏差来校准磁力计,以“对齐”轴原点和球心,这是由一组测量结果创建的。

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

我有点搞砸了 X 轴的方向,所以当我顺时针旋转我的板时,屏幕上的轴逆时针旋转。我翻转了所有 X 组件的迹象,它变得很好。

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

它几乎可以用一个小例外 - 当“稳定”之后我倾斜,即 X 轴向下(或 Y 轴,没关系),这个轴开始向全局 XY 平面漂移。如果我向上倾斜轴,其余轴开始围绕全局 OZ 轴漂移,就像这样 X 轴向下 X 轴向上

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

那里可以做什么?

4

0 回答 0