5.6.3 二次型最优控制问题
现在我们来研究最优控制问题。已知系统方程为
(5.20)
确定最优控制向量
(5.21)
的矩阵K,使得性能指标
(5.22)
达到极小。式中Q是正定(或正半定)Hermite或实对称矩阵,R是正定Hermite或实或实对称矩阵。注意,式(5.22)右边的第二项是考虑到控制信号的能量损耗而引进的。矩阵Q和R确定了误差和能量损耗的相对重要性。在此,假设控制向量是不受约束的。
正如下面讲到的,由式(5.21)给出的线性控制律是最优控制律。所以,若能确定矩阵K中的未知元素,使得性能指标达极小,则对任意初始状态x(0)而言均是最优的。图5.6所示为该最优控制系统的结构方块图。
图5.6 最优控制系统
现求解最优控制问题。将式(5.21)代入式(5.20),可得
在以下推导过程中,假设是稳定矩阵,的所有特征值均具有负实部。
将式(5.21)代入(5.22),可得
依照解参数最优化问题时的讨论,取
式中的P是正定的Hermite或实对称矩阵。于是
比较上式两端,并注意到方程对任意x均应成立,这就要求
(5.23)
根据Lyapunov第二法可知,如果是稳定矩阵,则必存在一个满足式(5.23)的正定矩阵P。
因此,该方法由式(5.23)确定P的各元素,并检验其是否为正定的(注意,这里可能不止一个矩阵P满足该方程。如果系统是稳定的,则总存在一个正定的矩阵P满足该方程。这就意味着,如果我们解此方程并能找到一个正定矩阵P,该系统就是稳定的。满足该方程的其他矩阵P不是正定的,必须丢弃)。
性能指标可计算为
由于假设A-BK的所有特征值均具有负实部,所以。因此
(5.24)
于是,性能指标J可根据初始条件x(0)和P求得。
为求二次型最优控制问题的解,可按下列步骤操作:由于所设的A是正定Hermite或实对称矩阵,可将其写为
式中T是非奇异矩阵。于是,式(5.23)可写为
上式也可写为
求J对K的极小值,即求下式对K的极小值
(见例5.21)。由于上面的表达式不为负值,所以只有当其为零,即当
时,才存在极小值。因此
(5.25)
式(5.25)给出了最优矩阵K。所以,当二次型最优控制问题的性能指标由式(5.22)定义时,其最优控制律是线性的,并由
给出。式(5.25)中的矩阵P必须满足式(5.23),即满足下列退化方程
(5.26)
式(5.26)称为退化矩阵黎卡提方程,其设计步骤如下:
1、求解退化矩阵黎卡提式(5.26),以求出矩阵P。如果存在正定矩阵P(某些系统可能没有正定矩阵P),那么系统是稳定的,即矩阵是稳定矩阵。
2、将矩阵P代入式(5.25),求得的矩阵K就是最优矩阵。
例5.9 是建立在这种方法基础上的设计例子。注意。如果矩阵是稳定的,则此方法总能给出正确的结果。
确定最优反馈增益矩阵K还有另一种方法,其设计步骤如下:
1、由作为K的函数的式(5.23)中确定矩阵P。
2、将矩阵P代入式(5.24),于是性能指标成为K的一个函数。
3、确定K的各元素,使得性能指标为极小。这可通过令等于零,并解出的最优值来实现J对K各元素为极小。
这种设计方法的详细说明见例5.11和5.12。当元素的数目较多时,该方法很不便。
如果性能指标由输出向量的形式给出,而不是由状态向量的形式给出,即
则可用输出方程
来修正性能指标,使得J为
(5.29)
且仍可用本节介绍的设计步骤来求最优矩阵K。
------------------------------------------------------------------
[例5.9] 研究如图5.7所示的系统。假设控制信号为
试确定最优反馈增益矩阵K,使得下列性能指标达到极小
式中
由图5.7可看出,被控对象的状态方程为
式中
图5.7 控制系统
以下说明退化矩阵黎卡提代数方程如何应用于最优控制系统的设计。求解(5.26),将其重写为
注意到A为实矩阵,Q为实对称矩阵,P为实对称矩阵。因此,上式可写为
该方程可简化为
由上式可得到下面3个方程
将这3个方程联立,解出、、,且要求P为正定的,可得
参照式(5.25),最优反馈增益矩阵K为
因此,最优控制信号为
(5.28)
注意,由式(5.28)给出的控制律对任意初始状态在给定的性能指标下都能得出最优结果。图5.8是该系统的方块图。
图5.8 图5.7所示对象的最优控制
------------------------------------------------------------------
5.7 二次型最优控制问题的MATLAB解法
在MATLAB中,命令
可解连续时间的线性二次型调节器问题,并可解与其有关的黎卡提方程。该命令可计算最优反馈增益矩阵K,并且产生使性能指标。
在约束方程
条件下达到极小的反馈控制律
另一个命令
也可计算相关的矩阵黎卡提方程
的唯一正定解P。如果为稳定矩阵,则总存在这样的正定矩阵。利用这个命令能求闭环极点或的特征值。
对于某些系统,无论选择什么样的K,都不能使为稳定矩阵。在此情况下。这个矩阵黎卡提方程不存在正定矩阵。对此情况,命令
不能求解,详见MATLAB Prgram 5.1。
MATLAB Program 5.1
%——Design of quadratic optimal regulator system——
%*****Determination of feedback gain matrix K for quadratic
%optimal control*****
%*****Enter state matrix A and control matrix B*****
A=[-1 1;0 2]
B=[1;0];
%*****Enter matrices Q and R of the quadratic performance
%index*****
Q=[1 0;0 1];
R=[1];
%*****To obtain optimal feedback gain matrix,K,enter the
%following command*****
K=lqr(A,B,Q,R)
Warning:Matrix is singular to working precision.
K=
NaN NaN
%***** lf we enter the command [K,P,E]=lqr(A,B,Q,R).then*****
[K,P,E]=lqr(A,B,Q,R)
Warning;Matrix is singular to working precision.
K=
NaN NaN
P=
-lnf -lnf
-lnf -lnf
E=
-2.0000
-1.4142
------------------------------------------------------------------
[例5.10] 考虑由下式确定的系统
证明:无论选择什么样矩阵K,该系统都不可能通过状态反馈控制
来稳定(注意,该系统是状态不可控的)。
定义
则
因此特征方程为
闭环极点为
由于极点在s的右半平面,所以无论选择什么样的矩阵K,该系统都是不稳定的。因此,二次型最优控制方法不能用于该系统。
假设在二次型性能指标中的Q和R为
并且写出MATLAB Progam 5.1。所得的MATLAB解为
其中NaN表示“不是一个数”。每当二次型最优控制问题问题的解不存在时,MATLAB将显示矩阵K由NaN组成。
------------------------------------------------------------------
[例5.11] 考虑下式定义的系统
式中
性能指标J为
这里
假设采用下列控制u
确定最优反馈增益矩阵K。
最优反馈增益矩阵K可通过求解下列关于正定矩阵P的黎卡提方程得到
其结果为
将该矩阵P代人下列方程,即可求得最可求得最优矩阵K为
因此,最优控制信号为
利用MATLAB Program 5.2也能求解该问题。
MATLAB Program 5.2
%——Design of quadratic optimal regulator system
%*****Determination of feedback gain matrix K for quadratic
%optimal control*****
%*****Enter state matrix A and control matrix B*****
A=[0 1;0 -1];
B=[0;1];
%*****Enter matrices Q and R of the quadratic performance
%index*****
Q=[1 0;0 1];
R=[1];
%The optimnal feedbck gain matrix K (if such matrix K
% exists)can be obtained by entering the following command *****
K=lqr(A,B,Q,R)
K=
1.0000 1.0000
------------------------------------------------------------------
[例5.12] 考虑下列系统
式中
性能指标J为
式中
求黎卡提方程的正定矩阵R、最优反馈增益矩阵K和矩阵A-BK的特征值。
利用MATLAB Program 5.3,可求解该问题。
MATLAB Program5.3
%--------Design of quadratic optimal regulatorsystem-------
%*****Determination of feedback gain matrix K for quadratic
*****Enter state matrix A and control matrix B*****
A=[0 0;0 0 1;-35 -27 -9];
B-[0;0;1]
%******Enter matrices Q and R of the quadratic performance
%index *****
Q=[1 0 0;0 1 0;0 0 1];
R=[1];
%******The optimal feedback gain matrix K, solution P of Riccati
%equation,and closed-loop poles(that is,the eigenvalues
%of A-BK)can be obtained by entering the following
%command*****
[K,P,E]=[qr(A,B,Q,R)]
K=
0.0143 0.1107 0.0676
P=
4.2625 2.4957 0.0143
2.4957 2.8150 0.1107
0.0143 0.1107 0.0676
E=
-5.0958
-0.9859+1.7110I
-1.9859-1.7110i
------------------------------------------------------------------
[例5.13] 考虑与例12.7中讨论的相同的系统。该系统的状态空间表达式为
式中
假设控制信号u为
如图3.9所示。在确定最优控制律时,假设输入为零,即r =0。
确定状态反馈增益矩阵K(),使得性能指标
达到极小。这里
为了得到快速响应,与、和R相比必须充分大。在该例中,选取
为了利用MATLAB求解,可使用命令
由MATLAB Program 5.14,可得到该例题的解。
MATLAB Program 5.4
%--------Design of quadratic optimal control system ——
%*****We shall determine the optimal feedback gain matrix K that
% minimizes the performance index J*****
A=[0 1 0;0 0 1;0 -2 -3];
B=[0;0;1]
%*****Enter matrices Qand Rof the quadratic performance
%index J*****
Q=[100 0 0;0 1 0;0 0 1];
R=[0,01];
%*****To obtain the optimal state feedback gain matrix K,
%enter the following command*****
K=lqr(A,B,Q,R)
k=
100.0000 53.1200 11.6711
k1=K(1),k2=K(2),k3=k(3)
k1=
100.0000
k2=
53.1200
k3=
11.6711
采用确定的矩阵K来研究所设计的系统对阶跃输入的响应特性。所设计的系统的状态方程为
输出方程为
为求对单位阶跃输入的响应,使用下列命令
式中
MATLAB Program 5.5可求出该系统对单位阶跃的响应。图5.10画出了输出y对时间t的响应曲线,图5.11在同一张图上画出了,和对t的响应曲线。
MATLAB Program 5.5
%--------Unit-step response of designed system ——
%*****Using the optimalfeedback gain matrix k determined in
%MATLAB Program 5.4,we shall obtain the unit-step response
% of the designed system *****
%*****Note that matrices A,B,and K are given as tollows*****
A=[0 1 0;0 0 1;0 -2 -3];
B=[0;0;1]
K=[100.0000 53.1200 11.6711];
K1=K(1);k2=K(2);k3=K(3);
%*****The state equation for the designed system is
%xdot=(A-BK)x+Bk1r and the output equation is
%y=Cx+Du,where matrices C and D are given by******
C=[1 0 0];
D=[0];
%*****Define the state matrix,control matrix, output matrix,
%and direct transmission matrix of the designed systems as AA,
%BB,CC,and DD *****
AA=A-B*K;
BB=B*k1;
CC=C;
DD=D;
%*****To obtain the unit-step response curves for the first eight
%seconds,enter the following command*****
t=0:0.01:8;
[y,x,t]=step[AA,BB,CC,DD,l,t);
%*****Toplot the unit-step response curve y(=xl)versus t,
%enter the following command*****
plot(t,y)
grid
title(‘Unit-Step Response of Quadratic Optimal Control System’)
ylabel(‘Output y=xl’)
%*****To plot curves x1,x2,x3 versus t on one diagram, enter
%the following command*****
plot(t,x)
grid
title(‘Response Curvesx1,x2,x3,versus t’)
xlabel(‘t Sec’)
ylabel(‘x1,x2,x3’)
text(2.6,1.35,’x1’)
text(1.2,1.5,’x2’)
text(0.6,3.5,’x3’)
图5.10 二次型最优控制系统的单位阶跃响应曲线
图5.11 ,和对t的响应曲线
------------------------------------------------------------------
下面总结线性二次型最优控制问题的MATLAB解法。
(1) 给定任意初始条件x(t0),最优控制问题就是找到一个容许的控制向量u(t),使状态转移到所期望的状态空间区域上,使性能指标达到极小。为了使最优控制向量u(t)存在,系统必须是状态完全可控的。
(2) 根据定义,使所选的性能指标达到极小(或者根据情况达到极大)的系统是最优的。在多数实际应用中,虽然地于控制器在“最优性”方面不会再提出任何要求,但是在涉及定性方面,还应特别指出,这就是基于二次型性能指标的设计,应能构成稳定的控制系统。
(3) 基于二次型性能指标的最优控制规律。具有如下特性,即它是状态变量的线性函数。这意味着,必须反馈所有的状态变量。这要求所有状态变量都能用于反馈。如果不是反有状态变量都能用于反馈,则需要使用状态观测器来估计不可测量的状态变量,并利用这些估值产生最优控制信号。
(4) 当按照时域法设计最优控制系统时,还需研究频率响应特性,以补偿噪声的影响。系统的频率响应特性必须具备这种特性,即在预料元件会产生噪声和谐振的频率范围区,系统应有较大的衰效应(为了补偿噪声的影响,在某些情况下,必须修改最优方案而接受次最优性能或修改性能指标)。
(5) 如果在式(5.22)给定的性能指标J中,积分上限是有限值,则可证明最优控制向量仍是状态变量的线性函数,只是系数随时间变化(因此,最优控制向量的确定包含最优时变矩阵的确定)。
习题
5.1 试确定下列二次型是否为正定的。
5.2 试确定下列二次型是否为负定的。
5.3 试确定下列非线性系统的原点稳定性。
考虑下列二次型函数是否可以作为一个可能的Lyapunov函数:
5.4 试写出下列系统的几个Lyapunov函数
并确定该系统原点的稳定性。
5.5 试确定下列线性系统平衡状态的稳定性
5.6 试确定下列线性系统平衡状态的稳定性。
这里不妨取
然后求该系统在下列初始条件下的响应。
并画出(、、x 和对t的响应曲线。