基于kalman滤波的直流伺服电机模糊PID位置控制仿真研究

更新时间:2024-04-29 21:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

广西科技大学(筹) 毕业设计(论文)说明书

课题名称: 基于kalman滤波的直流伺服电机

模糊PID位置控制仿真研究

院 别: 电气与信息工程学院 专 业: 自动化 班 级: 081 学 号: 200800301040 姓 名: 林剑强 指导教师: 高远

2012年 5月 28日

摘 要

直流伺服系统的作用是使输出的机械位移可以准确的跟随着输入的位移。目前控制方法有PWM控制、PID控制方法等等。传统PID控制具有稳定性好、结构简单、可靠性高等优点。对于可建立精确数学模型的确定性系统特别适用。但由于它适应性较差,对于非线性和时变系统容易出现整定不良,超调量较大等现象,很难取得理想的控制效果。模糊PID控制器可以根据输入误差e和误差变化率ec对PID控制器参数进行实时自动调整,超调量小,响应速度较快,具有良好的动态和静态特性。但由于控制对象所处环境往往存在大量的干扰和噪声,导致系统误差较大和不稳定。

为了提高伺服系统的控制性能,针对系统中存在的非线性和结构参数变化范围大的特点,提出了一种基于kalman滤波的参数自整定模糊PID控制器。该控制器将传统的PID控制算法和模糊控制算法相结合,通过对位置误差及位置误差变化的模糊运算,实现对PID参数的在线调节,为了减弱测量噪声和过程噪声对控制的影响,研究并采用Kalman滤波对噪声信号进行滤波处理,以提高控制精度。为验证所提控制方法的有效性,研究采用Matlab仿真。仿真结果表明,与无Kalman滤波的控制情况相比,具有滤波功能的模糊PID控制方法具有更好的动态和稳态性能,能较好提高伺服系统的控制效果和抗干扰能力,减小干扰对系统的影响。

关键词:直流伺服系统;Kalman滤波;参数自整定;模糊 PID控制器;仿真

1

Abstract

The role of DC servo system is the mechanical displacement of the output displacement can accurately follow the input .The control method of PWM control,PID control method. Traditional PID control with good stability simplestructure,high reliability,Deterministic system can establish a precise mathematical model is particularly applicable.However,because of its adaptability poor,for the nonlinear and time- varying system is prone to setting bad overshoot phenomenon it is difficult to achieve the desired control effect. Fuzzy PID controller PID controller parameters in real time and automatically adjust the input error e and error change rate, small overshoot and fast response good dynamic and static characteristics. But there are a lot of interference and noise control object in which the environment often lead to system errors and instability.

In order to improve the control performance of the servo system,the system nonlinearity and structural parameters change a large range of features,based on kalman filtering parameters self-tuning fuzzy PID controller.The controller will be the combination of the traditional PID control algorithm and fuzzy control algorithm,the fuzzy operation on the change of position error and position error,the online adjustment of the PID parameters,in order to weaken the influence of measurement noise and process noise control and Kalman filtering the noise signal to be filtered to improve control accuracy. In order to verify the validity of the proposed control method, using the Matlab simulation. Simulation results show that compared with control without Kalman filtering, the filtering function of the fuzzy PID control method has better dynamic and steady state performance can better improve the control effect and anti-jamming capability of the servo system to reduce interference on systems.

Keywords: DC servo system; Kalman filtering; Parameter self-tuning; Fuzzy PID controller; Simulation.

2

目 录

1 绪 论 .................................................................................................................................... 4

1.1 课题研究的目的与意义 .............................................................................................. 4 1.2 国内外发展现状 .......................................................................................................... 4 2 卡尔曼滤波器的原理与应用 .............................................................................................. 5

2.1 卡尔曼滤波器的基本原理 .......................................................................................... 5 2.2 卡尔曼滤波器的基本算法 .......................................................................................... 5 2.3 卡尔曼滤波器的功能示意图 ...................................................................................... 7 3 直流伺服电机及其控制系统 .............................................................................................. 8

3.1 直流伺服电机介绍 ...................................................................................................... 8 3.2 直流伺服电机工作原理 .............................................................................................. 8 3.3 直流伺服电机的数学模型 .......................................................................................... 8 4 基于卡尔曼滤波的伺服电机模糊PID控制研究 ........................................................... 10

