智能控制之专家系统的设计.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能控制之专家系统的设计

题目 题目一、需要对专家控制规则做出明确的设计、编写控制器程序并作解释。 已知典型二阶系统的单位阶跃响应输出曲线和误差曲线如图1所示。假设某二阶系统的的传递函数为,对象采样时间为1ms,试设计一个专家PID控制器,根据其响应误差制定专家控制规则,以改善响应特性,并进行Matlab仿真。 专家PID控制过程分析 专家控制的实质是基于受控对象和控制规律的各种知识,并以智能的方式利用这些知识来设计控制器。利用专家经验来设计PID参数便构成了专家PID控制。 (1)首先通过传递函数离散取样,采样时间间隔为1ms。 (2)然后取PID初始值:kp=0.6; ki=0.03; kd=0.01; (3)二阶系统阶跃过程分析如下,取阶跃信号rin(k)=1 令e(k)表示离散化的当前采样时刻的误差值,e(k-1)、e(k-2)、分别表示前一个和前两个采样时刻的误差值,则有 根据误差及其变化,对二阶系统单位阶跃响应误差曲线做如下定性分析: 首先定义如下参数: 误差界限,;其中可取0.8,0.6,0.4,三值,M2=0.1 增益抑制系数,;=0.5 增益放大系数,;=2 第k次和第k-1次控制器输出; =0.001—————任意小正实数。 Ⅰ.时,说明误差的绝对值已经很大。不论误差变化趋势如何,都应考虑控制器按定值0.7输出。以达到迅速调整误差,使得误差绝对值以最大速度减小,同时避免超调。此时,它相当于开环控制。同理,当,定值输出0.5;当,定值输出0.2。 Ⅱ.当,说明误差很大,并且在朝着误差绝对值增大方向变化,这时可以考虑由控制器实施较强的控制作用,使得误差绝对值朝减小方向变化,迅速减小误差的绝对值,控制器的输出为 当,说明误差一般大,并且在朝着误差绝对值增大的方向变化,这时可以考虑实施一般的控制作用,扭转误差变化的趋势,使其朝误差绝对值减小的方向变化,控制器的输出为 Ⅲ.当时,即,说明误差向着绝对值减小的方向变化或者已经达到平衡状态。此时可以考虑保持控制器输出不变。 u(k)= Kp*e(k)+Kd*(e(k)-e(k-1))/ts+Ki*(e(k)+e(k)*ts)。 Ⅳ.当时,即且 ,说明误差处于极值状态并且误差绝对值较大,可以考虑实施较强的控制作用,即 当时,说明误差处于极值状态并且误差绝对值较小,可以考虑实施较弱的控制作用,即 Ⅴ.当(精度)时,说明误差绝对值很小,此时加入积分环节,减小稳态误差。此时控制器输出为:u(k)=kp*e(k) +ki*(e(k)+e(k)*ts)。 综上所述,(0,t1),(t2,t3),(t4,t5)这几个区域,误差朝绝对值减小的方向变化,此时可以采取等待措施,相当于实施开环控制;(t1,t2),(t3,t4)这几个区域,误差朝着绝对值增大的方向变化,根据误差的大小分别实施较强或者一般的控制作用,以抑制动态误差。、 (4)最后写出线性模型及当前采样时刻的误差值: (5)循环以上(3)—(4)步,循环次数为1000次。 (6)画出专家PID控制阶跃响应曲线图(a)和误差响应曲线(b)。 专家PID控制系统阶跃响应曲线图(a) 误差响应曲线(b) (7)程序部分 %Expert PID Controller clear all close all ts=0.001; %采样周期 sys=tf(133,[1,25,0]); %tf表示给出分子和分母系数生成一个传递函数sys dsys=c2d(sys,ts,z); %将连续形式sys转化为离散形式dsys,采样周期为1ms,z表示零阶保持器 [num,den]=tfdata(dsys,v); %num表示分子,den表示分母,tfdata表示取离散形式dsys的分子分母,v表示取出的数据保存为行向量的形式 u_1=0;u_2=0; y_1=0;y_2=0; x=[0,0,0]; %x(1) x(2) x(3)分别对应PID中比例、微分、积分项 x2_1=0; kp=1.64; ki=0.03; kd=0.01; k1=2; k2=0.5; error_1=0; for k=1:1:1000 time(k)=k*ts; r(k)=1; %单位阶跃输入 u(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller %Expert control rule if abs(x(1))0.8

文档评论(0)

xingkongwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档