You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/hinfinity_design.jl
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -193,14 +193,17 @@ function hinfsynthesize(
193
193
else
194
194
# Return and empty controller, empty gain γ
195
195
@warn"No feasible γ found, returning an empty controller. Try increasing the interval from the default `interval = (0, 20)` or change the scaling method using `method = :SVD`"
196
-
K =ss(0.0)
196
+
K =ss(zeros(P.nu, P.ny))
197
197
γ =Inf
198
198
end
199
199
if hp
200
200
bf(x) =T.(x)
201
201
mats =bf.(ssdata(K))
202
202
K =ss(mats..., K.timeevol)
203
203
end
204
+
if P.sys isa NamedStateSpace
205
+
K =named_ss(K, u=P.y, y=P.u, x=Symbol.("K".*string.(P.sys.x)))
206
+
end
204
207
if check
205
208
γactual =hinfnorm2(lft(P, K))[1]::T
206
209
# NOTE: this check can erroneosly indicate numerical problems if Rtrans21 != 1. This may happen for method = :QR, in which case γactual ≈ γFeasible / Rtrans21
0 commit comments