这几天 Sergio M. Savaresi 来学校授课,课程名称是「Machine Learning, System Identification, and Virtual-Sensing for Dynamical Systems」。课堂上全程 iPad 板书,让我想起另一位全程板书:MIT 6.832Russ Tedrake

全程板书的好处很多,可以让学生跟上老师的节奏,不容易走神,上课效率高,思路清晰……

最终,对老师的要求会很高。盗取两位老师的板书,好似艺术品。

Russ Tedrake

6832spring2018

Sergio M. Savaresi

据自己的个人体会,听大师上课,是一种享受,他会慢慢把知识点顺理成章的展现在学生面前,有一种为有源头活水来的感受,大师的风度。如果每位学生能在学校,多上几门这样的课,离世界一流大学还会远吗?

卡尔曼滤波用于状态空间模型对象,属于状态估计领域。

机器学习、大数据、数据挖掘、人工智能……一大堆新概念,说白了就是“新瓶装旧酒”,还是用的原来的方法。

课程中,老师多次采用信息论(Information)的角度用直观(Intuitive)的方式介绍概念、方法和结论。

SVD、最小二乘法、卡尔曼滤波、贝叶斯估计……它们本质上是从不同的角度阐述同一个方法。

KF的作用
  1. 预测输出量 $\mathbf{\hat{y}(N+k\mid N)}$
  2. 预测状态量 $\mathbf{\hat{x}(N+k\mid N)}$
  3. 状态估计”Filter” $\mathbf{\hat{x}(N\mid N)}$
  4. 灰盒辨识

No Input u(t)

输入 $u(t)$ 不会影响 K.F. 的 $K(t), P(t)$。

Inout u(t)

2018/9/26

考虑系统方程

\[x(t+1)=Fx(t)+v_{1}(t), v_{1} \sim WN(0,V_{1})\] \[y(t)=Hx(t)+v_{2}, v_{2}(t) \sim WN(0,V_{2})\]

而且

\[V_{1} \geq 0\] \[V_{2} > 0\]

$V_{2}>0$ 是为了满足 $\exists \quad (HP(t)H^{T}+V_{2})^{-1}$。实际工程中的F、G和H可以通过物理模型获取,而 $V_1,V_2$ 很难得到。

\[\hat{x}(t+1\mid t)=F\hat{x}(t\mid t-1)+K(t)e(t)\] \[\hat{y}(t\mid t-1)=H\hat{x}(t\mid t-1)\] \[e(t)=y(t)-\hat{y}(t\mid t-1)\] \[Gain\,Equ:\quad K_{n\times p}(t)=(FP(t)H^T+V_{12})(HP(t)H^T+V_2)^{-1}\] \[DRE:\quad P(t+1)=(FP(t)F^T+V_1)-(FP(t)H^T+V_{12})(HP(t)H^T+V_2)^{-1}(FP(t)H^T+V_{12})^T\]

最后两个动态方程需要初始条件: \(\hat{x}(1\mid 0)=x_0\)

\[P(1)=P_0\]

DRE 是一个差分的、矩阵的、非线性的、与输入 $ u(t)$ 无关的方程,且 $P \geq 0$ 。

Kalman Filter Idea is SIMPLE:

  • 先复制系统
  • 再比较 $y(t)$ 与 $\hat{y}(t\mid t-1)$
  • 反馈调节

$P(t)$表示预测误差的方差,衡量系统的“不确定性”。因为 $u(t)$ 是确定的信息,故不会影响 KF 的 $K(t), P(t)$。

实际中会遇到的问题:

  • 计算量,矩阵求逆
  • K.F. 是非线性、时变的动态系统(DRE),将无法确定 K.F. 的稳定性!

How to Solve it?

退一步,寻求 KF 的渐进稳定性

\[P(t) \to \bar{P}\] \[K(t) \to \bar{K}\]

使得 KF 变为 LTI 系统,其状态矩阵为:

\[(F-\bar{K}H)\]

且有结论:KF 可以强大到跟踪不稳定系统。

NEXT:EKF、灰盒ID.

Remarks:

  • 对于线性系统,$\bar{K}$存在时,直接用$\bar{K}$就好;
  • 否则,对于EKF、时变系统,则用 $K(t)$。

步骤:

  1. 解 DRE 方程,解之得 $\bar{P}$;
  2. 用画图的方法判断是否 $P(t) \to \bar{P}$;
  3. 检查稳定性 $(F-\bar{K}H)$;
  4. 结合定理1和定理2。

针对非白噪音的情况,可采用 扩展状态量(State Extension) 的方法解决。

TODO:能否用于解决单目尺度漂移的问题?

EKF

EKF采用同样的 K 和 DRE 方程。

但F(t)和H(t)是时变的。

存在的问题:

  1. 计算量大
  2. EKF是非线性、时变系统,它的稳定性如何保证?!故很少用于Safety-Critical和Mission-Critical场景,除非经过大量实践验证。
灰盒ID

初始参数加入噪音,让KF不要过于“相信”初始值。

TODO:考虑动态调节$\lambda$,加快速度并减少震荡?

传感器的$V_2$容易估计,$V_1$需要实际经验。

能观性分析:假设其中一个(或多个)传感器坏掉了,分析此时系统的能观性。

KF还能用于车道线跟踪(估计车道线的端点)。

Dynamic System?
  • 反馈
  • 自指
  • 自激