我正在尝试在 C 中查找带有示例或某些代码的库,以跟踪 MPU-9250 9 轴(加速度计/陀螺仪/磁力计)传感器的绝对方向。我读过 Madgwick 滤波器能够通过找到最小化优化问题 q* W q - a 的最佳四元数来找到绝对方向,其中 q 是我们想要找到的四元数,W 是指向地球的向量, a 是加速度计矢量和乘积: q* W q 将四元数定义的旋转应用于 W 矢量源。因此,W_rotated = q* W q,即 min( W_rotated - a) wrt q,使用最速下降算法。即使我在使用此处或此处找到的相应代码时在某种意义上得到了数学我得到不正确的旋转或不正确的初始旋转(使用 ESP32)。有任何想法吗?