【问题标题】:Estimating position with a Kalman Filter [closed]使用卡尔曼滤波器估计位置
【发布时间】:2012-01-17 21:09:01
【问题描述】:

我正在做一个关于室内定位的项目。我使用 NS2 和一个名为 Senelex 的 matlab GUI 来查找节点的原始位置和估计位置。现在我想使用卡尔曼滤波器来估计节点/目标的位置。

例如:

如果我认为目标的速度是恒定的,我如何使用确定的节点估计或原始位置的值作为卡尔曼滤波器的输入。

以下是节点的估计位置和原始位置。

ori = [6.62650602409639 194.444444444445;
        6.62650602409639 10.6837606837607;
        192.168674698795 7.83475783475797;
        192.168674698795 191.595441595442;
        70.4819277108434 171.652421652422;
        129.518072289157 168.803418803419;
        24.6987951807229 144.586894586895;
        42.7710843373494 79.0598290598291];


est   = [6.62650602409639 194.444444444445;
            6.62650602409639 10.6837606837607;
            192.168674698795 7.83475783475797;
            192.168674698795 191.595441595442;
            70.7600705547484 171.847603055024;
            129.443055817301 168.734648868329;
            25.01956026761   144.890243978875;
            42.6058125534278 79.1446327727804];

如何将这些用作卡尔曼滤波器的输入并使用卡尔曼滤波器估计目标?

【问题讨论】:

  • 通过说明您尝试过的内容可以大大改善这个问题。现在的正确答案是从任何书中复制有关卡尔曼滤波的章节,希望这不是您所需要的。
  • 如果您需要代码方面的帮助,您应该在Stack Overflow 上发布一些帮助,以便我们为您提供帮助。如果您有概念性问题,请查看我们的姊妹网站Signal Processing

标签: matlab math sensors kalman-filter


【解决方案1】:

我建议从相对简单的卡尔曼滤波器教程开始:An Introduction to the Kalman FilterThe Kalman Filter 站点有相当数量的好资源,包括指向 Matlab 工具箱的链接。一旦你有了方程,卡尔曼滤波器的实现就不是一个非常复杂的程序。

以下是一些 Java 版本的卡尔曼滤波器的链接:

我确信大多数编程语言都有可用的源代码。这些示例是我使用过的示例。

【讨论】:

  • 我读到卡尔曼滤波器会预测未来的位置。当我得到的输出中当前位置和下一个位置之间存在很大差异时,它将如何预测未来位置。 (检查我的问题中的 ori 数据)。先生,如有错误请指正。
  • @Desizner:卡尔曼滤波器背后的基本思想是它使用最可靠的信息来预测下一个状态。它通过信息源的差异来衡量可靠性。如此大或小的位置变化,过滤器将尽其所能预测下一个状态。如果满足某些条件,则卡尔曼滤波器是最佳的。如果目标速度如您所指示的那样恒定,则可以由卡尔曼滤波器建模和使用。
猜你喜欢
  • 2016-10-21
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-26
相关资源
最近更新 更多