您的当前位置:首页正文

自适应控制

2024-07-15 来源:易榕旅网
线性二次型最优控制器设计

对于线性系统,若取状态变量和控制变量的二次型函数的积分作为性能指标,这种动态最优化问题称为线性系统二次型能指标的最优控制问题,简称线性二次型问题,其计算和工程实现比较容易。

借助Matlab控制系统工具箱中提供的线性二次设计工具,可以很方便地完成线性二次型最优控制器的设计。

2线性二次型最优控制器设计

给定一个线性系统,其平衡状态X(0)=0,设计的目的是保持系统处于平衡状态,即这个系统应能从任何初始状态返回平衡状态。这种系统称为线性调节器。

f2线性调节器的性能指标为: Jxi(t)dtt0i1

tfn2Jqixi(t)dt加权后的性能指标为: t0i1 tf1TT对u(t)有约束的性能指标为:J t[X(t)QX(t)u(t)Ru(t)]dt02

式中Q和R都是正定加权矩阵。

一般形式,有限时间线性调节器性能指标:

tf11T JX(tf)PX(tf)[XT(t)QX(t)uT(t)Ru(t)]dtt022

无限时间线性调节器性能指标:

1 J[XT(t)QX(t)uT(t)Ru(t)]dtt02

P≥0,Q≥0,R>0,均为对称加权矩阵。

tn由于题目已给定系统状态工程模型(A,B,C,D),如果希望这样一个系统能够满足某种最优的要求,本设计引入最简单的可以线性二次型最优控制指标,即

tf11JXT(tf)PX(tf)[XT(t)QX(t)uT(t)Ru(t)]dtt022R(t)分别是对状态变量和控制量的加权矩阵。一般情况下,假 其中Q(t)和

定这两个矩阵为定常矩阵(即不随时间变化),并简记Q(t)=Q和R(t)=R。线性二次型最优控制就是求出J最小的控制量u(t),从而获得性能最优,为达到这一目的,首先构造Hamiton函数:

然后通过求导的方式可以求出最优控制信号u(t)为:

ˆx(t)u(t)RBK*1T

设计线性二次型最优控制器关键是选择加权矩阵Q。在下文将讨论二次型性能指标中P、Q、R 矩阵对状态的动态特性以及最优控制U的影响。

2.1 终端时刻选取

最优控制规律是一个状态线性反馈规律,它能方便地实现闭环最优控制;由于K(t)是非线性微分方程的解,通常情况下难以求得解析解,需要由计算机求出其数值解,又因为其边界条件在终端处,所以需要逆时间方向求解,因此应在过程开始之前就将K(t)解出,存入计算机以供过程使用;当控制时间[t0,tf]为有限时间时,状态调节器最优解的存在不要求系统能控,这是因为所采用的性能指标是为了保持系统的状态x(t)接近零状态。当控制时间[t0,tf]为有限时间时,即使系统不能控,不能控状态对性能指标的影响也是有限的,在[t0,tf]区间中性能指标不至于

tf,则只有当系统能控时,状态调节器变为无穷,故最优控制存在。如果 才存在最优解。

由于上述可知线性二次型线性连续系统状态最优控制器分为:有限时间状态调节器与无限时间状态调节器系统。

无限时间状态调节器系统与有限时间状态调节器相比,有以下几点不同: 1)系统是时不变的,性能指标中的权矩阵为常值矩阵。

2)终端时刻t ,当[t0,tf ]为有限时间时,最优控制系统是时变的; f3)要求受控系统完全能控,以保证最优控制系统的稳定性 ;如果系统不可控 性能指标就有可能趋于无穷大,无法比较控制的优劣,也就无法确定最优控制。

Q0,QQT矩阵对(A,B)完全能控时,存在唯一的最优控制:结果如下:当

ˆx(t)u*(t)R1BTK那么根据题目:

在Matlab中键入:

a=[-5.3880 2.0074 0;19.24 -26.51 6.35;0 6.429 -3.9810]; b=[-0.3904 0.774;5.11 4.665;-3.166 38.3280]; n=rank(ctrb(a,b)); n=3。可知系统是可控的,选取终端时刻 tf。

2.2 二次型性能指标对动态特性及最优控制U 的影响

为讨论二次型性能指标中P、Q、R 矩阵对状态的动态特性以及最优控制U 的影响。根据系统[A,B]能控,u(t)不受约束,二次型性能指标为:

Q0,QQ,R0,RRT确定最优控制u*(t),使J为其中Q,R为常数矩阵

最小。

那么选取:Q=[1 0 0;0 2 0;0 0 3];R=[1 0;0 1];在Matlab中键入:

a=[-5.3880 2.0074 0;19.24 -26.51 6.35;0 6.429 -3.9810]; b=[-0.3904 0.774;5.11 4.665;-3.166 38.3280]; c=[3.575 0 0;0 0 -3.900] d=zeros(2); step(sys,1,t); v=[1 2 3]; Q=diag(v); R=eye(2); step(sys,1,t);

T同时利用Mabtlab提供的一条直接求解LQ最优状态反馈矩阵函数lqr(),其基本调用格式为:[K,S,E]=lqr(A,B,Q,R);其中A,B,Q,R如上文所述,K是求得的最优状态反馈矩阵,S是相应的代数Riccati方程求解,E是闭环系统特征值。

系统的阶跃相应:

v=[1 2 3];Q=diag(v);R=eye(2); [ K P E]=lqr(a,b,Q,R); t= 0:0.05:0.5;

sys=ss(a-b*K,b,c,d); [y,T,xt]=step(sys);

LQ校正后系统的阶跃响应

Q=[1 0 0;0 1 0; 0 0 1]; R=[1 0; 0 0.1] K 1= 0.1010 0.1776 -0.1224

0.1826 0.2867 1.6351 Q=[1 0 0;0 1 0; 0 0 1]; R=[1 0; 0 5] K2 =0.0237 0.0727 -0.1080

0.1280 0.0978 0.3809 Q=[1 0 0;0 1 0; 0 0 1]; R=[1 0; 0 10] K3 = 0.0514 0.0933 -0.0292

0.4852 0.6545 3.0356

控制量U1

控制量U2

最优控制信号变化曲线

最优控制信号变化曲线:为控制量U1, 当选取的Q发生变化后,R不变时:

LQ校正后系统的阶跃响应

控制量U1

控制量U2

最优控制信号变化曲线

3结论:

比较曲线状态反馈的输出曲线可知,当增大R,系统达到稳态的时间会延长。增大R,输出偏离跟踪路线也越多。Q选择越大,系统所需到达稳定所需时间越短, 由此可知分别改变R,Q矩阵的大小,发现增大R或者减小Q系统的超调量会增

大,稳态误差会增大;增大Q或者减小R系统的响应时间会延长,超调量会减小。实验结果表明了上述规律的有效性,同时也显示出LQR控制的鲁棒性和动态特性。

参考文献

[1] 魏巍.MATLAB控制工程工具箱技术手册 [M].国防工业出版社,2004:42. [2] 庞中华 崔红. 系统辨识与自适应控制MATLAB仿真[M]. 北京航空航天出版社

因篇幅问题不能全部显示,请点此查看更多更全内容