4.1 参数自整定模糊PID控制器的结构设计 ............................................................... 10

4.1.1 模糊语言变量和隶属度函数的确定 .............................................................. 10 4.1.2 模糊规则的确定 ...............................................................................................11 4.1.3 模糊推理、解模糊及算法实现 ...................................................................... 12 4.2 模糊PID控制器的整定方法 ................................................................................... 14 4.3 卡尔曼滤波器设计 .................................................................................................... 17 4.4 基于卡尔曼滤波的伺服电机模糊PID控制仿真 ................................................... 19 结论与展望 .............................................................................................................................. 21 致谢 .......................................................................................................................................... 22 参考文献 .................................................................................................................................. 23 附录 .......................................................................................................................................... 24

3

1 绪 论

1.1 课题研究的目的与意义

为了提高伺服系统的控制性能,针对系统中存在的非线性和结构参数变化范围大的

特点,提出了一种基于kalman滤波的参数自整定模糊PID控制器。该控制器将传统的PID控制算法和模糊控制算法相结合,通过对位置误差及位置误差变化的模糊运算,实现对PID参数的在线调节,为了减弱测量噪声和过程噪声对控制的影响,研究并采用Kalman滤波对噪声信号进行滤波处理,以提高控制精度。为验证所提控制方法的有效性,研究采用Matlab仿真。仿真结果表明,与无Kalman滤波的控制情况相比,具有滤波功能的模糊PID控制方法具有更好的动态和稳态性能,能较好提高伺服系统的控制效果和抗干扰能力,减小干扰对系统的影响。

1.2 国内外发展现状

目前,结合卡尔曼滤波发展模糊PID控制技术,实现其在控制领域的突破,已经成为国内外研究人员所关心的课题,推动模糊PID技术在直流伺服电机产业的战略发展,在国际上已经形成了潮流。近年来,PID控制技术,智能PID控制器等已经很多,PID控制产品已在实际工程中得到了广泛的应用,在电机控制应用上更是占到了重要地位。应用卡尔曼滤波结合模糊PID控制技术在直流伺服电机上已经得到了可能,国内外研究人员正大力开发卡尔曼滤波技术,使卡尔曼滤波技术在电机控制领域中能够得到更加广泛的应用。

在国外,卡尔曼滤波技术实现了很多应用价值,1989年,美国Texas公司推出了用17个卡尔曼滤波组成的位置控制系统,著名的美国“阿波罗”飞船登月工程中,成功的解决了飞船在飞行过程中的轨道估计问题,这是卡尔曼滤波器理论在高科技领域取得的一个重大的成功。到今天为止,它已经成为了控制,位置信号处理与通信等控制领域最基本也最重要的计算方法和工具之一,并且已经成功的应用到机电控制,工业控制,数控技术等工业领域中。

在国内,卡尔曼滤波技术在控制工程应用中已经较为成熟,就目前而言,更多的直流伺服电机控制技术应用到了卡尔曼滤波技术,提高了电机的控制性能,随着工业技术的不断发展,电机拖动的发展,卡尔曼滤波技术越来越多的应用到工业控制领域中。

4

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)

4 基于卡尔曼滤波的伺服电机模糊PID控制研究

4.1 参数自整定模糊PID控制器的结构设计

常规PID控制器是将偏差e的比例( P ) 、积分( I )与微分( D)线性组合,使它们构成控制量,控制其被控对象,它的增量式离散PID控制规律为 : u(k)?u(k?1)?Kp[e(k)?e(k?1)]?KiTsame(k)?KdTsam[e(k)?2e(k?1)?e(k?2)] (4.1)

公式中控制器比例系数为Kp;控制器的微分系数为Kd;控制器的积分系数为Ki,Tsam是为采样的周期[12-2]。

参数自整定模糊 PID控制器结构如下图2所示,用偏差e和偏差变化率ec作为输入,对PID参数 Kp、Ki和Kd采用模糊推理方法在线进行整定,在常规PID控制器的控制基础上,不同e和ec对控制器参数的要求不同,被控对象在控制过程中有了良好的动、静态性能[1-2.1]。

图2 参数自整定模糊 PID控制器结构图

4.1.1 模糊语言变量和隶属度函数的确定

