我正在做一个iOS项目,需要我在GPS不可用时做简单的航位推算。我得到了一堆来自不同手机的测量数据,包括以下内容:
- 可用时的GPS数据(x, y, z,航向,速度)
- 加速度计(用户加速度x, y, z)
- 陀螺仪(旋转速率x, y, z)
我想计算时间序列中缺失的GPS位置。我知道如何根据最后的GPS位置和航向值来投影位置,但这给了我很大的误差。我的问题是,如果我结合加速度计和陀螺仪数据,是否有可能获得更好的结果。我了解如何整合加速度计的值来获得速度信息,但我不确定如何使用陀螺仪的数据。
这可不是一个小话题。关于你的问题:"是的,你可以通过组合所有传感器的输入来获得更好的结果"。
这就是卡尔曼滤波(KF)的意义所在——这个过程被称为传感器融合,网上有很多关于它的话题。通常用于此目的的KF版本是扩展卡尔曼滤波器。我推荐阅读这篇文章——它简短地实现并解释了你想要执行的任务,但却清楚地准确:
http://www.tkt.cs.tut.fi/research/nappo_files/1_C2.pdf