首页 > 其他分享 >卡尔曼滤波

卡尔曼滤波

时间:2022-12-02 01:55:37浏览次数:67  
标签:Kalman 卡尔曼滤波 测量 ext Filters hat 温度

1. 为什么使用 Kalman Filters?

1.1 什么是 Kalman Filters?

Kalman Filters 是一种优化估计算法。下面使用使用两个例子说明 Kalman Filters 的用处。

例子1:

用来说明: 在系统的状态无法直接被测量时候, Kalman Filters 如何来估算系统状态。

image

对于飞船的燃烧室,需要监控燃烧室的温度,但是内部温度太高会烧坏传感器,因此只能测量外部温度,那么如何根据测量的外部温度,估计内部问题呢?可以使用 Kalman Filters 利用间接的测量温度,估计内部的温度。

例子2:

用来说明: 使用 Kalman Filters, 通过组合多种可能受到噪音影响的数据源,来估计系统的状态。

如何估计汽车的位置?

image

数据1: 车载传感器 惯性测量单元(IMU), 使用加速度计和陀螺仪来测量汽车的加速度和角速度。

数据2: 里程表,测量汽车行驶的相对距离。

数据3: GPS 接收器接收来自卫星的信号,定位汽车在地球表面的位置。

image

  • 如果汽车经过一个长的隧道,在隧道中难以使用 GPS 估计位置,因为接收器和卫星的通信被挡住了。
  • 使用 IMU 提供的加速度计算距离(求二次积分),但是小的误差会随着时间不断累积,从而偏差越来越大。
  • 结合 IMU 和里程表,但里程表读数会受到轮胎压力和道路情况的影响。

总结:

image

  • IMU 可以测量汽车的相对位置,可以快速更新,但是容易漂移。
  • GPS 提供绝对位置,更新的慢,并可能存在噪音。

image

使用 Kalman Filters 结合三个测量值,得到汽车最合适的估算位置。

1.2 Kalman Filters 来源?

image

优化估计算法:可以在有噪声的情况下,来预测感兴趣的参数,如位置,速度和方向等。

制导和导航控制系统。

在阿波罗登月项目中,使用 Kalman Filters 来估算载人航天器往返月球的轨迹。

1.3 总结

image

Kalman Filters 是一种设计最优状态观测器的方法。下一节会学习状态观测器。讨论最佳状态观测器。

2. 状态观测器?

定义: \(\hat{X}\) 为估计状态。

例子:测量飞船燃烧室的温度。

image

内部温度为:\(T_{in}\), 外部温度为:\(T_{ext}\)。

燃油流量为:\(W_{fuel}\)。

通过对真实燃油系统建立数学模型。那么可以通过该数学模型可以估计系统的内部状态了吗?答:不可以。因为数学模型只是真是系统的近似。如果数学模型是真实系统的完美模型,没有任何不确定性,并且真实系统和数学模型具有相同的初始条件,那么数学模型估算的外部测量值: \(\hat{T}_{ext}\) 就会与真实的外部测量值:\(T_{ext}\) 相等,那么模型估算的内部温度值:\(\hat{T}_{in}\) 就会与真实的内部温度值:\(T_{in}\) 相等。但是实际上是不可能有完美的模型,即数学模型估算的外部测量值: \(\hat{T}_{ext}\) 会与真实的外部测量值:\(T_{ext}\) 有误差。因此需要使用状态观测器来估算系统的内部状态。

image

状态观测器原理:如上图所示,目标是数学模型估算的外部测量值: \(\hat{T}_{ext}\) 与真实的外部测量值:\(T_{ext}\) 相等,表示数学模型收敛到了真实系统,那么模型估算的内部温度值:\(\hat{T}_{in}\) 就能收敛到 真实的内部温度值:\(T_{in}\)。

image

反馈控制系统,我们使用 控制器 K 试图控制 数学模型估算的外部测量值: \(\hat{T}_{ext}\) 与真实的外部测量值:\(T_{ext}\) 之间的误差为 0。