选择输入量为偏差e和偏差变化率ec,输出量为PID控制参数的变化量△Kp、△Ki和△Kd 。

10

偏差变化率ec、输入量偏差e和输出量△Kp、△Ki、△Kd的变化范围为模糊集上的论域:{-6 ,-5,-4 ,-3 ,-2 ,-1 ,0 ,1 ,2 ,3 ,4 ,5 ,6 },它的模糊子集是{N M ,N B,N S ,Z O,P S ,P B, P M }子集中的元素,它们分别代表是负中、负大、 负小、零、正小、正大、正中。隶属度函数曲线形状有许多种,如三角形、梯形、钟形等,考虑到对论域的覆盖程度与灵敏度以及稳定性与鲁棒性原则[3-2],各模糊子集采用的三角形隶属度函数如下图3所示。

图3 隶属度函数

4.1.2 模糊规则的确定

模糊控制器的核心为模糊规则,我们根据其常规的PID控制器参数的自整定规律,建立了△Kp、△Ki、△Kd的模糊规则[1-2.2],如下图4所示。

11

图4 模糊规则图

4.1.3 模糊推理、解模糊及算法实现

根据模糊规则,对所有输入的语言变量(偏差、偏差变化率)量化后的各种组合通过模糊逻辑推理方法离线计算得出每一个状态的模糊控制器输出,最终生成模糊控制表格,其中模糊推理机采用Mamdani型推理系统,解模糊器则采用重心法。在求得控制表以后,将控制表存储在计算机之中,并且编制了一个查找控制表的子程序,实际控制过程中通过查表,代入公式中计算即可得到整定后的 Kp、Ki 和 Kd值:

kp?k'p?{ei,eci}?qp (4.2) ki?k'i?{ei,eci}?qi (4.3) kd?k'd?{ei,eci}?qd (4.4) 式中 k'p、k'i和k'd为前一次的PID控制参数;{ei,eci}为偏差e与偏差变化率ec对应于控制表中的值;qp、qi和qd都为修正系数。

Kp的作用是为了加快系统的响应速度,提高系统的调节精度。当Kp越大时,系统

的响应速度就越快,系统的调节精度就越高,但系统也容易产生超调,甚至导致系统不稳定。相反,当Kp越小时,系统的调节精度降低使系统响应速度会减慢,从而导致调节时间变长,系统的静态与动态性能就会降低。Kp的模糊控制规则如下表1所示。

12

表1 Kp的模糊控制规则表

kp模 EC的模糊量 NB NB PB PB PM PM PS NS Z NM PB PB PM PM PS Z Z NS PM PM PM PS Z NS NM Z PS PS PS Z NS NM NM PS PS PS Z NS NS NM NM PM Z Z NS NM NM NM PB NB PB Z NS NS NM NM NB NB 糊量 E 的 模 糊 量 NM NS Z PS PM PB

消除系统的稳态误差是Ki。当Ki越大时,消除系统的稳态误差就越快, Ki越大,初期响应的系统就很容易产生积分饱和现象,就会让系统产生较大的超调。当Ki越小时,将会使系统静态误差很难得到消除,系统调节精度也将会受到影响。Ki的模糊控制规则如下表2所示;

表2 Ki的模糊控制规则表

Ki模 EC的模糊量 NB NB NB NB NB NM NM Z Z NM NB NB NM NM NS Z Z NS NM NM NM NS Z PS PS Z NM NM NS Z PS PS PM PS NS NS Z PS PS PM PM PM Z Z PS PM PM PB PB PB Z Z PS PM PB PB PB 糊量 E 的 模 糊 量 NM NS Z PS PM PB Kd的作用主要是改善系统的动态性能,偏差在响应过程中提前的抑制偏差向任何

方向变化,对偏差变化进行了提前预报,降低系统的超调,增加系统的稳定性。但当Kd过大时,将会使系统响应过程提前制动,调节时间也要延长,并且降低系统的抗干扰性能。Kd的模糊控制规则如下表3所示;

13

表3 Kd的模糊控制规则表

Ki模 EC的模糊量 NB NB PS PS Z Z Z PB PB NM NS NS NS NS Z NS PM NS NB NB NM NS Z PS PM Z NB NM NM NS Z PS PM PS NS NS Z PS Z PM PM PM NM NS NS NS Z PS PS PB PS NS Z Z Z PB PB 糊量 E 的 模 糊 量 NM NS Z PS PM PB

