python - 卡尔曼滤波器 - 两个相同传感器的融合

标签 python kalman-filter sensor-fusion

我对用 Python 实现卡尔曼滤波器很感兴趣。首先,我编写了一个非常简单的 K 滤波器版本——只有一个状态(Y 方向的位置)。 我的状态转换矩阵如下所示:

X <- X + v * t 

其中 v 和 t 是常量。

我用一个简单的线性函数模拟测量

y = mx + b

并为其添加噪声:

y1 = np.random.normal(y, sigma, Nsamples).

它工作得很好,我可以重新定义 R 和 Q 来改变测量和过程噪声值(到目前为止,它不是矩阵)。

现在我有一个想法......

如果我进行第二次测量会怎样?

    y2 = np.random.normal(y, sigma2, Nsamples)

我该怎么办?我应该像这样预过滤测量吗:

(y1 + y2) / 2

或者是否有涉及卡尔曼滤波器的更合适的方法/解决方案?

最佳答案

有多种方法可以使用卡尔曼滤波器处理多个传感器测量值的融合。一种方法是使用新测量值顺序更新卡尔曼滤波器。

请参阅传感器融合先驱 Hugh Durrant-Whyte 在 this answer 中找到的幻灯片了解如何融合传感器数据的多种方法。

关于python - 卡尔曼滤波器 - 两个相同传感器的融合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60203984/

相关文章:

gps - 需要什么卡尔曼滤波器

c# - 卡尔曼预测和校正与起始值相同

c - 基于整数的传感器融合/卡尔曼滤波器

python - ./webapp.py 和 python webapp.py 有什么区别

kalman-filter - 使用卡尔曼滤波器的多传感器融合

trigonometry - 如何使用陀螺仪和磁力计计算航向

filtering - 尝试过滤来自加速度计和陀螺仪的(大量)噪声

python - 查找列表的 "centered average"

python - 使用 Python 进行多维 for 循环

python - wkhtmltopdf 在每次运行时生成不同的校验和