matlab实验七及实验八 下载本文

内容发布更新时间 : 2024/5/6 12:32:29星期一 下面是文章的全部内容请认真阅读。

实验七 线性二次型指标最优控制系统设计

一、实验目的

1、学习线性二次型指标最优控制系统设计方法。 2、完成线性二次型指标最优控制系统设计实践。

二、相关知识

最优控制系统是指在一定的具体条件下,在完成所要求的控制任务时,系统的某种性能指标具有最优值。根据系统的不同用途,可提出各种不同的性能指标,最优控制的设计就是选择最优控制以使某一种性能指标为最小(或者最优值)。在实际工程应用中,最优控制系统的性能指标通常采用二次型指标。

对于状态完全能控的线性连续定常系统,其状态方程为x(t)?Ax(t)?Bu(t),x(0)=x0。其输出方程为y(t)?Cx(t)?Du(t),式中:

x(t)为n维状态变量; u(t)为p维输入控制变量,且不受约束;A为n×n维状态矩阵,常数矩阵;B为n×p维输入矩阵,常数矩阵;C为m×n维输出矩阵,常数矩阵;D为m×p维输入矩阵,常数矩阵。y(t)为m维输出变量;

引入的线性二次型(Linear Quadratic)指标为:

J?1?T[x(t)Qx(t)?uT(t)Ru(t)]dt ?20式中,积分上限为∞,即调节时间tf→∞;Q和R均为正定的对称常数矩阵,

实际上分别是对状态量x(t)和控制量u(t)的加权矩阵。

根据最优控制理论,使线性二次型指标J(式6.66)取最小值的最优控制u*(t)为:

u*(t)??Kx(t)??R?1BTPx(t)

式中,K?R?1BTP为最优反馈增益矩阵;P矩阵为对称常数矩阵;P矩阵可通过求解代数黎卡提(Riccati)方程

PA?ATP?PBR?1BTP?Q?0

这时,最优性能指标为

J*?1Tx(0)Px(0) 2

可见,设计最优控制系统的重要一步就是求解黎卡提(Riccati)方程。 线性二次型指标状态反馈最优控制系统结构图如图所示。

线性二次型指标J的最优性取决于如何确定加权矩阵Q和R,但这两个矩阵的选择并没有解析方法,只能作定性的选择。一般情况下,对单输入系统,如果

希望输入控制信号u(t)小,则R矩阵的值选择大一些;对多输入系统,如果希望第i个输入控制信号ui(t)小,则R矩阵第i列的值应该选择大一些。如果希望第j个状态变量xj(t)的值小一些,那么相应的就应该把Q矩阵的第j元素取大点,这时最优化功能会迫使该状态变量变小。

系统最优控制u(t)为u(t)??Kx(t),式中,最优反馈增益矩阵K?R?1(BTP?NT)

式中,对称常数矩阵P满足代数黎卡提(Riccati)方程

PA?ATP?(PB?N)R?1(BTP?NT)?Q?0

**由此解出P矩阵,可得到系统的最优控制。 MATLAB提供了求解线性连续系统二次型状态最优控制的函数。其函数是lqr( )、lqr2( )和lqry( )。函数的调用格式为: [K,S,E]=lqr(A,B,Q,R,N) [K,S,E]=lqr2(A,B,Q,R,N) [K,S,E]=lqry(A,B,C,D,Q,R,N) 其中 A和B均对应系统状态方程中的A和B矩阵; C和D均对应系统输出方程中的C和D矩阵; Q和R均对应线性二次型指标中的Q和R矩阵; N为二次型性能指标中状态量x(t)和控制量u(t)的乘积项的加权矩阵; K和S均分别对应最优控制方程(式6.67)中的K和P矩阵; E为最优控制闭环系统特征方程?I?(A?BK)?0 的特征值; 函数lqr2( )与lqr( )类似,只是在该函数中采用了Schar方法,所以具有更强的稳健性。 函数lqry( )用来求解二次型输出反馈最优控制,是用输出反馈代替状态反馈,把最优控制方程变为u*(t)??Ky(t) 其性能指标为J?1?T[y(t)Qy(t)?uT(t)Ru(t)]dt ?20这种二次型输出反馈控制叫做次优(或准最优)控制。另外,如果用输出y实现反馈控制,则反馈中需要有微分环节,在工程上实现更麻烦些。 三、实验内容

?01??0?x???1?u,试设计使系统线性二次型性能指00????1??21?标J??0[xT(t)Qx(t)?uT(t)Ru(t)]dt。式中,Q???,R=1/2。取最小时的最优142??1. 设线性系统的状态方程为x??控制u*(t),计算最优状态反馈矩阵K,画出状态反馈最优控制系统结构图。 解:根据题意,计算最优状态反馈矩阵K,设计最优控制u*(t)的MATLAB程序如下:

A=[0,1;0,0];

B=[0,1]'; %该语句的′号代表求矩阵转置 C=[1,0];D=0; Q=[2,1;1,4]; R=1/2;

2

[K,P,E]=lqr(A,B,Q,R) %计算并显示最优状态反馈矩阵K、P矩阵和特征值E 上述程序执行后,计算出的最优状态反馈矩阵K为K??2.03.4641?

那么,使系统线性二次型性能指标J取最小的最优控制u*(t)为

u*(t)??2x1(t)?3.4641x2(t) 另外,代数黎卡提(Riccati)方程的解P矩阵为P??1??2.4641? 11.7321??闭环系统特征方程的特征值为?1??2.7321,?2??0.7321

由自动控制理论,上述特征值均具有负实部,闭环系统是渐近稳定的。

根据以上计算,可得到状态反馈最优控制系统结构图如图所示。

10??0?0??x(t)??0?u(t),输出方程为0012. 设线性系统的状态方程为x(t)??????????16?9?12???1??y(t)?[100]x(t)。使系统线性二次型性能指标

?30000??0??x(t)?u2(t)?2xT(t)?0?u(t)]dt取最小值。 [xT(t)?010???????001???1??J?12?0?试:

(1)计算最优状态反馈矩阵K、代数黎卡提方程的解(即P矩阵)和闭环系统的特征值(即E矩阵);

(2)画出状态反馈最优控制系统结构图。

解:根据题意,编写MATLAB程序时,[K,P,E]=lqr(A,B,Q,R,N)所需要的入口参数A、B、Q、R、N矩阵分别为

10??0?0??30000??0??,B??0?,Q??010?,R=1,N??0? A??001??????????????16?9?12???1???001???1??MATLAB程序如下:

A=[0 1 0;0 0 1;-16 -9 -12];B=[0;0;1]; Q=[300 0 0;0 1 0;0 0 1];R=1;N=[0;0;1]; [K,P,E]=lqr(A,B,Q,R,N)

上述程序执行后,计算出的最优状态反馈矩阵K为K??7.57978.59221.6449?

3