PID控制器与模糊控制器相互结合起来,在运行中不断检测系统误差e和误差变化率ec,然后通过确定的模糊算法,得到合适的Kp、Ki、Kd参数,然后输出到PID控制器,从而控制了系统运行。

4.2 模糊PID控制器的整定方法

模糊PID控制器的整定方法有很多种,根据控制要求的不同选择不同整定方法,

下面我主要介绍常用的两种PID整定方法,就是简易工程法和凑试法。

在连续控制系统中,模糊PID控制器的参数整定方法较多,但简单易行的方法还是简易工程法。这种方法最大的优点在于,整定参数时不必依赖被控对象的数学模型。一般情况下,难于准确得到数学模型,简易工程整定法是由经典的频率法简化而来的,虽然优点粗糙,但是简单易行,适于现场应用。 1.扩充临界比例度法

扩充临界比例度法是对模糊控制器中使用的临界比例度法的扩充,下面叙述用来整定PID控制器参数的步骤。

(1) 首先,选择一个足够短的采样周期。具体地说就是选择采样周期为被控对象纯滞后时间的十分之一以下。采样周期既不能太大也不能太小,采样周期太小时,一方面增加了微型计算机的负担,不利于发挥计算机的功能;另一方面,两次采样间的偏差变化太小,PID控制器的输出值变化不大。

(2) 用选定的采样周期系统工作。这时,模糊控制器去掉积分作用和微分作用,只保留比例作用。然后逐渐减小比例度?(??1/kp),直到系统发生持续等幅振荡。记下使系统发生振荡的临界比例度?k及系统的临界振荡周期Tk。

(3) 选择控制度。所谓控制度就是以模糊控制器为基准,将DDC的控制效果与模

糊控制器的控制效果相比较。例如,当控制度为1.05时,就是指DDC与模糊控制器效果相当;控制度为2.0时,是指DDC比模糊控制效果差。

14

(4) 根据选定的控制度,查如下表4,求的T、kp、T1、TD的值。

表4 按扩充临界比例度法整定参数 控制度 控制规律 PI 1.05 PID PI 1.2 PID PI 1.5 PID PI 2.0 PID

0.16Tk 0.27?k 0.40Tk 0.22Tk 0.09Tk 0.22Tk 0.34?k 0.36?k 0.43Tk 1.05Tk 0.20Tk 0.043Tk 0.14Tk 0.47?k 0.42?k 0.47Tk 0.99Tk 0.16Tk 0.014Tk 0.05Tk 0.63?k 0.49?k 0.49Tk 0.91Tk 0.14Tk T kp T1 TD 0.03Tk 0.53?k 0.88Tk 2.扩充响应曲线法

在模糊控制系统中,可用响应曲线法代替临界比例度法一样,在DDC中也可以用扩充响应曲线法代替临界比例度法。用扩充响应曲线法整定T和kp、T1、TD的步骤如下;

(1) 模糊控制器不接入控制系统,让系统处于手动操作状态下,将被调量调节到给定值附近,并使之稳定下来。然后突然改变给定值,给对象一个阶跃输入信号。 (2) 用记录仪表记录被调量在阶跃输入下的整个变化过程曲线。

(3) 在曲线最大斜率处作切线,求得滞后时间?,被控对象时间常数T?以及它们的比值T?/T,查如下表5,即可得到模糊控制器的kp、T1、TD及采样周期T。

15

表5 按扩充响应曲线法的计算公式列表 控制度 控制规律 PI 1.05 PID PI 1.2 PID PI 1.5 PID PI 2.0 PID

3.归一参数整定法

0.6? 0.6T?/? 1.5? 0.82? 0.34? 0.8? 0.85T?/? 0.57T?/? 1.62? 4.2? 0.65? 0.16? 0.5? 1.0T?/? 0.68T?/? 1.9? 3.9? 0.55? 0.05? 0.2? 1.15T?/? 0.78T?/? 2.0? 3.6? 0.45? T kp T1 TD 0.1? 0.84T?/? 0.34? 除了一般的扩充临界比例度法外,有一种简化扩充临界比例度整定法。由于该方法只需整定一个参数即可,故称其为归一参数整定法。 已知增量型PID控制的公式为

