# h2syn
生成 H2 最优控制器
函数库: TyRobustControl
# 语法
K,CL,Gamma,Info = h2syn(P,Nmeas,Ncon)
# 说明
K, CL, Gamma, Info = h2syn(P,Nmeas,Ncon) 计算出系统
其中,
代表扰动输入; 代表控制输入; 代表被控输出; 代表测量输出。
Nmeas 和 Ncon 分别是 y 和 u 中的信号个数。y 和 u 分别是 h2syn 生成一个能使 CL = lft(P,K) 能达到性能水平 Gamma,即 h2syn 还会返回一个结构体,其中包含了有关 h2syn 综合的附加信息。
# 示例
MIMO系统的稳定控制器
为一个具有 3 个状态变量、2 个测量输出和 1 个控制输入的 5 × 4 不稳定系统
实际上,
using TyRobustControl
using TyControlSystems
A = [5 6 -6
6 0 5
-6 5 4];
B = [0 4 0 0
1 1 -2 -2
4 0 0 -3];
C = [-6 0 8
0 5 0
-2 1 -4
4 -6 -5
0 -15 7];
D = [0 0 0 0
0 0 0 1
0 0 0 0
0 0 3 6
8 0 -7 0];
P = ss(A,B,C,D);
通过计算
pole(P)
3-element Vector{Float64}:
-8.564832502984688
6.861222121938602
10.703610381046085
利用 h2syn 设计稳定控制器,假设 Nmeas 测量信号和 Ncon 控制信号分别是
Nmeas = 2;
Ncon = 1;
K,CL,Gamma,_ = h2syn(P,Nmeas,Ncon);
计算闭环系统的极点,以确认控制器
pole(CL)
6-element Vector{ComplexF64}:
-31.6235904580711 + 0.0im
-12.646049256002659 + 3.8044787361003194im
-12.646049256002659 - 3.8044787361003194im
-9.607336259720187 + 0.0im
-9.239311846488453 + 0.0im
-8.693885387955788 + 0.0im
混合灵敏度 H2 回路成形
绘制灵敏度
假设受控系统及其加权函数如下:
利用它们构造增广系统
using TyRobustControl
using TyControlSystems
using TyPlot
s = zpk("s")
G = 5 / ((s + 1) * (0.2s + 1))
W1 = 8 * (s/30 + 1) / (s/0.8 + 1)
W2 = tf(0.1)
P = augw(G, W1, W2, nothing)
利用 h2syn 生成控制器。该增广系统有 1 个测量信号和 1 个控制信号,分别对于
K,CL,Gamma,_ = h2syn(P,1,1);
绘制系统频率响应的奇异值图,检查生成的回路形状。
L = G*K;
S = inv(1+L);
T = 1-S;
sigmaplot(L,"k-.",S,"r",T,"g")
legend(["open-loop","sensitivity","closed-loop"])

# 输入参数
P - 受控系统
动态系统模型
受控系统,指定为动态系统模型(例如状态空间模型)。
代表扰动输入; 代表控制输入; 代表被控输出; 代表测量输出。
测量输出 y 是最后的输出,控制输入 u 是最后的输入。
如果 P 是带有不确定或可调模块的广义状态空间模型,则 h2syn 会采用受控系统的标称值。
数据类型: LTISystem
Nmeas - 测量输出信号个数
正整数
系统中测量输出信号的数量,指定为正整数。函数将系统的最后 Nmeas 个输出作为测量值 y,返回的控制器
数据类型: Integer
Ncon - 控制输入信号个数
正整数
目标 H∞ 性能水平,指定为正标量。
系统控制输入信号的数量,指定为正整数。函数将系统的最后 Ncon 个输入作为控制 u,返回的控制器
数据类型: Integer
# 输出参数
K - 控制器
状态空间模型
控制器,作为状态空间模型对象返回。控制器具有与
数据类型: StateSpace
CL - 系统闭环传递函数
状态空间模型
闭环传递函数,以状态空间模型对象的形式返回。闭环传递函数为 CL = lft(P,K),如下图所示。
数据类型: StateSpace
Gamma - 控制器的性能水平
状态空间模型
Info - 附加信息
H2Info类型
附加的合成数据,以 H2Info 类型的结构体返回。Info 包含以下字段。
NORMS:控制器的控制成本,以向量形式 [FI,OE,DF,FC] 返回,其中:
- FI 是全信息控制成本;
- OE 是输出估计成本;
- DF 是干扰前馈成本;
- FC 是全控制成本。
这些参数存在以下关系:
KFI:全信息状态反馈增益,以矩阵形式返回。全信息问题假定完全了解状态 x 和扰动 w,并寻找最优状态反馈控制形式:
- 连续时间下的
。在连续时间内,u 只取决于 x。KFI 中与 w 相对应的条目为零; - 离散时间下的
。
- 连续时间下的
GFI:控制器 KFI 从 w 到 z 的全信息闭环传输,以状态空间 (StateSpace) 模型返回。GFI 的 H2 范数为 FI。
HAMX:X 哈密顿矩阵(状态反馈)
HAMY:Y 哈密顿矩阵(卡尔曼滤波)
数据类型: H2Info
# 局限性
- 系统
必须是可稳定且可检测的; 必须是列满秩, 必须是行满秩。