1

我正在为我的陀螺仪 X 和陀螺仪 Y 值使用互补滤波器:

float angle_x = alpha*gyro_angle_x + (1.0 - alpha)*accel_angle_x;

但是,由于 Gyro Z 漂移,我正在使用磁力计来尝试消除它。

我有我的局部倾角和 z 轴磁力计读数,但我不确定如何将其实现到互补滤波器中。

我试过猜测(我知道这没有帮助)来试试这个:

float angle_z = alpha*gyro_angle_z + ((1.0 -alpha)*accel_angle_y*InclinationAngle)/magZ;

但是,它只是在移动时增加陀螺 z 值,然后在静止时将其恢复为 0。

4

1 回答 1

0

使用 Madgwick 过滤器效果最好。链接可以在这里找到。它很容易实现(如果使用正确的库并且读数非常准确。目前唯一的缺点是每次您想在新的方向上使用该设备时都必须校准磁力计)。

于 2019-08-14T20:05:02.573 回答