??TDT??u(k)?ke(k)?e(k?1)?e(k)?e(k)?2e(k?1)?e(k?2) △? (4.5) p?TT1??若令T?0.1Tk,T?0.5Tk,TD?0.125Tk,式中Tk为纯比例作用下的临界振荡周期,则 △u(k)?kp?2.45e(k)?3.5e(k?1)?1.25e(k?2)? (4.6) 这样,整个问题便简化为只要整定一个参数kp。改变kp,观察控制效果,直到满意为止,该法为实现简易的自整定控制效果带来方便。

用凑试法整定PID参数,增大比例系数kp一般将加快系统的响应,在有静差的情况下有利于减小静差。但过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏。增大积分时间TI有利于减小超调,减小振荡,使系统更加稳定,但系统静差的消除将随之减慢。增大微分时间TD亦有利于加快系统响应,使超调量减小,稳定性增加,但系统对扰动的抑制能力减弱,对扰动有较敏感的响应。

在凑试时,可参考以上参数对控制过程的影响,对参数实行下述的先比例,后积分,再微分的整定步骤。

16

(1) 首先只整定比例部分。即将比例系数由小变大,并观察相应的系统响应,直到

得到反应快,超调小的响应曲线。如果系统没有静差或静差已小到允许范围内,并且响应曲线已属满意,那么只须要用比例控制器即可,最优比例系数可由此确定。

(2) 如果在比例调节的基础上系统的静差不能满足设计要求,则需加入积分环节。整定时首先置积分时间TI为一较大值,并将经第一步整定得到的比例系数略为缩小(如缩小为原值的0.8倍),然后减小积分时间,使在保持系统良好动态性能的情况下,静差得到消除。在此过程中,可根据响应曲线的好坏反复改变比例系数与积分时间,以期得到满意的控制过程与整定参数。

(3) 若使用比例积分控制器消除了静差,但动态过程经反复调整仍不能满意,则可加入微分环节,构成比例积分微分控制器。在整定时,可先置微分时间TD为零。在第二步整定的基础上,增大TD,同时相应地改变比例系数和积分时间,逐步凑试,以获得满意的调节效果和控制参数。

4.3 卡尔曼滤波器设计

卡尔曼滤波是一种根据时变随机信号的统计特性,用来对信号的未来值尽可能的做出接近真值的估计方法。它的优点是在于,不在要求保存过去的观测数据,当新数据被测得后,借助于系统本身的状态转移方程,就可以递推出目标数据。 针对以下离散性系统:

x(k)?Ax(k?1)?B(u(k)?w(k)) (4.7) yv(k)?Cx(k)?v(k) (4.8) 其中,w(k)为过程噪声,v(k)为测量噪声,yv(k)是为被控对象实际输出。控制方法采用基于卡尔曼结合模糊PID控制方法。

离散卡尔曼滤波器算法如下:

Mn(k)?P(k)CCP(k)CTT?R (4.9)

P(k)?AP(k?1)AT?BQBT (4.10) P(k)?(In?Mn(k)C)P(k) (4.11) x(k)?Ax(k?1)?Mn(k)(yv(k)?CAx(k?1)) (4.12) 滤波后被控对象的输出为:

yv(k)?Cx(k)

(4.13)

误差的协方差为:

17

errcov(k)?CP(k)CT (4.14) 在环境中存在大量干扰的情况下,使用模糊PID进行控制,系统在一定范围内始终是处于波动状态,将无法克服控制干扰与有效的消除测量噪声,控制效果很难达到预期的估计。但由于用卡尔曼滤波器在抑制与消除噪声方面具备有明显的优势,所以,本文设计了用卡尔曼滤波器结合模糊PID对系统进行联合控制[2]。卡尔曼结合模糊PID控制系统结构如下图5所示:

图5 卡尔曼结合模糊PID控制系统结构图

用模糊控制器根据输入输出误差与误差变化率,经过设定的模糊运算法则,实时的调整PID参数,PID控制器将发送控制量通过执行器作用于被控对象。同时卡尔曼滤波器相应的根据控制量与被控对象的特性,对控制干扰与测量噪声就会产生出滤波的作用。

取对象传递函数为: G(s)?133s(s?25) (4.15)

取采样时间为1ms,被控对象可转化为如下离散线性系统的形式:

