首页 文章

将陀螺仪与加速度计结合使用以获得航向

提问于
浏览
6

我正在使用Android设备获取 Headers (方位角或偏航角) .

Android API使用Accelerometer值mganetic字段来计算矩阵旋转,然后从矩阵中提取方位角(也就是SensorManager.getOrientation(...))但结果非常不准确!特别是如果手机受到某些磁性物质的干扰 .

然后我有陀螺仪,如果我整合了陀螺仪时间的 Value ,我就能得到一个实际的角度,但是像所有人都知道的那样:p,这可能会漂移... 10秒后甚至很难我'我没有移动10°漂移的角度......

所以在这里,我在一侧有加速磁电机的结果,它在磁场附近相当废话,另一方面我有陀螺的结果非常好,但随着时间的推移漂移......

So my question is, is there an easy or smart way to combine the two results together to get a kind of "robust" heading estimation? 我说很容易,因为我知道有卡尔曼过滤器...但即使是艰难的我读了50次这个理论我也不能得到一个该死的东西:) .

谢谢!

3 回答

  • 1

    据我所知,在SensorManager中实现卡尔曼滤波器或类似的东西 . 看看Sensor Fusion on Android Devices: A Revolution in Motion Processing .

    您正在尝试解决已经解决的问题 .

  • 4

    它似乎对陀螺仪传感器有一个非常普遍的混淆 . 我最近回答了一个类似的问题here,所以我建议任何对这些主题感兴趣的人来看看这个问题和答案 .

    我在这个application(一个集成了陀螺仪读数以改善结果的指南针)中使用了所描述的技术 . 结果并不完美,但总体上比其他指南针要好得多 .

  • 0

    简而言之:

    不可能将陀螺仪加速度计组合起来获取方位角(我精确)仅仅因为加速度计无法检测XY轴上的加速度 .

    一种方法是将陀螺仪与指南针融合,但如果存在磁性扰动则不会起到很好的作用

相关问题