image

将该反馈控制系统更新到上面图中,蓝色阴影部分为 状态观测器。通过反馈控制,消除数学模型估算的外部测量值: \(\hat{T}_{ext}\) 与真实的外部测量值:\(T_{ext}\) 之间的误差。那么模型估算的内部温度值:\(\hat{T}_{in}\) 就会收敛到 真实的内部温度值:\(T_{in}\)。

总之:

  1. 无法测量真实系统内部的温度
  2. 但是知道给火箭提供了多少燃料
  3. 因此可以建立 燃料和估算的外部温度的数学模型,得到估算的外部温度
  4. 结合测量的外部温度值来估计系统内部的温度

问题是如何选择控制器 K 使得测量的外部温度和模型估算的外部温度之间的误差最小?

image

整理公式得到如下结果:

image

上述等式的解是一个指数函数,这意味着如果 A-KC<0, 那么模型估算的内部温度值 \(\hat{x}\):\(\hat{T}_{in}\) 与 真实的内部温度值 \(x\):\(T_{in}\) 之间的误差会随着时间而降低。\(\hat{x}\) 最终会收敛到 \(x\)。

image

你或许会疑问是否需要 KC 项,即没有反馈回路,即数学模型没有 \(K(y-\)\hat{x})$ ,也会得到一个误差衰减的指数函数。给状态观测器建立反馈回路的重要性在于 : 我们可以通过选择相应的控制器 K 控制误差函数的衰减率。如果 衰减率只取决于 矩阵 A, 如果数学模型中存在一些不确定性,表示并不知道真实的 A,那么就无法控制误差衰减的速度。使用反馈控制器可以更好的控制这些方程,从而更快的消除误差。误差消除的越快,估算的状态\(\hat{x}\) 收敛到 真实状态 \(x\) 的速度就会越快。

image

选择反馈控制增益 K 的最佳方法就是 卡尔曼滤波。

image

参考

https://www.bilibili.com/video/BV1V5411V72J?p=2

标签:Kalman,卡尔曼滤波,测量,ext,Filters,hat,温度
From: https://www.cnblogs.com/odesey/p/16937124.html

相关文章

  • 什么是“卡尔曼滤波器”?
     卡尔曼滤波器(KalmanFilter )是一个高效的递归滤波器,它可以实现从一系列的噪声测量中,估计动态系统的状态。起源于RudolfEmilKalman在1960年的博士论文和发表......
  • 拓端tecdat|R语言代写卡尔曼滤波器: KFAS建模时间序列
    时间序列预测,ARIMA等传统模型通常是一种流行的选择。虽然这些模型可以证明具有高度的准确性,但它们有一个主要缺点-它们通常不会解释“冲击”或时间序列的突然变化。让我们......
  • 从贝叶斯定理到卡尔曼滤波
    从贝叶斯定理到卡尔曼滤波可以选择直接跳至卡尔曼滤波部分开始之前一个问题引入:如何确定一个随机事件发生的概率频率学派认为可以利用大数定理,重复进行无数次随机试......
  • 卡尔曼滤波 学习记录
    1. 卡尔曼滤波的5个公式         F: 状态转移矩阵  P: 状态协方差矩阵 Q:  状态转移协方差矩阵   H: 观测矩阵 R: ......
  • 卡尔曼滤波器
      卡尔曼滤波器是一种运用于整合数据的一种算法,它可以将预测与观测的的数据进行处理,在这些充满不确定性的数据中找到一个较确定的平衡。这种程序能广泛应用于定位和导......
  • 卡尔曼滤波,达官显贵的“护城河”[转]
    卡尔曼滤波算法是自动驾驶公司中一条著名的护城河,将公司分成了河内的达官显贵(算法、开发)和城河外的劳苦大众(产品、项目、运营)。 达官显贵嘲笑劳苦大众年轻气盛,有勇无谋,劳......