x(k)?Ax(k?1)?B(u(k)?w(k)) (4.16)

yv(k)?Cx(k)?v(k) (4.17) 其中

?1A???00.0010??0.0001?,B??0.9753??0.1314??,C??1,?0?,D??0?,w(k)为??0.5,0.5?内的白噪声

信号,v(k)为??0.2,0.2?的白噪声信号。

18

在卡尔曼滤波算法中,取Q?1,R?1。 位置输入指令为

r(k)?Asin2?(Ft) (4.18) 其中t?k?T,取k?1000,A?0.50,F?1.0。 取控制参数为c?30,??150,q?300。当M?2时,不采用卡尔曼滤波算法,当M?1时,

将采用卡尔曼滤波算法。由仿真结果可见,采用卡尔曼滤波算法后,其控制精度大大得到提高[6]。

4.4 基于卡尔曼滤波的伺服电机模糊PID控制仿真

本文利用Matlab来实现对卡尔曼滤波的伺服电机模糊PID控制仿真,仿真程序见附录,仿真结果见下图6所示:

图6 与无Kalman滤波的控制情况相比的具有卡尔曼滤波功能的模糊PID控制图

仿真结果表明,与无Kalman滤波的控制情况相比,具有卡尔曼滤波功能的模糊PID

控制方法具有更好的动态和稳态性能,能较好提高伺服系统的控制效果和抗干扰能力, 减小干扰对系统的影响。

这种控制器通过在线实时调整控制器的PID参数,而且采用了卡尔曼滤波器以后,只要合理的选用模糊PID控制器的参数,可以得到稳定的系统输出,显著的减小干扰的影响,提高了控制效果与抗干扰的能力。在实际的控制过程中,系统的控制精度不是很

19

高,使控制效果相对的减弱,但是卡尔曼滤波器与模糊PID控制器的相互结合对伺服电机系统确实具有比较好的控制能力,同时也能够提高系统的抗干扰能力,提高控制精度的作用,达到有效的控制效果。

卡尔曼滤波对于提高控制精度,对于噪声的抑制都发挥出了相当重要的作用,由于它在实际工程应用中有较强的灵活性,卡尔曼滤波的变形算法的应用将会随着算法本身的不断发展以及控制技术的不断完善而得到很大的发展。

20

结论与展望

通过对直流伺服电机系统的研究与分析,设计了基于卡尔曼滤波的参数自整定模糊PID控制器, 并进行了仿真与分析。仿真结果表明,这种控制器通过在线实时调整控制器的PID参数,而且采用了卡尔曼滤波器以后,只要合理的选用模糊PID控制器的参数,可以得到稳定的系统输出,显著的减小干扰的影响,提高了控制效果与抗干扰的能力。在实际的控制过程中,系统的控制精度不是很高,使控制效果相对的减弱,但是卡尔曼滤波器与模糊PID控制器的相互结合对伺服电机系统确实具有比较好的控制能力,同时也能够提高系统的抗干扰能力,提高控制精度的作用,达到有效的控制效果。

卡尔曼滤波在机电控制中有着优异的控制效果,我们可以通过改变它的参数或构建比较合理的滤波模型,使得卡尔曼滤波技术在某一方面或者是多个方面的达到最优异的控制工程的要求。所以,许多控制工程过程应用中,卡尔曼滤波的使用方法和本身算法是有着很多的不同,使得卡尔曼滤波在实际应用中,具备了较强的灵活性。对于卡尔曼滤波有诸多的优点,所以它在直流伺服电机系统的算法之中占据着重要的地位。

在电机控制方面,无论是伺服电机还是永磁同步电机,它们在控制精度上还有很大的可挖掘空间,尤其是在抗干扰的控制方面更是研究潜力巨大,控制系统精度不高,控制效果就会相对的减弱,如何提高其控制精度,在这方面很多研究人员也相应的做出了不泄的努力。在电机中提高控制精度与加强抗干扰的硬件造价相当贵,所以算法的作用在其间也就显得更加的重要。而卡尔曼滤波算法以其优良的性能将成为算法中的首要选择。卡尔曼滤波对于提高控制精度,对于噪声的抑制都发挥出了相当重要的作用,由于它在实际工程应用中有较强的灵活性,卡尔曼滤波的变形算法的应用将会随着算法本身的不断发展以及控制技术的不断完善而得到很大的发展。

