论文标题: 设计PID ,离散化,模糊化控制器PID 控制器设计一 PID 控制的基本原理和常用形式及数学模型具有比例-积分-微分控制规律的控制器,称PID 控制器。
这种组合具有三种基本规律各自的特点,其运动方程为:dt t de dt t e t e t m K K K K K dp ti p p )()()()(0++=⎰相应的传递函数为:⎪⎪⎭⎫ ⎝⎛++=S S s K K K d i p c 1)(D S S S K K K d ip 12++∙=二 数字控制器的连续化设计步骤假想的连续控制系统的框图1 设计假想的连续控制器D(s)由于人们对连续系统的设计方法比较熟悉,对由上图的假想连续控制系统进行设计,如利用连续系统的频率的特性法,根轨迹法等设计出假想的连续控制器D(S)。
2 选择采样周期T香农采样定理给出了从采样信号到恢复连续信号的最低采样频率。
在计算机控制系统中,完成信号恢复功能一般有零阶保持器H(s)来实现。
零阶保持器的传递函数为3将D(S)离散化为D(Z)将连续控制器D(S)离散化为数字控制器D(Z)的方法很多,如双线性变换法,后向差分法,前向差分法,冲击响应不变法,零极点匹配法,零阶保持法。
双线性变换法然后D(S)就可以转化离散的D(Z)三Matlab仿真实验直接试探法求PID根据这个框图,求出该传递函数的P=0.35 I=0 D=0根据⎪⎪⎭⎫ ⎝⎛++=S S s K K K d i p c 1)(D D (Z )=0.35 T=0.01数字连续话PID 控制器设计MA TLAB 仿真框图实验结果 没有经过调节的结果为结果分析一阶阶跃信号的幅值选择为5经过数字连续化PID控制器后,对比图形发现,结果变得非常稳定,没有发现超调量,而没有经过PID控制的图形发生了超调变化达到稳定的时间变得更长。
二离散化控制器的设计离散系统设计是指在给定系统性能指标的条件下,设计出控制器的控制规律和相应的数字控制算法。
其实,设计离散系统(即计算机控制系统),主要就是设计数字控制器。
离散化设计方法(直接数字设计法):该方法将被控对象和保持器组成的连续部分离散化,求出系统的脉冲传递函数,然后直接应用离散控制理论的一套方法进行分析和综合,设计出满足控制指标的数字控制器。
一数字控制器的离散化设计步骤数字控制器的连续化设计是把计算机控制系统近似看作连续系统,所用的数学工具是微分方程和拉氏变换;而离散化设计是把计算机控制系统近似看作离散系统,所用的数学工具是差分方程和Z变换,完全采用离散控制系统理论进行分析,直接设计数字控制器。
计算机采样控制系统基本结构如图1所示。
D(z) H(s) G0(s)R(s) R(z)C(z)c(s)G(z)φ(z)E(z)计算机采样控制系统基本结构图图中G0(s)是被控对象的传递函数,H(s)是零阶保持器的传递函数,G(z)是广义被控对象的脉冲传递函数,D(z)是数字控制器的脉冲传递函数, R(z)是系统的给定输入,C(z)是闭环系统的输出,φ(z)是闭环系统的脉冲传递函数。
零阶保持器的传递函数为:s e s H Ts--=1)( (5-1) 广义被控对象的脉冲传递函数为:[])()()(0s G s H Z z G = (5-2)由图可以求出开环系统的脉冲传递函数为:)()()()()(z G z D z E z C z W ==(5-3)闭环系统的脉冲传递函数为:()()()()()1()()C z D z G z z R z D z G z Φ==+ (5-4)误差的脉冲传递函数为:()1()()1()()e E z z R z D z G z Φ==+ (5-5)显然)(1)(z z e Φ-=Φ (5-6)由式(5-4)可以求出数字控制器的脉冲传递函数为:)](1)[()()(z z G z z D Φ-Φ=由PID 控制器可知 H (S )为零阶保持器 G (S )为传递函数 D (Z )为脉冲函数二 自动控制系统中,有三种典型的输入形式(1)单位阶跃输入:111)(1)()(1)(--===z z R s s R t t r ,, (2)单位速度输入(单位斜坡输入):2112)1()(1)()(---===z Tz z R s s R t t r ,,(T 为采样周期)(3)单位加速度输入:3111232)1(2)1()(1)(21)(----+===z z z T z R s s R t t r ,,三 MATLAB 仿真调试框图采样周期我设置的为T=0.1 实验仿真结果及分析与未经过控制器调节的图形相比,上升时间变短了,达到稳定的时间也变短了,超调变得少了,总的来说比没有控制器调节要好的多。
黄色的线为采样曲线。
但是没有数字PID控制器调节的结果那么好,因为在数字PID调节中,我的PID的值是经过是探法调出来的。
三模糊化控制器的设计1 模糊控制器简介模糊控制器是一种以模糊集合论,模糊语言变量以及模糊推理为数学基础的新型计算机控制方法。
显然,模糊控制的基础是模糊数学,模糊控制的实现手段是计算机。
本章着重介绍模糊控制的基本思想,模糊控制的基本原理,模糊控制器的基本设计原理和模糊控制系统的性能分析。
2 模糊控制器的研究对象模糊控制器作为智能控制的一种类型,是控制理论发展的高级阶段产物,主要用来解决那些传统方法难以解决的复杂系统的控制问题。
具体地说,其研究对象具备以下一些智能控制对象的特点:1)模型不确定性传统的控制是基于模型的控制,这里的模型包括控制对象和干扰模型。
对于传统控制通常认为模型已知或者经过辨识可以得到,而模糊控制的对象通常存在严重的不确定性。
这里所说的模型不确定性包括两层意思:意思模型未知或知之甚少;二是模型的结构和参数可能在很大范围内变化。
无论那种情况,传统方法都难以对它们进行控制,而这正是模糊控制所要解决的问题。
2)非线性在传统的控制理论中,线性系统理论比较成熟。
对于具有非线性特写的控制对象,虽然也有一些非线性控制的方法,但总的来说,非线性控制理论还很不成熟,而且方法也比较复杂。
采用模糊控制的方法往往可以较好地解决非线性系统的控制问题。
3)复杂的任务要求在传统的控制系统中,控制的任务或者是要求输出量为定值(调节系统),或者要求输出量跟随期望的运动轨迹(跟踪系统),要求比较单一。
对于模糊控制系统,染污的要求往往比较复杂。
例如,在智能机器人系统中,它要求系统对一个复杂的任务具有自行规划和决策的能力,有自动躲避障碍并且运动到期望目标位置的能力。
3 模糊控制器的结构模糊控制器主要有四大部件,如图1所示:1)规则库:由if-then语句构成,是控制思想经验的总结。
2)推理器:由于当前的输入,运用规则库进行推理,求取相应的对策。
3)模糊化:因模糊推理是在语言值(模糊集合)集上进行的,因此输入也应是语言值(如NB,NM,NS,Z,PS,PM,PB)。
而实际被控制对象的测量值是实数值。
因此,需要把实数值变成语言值,这个过程就是模糊化。
4)模糊判决:推理机的推理结果是一个语言值,而执行器需要的是一个具体的数值,这就需要把语言值变成确定值,这个转换过程就称为模糊判决。
、4 确定变量和隶属度函数假设系统输入为r = 1. 0 ,可取系统输出误差e和误差变化ec作为模糊控制器的输入,模糊控制器的输出u作为被控对象的控制输入。
则可根据系统输出的误差和误差变化设计出模糊控制器fz,并根据一系列的模糊推理过程推导出最终的输出控制量u。
其中误差e,误差变化量ec以及输出u所对应的模糊语言变量分别为E、EC和U。
表示如下:E={-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6}EC={-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6}U={-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6}每个语言变量都取5个语言值:“正大( PB)”、“正小( PS)”、“零(ZR)”、“负小(NS)”、“负大(NB)”。
4 实现模糊控制器的设计%模糊控制器设计%建立FISa=newfis('fuzzy');f1=1;%设置误差e与隶属度函数a=addvar(a,'input','e',[-6 6]);a=addmf(a,'input',1,'NB','trapmf',[-6 -6 -5 -3]);a=addmf(a,'input',1,'NS','trapmf',[-5 -3 -2 0]);a=addmf(a,'input',1,'ZR','trimf',[-2 0 2]);a=addmf(a,'input',1,'PS','trapmf',[0 2 3 5]);a=addmf(a,'input',1,'PB','trapmf',[3 5 6 6]);f2=1;%设置误差变化率ec与隶属度函数a=addvar(a,'input','ec',[-6 6]);a=addmf(a,'input',2,'NB','trapmf',[-6 -6 -5 -3]); a=addmf(a,'input',2,'NS','trapmf',[-5 -3 -2 0]);a=addmf(a,'input',2,'ZR','trimf',[-2 0 2]);a=addmf(a,'input',2,'PS','trapmf',[0 2 3 5]);a=addmf(a,'input',2,'PB','trapmf',[3 5 6 6]);f3=1.5;%设置控制量u与隶属度函数a=addvar(a,'output','u',[-3 3]);a=addmf(a,'output',1,'NB','trapmf',[-3 -3 -2 -1]); a=addmf(a,'output',1,'NS','trimf',[-2 -1 0]);a=addmf(a,'output',1,'ZR','trimf',[-1 0 1]);a=addmf(a,'output',1,'PS','trimf',[0 1 2]);a=addmf(a,'output',1,'PB','trapmf',[1 2 3 3]);%建立控制规则表rulelist=[1 1 5 1 1;1 2 5 1 1;1 3 4 1 1;1 4 4 1 1;1 5 3 1 1;2 1 5 1 1;2 2 4 1 1;2 3 4 1 1;2 43 1 1;2 53 1 1;3 14 1 1;3 24 1 1;3 3 3 1 1;3 4 3 1 1;3 5 2 1 1;4 1 4 1 1;4 2 3 1 1;4 3 3 1 1;4 4 2 1 1;4 5 2 1 1;5 1 3 1 1;5 2 3 1 1;5 3 2 1 1;5 4 2 1 1;5 5 1 1 1;];a=addrule(a,rulelist);a1=setfis(a,'DefuzzMethod','mom');%设置去模糊化方法writefis(a1,'fuzzf');a2=readfis('fuzzf');Ulist=zeros(7,7);for i=1:7for j=1:7e(i)=-4+i;ec(j)=-4+j;Ulist(i,j)=evalfis([e(i),ec(j)],a2);endend%绘制FIS系统图形figure(1);plotfis(a2);figure(2);plotmf(a,'input',1);figure(3);plotmf(a,'input',2);figure(4);plotmf(a,'output',1);5 利用图形用户界面(GUI)建立模糊推理器(FIS)在利用Simulink图形化工具平台设计模糊控制系统模型并进行系统仿真之前,同样要先建立相应的模糊推理器,这可以通过图形用户界面(GUI)来建立。