弹簧阻尼振荡器是一个相对简单的例子,它默认给定一个初始位置后,不再施加外力。拉到一个点,然后弹啊弹啊弹……
但是实际上有可能系统会被施加持续的外力,因此需要考虑更复杂的情形。
先来定义三个变量:
控制量ui,这个是已知且可控的变量。
状态量xi,通常情况下它无法被直接测量,或者说需要最优估计解的正是它。
输出量zi,也被称为观察量,从传感器得来,通常是对某些xi的观测值。
拿弹簧阻尼振荡器来说,ui是施加到负载质心上的外力,xi是我们需要最优估计的负载质心位置。
如果我们拿传感器测量负载质心的位置,那么zi就是这里的观测值。
引入这三个变量之后,我们可以将状态空间表达式扩展:
x(t)是n*1矩阵,F(t)是n*n矩阵,C(t)是n*r矩阵,u(t)是r*1矩阵。
C(t)u(t)被称为微分方程的非齐次部分,因为它和xi无关。
在实际的物理过程中,这三个变量足够了么?实际上我们可以再引入一个变量w,表示随机扰动。
比如在一个安装有温度控制器的房间,有如下热力学方程:
kc取决于房间的热绝缘系数,To指室外温度,kh指温度控制器的功率系数。
u表示控制量,这里可以简化成0为关掉,1为开启。
To可以观测且不可预知,可以把它当作一个随机过程,使用w表示。
上面的热力学方程可以写成如下形式:
方法很简单,过程略。
我们现在知道了xi、ui和zi表示的含义,也知道了怎么使用物理规律建立一阶微分方程组。
除了此F(t)表示的一阶微分方程组外,我们还需要另外一个方程组:
此处:
其中,z(t)被称为测量矩阵或输出矩阵。
H(t)表征传感器的灵敏度,称为测量灵敏度矩阵。
D(t)是输入输出耦合矩阵。
结论:
两个方程组,一个包含F(t)、C(t)、W(t),由实际物理规律得来;一个包含H(t)、D(t),表征传感器测量方式。
如果这两个方程组建立不起来,卡尔曼滤波的实现也就无从谈起。
文章评论(0条评论)
登录后参与讨论