21

致谢

经过这几个多月的努力,这篇基于kalman滤波的直流伺服电机模糊PID位置控制仿真研究的论文终于完成了,感谢我的指导老师高远教授,他严谨细致、一丝不苟的作风是我工作、学习中的榜样,导师循循善诱的教导和不拘一格的思路给予我无尽的启迪。

在整个设计过程中,开始之初,我遇到了很多的困难,但都在导师和同学们的帮助下顺利地解决了,在不断的学习过程中我体会到了,做毕业设计其实是一个不断学习和进步的过程,从最初的刚写论文时对于Kalman滤波的模糊认识到最后能够对该问题有了深刻的认识,我体会到了实践对于学习的重要性,以前只是学习理论,没有经过实践考察,对知识的理解不够明确,通过这次毕业设计,真正做到实践和理论的相互结合。

总的来说,通过了这次毕业设计,认识到了一个人要做好一件完整的事情,需要有系统的思维方式和方法,对待要解决的问题,要有耐心、坚持到底,要善于运用已有的资源来充实自己,俗话说的好“有志者,事竟成;苦心人,天不负”。

同时我也深刻的认识到,在对待一个新事物时,一定要从整体去考虑,完成一步之后再作下一步,这样才能更加有效的完成任务。这份毕业设计,也许是我大学生涯交上的最后一个作业了,想在此借次机会感谢四年以来给我许多帮助的所有老师、同学们,你们的友谊是我人生的最大财富,是我生命中不可或缺的一部分,感谢你们对我巨大帮助和支持,让我渡过了难关,谢谢你们。

22

参考文献

[1] 方勇,杨海鹏.基于Kalman滤波模糊 PID控制的直流调速系统[J] .第710研究所,

2010(4):42-51.

[2] 贾岩,熊伟丽,许文强,徐保国.卡尔曼滤波器结合模糊PID的控制系统[J] .江

南大学,2011.

[3] 董期林,周晓东,马媛,张淑梅.基于模糊自整定PID控制器的直流电机伺服系统

的仿真研究[J] .中国科学院研究生院,2009,37(2):117-119. [4] 刘金棍.智能控制[M] .2版.北京:电子工业出版社,2009.

[5] 陈伯时.电力拖动自动控制系统:运动控制系统[M] .3版.北京:机械工业出版

社,2003.

[6] 刘金棍.滑膜变结构控制MATABLE仿真[M].清华大学出版社,2005:88-93. [7] 谭菊华,王涛.基于MATLAB实现卡尔曼滤波器的设计[J] .南昌理工学院,2011(7):

119.

[8] G.P. Liu, S.Daley .Optimal-tuning PID control for industrial systems.ControlEngineering

Practice [M] .9 (2001) 1185–1194.

[9] K.K. Ahn ,D.Q. Truong . Online tuning fuzzy PID controller using robust extended Kalman filter Journal of Process Control[M]. 19 (2009) 1011–1023.

[10] weibing wang,pengbing zhao. Application of kalman Filter in the CNC Servo Control

System[M] .7(2010) 442-446.

[11] 彭丁聪.卡尔曼滤波的基本原理及应用[J].中国地质大学研究生院,2009(11). [12] 张邦成,方勇,王跃光, 王占礼,高智.离合器性能试验台卡尔曼滤波模糊PID

控制[J].长春工业大学机电工程学院,2009(7).

[13] 杨茂华.模糊PID控制的研究[J].科技创新导报,2011,(07):90-91.

[14] 曹 沛,吴 雷,赵小林,夏 楠.一种新的模糊PID控制在电机软启动中的仿真[J].江

南大学,2011,(07):203-204.

[15] 张春龙,刘国海.基于扩展kalman滤波器电机转子磁链观测器的设计[J].2005(12):

20-22.

[16] 王舒彦,师宇,冯忠绪.基于模糊PID 控制器的控制方法研究[J].机械科学与技术,

2011,30(1):166?172. [17] 刘国海,李沁雪,施维,李康吉.动态卡尔曼滤波在导航试验状态估计中的应用[J].仪

器仪表学报,2009,30(2):396-340. [18] 张超.中央空调冷冻水系统的模糊PID控制[J].机电工程技术,2009,38(8):67-69. [19] 郭晓芳,汪雄海.基于Kalman预测的远程步进电机控制系统[J].机电工程,2008,

