这是我关于 SO 的第一篇文章。我还没有为嵌入式系统开发太多代码,但我遇到的问题很少,需要更高级程序员的帮助。我使用以下设备:-带有 LPC1768 (Cortex M3) MCU 的 LandTiger 板,-带有 ADXL345 加速度计(3 轴)的 Digilent pmodACL,-带有 L3G4200D 陀螺仪(3 轴)的 Digilent pmodGYRO。
我想获得一些有关设备方向的信息,即 X、Y 和 Z 轴上的旋转角度。我已经读过,为了实现这一点,我需要使用卡尔曼滤波器或其更简单的形式(即互补滤波器)组合来自加速度计和陀螺仪的数据。我想知道是否可以仅使用陀螺仪和加速度计(没有磁力计)的测量数据从全范围(0-360 度)计算滚动、俯仰和偏航。我还找到了一些数学公式(http://www.ewerksinc.com/refdocs/Tilt%20Sensing%20with%20LA.pdf和http://www.freescale.com/files/sensors/doc/app_note/AN3461 .pdf),但它们在分子/分母中包含平方根,因此有关坐标系正确象限的信息会丢失。