




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单纯形法的pid控制器参数优化设计12级双控4班 李乔娜 1201145摘要:pid参数整定与优化一直是自动控制领域研究的重要问题。采取线性规划中面向多变量寻优的单纯形法对pid参数进行寻优,根据对系统性能的要求给出目标函数,并给出了详细的寻优步骤,以实现pid控制器的最优设计。matlab环境下的仿真结果表明,寻优后的系统具有良好的稳态和动态性能。 关键字:pid;单纯形法;matlab;目标函数 design of optimal parameters for pid controller based on simplex searchabstract: pid parameter t
2、uning and optimizing is an important issue in the field of automatic control. the simplex method, which is usually applied to optimize multiple variables in linear programming, was adopted to optimize pid parameters. an objective function of optimization was presented based on the ask of systems per
3、formance index. in order to optimize the design of discrete controller,optimization steps were also described in detail. with the tool of matlab, simulation results indicated that the system optimized by this method has good static and dynamic characteristics.keywords: pid; simplex search; matlab; o
4、bject function 引言 pid控制器具有结构简单、鲁棒性好、可靠性高等优点,并且人们对于其原理和物理意义等都比较熟悉,已经建立了比较完善的理论体系,因而被广泛应用于工业控制中。在设计具有pid结构的控制系统时,pid控制参数的整定是其核心内容,它是系统精确稳定控制的关键。常用的参数整定方法有ziegler-nichols频域整定法、临界比度法、衰减曲线法等,但这些方法只是对pid控制参数的一种建议,并不能使控制系统各项性能指标达到最优,因此需要近一步进行参数寻优。 目前,pid参数的优化方法有很多,如最速下降法、共轭梯度法的单纯形法等。最速下降法和共轭梯度法都以目标函数的梯度作为确
5、定搜索方向的依据,故在寻优过程中需要不断地计算梯度值。因此,这两种方法计算量大,而且较复杂。为了避免计算梯度,产生了许多只计算目标函数的寻优方法,即模式寻优法。所谓模式寻优法,就是直接依据目标函数的信息来确定寻优方向的方法。而其中单纯形法的理论比较成熟,所以本文采用此方法。1 最优pid控制器设计1.1 算法 单纯形法利用单纯性的顶点计算目标函数值,按一定规则进行探索性搜索,并对搜索区间的单纯形顶点的函数值进行比较,判断目标函数的变化趋势,确定有利的搜索方向的步长。在n维空间中的单纯形是一种多胞形,它具有n+1个不在同一超平面的顶点。若各个棱长彼此相等,则称为正规单纯形。设 是某一单纯形的个顶
6、点的位置向量。对于给定的点和正数,按如下公式去定的单纯形是一个以为一个顶点而棱长为的正规单纯形: 1.1.1 单纯形法的基本思想 选定一个出发点,形成初始单纯形。从这一单纯形出发,每次迭代都设法构造新的单纯形以替换原有的单纯形,使新单纯形不断向目标函数的极小点靠近,直到搜寻到极小点为止。1.1.2 算法包括的四种操作 (1)反射:设某次迭代所得到的单纯形顶点的位置向量为,计算 设,于是,和分别是单纯形的最好和最坏顶点。若把最坏顶点去掉,利用剩下的个顶点求出它的中心: 按如下公式通过反射:,称为的反射点,为反射系数。通过这种反射会有,从而得到比更好的点。 (2)延伸:通过反射,如果,那么说明沿的
7、方向还可以往前迈进一步。因此计算,称为的延伸点。如果仍有,那么就以替换,而其余个顶点不变,构成新的单纯形。 (3)收缩:如果不成立,即反射点并不比原单纯形的最好顶点好,那么分一下两种情况处理: 存在一个标号,但,使得,即除最坏点外,反射点至少比其余一个顶点好。这时用替换构成新单纯形,然后转(5)。 若对于(但)都有,则要进行收缩。收缩分两种情况处理: 第一种情况:若,即反射点比原单纯形的坏点还坏,若舍弃,对向量进行收缩,计算公式为:,其中为的收缩点,而是收缩系数。收缩后要判别一下:是否成立。若成立,舍弃收缩点,转向减小棱长计算(4),否则,以代替构成新单纯形,转(5)。 第二种情况:若不成立,
8、则对向量进行收缩,计算公式为:。收缩后判断一下,收缩点是否比反射点还坏,即下式是否成立:。若成立,舍弃收缩点,转(4);若不成立,以代替构成新的单纯形,然后转(5)。 (4)减小棱长:原单纯形的最好点保持不动,各棱长减半。计算公式是: ,。 (5)终止准则:计算,判别是否成立。1.2 pid控制系统的数学模型1.2.1 pid控制器的参数 pid控制器是一种线性控制器,它根据给定值与实际输出值的偏差构成控制偏差,将偏差的比例、积分和微分通过线性组合构成控制量,从而对被控对象进行控制。 pid参数的整定就是合理的选择pid三参数。从系统的稳定性、响应速度,超调量和稳态精度等各方面考虑问题,三参数
9、的作用如下: 1、比例参数的作用是加快系统的响应速度,提高系统的调节精度。随着的增大系统的响应速度越快,系统的调节精度越高,但是系统易产生超调,系统的稳定性变差,甚至会导致系统不稳定。取值过小,调节精度降低,响应速度变慢,调节时间加长,使系统的动静态性能变坏。 2、积分作用参数的一个最主要作用是消除系统的稳态误差。越大系统的稳态误差消除的越快,但也不能过大,否则在响应过程的初期会产生积分饱和现象。若 过小,系统的稳态误差将难以消除,影响系统的调节精度。另外在控制系统的前向通道中只要有积分环节总能做到稳态无静差。从相位的角度来看一个积分环节就有90度的相位延迟,也许会破坏系统的稳定性。 3、微分
10、作用参数的作用是改善系统的动态性能,其主要作用是在响应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预报。但不能过大,否则会使响应过程提前制动,延长调节时间,并且会降低系统的抗干扰性能。1.2.2 pid控制器的数学模型pid控制器的控制规律为: 其中:是比例系数;是积分系数;是微分系数。 在时域内的输入输出关系为: 其中,为积分时间常数;为微分时间常数;为控制量;为控制偏差。 相应的离散pid表达式为:其中:;t为采样周期;为采样序号,和分别为第和第时刻所得的偏差信号。 增量式pid表达式:1.2.3 具有pid控制器的控制系统举例图1 控制系统结构图设 对象传递函数为:, 控制器传递函
11、数为:,零阶保持器传递函数为:。为采样周期,系统输入为单位阶跃输入。1.3 设计步骤(1) 系统离散化计算机控制系统中采用的零阶保持器是非线性的,常将它与控制对象一起离散化,可以采用下式离散化零阶保持器和对象传递函数:本系统离散化后得到的传递函数为:。(2) 转化为差分方程差分方程分为两部分,分别描述了与的关系、与的关系,分别如下式所示:(3) 计算目标函数(4) 根据单纯形法寻优2 基于单纯形法的pid参数寻优2.1 确定目标函数根据对系统性能的要求给出某种形式的指标函数,采用的二次函数为:这里假设输入r(k)为阶跃函数输入,和是偏离稳态值的差值。 使用此目标函数作为系统的性能指标,一方面考
12、虑了系统输出的偏差,使系统有较好的稳态性能;另一方面也考虑了控制器输出,使不致发散,有效地避免了调节过程中容易出现的振铃现象等其他动态性能问题。2.2 寻优的具体步骤(1) 输入初始点、单纯形棱长、扩张因子、压缩因子、收敛误差和最大搜索次数。(2) 令,按2.1.2中介绍的方法构建初始单纯形。(3) 计算顶点的目标函数值,求出最好点,最坏点、次坏点。(4) 置。(5) 判断是否满足收敛准则。若满足,则输出结果,跳到(10);否则,若果,搜索失败;如果,重新确定反射点。(6) 如果,则按2.1.2介绍的方法进行单纯形扩张得点。(7) 如果,则用代替;否则,用代替,返回到(2)。(8) 如果,则单
13、纯形压缩得到点。(9) 如果,用代替,返回到(2);否则减小单纯形棱长,返回(1)。(10) 输出结果,停机。3 实验仿真3.1 寻优设计的流程图图2 软件设计流程图基于matlab的单纯形寻优程序见附录1。3.2 仿真模型的建立 建立名为pid.mdl的仿真模型,如图3所示。图3 仿真模型图 图中,scope显示控制系统阶跃响应波形,scope1显示控制器输出。仿真程序见附录2。3.3 仿真结果与分析 在matlab中运行单纯形寻优程序,运行结果如图所示:图4 程序运行结果 3.3.1 系统的单位阶跃响应 调用在matlab的simulink中搭建的系统仿真模型,由得到的这3个寻优参数,可得
14、到系统最终的单位阶跃响应,如图所示:图5 系统的单位阶跃响应 经计算,系统输出的超调量为,而且可以在很小的过渡时间内达到稳态,性能较好。3.3.2 控制器的输出 由scope1可以得出控制器输出(单位阶跃响应)波形:图6 控制器输出可以看出,当系统趋于稳定时,控制器输出趋于一个固定的值,这样就避免了振铃现象等问题,提高了系统的动态性能。3.3.3 对速度品质因数的考虑至于要达到这一要求,其实际意义可理解为:系统对于单位阶跃输入为无差跟踪,对于单位速度输入为有差跟踪。对于由本文的寻优结果形成的控制系统,其单位速度响应为:图7 系统的单位速度响应波形图可见,该系统对于单位速度输入确实为有差跟踪,所
15、以符合要求。4 结论针对pid控制参数优化正定问题,本文提出一种基于单纯形法的最优pid控制器设计方法。运行及仿真结果表明,系统超调量很小,动态过程平稳,稳态误差近乎为零,具有较好的鲁棒性和抗干扰性能。但是本设计仍然在一些方面存在缺陷,主要为:1、 鉴于工程背景的特殊性、控制算法的多样性,本设计还有待进一步的研究和改进。2、 单纯形算法本身固有的易陷入局部最小的局限性。3、 另外,由于时间关系,本文仅对单纯形法进行了研究,并没有与其他算法进行比较,这也是本文的缺陷所在。我会在以后的学习和研究尽力加以提高和完善。参考文献1 王伟,张晶涛,柴天佑. pid参数先进整定方法综述j. 自动化学报,20
16、00,26(3):347-355.2 张磊. 基于单纯形法pid控制器的最优设计j. 信息与控制,2004,33(3):376-379.3 p.cominos,n.munro. pid controller:recent tuning methods and design specificationj.ieee proc.control theory,2002,149(1):46-53.4 薛家庆. 最优化原理与方法m. 北京:冶金工业出版社 1992,132-139.5 孙增圻. 计算机控制理论及应用m. 北京:清华大学出版社 1989,28-38.6 李华. 基于mtlab环境下控制系统参
17、数的优化设计j. 电气传动自动化,20024,24(2):2930.7 陶永华,尹怡欣,葛芦生. 新型pid控制及其应用m. 北京:机械工业出版社,1988.8 陈宝林. 最优化理论与算法(第二版)m. 北京:清华大学出版社,2005.9 张薇,薛家庆. 最优化方法m. 沈阳:东北大学出版社,2004.10 薛定宇. 反馈控制系统设计与分析一matlab语言应用m. 北京:清华大学出版社,200011 胡寿松. 自动控制原理m. 国防工业出版社,1994.12 刘晓谦,王勇,穆顺勇. 基于单纯形法的pid控制器参数优化设计j. 2004,21(11).附录1:算法程序simplex.mglob
18、al k1 k2 k3 k4 k5 k6 k7 k8 k9 k10 k11 k sl xl eee error t y overshoot adjustive_time; %定义全局变量k1=2;k4=0.5;k10=1 1 1;k5=1000;k2=0.5;k3=0.001;k8=3;t=10;h=k4; %将寻优步长附给hm=k8; %将待调优参数个数(调节器维数)附给mx0=k10 %将调优参数的初始值赋附给x0kmax=k5; %将最大寻优步数附给kmaxya=k2; %将压缩因子附给yakuo=k1; %将扩张因子附给kuoeee=k3; %将精度指标附给eeem1=h*(sqrt(
19、m+1)-1)/m/sqrt(2); m2=h/sqrt(2);e1=ones(m,m); %全部元素都为1的m维矩阵e2=eye(m); %m维单位矩阵u1=m1*e1; u2=m2*e2;d=u1+u2;%构造初始单纯形(正规单纯形)for i=1:m try x(:,i)=x0+d(:,i); catch errordlg(系统模型参数有误,请检查并重新设置参数); return; end s(i)=simulate(x(:,i);endx(:,m+1)=x0;s(m+1)=simulate(x0);for k=1:kmax x=abs(x); for i=1:3 for j=1:4 i
20、f x(i,j)300 x(i,j)=300; end end end% 第(1)步:% 将单纯形各顶点由小到大排列for i=1:m for j=i+1:m+1 if(s(i)s(j) t1=s(i);s(i)=s(j);s(j)=t1; t2=x(:,i);x(:,i)=x(:,j); x(:,j)=t2; endendendxh=x(:,m+1) %找出最好点xl,最差点xh,次差点xg,并求出对应的目标 函数值sl,sh,sgsh=s(m+1)xg=x(:,m)sg=s(m)xl=x(:,1) sl=s(1)for i=1:m xzz(i)=0; xz=xzz;endfor i=1:m
21、xz=xz+x(:,i);endxp=xz/m;sp=simulate(xp); %求出重心点xpfor i=1:m+1 f(i)=(s(i)-sp)*(s(i)-sp);endf1=0;for i=1:m+1 f1=f1+f(i);enderror=sqrt(f1/(m+1) % 求出误差 simulate(xl); %对最好点进行仿真% t1=length(t);yss=y(t1);% ym,tm=max(y);% overshoot=abs(ym-yss)/yss); % 求出超调量% while y(t1)0.98*yss% t1=t1-1;% end% adjustive_time=
22、t(t1) %求出调节时间%main(xianshi_callback,gcbo,guidata(gcbo) %输出仿真结果 if(erroreee) %判断误差是否小于精度指标,如果小于则输出仿真结果,否则继续向下执行 xok=xl sok=sl% grid on; break;end xt=2*xp-xh; % 计算对称点xt及其目标函数stst=simulate(xt);%第(2)步:%如果对称点目标函数小于最好点,则进行单纯型扩张,计算扩张点xe及目标函数se,否则转入第(3)步if(stsl) xe=xp+kuo*(xt-xp); se=simulate(xe); if(sesl)
23、% 如果扩张点目标函数se=sl) % 如果扩张点目标函数值se=最好点目标函数值sl,则用扩张点代替最差点转入第(1)步 x(:,m+1)=xt; s(m+1)=st; end %第(3)步 %如果对称点目标函数st大于最好点目标函数sl但小于次差点目标函数sg,则用对称点代替最差点,否则转入第(4)步 elseif(stsg) x(:,m+1)=xt;s(m+1)=st; %第(4)步 %如果如果对称点目标函数st大于次差点sg但小于最差点sh,则按以下方法进行单纯型压缩,计算压缩点xc及目标函数sc,否则转入第(5)步elseif(stsh) xc=xp+ya*(xt-xp);sc=simulate(xc); if(sc=sh) % 如果如果压缩点目标函数sc大于最差点目标函数sh,则向最好点进行单纯形收缩,求出各顶点,转入(1) for i=1:m+1 x(:,i)=xl+0.5*(x(:,i)-xl); s(i)=simulate(x(:,i); endend %第(5)步 %如果如果对称点目标函数st大于最差点目标函数sh,则按以下方法进行单纯型压缩,计算压缩点xc及目标函数scelseif(stsh) xc=xp+ya*(xh-xp);sc=simulate(xc);if(sc=sh)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 谁是最可爱的人优翼课件
- 2025版围墙工程环保材料认证与安装合同大全
- 2025版汽车内饰材料采购及加工合同
- 2025版私人车辆买卖合同范本
- 2025年软装行业定制销售服务合同模板
- 2025年土地厂房使用权租赁合同租赁物损害赔偿范本
- 2025版设计工程师与时尚电商劳动合同
- 2025版户外运动场地贴地砖墙砖铺设合同范本
- 2025版住宅小区物业管理服务合同及收费标准
- 2025版前期物业管理服务合同实施指南与执行细则解析
- 商业地产策划案例(购物中心)
- 银行押运人员管理制度
- 北师大版四年级数学下册第五单元 认识方程标准检测卷(含答案)
- 信息系统授权制度
- 小学四年级上册劳动课教案设计
- 工程施工进度督促函
- 保护眼睛防近视课件
- 机关食堂2025年多元化饮食选择方案
- 人工智能应用开发合同
- QCC降低用药错误率护理品管圈
- 物业续签合同申请书
评论
0/150
提交评论