2 卡尔曼滤波器的原理与应用
2.1 卡尔曼滤波器的基本原理
卡尔曼滤波器是一种高效率的递归滤波器(自回归滤波器),它可以估计位置信号的过去和当前状态,甚至能估计将来的状态,即使在并不知道模型的确切性质情况下。本质上来说,滤波就是一个信号处理和变换(去除或减弱不想要的成分,增强所需成分)的过程,这个过程既可以通过硬件来实现,也可以通过软件来实现。卡尔曼滤波算法的基本思想是:用最小均方误差为最佳估计准则,采用信号和噪声的状态空间模型,利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值,由此算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计。
卡尔曼滤波器具有如下三大特点: (1) 随机信号是卡尔曼滤波器处理的对象;
(2) 滤波的目的是要估计出所有被处理过的信号,在处理信号中没有有用和干扰之分;
(3) 滤除的对象并不是系统的量测噪声和白噪声激励,在估计过程中需要利用的信息是它们的统计特性。
所以,卡尔曼滤波是一种最优的估计,就实现形式而论,用计算机来实现卡尔曼滤波器的递推算法,在一个卡尔曼滤波周期中,上一步的量测更新结果得出时间的状态的更新与卡尔曼滤波器设计,用来确定信号的处理验证,量测值确定是在量测的更新过程中得出的。卡尔曼滤波器的输入可以看为量测值,估计值可以看为输出。时间更新和量测更新算法联系是看在其输入与输出过程中的作用,所以卡尔曼滤波器也被称作为广义数字信号处理器。
2.2 卡尔曼滤波器的基本算法
对于一个离散的控制系统,其状态方程描述如下:
X(k)?AX(k?1)?BU(k)?W(k)
(2.1)
其中U(k)是k时刻对系统控制量,X(k)是k时刻系统状态,A和B是系统参数,W(k)为过程噪声。系统的输出方程为:
Z(k)?HX(k)?V(k)
H (2.2)
是测量系统的参数,Z(k)是k时刻测量值,在多测量系统中H是为矩阵。V(k)是测
量的噪声。假设W(k)、V(k)都为高斯白噪声,它们的协方差分别是Q、R,系统状态的变化不影响其变化。
5
在满足应用系统的量测和白噪声过程中,最优的信息处理器是卡尔曼滤波器。系统的最优化输出可以用结合它们的协方差来估算。
开始我们利用系统的过程模型,进行下一状态的系统的预测。现在的系统状态设为
k,我们利用系统的模型,由上一个系统状态来预测出现在的状态:
X(k|k?1)?AX(k?1|k?1)?BU(k) (2.3)
公式(2.3)中,X(k|k?1)用上一状态预测的结果,U(k)为现在状态的控制量,没有控制量的话,U(k)可以看作0,X(k?1|k?1)是最优的结果。
更新了系统的结果,但是,对应于X(k|k?1)的协方差没有更新。协方差用P来表示:
P(k|k?1)?AP(k?1|k?1)A,?Q (2.4)
公式(2.4)中,P(k|k?1)是X(k|k?1)对应的协方差,P(k?1|k?1)是X(k?1|k?1)相应的协方差,A的转置矩阵是A,,系统过程协方差是Q。公式(2.3),(2.4)是对系统的预测,是卡尔曼滤波器的两个最先公式。
现在状态的预测结果我们已经有了,再来采取状态的测量值。预测值和测量值相互结合,根据系统的测量得到现在状态(k)的最优化估算值X(k|k):
X(k|k)?X(k|k?1)?Kg(k)(Z(k)?HX(k|k?1)) (2.5)
其中卡尔曼增益为Kg:
Kg(k)?P(k|k?1)H/(HP(k|k?1)H?R)
,, (2.6)
自目前为止,k状态下最优的估算值X(k|k)已经被我们的出来了。但是为了使卡尔曼滤波器运行下去,直到系统过程的结束为止,我们就要来更新k状态下X(k|k)的协方差:
P(k|k)?(I?Kg(k)H)P(k|k?1) (2.7)
其中1的矩阵为I,在单模型单测量中I=1。从系统进入了k?1状态时,P(k|k)就是公式(2.4)的P(k?1|k?1),从而使算法自动回归运算下去。
有上面的公式基本描述了卡尔曼滤波器的原理,公式(2.3),(2.4),(2.5),(2.6)和(2.7)就是他的5个基本公式。根据这5个公式,实现计算机的程序就可以很容易的了。
6
2.3 卡尔曼滤波器的功能示意图
为了更直观理解卡尔曼滤波,给出了卡尔曼滤波功能示意图 ,如图1所示:
系统误差量 观测变量 最优估计输出
控制输入 系统 卡尔曼 滤波器 系统状态 测量装置 测量误差量
图1 为卡尔曼滤波器的功能示意图
在一个卡尔曼滤波器控制系统中,控制输入进入系统,测量装置对系统存在的误差进行测量,将测量后得到的观测变量送入卡尔曼滤波器中,经过卡尔曼滤波后得出最优的估计输出。
随着卡尔曼滤波理论的发展,一些实用卡尔曼滤波技术被纷纷提出来,如自适应滤波,次优滤波和滤波发散抑制技术等逐渐得到广泛应用。
7
3 直流伺服电机及其控制系统
3.1 直流伺服电机介绍
直流伺服电动机是指使用直流电源驱动的伺服电动机,在自动控制系统中作为执行元件,其结构与普通的小型直流电动机相同,由定子和转子构成,定子主要由机座,主磁极,换向极和电刷等等组成。转子由铁心,电枢绕组,换向极,风扇,转轴,等等组成。定子和转子连接着两个端盖,两个端盖分别固定在定子机座的两端,主要用来保护定子和转子。直流伺服电动机的励磁方式大多数采用他励式,但由于直流伺服电动机的功率不是很大,所以也可以用永久磁铁代替励磁绕组,直流伺服电动机在传统上可以分为电磁式和永磁式两种。
作为控制电机,直流伺服电动机具有服从控制信号的要求而动作的特性,在信号到来前,直流伺服电动机的转子静止不动;当控制信号一来,直流伺服电动机的转子立即转动了起来;当控制信号消失时,直流伺服电动机的转子能够即时自行停转。伺服电动机的运行惯量小,使其时间常数也小,所以响应速度较快。
3.2 直流伺服电机工作原理
直流伺服电动机的工作原理和普通的直流电动机相同,其控制方式有以下两种;励磁控制和电枢电压控制,直流伺服电动机的励磁绕组和电枢绕组分别装在定子和转子上,当直流伺服电动机工作时,可以由电枢绕组励磁,用励磁绕组来进行控制,称为励磁控制;或者用励磁绕组来励磁,用电枢绕组来进行控制,称为电枢电压控制。由于直流伺服电动机的两种控制方式的特性有些不同,我们通常应用电枢电压控制方式对直流电动机进行控制。
直流伺服电动机用励磁绕组进行励磁,就是用励磁绕组接到恒定电压Uf的直流电源上,励磁磁通?是由绕组中通过的直流电流If产生的,直流伺服电动机的电枢绕组接在控制电压Ua上,作为直流伺服电动机的控制绕组。当直流伺服电动机的控制绕组接到控制电压Ua上之后,直流伺服电动机开始转动;当直流伺服电动机控制电压一消失,伺服电动机就会立刻停止转动,不会出现自转现象。当用电枢控制时,直流伺服电动机的机械特性是线性的,与他励直流电动机改变电枢电压时的人为机械特性极为相似。直流伺服电动机用励磁绕组励磁时,其功率的消耗比较小,电枢回路的电感也比较小,所以它的控制时间常数也较小,其电动机的控制响应较为迅速。这些特性对于将直流伺服电动机作为执行元件来说是非常有利。
3.3 直流伺服电机的数学模型
在自动控制系统中,电力拖动控制用的直流伺服电动机的性能指标着重在特性的精
8
度和灵敏度,运行的可靠性等等。我们通常用电枢电压作为直流伺服电动机的输入量,输出量为电动机的转速。在不计电枢反应,电机补偿性能良好,不受涡流效应的影响,而且励磁绕组的励磁电流恒定,由KVL定律就可以得出直流伺服电动机的电枢回路的电压平衡方程:
Ud?LddIddt?IdRd?Cen
(3.1)
在公式中,Ud为电枢回路的电压,Rd为电枢回路的电阻,Id为电枢回路的电流,Ld为电枢回路的电感;Ce为反电动势的常数;电动机的角速度为n。
我们在电动机运行的过程中,忽略刚性摩擦,由刚性的转动定律,电动机运轴上的转矩平衡方程为:
M?Mf?Jdndt (3.2)
在公式中,M为直流伺服电动机的电动机运轴的电磁力矩,Mf为直流伺服电动机的负载力矩;直流伺服电动机的转动惯量为J。当磁通?不改变时,电磁力矩M?CmId,负载力矩Mf?CmIf,Cm为直流伺服电动机的转矩常数,经过整理后,得出直流伺服电动机的微分方程:
1CeUd?TdTmdndt22?Tmdndt?n (3.3)
在公式中,Td为电磁时间常数,Tm为机电时间常数。
直流伺服电动机在零初始条件下,对公式(3.1),(3.2),(3.3)分别进行拉普拉斯变换,得出:
电机电流传递函数:
Id(s)Ud(s)?Cen(s)?1/RdTds?1 (3.4)
电机转矩传递函数: 得出电机传递函数: WD(s)?
9
n(s)Id(s)?If(s)?Rd/CeTms (3.5)
1/CeTmTds?Tms?12 (3.6)