25(7):26-28. [20] 李根成,王镛根.卡尔曼滤波在故障诊断中的应用[J].航空兵器,1995,5:23-30.

23

附录

基于卡尔曼滤波的伺服电机模糊PID控制仿真仿真程序如下;

a=25; b=133; ts=0.001; A1=[0,1;0,-a]; B1=[0;b]; C1=[1,0]; D1=0;

[A,B,C,D]=c2dm(A1,B1,C1,D1,ts,'z'); x=[-0.5;-0.5];

Q=10; %Covariances of w Rn=10; %Covariances of v P=B*Q*B'; %Initial error covariance I=1;

%Fuzzy PID Control

a=readfis('fuzzpid'); %Load fuzzpid.fis ts=0.001;

sys=tf(133,[1,25,0]);%表示被控对象

dsys=c2d(sys,ts,'z'); % c2d命令使连续时间系统采用Z变换离散化 [num,den]=tfdata(dsys,'v'); %采用Z变换使被控对象离散化 u_1=0.0;u_2=0.0;u_3=0.0; y_1=0;y_2=0;y_3=0;

rin=[0,0,0]'; %即rin(1)、rin(2)、rin(3)=0 e_1=0.0; ec_1=0.0; kp0=1.0; ki0=0.5; kd0=5.5; for k=1:1:3000

24

time(k)=k*ts; %后面用到,当k=300时,time(k)=k*ts=300*0.001=0.3s % r(k)=sin(2*pi*k*ts); %位置指令为幅值为1的正弦信号 r(k)=1.0; %位置指令为幅值为1的阶跃信号

%Using fuzzy inference to tunning PID

k_pid=evalfis([e_1,ec_1],a); %evalfis命令是进行模糊推理的计算 kp(k)=kp0+k_pid(1); ki(k)=ki0+k_pid(2); kd(k)=kd0+k_pid(3);

u(k)=kp(k)*rin(1)+kd(k)*rin(2)+ki(k)*rin(3); % PID Controller

w(k)=rands(1); %Process noise on u u(k)=u(k)+w(k);

y(k)=-den(2)*y_1-den(3)*y_2+num(1)*u(k)+num(2)*u_1+num(3)*u_2; %离散化后的被控对象 x=A*x+B*u(k);

v(k)=0.03*rands(1); %Measurement noise on y yv(k)=I*y(k)+v(k);

%%%%%%%%%%%%%%Kalmanfiltering%%%%%%%%%%%%%%%%%%%% M=1;

if M==1 %Kalman Filter G=P*C'/(C*P*C'+Rn); P=A*P+A'+B*Q*B'; P=(eye(2)-G*C)*P; x=A*x+G*(yv(k)-C*A*x); ye(k)=C*x;

elseif M==2 %No Filter ye(k)=yv(k); x(1)=ye(k); end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% e(k)=r(k)-ye(k);

25

%%%%%%%%%%%%%%Return of PID parameters%%%%%%%%%%%%%%% u_3=u_2; u_2=u_1; u_1=u(k); y_3=y_2; y_2=y_1; y_1=ye(k);

rin(1)=e(k); % Calculating P rin(2)=(e(k)-e_1)/ts; % Calculating D rin(3)=rin(3)+e(k)*ts; % Calculating I

e1(k)=r(k)-yv(k); %无Kalman的误差 e2(k)=r(k)-ye(k); %有Kalman的误差

ec_1=rin(2); %这样下次的ec_1就更新了。 %e_2=e_1; %可以没有。

e_1=e(k); %这样下次的e(k)-e_1=下次的e(k)-上次的e(k)=下次的rin(2) end figure(1); subplot(211);

plot(time,yv,'b',time,r,'k');

xlabel('time(s)');ylabel('yv无Kalman,r(k)'); subplot(212);

plot(time,ye,'r',time,r,'k');

xlabel('time(s)');ylabel('ye有Kalman,r(k)'); figure(2); subplot(211); plot(time,e1,'b');

xlabel('time(s)');ylabel('e1无Kalman的误差'); subplot(212); plot(time,e2,'r');

xlabel('time(s)');ylabel('e2有Kalman的误差');

26

本文来源:https://www.bwwdw.com/article/olkg.html

Top