通常,通过反复试验或领域知识来完成卡尔曼滤波器噪声矩阵的调整。是否有更多原则性的方法可以调整所有卡尔曼滤波器参数?

#1 楼

您可以获取实验数据,并进行一些统计分析以确定过程噪声(时间步长之间的噪声)和传感器噪声(与地面真实情况相比)。

获取传感器噪声的地面真实情况,您可能需要更精确的传感器,或者进行实验性测试,同时将感兴趣的状态保持在已知(通常是固定的)值。

如果没有实验数据,则可以使用数据表或每个传感器的规格,以确定其噪声。在这种情况下,过程噪声将更加困难,但是,如果执行器是过程噪声的主要来源,则可以通过假设一定量的噪声(例如由执行器引起)来猜测其值。 />

另一种方法是考虑估计允许的最大建立时间。这将确定过程噪声和传感器噪声之间的比率。这可让您在满足建立时间要求的同时获得最大的滤波效果。

请注意,这不是一种很好的方法来调整不同传感器之间或不同状态之间的比率,因此并不完美。


基本上,如果您有实验数据,则可以获得最佳性能。否则,只能通过假设过程噪声的主要贡献者噪声或确定所需的最低性能(不是最佳性能,但至少获得所需的最低性能)来计算过程噪声。

#2 楼

在机器学习领域,我们将卡尔曼滤波器视为潜在变量模型的推理算法。测量值是可见的,但真实状态是隐藏的。现在,您要推断真实状态。

像往常一样,此方法依赖于一组参数,并且-原则上-获取参数最佳估计的方法是看根据数据的可能性(给定参数)并优化参数以获得最大值。这样可以为您提供最大的似然估计。这是因为我们没有观察到隐藏状态。因此,必须运用一些技巧。其中之一是使用Expecation Maximization(EM)算法,这是一种迭代方法:第一步,在当前参数下,计算隐藏状态最可能的值(期望值)。在第二步中,将隐藏状态保持固定,并优化参数以获得最高可能性的解决方案。重复这些步骤,直到收敛为止。 )。 Zoubin Ghahramani和Geoffrey Hinton的技术报告中很好地描述了推导线性动力系统参数的过程(为您提供模型的卡尔曼滤波器类型)。

#3 楼

您可能想阅读
Bernt M.Åkesson等人的“卡尔曼滤波器调整工具”。等它描述了自协方差最小二乘(ALS)方法。