模型参考总结自适应控制.docx
- 文档编号:6961645
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:15
- 大小:216.82KB
模型参考总结自适应控制.docx
《模型参考总结自适应控制.docx》由会员分享,可在线阅读,更多相关《模型参考总结自适应控制.docx(15页珍藏版)》请在冰豆网上搜索。
模型参考总结自适应控制
10.自适应控制
严格地说,实际过程中的控制对象自身及能所处的环境都是十分复杂的,其参数会由于种种外部与内部的原因而发生变化。
女口,化学反应过程中的参数随环境温度和湿度的变化而变化(外部原因),化学反应速度随催化剂活性的衰减而变慢(内部原因),等等。
如果实际控制对象客观存在着较强的不确定,那么,前面所述的一些基于确定性模型参数来设计控制系统的方法是不适用的。
所谓自适应控制是对于系统无法预知的变化,能自动地不断使系统保持所希望的状态。
因此,一个自适应控制系统,应能在其运行过程中,通过不断地测取系统的输入、状态、输出或性能参数,逐渐地了解和掌握对象,然后根据所获得的过程信息,按一定的设计方法,作出控制决策去修正控制器的结构,参数或控
制作用,以便在某种意义下,使控制效果达到最优或近似更优。
目前比较成熟的
Control)和自校正控制(Self-Turning)。
10.1模型参考自适应控制
10.1.1模型参考自适应控制原理
模型参考自适应控制系统的基本结构与图10.1所示:
橹人
III.
10.1模型参考自适应控制系统
它由两个环路组成,由控制器和受控对象组成内环,这一部分称之为可调系统,由参考模型和自适应机构组成外环。
实际上,该系统是在常规的反馈控制回路上再附加一个参考模型和控制器参数的自动调节回路而形成。
在该系统中,参考模型的输出或状态相当于给定一个动态性能指标,(通常,
参考模型是一个响应比较好的模型),目标信号同时加在可调系统与参考模型上,
通过比较受控对象与参考模型的输出或状态来得到两者之间的误差信息,按照一定的规律(自适应律)来修正控制器的参数(参数自适应)或产生一个辅助输入信号(信号综合自适应),从而使受控制对象的输出尽可能地跟随参考模型的输出。
在这个系统,当受控制对象由于外界或自身的原因系统的特性发生变化时,将导致受控对象输出与参考模型输出间误差的增大。
于是,系统的自适应机构再
次发生作用调整控制器的参数,使得受控对象的输出再一次趋近于参考模型的输出(即与理想的希望输出相一致)。
这就是参考模型自适应控制的基本工作原理。
模型参考自适应控制设计的核心问题是怎样决定和综合自适应律,有两类方
法,一类为参数最优化方法,即利用优化方法寻找一组控制器的最优参数,使与
t2
系统有关的某个评价目标,如:
J=(e2(t)dt,达到最小。
另一类方法是基于稳
如基
定性理论的方法,其基本思想是保证控制器参数自适应调节过程是稳定的。
于Lyapunov稳定性理论的设计方法和基于Popov超稳定理论的方法。
系统设计举例
以下通过一个设计举例说明参数最优化设计方法的具体应用。
s(s+1)
例10.1设一受控系统的开环传递函数为W(s)=—「,其中K可变,要求用一参考模型自适应控制使系统得到较好的输出。
解:
对于该系统,我们选其控制器为PID控制器,而PID控制器的参数由自适应机构来调节,参考模型选性能综合指标良好的一个二阶系统:
W(d)=s2+1.414s+1
自适应津决定的评价函数取
1
t
minJ=Je2(t)dt,e(t)为参考模型输出与对象输出的误差。
0
由于评价函数不能写成PID参数的解析函数形式,因此选用单纯形法做为寻优方法。
(参见有关优化设计参考文献)。
在上述分析及考虑下,可将系统表示具体结构表示如下图10.2所示。
图10.2系统仿真结构图
为了进行数字仿真(连续系统离散相似法),图中的模型是采用典型环节(积
分环节,惯性环节)型式表示。
对于图5-17所示系统,可写出各类环节的差数方程,其中,PID控制器的
差分方程为:
X3(k)=X3(k—1)+Kp[x5(k)—X5(k—1)+Txx5(k)+¥(X5(k)—2x5(k—1)+x5(k—2))]
IiI
式中,K^为比例系数,T为积分时间常数,Td为微分时间常数,它们是自适
应津的调整参数,也是单纯形法的寻优参数。
T是采样周期。
用MATLA编写的仿真程序如下,(chp10-1.m和suba.m),程序中有关离散
相似法仿真及单纯形法寻优的原理请参见有关参考书,如参考文献
globalRI9L1L2L3xp1p2p3
globalKpE1F1G1E5F5G5m
globalK1T4T5
x=zeros(3,7);Q=zeros(1,7);p仁zeros(1000,1);k=zeros(3,1);
N=3;E=0.001;R=1;L=0.012;p2=zeros(1000,1);p3=zeros(1000,1);
L1=0.05;L2=5;L3=200;m=0;mn=0;
Kp1=zeros(100,1);Ti=zeros(100,1);Td=zeros(100,1);
Kp=2;
E1=1;F1=L1;G1=L1*L1/2;
E5=exp(-L1);F5=Kp*(1-E5);G5=Kp*(E5-1)+Kp*L1;
I9=0;
x(1,1)=1;x(2,1)=0.5;x(3,1)=0.9;
forj=2:
N+1
fori=1:
N
ifi==j-1x(i,j)=x(i,1)+L;
else
x(i,j)=x(i,1);
end
endend
forj=1:
N+1
Q(j)=suba(j);endEx=0;whileEx<1
Q0=0;
forj=1:
N+1ifQ(j)>Q0
Q0=Q(j);j0=j;
end
end
Q1=0;
forj=1:
N+1ifj~=j0
ifQ(j)>Q1
Q1=Q(j);j1=j;end
end
end
Q2=Q0;
forj=1:
N+1
ifQ(j) Q2=Q(j); j2=j; end end mn=mn+1; Kp1(mn,1)=x(1,j2);Ti(mn,1)=x(2,j2);Td(mn,1)=x(3,j2); ifQ2<1 if(Q0-Q2) Ex=1; end elseif(Q0-Q2)<(E*Q2)Ex=1; end end fori=1: N x(i,N+2)=0; forj=1: N+1 x(i,N+2)=x(i,N+2)+x(i,j); end x(i,N+2)=2*(x(i,N+2)-x(i,j0))/N-x(i,j0); end j=N+2; Q(N+2)=suba(j); ifQ(N+2) if(1.5*Q(N+2)-0.5*Q0) fori=1: N x(i,N+4)=1.5*x(i,N+2)-0.5*x(i,j0); end j=N+4; Q(N+4)=suba(j); ifQ(N+4) fori=1: N x(i,N+3)=x(i,N+4); end Q(N+3)=Q(N+4); else fori=1: N x(i,N+3)=x(i,N+2); end Q(N+3)=Q(N+2) end else fori=1: N x(i,N+3)=x(i,N+2); end Q(N+3)=Q(N+2); end fori=1: Nx(i,j0)=x(i,N+3); end Q(j0)=Q(N+3);else ifQ(N+2)>Q(j0)fori=1: N x(i,N+3)=x(i,N+2); x(i,N+2)=x(i,j0); x(i,j0)=x(i,N+3); end end fori=1: N x(i,N+3)=0.3*x(i,j0)+0.7*x(i,N+2); end j=N+3; Q(N+3)=suba(j); ifQ(N+3) fori=1: N x(i,j0)=x(i,N+3); end Q(j0)=Q(N+3); else forj=1: N+1 fori=1: Nx(i,j)=(x(i,j)+x(i,j2))/2; end end forj=1: N+1Q(j)=suba(j); end end endend I9=1;j=j2; Fin=suba(j)x(1,j2),x(2,j2),x(3,j2)figure (1)m1=1: 1: m;m1=m1';p1=p1(1: m,1);p2=p2(1: m,1);p3=p3(1: m,1);plot(m1,p1,'r',m1,p2,'B',m1,p3,'g')gridpause figure (2)m2=1: 1: mn;m2=m2'; Kp1=Kp1(1: mn,1);Ti=Ti(1: mn,1);Td=Td(1: mn,1);plot(m2,Kp1,'r',m2,Ti,'B',m2,Td,'g')grid functionresulta=suba(j) globalRI9L1L2L3xp1p2p3globalKpE1F1G1E5F5G5mglobalK1T4T5 K1=x(1,j); T4=x(2,j); T5=x(3,j);x1=0;x2=0;x3=0;x4=0;x6=0;w1=0;w2=0;w4=0;w5=0;u5=0; t=0;F=0; T6=L1*L2; fori1=1: L3 x5=R-x6; x3=x3+K1*(x5-w5+T6*x5/T4+T5*(x5-2*w5+u5)/T6);u5=w5;w5=x5; fori2=1: L2 x0=R-1.414*x1-x2; u2=x1;u4=x4; v1=(x0-w1)/L1;x1=E1*x1+F1*x0+G1*v1;w1=x0; v2=(u2-w2)/L1;x2=E1*x2+F1*u2+G1*v2;w2=u2; v3=(u4-w4)/L1; x4=E1*x4+F1*x3;x6=E5*x6+F5*u4+G5*v3;w4=u4; x7=x2-x6; t=t+L1; F=F+x7*x7*L1; ifI9==1 m=m+1; p1(m,1)=x2; p2(m,1)=x6; p3(m,1)=x7;end endendresulta=F; 程序运行后,绘制出受控对象和参考模型的输出及两者间的误差曲线如图 10.3,控制器的三个参数(K.,Ti,Td)的变化曲线如图10.4所示,图中可以看 到,经过一段时间的调整(kd,Ti,Td自动调整)后,受控对象输出能很好地接近 参考模型的输出。 及两者间的误差曲线 读者可以改变系统的某些参数(如让程序中的ka=1或ka=3等)后再运行程序观看仿真结果。 10.2自校正控制 自校正控制技术特别适宜用于结构已知而参数未知但恒定或缓慢变化的随 机系统。 由于大多数工业对象正好具有这种特征,因此,自校正控制技术在工业控制过程中得到了广泛的应用。 10.2.1自校正控制系统的基本结构 与模型参考自适应控 外环由参数估计器和控制 图10.5自校正控制系统的典型结构 器设计计算机构组成。 参数估计器的功用是根据受控对象的输入及输出信息,连续不断地估计受控对象的参数,而控制器则根据参数估计器不断送来的参数估计值,通过一定的控制算法,按某一性能指标,不断形成最优控制作用,由于存在着多种参数估计和控制器设计算法,所以自校正控制的设计方法很多,其中,以用最小二乘法进行参数估计,按最小方差来形成控制作用的最小方差自校正控制器最为简单,并获得较多应用。 1022最小方差自校正控制器 以一个单输入、单输出、线性时不变的系统为讨论对象。 假如系统经常处 在随机扰动作用之下,如不加以控制、随机扰动将使系统输出相对其设定值产生很大波动。 或者说,系统输出的稳态方差将很大。 最小方差自校正控制就是根据 给定的对象数学模型,综合一个最优控制津,使系统输出的稳态方差最小。 设被控制对象的数学模型可表示为 A(q-1)y(k)=(q-d)B(q-1)u(k)+C(q-1)e(k)(10.2-1) 式中A(q-1)=1+a1q-1+、、、+anq-n B(q-1)=bo+biq-1+、、、+boq-nb0工0 C(q-1)=1+C1q-1+、、、+C1q-n U(k),y(k)为系统的输入,e(k)为均值为0的随机噪声,d为延时时间次数(dX1)。 对于系统(10.2-1),设输出所跟踪的目标值yr(k)已知,要求求解u(k)使方差E{[y(k)-yr(k)]了最小。 如果系统中参数是已知的,这个问题就是最小方差控制问题。 而如果参数未知(或不断缓慢变化),要在线递推估计和不断修正模型的参数值且使系统输出方差保持最小,这就成为最小方差自校正控制器问题。 为求解该问题,首先用A(q-1)=1+q.q-1+anboq-n并除C(q-1)=Hcq-1+、、、Cnq-n,进行d次除法后,C(q-1)可写成。 (10.2-2) C(q-1)=A(q-1)R(q-1)+q-dS(q-1) -d+1 式中R(q-1)=1+r1q-1+、、、+Sn-1q /"xz-1\-1-n+1 S(q)=So+S1q+、、、Sn-1q由(10.2-2).(10.2-1)式,有, -1-1-1-d-1 C(q)y(k)=A(q)R(q)y(k)+qS(q)y(K) =q-dR(q-1)B(q-1)u(k)+q-dS(q-1)y(k)+R(q-1)C(q-1)e(k) -1-1-1 -C(q)[y(k)-yr(k)]=R(q)B(q)u(k-d) +S(q-1)y(k-d)-C(q5r(k)+C(q-1)R(q-1)e(k)(10.2-3) 上式右边的前三项u()、y()、yr()是能够测定的,此外因为 111 R(q')B(q')=[bQ,(b1+r1)q-,、、、bd甘] =[BqB1、、、Br+d-1] 且令 9=[sQ,S1,、、、Sn/jBojB1,、、、,Bn+d-1,C1,C2,、、、Cn] 「y(k-d) y(k—d-n+1)u(kYl) X(k-d)= u(k—d-n+1) —yr(k—1) L—yr(k—n)・ 则(10.2-3)式可写成 (10.2-4) (10.2-5) C(q-1)[y(k)-yr(k)]=0TX(k-d)-yr(k)+C(q■1)R(q-1)e(k) /.y(k)-yr(k)=c-1(q-1)[日tTx(K-d)-yr(k)]+R(q-1)e(k) 1 U(k-d)=B: [yr(k)-^(k—d)] 1 (10.2-8) 二u(k)=—[yr(k+d)-Xo(k)] bo 但如果0q、Bq是未 式中,日0、X)分别表示从日、X中抽去Bq和u(k-d)后的矢量。 知的,便不能由(10.2-8)确定u(k),而须回到(10.2-6),考虑由X和丫「来求日的估计问题,这时可以用递推最小二乘方法来进行,其递推公式为 总』+: 匚? [yr(k)XN卡] 人+XN半PNXN n1nPNXN屮Xn十Pn1 Pn+=y[PN——] 兀人十XNH1PnXn+ 可求得0的估计值&,并由此求得$o,F,则 1今 u(k)=—[yr(k+d)-0;Xo(k)] 由此而获得自校正控制输入 例10.2考虑一自校正控制问题,设受控对象为 y(k)-0.5y(k-1)-0.14y(k-2)=u(k-2)+0.5u(k-3)+0.2e(k) 解: 用MATLAB编制设计程序(chp10_2.m),程序中设置了一个变化的目标值 yr,程序运行结果如图10.6所示,该仿真结果表示,所设计的最小方差自校正 控制器可使系统在有随机干扰的情况下使系统输出很好地跟踪设定值的变化。 %Chp10_2 globalq1pm1idy1_vr1 y仁zeros(26,1);u仁zeros(26,1);v仁zeros(26,1);r仁zeros(26,1); q仁zeros(26,1);mu仁zeros(10,1);my仁zeros(10,1);mn仁zeros(10,1); pm仁zeros(26,26);sf=zeros(2,1);f=zeros(10,1); py1=zeros(800,1);py2=zeros(800,1); c=1; %Init nf=1;di=1;n=2;m1=1;ld=0.99;um=80;mu=2;md=2; p0=1; fori=1: 25 pm1(i,i)=p0; end y1_v=0;contr=0;l=n+mu+md; f(1: 5)=[0.50.141.00.50.2]'; %Setpointvalve R=zeros(800,1); fori=1: 200 R(i)=20; end fori=201: 400 R(i)=40; endfori=401: 650 R(i)=30; end fori=651: 800 R(i)=20; endforij=1: 800 %System_Model forj=9: -1: 1 my1(j+1)=my1(j); mu1(j+1)=mu1(j); mn1(j+1)=mn1(j); end my1 (1)=y1_v; mu1 (1)=contr; mn1 (1)=nf*randn (1); y1_v=0; fori=1: n y1_v=y1_v+f(i)*my1(i); end fori=1: mu y1_v=y1_v+f(i+n)*mu1(i+md); end fori=1: m1 y1_v=y1_v+f(i+n+mu)*mn1(i); end %X_vector fori=25: -1: 1u1(i+1)=u1(i); endu1 (1)=mu1 (1);fori=1: nr1(i)=y1(i); endfori=1: mu+md r1(i+n)=u1(i+md); end %Computesestimatesrecursively F=subrls(l); fori=25: -1: 1 y1(i+1)=y1(i); end y1 (1)=y1_v; fori=1: n r1(i)=y1(i); end fori=1: mu+md r1(i+n)=u1(i); end %ComputeY(k) Qi=0; fori=1: n Qi=Qi+q1(i)*r1(i); end fori=1: mu Qi=Qi+q1(i+n+1)*r1(i+n); end %Computeu(k) B0=q1(n+1); ifB0==0 B0=1; end contr=(R(ij)-Qi)/B0;ifabs(contr)>um ifcontr>0 contr=um; else contr=-um; end endpy1(ij)=y1_v; py2(ij)=contr; end t=1: 800;t=t'; plot(t,R,'g',t,py1,'b',t,py2,'r') grid subrls functionresult=subrls(l)globalq1pm1idy1_vr1v1=zeros(30,1);z1=0;ww=0; fori=1: l v1(i)=0; forj=1: l v1(i)=v1(i)+pm1(i,j)*r1(j); end endfori=1: l z仁z1+r1(i)*q1(i);ww=ww+r1(i)*v1(i); endww=1+ww;fori=1: l q1(i)=q1(i)+v1(i)*(y1_v-z1)/ww; forj=1: l pm1(i,j)=(pm1(i,j)-v1(i)*v1(j)/ww); end end result=l; 80 60 40 20 -20 0 IIhhri11■hhriHh 200 400 600 800 图10.6例10.2程序运行结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模型 参考 总结 自适应 控制