最 优 控 制 (8)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• • • • • • • •
Q=[100 0 0;0 1 0;0 0 1] ; R=0.01; K=lqr(A,B,Q,R) k1=K(1);k2=K(2);k3=K(3); AA=A-B*K;BB=B*k1;CC=\[1 0 0\];DD=0; SYS=SS(AA,BB,CC,DD); [Y,T,X]=step(SYS); plot(T,Y),grid; title(′LQR系统单位阶跃响应′);
• 如无特殊说明,在下面的推导中设矩阵 ABK是稳定的,即A-BK的特征值均具有负实 部。 • 将式(8.3)代入式(8.4)中,可得
• 对任意x都有
• 式中,P为正定实对称矩阵,可进一步推得
• 将式(8.5)代入式(8.8)中,可得 • 由 Lyapunov 第二方法可知,对于给定的正 定矩阵 Q+KTRK ,如果 A-BK 是稳定的,则 存在正定矩阵P,使得
• 如果考虑进入系统的功率时,或在目标函 数中包含yTy项(y=Cx+Du)时,目标函数也 会呈现式(8.21)的形式。 • 对于这种目标函数,修正后的黎卡提方程 为
• 最优控制为
• (2)带有预制稳定度的调节器 • 修正的目标函数为
• 对应的黎卡提方程为
• 8.1.3 MATLAB实现方法 • 应用MATLAB中的lqr和lqry命令可以直接求 解二次型调节器问题,以及相关的黎卡提 方程。这两个命令的格式为
• 其中, K 为最优反馈矩阵; P 为对应黎卡提 方程的惟一正定解(若矩阵A-BL是稳定的, 则总有 P 的正定解存在 ) ; E 为 A-BK 的特征 值;其中的N为可选项,其代表交叉乘积项 的加权矩阵。lqry命令用于求解二次型调节 器的特例,即目标函数中用输出 y来代替状 态x,此时的目标函数为
• • • • • • • •
xlabel(′Time/s′); ylabel(′output y=x1′); figure(2); plot(T,X),grid; title(′状态变量响应曲线′); xlabel(′Time/s′); ylabel(′x1,x2,x3′); text(1.6,1.3,′x1′)
• 因此可以求得最优反馈增益矩阵K为
• 最优控制u(t)为
• 式(8.19)中的矩阵P必须满足式(8.10)或者满 足下列方程:
• 式(8.20)称为代数黎卡提(Riccati)方程。
• 8.1.2 连续系统二次型调节器问题的拓展 • (1)带有交叉乘积项 • 当非线性系统线性化,或将一个非线性目 标函数用一个二次型函数近似时,目标函 数经常会出现如下状态变量和输入控制交 叉的形式。
第8章 最优控制设计方法
• 8.1 连续系统的二次型最优控制 • 设线性定常系统的状态方程为
• 式中 x(t)——n维状态矢量; • u(t)——r维控制矢量; • A——n×n维常数矩阵; • B——n×r维常数矩阵。
• 假设控制矢量不受任何约束。二次型性能 指标为
• 式中 L(x,u)——x和u的二次型函数。 • 若终端时间 tf 趋于 ∞ ,则系统属于无限长时 间状态调节器问题,可以证明,由此导出 线性控制率为
• 假设系统状态完全可控,系统性能指标为
• 式中 Q——n×n维正定或半正定实对称矩阵; • R——r×r维正定实对称矩阵; • S——n×n维正定或半正定实对称矩阵。 • Q , R , S 为加权矩阵,反映了设计者对状态矢量 x(k)、控制矢量u(k)、终端矢量的关心程度。
• 式中 K——r×n维矩阵。 • 因此基于二次型性能指标的最优控制系统 设计,就简化为矩阵K中元素的求取。 • 具体二次型性能指标如下:
• 式中 Q——n×n维半正定实对称常数矩阵; • R——r×r 维半正定实对称常数矩阵。
• Q 和 R 决定了系统误差与控制能量消耗之 间的相对重要性,最优控制的目标就是求 取u(t),使ห้องสมุดไป่ตู้能指标J达到最小值。 • 8.1.1 连续系统二次型调节器问题的求解 • 将式(8.3)代入式(8.1)中,可得
图8.2 例8.3闭环系统单位阶跃响应曲线
图8.3 例8.3系统状态x1,x2,x3单位阶跃响应曲线
• 8.2 离散系统的二次型最优控制 • 8.2.1 离散系统二次型问题模型 • 设线性离散系统的状态方程为
• 式中 x(k)——n维状态矢量; • u(k)——r维控制矢量; • A——n×n维非奇异矩阵; • B——n×r维矩阵。
• • • •
text(0.7,1.3,′x2′) text(0.35,3.2,′x3′) 运行结果 K= • 100.0000 53.1200 11.6711 • 设计的闭环系统状态方程为
• 输出方程为
• 闭环系统在MATLAB中的表示方式
• 所设计的控制系统单位阶跃响应见图 8.2 , 系统状态单位阶跃响应见图8.3。
• 命令 are 则可用来求解由下式给出的一般形 式的代数黎卡提方程 • 命令格式为 • 该命令返回对应黎卡提方程的正定解。这 个正定解存在的条件为:B是半正定对称矩 阵,C是对称矩阵。
• 例8.3 给定系统如下
• 性能指标为
• 式中
• 假定系统控制信号由下式给出
• 其结构图如图8.1所示。在决定控制率时, 设输入信号r=0,试用MATLAB求反馈增益 矩阵K=[k1 k2 k3]。
图8.1 例8.3控制系统结构框图
• 解 为了得到快速响应,q11,q22,q33和R相 比必须充分大,选择 • 应用MATLAB求解的程序如下 • % MATLAB PROGRAM FOR EXAMPLE 8.3 • % Design of LQR system • A=[0 1 0;0 0 1;0 -2 -3]; B=[0;0;1];
• 由此可求出J为
• 由于假设矩阵A-BK是稳定的,因此x(∞)→ 0,这样得到
• 即J可由初始条件x(0)和矩阵P得到。
• 由于R为正定实对称矩阵,因此可将R写成 • 式中,S为一非奇异矩阵,式(8.10)可改写 成 • 整理可得
• J对K取极值就要求下式对K取极小值
• 由于式(8.16)为非负,其最小值为零,即有