如何理解马尔可夫定位算法?

时间:2019-03-15 07:36:00

标签: localization slam slam-algorithm

在我的论文项目中,我需要实现Monte Carlo本地化算法(该算法基于Markov本地化)。我正好有一个月的时间来理解和实现该算法。我了解概率和贝叶斯定理的基础。现在,我应该熟悉哪些主题来理解马尔可夫算法?我已经阅读了3-4次研究论文,但我仍然无法理解所有内容。

我尝试使用谷歌不了解的任何术语,但无法理解算法的本质。我想系统地理解。我知道它的作用,但我不完全了解它的作用或原因。

例如在一篇研究论文中写道,马尔可夫算法可用于全球室内定位系统或具有多峰高斯分布的情况。出于相同的原因,不能使用卡尔曼滤波器。现在,我完全不明白。

在第二个示例中,马尔可夫算法假设地图是静态的,并考虑马尔可夫假设,其中测量是独立的并且不依赖于先前的测量。但是当环境是动态的(物体在运动)时,马尔可夫假设无效,因此我们需要修改马尔可夫算法以纳入动态环境。现在,我不明白为什么?

如果有人指出我应该学习哪些主题来理解算法,那就太好了。请记住,我只有一个月。

1 个答案:

答案 0 :(得分:0)

粒子过滤器是您要本地化机器人的目标。

要实现粒子滤波,您需要了解基本概率(主要是贝叶斯定理),二维高斯分布。

slidesvideo

观看这些course videos,它们确实很棒。

  

例如在一篇研究论文中写道,马尔可夫算法可用于全球室内定位系统或具有多峰高斯分布的情况。出于相同的原因,不能使用卡尔曼滤波器。现在,我完全不明白。

卡尔曼滤波器或扩展卡尔曼滤波器用于单峰分布,而且初始估计必须足以跟踪。

粒子滤波器是多模式的,不需要初步猜测,但是需要更多的粒子(或样本)才能收敛到更好的估计值。

  在第二个示例中,马尔可夫算法假设地图是静态的,并考虑马尔可夫假设,其中测量是独立的并且不依赖于先前的测量。但是当环境是动态的(物体在运动)时,马尔可夫假设无效,因此我们需要修改马尔可夫算法以纳入动态环境。现在,我不明白为什么?

如果对象是人类,则即使在动态环境中,也很难定位(除非机器人完全被人类覆盖并且机器人无法看到环境的任何部分)。一个简单的修改就是考虑与地图一致的激光射线。下面的纸对此进行了解释。

检查本文Markov Localization for Mobile Robots in Dynami Environments