控制系统仿真_薛定宇第九章_分数阶系统的分析与设计
- 格式:ppt
- 大小:1.79 MB
- 文档页数:20
分数阶系统的分数阶PID控制器设计
薛定宇;赵春娜
【期刊名称】《控制理论与应用》
【年(卷),期】2007(24)5
【摘要】对于一些复杂的实际系统,用分数阶微积分方程建模要比整数阶模型更简洁准确.分数阶微积分也为描述动态过程提供了一个很好的工具.对于分数阶模型需要提出相应的分数阶控制器来提高控制效果.本文针对分数阶受控对象,提出了一种分数阶PID控制器的设计方法.并用具体实例演示了对于分数阶系统模型,采用分数阶控制器比采用古典的PID控制器取得更好的效果.
【总页数】6页(P771-776)
【作者】薛定宇;赵春娜
【作者单位】东北大学,信息科学与工程学院,辽宁,沈阳,110004;东北大学,信息科学与工程学院,辽宁,沈阳,110004
【正文语种】中文
【中图分类】TP273
【相关文献】
1.一种分数阶系统的内模控制器设计方法 [J], 张博;赵志诚;王元元
2.分数阶系统的自适应PID控制器参数优化 [J], 张艳珠;葛筝;王艳梅
3.带有传感器故障的不确定分数阶系统观测器设计 [J], 张雪峰;刘博豪
4.含有关联噪声的非线性分数阶系统的扩展卡尔曼滤波器设计 [J], 高哲; 陈小姣
5.一类分数阶系统的分析及控制器设计 [J], 王晓燕;王东风;韩璞
因版权原因,仅展示原文概要,查看原文内容请购买。
分数阶PIλDμ控制器的设计方法——极点阶数搜索改进法严慧
【期刊名称】《机械设计与制造工程》
【年(卷),期】2010(039)017
【摘要】基于分数阶被控系统提出了分数阶PIλDμ控制器,该控制器将传统整数阶PID控制器的微分与积分阶数扩展到分数,增加了2个参数μ和λ.相比整数阶PID 控制器,分数阶PIλDμ控制器的设计更加灵活,但设计过程较复杂.在极点阶数搜索法的基础上,提出了分数阶PIλDμ控制器设计的改进方法,其基本原理是,首先估计比例参数KP,其次搜索一对使系统时域性能较好的极点,然后根据时域指标搜索较好的μ,λ并计算出KI,KD,最终设计出合适的分数阶PIλDμ控制器.仿真结果证实,与极点阶数搜索法相比,它的改进法设计出的分数阶PIλDμ控制器能够更好地调节系统,系统响应能够达到更高的时域指标,并且具备很好的动、稳态性能.
【总页数】5页(P44-48)
【作者】严慧
【作者单位】金陵科技学院,信息技术学院,江苏,南京,211169
【正文语种】中文
【中图分类】TP273
【相关文献】
1.控制系统的分数阶建模及分数阶Piλ Dμ控制器设计 [J], 邓立为;宋申民;庞慧
2.一类采用分数阶PIλ控制器的分数阶系统可镇定性判定准则 [J], 高哲
3.分数阶PIλDμ控制器阶数变化对控制性能的影响 [J], 严慧
4.分数阶PIλDμ控制器的设计方法——极点阶数搜索改进法 [J], 严慧
5.分数阶PI^λD^μ控制器参数设计方法——极点阶数搜索法 [J], 严慧;于盛林;李远禄
因版权原因,仅展示原文概要,查看原文内容请购买。
博士学位论文面向鲁棒运动控制系统的分数阶PID 控制器设计、自整定及实验研究Fractional Order PID controller Synthesis, Auto-tuning and Experiment Studies for Robust Motion Control SystemsbyYongshun JinB. E. (Hunan University) 2004M. S. (Hunan University) 2007A dissertation submitted in partial fulffilement of theRequirements for the degree ofDoctor of EngineeringinElectrical Engineeringto theGraduate SchoolofHunan UniversitySupervisorProfessor Yao JiangangNovember, 2010湖南大学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1、保密□,在年解密后适用本授权书。
2、不保密 。
(请在以上相应方框内打“√”)作者签名:日期:年月日导师签名:日期:年月日摘要随着分数阶微积分理论的发展,越来越多的人关注这一领域的实际应用问题。
分数阶PID控制器的设计及仿真王思明;王欢【摘要】随着分数阶微积分理论的不断发展,PID控制器微积分算子的阶数已经从单纯的整数推向了分数,甚至是复数,所得到的分数阶PID控制器的控制效果也优于传统的PID控制器.基于分数阶微积分理论,采用Oustafod滤波器对分数阶微积分算子进行逼近,得出传递函数,再采用Simulink的子系统封装功能,设计出分数阶PID控制器.通过对控制对象的仿真表明,分数阶PID控制器的控制效果更佳.【期刊名称】《现代防御技术》【年(卷),期】2015(043)006【总页数】5页(P204-208)【关键词】分数阶PID;Oustafod滤波器;封装【作者】王思明;王欢【作者单位】兰州交通大学自动化与电气工程学院,甘肃兰州730070;兰州交通大学自动化与电气工程学院,甘肃兰州730070【正文语种】中文【中图分类】TM571;TP391.9☞仿真技术传统的PID控制器以其结构简单、稳定性强、参数调整便捷等原因,成了众多工业过程的首选,为人类创造了极大价值[1]。
随着控制对象结构的日趋复杂、控制精度的不断提高,传统的PID控制方法已不能完全满足要求。
分数阶PID控制是在传统的PID控制的基础上推广而来,它不但继承了传统PID控制的所有优点,又有传统PID控制所不具备的长处;在控制器的设计上,它仅多了2个可调参数,却能取得更好的控制效果。
因此用它来代替传统的PID控制方法是十分有意义的[2]。
分数阶微积分的基本操作算子为,其中a和t是操作算子的上下限,α为微积分阶次,其定义如下[3-5]:定义1 对于任意的实数m,记m的整数部分为[m],则函数f(t)的α阶微积分为[5-7]定义2 对于任意的实数m-1<α<m,m∈N,则RL微分定义为[8]分数阶积分的RL定义为通过对式(4),(5)进行分析,可将其统一到一个表达式中:定义3 Caputo分数阶微分定义为[9]Caputo分数阶积分定义为将式(7),(8)统一到一个表达式中,结果如下:对于显函数的微积分运算,可以通过分数阶微积分的定义直接求得,可对于隐函数而言,用定义求解就显示无能为力,因此需要采用某种合理的方法,直接由信号的采样点来近似信号的分数阶微积分[5]。
第1章节制系统计算机辅助设计概述之袁州冬雪创作第2章 MATLAB语言程序设计基础第3章线性节制系统的数学模子第4章线性节制系统的计算机辅助分析第5章 Simulink在系统仿真中的应用第6章节制系统计算机辅助设计第1章节制系统计算机辅助设计概述【1】已阅,略已阅,略【3】已经掌握help饬令和Help菜单的使用方法【4】区别:MATLAB语言实现矩阵的运算非常简单迅速,且效率很高,而用其他通用语言则否则,很多通用语言所实现的矩阵运算都是对矩阵维数具有一点限制的,即使限制稍小的,但凡维数过大,就会造成运算上的溢出出错或者运算出错,甚至无法处理数据的负面成果【5】【8】(1)输入激励为正弦信号(2)输入激励为脉冲摹拟信号(3)输入激励为时钟信号(4)输入激励为随机信号(5)输入激励为阶跃信号δδδ结论:随着非线性环节的死区增大,阶跃响应曲线的范围逐渐被压缩,可以想象当死区δ足够大时,将不再会有任何响应发生.所以可以得到结论,在该非线性系统中,死区的大小可以改变阶跃响应的幅值和超调量.死区越大,幅值、超调量将越小,而调整时间几乎不受其影响第2章 MATLAB语言程序设计基础【1】>> A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1>>B=[1+4i,2+3i,3+2i,4+i;4+i,3+2i,2+3i,1+4i;2+3i,3+2i,4+i,1+4i;3 +2i,2+3i,4+i,1+4i]B =>> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5∴若给出饬令A(5,6)=5则矩阵A的第5行6列将会赋值为5,且其余空出部分均补上0作为新的矩阵A,此时其阶数为5×6【2】相应的MATLAB饬令:B=A(2:2:end,:)>> A=magic(8)A =64 2 3 61 60 6 7 579 55 54 12 13 51 50 1617 47 46 20 21 43 42 2440 26 27 37 36 30 31 3332 34 35 29 28 38 39 2541 23 22 44 45 19 18 4849 15 14 52 53 11 10 568 58 59 5 4 62 63 1>> B=A(2:2:end,:)B =9 55 54 12 13 51 50 1640 26 27 37 36 30 31 3341 23 22 44 45 19 18 488 58 59 5 4 62 63 1∴从上面的运行成果可以看出,该饬令的成果是正确的【3】>> syms x s; f=x^5+3*x^4+4*x^3+2*x^2+3*x+6f =x^5 + 3*x^4 + 4*x^3 + 2*x^2 + 3*x + 6>> [f1,m]=simple(subs(f,x,(s-1)/(s+1)))f1 =19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^5m =simplify(100)【4】>> i=0:63; s=sum(2.^sym(i))s =【5】>> for i=1:120if(i==1|i==2) a(i)=1;else a(i)=a(i-1)+a(i-2);endif(i==120) a=sym(a); disp(a); endend【6】>>k=1;for i=2:1000for j=2:iif rem(i,j)==0if j<i, break;endif j==i, A(k)=i; k=k+1; break; endendendenddisp(A);Columns 1 through 132 3 5 7 11 13 17 19 23 2931 37 41Columns 14 through 2643 47 53 59 61 67 71 73 79 83 89 97 101Columns 27 through 39103 107 109 113 127 131 137 139 149 151 157 163 167Columns 40 through 52173 179 181 191 193 197 199 211 223 227 229 233 239Columns 53 through 65241 251 257 263 269 271 277 281 283 293 307 311 313Columns 66 through 78317 331 337 347 349 353 359 367 373 379 383 389 397Columns 79 through 91401 409 419 421 431 433 439 443 449 457 461 463 467Columns 92 through 104479 487 491 499 503 509 521 523 541 547 557 563 569Columns 105 through 117571 577 587 593 599 601 607 613 617 619 631 641 643Columns 118 through 130647 653 659 661 673 677 683 691 701 709 719 727 733Columns 131 through 143739 743 751 757 761 769 773 787 797 809 811 821 823Columns 144 through 156827 829 839 853 857 859 863 877 881 883 887 907 911Columns 157 through 168919 929 937 941 947 953 967 971 977 983 991 997【7】说明:h和D在MATLAB中均应赋值,否则将无法实现相应的分段函数功能syms x; h=input(‘h=’); D=input(‘D=’);y=h.*(x>D)+(h.*x/D).*(abs(x)<=D)-h.*(x<-D)【10】function y=fib(k)if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endif nargout>1,error('出错:输出变量个数过多!');endif k<=0,error('出错:输入序列应为正整数!');endif k==1|k==2,y=1;else y=fib(k-1)+fib(k-2);endend【13】【14】>> t=[-1:0.001:-0.2,-0.1999:0.0001:0.1999,0.2:0.001:1];y=sin(1./t);plot(t,y);grid on;【15】(1) >> t=-2*pi:0.01:2*pi;r=1.0013*t.^2;polar(t,r);axis('square')(2) >> t=-2*pi:0.001:2*pi;r=cos(7*t/2);polar(t,r);axis('square')(3)>> t=-2*pi:0.001:2*pi;r=sin(t)./t;polar(t,r);axis('square')(4) >> t=-2*pi:0.001:2*pi;r=1-cos(7*t).^3;polar(t,r);axis('square')【17】(1)z=xy>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=x.*y;mesh(x,y,z);>> contour3(x,y,z,50);(1)z=sin(xy)>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=sin(x.*y);mesh(x,y,z);>> contour3(x,y,z,50);第3章线性节制系统的数学模子【1】(1)>> s=tf('s');G=(s^2+5*s+6)/(((s+1)^2+1)*(s+2)*(s+4)) Transfer function:s^2 + 5 s + 6--------------------------------s^4 + 8 s^3 + 22 s^2 + 28 s + 16(2) >> z=tf('z',0.1);H=5*(z-0.2)^2/(z*(z-0.4)*(z-1)*(z-0.9)+0.6) Transfer function:---------------------------------------【2】(1)该方程的数学模子>> num=[6 4 2 2];den=[1 10 32 32];G=tf(num,den)Transfer function:6 s^3 + 4 s^2 + 2 s + 2------------------------s^3 + 10 s^2 + 32 s + 32(2)该模子的零极点模子>> G=zpk(G)Zero/pole/gain:6 (s+0.7839) (s^2 - 0.1172s + 0.4252)-------------------------------------(s+4)^2 (s+2)(3)由微分方程模子可以直接写出系统的传递函数模子【5】(1)>> P=[0;0;-5;-6;-i;i];Z=[-1+i;-1-i];G=zpk(Z,P,8)Zero/pole/gain:8 (s^2 + 2s + 2)-------------------------s^2 (s+5) (s+6) (s^2 + 1)(2) P=[0;0;0;0;0;8.2];Z=[-3.2;-2.6];H=zpk(Z,P,1,'Ts',0.05,'Variable','q')Zero/pole/gain:(q+3.2) (q+2.6)---------------q^5 (q-8.2)【8】(1)闭环系统的传递函数模子>> s=tf('s');G=10/(s+1)^3;Gpid=0.48*(1+1/(1.814*s)+0.4353*s/(1+0.4353*s));G1=feedback(Gpid*G,1)Transfer function:--------------------------------------------------------------(2)状态方程的尺度型实现>> G1=ss(G1)a =x1 x2 x3 x4 x5x2 4 0 0 0 0x3 0 2 0 0 0x4 0 0 2 0 0x5 0 0 0 0.5 0b =u1x1 2x2 0x3 0x4 0x5 0c =x1 x2 x3 x4 x5d =u1y1 0Continuous-time state-space model.(3)零极点模子>> G1=zpk(G1)Zero/pole/gain:9.6 (s^2 + 1.424s + 0.6332)--------------------------------------------------------(s+3.591) (s^2 + 1.398s + 0.6254) (s^2 + 0.309s + 2.707)【11】>> Ga=feedback(s/(s^2+2)*1/(s+1),(4*s+2)/(s+1)^2);Gb=feedback(1/s^2,50);G=3*feedback(Gb*Ga,(s^2+2)/(s^3+14))Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s---------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3+ 7732 s^2 + 5602 s + 1400【13】c1=feedback(G5*G4,H3)=G5*G4/(1+G5*G4*H3)c2=feedback(G3,H4*G4)=G3/(1+G3*H4*G4)c3=feedback(c2*G2,H2)=c2*G2/(1+c2*G2*H2)=G3*G2/(1+G3*H4*G4+G3 *G2*H1)G=feedback(G6*c1*c3*G1,H1)=G6*c1*c3*G1/(1+G6*c1*c3*G1*H1)=G6*G5*G4*G3*G2*G1/(1+G3*H4*G4+G3*G2*H1+G5*G4*H3+G5*G4*H3*G3* H4*G4+G5*G4*H3*G3*G2*H1+G6*G5*G4*G3*G2*G1*H1)【14】>> s=tf('s');c1=feedback(0.21/(1+0.15*s),0.212*130/s);c2=feedback(c1*70/(1+0.0067*s)*(1+0.15*s)/(0.051*s),0.1/(1+0. 01*s));G=(1/(1+0.01*s))*feedback(130/s*c2*1/(1+0.01*s)*(1+0.17*s)/(0 .085*s),0.0044/(1+0.01*s))Transfer function:0.004873 s^5 + 1.036 s^4 + 61.15 s^3 + 649.7 s^2 + 1911 s---------------------------------------------------------------------------4.357e-014 s^10 + 2.422e-011 s^9 +5.376e-009 s^8 +6.188e-007 s^7+ 4.008e-005 s^6 + 0.001496 s^5 + 0.03256 s^4 + 0.4191 s^3+ 2.859 s^2 + 8.408 s第4章线性节制系统的计算机辅助分析【1】(1) >> num=[1];den=[3 2 1 2];G=tf(num,den);eig(G)ans =-1.0000分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(2) >> num=[1];den=[6 3 2 1 1];G=tf(num,den);eig(G)ans =分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(3)>> num=[1];den=[1 1 -3 -1 2];G=tf(num,den);eig(G)ans =分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(4) >> num=[3 1];den=[300 600 50 3 1];G=tf(num,den);eig(G)ans =-1.9152-0.1414分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(5) >> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2));eig(G)ans =-3.0121-1.0000分析:由以上信息可知,系统的所有极点都在s域的左半平面,因此系统是稳定的【2】(1) >> num=[-3 2];den=[1 -0.2 -0.25 0.05];H=tf(num,den,'Ts',);abs(eig(H)')ans =分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(2) >> num=[3 -0.39 -0.09];den=[1 -1.7 1.04 0.268 0.024];H=tf(num,den,'Ts',);abs(eig(H)')ans =分析:由以上信息可知,由于前两个特征根的模均大于1,因此该系统是不稳定的(3) >> num=[1 3 -0.13];den=[1 1.352 0.4481 0.0153 -0.01109 -0.001043];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(4) >> num=[2.12 11.76 15.91];den=[1 -7.368 -20.15 102.4 80.39 -340];H=tf(num,den,'Ts',0.5,'Variable','q');abs((eig(H))')ans =分析:由以上信息可知,所有特征根的模均大于1,因此该系统是不稳定的【3】(1)>> A=[-0.2,0.5,0,0,0;0,-0.5,1.6,0,0;0,0,-14.3,85.8,0;0,0,0,-33.3,100;0,0,0,0,-10];eig(A)ans =分析:由以上信息可知,该持续线性系统的A矩阵的所有特征根的实-4-3.5-3-2.5-2-1.5-1-0.50x 10-6P ole-Zero Map Real Axis (seconds -1)I m a g i n a r y A x i s (s e c o n d s -1)部均为负数,因此该系统是稳定的(2)>>F=[17,24.54,1,8,15;23.54,5,7,14,16;4,6,13.75,20,22.5589;10.8689,1.2900,19.099,…21.896,3;11,18.0898,25,2.356,9];abs(eig(F)')ans =分析:由以上信息可知,该团圆系统的F 矩阵的所有特征根的模均大于1,因此该系统是不稳定的【4】>> A=[-3 1 2 1;0 -4 -2 -1;1 2 -1 1;-1 -1 1 -2];B=[1 0;0 2;0 3;1 1];C=[1 2 2 -1;2 1 -1 2]; D=[0 0;0 0];G=ss(A,B,C,D);tzero(G)pzmap(G)ans =【5】>> s=tf('s'); Go=sscanform(G,'obsv') a =x1 x2 x3 x4x1 0 1 0 0x2 0 0 1 0x3 0 0 0 1b =u1x1 0x2 0x3 0x4 1c =x1 x2 x3 x4y1 0.4 0.2 0 0d =u1y1 0Continuous-time state-space model.a =x1 x2 x3 x4b =u1x3 0x4 0c =x1 x2 x3 x4y1 0 0 0 1d =u1y1 0Continuous-time state-space model.【9】(1)>> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R1,P1,K1]=residue(num,[den 0]);[R1,P1]ans =1.0000 0>> [n,d]=rat(R1);sym([n./d]')ans =[ -379/315, -377/360, 1/5, 53/72, -26/9, 89/40, -91/45, 7561/2520, 1][阶跃响应的解析解]y(t)=(-379/315)*e-8t+(-377/360)*e-7t+(1/5)*e-6t+(53/72)*e-5t+(-26/9)*e-4t+(89/40)*e-3t+(-90/45)*e-2t+(7561/2520)*e-t+1(2) >> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R2,P2,K2]=residue(num,den);[R2,P2]ans =>> [n,d]=rat(R2);sym([n./d]')ans =[ 3032/315, 887/121, -6/5, -265/72, 104/9, -267/40, 182/45, -7561/2520][脉冲响应的解析解]y(t)=(3032/315)*e-8t+(887/121)*e-7t+(-6/5)*e-6t+(-265/72)*e-5t+(104/9)*e-4t+(-267/40)*e-3t+(182/45)*e-2t+(-7561/2520)*e-t(3) >> syms t;u=sin(3*t+5);Us=laplace(u)Us =(3*cos(5) + s*sin(5))/(s^2 + 9)>> s=tf('s');Us=(3*cos(5)+s*sin(5))/(s^2+9);num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];G=tf(num,den);Y=Us*G;num=Y.num{1};den=Y.den{1};[R3,P3,K3]=residue(num,den);[R3,P3]ans =1.1237 -8.00000.9559 -7.0000-0.1761 -6.0000-0.6111 -5.00002.1663 -4.0000。
第1章控制系统计算机辅助设计概述第2章 MATLAB语言程序设计基础第3章线性控制系统的数学模型第4章线性控制系统的计算机辅助分析第5章 Simulink在系统仿真中的应用第6章控制系统计算机辅助设计第1章控制系统计算机辅助设计概述【1】/已阅,略【2】已阅,略【3】已经掌握help命令和Help菜单的使用方法【4】区别:MATLAB语言实现矩阵的运算非常简单迅速,且效率很高,而用其他通用语言则不然,很多通用语言所实现的矩阵运算都是对矩阵维数具有一点限制的,即使限制稍小的,但凡维数过大,就会造成运算上的溢出出错或者运算出错,甚至无法处理数据的负面结果【5】【8】(1)输入激励为正弦信号(2)输入激励为脉冲模拟信号(3)输入激励为时钟信号(4) 输入激励为随机信号(5) 输入激励为阶跃信号δ=0.3δ=0.05δ=0.7结论:随着非线性环节的死区增大,阶跃响应曲线的围逐渐被压缩,可以想象当死区δ足够大时,将不再会有任何响应产生。
所以可以得到结论,在该非线性系统中,死区的大小可以改变阶跃响应的幅值和超调量。
死区越大,幅值、超调量将越小,而调整时间几乎不受其影响第2章 MATLAB语言程序设计基础【1】>> A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1>>B=[1+4i,2+3i,3+2i,4+i;4+i,3+2i,2+3i,1+4i;2+3i,3+2i,4+i,1+4i;3+2i,2+3i,4+i,1+4i]B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i >> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5∴若给出命令A(5,6)=5则矩阵A的第5行6列将会赋值为5,且其余空出部分均补上0作为新的矩阵A,此时其阶数为5×6【2】相应的MATLAB命令:B=A(2:2:end,:)>> A=magic(8)A =64 2 3 61 60 6 7 579 55 54 12 13 51 50 1617 47 46 20 21 43 42 2440 26 27 37 36 30 31 3332 34 35 29 28 38 39 2541 23 22 44 45 19 18 4849 15 14 52 53 11 10 568 58 59 5 4 62 63 1>> B=A(2:2:end,:)B =9 55 54 12 13 51 50 1640 26 27 37 36 30 31 3341 23 22 44 45 19 18 488 58 59 5 4 62 63 1∴从上面的运行结果可以看出,该命令的结果是正确的【3】>> syms x s; f=x^5+3*x^4+4*x^3+2*x^2+3*x+6f =x^5 + 3*x^4 + 4*x^3 + 2*x^2 + 3*x + 6>> [f1,m]=simple(subs(f,x,(s-1)/(s+1)))f1 =19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^5m =simplify(100)【4】>> i=0:63; s=sum(2.^sym(i))s =615【5】>> for i=1:120if(i==1|i==2) a(i)=1;else a(i)=a(i-1)+a(i-2);endif(i==120) a=sym(a); disp(a); endend[ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, , , , , , 5, 7, 2, 9, 1, 20, 61, 81, 42, 723, 565, 288, 853, 141, 0994, 9135, 0129, 9264, 9393, 28657, 78050, 06707, 84757, 91464, , , , , , 8, 5, 3, 8, 31, 89, 20, 09, 29, 738, 167, 905, 072, 977, 6049, 9026, 5075, 4101, 9176, 83277, 82453, 65730, 48183, 413913, 662096, 076009, 738105, 814114, 0552219, 6366333, 6918552, 3284885, 0203437, 93488322, 23691759, 17180081, 40871840]【6】>>k=1;for i=2:1000for j=2:iif rem(i,j)==0if j<i, break;endif j==i, A(k)=i; k=k+1; break; endendendenddisp(A);Columns 1 through 132 3 5 7 11 13 17 19 23 29 31 37 41 Columns 14 through 2643 47 53 59 61 67 71 73 79 83 89 97 101 Columns 27 through 39103 107 109 113 127 131 137 139 149 151 157 163 167 Columns 40 through 52173 179 181 191 193 197 199 211 223 227 229 233 239 Columns 53 through 65241 251 257 263 269 271 277 281 283 293 307 311 313 Columns 66 through 78317 331 337 347 349 353 359 367 373 379 383 389 397 Columns 79 through 91401 409 419 421 431 433 439 443 449 457 461 463 467 Columns 92 through 104479 487 491 499 503 509 521 523 541 547 557 563 569 Columns 105 through 117571 577 587 593 599 601 607 613 617 619 631 641 643 Columns 118 through 130647 653 659 661 673 677 683 691 701 709 719 727 733 Columns 131 through 143739 743 751 757 761 769 773 787 797 809 811 821 823 Columns 144 through 156827 829 839 853 857 859 863 877 881 883 887 907 911 Columns 157 through 168919 929 937 941 947 953 967 971 977 983 991 997【7】说明:h和D在MATLAB中均应赋值,否则将无法实现相应的分段函数功能syms x; h=input(‘h=’); D=input(‘D=’);y=h.*(x>D)+(h.*x/D).*(abs(x)<=D)-h.*(x<-D)【10】function y=fib(k)if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endif nargout>1,error('出错:输出变量个数过多!');endif k<=0,error('出错:输入序列应为正整数!');endif k==1|k==2,y=1;else y=fib(k-1)+fib(k-2);endend【13】-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81【14】>> t=[-1:0.001:-0.2,-0.1999:0.0001:0.1999,0.2:0.001:1]; y=sin(1./t); plot(t,y);grid on;-1-0.8-0.6-0.4-0.20.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.60.81【15】(1) >> t=-2*pi:0.01:2*pi; r=1.0013*t.^2;polar(t,r);axis('square')90270180(2) >> t=-2*pi:0.001:2*pi; r=cos(7*t/2);polar(t,r);axis('square')2700902701800(3) >> t=-2*pi:0.001:2*pi;r=sin(t)./t;polar(t,r);axis('square')90180【17】(1)z=xy>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=x.*y;mesh(x,y,z);>> contour3(x,y,z,50);-2-112-22-10-5510(1)z =sin(xy )>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3); z=sin(x.*y);mesh(x,y,z);>> contour3(x,y,z,50);-2-112-22第3章 线性控制系统的数学模型【1】(1) >> s=tf('s');G=(s^2+5*s+6)/(((s+1)^2+1)*(s+2)*(s+4)) Transfer function:s^2 + 5 s + 6--------------------------------s^4 + 8 s^3 + 22 s^2 + 28 s + 16(2) >> z=tf('z',0.1);H=5*(z-0.2)^2/(z*(z-0.4)*(z-1)*(z-0.9)+0.6) Transfer function:5 z^2 - 2 z + 0.2---------------------------------------z^4 - 2.3 z^3 + 1.66 z^2 - 0.36 z + 0.6 Sampling time (seconds): 0.1【2】(1)该方程的数学模型>> num=[6 4 2 2];den=[1 10 32 32];G=tf(num,den)Transfer function:6 s^3 + 4 s^2 + 2 s + 2------------------------s^3 + 10 s^2 + 32 s + 32(2)该模型的零极点模型>> G=zpk(G)Zero/pole/gain:6 (s+0.7839) (s^2 - 0.1172s + 0.4252)-------------------------------------(s+4)^2 (s+2)(3)由微分方程模型可以直接写出系统的传递函数模型【5】(1) >> P=[0;0;-5;-6;-i;i];Z=[-1+i;-1-i];G=zpk(Z,P,8)Zero/pole/gain:8 (s^2 + 2s + 2)-------------------------s^2 (s+5) (s+6) (s^2 + 1)(2) P=[0;0;0;0;0;8.2];Z=[-3.2;-2.6];H=zpk(Z,P,1,'Ts',0.05,'Variable','q')Zero/pole/gain:(q+3.2) (q+2.6)---------------q^5 (q-8.2)Sampling time (seconds): 0.05【8】(1)闭环系统的传递函数模型>> s=tf('s');G=10/(s+1)^3;Gpid=0.48*(1+1/(1.814*s)+0.4353*s/(1+0.4353*s));G1=feedback(Gpid*G,1)Transfer function:7.58 s^2 + 10.8 s + 4.8-------------------------------------------------------------- 0.7896 s^5 + 4.183 s^4 + 7.811 s^3 + 13.81 s^2 + 12.61 s + 4.8(2)状态方程的标准型实现>> G1=ss(G1)a =x1 x2 x3 x4 x5x1 -5.297 -2.473 -2.186 -0.9981 -0.7598x2 4 0 0 0 0x3 0 2 0 0 0x4 0 0 2 0 0x5 0 0 0 0.5 0b =u1x1 2x2 0x3 0x4 0x5 0c =x1 x2 x3 x4 x5y1 0 0 0.6 0.4273 0.3799d =u1y1 0Continuous-time state-space model.(3)零极点模型>> G1=zpk(G1)Zero/pole/gain:9.6 (s^2 + 1.424s + 0.6332)--------------------------------------------------------(s+3.591) (s^2 + 1.398s + 0.6254) (s^2 + 0.309s + 2.707)【11】>> Ga=feedback(s/(s^2+2)*1/(s+1),(4*s+2)/(s+1)^2);Gb=feedback(1/s^2,50);G=3*feedback(Gb*Ga,(s^2+2)/(s^3+14))Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s---------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3+ 7732 s^2 + 5602 s + 1400【13】c1=feedback(G5*G4,H3)=G5*G4/(1+G5*G4*H3)c2=feedback(G3,H4*G4)=G3/(1+G3*H4*G4)c3=feedback(c2*G2,H2)=c2*G2/(1+c2*G2*H2)=G3*G2/(1+G3*H4*G4+G3*G2*H1)G=feedback(G6*c1*c3*G1,H1)=G6*c1*c3*G1/(1+ G6*c1*c3*G1*H1)=G6*G5*G4*G3*G2*G1/(1+G3*H4*G4+G3*G2*H1+G5*G4*H3+G5*G4*H3*G3*H4*G4+G5*G4*H3*G3* G2*H1+G6*G5*G4*G3*G2*G1*H1)【14】>> s=tf('s');c1=feedback(0.21/(1+0.15*s),0.212*130/s);c2=feedback(c1*70/(1+0.0067*s)*(1+0.15*s)/(0.051*s),0.1/(1+0.01*s));G=(1/(1+0.01*s))*feedback(130/s*c2*1/(1+0.01*s)*(1+0.17*s)/(0.085*s),0.0044/(1+ 0.01*s))Transfer function:0.004873 s^5 + 1.036 s^4 + 61.15 s^3 + 649.7 s^2 + 1911 s--------------------------------------------------------------------------- 4.357e-014 s^10 + 2.422e-011 s^9 + 5.376e-009 s^8 + 6.188e-007 s^7+ 4.008e-005 s^6 + 0.001496 s^5 + 0.03256 s^4 + 0.4191 s^3+ 2.859 s^2 + 8.408 s 第4章线性控制系统的计算机辅助分析【1】(1) >> num=[1];den=[3 2 1 2];G=tf(num,den);eig(G)ans =-1.00000.1667 + 0.7993i0.1667 - 0.7993i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(2) >> num=[1];den=[6 3 2 1 1];G=tf(num,den);eig(G)ans =-0.4949 + 0.4356i-0.4949 - 0.4356i0.2449 + 0.5688i0.2449 - 0.5688i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(3) >> num=[1];den=[1 1 -3 -1 2];G=tf(num,den);eig(G)ans =-2.0000-1.00001.00001.0000分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(4) >> num=[3 1];den=[300 600 50 3 1];G=tf(num,den);eig(G)ans =-1.9152-0.14140.0283 + 0.1073i0.0283 - 0.1073i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(5) >> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2));eig(G)ans =-3.0121-1.0000-0.1440 + 0.3348i-0.1440 - 0.3348i分析:由以上信息可知,系统的所有极点都在s域的左半平面,因此系统是稳定的【2】(1) >> num=[-3 2];den=[1 -0.2 -0.25 0.05];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.5000 0.5000 0.2000分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(2) >> num=[3 -0.39 -0.09];den=[1 -1.7 1.04 0.268 0.024];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =1.1939 1.1939 0.1298 0.1298分析:由以上信息可知,由于前两个特征根的模均大于1,因此该系统是不稳定的(3) >> num=[1 3 -0.13];den=[1 1.352 0.4481 0.0153 -0.01109 -0.001043];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.8743 0.1520 0.2723 0.2344 0.1230分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(4) >> num=[2.12 11.76 15.91];den=[1 -7.368 -20.15 102.4 80.39 -340];H=tf(num,den,'Ts',0.5,'Variable','q');abs((eig(H))')ans =8.2349 3.2115 2.3415 2.3432 2.3432分析:由以上信息可知,所有特征根的模均大于1,因此该系统是不稳定的【3】(1) >>-4-3.5-3-2.5-2-1.5-1-0.50x 10-6P ole-Zero Map Real Axis (seconds -1)I m a g i n a r y A x i s (s e c o n d s -1)A=[-0.2,0.5,0,0,0;0,-0.5,1.6,0,0;0,0,-14.3,85.8,0;0,0,0,-33.3,100;0,0,0,0,-10]; eig(A) ans =-0.2000 -0.5000 -14.3000 -33.3000 -10.0000分析:由以上信息可知,该连续线性系统的A 矩阵的所有特征根的实部均为负数,因此该系统是稳定的(2)>>F=[17,24.54,1,8,15;23.54,5,7,14,16;4,6,13.75,20,22.5589;10.8689,1.2900,19.099,…21.896,3;11,18.0898,25,2.356,9];abs(eig(F)') ans =63.7207 23.5393 12.4366 13.3231 19.7275分析:由以上信息可知,该离散系统的F 矩阵的所有特征根的模均大于1,因此该系统是不稳定的【4】>> A=[-3 1 2 1;0 -4 -2 -1;1 2 -1 1;-1 -1 1 -2]; B=[1 0;0 2;0 3;1 1];C=[1 2 2 -1;2 1 -1 2];D=[0 0;0 0];G=ss(A,B,C,D); tzero(G)pzmap(G)ans =-3.6124-1.2765结论:∴可以得到该系统的 零点为-3.6124、-1.2765分析:由以上信息可知,系统的特征根的实部均位于s 域的左半平面,因此该系统是稳定的>> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2)); Gc=sscanform(G,'ctrl')Go=sscanform(G,'obsv')a =x1 x2 x3 x4x1 0 1 0 0x2 0 0 1 0x3 0 0 0 1x4 -0.4 -1.4 -4.3 -4.3b =u1x1 0x2 0x3 0x4 1c =x1 x2 x3 x4y1 0.4 0.2 0 0d =u1y1 0Continuous-time state-space model.a =x1 x2 x3 x4x1 0 0 0 -0.4x2 1 0 0 -1.4x3 0 1 0 -4.3x4 0 0 1 -4.3b =u1x1 0.4x2 0.2x3 0x4 0c =x1 x2 x3 x4y1 0 0 0 1d =u1y1 0Continuous-time state-space model.(1)>> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R1,P1,K1]=residue(num,[den 0]);[R1,P1]ans =-1.2032 -8.0000-1.0472 -7.00000.2000 -6.00000.7361 -5.0000-2.8889 -4.00002.2250 -3.0000-2.0222 -2.00003.0004 -1.00001.0000 0>> [n,d]=rat(R1);sym([n./d]')ans =[ -379/315, -377/360, 1/5, 53/72, -26/9, 89/40, -91/45, 7561/2520, 1][阶跃响应的解析解]y(t)=(-379/315)*e-8t+(-377/360)*e-7t+(1/5)*e-6t+(53/72)*e-5t+(-26/9)*e-4t+(89/40)*e-3t +(-90/45)*e-2t+(7561/2520)*e-t+1(2) >> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R2,P2,K2]=residue(num,den);[R2,P2]ans =9.6254 -8.00007.3306 -7.0000-1.2000 -6.0000-3.6806 -5.000011.5556 -4.0000-6.6750 -3.00004.0444 -2.0000-3.0004 -1.0000>> [n,d]=rat(R2);sym([n./d]')ans =[ 3032/315, 887/121, -6/5, -265/72, 104/9, -267/40, 182/45, -7561/2520][脉冲响应的解析解]y(t)=(3032/315)*e-8t+(887/121)*e-7t+(-6/5)*e-6t+(-265/72)*e-5t+(104/9)*e-4t+(-267/40) *e-3t+Linear Simulation ResultsA m p l i t u d e(182/45)*e -2t +(-7561/2520)*e -t(3) >> syms t;u=sin(3*t+5); Us=laplace(u) Us =(3*cos(5) + s*sin(5))/(s^2 + 9) >> s=tf('s');Us=(3*cos(5)+s*sin(5))/(s^2+9);num=[18 514 5982 36380 122664 222088 185760 40320]; den=[1 36 546 4536 22449 67284 118124 109584 40320]; G=tf(num,den); Y=Us*G; num=Y.num{1}; den=Y.den{1};[R3,P3,K3]=residue(num,den); [R3,P3] ans =1.1237 -8.0000 0.9559 -7.0000 -0.1761 -6.0000 -0.6111 -5.00002.1663 -4.0000 -1.1973 - 0.0010i 0.0000 +3.0000i -1.1973 + 0.0010i 0.0000 - 3.0000i -1.3824 -3.0000 0.8614 -2.0000 -0.5430 -1.0000 >> [n,d]=rat(R3); sym([n./d]') ans =[109/97, 282/295, -59/335, -965/1579, 951/439, - 449/375 + (18*i)/17981, - 449/375 - (18*i)/17981, -1663/1203, 317/368, -82/151] [正弦信号时域响应的解析解]y(t)=(109/97)*e -8t+(282/295)*e -7t+(-59/335)*e -6t+(-965/1579)*e -5t+(-449/375)*e -4t+(-1663/1203)*e -3t +(317/368)*e -2t +(-82/151)*e -t-2.3947sin(3t) [输出波形]>> num=[18 514 5982 36380 122664 222088 185760 40320]; den=[1 36 546 4536 22449 67284 118124 109584 40320];G=tf(num,den); t=[1:.1:20]';u=sin(3*t+5); lsim(G,u,t);分析:由解析解可知,输出信号的稳态 部分是振荡的,并且其幅值与相位始终 在到达稳态的时候保持不变,因此 右图所示的输出波形与解析解所得的结论是一致的【10】(1)因为PI 或PID 控制器均含有Ki/s 项,这是一个对误差信号的积分环节,假设去掉这一环节,则当Kp →∞,即|e(t)|很小也会存在较大扰动,这会影响到系统的动态特性;当加入这一环节后,如果要求|e(t)|→0,则控制器输出u(t)会由Ki/s 环节得到一个常值,此时系统可以获得较好的动态特性,因此这两个控制器可以消除闭环系统的阶跃响应的稳态误差(2)不稳定系统能用PI 或PID 控制器消除稳态误差。
基于分数阶控制的液压加载系统设计与仿真麦云飞;童骏民【摘要】针对车辆转向系统的液压力加载测试系统,建立传递函数模型.用时间乘以误差绝对值积分的ITAE性能指标作为评价准则,通过Matlab计算出适用于系统的最优PID控制器控制参数.使用FOMCON工具包创建分数阶PP Dμ控制器.对积分和微分环节选取分数阶参数阶次λ和μ,通过调节微分和积分环节的阶次观察对分数阶控制器的影响.通过控制性能对比,发现阶次取值在0~1范围内,积分阶次对响应的影响要比微分阶次的影响更大.固定最优PID参数,求得λ和μ最优值.仿真表明,其精度满足技术要求,分析系统伯德图可知系统工作稳定,冗余储备高.【期刊名称】《上海理工大学学报》【年(卷),期】2015(037)006【总页数】5页(P589-593)【关键词】液压控制;分数阶PID;最优PID【作者】麦云飞;童骏民【作者单位】上海理工大学机械工程学院,上海200093;上海理工大学机械工程学院,上海200093【正文语种】中文【中图分类】TP273转向器疲劳试验台是用于模拟汽车转向时,所受地面摩擦等负载的模拟加载平台.测试台通过在实验条件下再现转向器所受负载,考核汽车转向系统的性能指标和使用疲劳寿命.本系统是被动式电液力控制系统,承载对象主动运动,力指令信号为实现运动负载的函数,加载系统在跟随其运动的同时进行加载[1].系统需要同时控制承载对象和模拟负载,同时要实现力信号的曲线加载.传统的PID控制器是工业控制中最常用的,而将分数阶控制理论和PID控制器整定理论相结合,这是一个新的研究方向.Podlubny[2]在1999年提出了分数阶PID控制器,记为PIλDμ,其中添加了积分和微分的阶次λ和μ作为两个可调参数,当λ和μ取0或1时,是特定情况的传统PID控制器.分数阶控制点的意义是对经典的整数阶PID控制的扩展,平面上任意点都可以选取,使得结构更灵活,从而得到鲁棒性更好的结果.随着计算机辅助计算的帮助,工程师和科研人员开始在漫射光谱分析、电介质与黏弹性、自动控制领域中应用分数阶微积分理论解决问题.分数阶微积分对于复杂、成比例的过程和事件提供了更完善的数学模型.如今,最常用的定义是Riemann-Liouville定义和Grunwald-Letnikov定义,这些定义在工程问题中的应用也经历了很长时间.根据研究,分数阶PIλDμ对其控制参数及被控参数的变化不敏感.当控制器的参数整定完成后,若在一定范围内变化,分数阶控制器仍能有效的控制,不必重新整定控制参数,并具有基本相同的控制效果,因而具有更强的鲁棒性[2].转向器疲劳试验台的结构原理如图1所示,其中包含两部分:转向器系统和模拟摩擦等负载的加载系统.本文针对负载模拟力加载进行建模与仿真研究.图中:Fc为力传感器测得的液压缸驱动力,N;Fg为液压缸输出力,N;FPM为转向器受到的驱动力,N;Ur为输入信号,V;UF为反馈信号,V;Y2为机械干扰量,m;Y1为传感器末端位移量,m;m为转向器折算质量,kg;Yp为活塞在Fg作用下位移,m;KF=Kε/Ke为力传感器反馈系数,V/N;Kε为传感器变形量电量转换系数,V/m;Ke为力传感器刚度,N/m;K为折算刚度,N/m.图1中右侧是加载液压缸,模拟地面摩擦等负载.从右侧上部开始,控制器通过伺服阀控制加载液压缸对左侧承载对象加载,力传感器将加载液压缸的输出力Fc变成电信号UF反馈给控制器.控制电压与反馈电压的误差信号经控制器送给伺服放大器,被放大后并转换成电流信号输出到伺服阀,使伺服阀输出相应的流量,阀芯移动位移.控制伺服直线液压缸的活塞带动被测工件按输入的信号运动,实现直线运动,负载运动时它的被控量力经由传感器检测并转换成电压信号,与伺服控制器的输入电压信号比较,修正误差[3].图1左侧是转向系统,质量合并简化为轴向方向的一个质量m,通过齿轮齿条传递至转向管柱;左上是一个阀控液压马达,通过输入信号,控制液压马达运动.本系统加载的频率约为50 Hz,只考虑滑阀的传递函数.系统选用MOOG G761系列的双喷嘴挡板式四通滑阀,图2显示了在不同流量情况下滑阀的典型阶跃响应曲线.横坐标为响应时间t,纵坐标为控制流量与额定流量的比值.流量为4,10,19 L/min时,响应曲线相似.伺服阀系统wv的拉普拉斯传递函数为式中:ωv为伺服阀固有频率,rad/s;ξv为伺服阀阻尼比,通常为0.5~0.7;s为拉普拉斯复变量.本文讨论的转向器模拟加载系统的主要控制参数中,部分参数由机械和液压系统设计获得,部分参数由现场调试实测获得,主要参数说明如参考文献[5]中表2所示.其中,油缸有效面积A=76.576×10-5m2,油缸容积Vt=15.315×10-5m3,由此可计算出以下参数为T1=Vt/4βeKce=0.113 s式中:Kce为总流量-压力系数;T1为时间常数;Kc为流量-压力系数,m3/(s·Pa);Ctc 为液压缸总泄漏系数,m3/(s·Pa);βe为液压油弹性模数,N/m3.忽略加载系统的活塞质量,mp≈0,摩擦阻尼Bc≈0,假设力传感器刚度Ke很大,可认为变形量ε=0,近似可得加载系统活塞位移量Y1≈Yp=Y.液压缸加载系统可等效为由转向器质量m和折算刚度K构成的单“质量-弹簧”负载,系统属于单自由度加载系统[6].转向器受到的驱动力的拉普拉斯变换为由式(2)和式(3)得假设流量伺服阀在加载系统中可近似为一阶系统,做出各元件的结构图,依次将各元件的结构图连接起来,得到转向器试验机加载系统方块图,如图3所示.在给定量Ur和转向器的机械干扰量Y2同时作用下的输出量Fc为式中:Ka为放大器增益,A/V;Kq为阀在稳态工作点附近的流量增益系数,m3/(s·A).将式(5)整理后表达式为式中:s.在转向器电液力负载模拟器中,系统的干扰就是转向器的阻力.根据结构不变性原理[7],可以通过补偿器消除Y2带来的干扰,而以活塞速度vy作为物理观测量.图4(a)和4(b)表示了添加补偿器和消除补偿器后的简化过程方框图[8].Wv(s)中参数不变情况下,完全可以补偿两个通道的影响.因为本系统加载的频率超过50 Hz,所以近似认为完全补偿,使得位移Y2对传递函数无干扰影响.设置补偿器后,即可由图4(b)简化方块图求得转向器模拟加载系统的开环传递函数式中,Kv1为伺服阀增益,可求得其闭环传递函数为利用Matlab对系统进行仿真,通过主导极点分析去除高阶次因子,用三阶环节近似表达过程函数.最后简化的传递函数表达式为最优控制即是满足特定具体条件,完成某个控制任务,使选定指标最小或最大的控制.目标函数可以是一个经过设计的性能指标.对于伺服控制系统,输出信号应该更快更准确地对输入信号进行跟踪.常用的性能指标是积分型指标,如绝对误差积分准则IAE、平均误差积分准则ISE、时间乘平方误差积分准则ISTE等,或自行定义(人为引入加权函数突出其他性能指标)[9].在此将使用时间乘绝对误差积分准则ITAE作为评价准则:dt.根据定义,响应和误差积分具有相同权重,按此准则设计的控制系统,可使调节时间缩短,瞬态响应的振荡性小,且对参数具有良好的选择性.通过Matlab Simulink模型仿真,构建如图5所示的闭环系统模型.模型内包含了评价准则当输出1输出为最小时,所得参数为最优解.其中,PID的参数用变量而非具体数值表示.通过自诊定寻优,求得整数阶最优的KP,KI,KD参数.KP=4.776 1,KI=79.111 3,KD=-0.006.图6为最优控制参数下,整数阶PID的最佳响应曲线。