繁体   English   中英

需要卡尔曼滤波

[英]Kalman Filtering need

我有一个群机器人项目。 定位系统是使用超声波和红外发射器/接收器完成的。 精度为 +-7 厘米。 我能够跟随领导者算法。 但是,我想知道如果传感器原始数据很好,为什么我仍然必须使用卡尔曼滤波器? 它会改善什么? 不仅会延迟发送给机器人的坐标(坐标不会立即更新,因为每个机器人每秒发送其坐标 4 次,因此需要时间进行卡尔曼滤波数学运算)

传感器数据永远不是事实,无论它们有多好。 他们总会被一些噪音打扰。 此外,它们确实具有有限的精度。 所以传感器数据只不过是你所做的观察,而你想要做的是根据这些观察来估计真实状态 在数学术语中,您希望根据这些测量值估计可能性或联合概率。 您可以根据上下文使用不同的工具来做到这一点。 一种这样的工具是卡尔曼滤波器,在最简单的情况下它只是一个移动平均线,但通常与动态模型和一些关于误差/状态分布的假设结合使用才能发挥作用。 动态模型对状态传播(例如,知道先前状态的运动)和观察(测量)进行建模,并且在机器人/SLAM 中,人们通常假设误差是高斯分布的。 这种过滤器的一个非常重要和有用的产品是根据协方差估计不确定性。

现在,潜在的改进是什么? 基本上,您要确保您的传感器测量与数学模型一致并且它们是“平滑的”。 例如,如果你想估计移动车辆的位置,运动学方程会告诉你你期望车辆的位置,并且你有一个相关的协方差。 您的测量值也带有协方差。 因此,如果您获得的测量结果的确定性较低,您最终会相信数学模型而不是相信测量结果,反之亦然。

最后,如果您担心延迟...请注意,标准扩展卡尔曼滤波器的复杂度大致为O(N^3) ,其中N是地标的数量。 因此,如果您真的没有足够的计算能力,您可以将状态减少到pose, velocity ,然后开销可以忽略不计。

通常,卡尔曼滤波器通过对测量(传感器输出)和传感器输出的预测求和(使用正确的系数)来帮助提高传感器精度。 预测是最难的部分,因为您需要创建以某种方式预测传感器输出的模型。 而且我认为在你的情况下没有必要花时间创建这个模型。

虽然您从传感器获得准确的数据,但它们并不总是一致的。 卡尔曼滤波器不仅可以识别测量数据中的任何异常值,还可以在某些测量值丢失时进行预测。 但是,如果您真的在寻找计算要求较低的东西,那么您可以使用免费过滤器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM