我正在使用 Android 设备获取航向(方位角或偏航角)。
Android API 使用加速度计值 + 磁场来计算矩阵旋转,然后从该矩阵中提取方位角(又名 SensorManager.getOrientation(...))但结果非常不准确!特别是如果手机受到一些磁性物质的干扰。
然后我有了陀螺仪,如果我整合陀螺仪波谷时间的值,我就能得到一个实际的角度,但正如每个人都知道的那样:p,这会发生漂移......甚至在 10 秒后艰难的我不会移动角度漂移 10°...
所以这里我的一侧是加速器 + 磁电机的结果,它在磁场附近非常糟糕 另一方面,我得到的陀螺仪结果非常好,但会随着时间漂移...
所以我的问题是,是否有一种简单或聪明的方法将两个结果结合在一起以获得一种“稳健”的航向估计?我说简单是因为我知道有卡尔曼滤波器。 ..但即使我读了 50 遍这个理论,我也什么都不懂 :)。
谢谢!
最佳答案
据我所知,卡尔曼滤波器或类似的东西是在 SensorManager 中实现的。查看Sensor Fusion on Android Devices: A Revolution in Motion Processing .
您正在尝试解决一个已经解决的问题。
关于android - 将陀螺仪与加速度计相结合以获得航向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8052171/