我有一个蜂群机器人项目。定位系统使用超声波和红外发射器/接收器完成。精确度为±7厘米。我能够遵循leader算法。然而,我想知道,如果传感器的原始数据很好,为什么我仍然要使用卡尔曼滤波器?它会有什么改进?不仅仅是延迟发送到机器人的坐标(坐标不会立即更新,因为每个机器人每秒发送4次坐标需要时间进行卡尔曼滤波数学运算)
发布于 2018-04-01 04:58:12
传感器数据是永远不会的事实,无论它们有多好。他们总是会被一些噪音所干扰。此外,它们确实具有有限的精度。所以传感器数据只是你所做的观察,你想要做的是基于这些观察来估计真实的状态。在数学术语中,您希望基于这些测量来估计可能性或联合概率。您可以根据上下文使用不同的工具来完成此操作。其中一个这样的工具是卡尔曼滤波器,在最简单的情况下,它只是一个移动平均值,但为了有用,它通常与动态模型和一些关于误差/状态分布的假设结合使用。动态模型对状态传播(例如,已知先前状态的运动)和观测(测量)进行建模,在机器人/SLAM中,人们通常假设误差是高斯的。这种滤波器的一个非常重要和有用的产品是对协方差方面的不确定性的估计。
现在,潜在的改进是什么?基本上,你要确保你的传感器测量结果与数学模型是一致的,并且它们是“平滑的”。例如,如果您想要估计正在移动的车辆的位置,运动学方程将告诉您您希望车辆在哪里,并且您有一个相关的协方差。你的测量结果也有一个协方差。因此,如果你得到的测量值的确定性很低,你最终会信任数学模型而不是信任测量值,反之亦然。
最后,如果您担心延迟...请注意,标准扩展卡尔曼滤波器的复杂度大致为O(N^3),其中N是地标的数量。所以如果你真的没有足够的计算能力,你可以将状态减少到pose, velocity,这样开销就可以忽略不计了。
发布于 2018-03-26 20:06:09
通常,卡尔曼滤波器通过对传感器输出的测量(传感器输出)和预测进行求和(使用正确的系数)来帮助提高传感器的精度。预测是最难的部分,因为您需要创建模型,以某种方式预测传感器的输出。我认为在你的情况下,没有必要花费时间来创建这个模型。
发布于 2018-07-16 12:54:34
虽然您可以从传感器获得准确的数据,但它们并不总是一致的。卡尔曼滤波器不仅可以识别测量数据中的任何异常值,还可以在某些测量值丢失时对其进行预测。然而,如果你真的在寻找计算量要求较少的东西,那么你可以去买一个免费的过滤器。
https://stackoverflow.com/questions/49355865
复制相似问题