Position 关于这个简单的1D Kalman案例的两个问题

Position 关于这个简单的1D Kalman案例的两个问题,position,sensors,robot,kalman-filter,proximitysensor,Position,Sensors,Robot,Kalman Filter,Proximitysensor,所以我试图学习如何使用卡尔曼滤波器在某个时候在一个小型机器人上实现它们。这段视频和以下网页是我了解这些过滤器的很好的来源: 让我们以一个简单的1D为例,我有一个传感器平台,两侧各有一个距离传感器,我们会说L是左侧传感器,R是右侧传感器。机器人被绑定在一个100单位长的盒子中,每个传感器只有10个单位的范围,我们认为它们的任何值大于7.5都是无效的。 当X=5时,平台将向前移动,我想使用过滤器来估计X,当我靠近墙壁时,使用从L/R输入的数据来校正X。我的论点如下: 在视频中,Francis G

所以我试图学习如何使用卡尔曼滤波器在某个时候在一个小型机器人上实现它们。这段视频和以下网页是我了解这些过滤器的很好的来源:


让我们以一个简单的1D为例,我有一个传感器平台,两侧各有一个距离传感器,我们会说L是左侧传感器,R是右侧传感器。机器人被绑定在一个100单位长的盒子中,每个传感器只有10个单位的范围,我们认为它们的任何值大于7.5都是无效的。 当X=5时,平台将向前移动,我想使用过滤器来估计X,当我靠近墙壁时,使用从L/R输入的数据来校正X。我的论点如下:

  • 在视频中,Francis Govers说,如果你丢失了一个传感器,那么误差将达到无穷大,你将能够判断出你的传感器没有提供良好的数据。然而,当我实现网页上显示的1D案例时,即使我向其提供了变化很大的数据,错误也会继续减少。为什么?错误是否应该增加

  • 与1相关,当错误过高或我知道传感器提供无效数据时,我该怎么办?除非另有说明,否则我是否不将传感器包括在校正步骤中

  • 很抱歉,如果以前有人问过这些问题,我通常很擅长自己寻找答案,但这些问题似乎有点模糊(或者更可能答案很明显),但我自己似乎找不到答案

  • 我对那个视频一点也不熟悉,但他的意思可能是,如果你反复添加过程噪声(
    P=FPF'+Q
    ),但从不通过测量减少
    P
    ,那么
    P
    只能增加。不过,一般来说,我会提醒您不要将协方差矩阵
    P
    视为过滤器的输出。您会注意到,它不受您的度量(缺少度量除外)或您的状态的影响。只有反复应用您自己对过程和测量噪声的估计(
    Q
    R
    )才会对其产生影响,因此,如果您错了(例如,在您尝试时,使用相同的
    R
    放入垃圾测量),您仍然会得到相同的
    P
  • 卡尔曼滤波器的一个基本假设是,所有的噪声都是高斯(经典的钟形曲线分布)和零均值。你可以在分布上做很多捏造,但非常重要的是你的噪音平均值为零。这写为预期值
    E(v)=0
    。如果您的传感器读数为“大约5”或
    5+v
    ,其中
    v
    是一个平均值为零的随机变量,则平均传感器读数将得到非常接近5的结果。这就是传感器在范围内时的工作方式。
    v
    的大小是您在
    R
    中估计的值,因此过滤器知道需要多少平均值。如果传感器超出范围,最好不要将其包括在测量中。当传感器读数超出刻度时,值不是“大约10”,而是“可能至少10,可能更多”,并且噪声有偏差

  • 1) 我没有使用P作为输出,我认为你对过程噪声的看法是正确的,如果他使用的是时不变的kalman滤波器。我看不出还有别的办法。2) 关于超出范围测量的观点正是我需要知道的,不幸的是,在其他地方也找不到答案。@MykelStone:关于“超出范围”传感器的另一条评论:如果你真的需要包含传感器读取10的想法,你不能用测量来完成,但你可以通过约束来实现。有多种方案可用于将等式和不等式约束应用于KF。