过去,我曾将Kalman过滤器用于各种用途,但现在我对在智能手机应用程序的位置跟踪中使用一个跟踪位置,速度和加速度感兴趣。令我惊讶的是,这应该是简单的线性卡尔曼滤波器的教科书示例,但是我似乎找不到任何讨论此问题的在线链接。我可以想到各种方法,但是与其从头研究它,不然这里的人可以为我指出正确的方向:

有人知道设置此系统的最佳方法吗?例如,鉴于最近的位置观测历史,在卡尔曼滤波器状态空间中预测下一个点的最佳方法是什么?在状态空间中包含加速度有什么优缺点?如果所有测量都是位置,那么如果速度和加速度处于状态空间中,系统会变得不稳定吗?等等...或者,有人知道卡尔曼滤波器的这种应用有很好的参考吗?
谢谢

评论

维基百科在这里有一个简单的例子。它很简单,您可以获取详细信息。要回答第一个问题,您可以使用当前状态和系统行为的动态模型来预测下一个状态。

@JasonR感谢您的评论,但是我想要的不只是Wikipedia上的内容。我以前使用过卡尔曼滤波器很多,所以我正在寻找关于此特定应用程序的最佳方法和陷阱的尽可能多的细节。

卡尔曼滤波器是一个足够成熟的主题,您可能很难找到想要的详细当代示例。简要地说:即使只测量位置,在状态向量中包括速度和加速度等导数也很有价值。您跟踪的导数的数量与过滤器能够在没有静态错误的情况下进行跟踪的状态的多项式变化顺序有关。

@JasonR非常感谢,在没有其他任何内容的情况下,那肯定是一个非常有用的指针:-)。

这不是您要追求的目标,但是对类似问题的解答可能会有所帮助。

#1 楼

这是我所了解的最好的方法,并提供了充分的解释。

卡尔曼

这是学习卡尔曼滤波器的好资源。如果您更关心如何使智能手机应用程序正常运行,建议您寻找卡尔曼过滤器的现有实现。为什么要重新发明轮子?例如,如果您正在为Android开发,则openCV具有Kalman过滤器的实现。请参阅Android OpenCV

Bradski和Kaehler通常是图像处理方面的好资源,其中包括有关Kalman过滤器的部分,包括代码示例。